INGENIERÍA DE REQUERIMIENTOS

NOTAS DEL CURSO Ingeniería de Software I
DRA. MARIA DEL PILAR GÓMEZ GIL
Versión : 13-sep-09

INGENIERÍA DE REQUERIMIENTOS*
 

Entender los requerimientos de una solución basada en software es una de las tareas mas difíciles para un(a) Ing. de software. Como otras actividades de Ing. de Sw, ésta debe adaptarse a las necesidades del proceso, proyecto, producto y gente que hace el software. La Ing. de Requerimientos provee de un mecanismo apropiado para entender que quiere el consumidor, analizar sus necesidades, valorar la factibilidad de construcción, negociar una solución razonable, especificar de manera no ambigua una solución, validar la especificación y administrar los requerimientos conforme se transforman.

*Referencia: capítulo 7 libro de texto (Pressman 2005)

(C) P. Gómez-Gil, INAOEP 2009

Tareas de la Ing. de Requerimientos
 Iniciación

(Inception)  Obtención (Elicitation)  Elaboración  Negociación  Especificación  Validación (Validation)  Administración

Algunas de estas funciones pueden ocurrir en paralelo y ajustarse a las necesidades del proyecto

(C) P. Gómez-Gil, INAOEP 2009

Iniciación

Como se empieza un proyecto? Algunas veces inicia por conversaciones informales, otras de manera mas formal; normalmente como resultado de una necesidad importante En esta parte, los ingenieros de software realizan preguntas “libres de contexto” (generales), para establecer un entendimiento básico del problema, determinar las personas que quieren una solución, la naturaleza de la solución, y la efectividad de las colaboraciones y comunicaciones preeliminares que se generan entre el consumidor y el desarrollador

(C) P. Gómez-Gil, INAOEP 2009

INAOEP 2009 . Gómez-Gil. Es difícil porque como ya se ha visto:  Hay problemas de definición de alcances  Hay problemas de entendimiento entre los involucrados  Hay problemas de volatilidad (los requerimientos cambian con el tiempo) (C) P.Obtención de Requerimientos  Se refiere a definir formalmente los requerimientos de la solución.

INAOEP 2009 . funciones y comportamiento (C) P. características y limitantes.Elaboración     Esta actividad expande y refina la información obtenida en la tarea de iniciación Se enfoca en realizar modelos técnicos refinados de las funciones del software. Es básicamente una función de modelado. Gómez-Gil. Se conduce a través de la definición de escenarios del usuario que describen la interacción del usuario final con el sistema Se define el dominio del problema desde varios puntos de vista: información.

Casi siempre diferentes involucrados (stakeholders) piden cosas diferentes. y depende de la cultura de la organización y tamaño del proyecto (C) P.Negociación    Los usuarios y consumidores normalmente piden mas de lo que se puede hacer con los recursos con que se cuenta. Hay varias maneras para negociar. Gómez-Gil. INAOEP 2009 . por lo que hay que conciliar intereses a través de negociaciones.

INAOEP 2009 . dibujos. (C) P. Sirve como base para actividades subsecuentes. de software.Especificación      Especificación significa diferentes cosas para diferentes personas en el área de Ing. Describe la función y desempeño de un sistema y las restricción que tiene. narraciones en prosa. Hay muchas técnicas para escribir especificaciones: diagramas. modelos matemáticos. Gómez-Gil. Este es el producto de trabajo final de la ingeniería de requerimientos. etc.

Deben detectarse y corregirse errores. INAOEP 2009 . El mecanismo común de validación es la revisión técnica formal. omisiones e inconsistencias con respecto a los estándares establecidos en el proyecto.Validación    El producto generado por la ingeniería de requerimientos debe ser evaluado en términos de congruencia y calidad. Gómez-Gil. (C) P. Se debe asegurar que la especificación concuerda con las expectativas del usuario y que no es ambigua.

controlar y seguir los requerimientos y cambios que ocurren en ellos a través de todo el proceso de desarrollo. Algunas de éstas son:  Tablas de características  Tablas de fuentes  Tablas de dependencias  Tablas de subsistemas  Tablas de interfaces (C) P. La administración empieza con la identificación de cada requerimiento. Posteriormente se generan tablas que permitirán darles seguimiento. INAOEP 2009 .Administración de requerimientos   Actividades que ayudan al equipo de trabajo a identificar. Gómez-Gil.

