27
1 Tema 7: Tema 7: Proceso Unificado: Análisis Proceso Unificado: Análisis Marcos López Sanz Marcos López Sanz Ingeniería del Software de Gestión Ingeniería del Software de Gestión - 2009/2010 Índice Índice Visión general Diagramas UML Artefactos Modelo de análisis Clases de análisis Realización en análisis de los casos de uso Paquetes de análisis Actividades Análisis de los casos de uso Análisis de las clases Análisis de los paquetes

Tema 7: Proceso Unificado: AnálisisIS...Estructurado por casos de uso Estructurado por clases y paquetes ... Estudiante UI Matriculacion ... Diagrama de clases para la realización

Embed Size (px)

Citation preview

Page 1: Tema 7: Proceso Unificado: AnálisisIS...Estructurado por casos de uso Estructurado por clases y paquetes ... Estudiante UI Matriculacion ... Diagrama de clases para la realización

1

Tema 7: Tema 7: Proceso Unificado: AnálisisProceso Unificado: AnálisisMarcos López SanzMarcos López Sanz

Ingeniería del Software de Gestión

Ingeniería del Software de Gestión - 2009/2010

ÍndiceÍndice� Visión general

� Diagramas UML

� Artefactos◦ Modelo de análisis◦ Clases de análisis◦ Realización en análisis de los casos de uso◦ Paquetes de análisis

� Actividades◦ Análisis de los casos de uso◦ Análisis de las clases◦ Análisis de los paquetes

Page 2: Tema 7: Proceso Unificado: AnálisisIS...Estructurado por casos de uso Estructurado por clases y paquetes ... Estudiante UI Matriculacion ... Diagrama de clases para la realización

2

Ingeniería del Software de Gestión - 2009/2010

AnálisisAnálisis

Visión generalVisión general

Requisitos

Diseño

Implementación

Prueba

Análisis

PlanificaciónAnál. RiesgosPreparación

Elaboración ConstrucciónVerificación

Transición

FasesFlujos de trabajo

Iteración(es)Inicial(es)

Iter. #1

Iter. #2

Iter. #3

Iter. #4

Iter. #5

Iter. #6

Iter. #7

(Adaptado de Jacobson, 1999)

Ingeniería del Software de Gestión - 2009/2010

Modelo de análisis

Modelo de diseño

Modelo de despliegue

Modelo de implementación

Modelo de pruebas

Modelo de casos de uso

AnálisisAnálisis

Visión generalVisión general

Page 3: Tema 7: Proceso Unificado: AnálisisIS...Estructurado por casos de uso Estructurado por clases y paquetes ... Estudiante UI Matriculacion ... Diagrama de clases para la realización

3

Ingeniería del Software de Gestión - 2009/2010

AnálisisAnálisis

Visión generalVisión general

Modelo de Casos de Uso Modelo de Análisis

Lenguaje del cliente (impreciso) Lenguaje del desarrollador

Vista externa del sistema Vista interna del sistema

Estructurado por casos de uso Estructurado por clases y paquetes

Contrato entre cliente-desarrolladores

Usado por desarrolladores para entender el sistema

Redundancias, inconsistencias, ambigüedades, etc. entre requisitos

No debería contener redundancias ni inconsistencias de requisitos

Captura la funcionalidad del sistema Captura cómo realizar la funcionalidad del sistema

Define casos de uso Define realizaciones de casos de uso

Ingeniería del Software de Gestión - 2009/2010

Requisitos

Pruebas

Implementación

Diseño

Análisis

Modelo deDespliegue

Modelo deAnálisis

Modelo deDiseño

Modelo deImplementación

Modelo dePruebas

Modelo deCasos de Uso

Dependencia de traza

AnálisisAnálisis

Visión generalVisión general

Page 4: Tema 7: Proceso Unificado: AnálisisIS...Estructurado por casos de uso Estructurado por clases y paquetes ... Estudiante UI Matriculacion ... Diagrama de clases para la realización

4

Ingeniería del Software de Gestión - 2009/2010

AnálisisAnálisis

Diagramas UMLDiagramas UML

Modelo de

Diseño

Modelo de

Pruebas

Modelo de

Despliegue

Modelo de

Implementación

Diagramas de Casos de Uso

Diagramas de Clases

Diagramas de Componentes

Diagramas de Secuencia

Diagramas de Colaboración

Diagramas de Estados

Diagramas de Actividad

Diagramas de Objetos

Incluidos paquetes

Modelo de

Casos de Uso

Diagramas de

Interacción

Modelo de

Análisis

Ingeniería del Software de Gestión - 2009/2010

AnálisisAnálisis

Conceptos de UMLConceptos de UML� Clasificador◦ Concepto discreto en el modelo que tiene identidad, estado,

