Análisis de Requisitos - us

12
Análisis y Negociación de Requisitos 11/11/2013 IR 1 © Diseño de Amador Durán Toro, 2011 Análisis y Negociación de Requisitos Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla noviembre 2013 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 © Diseño de Amador Durán Toro, 2011 Análisis y Negociación de Requisitos Ingeniería de Requisitos noviembre 2013 Objetivos del tema Conocer los objetivos, productos y procesos del 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. Conocer los elementos comunes de UML. 1

Transcript of Análisis de Requisitos - us

Page 1: Análisis de Requisitos - us

Análisis y Negociación de Requisitos 11/11/2013

IR 1

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

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Análisis y Negociación de Requisitos

Grupo de Ingeniería del Software y Bases de Datos

Departamento de Lenguajes y Sistemas Informáticos

Universidad de Sevilla

noviembre 2013

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

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Análisis y Negociación de Requisitos

Ingeniería de Requisitos noviembre 2013

• Objetivos del tema

– Conocer los objetivos, productos y procesos del

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.

– Conocer los elementos comunes de UML.

1

Page 2: Análisis de Requisitos - us

Análisis y Negociación de Requisitos 11/11/2013

IR 2

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

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Análisis y Negociación de Requisitos

Ingeniería de Requisitos noviembre 2013

• Objetivos del análisis de requisitos

– Detectar problemas en los

requisitos al comienzo del

proyecto, evitando que

aparezcan después, cuando

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,

del sistema a desarrollar.

tiempo

2

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

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Análisis y Negociación de Requisitos

Ingeniería de Requisitos 3 noviembre 2013

• Situación en el proceso de IR

Elicitación de Requisitos

Información elicitada

Documentación de Requisitos

Requisitos [borrador]

Análisis de Requisitos

Verificación de Requisitos

Validación de Requisitos

Requisitos [analizados]

Requisitos [verificados]

Requisitos [validados]

Gestión de Requisitos

Requisitos [versionados]

Defectos

Conflictos [pendientes]

Negociación de Requisitos

Conflictos [resueltos]

Page 3: Análisis de Requisitos - us

Análisis y Negociación de Requisitos 11/11/2013

IR 3

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

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Análisis y Negociación de Requisitos

Ingeniería de Requisitos noviembre 2013

• Tareas del análisis de requisitos

– Construir un modelo a partir de los objetivos y

requisitos documentados, teniendo en cuenta

también el modelo del negocio, el glosario de

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

no funcionales.

4

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

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Análisis y Negociación de Requisitos

• Modelo de un sistema software

• El sistema ofrece servicios a los actores.

• El estado del sistema son los objetos y sus

enlaces.

noviembre 2013 Ingeniería de Requisitos 5

o7

o6

o5

o4

o3

o2

o1

e1 e2

e3 e4

e5

e6

e8

e7

e9

Actor1

Actor2

Actor3

Actor4

Page 4: Análisis de Requisitos - us

Análisis y Negociación de Requisitos 11/11/2013

IR 4

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

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Análisis y Negociación de Requisitos

• Modelo de un sistema software

• Los servicios de actualización provocan

cambios en el estado del sistema.

noviembre 2013 Ingeniería de Requisitos 6

o7

o6

o5

o4

o3

o2

o1

e1 e2

e3 e4

e5

e6

e8

e7

e9

Actor1

Actor2

Actor3

Actor4

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

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Análisis y Negociación de Requisitos

• Modelo de un sistema software

• Los servicios de consulta no provocan

cambios en el estado del sistema.

noviembre 2013 Ingeniería de Requisitos 7

o7

o6

o5

o4

o3

o2

o1

e1 e2

e3 e4

e5

e6

e8

e7

e9

Actor1

Actor2

Actor3

Actor4

Page 5: Análisis de Requisitos - us

Análisis y Negociación de Requisitos 11/11/2013

IR 5

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

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Análisis y Negociación de Requisitos

• Modelo de un sistema software

• Con respecto a las funciones de un sistema de

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.

noviembre 2013 Ingeniería de Requisitos 8

o7

o6

o5

o4

o3

o2

o1

e1 e2

e3 e4

e5

e6

e8

e7

e9

Actor1

Actor2

Actor3

Actor4

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

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Análisis y Negociación de Requisitos

• Modelo de un sistema software

• 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.*

noviembre 2013 Ingeniería de Requisitos 9

o7

o6

o5

o4

o3

o2

o1

e1 e2

e3 e4

e5

e6

e8

e7

e9

Actor1

Actor2

Actor3

Actor4

* No necesariamente sincronizados al segundo, puede haber cierto desfase entre ambos y seguir siendo útil.

Page 6: Análisis de Requisitos - us

Análisis y Negociación de Requisitos 11/11/2013

IR 6

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

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Análisis y Negociación de Requisitos

• Modelo de un sistema software

• Con respecto a las funciones de un sistema de

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.

noviembre 2013 Ingeniería de Requisitos 10

o7

o6

o5

o4

o3

o2

o1

e1 e2

e3 e4

e5

e6

e8

e7

e9

Actor1

Actor2

Actor3

Actor4

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

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Análisis y Negociación de Requisitos

Ingeniería de Requisitos noviembre 2013

• Un modelo de un sistema software incluye…

– Un modelo estático (modelo conceptual)

