administración de requerimientos - ucongreso.edu.ar · sistema cumpla una necesidad de un...
TRANSCRIPT
1
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
Análisis de Sistemas – 2do año
Prof. Gustavo J. Sabio
AdministraciAdministración de ón de RequerimientosRequerimientos
UNIVERSIDAD DE CONGRESOUNIVERSIDAD DE CONGRESO
Parte III
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
Contenido
IntroducciónIntroducción
Buenas PrácticasBuenas Prácticas
Introducción al RUPIntroducción al RUP
Disciplina RequerimientosDisciplina Requerimientos
ConclusionesConclusiones
Introducción
Modelando Casos de Uso
Analizar el Problema
Entender necesidades stakeholders
Definir el Sistema
Administrar el alcance
Redefinir el sistema
Administrar el cambio
2
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
¿En qué parte de los Requerimientos estamos?
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
Definir el Sistema
• ¿Qué es?– Es focalizarce específicamente sobre las
“carácterísticas” del sistema
• ¿Cuáles son los objetivos?– Alinear al equipo de desarrollo en el entendimiento del
sistema– Ejecutar análisis de alto nivel sobre las necesidades de
los stakeholderds recolectadas.– Formalizar todo en Modelos y documentos
3
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
Repaso: Cualidades de los Requerimientos
• Correcto• Completo• Consistente• No ambiguo• Jerarquizable por importancia y estabilidad• Verificable• Trazable• Entendible
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
Definir el sistema
¿Qué es una “Característica” del producto?
• Es un servicio observable externamente para que el sistema cumpla una necesidad de un stakeholders
Ejemplo:• el sistema de manejos de errores, deberá proveer información de tendencias para ayudar al administrador de proyectos a tomar decisiones.
• la interface gráfica de usuario deberá proveer ayuda sensible al contexto
Es un tipo de requerimiento que cumple con una necesidad
4
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
Definir el sistema
Características del producto
Las características son listadas en el documento Visión
• la Visión es revisada por distintas personas. Su nivel de detalle debería ser entendido por todos. Pero debe servir al equipo paraconstruir el modelo de CU
Muestran exactamente que debería hacer el sistema a construir
Las características deberían incluir una descripción de funcionalidad y cualquier dato relevante sobre la operabilidad
Las características se detallan, mas adelante, en el modelo de CU
Foco en las capacidades necesitadas , no cómo implementarlas
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
Artefactos: Foco en el Modelo de CU
RequisitosRequisitosStakeholdersStakeholders
DeseosStakeholders
NecesidadesStakeholders
Características+
RequerimientosDe Software
VisiónVisión
EspecifEspecif..ComplemComplem..
SRS
Modelo CUModelo CU
5
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
Especif CU1. doc•Breve descripción•Flujo de eventos
Especif CU1. doc•Breve descripción•Flujo de eventos
Repaso: ¿Qué contiene un modelo de CU?
Caso de uso 1
Caso de uso 2
Caso de uso 3
Actor 1
Actor 2
Actor 3
El sistemaEl sistema
Modelo CU. doc•Descripción del modelo•Lista de todos los actores•Lista de todos los CU
DiagramaDiagramaTextoTexto
Especif CU1. doc•Breve descripción•Flujo de eventos
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
Contenido
IntroducciónIntroducción
Buenas PrácticasBuenas Prácticas
Introducción al RUPIntroducción al RUP
Disciplina RequerimientosDisciplina Requerimientos
ConclusionesConclusiones
Introducción
Modelando Casos de Uso
Analizar el Problema
Entender necesidades stakeholders
Definir el Sistema
Administrar el alcance
Redefinir el sistema
Administrar el cambio
6
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
Requerimientos: Administrar el Alcance
• Priorizar requerimientos mediante sus atributos• Priorizar Casos de Uso• Administrar el Alcance y las expectativas de los
clientes
Objetivos:
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
¿En qué parte de los Requerimientos estamos?
7
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
Administrar el Alcance
• ¿Qué es?Es administrar los recursos (tiempo, gente y dinero) para asegurar el
éxito del proyectoEs una actividad continua que requiere desarrollo iterativo e
incremental, que parte el alcance del proyecto en partes más manejables
• ¿Cuáles son los objetivos?– Definir los requerimientos que van a ser incluidos en la actual iteración– Definir las características y los CU (o escenarios) que representan
significativamente la funcionalidad– Definir los atributos y trazabilidad a mantener
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
Establecer la línea base de requerimientos
• Característica 1: el sistema debe…• Característica 2: el sistema debe…• Característica 3: el sistema debe…• Característica n: el sistema debe…
¿Conocemos todas las necesidades?
¿cómo determinaremos la prioridad?
¿Cuál será la columna vertebral de las características?
8
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
Administración de requerimientos en función de sus atributos
Característica Estado Riesgo Prioridad ...
Característica del sistema Nº 1
Característica del sistema Nº 2
Característica del sistema Nº 3
...
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
¿Cómo priorizar Casos de Uso?
1. Considerar los CU linkeados a las características en el alcance definido
2. Selecciona CU para las iteraciones arquitectónicas– Muy representativas, funcionalmente vitales.– Tiene una substancial convergencia con la arquitectura– Tienen que ser identificados como de alto riesgo
3. Priorizar CU/ Escenarios para futuras iteraciones
9
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
Priorizando los requerimientos
• Identificar los requerimientos que...
• ...integrarán la versión actual del producto• ...que determinan la arquitectura• ...que poseen alto riesgo• ....que son más estables• ...que son más prioritarios• ...que, inicialmente, integrarán las siguientes
versiones
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
¿Cómo administrar el alcance?
• Intentar el control de los requerimientos– Input– Output– Procesos
Proceso de Requerimientos
Fuentes de requerimientos
Requerimientoacordado
1133 22
10
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
Contenido
IntroducciónIntroducción
Buenas PrácticasBuenas Prácticas
Introducción al RUPIntroducción al RUP
Disciplina RequerimientosDisciplina Requerimientos
ConclusionesConclusiones
Introducción
Modelando Casos de Uso
Analizar el Problema
Entender necesidades stakeholders
Definir el Sistema
Administrar el alcance
Redefinir el sistema
Administrar el cambio
CONCLUSIONESCONCLUSIONES
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
Administrar el Cambio
• Es importante el “especialista” del producto• La importancia de administrar las expectativas• Enfásis en mejorar las habilidades de negociación
Algunas Conclusiones:Algunas Conclusiones:
11
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
• Los requerimientos deben estar perfectamente documentados, en un único repositorio y con aprobación centralizada
Establecer un único camino para la administración de cambios
Nuevas características
Nuevos requerimientos
Cambio en los requerimientos
Errores de código
Resultados de pruebas
Propuestas de los programadores
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
Contenido
IntroducciónIntroducción
Buenas PrácticasBuenas Prácticas
Introducción al RUPIntroducción al RUP
Disciplina RequerimientosDisciplina Requerimientos
ConclusionesConclusiones
Introducción
Modelando Casos de Uso
Analizar el Problema
Entender necesidades stakeholders
Definir el Sistema
Administrar el alcance
Redefinir el sistema
Administrar el cambio
12
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
Requerimientos: Redefinir el Sistema
• Definir Requerimientos de Software• Documentar los SRS
– Funcionales (Modelo de CU)– No funcionales (Especif. Complementarias)
Objetivos:
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
¿En qué parte de los Requerimientos estamos?
13
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
Redefinir el sistema
• ¿Qué es?– Es el core de los requerimientos – los
requerimientos del software (SRS)
• ¿Cuáles son los objetivos?– Documentar detalladamente los CU– Detallar las Especificaciones Complementarias– Modelar y prototipar las interfaces
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
Refinando la definición del sistema
• Definir los requerimientos de software (SRS)
• Identificar las restricciones
• Establecer los requerimientos no funcionales
• Describir las interfaces de usuario
• Detallar los casos de uso
Se debe:Se debe:
14
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
EspecifEspecif..ComplemComplem..
Modelo CUModelo CU
SRS
Especificar Requerimientos de Software
RequisitosRequisitosStakeholdersStakeholders
DeseosStakeholders
NecesidadesStakeholders
Características+
RequerimientosDe Software
VisiónVisión
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
La función del las SRS
• Base para la comunicación entre todas las partes• Acuerdo contractual entre las partes• Base para el desarrollo: diseño, implementación, test
EspecifEspecif..ComplemComplem..
Modelo CUModelo CU
SRS
Las SRS definen el comportamiento externo y características del
sistema a construir.
15
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
¿Qué contiene una SRS?
Especif.Especif.Complem.Complem.
Modelo CUModelo CU
SRS
La ERS puede estar integrado o no en un
único documento y su contenido principal es el modelo de casos de uso
detallado Ir a ejemplo…
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
¿Cómo describir las interfases de usuario?
• Adjuntar a la descripción del CU, bosquejos de la pantalla propuesta.
• Ser cuidadoso de no especificar demasiado el diseño en la documentación del CU
ReemplazarReemplazar
buscarbuscar
Reemplazar porReemplazar por
czarczar sgtesgte cancelarcancelar
16
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
Responsabilidades del Diseñador de interfases
• Capturar requerimientos sobre las interfases, incluyendo requerimientos de usabilidad
• Construir prototipos de interfases de usuario• Involucrar a usuarios finales en sesiones de revisión
sobre la usabilidad de la interfase• Revisar y aprobar con el feedback del usuario otras
interfases creadas por desarrolladores, diseñadores e implementadores
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
Contenido
IntroducciónIntroducción
Buenas PrácticasBuenas Prácticas
Introducción al RUPIntroducción al RUP
Disciplina RequerimientosDisciplina Requerimientos
ConclusionesConclusiones
Introducción
Modelando Casos de Uso
Analizar el Problema
Entender necesidades stakeholders
Definir el Sistema
Administrar el alcance
Redefinir el sistema
Administrar el cambio
CONCLUSIONESCONCLUSIONES
17
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
Refinando la definición del sistema
• Definir los requerimientos de software (SRS)
• Identificar las restricciones• Establecer los
requerimientos no funcionales
• Describir las interfaces de usuario
• Detallar los casos de uso
Se debe:Se debe:
Especif.Especif.Complem.Complem.
Modelo CUModelo CU
SRSSRS
Especif.Especif.ComplemComplem..
Modelo CUModelo CU
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
Contenido
IntroducciónIntroducción
Buenas PrácticasBuenas Prácticas
Introducción al RUPIntroducción al RUP
Disciplina RequerimientosDisciplina Requerimientos
ConclusionesConclusiones
Introducción
Modelando Casos de Uso
Analizar el Problema
Entender necesidades stakeholders
Definir el Sistema
Administrar el alcance
Redefinir el sistema
Administrar el cambio
18
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
Requerimientos: Administrar requerimientos cambiantes
• Utilizar técnicas para administrar el cambio
– Usar repositorio de requerimientos– Medir el estado y cambio periodicamente– Crear trazabilidad de requerimientos– Establecer un canal simple para aprobar los
requerim.– Emplear administración de las configuraciones
Objetivos:
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
¿En qué parte de los Requerimientos estamos?
19
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
• Fallas en la identificación de los requerimientos
• Cambios de opinión de los usuarios
• Cambios en el contexto del problema
• Cambios en el problema
• Mejora en la percepción de un problema
Causas del cambio en los requerimientos
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
• Mantener la trazabilidad de los requerimientos
• Mantener la trazabilidad con las pruebas
• Realizar un análisis del impacto del cambio de los requerimientos
• Mantener información estadística acerca de los cambios de los requerimientos
• Contar con un conjunto adecuado de métricas
Consideraciones para la administración de requerimientos
20
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
Administración de Requisitos: Contenido
IntroducciónIntroducción
Buenas PrácticasBuenas Prácticas
Introducción al RUPIntroducción al RUP
Disciplina RequerimientosDisciplina Requerimientos
ConclusionesConclusiones
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
Conclusiones
• Para construir el sistema correcto se debe contar con un proceso que defina la forma de administrar requerimientos para encontrar las verdaderas necesidades del cliente.
• Analice el problema efectivamente, evitando los “sí, pero…”
• La Elicitación ayuda a entender las necesidades de los stakeholders
• El uso de un documento Visión permite que todos los involucrados tengan claro hacia dónde nos dirigimos
21
Prof. Gustavo J. Sabiohttp://www.ucongreso.edu.ar
Conclusiones
• Use “características” y modelo de CU para acordar con el cliente sobre la definición del sistema
• Incremente sus chances de entregar a tiempo y en forma admistrando el alcance a través del ciclo de vida del proyecto
• Un modelo de CU de requerimientos ayuda a refinar la definición del sistema para luego dirigir el diseño , el testeo y la documentación del usuario
• Los atributos de los requerimientos y su trazabilidad ayudan a administrar los cambios y evitar un “alcance elástico”