Vous êtes sur la page 1sur 54

Tema 4e:

Proceso Unificado: Anlisis

Marcos Lpez Sanz


Ingeniera del Software de Gestin

Ingeniera del Software de Gestin www.kybele.es


ndice

Visin general

Diagramas UML

Artefactos
Modelo de anlisis
Clases de anlisis
Realizacin en anlisis de los casos de uso
Paquetes de anlisis

Actividades
Anlisis de los casos de uso
Anlisis de las clases
Anlisis de los paquetes

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Visin general

Flujos de Fases
trabajo Planificacin Construccin
Anl. Riesgos Elaboracin Transicin
Verificacin
Preparacin

Requisitos

Anlisis

Diseo

Implementacin

Prueba

Iteracin(es) Iter. Iter. Iter. Iter. Iter. Iter. Iter.


Inicial(es) #1 #2 #3 #4 #5 #6 #7

(Adaptado de Jacobson, 1999)

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Visin general

Modelo de
anlisis

Modelo de
diseo

Modelo de
Modelo de despliegue
casos de uso

Modelo de
implementacin

Modelo de
pruebas

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Visin general

Modelo de Casos de Uso Modelo de Anlisis


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- Usado por desarrolladores para
desarrolladores entender el sistema
Redundancias, inconsistencias, No debera contener
ambigedades, etc. entre redundancias ni inconsistencias
requisitos de requisitos
Captura la funcionalidad del Captura cmo realizar la
sistema funcionalidad del sistema
Define casos de uso Define realizaciones de casos de
uso

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Visin general

Dependencia de traza
Modelo de
Requisitos Casos de Uso

Modelo de
Anlisis Anlisis

Modelo de Modelo de
Diseo Diseo Despliegue

Modelo de
Implementacin Implementacin

Modelo de
Pruebas
Pruebas

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Diagramas UML

Modelo de
Diagramas de
Casos de Uso Casos de Uso
Incluidos paquetes
Diagramas de
Modelo de Clases
Anlisis
Diagramas de
Objetos
Modelo de
Diagramas de
Diseo Secuencia
Diagramas de
Diagramas de Interaccin
Modelo de Colaboracin
Despliegue
Diagramas de
Estados
Modelo de
Diagramas de
Implementacin Actividad

Diagramas de
Modelo de Componentes

Pruebas

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Conceptos 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 implementacin:
Componente
Nodo
Subsistema

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Conceptos de UML

Otros conceptos:
Clase
Conjunto de objetos con estructura, comportamiento, relaciones, y semntica
comn

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

Realizacin
Relacin semntica entre clasificadores, en la cual un clasificador especifica un
contrato que otro clasificador se compromete a llevar a cabo

Colaboracin
Define las interacciones que han de producirse entre los objetos con el fin de que
estos puedan desempear su papel

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Artefactos

Modelo de anlisis:
Especificacin detallada (precisa) de requisitos
Refina los casos de uso como colaboraciones entre clasificadores
Clasificadores: clases de anlisis, paquetes
Colaboraciones: realizaciones de los casos de uso, interacciones

Gestionar asignaturas Realizacin en anlisis

UI asignaturas Gestor de asignaturas Asignatura

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Artefactos

Modelo de anlisis
Representa la estructura global del sistema (subsistemas y/o capas en el
modelo de diseo)
Descripcin
arquitectnica

* *

Modelo de anlisis Paquete de anlisis


Diagramas de clases
* Diagramas de interaccin
* * Descripcin textual
Responsabilidades *
Atributos
Relaciones Realizacin
Clase de anlisis en anlisis

Interfaz Control Entidad

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Artefactos

Clases de anlisis
Representan una abstraccin de lo que sern una o varias clases en
diseo
Se centra en los requisitos funcionales

Clase de anlisis Resposabilidades


Atributos
Relaciones

Interfaz Control Entidad

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Ejemplo - Artefactos

Un sistema de enseanza virtual


Actor: Estudiante
Caso de Uso: Matricularse

Sist. de enseanza virtual


Matricularse

Matricularse

Estudiante

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Artefactos

<<boundary>>
IU Matriculacin IU Matriculacin

IU Matriculacin