INAOEP 2009 . Gómez-Gil.Descripción detallada de las Tareas de la Ing. de Requerimientos  Iniciación  Elaboración  Negociación  Especificación  Validación (Validation)  Administración (Inception)  Obtención (Elicitation) (C) P.

Implica identificar puntos en común. (C) P. Reconocimiento de diferentes puntos de vista. 2. Identificación de involucrados (Stakeholders). Gómez-Gil. 3.Pasos del proceso de Iniciación. INAOEP 2009 . Desarrollo de un ambiente colaborativo. 1. Aplicación de preguntas iniciales. 4. áreas de conflicto e inconsistencias.

Algunas preguntas Iniciales típicas  Primeras      Siguientes:     ¿Quién está detrás de la requisición de este trabajo? ¿Quién usará la solución ? ¿ Cual es el beneficio económico de una solución exitosa? ¿ Hay otras fuentes para obtener la solución buscada que se necesitarán? ¿ Qué sería una “buena salida” para generar una solución eficiente? ¿ Que problemas aparecerán con esta solución? ¿ Podría describirme el medio ambiente en que la solución funcionará? ¿ Qué aspectos de desempeño o limitaciones afectan la solución? (C) P. INAOEP 2009 . Gómez-Gil.

Gómez-Gil. INAOEP 2009 .Algunas preguntas típicas (2)  Siguientes: ¿ Es Usted la persona correcta a preguntarle? ¿Son sus respuestas “oficiales”?  ¿ Considera mis preguntas relevantes al problema que Usted tiene?  ¿ Le estoy preguntando demasiado?  ¿ Puede alguien mas darme información adicional ? (C) P.

de Requerimientos  Habilidad para captar conceptos abstractos sintetizándolos y reorganizándolos en divisiones lógicas. Habilidad para comunicarse bien en forma verbal y escrita. Habilidad para "ver el bosque a través de las hojas". de situaciones     (C) P. Habilidad para obtener hechos importantes confusas.Características de un(a) buen(a) Ing. Gómez-Gil. INAOEP 2009 . Habilidad para entender el medio ambiente.

INAOEP 2009 .Generación de las Necesidades del Cliente  Herramientas para obtener información de las necesidades del Cliente:  Cuestionarios  Entrevistas  Estudio de campo  Revisión de documentos en la base de datos de conocimiento de la organización  Autoaprendizaje (C) P. Gómez-Gil.

El cuestionario debe ser fácil de procesar En caso de que el cuestionario no se aplique a todos los usuarios. Gómez-Gil. INAOEP 2009 . ya que un cuestionario deficiente produce frustración y pérdida de interés en el usuario. se debe seleccionar correctamente al grupo que realice el cuestionario. El diseño de un cuestionario requiere de tiempo y dedicación.Cuestionarios   Los cuestionarios son útiles especialmente cuando hay una gran cantidad de usuarios finales.    (C) P.

Se puede llevar a cabo en cualquier nivel dentro de la organización. INAOEP 2009 .   (C) P. desde el presidente hasta el obrero en la línea de ensamble.Entrevistas  La entrevista es una herramienta muy útil para obtener información. La entrevista debe prepararse adecuadamente. Gómez-Gil.

Gómez-Gil. preguntas etc. (C) P. Preparar el contenido de la entrevista: temas. Preparar la entrevista para un tiempo determinado. Acordar de antemano la hora y el lugar de la entrevista.Consejos para Realizar una Entrevista 1) Preparación de la entrevista: a) b) c) d) e) Buscar el apoyo del gerente de departamento o jefe donde se llevará a cabo la entrevista. INAOEP 2009 . Evitar las interrupciones. sus responsabilidades y actividades. y dárselo a conocer al entrevistado. Identificar de antemano la posición del entrevistado en la organización.