comportamiento, y relaciones

◦ Tipos de Clasificadores� Elementos del Sistema:

� Clase� Interfaz� Tipos de datos

� Conceptos de Comportamiento:� Caso de Uso

� Elementos del entorno:� Actor

� Estructuras de implementación:� Componente� Nodo� Subsistema

Page 5: Tema 7: Proceso Unificado: AnálisisIS...Estructurado por casos de uso Estructurado por clases y paquetes ... Estudiante UI Matriculacion ... Diagrama de clases para la realización

5

Ingeniería del Software de Gestión - 2009/2010

AnálisisAnálisis

Conceptos de UMLConceptos de UML� Otros conceptos:◦ Clase

� Conjunto de objetos con estructura, comportamiento, relaciones, y semántica común

◦ Objeto� Estructura + operaciones + estado interno + identidad� Un objeto es una instancia de una clase

◦ Realización� Relación semántica entre clasificadores, en la cual un clasificador especifica un

contrato que otro clasificador se compromete a llevar a cabo

◦ Colaboración� Define las interacciones que han de producirse entre los objetos con el fin de

que estos puedan desempeñar su papel

Ingeniería del Software de Gestión - 2009/2010

AnálisisAnálisis

ArtefactosArtefactos� Modelo de análisis:◦ Especificación detallada (precisa) de requisitos

◦ Refina los casos de uso como colaboraciones entre clasificadores� Clasificadores: clases de análisis, paquetes

� Colaboraciones: realizaciones de los casos de uso, interacciones

Clases de análisis

Realización de los CU

Paquetes de análisis

Actividades

Modelo de análisis

Artefactos

Ejemplo

Gestionar asignaturas Realización en análisis

UI asignaturas Gestor de asignaturas Asignatura

Page 6: Tema 7: Proceso Unificado: AnálisisIS...Estructurado por casos de uso Estructurado por clases y paquetes ... Estudiante UI Matriculacion ... Diagrama de clases para la realización

6

Ingeniería del Software de Gestión - 2009/2010

AnálisisAnálisis

ArtefactosArtefactos� Modelo de análisis◦ Representa la estructura global del sistema (subsistemas y/o capas en el modelo de diseño)

Clases de análisis

Realización de los CU

Paquetes de análisis

Actividades

Modelo de análisis

Artefactos

*

Clase de análisis

Paquete de análisis

Realización en análisis

Modelo de análisis

*

**

**

Diagramas de clasesDiagramas de interacciónDescripción textual

Interfaz Control Entidad

ResponsabilidadesAtributosRelaciones

Descripciónarquitectónica

Ejemplo

Ingeniería del Software de Gestión - 2009/2010

AnálisisAnálisis

ArtefactosArtefactos� Clases de análisis◦ Representan una abstracción de lo que serán una o varias clases en diseño

◦ Se centra en los requisitos funcionales

Clases de análisis

Realización de los CU

Paquetes de análisis

Actividades

Modelo de análisis

Artefactos

Clase de análisis

Interfaz Control Entidad

Resposabilidades

Atributos

Relac iones

Ejemplo

Page 7: Tema 7: Proceso Unificado: AnálisisIS...Estructurado por casos de uso Estructurado por clases y paquetes ... Estudiante UI Matriculacion ... Diagrama de clases para la realización

7

Ingeniería del Software de Gestión - 2009/2010

AnálisisAnálisis

Ejemplo Ejemplo -- ArtefactosArtefactos� Un sistema de enseñanza virtual◦ Actor: Estudiante

◦ Caso de Uso: Matricularse

◦ ……

Clases de análisis

Realización de los CU

Paquetes de análisis

Actividades

Modelo de análisis

Artefactos

Ejemplo

Estudiante

Matricularse

Sist. de enseñanza virtual

Matricularse

Ingeniería del Software de Gestión - 2009/2010

AnálisisAnálisis

ArtefactosArtefactos

� Clases límite o interfaz◦ Modelan la interacción entre el sistema y los actores

◦ Representan la interfaz del sistema (ventanas, formularios, ...), pero con poco detalle

◦ Describen la información presentada al actor y las peticiones que hace el actor al sistema

Clases de análisis

Realización de los CU

Paquetes de análisis

Actividades

Modelo de análisis

Artefactos

Ejemplo

IU Matriculación

IU Matriculación

<<boundary>>

IU Matriculación

Estudiante UI Matriculacion

Page 8: Tema 7: Proceso Unificado: AnálisisIS...Estructurado por casos de uso Estructurado por clases y paquetes ... Estudiante UI Matriculacion ... Diagrama de clases para la realización

8

Ingeniería del Software de Gestión - 2009/2010

AnálisisAnálisis

ArtefactosArtefactos

� Clases de control◦ Se usan para representar el control de un caso de uso concreto

