Análisis y Negociación de Requisitos

Anuncio
Análisis y Negociación de Requisitos
1. Objetivos del
análisis
2. Situación en el
proceso
3. Tareas del
análisis
4. Modelo de un
sistema software
5. Gestión de
problemas
11/11/2013
Análisis y Negociación
de Requisitos
6. Unified Modeling
Language
Grupo de Ingeniería del Software y Bases de Datos
Departamento de Lenguajes y Sistemas Informáticos
© Diseño de Amador Durán Toro, 2011
Universidad de Sevilla
noviembre 2013
Análisis y Negociación de Requisitos
• Objetivos del tema
– Conocer los objetivos, productos y procesos del
1. Objetivos del
análisis
2. Situación en el
proceso
3. Tareas del
análisis
4. Modelo de un
sistema software
5. Gestión de
problemas
6. Unified Modeling
Language
análisis de requisitos.
– Conocer los conceptos básicos del modelado de
sistemas software.
– Conocer los conceptos básicos de la gestión de
problemas y negociación de requisitos.
noviembre 2013
IR
Ingeniería de Requisitos
1
© Diseño de Amador Durán Toro, 2011
– Conocer los elementos comunes de UML.
1
Análisis y Negociación de Requisitos
11/11/2013
Análisis y Negociación de Requisitos
• Objetivos del análisis de requisitos
– Detectar problemas en los
1. Objetivos del
análisis
requisitos al comienzo del
2. Situación en el
proceso
proyecto, evitando que
3. Tareas del
análisis
4. Modelo de un
sistema software
5. Gestión de
problemas
6. Unified Modeling
Language
€
aparezcan después, cuando
tiempo
es mucho más caro resolverlos.
– La forma más habitual de análisis es la
construcción de un modelo de un sistema software
que cumpla los requisitos de producto, es decir,
Ingeniería de Requisitos
noviembre 2013
2
© Diseño de Amador Durán Toro, 2011
del sistema a desarrollar.
Análisis y Negociación de Requisitos
• Situación en el proceso de IR
1. Objetivos del
análisis
3. Tareas del
análisis
Requisitos
[versionados]
Elicitación
de Requisitos
4. Modelo de un
sistema software
Conflictos
[resueltos]
5. Gestión de
problemas
Negociación
de Requisitos
6. Unified Modeling
Language
Información Documentación
de Requisitos
elicitada
Gestión de
Requisitos
Conflictos
[pendientes]
Requisitos
[borrador]
Análisis de
Requisitos
Verificación
de Requisitos
Requisitos
[validados]
Validación
de Requisitos
Defectos
Requisitos
[analizados]
noviembre 2013
IR
Ingeniería de Requisitos
Requisitos
[verificados]
3
© Diseño de Amador Durán Toro, 2011
2. Situación en el
proceso
2
Análisis y Negociación de Requisitos
11/11/2013
Análisis y Negociación de Requisitos
• Tareas del análisis de requisitos
– Construir un modelo a partir de los objetivos y
1. Objetivos del
análisis
requisitos documentados, teniendo en cuenta
2. Situación en el
proceso
también el modelo del negocio, el glosario de
3. Tareas del
análisis
4. Modelo de un
sistema software
5. Gestión de
problemas
6. Unified Modeling
Language
términos, etc.
– Registrar los problemas identificados durante la
construcción del modelo para su posterior
resolución.
– Cada vez es más frecuente durante el análisis
proponer una primera arquitectura del sistema
teniendo en cuenta los requisitos
Ingeniería de Requisitos
noviembre 2013
4
© Diseño de Amador Durán Toro, 2011
no funcionales.
Análisis y Negociación de Requisitos
• Modelo de un sistema software
• El sistema ofrece servicios a los actores.
1. Objetivos del
análisis
2. Situación en el
proceso
3. Tareas del
análisis
• El estado del sistema son los objetos y sus
enlaces.
4. Modelo de un
sistema software
6. Unified Modeling
Language
e3
Actor1
o1
e1
e2
o2
e4
o7
e9
o4
Actor2
noviembre 2013
IR
e5
e6
e7
o3
Actor4
o6
o5
e8
Actor3
Ingeniería de Requisitos
5
© Diseño de Amador Durán Toro, 2011
5. Gestión de
problemas
3
Análisis y Negociación de Requisitos
11/11/2013
Análisis y Negociación de Requisitos
• Modelo de un sistema software
• Los servicios de actualización provocan
1. Objetivos del
análisis
2. Situación en el
proceso
cambios en el estado del sistema.
3. Tareas del
análisis
4. Modelo de un
sistema software
6. Unified Modeling
Language
e3
Actor1
o1
e5
o4
o2
Actor4
o6
e9
e1
e2
e4
o7
e6
e7
o3
o5
e8
Actor2
Actor3
Ingeniería de Requisitos
noviembre 2013
6
© Diseño de Amador Durán Toro, 2011
5. Gestión de
problemas
Análisis y Negociación de Requisitos
• Modelo de un sistema software
1. Objetivos del
análisis
2. Situación en el
proceso
• Los servicios de consulta no provocan
cambios en el estado del sistema.
3. Tareas del
análisis
4. Modelo de un
sistema software
6. Unified Modeling
Language
e3
Actor1
o1
e1
e2
o2
e4
o7
e9
o4
Actor2
noviembre 2013
IR
e5
e6
e7
o3
Actor4
o6
o5
e8
Actor3
Ingeniería de Requisitos
7
© Diseño de Amador Durán Toro, 2011
5. Gestión de
problemas
4
Análisis y Negociación de Requisitos
11/11/2013
Análisis y Negociación de Requisitos
• Modelo de un sistema software
• Con respecto a las funciones de un sistema de
1. Objetivos del
análisis
2. Situación en el
proceso
3. Tareas del
análisis
4. Modelo de un
sistema software
5. Gestión de
problemas
6. Unified Modeling
Language
información…
– Función de memoria: estado del entorno del
sistema ≈ estado del sistema.
– El estado del sistema se mantiene
sincronizado con el entorno por los servicios
de actualización.
e4
o1
e2
o2
e5
o4
e7
Actor4
o6
e9
e1
e6
o3
o5
e8
Actor2
noviembre 2013
Actor3
Ingeniería de Requisitos
8
© Diseño de Amador Durán Toro, 2011
e3 o
7
Actor1
Análisis y Negociación de Requisitos
• Modelo de un sistema software
2. Situación en el
proceso
3. Tareas del
análisis
4. Modelo de un
sistema software
5. Gestión de
problemas
6. Unified Modeling
Language
• Con respecto a las funciones de un sistema de
información…
– Función informativa: la proporciona mediante
los servicios de consulta.
– Para que sea útil, el estado del sistema debe
estar sincronizado con el estado del entorno.*
o1
e1
e2
o2
* No necesariamente sincronizados al segundo, puede
haber cierto desfase entre ambos y seguir siendo útil.
noviembre 2013
IR
Actor2
Ingeniería de Requisitos
e4
e3 o
7
Actor1
o4
e7
o3
Actor4
o6
e9
e5
e6
o5
e8
Actor3
9
© Diseño de Amador Durán Toro, 2011
1. Objetivos del
análisis
5
Análisis y Negociación de Requisitos
11/11/2013
Análisis y Negociación de Requisitos
• Modelo de un sistema software
• Con respecto a las funciones de un sistema de
1. Objetivos del
análisis
2. Situación en el
proceso
3. Tareas del
análisis
4. Modelo de un
sistema software
5. Gestión de
problemas
6. Unified Modeling
Language
información…
– Función activa: la proporciona mediante la
interacción con los usuarios y con otros
sistemas (actores en general).
– La interacción con otros sistemas se realiza
invocando sus servicios.
e4
o1
e1
e2
o2
o4
e7
o3
Actor4
o6
e9
e5
e6
o5
e8
Actor2
Actor3
Ingeniería de Requisitos
noviembre 2013
10
© Diseño de Amador Durán Toro, 2011
e3 o
7
Actor1
Análisis y Negociación de Requisitos
• Un modelo de un sistema software incluye…
– Un modelo estático (modelo conceptual)
2. Situación en el
proceso
3. Tareas del
análisis
4. Modelo de un
sistema software
5. Gestión de
problemas
6. Unified Modeling
Language
• Describe la estructura y las restricciones de la
información que representa el estado del sistema.
– Un modelo de conducta
• Describe cómo interactúa el sistema con los actores
y cómo evoluciona su estado al interactuar.
Modelo estático =
Modelo =
Estructura
+
Restricciones
+
Modelo de conducta =
noviembre 2013
IR
Ingeniería de Requisitos
Interacciones externas
+
Evolución interna
11
© Diseño de Amador Durán Toro, 2011
1. Objetivos del
análisis
6
Análisis y Negociación de Requisitos
11/11/2013
Análisis y Negociación de Requisitos
• Gestión de problemas en los requisitos
– Los problemas pequeños como faltas de
1. Objetivos del
análisis
información o necesidades de aclaración se
2. Situación en el
proceso
pueden resolver consultando con el cliente de una
3. Tareas del
análisis
4. Modelo de un
sistema software
5. Gestión de
problemas
manera más o menos informal (p.e. una llamada
de teléfono o un correo electrónico).
Ingeniería de Requisitos
noviembre 2013
12
© Diseño de Amador Durán Toro, 2011
6. Unified Modeling
Language
Análisis y Negociación de Requisitos
• Gestión de problemas en los requisitos
– En el caso de que se detecten conflictos que
1. Objetivos del
análisis
requieran soluciones no triviales, es necesaria la
2. Situación en el
proceso
Negociación de Requisitos.
4. Modelo de un
sistema software
5. Gestión de
problemas
Requisitos
[versionados]
Elicitación
de Requisitos
6. Unified Modeling
Language
Conflictos
[resueltos]
Información
elicitada
Documentación
de Requisitos
Gestión de
Requisitos
Negociación
de Requisitos
Conflictos
[pendientes]
Requisitos
[borrador]
Análisis de
Requisitos
Verificación
de Requisitos
Requisitos
[validados]
Validación
de Requisitos
Defectos
Requisitos
[analizados]
noviembre 2013
IR
Ingeniería de Requisitos
Requisitos
[verificados]
13
© Diseño de Amador Durán Toro, 2011
3. Tareas del
análisis
7
Análisis y Negociación de Requisitos
11/11/2013
Análisis y Negociación de Requisitos
• Proceso de negociación de requisitos
– El proceso habitual suele ser:
1. Objetivos del
análisis
1. Registrar el conflicto (normalmente con una
2. Situación en el
proceso
herramienta).
3. Tareas del
análisis
2. Identificar los requisitos afectados.
4. Modelo de un
sistema software
3. Analizar el impacto del conflicto (analizando la
trazabilidad de los requisitos).
5. Gestión de
problemas
6. Unified Modeling
Language
4. Identificar las fuentes (participantes) relevantes.
5. Convocar y realizar la reunión de negociación.
Ingeniería de Requisitos
noviembre 2013
14
© Diseño de Amador Durán Toro, 2011
6. Asimilar la solución del conflicto.
Análisis y Negociación de Requisitos
• Unified Modeling Language (UML)
– Estándar de la OMG (Object Management Group)
para el modelado de sistemas software.
1. Objetivos del
análisis
2. Situación en el
proceso
4. Modelo de un
sistema software
5. Gestión de
problemas
2005
UML 2.0
6. Unified Modeling
Language
UML 1.0
Ene 1997
Ago 2007
Nov 2007
Feb 2009
May 2010
Mar 2010
Ago 2011
UML 2.1.1
UML 2.1.2
UML 2.2
UML 2.3
UML 2.4
UML 2.4.1
Sep 1997
Jun 1998
Mar 2000
Sep 2001
Mar 2003
UML 1.1
UML 1.2
UML 1.3
UML 1.4
UML 1.5
Jun 1996
UML 0.9
Oct 1995
Unified Method 0.8
Booch'93
Booch'91
noviembre 2013
IR
Otros métodos
OOSE
OMT-2
OMT-1
Ingeniería de Requisitos
15
© Diseño de Amador Durán Toro, 2011
3. Tareas del
análisis
8
Análisis y Negociación de Requisitos
11/11/2013
Análisis y Negociación de Requisitos
• Unified Modeling Language (UML)
– Es ampliamente usando en la industria del
1. Objetivos del
análisis
2. Situación en el
proceso
3. Tareas del
análisis
4. Modelo de un
sistema software
5. Gestión de
problemas
6. Unified Modeling
Language
software y existen muchas herramientas.
– Define hasta 14 tipos de diagramas para modelar
sistemas software (versión 2.4.1, agosto 2011)
– Nosotros usaremos…
• Diagrama de casos de uso
• Diagrama de clases
• Diagramas de objetos
• Diagrama de estados
Ingeniería de Requisitos
noviembre 2013
16
© Diseño de Amador Durán Toro, 2011
• Diagrama de secuencia
Análisis y Negociación de Requisitos
• Organización de modelos en UML
– En UML los modelos se organizan en paquetes,
1. Objetivos del
análisis
2. Situación en el
proceso
3. Tareas del
análisis
4. Modelo de un
sistema software
5. Gestión de
problemas
6. Unified Modeling
Language
que pueden incluir otros paquetes.
– Los paquetes deben agrupan elementos cercanos
semánticamente y que suelen cambiar juntos.
– Existen algunos paquetes especiales
• «system»: corresponde al sistema que se modela.
• «subsystem»: representa una parte del sistema que
se modela. Permite diferenciar subsistemas en el
Nombre
noviembre 2013
IR
<<subsystem>>
<<system>>
Nombre
Nombre
Ingeniería de Requisitos
17
© Diseño de Amador Durán Toro, 2011
sistema.
9
Análisis y Negociación de Requisitos
11/11/2013
Análisis y Negociación de Requisitos
• Elementos comunes de UML
– Notas
1. Objetivos del
análisis
2. Situación en el
proceso
3. Tareas del
análisis
4. Modelo de un
sistema software
5. Gestión de
problemas
6. Unified Modeling
Language
• Se representan mediante rectángulos con la esquina
doblada y se pueden asociar a cualquier símbolo.
• Pueden contener comentarios (cualquier
combinación de texto y gráficos) o restricciones.
– Comentarios
• Se presentan dentro de notas que deben asociarse
Este actor representa
a cualquier alumno,
incluidos los de
doctorado.
Alumno
Ingeniería de Requisitos
noviembre 2013
18
© Diseño de Amador Durán Toro, 2011
al elemento al que se refiere el comentario.
Análisis y Negociación de Requisitos
• Elementos comunes de UML
– Restricciones
2. Situación en el
proceso
3. Tareas del
análisis
4. Modelo de un
sistema software
5. Gestión de
problemas
6. Unified Modeling
Language
• Representan condiciones que deben cumplir los
elementos a los que se le asocia. Se representan
mediante texto entre llaves y pueden aparecer
dentro de los elementos o dentro de notas.
c l ass Ej em pl o de rest ri c c i ón
F ac t ura
L í neaD eF ac t ura
1..*
cantidad
{ordered}
precio
número {único}
fechaEmisión
*
*
em i t i daA
1
Cl i ent e
noviembre 2013
IR
{f ac t uras si n
dupl i c ados:
un mismo producto
no debe aparecer dos
veces en la misma
factura.}
Ingeniería de Requisitos
c ont i ene
1
Produc t o
19
© Diseño de Amador Durán Toro, 2011
1. Objetivos del
análisis
10
Análisis y Negociación de Requisitos
11/11/2013
Análisis y Negociación de Requisitos
• Elementos comunes de UML
– Estereotipos
2. Situación en el
proceso
3. Tareas del
análisis
4. Modelo de un
sistema software
5. Gestión de
problemas
6. Unified Modeling
Language
• Permiten ampliar UML al definir nuevos elementos
de modelado a partir de otros ya existentes,
pudiendo tener sus propios valores etiquetados, sus
propias restricciones y su propio icono.
• Se pueden representar mediante el nombre entre
comillas francesas («») o mediante un icono.
«tablaBD»
Alumnos
noviembre 2013
Alumnos
«tablaBD»
Alumnos
Alumnos
Ingeniería de Requisitos
20
© Diseño de Amador Durán Toro, 2011
1. Objetivos del
análisis
Análisis y Negociación de Requisitos
• Elementos comunes de UML
– Valores etiquetados (tagged values)
1. Objetivos del
análisis
2. Situación en el
proceso
3. Tareas del
análisis
• Son parejas {etiqueta=valor} que permiten añadir
información a un elemento. Si no es ambiguo, se
puede especificar sólo el valor.
4. Modelo de un
sistema software
6. Unified Modeling
Language
noviembre 2013
IR
RetiradaEfectivo
{estado=borrador, fechaRevisión=15/10/2004}
importe : Moneda {importe debe ser múltiplo de 10€}
Ingeniería de Requisitos
21
© Diseño de Amador Durán Toro, 2011
5. Gestión de
problemas
11
Análisis y Negociación de Requisitos
11/11/2013
Análisis y Negociación de Requisitos
• Bibliografía
– C. Larman, UML y Patrones.
1. Objetivos del
análisis
2. Situación en el
proceso
3. Tareas del
análisis
4. Modelo de un
sistema software
5. Gestión de
problemas
6. Unified Modeling
Language
Ed. Prentice-Hall, 1999.
• Capítulos 9 al 12
– C. Larman, UML y Patrones (2ª
edición). Ed. Prentice-Hall, 2003.
• Capítulos 10 al 12
– M. Fowler, UML Distilled (3rd
edition). Ed. Addison-Wesley, 2004.
noviembre 2013
IR
Ingeniería de Requisitos
22
© Diseño de Amador Durán Toro, 2011
• Capítulo 3
12
Descargar