Preguntar al entrevistado sobre algunas ideas propias que pudieron olvidarse. ". INAOEP 2009 . Escuchar al entrevistado. Evitar palabras técnicas o rebuscadas. Estudiar el método de decisión del entrevistado. Realizar preguntas de la forma: "tengo entendido que. Grabar la entrevista la mayoría de las veces resulta anti-productivo. Darse una idea del "sentimiento" del entrevistado con respecto al sistema. Al final de la entrevista resumir las conclusiones y escribir una bitácora. Asegurarse de se entendieron correctamente las responsabilidades del entrevistado.. No tomar demasiadas notas.Consejos Para Realizar Una Entrevista (continuación) 2) Conduciendo la entrevista: a) b) c) d) e) f) g) h) i) j) Presentarse al entrevistado y presentar al proyecto en el que se trabaja.. (C) P. Gómez-Gil.

Algunos Problemas Durante las Entrevistas .Pesimismo total .El usuario tiende a decir lo que el entrevistador quiere oír . INAOEP 2009 . Gómez-Gil.Actitud cerrada hacia cambios .Respuestas falsas por temor a admitir ignorancia .Boicoteo de información .Desvío del objetivo fundamental hacia otros problemas de la organización (C) P.

de Requerimientos  Iniciación (Inception)  Obtención  Elaboración  Negociación (Elicitation)  Especificación  Validación (Validation)  Administración (C) P.Tareas de la Ing. INAOEP 2009 . Gómez-Gil.

 Según [Larman 99] las principales actividades asociadas al análisis son:  Definir los casos de uso  Definir el modelo conceptual  Definir los diagramas de colaboración  Definir diagramas de diseño de clases (C) P.Continuando con el análisis. Gómez-Gil... INAOEP 2009 .

Obtención de Requerimientos   Incluye juntas colaborativas de definición. Gómez-Gil. de preferencia organizados por función. y las restricciones de dominio que los afectan  Un conjunto de escenarios de uso que dan idea del uso del producto en diferentes condiciones operativas  Prototipos desarrollados (C) P. despliegue de funciones y descripción de escenarios Los productos que genera son:  Una declaración de necesidades y factibilidades  Una declaración delimitada del alcance del sistema o producto  Una lista de consumidores. usuarios y otros involucrados (stakeholders) que participaron en la definición del documento  Una descripción del medio ambiente técnico del sistema  Una lista de requerimientos. INAOEP 2009 .

aquellos que interactúan directamente con el sistema. Los actores son personas o dispositivos que usan el producto dentro de un contexto o función. así como la respuesta del sistema a las requisiciones de uno o mas stakeholders El primer paso es definir por escrito los “actores” que estarán involucrados en el sistema. aquellos que de alguna manera dan soporte al sistema.Desarrollo de casos de uso     Un caso de uso describe el comportamiento del sistema en condiciones diferentes. INAOEP 2009 . y secundarios. Cada actor puede tener uno o mas objetivos cuando usa el sistema. Representan los roles de las personas o dispositivos De manera formal un actor es cualquier cosa que se comunica con el sistema o producto y que es externa a éste. a fin de que lo primarios puedan realizar su trabajo (C) P. Gómez-Gil. Se pueden identificar actores primarios.

Desarrollo de casos de uso (2)  Una vez que se han identificado los actores. (C) P. INAOEP 2009 . Gómez-Gil. Jacobson sugiere hacer las siguientes preguntas:      Quienes son los actores primarios y secundarios? Cuales son las “metas” de los actores? Que precondiciones deben existir antes de que la “historia” empiece? Que tareas principales son realizadas por el actor? Que excepciones se pueden considerar con respecto a la descripción de la “historia”? Continúa.. lo siguiente es desarrollar el caso de uso..

Gómez-Gil. INAOEP 2009 . producirá o cambiará el actor?  El actor tendrá que informar al sistema acerca de cambios en el medio ambiente externo?  Que información desea el usuario del sistema?  Desea el actor ser informado acera de cambios inesperados? (C) P.Desarrollo de casos de uso (2)  Que variaciones en las interacciones del actor son posibles?  Qué sistemas de información adquirirá.

Gómez-Gil.Símbolos usados en los Diagrama de Casos de Uso de UML* Caso de Uso (C) P. INAOEP 2009 .

