Proceso mediante el que se obtiene una comprensión precisa de los requisitos,
se analizan las necesidades identificadas por parte de stakeholders para obtener el Documento de definición de Requisitos validado Proceso de Análisis de Requerimientos
El análisis de requisitos comprende las siguientes actividades:
◦ Analizar los requisitos funcionales recolectados o recopilados. ◦ Agrupar los requisitos funcionales recolectados y clasificarlos. ◦ De la clasificación de los requisitos, determinar: los que no son necesarios, son incompatibles entre sí, no son completos, no son factibles y los que están repetidos. • Aprobar la lista tentativa de requisitos funcionales definitivos por parte de los usuarios expertos en el dominio de la aplicación. • Estructurar el contenido del Documento de Definición de Requisitos (DDR). • Elaborar el Documento de Definición de Requisitos DDR con el listado de los requisitos funcionales; el cual debe estar aprobado por los stakeholders. En esta fase el cuidado se debe tomar para describir requisitos con exactitud, suficientemente como para permitir que los requisitos sean validados, su implementación sea verificada, y sus costes sean estimados El análisis de requerimientos permite al Ingeniero de Sistemas: • especificar las características operacionales del software (función, datos y rendimientos) • indica la interfaz del software con otros elementos del sistema y también • establece las restricciones que debe cumplir el software. Se utilizan las siguientes técnicas: 1. Entrevistas 2. Talleres 3. Observación 4. Encuestas 5. Revisión documental 6. Uso de especificaciones formales para requerimientos (formatos estándar de documentos, diagramas uml, etc.) El análisis de requisitos del software se puede subdividir en cinco áreas de esfuerzo: 1. Reconocimiento del problema 2. Evaluación y síntesis 3. Modelado 4. Especificación 5. Revisión El Análisis de Requerimientos consiste en refinar los requisitos para asegurar que todos los Stakeholders entienden y examinan errores, omisiones, y otras deficiencias. El análisis incluye la descomposición del detalle de requisitos de alto nivel, la construcción de prototipos, evaluación de viabilidad, y la negociación de prioridades. El objetivo es desarrollar los requisitos con calidad y detalle, para que los gerentes puedan construir estimaciones realistas del proyecto y el personal técnico pueda proceder con el diseño, construcción y pruebas. El Análisis de los Requerimientos es principalmente responsabilidad del Analista, pero puede involucrar a los actores clave, tales como ser: ◦ usuarios, ◦ clientes y ◦ personal técnico quienes son necesarios para entender las necesidades del Usuario El Ciclo de Análisis de Requerimientos: Es importante analizar las necesidades a medida que se generan: las personas, documentos y fuentes externas. Para analizar los Requerimientos, se debe realizar lo siguiente: 1. Modelo de negocio (en caso de que sea necesario, no todos los proyectos de software requieren modelos de negocio): • Determinar si los modelos de negocios se necesitan. • Elegir uno o más modelos de negocios. • Crear los modelos y verificar su exactitud a medida que evolucionan. 2. Definir el alcance del Proyecto: • Crear una combinación de modelos para describir el alcance del proyecto. • Comprobar los modelos entre sí para descubrir los defectos de los requerimientos. • Revisar y obtener un acuerdo con el Patrocinador del proyecto. 3. Crear Modelos de Requerimientos de Usuario detallados: • Seleccionar varios modelos que ayuden a los usuarios a expresar sus necesidades. • Repetidamente refinar los modelos, validando sus correcciones. • Aprovechar el Plan de Elicitación de Stakeholders para utilizar mejor el tiempo de las personas. • Revisar el alcance de los Modelos, cuando se tienen nuevas necesidades 4. Priorizar las Necesidades: • Organizar los requerimientos para que fácilmente puedan ser priorizados. • Reunir a los Stakeholders para negociar los requerimientos. • Determinar criterios para la toma de decisiones acerca de la importancia relativa de los requerimientos • Priorizar los requerimientos basados en estos criterios. Los requerimientos son fundamentales para el éxito del producto final. Se debe enfocar en el problema, es decir definir qué es lo que se desea construir y asegurar qué es necesario para satisfacer las necesidades del usuario; aunque las pruebas del Software no se ejecutan durante el desarrollo, la realización de pruebas conceptuales ayudará a descubrir la existencia de requisitos defectuosos, sin claridad o incompletos.
Por lo cual es aconsejable que de acuerdo a como se vayan desarrollando
los requisitos estos sean verificados para comprobar si cumplen las condiciones o especificaciones de las actividades de desarrollo de los requerimientos. El Análisis de los Requerimientos da como resultado: ◦ la especificación de las características operativas del software, ◦ indica la interfaz de éste y otros elementos del sistema, y ◦ establece las restricciones que limitan al software. El análisis de los requerimientos permite al profesional (ingeniero de software o analista), construir sobre los requerimientos básicos establecidos durante las tareas de: ◦ concepción, ◦ indagación y ◦ negociación que son parte de la Ingeniería de Requerimientos La acción de modelar los Requerimientos da como resultado uno o más de los siguientes tipos de Modelos: • Modelos basados en el escenario de los requerimientos: desde el punto de vista de distintos “actores” del sistema. • Modelos de datos: son los que ilustran el dominio de información del problema. • Modelos orientados a clases: que representan clases orientadas a objetos (atributos y operaciones) y la manera en la que las clases colaboran para cumplir con los requerimientos del Sistema. • Modelos orientados al flujo: son los que representan los elementos funcionales del sistema y la manera como transforman los datos a medida que se avanza a través del sistema. • Modelos de comportamiento: son los que ilustran el modo en el que se comparte el software como consecuencia de “eventos” externos. Estos modelos dan al Diseñador del Software la información que se traduce en diseños de arquitectura, interfaz y componentes. El Modelo de Requerimientos (y las especificaciones de software) brinda al desarrollador y al cliente los medios para evaluar la calidad del Software construido. El tema se centra en el Modelado basado en Escenarios, técnica que cada vez es más popular entre la comunidad de la Ingeniería de Software; el Modelado basado en Datos, más especializado, apropiado en particular cuando debe crearse una aplicación o bien manipular un espacio complejo de información; y el Modelado Orientado a Clases, que es la representación de las clases orientada a objetos y a las colaboraciones resultantes que permiten que funcione el sistema. En conclusión: “Cualquier ‘vista’ de los requerimientos es insuficiente para entender o describir el comportamiento deseado de un sistema complejo.” El Modelo de Análisis y la especificación de requerimientos proporcionan un medio para evaluar la calidad una vez construido el software. En la Ingeniería de Software, el Análisis de Requerimientos es una tarea que cubre el espacio entre la definición del software a nivel sistema y el diseño del mismo. Tanto el desarrollador como el cliente tienen un papel activo, ya que juntos definen en detalle los requisitos del sistema a desarrollar y los pasos a seguir. El Análisis de Requerimientos: Es un estudio profundo de una necesidad tecnológica que tiene una empresa, organización o negocio. Especifica las características operacionales que tendrá el software a desarrollar. Se realiza a través de entrevistas, observación, indagación y demás técnicas específicas. Describe el plan del proyecto a seguir. Es fundamental entregar el proyecto dentro del tiempo y el presupuesto acordados y de los objetivos del negocio
“Proporciona un mapa para llegar con éxito al desarrollo del software o