Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

Ingeniería de requisitos e ingeniería de requerimientos

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
REPÚBLICA BOLIVARIANA DE VENEZUELA
MINISTERIO DEL PODER POPULAR PARA LA EDUCACION UNIVERSITARIA
INSTITUTO UNIVERSITARIO PO...
INTRODUCCIÓN
Actualmente son muchos los procesos, técnicas, actividades o herramientas que se
llevan a cabo para desarroll...
1. Ingeniería de Requisitos
Es el proceso de desarrollar una especificación de Software. Las especificaciones
pretenden co...
Anuncio
Anuncio
Anuncio
Próximo SlideShare
Ingenieria de requerimientos
Ingenieria de requerimientos
Cargando en…3
×

Eche un vistazo a continuación

1 de 16 Anuncio

Más Contenido Relacionado

Presentaciones para usted (20)

Similares a Ingeniería de requisitos e ingeniería de requerimientos (20)

Anuncio

Más reciente (20)

Anuncio

Ingeniería de requisitos e ingeniería de requerimientos

  1. 1. REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACION UNIVERSITARIA INSTITUTO UNIVERSITARIO POLITECNICO “SANTIAGO MARIÑO” INGENIERIA DE SISTEMAS Prof: Realizado por: Ing. Diogenes Rodríguez B. Cesar Prado 25.108.585 Ing. Sistemas Sección: 2C Porlamar, Julio de 2017
  2. 2. INTRODUCCIÓN Actualmente son muchos los procesos, técnicas, actividades o herramientas que se llevan a cabo para desarrollar un proyecto, dentro de las ramas de la ingeniería podemos encontrar la Ing. de requisitos y la Ing. de requerimientos, ambas son usadas para mejorar el proceso del desarrollo de software. Cuando nos encontramos al frente de un proyecto de desarrollo de sistemas es importante dejar claramente definidos los requerimientos del software, en forma consistente y compacta, esta tarea es difícil básicamente porque consiste en la traducción de unas ideas vagas de necesidades de software en un conjunto concreto de funciones y restricciones. La ingeniería de requisitos permite la gestión adecuada de los requisitos de un proyecto de desarrollo software, además, mejora la capacidad para realizar planificaciones de los procesos de proyectos, permite una efectiva proyección de las actividades, recursos, costos, tiempos, entre otros del proyecto. El análisis de requerimientos establece el proceso de definición de requerimientos como una serie de tareas o actividades mediante las cuales se busca ganar conocimientos relevantes del problema, que se utilizarán para producir una especificación formal del software necesario para resolverlo.
  3. 3. 1. Ingeniería de Requisitos Es el proceso de desarrollar una especificación de Software. Las especificaciones pretenden comunicar las necesidades del sistema del cliente con los desarrolladores del sistema. Trata de los principios, métodos, técnicas y herramientas que permiten descubrir, documentar y mantener los requisitos para sistemas basados en computadora, de forma sistemática y repetible. Según Pressman [Pressman 05], es un conjunto de procesos, tareas y técnicas que permiten la definición y gestión de los requisitos de un producto de un modo sistemático. En definitiva, facilita los mecanismos adecuados para comprender las necesidades del cliente, analizando sus necesidades, confirmando su viabilidad, negociando una solución razonable, especificando la solución sin ambigüedad, validando la especificación y gestionando los requisitos para que se transformen en un sistema operacional. 2. Definición de Requerimientos. Un requerimiento es una necesidad documentada sobre el contenido, forma o funcionalidad de un producto o servicio considerando las especificidades de los clientes. Los requerimientos son declaraciones que identifican atributos, características, capacidades, cualidades que necesita cumplir un sistema de información (o un software) para que tenga valor y utilidad para el usuario. En otras palabras, los requerimientos muestran qué elementos y funciones son necesarias para el desarrollo de un proyecto. 3. Características de los Requerimientos. Actual: el requerimiento debe ser real, preciso optimo y adaptable a las condiciones del tiempo modo y lugar. Cohesión: el requerimiento debe ser aplicado de forma específica a una situación real. Completo: el requerimiento debe abarcar la totalidad de una situación problema obteniendo todos los recursos necesarios para lograr una solución óptima recopilando toda la información necesaria.
  4. 4. Consistente: el requerimiento debe ser coherente con los demás requerimientos sin entrar en conflicto entre requerimientos del mismo sistema o contradicciones. Correcto/necesario: el requerimiento debe cumplir con las especificaciones técnicas de los clientes para el nuevo sistema de información. Factible/viable: el requerimiento permite su implementación real. No ambiguo: el requerimiento debe ser preciso, objetivo y fácil de interpretar. Obligatorio: el requerimiento debe representar una característica definida por el cliente. Observable externamente: el requerimiento debe especificar una o varias características medibles, observables por el cliente del nuevo sistema de información. Verificable/demostrable: La implementación del requerimiento debe poder ser resuelta en alguno de estos cuatro métodos: inspección, análisis, demostración o prueba. 4. Ingeniería de Requerimientos. El proceso de recopilar, analizar y verificar las necesidades del cliente para un sistema de software es llamado Ingeniería de Requerimientos. La meta de la ingeniería de requerimientos es entregar una especificación de requerimientos de software correcta y completa. Según Leite [Leite 08], Es el proceso mediante el cual se intercambian diferentes puntos de vista para recopilar y modelar lo que el sistema va a realizar. Este proceso utiliza una combinación de métodos, herramientas y actores, cuyo producto es un modelo del cual se genera un documento de requerimientos. 5. Técnicas principales aplicadas en la Ingeniería de Requisitos. Entrevistas: por lo general no se entrevista a toda la gente que se relacionará con el sistema, sino a una selección de personas que represente a todos los sectores críticos de la organización, con el énfasis puesto en los sectores más afectados o que harán un uso más frecuente del nuevo sistema.
  5. 5. Según Tamayo se define entrevista como “La relación directa establecida entre el investigador y su objeto de estudio a través de individuos o grupos, con el fin de obtener testimonios reales”. (p.100). Talleres: los requisitos tienen a menudo implicaciones cruzadas desconocidas para las personas implicadas individuales y que a menudo no se descubren en las entrevistas o quedan incompletas durante la misma. Estas implicaciones cruzadas pueden descubrirse realizando en un ambiente controlado, talleres facilitados por un analista del negocio, en donde las personas implicadas participan en discusiones para descubrir requisitos, analizan sus detalles y las implicaciones cruzadas. Forma de contrato: en lugar de una entrevista, se pueden llenar formularios o contratos indicando los requisitos. En sistemas muy complejos éstos pueden tener centenares de páginas. Según Arias Schreiber, al referirse a la forma del contrato señala que la doctrina distingue entre la forma entendida en sentido amplio y la forma en sentido estricto. (p.01). Objetivos medibles: los requisitos formulados por los usuarios se toman como objetivos generales, a largo plazo, y en cambio se los debe analizar una y otra vez desde el punto de vista del sistema hasta determinar los objetivos críticos del funcionamiento interno que luego darán forma a los comportamientos apreciables por el usuario. Prototipos: Los prototipos son una representación limitada de un producto, permite a las partes probarlo en situaciones reales o explorar su uso, creando así un proceso de diseño de iteración que genera calidad. Según Kendall & Kendall [2005], define prototipo como una visión preliminar del sistema futuro que se implantara. La elaboración de prototipos de un sistema de información es una técnica valiosa para la recopilación rápida de información específica acerca de los requerimientos de información de los usuarios. Los prototipos efectivos
  6. 6. deben hacerse tempranamente en el ciclo de vida del desarrollo de sistemas, durante la fase de determinación de requerimientos. Casos de uso: es una técnica para documentar posibles requisitos, graficando la relación del sistema con los usuarios u otros sistemas. Según Santiago Ceria, un caso de uso es una secuencia de interacciones entre un sistema y alguien o algo que usa alguno de sus servicios. (p.02). 6. Fases de la Ingeniería de requerimientos. Daniel (2008), “¿Qué es Ingeniería de Requisitos (IR)?”: El proceso se cumple en cinco fases: Estudio de viabilidad: Este permitirá rendir un informe tanto al equipo de desarrollo del proyecto como al usuario o cliente, donde se verificará si el proyecto vale la pena desarrollarlo. Es de vital importancia para la satisfacción de los objetivos del negocio. Captura y Análisis: En esta fase el desarrollador o su equipo de desarrollo entran en contacto con el usuario final o con el cliente para determinar el alcance del proyecto o del sistema que se desea construir, además, se debe identificar cuáles son los servicios que prestará el sistema, su rendimiento, sus necesidades y restricciones, y cuáles son los objetivos esperados. Especificación: Aquí se debe obtener un documento de especificación de requisitos, en cual se llega a definir de una forma completa, precisa y verificable cada uno de los requerimientos o necesidades que debe satisfacer el sistema a desarrollar, además de sus respectivas restricciones (software, hardware). Validación: Consiste en mostrar o comprobar que cada uno de los requisitos obtenidos, definen el sistema o proyecto que se va a construir y que desea el cliente. En esta etapa solamente entran aquellos requisitos que se mencionaron ya en la especificación. Gestión: Se realiza la comprensión y control de los cambios de cada una de los requisitos, sean estos requisitos estables (corresponden al estado del sistema) o
  7. 7. volátiles (representan eventos que hacen que el sistema realice una función dada). 7. Requerimientos de software de la Ingeniería de Requerimientos. Un área de conocimiento de gran importancia en el desarrollo de software, es la ingeniería de requerimientos. Esta comprende las actividades de obtención (captura, descubrimiento y adquisición), análisis (y negociación), especificación, y validación de requisitos. Además, establece una actividad de gestión de requerimientos para manejar los cambios, mantenimiento y rastreabilidad de los requerimientos. La Ingeniería de requerimientos juega un papel relevante pues ayuda, a los responsables del proyecto a entender mejor el problema en cuya solución trabajarán y a utilizar herramientas que les permitan disminuir los riesgos y los sobrecostos en el proceso de desarrollo. En cuanto al tratamiento de los requerimientos, los analistas usan diferentes técnicas (entrevistas, prototipos, observación, estudio de documentación, cuestionario, escenarios, etc.) para recolectar, separar y clasificar los requerimientos. Los criterios usados para la aplicación de estas técnicas son diversos y dependen en gran medida de la experiencia del analista. López, (2006), “La ingeniería de requerimientos”: en el desarrollo de software se cuenta con una ventaja proporcionada por las herramientas CASE. Las herramientas CASE (Ingeniería del Software Asistida por Computadora) se le conoce a todo aquel software que es usado para ayudar a las actividades del proceso de desarrollo del software, en donde se ubica la ingeniería de requerimientos, que se ha venido tratando en este artículo. Estas herramientas se concentran en capturar requerimientos, administrarlos y producir una especificación de requisitos. 8. Actividades de la Ingeniería de Requerimientos. López, (2006), “La ingeniería de requerimientos”: dentro del mismo documento mencionado anteriormente (Herrera, 2003: 6), se dice que dentro de la IR existen cuatro
  8. 8. actividades básicas que se tienen que llevar a cabo para completar el proceso. Estas actividades ayudan a reconocer la importancia que tiene para el desarrollo de un proyecto de software realizar una especificación y administración adecuada de los requerimientos de los clientes o usuarios. Las cuatro actividades son: extracción, análisis, especificación y validación. Extracción: Aquí, los analistas de requerimientos deben trabajar junto al cliente para descubrir el problema que el sistema debe resolver, los diferentes servicios que el sistema debe prestar, las restricciones que se pueden presentar, etc. Es importante, que la extracción sea efectiva, ya que la aceptación del sistema dependerá de cuan bien éste satisfaga las necesidades del cliente. Análisis: Sobre la base de la extracción realizada previamente, comienza esta fase en la cual se enfoca en descubrir problemas con los requerimientos del sistema identificados hasta el momento. Estudiar sobre la base de extracción los requerimientos del cliente los problemas existentes, como solucionarlos, entre otros puntos de interés. Usualmente se hace un análisis luego de haber producido un bosquejo inicial del documento de requerimientos; en esta etapa se leen los requerimientos, se conceptúan, se investigan, se intercambian ideas con el resto del equipo, se resaltan los problemas, se buscan alternativas y soluciones, y luego se van fijando reuniones con el cliente para discutir los requerimientos. Especificación: En esta fase se documentan los requerimientos acordados con el cliente, en un nivel apropiado de detalle. Aquí se definen con el cliente la documentación del requerimiento detallando muy bien cada proceso, necesidad, mejora, en fin conocer en detalle el requerimiento. En la práctica, esta etapa se va realizando conjuntamente con el análisis, se puede decir que la especificación es el "pasar en limpio" el análisis realizado previamente aplicando técnicas y/o estándares de documentación, como la notación UML (Lenguaje de Modelado Unificado), que es un estándar para el modelado orientado a objetos, por lo que los casos de uso y la obtención de requerimientos basada en casos de uso se utiliza cada vez más para la obtención de requerimientos.
  9. 9. Validación: La validación es la etapa final de la IR. Su objetivo es, ratificar los requerimientos, es decir, verificar todos los requerimientos que aparecen en el documento especificado para asegurarse que representan una descripción, por lo menos, aceptable del sistema que se debe implementar. Esto implica verificar que los requerimientos sean consistentes y que estén completos. Se puede apreciar que el proceso de ingeniería de requerimientos es un conjunto estructurado de actividades, mediante las cuales se obtiene, se valida y se logra dar un mantenimiento adecuado al documento de especificación de requerimientos, que es el documento final, de carácter formal, que se obtiene de este proceso. Es necesario recalcar que no existe un proceso único que sea válido de aplicar en todas las organizaciones. Cada organización debe desarrollar su propio proceso de acuerdo al tipo de producto que se esté desarrollando, a la cultura organizacional, y al nivel de experiencia y habilidad de las personas involucradas en la ingeniería de requerimientos. 9. Dificultades para definir los Requerimientos. Los requerimientos no son obvios y vienen de muchas fuentes. Son difíciles de expresar en palabras (el lenguaje es ambiguo). La cantidad de requerimientos en un proyecto puede ser difícil de manejar. Nunca son iguales, algunos son más difíciles, más riesgosos, más importantes o más estables que otros. Los requerimientos están relacionados unos con otros y a su vez se relacionan con otras partes del proceso. Cada requerimiento tiene propiedades únicas y abarcan áreas funcionales específicas. Un requerimiento puede cambiar a lo largo del ciclo de desarrollo. El usuario no puede explicar lo que hace Tiende a recordar lo excepcional y olvidar lo rutinario Hablan de lo que no funciona Los usuarios tienen distinto vocabulario que los desarrolladores.
  10. 10. 10. Técnicas y herramientas utilizadas en la Ingeniería de Requerimientos. Entrevistas: La entrevista es un método para descubrir hechos y opiniones que tienen los posibles usuarios y otros participantes dentro del sistema que se está desarrollando. Los errores y malentendidos pueden ser detectados y corregidos a través de este método, por lo cual resulta muy útil dentro de esta actividad de la ingeniería de requerimientos. Las entrevistas pueden ser clasificadas en dos grandes grupos. Casos de Uso y/o Escenarios: Los casos de uso describen interacciones entre los usuarios y el sistema, enfatizando en lo que el usuario necesita del sistema. Un caso de uso describe la posible secuencia de interacciones que se dan entre el sistema y uno o más actores como respuesta a un estímulo inicial por parte de alguno de los actores32. De igual manera, debe ser incluida dentro de esta interacción, la descripción de las variantes y extensiones que el sistema debe soportar. Observación y análisis social: Los métodos de observación involucran a dos participantes: el investigador observando al usuario mientras trabaja y tomando notas de las actividades que se llevan a cabo, y al trabajador (usuario) llevando a cabo las actividades cotidianas que su trabajo le implica realizar. La observación puede ser realizada de manera directa, es decir que el investigador este presente mientras el usuario realiza sus actividades; o indirecta, cuando la observación se lleva en otro escenario, instante, o a través de otro medio que permita que el observador no esté presente durante la realización de las actividades que está observando (como lo permitiría el uso de una cámara de video). Lluvia de Ideas (Brainstorm): Las lluvias de ideas son sesiones donde todos los participantes brindan sus ideas para obtener una solución a una problemática. Una lluvia de ideas está compuesta de dos fases: la fase de generación y la fase de evaluación. Durante la generación las ideas son recolectadas y es importante que
  11. 11. no sean criticadas. Durante la evaluación de las ideas, las propuestas de solución deben ser evaluadas desde diferentes perspectivas. Prototipos: En la ingeniería de software, un prototipo es programa de computador que implementa algunos de los requerimientos de un sistema. Este prototipo puede ser usado para colaborar con la definición de los requerimientos, o para facilitar la evaluación de alternativas de implementación de un sistema. Casos de Uso: Los casos de uso son una técnica para especificar el comportamiento de un sistema. Los casos de uso permiten entonces describir la posible secuencia de interacciones entre el sistema y uno o más actores, en respuesta a un estímulo inicial proveniente de un actor, es una descripción de un conjunto de escenarios, cada uno de ellos comenzado con un evento inicial desde un actor hacia el sistema.
  12. 12. CONCLUSIÓN El campo de aplicación de los requerimientos es muy amplio, y áreas como lo son el análisis y verificación de requerimientos, son elementos de vital importancia dentro del proceso de desarrollo de software, es una actividad que involucra: clientes, usuarios, equipos de desarrollo, administradores de proyecto, entre otros. Es de suma importancia tomarse el tiempo necesario para conocer a los clientes y usuarios para poder establecer una buena relación de trabajo y que exista comunicación entre el equipo de desarrolladores para que el proyecto se pueda realizar de una manera exitosa. La ingeniería de requisitos permite gestionar las necesidades del proyecto en forma estructurada mejorando la calidad del proyecto, define con la mejor calidad posible, las características de un sistema software que satisfaga las necesidades de negocio de clientes y usuarios y que se integre con éxito al entorno en el que se desenvuelve.
  13. 13. REFERENCIAS BIBLIOGRÁFICAS Ingeniería de Requisitos [Documento en Línea] Disponible en: https://core.ac.uk/download/pdf/30046163.pdf Definición de Requerimientos [Documento en Línea] Disponible en: http://desasof2004.blogspot.com/2009/06/definicion-de-requerimientos.html Características de los Requerimientos [Documento en Línea] Disponible en: http://desasof2004.blogspot.com/2009/06/definicion-de-requerimientos.html Ingeniería de Requerimientos [Documento en Línea] Disponible en: http://sedici.unlp.edu.ar/bitstream/handle/10915/4057/2_- _Ingenier%C3%ADa_de_requerimientos.pdf?sequence=4 Técnicas principales aplicadas en la Ingeniería de Requisitos. o Entrevistas [Documento en Línea] Disponible en: https://www.clubensayos.com/Informes-de-Libros/Investigacion-De- Mercados/115687.html y http://saia.psm.edu.ve/pluginfile.php?file=%2F174215%2Fmod_resource% 2Fcontent%2F1%2Fingenieria%20de%20requisitos%20y%20requerimiento. pdf o Talleres [Documento en Línea] Disponible en: http://saia.psm.edu.ve/pluginfile.php?file=%2F174215%2Fmod_resource% 2Fcontent%2F1%2Fingenieria%20de%20requisitos%20y%20requerimiento. pdf o Forma de contrato [Documento en Línea] Disponible en: http://saia.psm.edu.ve/pluginfile.php?file=%2F174215%2Fmod_resource% 2Fcontent%2F1%2Fingenieria%20de%20requisitos%20y%20requerimiento. pdf y http://www.rodriguezvelarde.com.pe/pdf/libro1_parte1_cap6.pdf o Objetivos medibles [Documento en Línea] Disponible en: http://saia.psm.edu.ve/pluginfile.php?file=%2F174215%2Fmod_resource% 2Fcontent%2F1%2Fingenieria%20de%20requisitos%20y%20requerimiento. pdf o Prototipos [Documento en Línea] Disponible en: http://tallercomplemento.blogspot.com/2011/09/8-prototipos.html o Casos de Uso [Documento en Línea] Disponible en: http://www- 2.dc.uba.ar/materias/isoft1/2001_2/apuntes/CasosDeUso.pdf y
  14. 14. http://saia.psm.edu.ve/pluginfile.php?file=%2F174215%2Fmod_resource% 2Fcontent%2F1%2Fingenieria%20de%20requisitos%20y%20requerimiento. pdf Fases de la Ingeniería de requerimientos [Documento en Línea] Disponible en: http://saia.psm.edu.ve/pluginfile.php?file=%2F174215%2Fmod_resource%2Fconte nt%2F1%2Fingenieria%20de%20requisitos%20y%20requerimiento.pdf Requerimientos de software de la Ingeniería de Requerimientos [Documento en Línea] Disponible en: https://sg.com.mx/revista/17/obtencion-requerimientos- tecnicas-y-estrategia#.WV0w8RU1_IU, http://sedici.unlp.edu.ar/bitstream/handle/10915/19098/Documento_completo.% 20Nuevas%20estrategias.pdf?sequence=1 y http://saia.psm.edu.ve/pluginfile.php?file=%2F174215%2Fmod_resource%2Fconte nt%2F1%2Fingenieria%20de%20requisitos%20y%20requerimiento.pdf Actividades de la Ingeniería de Requerimientos [Documento en Línea] Disponible en: http://saia.psm.edu.ve/pluginfile.php?file=%2F174215%2Fmod_resource%2Fconte nt%2F1%2Fingenieria%20de%20requisitos%20y%20requerimiento.pdf y http://fundamentosdeingenieriahg.blogspot.com/p/actividades-de-la-ingenieria- de.html Dificultades para definir los Requerimientos [Documento en Línea] Disponible en: http://dgsa.uaeh.edu.mx:8080/bibliotecadigital/bitstream/handle/231104/415/In genieria%20de%20requerimientos.pdf?sequence=1&isAllowed=y Técnicas y herramientas utilizadas en la Ingeniería de Requerimientos [Documento en Línea] Disponible en: http://www.javeriana.edu.co/biblos/tesis/ingenieria/Tesis189.pdf
  15. 15. Anexo (Mapa Mental)
  16. 16. INGENIERÍA DE REQUISITOS E INGENIERÍA DE REQUERIMIENTOS Ingeniería de Requisitos Definición de Requerimientos. Ingeniería de Requerimientos. Técnicas principales aplicadas en la Ingeniería de Requisitos. Fases de la Ingeniería de requerimientos. Requerimientos de software de la Ingeniería de Requerimientos. Actividades de la Ingeniería de Requerimientos. Dificultades para definir los Requerimientos. Técnicas y herramientas utilizadas en la Ingeniería de Requerimientos. Métodos, técnicas y herramientas Necesidad documentada sobre el contenido Características de los Requerimientos. Actualización Cohesión Completo Consistente Obligatorio Verificable Observable Entrevista s Talleres Prototipo s Casos de uso Estudio de viabilidad Captura y Análisis Validación Ayuda, a los responsables del proyecto a entender mejor el problema Especificación Validación Análisis Extracción No son obvios Son difíciles Nunca son iguales Puede cambiar Lluvia de Ideas Observación Casos de Uso Entrevistas

×