• 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 = +

Modelo de conducta = Interacciones externas

+

Evolución interna

Modelo estático = Estructura

+

Restricciones

11

Page 7: Análisis de Requisitos - us

Análisis y Negociación de Requisitos 11/11/2013

IR 7

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

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Análisis y Negociación de Requisitos

Ingeniería de Requisitos noviembre 2013

• Gestión de problemas en los requisitos

– Los problemas pequeños como faltas de

información o necesidades de aclaración se

pueden resolver consultando con el cliente de una

manera más o menos informal (p.e. una llamada

de teléfono o un correo electrónico).

12

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

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Análisis y Negociación de Requisitos

Ingeniería de Requisitos noviembre 2013

• Gestión de problemas en los requisitos

– En el caso de que se detecten conflictos que

requieran soluciones no triviales, es necesaria la

Negociación de Requisitos.

Elicitación de Requisitos

Información elicitada

Documentación de Requisitos

Requisitos [borrador]

Análisis de Requisitos

Verificación de Requisitos

Validación de Requisitos

Requisitos [analizados]

Requisitos [verificados]

Requisitos [validados]

Gestión de Requisitos

Requisitos [versionados]

Defectos

Conflictos [pendientes]

Negociación de Requisitos

Conflictos [resueltos]

13

Page 8: Análisis de Requisitos - us

Análisis y Negociación de Requisitos 11/11/2013

IR 8

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

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Análisis y Negociación de Requisitos

Ingeniería de Requisitos noviembre 2013

• Proceso de negociación de requisitos

– El proceso habitual suele ser:

1. Registrar el conflicto (normalmente con una

herramienta).

2. Identificar los requisitos afectados.

3. Analizar el impacto del conflicto (analizando la

trazabilidad de los requisitos).

4. Identificar las fuentes (participantes) relevantes.

5. Convocar y realizar la reunión de negociación.

6. Asimilar la solución del conflicto.

14

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

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

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.

noviembre 2013 Ingeniería de Requisitos

Oct 1995

Jun 1996

Booch'91 OMT-1 Otros métodos

Booch'93

Unified Method 0.8

UML 0.9

Ene 1997 UML 1.0

Sep 1997

UML 1.1

Jun 1998

UML 1.2

Mar 2000

UML 1.3

Sep 2001

UML 1.4

Mar 2003

UML 1.5

2005 UML 2.0 UML 2.1.1

Ago 2007

UML 2.1.2

Nov 2007

UML 2.2

Feb 2009

UML 2.3

May 2010

UML 2.4.1

Ago 2011

UML 2.4

Mar 2010

OOSE

OMT-2

15

Page 9: Análisis de Requisitos - us

Análisis y Negociación de Requisitos 11/11/2013

IR 9

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

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Análisis y Negociación de Requisitos

• Unified Modeling Language (UML)

– Es ampliamente usando en la industria del

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

• Diagrama de secuencia

noviembre 2013 Ingeniería de Requisitos 16

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

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Análisis y Negociación de Requisitos

• Organización de modelos en UML

– En UML los modelos se organizan en paquetes,

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

sistema.

noviembre 2013 Ingeniería de Requisitos

<<system>>

Nombre <<subsystem>>

Nombre Nombre

17

Page 10: Análisis de Requisitos - us

Análisis y Negociación de Requisitos 11/11/2013

IR 10

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

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Análisis y Negociación de Requisitos

• Elementos comunes de UML

– Notas

• 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

al elemento al que se refiere el comentario.

noviembre 2013 Ingeniería de Requisitos

Alumno

Este actor representa a cualquier alumno, incluidos los de doctorado.

18

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

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Análisis y Negociación de Requisitos

• Elementos comunes de UML

– Restricciones

• 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.

noviembre 2013 Ingeniería de Requisitos

c lass Ejemplo de restricc ión

Fac tura

número {único}fechaEmisión

L íneaDeFac tura

cantidadprecio

Cl iente Produc to

{fac turas sin dupl icados:un mismo producto no debe aparecer dos veces en la misma factura.}

*

contiene

1

*

emitidaA

1

1..*{ordered}

19

Page 11: Análisis de Requisitos - us

Análisis y Negociación de Requisitos 11/11/2013

IR 11

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

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Análisis y Negociación de Requisitos

• Elementos comunes de UML

– Estereotipos

• 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.

noviembre 2013 Ingeniería de Requisitos

«tablaBD» Alumnos Alumnos

«tablaBD» Alumnos Alumnos

20

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

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Análisis y Negociación de Requisitos

• Elementos comunes de UML

– Valores etiquetados (tagged values)

• Son parejas {etiqueta=valor} que permiten añadir

información a un elemento. Si no es ambiguo, se

puede especificar sólo el valor.

noviembre 2013 Ingeniería de Requisitos

importe : Moneda {importe debe ser múltiplo de 10€}

RetiradaEfectivo {estado=borrador, fechaRevisión=15/10/2004}

21

Page 12: Análisis de Requisitos - us

Análisis y Negociación de Requisitos 11/11/2013

IR 12

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

© D

iseño d

e A

mador

Durá

n T

oro

, 2011

Análisis y Negociación de Requisitos

• Bibliografía

– C. Larman, UML y Patrones.

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.

• Capítulo 3

noviembre 2013 Ingeniería de Requisitos 22