◦ Representan la coordinación entre objetos

◦ Lógica del negocio, cálculos

◦ No representan ni interacciones con el usuario ni problemas de almacenamiento de información

Clases de análisis

Realización de los CU

Paquetes de análisis

Actividades

Modelo de análisis

Artefactos

Ejemplo

GestorMatriculaGestorMatricula

<<control>>

GestorMatricula

Estudiante UI Matriculacion GestorMatricula

Ingeniería del Software de Gestión - 2009/2010

AnálisisAnálisis

ArtefactosArtefactos

� Clases de entidad

◦ Representan la información significativa para el sistema

◦ Modelan la información de larga vida (persistencia)

◦ Pueden provenir de las entidades del dominio o de las del negocio, pero no tienen por qué corresponderse completamente

◦ Pueden ser pasivas o activas (comportamiento complejo)

◦ Encapsulan información y operaciones asociadas

◦ Por ejemplo: repositorios de información

Clases de análisis

Realización de los CU

Paquetes de análisis

Actividades

Modelo de análisis

Artefactos

Ejemplo

Alumno

AlumnoAlumno

<<entity>>

Estudiante UI Matriculacion AlumnoGestorMatricula

Page 9: Tema 7: Proceso Unificado: AnálisisIS...Estructurado por casos de uso Estructurado por clases y paquetes ... Estudiante UI Matriculacion ... Diagrama de clases para la realización

9

Ingeniería del Software de Gestión - 2009/2010

AnálisisAnálisis

ArtefactosArtefactos� Realización de los casos de uso en análisis◦ Es una colaboración que describe cómo se realiza en análisis un caso de uso en términos de clases de análisis y sus interacciones

◦ La realización en análisis de un caso de uso, incluye:� Diagramas de clases: clases participantes

� Diagramas de interacción: escenarios del CU

� Descripción textual del flujo de eventos

� Nada de requisitos no funcionales (hasta el diseño).

Clases de análisis

Realización de los CU

Paquetes de análisis

Actividades

Modelo de análisis

Artefactos

Ejemplo

Modelo de casos

de usoModelo de análisis

Use case Realización en análisis

<<trace>>

Ingeniería del Software de Gestión - 2009/2010

AnálisisAnálisis

ArtefactosArtefactos� Realización de los casos de uso en análisis◦ Diagramas de clases

� Una clase de análisis puede participar en varios casos de uso.

� Algunas responsabilidades, atributos y asociaciones suelen ser específicos de un sólo caso de uso.

Clases de análisis

Realización de los CU

Paquetes de análisis

Actividades

Modelo de análisis

Artefactos

Ejemplo

Estudiante UI Matriculación Gestor

Matricula

Alumno

Diagrama de clases para la realización del caso de uso“Matricularse”

Page 10: Tema 7: Proceso Unificado: AnálisisIS...Estructurado por casos de uso Estructurado por clases y paquetes ... Estudiante UI Matriculacion ... Diagrama de clases para la realización

10

Ingeniería del Software de Gestión - 2009/2010

� Realización de los casos de uso en análisis◦ Diagramas de interacción

� Representan como interactúan cooperativamente los objetos para implementar el comportamiento definido por los casos de uso.

