PROCESOS DE INGENIERIA DE REQUERIMIENTOS. El proceso de ingeniería de requerimientos incluye un estudio de viabilidad, así como la obtención, análisis, especificación, validación y gestión de requerimientos: ESTUDIO DE VIABILIDAD: En este se hace una descripción resumida del sistema, y de como es que pretende contribuir al proceso del negocio, como resultado de este se deberá presentar un informe que recomiende si vale la pena o no seguir con la ingeniería de requerimientos, y el proceso del desarrollo del sistema. Un estudio de viabilidad es u estudio corto y orientado a resolver varias cuestiones:
• •
Contribuye el sistema a los objetivos generales de la organización. Se puede implementar el sistema utilizando la tecnología actual dentro de las restricciones del costo y tiempo. • Puede integrarse el sistema con otros sistemas existentes en la organización. Llevar a cabo un estudio de viabilidad comprende la evaluación y recopilación de la información y redacción de informes. OBTENCION Y ANALISIS DE REQUERIMIENTOS: En esta actividad los ingenieros de software trabajan con los clientes, usuarios finales y stakeholders para determinar el dominio de la aplicación, que servicios debe proporcionar el sistema, el rendimiento requerido del sistema, las restricciones del hardware. Las actividades del proceso son:
•
DESCUBRIMIENTO DE REQUERIMIENTOS: Es el proceso de interactuar con los stakeholders del sistema para recopilar sus requerimientos. Se describen técnicas para recopilar requerimientos que se incluyen como: 1. PUNTOS DE VISTA: Reconoce varias perspectivas y proporciona un marco de trabajo para descubrir conflictos en los requerimientos propuestos por varios stakeholders, existen varios puntos de vista:
•
Puntos de vista de los interactuadores: Representa a las personas u otras personas que interactúan directamente con el sistema.
•
Puntos de vista indirectos: Representa a los stakeholders que no utilizan el sistema pero que influyen en los requerimientos de algún modo.
•
Puntos de vista de dominio: Representa las características y restricciones del dominio que influyen en los requerimientos del sistema.
2. ENTREVISTA: El equipo de ingeniería hace preguntas a los stakeholders sobre el sistema que utilizan y sobre el sistema a desarrollar, las entrevistas son de varios tipos: • Entrevistas cerradas: Los stakeholders responden a un conjunto definido de preguntas.
•
Entrevistas abiertas: No hay conjunto definido de preguntas donde el grupo de ingeniería examina una serie de cuestiones con los stakeholders del sistema y por lo tanto, desarrolla una mejor comprensión de sus necesidades.
3. ESCENARIOS: Son descripciones de ejemplos de las sesiones de interacción, cada escenario abarca una o más posibles interacciones, se desarrollan de varias formas de las cuales proporciona diferentes tipos de información en diferentes niveles de detalle sobre el sistema. Un escenario puede incluir:
•
Una descripción de lo que esperan el sistema y los usuarios cuando el escenario comienza.
•
Una descripción de flujo normal de eventos en el escenario.
•
Una descripción de los puede ir mal y como manejarlo.
•
Información de otras actividades que se podrían llevar a cabo al mismo tiempo.
•
Una descripción del estado del sistema cuando el escenario termina.
4. CASOS DE USO: Son técnicas que se basan en escenarios para la obtención
de requerimientos , actualmente se ha convertido en una característica fundamental de la notación UML, que se utiliza para describir modelos orientados a objetivos, un caso de uso identifica el tipo de interacción y los actores involucrados.
5. ETNOGRAFIA: Es la técnica de observación que se puede utilizar para entender los requerimientos sociales y organizacionales, ayuda a los analistas a descubrir los requerimientos implícitos que reflejan los procesos reales mas formales en los que la gente esta involucrada. La etnografía es efectiva para descubrir dos tipos de requerimientos:
•
Los requerimientos que se derivan de la forma en la que la gente trabaja realmente, mas que de la forma en la que las definiciones de los proceso establecen que deberían trabajar.
•
Los requerimientos que se derivan de la cooperación y conocimientos de las actividades de la gente.
•
CLASIFICACION Y ORGANIZACION DE REQUERIMIENTOS: Esta actividad toma la recopilación no estructurada de requerimientos, grupos relacionados y los organiza en grupos coherentes.
•
ORDENACION DE PRIORIDADES Y NEGOCIACION DE REQUERIMIENTOS: Consiste en ordenar los requerimientos según sus prioridades y a encontrar y resolver los requerimientos en conflicto a través de la negociación.
•
DOCUMENTACION DE REQUERIMIENTOS: Se documentan los requerimientos, se puede producir documentos de requerimientos formales o informales.
VALIDACION DE REQUERIMIENTOS: La validación trata de mostrar que estos realmente definen el sistema que el cliente desea. Coincide parcialmente con el análisis ya que este implica encontrar problemas con los requerimientos. Durante el proceso de validación de requerimientos se debe llevar a cabo verificaciones sobre requerimientos en el documentos de requerimientos, estas verificaciones comprenden verificación de validez, consistencia de completitud, realismo, verificabilidad. Hay varias técnicas de validación de requerimientos siendo:
•
Revisiones de requerimientos: Es un proceso manual que involucra a personas tanto de la organización del cliente como la del contratista. Ellos verifican el documento de requerimientos de requerimientos en cuanto anomalías y omisiones, las revisiones pueden ser:
•
Formales: El quipo de desarrollo debe conducir al cliente a través de los requerimientos del sistema, explicándole las implicaciones de cada requerimiento. Informal: Sencillamente implica que los contratistas deben tratar los requerimientos con tantos stakeholders del sistema como sea posible.
•
•
Construcción de prototipos: En este enfoque de validación, se muestra un modelo ejecutable del sistema a los usuarios finales.
•
Generación de los casos de prueba: Los requerimientos deben poder probarse, desarrollar pruebas para los requerimientos del usuario antes de que se escriba código en una parte fundamental de la programación extrema.
PROCESO DE GESTION DE REQUERIMIENTOS: Incluye la gestión de la planificación, en la cual se diseñan las políticas y procedimientos parta la gestión de requerimientos, y la del cambio, en la que usted analiza cambios propuestos en los requerimientos y evalúa su impacto. •
REQUERIMIENTOS DURADEROS Y VOLATILES: Los requerimientos se dividen en dos clases:
•
DURADEROS: Son requerimientos estables que se derivan de la actividad principal de la organización y que están relacionados directamente con el dominio del sistema. VOLATILES: Son requerimientos que probablemente cambian durante el proceso de desarrollo del sistema.
• •
PLANIFICACION DE LA GESTION DE REQUERIMIENTOS: Primera etapa esencial del proceso de gestión se decide sobre:
•
LA IDENTIFICACION DE REQUERIMIENTOS: Se identifica de forma única de tal forma que pueda ser omitido por otro requerimiento. UN PROCESO DE GESTION DEL CAMBIO: Conjunto de actividades que evalúan el impacto y costo de cambios. POLITICA DE RASTREO: Definen las relaciones entre los requisitos y el diseño del sistema. AYUDA DE HERRAMIENTAS CASE: Las herramientas que se puedan utilizar van desde sistemas de gestión de requerimientos especializados hasta hojas de cálculo y sistemas sencillos de bases de datos.
• •
•
•
GESTION DE CAMBIO DE LOS REQUERIMIENTOS: Se debe aplicar a todos los cambios propuestos en los requerimientos, son tratados de forma consistente y los cambios en el documento de requerimientos se hacen de forma controlada. Existen tres etapas en un proceso de gestión de cambio.
•
Análisis del problema y especificación del cambio: El problema o la propuesta de cambio se analiza para verificar que esta es valida. Análisis del cambio y calculo de costos: El costo de hacer un cambio se estima en términos de modificaciones al documento de requerimientos y, si es apropiado al diseño e implementación del sistema. Implementación del cambio: Debe organizar el documento de requerimientos de modo que pueda hacer cambios en el sin tener que hacer grandes organizaciones o redactar nuevamente gran cantidad del mismo.
• •
CAPITULO 7: PROCESOS DE LA INGENIERIA DE REQUERIMIENTOS
1. Mencione quienes podrían ser los stakeholders en un sistema de registro de estudiantes universitarios. Explique por qué es casi inevitable que los requerimientos de diferentes stakeholders entren en conflicto de alguna forma. Los stakeholders del sistema de registro de una universidad podrían ser: • • • •
Las personas encargadas de registro Los estudiantes Los diferentes usuarios ya sea de matricula, facultades, bienestar y otras dependencias de la universidad que requieran de la información del sistema. Ingenieros programadores o de mantenimiento.
2. Un sistema de software se desarrolla para gestionar los registros de los pacientes que ingresan a una clínica para un tratamiento. Los registros incluyen anotaciones de todos los controles habituales a los pacientes (temperatura, tensión arterial, etc.) los tratamientos dados, las reacciones de los pacientes. Después del tratamiento los registros de su estancia se envían al doctor del paciente, quien mantiene su historial clínico completo. Identifique los puntos de vista principales que se pueden tener en cuenta en la especificación del sistema y organícelos utilizando un diagrama de jerarquía de puntos de vista.
PERSONAL ADMINISTRADORES INTERACTUADORES PROVEEDORES ENFERMERAS SISTEMAS PACIENTES INDIRECTOS USUARIOS NORMAS PERSONAL PUNTOS MEDICOS DOMINIO DE DE DE DE DE LA DE ASEO MEDICAMENTOS SALUBRIDAD DE REGISTRO CLINICA LA VISTA Y VIGILANCIA CLINICA
3. Para tres de los puntos de vista identificados en el sistema de biblioteca, LIBSYS (figura 7.4), mencione tres requerimientos que podrían ser sugeridos por los stakeholders relacionados con este punto de vista. PUNTOS DE VISTA USUARIOS
PERSONAL DE BIBLIOTECA FINANZAS
REQUERIMIENTOS Que el sistema registre datos de los diferentes usuarios como: nombre, identificación, dedicación, ciudad teléfono entre otros. Que el sistema necesite de una clave y contraseña para poder acceder al sistema. Que el sistema solo permita manejar esta información a las personas autorizadas.
4. El sistema LIBSYS tiene que incluir soporte para la catalogación de nuevos documentos donde el catalogo del sistema puede ser distribuido a través de varias maquinas. ¿Cuáles son probablemente los tipos más importantes de requerimientos no funcionales relacionados con los servicios de catalogación? • • • • •
Requerimientos Requerimientos Requerimientos Requerimientos Requerimientos
de de de de de
usabilidad. implementación. estándares. interoperabilidad. seguridad.
5. Utilizando su conocimiento de cómo funciona un cajero automático de un banco, desarrolle un conjunto de casos de uso que podrían servir como una base de requerimientos de un sistema de cajero automático.
USUARIO
CAJERO
6. De un ejemplo de un tipo de sistema en el que los factores sociales y políticos pueden influir fuertemente en los requerimientos del sistema. Explique por que estos factores son importantes en el ejemplo. Un sistema de registro de personas en cualquier empresa de servicios públicos. El factor social es importante por la clasificación del estrato y otros datos. El factor político por las normas que se deben cumplir la ley exige privacidad. 7. ¿Quienes deberían estar implicados en la revisión de requerimientos? Establezca un modelo del proceso que muestre como se puede organizar una revisión de requerimientos. La revisión de requerimientos deberá ser realizada desde los programadores, usuarios directos, indirectos y todo aquel que tenga relación con dicho sistema. 8. ¿Por qué las matrices de rastreo son difíciles de manejar cuando existen muchos requerimientos en el sistema? Diseñe un mecanismo de restructuración de requerimientos, basado en puntos de vista, que pueda ayudar a reducir el tamaño del problema. 9. Cuando se hacen cambios de emergencia en los sistemas, software puede tener que modificarse antes de que los cambios en los requerimientos se aprueben. Sugiera un modelo de proceso para hacer estas modificaciones que asegure que el documento de requerimientos y la implementación del sistema no sean compatibles.
10.Su compañía utiliza un método de análisis estándar que normalmente se aplica en todos los análisis de requerimientos. En su trabajo, comprueba que este método no puede representar factores sociales que son significativos en el sistema que usted analiza. Le señala esto a su jefe, quien le indica claramente que el estándar debe seguirse. Mencione que debe hacer en tal situación.