Upload
phungkhue
View
230
Download
3
Embed Size (px)
Citation preview
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
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
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
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
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
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
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
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
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”
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)
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
* *
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
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
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)
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
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
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
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)
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:
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
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)
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
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
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
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
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
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