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. La ingeniería de requerimientos apunta a mejorar la forma en que comprendemos y definimos sistemas de software complejos. Que tiene como objetivos:
- Definir, 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 en el entorno en el que se explote. La definición de dicho sistema se realiza mediante lo que se conoce como una especificación de requisitos.
- Gestionar las líneas base y las peticiones de cambios que se vayan produciendo en la especificación de requisitos, manteniendo la trazabilidad entre los requisitos y otros productos del desarrollo.
Actividades
Existen cuatro actividades básicas (extracción, análisis, especificación y validación) 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 requisitos de los clientes o usuarios.
- Extracción: Esta fase representa el comienzo de cada ciclo. Extracción es el nombre comúnmente dado a las actividades involucradas en el descubrimiento de los requisitos del sistema.
- Análisis: Sobre la base de la extracción realizada previamente, comienza esta fase. Usualmente se hace un análisis luego de haber producido un bosquejo inicial del documento de requisitos; aquí se leen los requisitos, 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 requisitos.
- Especificación: En esta fase se documentan los requisitos acordados con el cliente, en un nivel apropiado de detalle. En la práctica, esta etapa se va realizando conjuntamente con el análisis, pero se podría 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.
- Validación: La validación es la etapa final de la IR. Su objetivo es verificar todos los requisitos 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 requisitos sean consistentes y que estén completos.
La validación representa un punto de control interno y externo; interno, porque se debe verificar internamente lo que se está haciendo, y externo, porque se debe validar con el cliente.
Herramientas
Existen diversas técnicas y herramientas que se utilizan para llevar a cabo cada una de las actividades del proceso de Ingeniería de Requisitos, una de las razones por las cuales surgen los errores a la hora del levantamiento es la existencia de una gama de herramientas. No existe una especie de guía para el uso de los desarrolladores, estos utilizan incluso en la captura más de una técnica en cada de las actividades que contiene el proceso.
Herramientas | Extracción | Análisis | Especificación | Validación |
---|---|---|---|---|
Entrevistas y Cuestionario | X | |||
Sistemas Existentes | X | X | ||
Grabaciones de video y de audio. | X | X | ||
Brainstorming (Tormenta de Ideas) | X | X | ||
Sistemas Existentes | X | X | ||
Arqueología de Documentos | X | X | ||
Aprendiz | X | |||
Observación | X | |||
Run Use Case WorkShop | X | |||
Prototipo Bosquejado | X | X | X | |
Prototipo Tangible/usable | X | X | X | |
FODA | X | |||
Cadena de Valor | X | |||
Modelo de clase conceptual | X | X | ||
Diagrama de actividad | X | X | ||
ESRE | X | X | X | X |
Casos de uso | X | X | X | X |
Casa de calidad o QFD | X | |||
Checklist | X | X | ||
Sistemas Existentes | X | X |
Herramientas más Usadas
- Entrevistas y cuestionarios: Las entrevistas y cuestionarios se emplean para reunir información proveniente de personas o grupos, información que se obtiene conversando con el encuestado. Las preguntas suelen distinguirse en dos categorías: abiertas y cerradas. Las preguntas abiertas permiten que los encuestados respondan con su propia terminología, mientras que las preguntas cerradas predeterminan todas las posibles respuestas y el interrogado elige entre las opciones presentadas.
- Grabaciones de video y de audio: Básicamente existen dos formas de utilizar las grabaciones: como registro y apoyo de las entrevistas, y para analizar algún proceso en particular. En cuanto a su función de apoyo, es importante porque permite centrar la atención en la entrevista en sí, en vez de distraerse tomando notas de todo lo que se dice. Cuando se trata de analizar algún proceso en particular, su ayuda es inestimable (sobre todo las filmaciones de video) porque permite ver y analizar en detalle ese proceso la cantidad de veces que sea necesario.
- Brainstorming (tormenta de ideas): Este es un modelo que se usa para generar ideas. La intención en su aplicación es la de generar la máxima cantidad posible de requisitos para el sistema. No hay que detenerse en pensar si la idea es o no del todo utilizable.
https://www.ecured.cu/Ingenier%C3%ADa_de_requisitos
Para Pressman, en el proceso de análisis de requerimientos del software
se puede identificar cinco tareas o etapas fundamentales:
1. Reconocimiento del problema
Se deben de estudiar inicialmente las especificaciones del sistema y
el plan del proyecto del software. Realmente se necesita llegar a
comprender el software dentro del contexto del sistema. El analista
debe establecer un canal adecuado de comunicación con el equipo
de trabajo involucrado en el proyecto. En esta etapa la función
primordial del analista en todo momento es reconocer los elementos
del problema tal y como los percibe el usuario.
2. Evaluación y síntesis
En esta etapa el analista debe centrarse en el flujo y estructura de la
información, definir las funciones del software, determinar los factores
que afectan el desarrollo de nuestro sistema, establecer las
características de la interfaz del sistema y descubrir las restricciones
del diseño. Todas las tareas anteriores conducen fácilmente a la
determinación del problema de forma sintetizada.
3. Modelización
Durante la evaluación y síntesis de la solución, se crean modelos del
sistema que servirán al analista para comprender mejor el proceso
funcional, operativo y de contenido de la información. El modelo
Ingeniería de Requerimientos
Herramienta para Implementar LEL y Escenarios Página: 10
servirá de pilar para el diseño del software y como base para la
creación de una especificación del software.
4. Especificación
Las tareas asociadas con la especificación intenta proporcionar una
representación del software. Esto más adelante permitirá llegar a
determinar si se ha llegado a comprender el software, en los casos
que se lleguen a modelar se pueden dejar plasmados manuales.
5. Revisión
Una vez que se han descrito la información básica, se especifican los
criterios de validación que han de servir para demostrar que se ha
llegado a un buen entendimiento de la forma de implementar con
éxito el software. La documentación del análisis de requerimientos y
manuales, permitirán una revisión por parte del cliente, la cual
posiblemente traerá consigo modificaciones en las funciones del
sistema por lo que deberán revisarse el plan de desarrollo y las
estimaciones previstas inicialmente.
http://sedici.unlp.edu.ar/bitstream/handle/10915/4057/2_-_Ingenier%C3%ADa_de_requerimientos.pdf?sequence=4