Clases lmite o interfaz


Modelan la interaccin entre el sistema y los actores
Representan la interfaz del sistema (ventanas, formularios, ...), pero con
poco detalle
Describen la informacin presentada al actor y las peticiones que hace el
actor al sistema

Estudiante UI Matriculacion

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Artefactos

<<control>>
GestorMatricula
GestorMatricula
GestorMatricula

Clases de control
Se usan para representar el control de un caso de uso concreto
Representan la coordinacin entre objetos
Lgica del negocio, clculos
No representan ni interacciones con el usuario ni problemas de
almacenamiento de informacin

Estudiante UI Matriculacion GestorMatricula

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Artefactos

<<entity>>
Alumno Alumno
Alumno

Clases de entidad
Representan la informacin significativa para el sistema
Modelan la informacin 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 informacin y operaciones asociadas
Por ejemplo: repositorios de informacin

Estudiante UI Matriculacion GestorMatricula Alumno

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Artefactos

Realizacin de los casos de uso en anlisis


Es una colaboracin que describe cmo se realiza en anlisis un caso de
uso en trminos de clases de anlisis y sus interacciones

La realizacin en anlisis de un caso de uso, incluye:


Diagramas de clases: clases participantes
Diagramas de interaccin: escenarios del CU
Descripcin textual del flujo de eventos
Nada de requisitos no funcionales (hasta el diseo).

Modelo de casos Modelo de anlisis


de uso
<<trace>>

Use case Realizacin en anlisis

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Artefactos

Realizacin de los casos de uso en anlisis


Diagramas de clases
Una clase de anlisis puede participar en varios casos de uso.
Algunas responsabilidades, atributos y asociaciones suelen ser
especficos de un slo caso de uso.

Estudiante UI Matriculacin Gestor Alumno


Matricula

Diagrama de clases para la realizacin del caso de uso


Matricularse

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Artefactos

Realizacin de los casos de uso en anlisis


Diagramas de interaccin
Representan como interactan cooperativamente los objetos para
implementar el comportamiento definido por los casos de uso.

Una interaccin es un conjunto de mensajes que se intercambian