et al.Otoño 04 (C) P. V. INAOEP 2009 . Gómez-Gil.Ejemplo de un Diagrama de Casos de Uso1 1. Alvarez. Sistema de control de registro para maquinas tragamonedas.

(C) P. INAOEP 2009 . a través de un escenario.Escenarios  Cada ovalo en el diagrama de casos de uso debe ser descrito detalladamente. Gómez-Gil.

Gómez-Gil. INAOEP 2009 .Información principal a Incluir en la descripción de un escenario              Nombre del caso de uso Actor principal Objetivo Pre-condiciones Iniciador del caso de uso Descripción del Escenario Excepciones Prioridades Disponibilidad Frecuencia de Uso Canales de comunicación con actores Canales con actores secundarios Puntos aún no resueltos (C) P.

Descripción escenarios (C) P. 02] . Gómez-Gil. INAOEP 2009 [Computer.

Otra Plantilla para describir escenarios (C) P. INAOEP 2009 [Larman. Gómez-Gil.99] .

Ejemplo de caso de uso del proyecto “Casa Segura”  Involucrados:  Dueño de la casa  Administrador de la configuración (probablemente la misma persona que el dueño)  Sensores  Subsistema de monitoreo  Escogiendo como “actor” al dueño de la casa… (C) P. INAOEP 2009 . Gómez-Gil.

Sistema Casa Segura (C) P. Gómez-Gil. INAOEP 2009 .

Gómez-Gil. INAOEP 2009 .Interacciones de “dueño de la casa” con el sistema      Introduce un “password” para permitir otras interacciones Pregunta sobre el status de una zona de seguridad Pregunta sobre el status de un sensor Oprime el botón “pánico” en caso de una emergencia Activa o desactiva el sistema de seguridad (C) P.

Gómez-Gil. INAOEP 2009 .Ejemplo de caso de uso del proyecto “Casa Segura” [Pressman 2004] (C) P.

(C) P.Diagrama de actividades   Representa el flujo de interacción con respecto a un escenario específico Los rectángulos indican funciones. Gómez-Gil. las flechas indican flujo. los diamantes indican ramas de decisión y las líneas horizontales indican que ocurren actividades en paralelo. INAOEP 2009 .

INAOEP 2009 . Gómez-Gil.Diagrama de actividades para Licitación de Requerimientos [Pressman 2004] (C) P.

Gómez-Gil. INAOEP 2009 . Se divide con líneas verticales el diagrama. (C) P. Permiten representar el flujo de actividades y al mismo tiempo indicar que actor(a) o clase tiene la responsabilidad de la acción descrita por el rectángulo.Diagramas tipo Swimlane (carriles)  Son una variación de los de actividades. una columna por cada actor (como los canales de nado en una piscina).

Diagrama tipo carriles Fig. 8. Gómez-Gil. INAOEP 2009 .8 [Pressman 04] (C) P.

No es un método o proceso de desarrollo (C) P. INAOEP 2009 .Unified Modeling Language (UML)1  UML es:  Un lenguaje que permite especificar. Gómez-Gil. visualizar y construir artefactos de software  Un lenguaje destinado a los sistemas que utilizan conceptos orientados a objetos  Notación estándar para construir modelos orientados a objetos  Solo una notación.

Historia de UML En el 2009 ya se liberó la versión 2. INAOEP 2009 .2 (C) P. Gómez-Gil.

(C) P. Incluyen Diagramas de Secuencia. 3. Diagramas de Componente. Diagramas de estructura estática. Diagramas de Actividades y Diagramas de Estado de Máquina Diagramas de Interacción. INAOEP 2009 .Diagramas de UML 2. Incluyen Diagramas de Clase.0  Tres tipos. Diagramas de Comunicación. Diagramas de Paquete y Diagramas de Entrega (Deployment) Diagramas de Comportamiento. Incluyen Diagramas de Caso de Uso. Diagramas de Sincronización (timing) y Diagramas Generales de Interacción (Interaction Overview Diagram) 2. 13 diagramas: 1. Gómez-Gil. Diagramas de Estructura Compuesta. Diagramas de Objetos.

INAOEP 2009 . Gómez-Gil.Consultar Object Management Group: UML Resource Page: http://www.org/ (C) P.uml.