Beruflich Dokumente
Kultur Dokumente
1. Visión general.
dependencia de traza
Modelo de
Requisitos Casos de Uso
0RGHORGH
$QiOLVLV
$QiOLVLV
Modelo de Modelo de
Diseño
Diseño Despliegue
Modelo de
Implementación
Implementación
Modelo de
Pruebas
Pruebas
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.
Modelo de Diagramas de
Caso de Uso Casos de Uso
Diagramas de
Clases Incluidos paquetes
Modelo de
Análisis Diagramas de
Componentes
Modelo de Diagramas de
Despliegue
Diseño
Diagramas de
Secuencias
Modelo de
Diagramas de
Despliegue Colaboraciones
Diagramas de
Modelo de Estados
Implementación
Diagramas de
Actividad
Modelo de Diagramas de
Pruebas Objetos
Ingeniería del software 5
2. El análisis en el Proceso Unificado
2.1 Artefactos.
2.1.1 Modelo de análisis.
2.1.2 Clases de análisis.
2.1.3 Realización en análisis de los casos de uso
2.1.4 Paquetes de análisis.
2.1.5 Descripción arquitectónica.
2.2 Actividades.
2.2.1. Análisis arquitectónico.
2.2.2. Análisis de los casos de uso.
2.2.3. Análisis de las clases.
2.2.4. Análisis de los paquetes.
5HTXLVLWRV
$QiOLVLV
'LVHxR
,PSOHPHQWDFLyQ
3UXHEDV
Descripción
arquitectónica
* *
Modelo de análisis Paquete de análisis
* *
Responsabilidades
* * Diagramas de clases
Diagramas de interacción
Atributos Descripción textual
Relaciones Realización
Clase de análisis en análisis
Clase de análisis
Solicitud de pago
Estudiante UI Matriculacion
Ingeniería del software 10
2.1.2. Artefactos. Clases de análisis
Clases Control <<control>>
GestorMatricula
GestorMatricula
GestorMatricula
- Representan la coordinación entre objetos.
- Encapsulan el flujo de control de un determinado caso de uso.
- Lógica del negocio, cálculos.
- Ni interacciones con el usuario ni problemas de almacenar
información.
Alumno
Alumno UI Alumno
Permisos
Profesor UI Profesor
7: OK 6: OK
: UI Profesor : GPr : Asignatura
: Profesor
2: visualizar ("asignaturas")
Flujo de eventos.
Requisitos No funcionales.
Paquete de análisis
* *
Realización
Clase de análisis en análisis
2.1 Artefactos.
2.1.1 Modelo de análisis.
2.1.2 Clases de análisis.
2.1.3 Realización en análisis de los casos de uso
2.1.4 Paquetes de análisis.
2.1.5 Descripción arquitectónica.
2.2 Actividades.
2.2.1. Análisis arquitectónico.
2.2.2. Análisis de los casos de uso.
2.2.3. Análisis de las clases.
2.2.4. Análisis de los paquetes.
Sacar dinero
Cliente
del banco
Ingresar dinero
Transferencia
Gestión de cuentas
bancarias
0..n
1..2
SRVHH
1..n
Ejemplo: un compilador:
• Modelo de referencia: se conoce bien cómo dividir la
funcionalidad del compilador (léxico, sintáctico,
generador de código) y el flujo entre las partes (por
ejemplo, el léxico pasa tokens al sintáctico).
• Estilo arquitectónico: Pipe & filters
• Arquitectura de referencia: cada componente tiene
asignada unafuncionalidad (léxico, sintáctico, ...) y
pasa los datos generados al siguiente elemento de la
cadena.
• Con otro estilo arquitectónico (memoria compartida),
obtendríamos una arquitectura de referencia distinta
(manteniendo el mismo modelo de referencia)
Ingeniería del software 27
2.2.1. Actividades. Análisis arquitectónico
Sintáctico
Semántico
Representación
Optimizador Interna
Generador
de código
3: código
7: visualiza (opciones)
: Cliente del banco 2: teclear código : Interfaz de cajero : Autenticar
8: seleccioneOpcion (opciones)
6: OK
: UsuariosDelBanco
3: código
7: visualiza (error)
: Cliente del banco 2: teclear código : Interfaz de cajero : Autenticar
6: Error
Faltaría:
- anular transacción (después del 2)
- si 3 veces error: cancelar y quedarse con : UsuariosDelBanco
la tarjeta.
9: tarjeta retirada
3: importe
4: retirarDinero (importe)
1: sacar dinero
: Cuenta
3: importe
4: retirarDinero (importe)
1: sacar dinero
Falta: : Cuenta
- en el cajero no hay dinero.
- se ha superado el límite diario
3: importe
9: OK
11: dinero ingresado
: Cuenta
1: ingresar dinero
2: teclee importe
: Cliente del banco : Interfaz de cajero
4: introducir dinero
7: importe incorrecto
5: cuenta destino
3: cantidad
11: OK
: Cliente del banco : Interfaz de cajero : Transacción
9: ingreso (cantidad)
8: OK
4: teclee cuenta destino
10: OK
12: transferencia realizada
5: cuenta destino
3: cantidad
5: cuenta destino
3: cantidad
9: no hay fondos
: Cliente del banco : Interfaz de cajero : Transacción
cuentaOrigen : Cuenta
Ingeniería del software 48
Análisis del caso de uso: “Transferencia”
&XHQWDGHVWLQRLQFRUUHFWD
5: cuenta destino
3: cantidad
9: ingreso (cantidad)
8: OK
4: teclee cuenta destino
3: cantidad
12: error
: Cliente del banco : Interfaz de cajero : Transacción
9: ingreso (cantidad)
8: OK
4: teclee cuenta destino
10: error
13: error
Cuenta
UsuariosDelBanco
Identificar responsabilidades
7: visualiza (opciones)
: Cliente del banco 2: teclear código : Interfaz de cajero : Autenticar
8: seleccioneOpcion (opciones)
6: OK
,QWHUID]GHFDMHUR 7UDQVDFFLyQ
visualizar “introducir tarjeta” autentica (datos, código)
visualizar “teclear código”
8VXDULRV'HO%DQFR : UsuariosDelBanco
leer código
visualizar (opciones) valida (datos, código)
seleccioneOpcion (opciones)
7: visualiza (opciones)
: Cliente del banco 2: teclear código : Interfaz de cajero : Autenticar
8: seleccioneOpcion (opciones)
6: OK
,QWHUID]GHFDMHUR 7UDQVDFFLyQ
9LVXDOL]DUPHQVDMH autentica (datos, código)
leer código
8VXDULRV'HO%DQFR : UsuariosDelBanco
seleccioneOpcion (opciones)
valida (datos, código)
3: código
7: visualiza (error)
: Cliente del banco 2: teclear código : Interfaz de cajero : Autenticar
9: tarjeta retirada
1: sacar dinero
,QWHUID]GHFDMHUR 7UDQVDFFLyQ 6: OK
Identificar atributos
7: visualiza (opciones)
: Cliente del banco 2: teclear código : Interfaz de cajero : Autenticar
8: seleccioneOpcion (opciones)
6: OK
,QWHUID]GHFDMHUR
7UDQVDFFLyQ
códigoCuenta : UsuariosDelBanco
8VXDULRV'HO%DQFR
colección de pares (datosCuenta, codigo)
3: cantidad
6: transferencia (cuenta, cantidad)
1: transferencia
9: ingreso (cantidad)
12: transferencia realizada
8: OK
,QWHUID]GHFDMHUR 10: OK
7UDQVDFFLyQ
códigoCuenta
&XHQWD cuentaOrigen : Cuenta cuentaDestino : Cuenta
cantidad
saldo
8VXDULRV'HO%DQFR
colección de pares (datosCuenta, codigo)
– Disminuir el acoplamiento
– No optimizar los caminos de acceso
– Definir multiplicidad y papeles
– Agregación y composición
– Identificar generalizaciones-especializaciones entre clases
• Clases cohesionadas
• Clases de interacción
Usuario
Casos de Usos de
Administrador
Administrador
Casos de Uso de
Profesor
Profesor
Casos de Usos
de Alumno
Alumno
Ingeniería del software 66
Validar Clave de Acceso
Usuario
(from Use Case View)
4: Ok(Tipo Usuario)
: Usuarios
Consultar Notas
Alumno
(from Use Case View)
([iPHQHV ([iPHQHV
3UiFWLFDV 3UiFWLFDV
$VLJQDWXUD
$VLJQDWXUD
&XUVR
&XUVR
$UFKLYR
$FHSWDU &DQFHODU
$FHSWDU &DQFHODU
1RWDVGH([iPHQHV 1RWDVGH3UiFWLFDV
..... .....
..... .....
.... ....
&HUUDU &HUUDU
IU Profesor Usuarios
(from Casos de Usos de Usuarios)
8: Ingresar opcion y datos 7: Visualizar (Insertar Notas) 5: Buscar Asignatura y curso (DNI)
: Profesor : IU Profesor : Gestor de Profesor
14: Esperar Nueva Opcion 13: Visualizar (Menu de Profesor)
: Profesores
: Asignaturas
IU Alumno Alumnos
(from Casos de Usos de Administrador)
Gestor de Alumno Usuarios
(from Casos de Usos de Usuarios)
Asignaturas
(from Casos de Uso de Profesor)
8: Ingresar Opcion, Asignatura y Curso 7: Visualizar (Consultar Notas) 5: Buscar Asignatura y Curso (DNI)
: Alumnos
12: Mostrar (Archivo)
: Asignaturas