� Una interacción es un conjunto de mensajes que se intercambian dentro del contexto de una colaboración por instancias de clases (objetos) a través de enlaces (instancias de asociación

� En análisis se suelen utilizar diagramas de colaboración (también se podrían utilizar diagramas de secuencia)

AnálisisAnálisis

ArtefactosArtefactos

Clases de análisis

Realización de los CU

Paquetes de análisis

Actividades

Modelo de análisis

Artefactos

Ejemplo

Ingeniería del Software de Gestión - 2009/2010

� Realización de los casos de uso en análisis◦ Diagramas de colaboración

AnálisisAnálisis

ArtefactosArtefactos

Clases de análisis

Realización de los CU

Paquetes de análisis

Actividades

Modelo de análisis

Artefactos

Ejemplo

Diagrama de colaboración para la realización del caso de uso

“Publicar notas” del actor “profesor”

: Profesor : UI Profesor : GProfesor : Asignatura

1: publicar notas

2: visualizar ("asignaturas")

3: seleccionar (asignatura, ficheroNotas)

4: publicar (asignatura, ficheroNotas)

5: notas (ficheroNotas)

6: OK7: OK

8: visualizar (notas publicadas)

Page 11: Tema 7: Proceso Unificado: AnálisisIS...Estructurado por casos de uso Estructurado por clases y paquetes ... Estudiante UI Matriculacion ... Diagrama de clases para la realización

11

Ingeniería del Software de Gestión - 2009/2010

� Realización de los casos de uso en análisis◦ Flujos de eventos

� Para clarificar los diagramas de colaboración: descripción textual

� Si es muy complejo ¿no será mejor dividir el caso de uso?

◦ Requisitos no funcionales� Asignados a casos de uso

� Se recogen si aparecen

AnálisisAnálisis

ArtefactosArtefactos

Clases de análisis

Realización de los CU

Paquetes de análisis

Actividades

Modelo de análisis

Artefactos

Ejemplo

Ingeniería del Software de Gestión - 2009/2010

� Paquetes de análisis◦ Para organizar los artefactos de análisis: clases de análisis, realización de casos de uso y otros paquetes

◦ Fuertemente cohesionados y débilmente acoplados

◦ No existen en tiempo de ejecución

AnálisisAnálisis

ArtefactosArtefactos

Clases de análisis

Realización de los CU

Paquetes de análisis

Actividades

Modelo de análisis

Artefactos

Ejemplo

*

Clase de análisis

Paquete de análisis

Realización

en análisis

* *

Page 12: Tema 7: Proceso Unificado: AnálisisIS...Estructurado por casos de uso Estructurado por clases y paquetes ... Estudiante UI Matriculacion ... Diagrama de clases para la realización

12

Ingeniería del Software de Gestión - 2009/2010

AnálisisAnálisis

Ejemplo Ejemplo -- ActividadesActividades

Actividades

Artefactos

Ejemplo

Análisis de los casos de uso

Análisis de las clases

Análisis de los paquetes

� Usaremos el ejemplo del “cajero automático”

Sacar dinero

Ingresar dinero

Transferencia

Cliente del banco

Validar usuario

<<include>>

<<include>>

<<include>>

Ingeniería del Software de Gestión - 2009/2010

AnálisisAnálisis

ActividadesActividades� Análisis de los casos de uso:◦ Identificar las clases de análisis necesarias para la realización del caso de uso

◦ Distribuir el comportamiento del caso de uso entre las clases de análisis � describir las interacciones entre objetos

◦ Capturar/asignar requisitos no funcionales a clases de análisis

Actividades

Artefactos

Ejemplo

Análisis de los casos de usoAnálisis de las

clasesAnálisis de los paquetes

Page 13: Tema 7: Proceso Unificado: AnálisisIS...Estructurado por casos de uso Estructurado por clases y paquetes ... Estudiante UI Matriculacion ... Diagrama de clases para la realización

13

Ingeniería del Software de Gestión - 2009/2010

AnálisisAnálisis

ActividadesActividades� Análisis de los casos de uso:◦ Identificar las clases de análisis:

� Clases entidad se derivan de la descripción del caso de uso

� Una clase interfaz por cada actor

� Una clase de control que gobierne en flujo del caso de uso

Actividades

Artefactos

Ejemplo

Análisis de los casos de uso

Análisis de las clases

Análisis de los paquetes

Ingeniería del Software de Gestión - 2009/2010

AnálisisAnálisis

ActividadesActividades� Análisis de los casos de uso:◦ Identificar las clases de análisis:

� Representar las clases de análisis en un diagrama de clases

Actividades

Artefactos

Ejemplo

Análisis de los casos de usoAnálisis de las

clasesAnálisis de los paquetes

Validar usuario Realización en análisis

UsuariosDelBanco

(from Logical View)

Autenticar

(from Logical View)

Interfaz de cajero

Page 14: Tema 7: Proceso Unificado: AnálisisIS...Estructurado por casos de uso Estructurado por clases y paquetes ... Estudiante UI Matriculacion ... Diagrama de clases para la realización

14

Ingeniería del Software de Gestión - 2009/2010

AnálisisAnálisis

ActividadesActividades� Análisis de los casos de uso:◦ Describir las interacciones entre objetos:

� Utilizar diagramas de colaboración � Indicar instancias y enlaces

� Un diagrama de colaboración por cada camino del caso de uso� Siempre inicia un actor

� La expresión de las interacciones se traduce en mensajes entre objetos

Actividades

Artefactos

Ejemplo

Análisis de los casos de uso

Análisis de las clases

Análisis de los paquetes

Ingeniería del Software de Gestión - 2009/2010

AnálisisAnálisis

Ejemplo Ejemplo –– Análisis de los casos de usoAnálisis de los casos de uso� Análisis del caso de uso “Validar usuario”

Camino BásicoActividades

Artefactos

Ejemplo

Análisis de los casos de usoAnálisis de las

clasesAnálisis de los paquetes

: Interfaz de cajero: Cliente del banco

1: introducir tarjeta

2: teclear código

3: código

: Autenticar

4: autentica (datos, código)

: UsuariosDelBanco

5: valida (datos, codigo)

6: OK

7: visualiza (opciones)

8: seleccioneOpcion (opciones)

Page 15: Tema 7: Proceso Unificado: AnálisisIS...Estructurado por casos de uso Estructurado por clases y paquetes ... Estudiante UI Matriculacion ... Diagrama de clases para la realización

15

Ingeniería del Software de Gestión - 2009/2010

AnálisisAnálisis

Ejemplo Ejemplo –– Análisis de los casos de usoAnálisis de los casos de uso� Análisis del caso de uso “Validar usuario”

Camino Alternativo: Código incorrectoActividades

Artefactos

Ejemplo

Análisis de los casos de uso

Análisis de las clases

Análisis de los paquetes

� Faltaría:

• anular transacción (después del 2)

• si 3 veces error: cancelar y quedarse con la tarjeta.

: Interfaz de cajero: Cliente del banco

1: introducir tarjeta

2: teclear código

3: código

: Autenticar

4: autentica (datos, código)

: UsuariosDelBanco

5: valida (datos, codigo)

6: Error

7: visualiza (error)

8: teclear código

Ingeniería del Software de Gestión - 2009/2010

AnálisisAnálisis

Ejemplo Ejemplo –– Análisis de los casos de usoAnálisis de los casos de uso� Análisis del caso de uso “Sacar dinero”

Realización en análisis

Diagrama de clases

Actividades

Artefactos

Ejemplo

Análisis de los casos de usoAnálisis de las

clasesAnálisis de los paquetes

Sacar dinero Realización en análisis

Interfaz de cajero Cuenta

(from Logical View)

Transacción

(from Logical View)

Cliente del banco Interfaz de cajero

(from Use Case View)

Transacción Cuenta

Page 16: Tema 7: Proceso Unificado: AnálisisIS...Estructurado por casos de uso Estructurado por clases y paquetes ... Estudiante UI Matriculacion ... Diagrama de clases para la realización

16

Ingeniería del Software de Gestión - 2009/2010

AnálisisAnálisis

Ejemplo Ejemplo –– Análisis de los casos de usoAnálisis de los casos de uso� Análisis del caso de uso “Sacar dinero”

Camino BásicoActividades

Artefactos

Ejemplo

Análisis de los casos de uso

Análisis de las clases

Análisis de los paquetes

: Interfaz de cajero

1: sacar dinero

2: teclee importe

3: importe

: Transacción

4: retirarDinero (importe)

: Cuenta

5: reintegro (importe)

6: OK

7: expulsaDinero (importe)

8: retirar tarjeta

9: tarjeta retirada

10: retirar dinero

11: dinero retirado

12: teclear código

: Cliente del banco

Ingeniería del Software de Gestión - 2009/2010

AnálisisAnálisis

Ejemplo Ejemplo –– Análisis de los casos de usoAnálisis de los casos de uso� Análisis del caso de uso “Sacar dinero”

Camino Alternativo: No hay saldoActividades

Artefactos

Ejemplo

Análisis de los casos de usoAnálisis de las

clasesAnálisis de los paquetes

� Faltaría:

• en el cajero no hay dinero.

• se ha superado el límite diario

: Interfaz de cajero : Transacción

: Cuenta

4: retirarDinero (importe)

7: no hay fondos

5: reintegro (importe)

6: no hay saldo

1: sacar dinero

2: teclee importe

3: importe

8: no hay saldo suficiente

9: retirar tarjeta

10: tarjeta retirada

11: teclear código

: Cliente del banco

Page 17: Tema 7: Proceso Unificado: AnálisisIS...Estructurado por casos de uso Estructurado por clases y paquetes ... Estudiante UI Matriculacion ... Diagrama de clases para la realización

17

Ingeniería del Software de Gestión - 2009/2010

AnálisisAnálisis

Ejemplo Ejemplo –– Análisis de los casos de usoAnálisis de los casos de uso� Diagrama de clases completo

Actividades

Artefactos

Ejemplo

Análisis de los casos de uso

Análisis de las clases

Análisis de los paquetes

Cliente del banco Interfaz de cajero

(from Use Case View)

Cuenta

Transacción

UsuariosDelBanco

Ingeniería del Software de Gestión - 2009/2010

AnálisisAnálisis

ActividadesActividades� Análisis de las clases◦ Identificar las responsabilidades de las clases de análisis

◦ Identificar atributos y relaciones de las clases de análisis.

◦ Capturar requisitos especiales

Actividades

Artefactos

Ejemplo

Análisis de los casos de usoAnálisis de las

clasesAnálisis de los paquetes

Page 18: Tema 7: Proceso Unificado: AnálisisIS...Estructurado por casos de uso Estructurado por clases y paquetes ... Estudiante UI Matriculacion ... Diagrama de clases para la realización

18

Ingeniería del Software de Gestión - 2009/2010

AnálisisAnálisis

ActividadesActividades� Análisis de las clases◦ Identificar las responsabilidades de las clases de

análisis

� En cada caso de uso, ver qué papel juega (diagramas de colaboración).

� Combinar papeles y describirlos juntos

Actividades

Artefactos

Ejemplo

Análisis de los casos de uso

Análisis de las clases

Análisis de los paquetes

Ingeniería del Software de Gestión - 2009/2010

AnálisisAnálisis

Ejemplo Ejemplo –– Análisis de Análisis de las claseslas clases� Análisis de las clases: identificar responsabilidades “Validar usuario”

Actividades

Artefactos

Ejemplo

Análisis de los casos de usoAnálisis de las

clasesAnálisis de los paquetes

: Interfaz de cajero

1: introducir tarjeta

2: teclear código

3: código

: Autenticar

4: autentica (datos, código)

: UsuariosDelBanco

5: valida (datos, codigo)

6: OK

7: visualiza (opciones)

8: seleccioneOpcion (opciones)

: Cliente del banco

Interfaz del cajero

visualizar “introducir tarjeta”

visualizar “teclear código”

leer código

visualizar (opciones)

seleccioneOpcion (opciones)

Transacción

autentica (datos, código)

UsuariosDelBanco

valida (datos, código)

Page 19: Tema 7: Proceso Unificado: AnálisisIS...Estructurado por casos de uso Estructurado por clases y paquetes ... Estudiante UI Matriculacion ... Diagrama de clases para la realización

19

Ingeniería del Software de Gestión - 2009/2010

� Análisis de las clases: identificar responsabilidades

AnálisisAnálisis

Ejemplo Ejemplo –– Análisis de Análisis de las claseslas clases

Actividades

Artefactos

Ejemplo

Análisis de los casos de uso

Análisis de las clases

Análisis de los paquetes

: Interfaz de cajero

1: introducir tarjeta

2: teclear código

3: código

: Autenticar

4: autentica (datos, código)

: UsuariosDelBanco

5: valida (datos, codigo)

6: OK

7: visualiza (opciones)

8: seleccioneOpcion (opciones)

: Cliente del banco

Interfaz del cajero

visualizar (mensaje)

leer código

seleccioneOpcion (opciones)

Transacción

autentica (datos, código)

UsuariosDelBanco

valida (datos, código)

Ingeniería del Software de Gestión - 2009/2010

� Análisis de las clases: identificar responsabilidades

AnálisisAnálisis

Ejemplo Ejemplo –– Análisis de Análisis de las claseslas clases

Actividades

Artefactos

Ejemplo

Análisis de los casos de usoAnálisis de las

clasesAnálisis de los paquetes

Interfaz del cajero

visualizar (mensaje)

leer código

seleccioneOpcion (opciones)

leerImporte 3:

expulsaDinero (importe) 7:

Transacción

autentica (datos, código)

retirarDinero(importe)4:

: Interfaz de cajero

1: sacar dinero

2: teclee importe

3: importe

: Transacción

4: retirarDinero (importe)

: Cuenta

5: reintegro (importe)

6: OK

7: expulsaDinero (importe)

8: retirar tarjeta

9: tarjeta retirada

10: retirar dinero

11: dinero retirado

12: teclear código

: Cliente del banco

UsuariosDelBanco

valida (datos, código)

Cuenta

reintegro(importe) 5:

Page 20: Tema 7: Proceso Unificado: AnálisisIS...Estructurado por casos de uso Estructurado por clases y paquetes ... Estudiante UI Matriculacion ... Diagrama de clases para la realización

20

Ingeniería del Software de Gestión - 2009/2010

AnálisisAnálisis

ActividadesActividades� Análisis de las clases◦ Identificar atributos

� Suelen ser nombres

� Los tipos son conceptuales

� Clases entidad: derivados del dominio.

� Clases interfaz con actores humanos: campos de texto, etiquetas, etc.

� Clases interfaz con subsistemas externos: propiedades de la interfaz de comunicación.

� Clases control: estado de la sesión actual

Actividades

Artefactos

Ejemplo

Análisis de los casos de uso

Análisis de las clases

Análisis de los paquetes

Ingeniería del Software de Gestión - 2009/2010

� Análisis de las clases: identificar atributos“Validar usuario”

AnálisisAnálisis

Ejemplo Ejemplo –– Análisis de Análisis de las claseslas clases

Actividades

Artefactos

Ejemplo

Análisis de los casos de usoAnálisis de las

clasesAnálisis de los paquetes

Interfaz del cajero

Usuarios del banco

Colección (datosCuenta,código)

: Interfaz de cajero

1: introducir tarjeta

2: teclear código

3: código

: Autenticar

4: autentica (datos, código)

: UsuariosDelBanco

5: valida (datos, codigo)

6: OK

7: visualiza (opciones)

8: seleccioneOpcion (opciones)

: Cliente del banco

Transacción

codigoCuenta

Page 21: Tema 7: Proceso Unificado: AnálisisIS...Estructurado por casos de uso Estructurado por clases y paquetes ... Estudiante UI Matriculacion ... Diagrama de clases para la realización

21

Ingeniería del Software de Gestión - 2009/2010

� Análisis de las clases: identificar atributos “Transferencia”

AnálisisAnálisis

Ejemplo Ejemplo –– Análisis de Análisis de las claseslas clases

Actividades

Artefactos

Ejemplo

Análisis de los casos de uso

Análisis de las clases

Análisis de los paquetes

Interfaz del cajero

Usuarios del banco

Colección (datosCuenta,código)

Cuenta

saldo

Transacción

codigoCuenta

cantidad

: Interfaz de cajero : Transacción

1: transferencia

2: teclee cantidad

3: cantidad

4: teclee cuenta destino

5: cuenta destino

12: transferencia realizada

6: transferencia (cuenta, cantidad)

11: OK

7: reintegro (cantidad)

8: OK

9: ingreso (cantidad)

: Cliente del banco

cuentaOrigen : Cuenta cuentaDestino : Cuenta

10: OK

Ingeniería del Software de Gestión - 2009/2010

AnálisisAnálisis

Ejemplo Ejemplo –– Análisis de las clasesAnálisis de las clases

Actividades

Artefactos

Ejemplo

Análisis de los casos de usoAnálisis de las

clasesAnálisis de los paquetes

Clase Atributos Responsabilidades

Interfaz de cajero Los necesarios par definir el interfaz de usuario

visualizar (mensaje)

leer (tarjeta); leer (código)

leer (importe)

expulsarDinero (importe)

noHayFondos

validar (importe); errorIngresoseleccioneOpcion (opciones)

UsuariosDeBanco colección de pares (datosCuenta, codigo)

validar (datos, código)

Cuenta Saldo

límite diario

reintegro (importe)

ingreso (importe)

Transacción código cuenta

cantidad

autenticar (datos, código)

retirarDinero (importe)

ingresarDinero (importe)

transferencia (cuenta, cantidad)

Page 22: Tema 7: Proceso Unificado: AnálisisIS...Estructurado por casos de uso Estructurado por clases y paquetes ... Estudiante UI Matriculacion ... Diagrama de clases para la realización

22

Ingeniería del Software de Gestión - 2009/2010

AnálisisAnálisis

ActividadesActividades� Análisis de las clases◦ Identificar asociaciones y agregaciones

� Definir multiplicidad y papeles

� Agregación y composición

� Identificar generalizaciones y/o especializaciones entre clases

Actividades

Artefactos

Ejemplo

Análisis de los casos de uso

Análisis de las clases

Análisis de los paquetes

Ingeniería del Software de Gestión - 2009/2010

AnálisisAnálisis

ActividadesActividades� Análisis de los paquetes◦ Paquetes débilmente acoplados

◦ Elementos cohesionados

◦ Clases de interacción

Actividades

Artefactos

Ejemplo

Análisis de los casos de usoAnálisis de las

clasesAnálisis de los paquetes

Page 23: Tema 7: Proceso Unificado: AnálisisIS...Estructurado por casos de uso Estructurado por clases y paquetes ... Estudiante UI Matriculacion ... Diagrama de clases para la realización

23

Ingeniería del Software de Gestión - 2009/2010

Análisis del caso de uso: “Ingresar Análisis del caso de uso: “Ingresar dinero”dinero”

Realización en análisis

Interfaz de cajero Cuenta

(from Logical View)

Transacción

(from Logical View)

Ingresar dinero

Cliente del banco Interfaz de cajero

(from Use Case View)

Transacción Cuenta

Ingeniería del Software de Gestión - 2009/2010

Análisis del caso de uso: “Ingresar Análisis del caso de uso: “Ingresar dinero” dinero” Camino básicoCamino básico

: Interfaz de cajero : Transacción

: Cuenta

6: validar (importe)

1: ingresar dinero

2: teclee importe

3: importe

4: introducir dinero

5: dinero introducido

11: dinero ingresado

7: ingresarDinero (importe)

10: OK

8: ingreso (importe)

9: OK

: Cliente del banco

Page 24: Tema 7: Proceso Unificado: AnálisisIS...Estructurado por casos de uso Estructurado por clases y paquetes ... Estudiante UI Matriculacion ... Diagrama de clases para la realización

24

Ingeniería del Software de Gestión - 2009/2010

Análisis del caso de uso: “Ingresar Análisis del caso de uso: “Ingresar dinero” dinero” Camino Camino alternativo: Cantidad incorrectaalternativo: Cantidad incorrecta

: Interfaz de cajero: Cliente del banco

Ingeniería del Software de Gestión - 2009/2010

Análisis del caso de uso: “Ingresar Análisis del caso de uso: “Ingresar dinero” dinero” Camino Camino Alternativo: Cantidad incorrectaAlternativo: Cantidad incorrecta

: Interfaz de cajero

1: ingresar dinero

2: teclee importe

3: importe

4: introducir dinero

5: dinero introducido

7: importe incorrecto

6: validar (importe)

: Cliente del banco

Page 25: Tema 7: Proceso Unificado: AnálisisIS...Estructurado por casos de uso Estructurado por clases y paquetes ... Estudiante UI Matriculacion ... Diagrama de clases para la realización

25

Ingeniería del Software de Gestión - 2009/2010

Análisis del caso de uso: Análisis del caso de uso: “Transferencia”“Transferencia”� Suponemos que el usuario ya ha sido identificado.

� La cuenta origen es la de la tarjeta y hay que teclear la destino.

� El importe y el nº de cuenta destino se dan juntos. Mirar primero si hay saldo y luego sacar.

Realización en análisis

Interfaz de cajero Cuenta

(from Logical View)

Transacción

(from Logical View)

Transferencia

Ingeniería del Software de Gestión - 2009/2010

Análisis del caso de uso: Análisis del caso de uso: “Transferencia” “Transferencia” Camino básicoCamino básico

: Interfaz de cajero : Transacción

cuentaOrigen : Cuenta cuentaDestino : Cuenta

1: transferencia

2: teclee cantidad

3: cantidad

4: teclee cuenta destino

5: cuenta destino

12: transferencia realizada

6: transferencia (cuenta, cantidad)

11: OK

7: reintegro (cantidad)

8: OK

9: ingreso (cantidad)

10: OK

: Cliente del banco

Page 26: Tema 7: Proceso Unificado: AnálisisIS...Estructurado por casos de uso Estructurado por clases y paquetes ... Estudiante UI Matriculacion ... Diagrama de clases para la realización

26

Ingeniería del Software de Gestión - 2009/2010

Análisis del caso de uso: “Transferencia”Análisis del caso de uso: “Transferencia”C. Alternativo: C. Alternativo: No hay fondos en la cuenta origenNo hay fondos en la cuenta origen

: Interfaz de cajero : Transacción

cuentaOrigen : Cuenta cuentaDestino : Cuenta

1: transferencia

2: teclee cantidad

3: cantidad

4: teclee cuenta destino

5: cuenta destino

6: transferencia (cuenta, cantidad)

7: reintegro (cantidad)

: Cliente del banco

Ingeniería del Software de Gestión - 2009/2010

Análisis del caso de uso: Análisis del caso de uso: “Transferencia”“Transferencia”CC. Alternativo: No hay fondos en la cuenta origen. Alternativo: No hay fondos en la cuenta origen

: Interfaz de cajero : Transacción

cuentaOrigen : Cuenta

1: transferencia

2: teclee cantidad

3: cantidad

4: teclee cuenta destino

5: cuenta destino

10: no hay fondos

6: transferencia (cuenta, cantidad)

9: no hay fondos

7: reintegro (cantidad)

8: no hay saldo

: Cliente del banco

Page 27: Tema 7: Proceso Unificado: AnálisisIS...Estructurado por casos de uso Estructurado por clases y paquetes ... Estudiante UI Matriculacion ... Diagrama de clases para la realización

27

Ingeniería del Software de Gestión - 2009/2010

Análisis del caso de uso: “TransferenciaAnálisis del caso de uso: “Transferencia” ” Camino Camino Alternativo: Cuenta destino incorrectaAlternativo: Cuenta destino incorrecta

: Interfaz de cajero : Transacción

cuentaOrigen : Cuenta cuentaDestino : Cuenta

1: transferencia

2: teclee cantidad

3: cantidad

4: teclee cuenta destino

5: cuenta destino

6: transferencia (cuenta, cantidad)

7: reintegro (cantidad)

8: OK

9: ingreso (cantidad)

: Cliente del banco

Ingeniería del Software de Gestión - 2009/2010

Análisis del caso de uso: “Transferencia”Análisis del caso de uso: “Transferencia”Cuenta destino incorrectaCuenta destino incorrecta

: Interfaz de cajero : Transacción

cuentaOrigen : Cuenta cuentaDestino : Cuenta

11: rollback

1: transferencia

2: teclee cantidad

3: cantidad

4: teclee cuenta destino

5: cuenta destino

13: error

6: transferencia (cuenta, cantidad)

12: error

7: reintegro (cantidad)

8: OK

9: ingreso (cantidad)

10: error

: Cliente del banco