dentro del contexto de una colaboracin por instancias de clases
(objetos) a travs de enlaces (instancias de asociacin

En anlisis se suelen utilizar diagramas de colaboracin (tambin se


podran utilizar diagramas de secuencia)

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Artefactos

Realizacin de los casos de uso en anlisis


Diagramas de colaboracin

3: seleccionar (asignatura, ficheroNotas)


4: publicar (asignatura, ficheroNotas)

1: publicar notas 5: notas (ficheroNotas)

7: OK 6: OK
: UI Profesor : GProfesor : Asignatura
: Profesor

2: visualizar ("asignaturas")

8: visualizar (notas publicadas)

Diagrama de colaboracin para la realizacin del caso de uso


Publicar notas del actor profesor

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Artefactos

Realizacin de los casos de uso en anlisis


Flujos de eventos
Para clarificar los diagramas de colaboracin: descripcin 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

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Artefactos

Paquetes de anlisis
Para organizar los artefactos de anlisis: clases de anlisis, realizacin de
casos de uso y otros paquetes
Fuertemente cohesionados y dbilmente acoplados
No existen en tiempo de ejecucin

*
Paquete de anlisis

* *

Realizacin
Clase de anlisis en anlisis

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Ejemplo - Actividades

Usaremos el ejemplo del cajero automtico

Sacar dinero
<<include>>

Cliente
<<include>>
del banco Ingresar dinero
Validar usuario
<<include>>

Transferencia

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Actividades

Anlisis de los casos de uso:


Identificar las clases de anlisis necesarias para la
realizacin del caso de uso

Distribuir el comportamiento del caso de uso entre las clases


de anlisis describir las interacciones entre objetos

Capturar/asignar requisitos no funcionales a clases de


anlisis

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Actividades

Anlisis de los casos de uso:


Identificar las clases de anlisis:
Clases entidad se derivan de la descripcin del caso de
uso
Una clase interfaz por cada actor
Una clase de control que gobierne en flujo del caso de
uso

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Actividades

Anlisis de los casos de uso:


Identificar las clases de anlisis:
Representar las clases de anlisis en un diagrama de clases

Validar usuario Realizacin en anlisis

Interfaz de cajero UsuariosDelBanco Autenticar


(from Logical View) (from Logical View)

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Actividades

Anlisis de los casos de uso:


Describir las interacciones entre objetos:
Utilizar diagramas de colaboracin
Indicar instancias y enlaces

Un diagrama de colaboracin por cada camino del caso


de uso
Siempre inicia un actor
La expresin de las interacciones se traduce en mensajes entre
objetos

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Ejemplo Anlisis de los casos de uso

Anlisis del caso de uso Validar usuario


Camino Bsico
3: cdigo

1: introducir tarjeta 4: autentica (datos, cdigo)

7: visualiza (opciones)
: Cliente del banco 2: teclear cdigo : Interfaz de cajero : Autenticar

5: valida (datos, codigo)

8: seleccioneOpcion (opciones)
6: OK

: UsuariosDelBanco

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Ejemplo Anlisis de los casos de uso

Anlisis del caso de uso Validar usuario


Camino Alternativo: Cdigo incorrecto
3: cdigo

4: autentica (datos, cdigo)


1: introducir tarjeta

7: visualiza (error)
: Cliente del banco 2: teclear cdigo : Interfaz de cajero : Autenticar

5: valida (datos, codigo)


8: teclear cdigo

6: Error

Faltara:
anular transaccin (despus del 2)
: UsuariosDelBanco
si 3 veces error: cancelar y quedarse con la tarjeta.

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Ejemplo Anlisis de los casos de uso

Anlisis del caso de uso Sacar dinero


Realizacin en anlisis

Sacar dinero Realizacin en anlisis

Interfaz de cajero Transaccin Cuenta


(from Logical View) (from Logical View)

Diagrama de clases

Cliente del banco Interfaz de cajero Transaccin Cuenta


(from Use Case View)

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Ejemplo Anlisis de los casos de uso

Anlisis del caso de uso Sacar dinero


Camino Bsico 11: dinero retirado

9: tarjeta retirada

3: importe
4: retirarDinero (importe)
1: sacar dinero

2: teclee importe 7: expulsaDinero (importe)


: Cliente del banco : Interfaz de cajero : Transaccin

8: retirar tarjeta 5: reintegro (importe)

10: retirar dinero 6: OK

12: teclear cdigo

: Cuenta
Ingeniera del Software de Gestin www.kybele.es
Anlisis
Ejemplo Anlisis de los casos de uso

Anlisis del caso de uso Sacar dinero


Camino Alternativo: No hay saldo
10: tarjeta retirada

3: importe
4: retirarDinero (importe)
1: sacar dinero

: Cliente del banco 2: teclee importe 7: no hay fondos


: Interfaz de cajero : Transaccin

8: no hay saldo suficiente 5: reintegro (importe)

9: retirar tarjeta
6: no hay saldo
11: teclear cdigo
Faltara:
en el cajero no hay dinero.
se ha superado el lmite diario : Cuenta

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Ejemplo Anlisis de los casos de uso

Diagrama de clases completo

Cuenta

Cliente del banco Interfaz de cajero Transaccin


(from Use Case View)

UsuariosDelBanco

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Actividades

Anlisis de las clases


Identificar las responsabilidades de las clases de
anlisis
Identificar atributos y relaciones de las clases de
anlisis.
Capturar requisitos especiales

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Actividades

Anlisis de las clases


Identificar las responsabilidades de las clases de
anlisis
En cada caso de uso, ver qu papel juega (diagramas de
colaboracin).
Combinar papeles y describirlos juntos

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Ejemplo Anlisis de las clases

Anlisis de las clases: identificar responsabilidades Validar usuario


3: cdigo

1: introducir tarjeta 4: autentica (datos, cdigo)

7: visualiza (opciones)
: Cliente del banco 2: teclear cdigo : Interfaz de cajero : Autenticar

5: valida (datos, codigo)

8: seleccioneOpcion (opciones)
6: OK
Interfaz del cajero Transaccin
visualizar introducir tarjeta autentica (datos, cdigo)
visualizar teclear cdigo
leer cdigo : UsuariosDelBanco
UsuariosDelBanco
visualizar (opciones)
valida (datos, cdigo)
seleccioneOpcion (opciones)

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Ejemplo Anlisis de las clases

Anlisis de las clases: identificar responsabilidades


3: cdigo

1: introducir tarjeta 4: autentica (datos, cdigo)

7: visualiza (opciones)
: Cliente del banco 2: teclear cdigo : Interfaz de cajero : Autenticar

5: valida (datos, codigo)

8: seleccioneOpcion (opciones)
6: OK
Interfaz del cajero Transaccin
visualizar (mensaje) autentica (datos, cdigo)
leer cdigo
seleccioneOpcion (opciones) : UsuariosDelBanco
UsuariosDelBanco
valida (datos, cdigo)

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Ejemplo Anlisis de las clases

Anlisis de las clases: identificar responsabilidades


11: dinero retirado
9: tarjeta retirada
3: importe 4: retirarDinero (importe)
1: sacar dinero

2: teclee importe 7: expulsaDinero (importe)


: Cliente del banco : Interfaz de cajero : Transaccin
8: retirar tarjeta
5: reintegro (importe)
10: retirar dinero
6: OK
12: teclear cdigo
Interfaz del cajero Transaccin
visualizar (mensaje) autentica (datos, cdigo)
leer cdigo retirarDinero(importe)4: : Cuenta
seleccioneOpcion (opciones) UsuariosDelBanco Cuenta
leerImporte 3:
valida (datos, cdigo) reintegro(importe) 5:
expulsaDinero (importe) 7:

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Actividades

Anlisis 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 comunicacin.
Clases control: estado de la sesin actual

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Ejemplo Anlisis de las clases

Anlisis de las clases: identificar atributosValidar usuario


3: cdigo

1: introducir tarjeta 4: autentica (datos, cdigo)

7: visualiza (opciones)
: Cliente del banco 2: teclear cdigo : Interfaz de cajero : Autenticar

5: valida (datos, codigo)


8: seleccioneOpcion (opciones)

6: OK
Interfaz del cajero

: UsuariosDelBanco
Transaccin
codigoCuenta Usuarios del banco
Coleccin (datosCuenta,
cdigo)

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Ejemplo Anlisis de las clases

Anlisis de las clases: identificar atributos Transferencia


5: cuenta destino

3: cantidad
6: transferencia (cuenta, cantidad)
1: transferencia

: Cliente del banco 2: teclee cantidad 11: OK


: Interfaz de cajero : Transaccin

4: teclee cuenta destino 9: ingreso (cantidad)


7: reintegro (cantidad)
12: transferencia realizada

Interfaz del cajero 8: OK 10: OK

Transaccin cuentaOrigen : Cuenta cuentaDestino : Cuenta

codigoCuenta Usuarios del banco Cuenta


cantidad Coleccin (datosCuenta, saldo
cdigo)

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Ejemplo Anlisis de las clases

Clase Atributos Responsabilidades


Interfaz de cajero Los necesarios para definir el visualizar (mensaje)
interfaz de usuario leer (tarjeta); leer (cdigo)
leer (importe)
expulsarDinero (importe)
noHayFondos
validar (importe); errorIngreso
seleccioneOpcion (opciones)
UsuariosDeBanco coleccin de pares validar (datos, cdigo)
(datosCuenta, codigo)

Cuenta Saldo reintegro (importe)


lmite diario ingreso (importe)

Transaccin cdigo cuenta autenticar (datos, cdigo)


cantidad retirarDinero (importe)
ingresarDinero (importe)
transferencia (cuenta, cantidad)

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Actividades

Anlisis de las clases


Identificar asociaciones y agregaciones
Definir multiplicidad y papeles
Agregacin y composicin
Identificar generalizaciones y/o especializaciones entre
clases

Ingeniera del Software de Gestin www.kybele.es


Anlisis
Actividades

Anlisis de los paquetes


Paquetes dbilmente acoplados
Elementos cohesionados
Clases de interaccin

Ingeniera del Software de Gestin www.kybele.es


Anlisis del caso de uso: Ingresar dinero

Ingresar dinero Realizacin en anlisis

Interfaz de cajero Transaccin Cuenta


(from Logical View) (from Logical View)

Cliente del banco Interfaz de cajero Transaccin Cuenta


(from Use Case View)

Ingeniera del Software de Gestin www.kybele.es


Anlisis del caso de uso: Ingresar dinero
Camino bsico

5: dinero introducido
6: validar (importe)

3: importe

1: ingresar dinero 7: ingresarDinero (importe)

2: teclee importe 10: OK


: Cliente del banco : Interfaz de cajero : Transaccin

4: introducir dinero 8: ingreso (importe)

9: OK
11: dinero ingresado

: Cuenta

Ingeniera del Software de Gestin www.kybele.es


Anlisis del caso de uso: Ingresar dinero
Camino alternativo: Cantidad incorrecta

: Cliente del banco


: Interfaz de cajero

Ingeniera del Software de Gestin www.kybele.es


Anlisis del caso de uso: Ingresar dinero
Camino Alternativo: Cantidad incorrecta

5: dinero introducido
6: validar (importe)
3: importe

1: ingresar dinero

: Cliente del banco 2: teclee importe


: Interfaz de cajero

4: introducir dinero

7: importe incorrecto

Ingeniera del Software de Gestin www.kybele.es


Anlisis del caso de uso: 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.

Transferencia Realizacin en anlisis

Interfaz de cajero Transaccin Cuenta


(from Logical View) (from Logical View)

Ingeniera del Software de Gestin www.kybele.es


Anlisis del caso de uso: Transferencia Camino
bsico

5: cuenta destino

3: cantidad

6: transferencia (cuenta, cantidad)


1: transferencia

11: OK
: Cliente del banco : Interfaz de cajero : Transaccin

2: teclee cantidad 7: reintegro (cantidad)

9: ingreso (cantidad)
8: OK
4: teclee cuenta destino

10: OK
12: transferencia realizada

cuentaOrigen : Cuenta cuentaDestino : Cuenta

Ingeniera del Software de Gestin www.kybele.es


Anlisis del caso de uso: Transferencia
C. Alternativo: No hay fondos en la cuenta origen

5: cuenta destino

3: cantidad

6: transferencia (cuenta, cantidad)


1: transferencia

: Cliente del banco : Interfaz de cajero : Transaccin

2: teclee cantidad 7: reintegro (cantidad)

4: teclee cuenta destino

cuentaOrigen : Cuenta cuentaDestino : Cuenta

Ingeniera del Software de Gestin www.kybele.es


Anlisis del caso de uso: Transferencia
C. Alternativo: No hay fondos en la cuenta origen

5: cuenta destino

3: cantidad

6: transferencia (cuenta, cantidad)


1: transferencia

9: no hay fondos
: Cliente del banco : Interfaz de cajero : Transaccin

2: teclee cantidad 7: reintegro (cantidad)

4: teclee cuenta destino


8: no hay saldo

10: no hay fondos

cuentaOrigen : Cuenta

Ingeniera del Software de Gestin www.kybele.es


Anlisis del caso de uso: Transferencia
Camino Alternativo: Cuenta destino incorrecta

5: cuenta destino

3: cantidad

6: transferencia (cuenta, cantidad)


1: transferencia

: Interfaz de cajero : Transaccin


: Cliente del banco

2: teclee cantidad 7: reintegro (cantidad)

9: ingreso (cantidad)
8: OK
4: teclee cuenta destino

cuentaOrigen : Cuenta cuentaDestino : Cuenta

Ingeniera del Software de Gestin www.kybele.es


Anlisis del caso de uso: Transferencia
Cuenta destino incorrecta

5: cuenta destino 11: rollback

3: cantidad

6: transferencia (cuenta, cantidad)


1: transferencia

12: error
: Interfaz de cajero : Transaccin
: Cliente del banco

2: teclee cantidad 7: reintegro (cantidad)

9: ingreso (cantidad)
8: OK
4: teclee cuenta destino

10: error
13: error

cuentaOrigen : Cuenta cuentaDestino : Cuenta

Ingeniera del Software de Gestin www.kybele.es

Vous aimerez peut-être aussi