Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Modelado de Software
Claves en Desarrollo de SI
Notación
Herramientas Proceso
Abstracción - Modelado Visual (MV)
Orden
Item
envío
Proceso de Negocios
Sistema Computacional
MV para manejar la complejidad
MV para definir la Arquitectura del SW
Interfaz de Usuario
(Visual Basic,
Java, ..)
Lógica del Negocio
(C++, Java, ..)
Servidor de BDs
(C++ & SQL, ..)
Múltiples Sistemas
Componentes
Reutilizados
Introducción: UML
¿Qué es UML?
UML = Unified Modeling Language
Odell
Meyer
Pre- and Post-conditions
Shlaer-Mellor UML
Object life cycles
Harel
State Charts
Gamma et. al.
Frameworks, patterns,
notes
Embly Wirfs-Brock
Singleton classes Responsabilities
Fusion
Operation descriptions,
message numbering
Aspectos Novedosos
Definición semi-formal del Metamodelo de UML
Ejemplos aislados
Diagrama de Colaboración
Diagramas de implementación
Diagrama de Componentes
Diagrama de Despliegue
... Diagramas de UML
Los diagramas expresan gráficamente partes de un modelo
State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de Casos de Uso
Diagrams Diagrams
Objetos
Diagrams
Secuencia
Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Colaboración Modelo Componentes
Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Distribución
Estados Diagramas de
Actividad
Organización de Modelos
4+1 vistas de Kruchten (1995)
Vista de
Vista Lógica Realización
Vista de los
Casos de Uso
Vista de Vista de
Procesos Distribución
Nombre de
paquete
… Paquetes en UML
Cada paquete corresponde a un submodelo
(subsistema) del modelo (sistema)
Preparar Catálogo
Administrativo Sistema
Inventario
Tipos de Venta
… Ejemplos
En el paquete tipos de venta:
Venta Normal
Venta en Rebajas
Vendedor
Venta en Ofertas
… Ejemplos
Solicitar Préstamo
Cliente
[Tarjeta Caducada]
<<extend>>
<<include>>
Reintegro Cuenta Corriente
<<include>>
prestar(video, socio)
verificar situación socio
registrar préstamo
entregar recibo
Diagrama de Colaboración
:Socio
:Video
5: entregar recibo
: Encargado 4: registrar préstamo
:Préstamo
Diagrama de Clases
El Diagrama de Clases es el diagrama principal para el
análisis y diseño
Un diagrama de clases presenta las clases del sistema
con sus relaciones estructurales y de herencia
La definición de clase incluye definiciones para
atributos y operaciones
El modelo de casos de uso aporta información para
establecer las clases, objetos, atributos y operaciones
Ejemplos (Clase y Visibilidad)
Alumno
DNI : char[10]
número_exp : int
nombre : char[50]
alta()
poner_nota(asignatura : char *, año : int, nota : float)
matricular(cursos : asignatura, año : int)
listar_expediente()
… Ejemplos (Asociación)
dirige director
Departamento Profesor
0..1 1
… Ejemplos (Clase Asociación)
empleador trabajadores
Empresa Empleado
* 1..*
Cargo
superior
nombre
sueldo 0..1
subordinado 1..*
… Ejemplos (Generalización)
Trabajador
{ disjunta, completa }
1..4 1..2 1
1 n
n
1 n 1 n
Avión Vuelo Reserva
n
{ disjunta, completa }
{ disjunta, completa }
alta baja
número_préstamos = 0
sin préstamos
Socio
número : int
nombre : char[50]
número_prestamos : int = 0
prestar devolver[ número_préstamos = 1 ]
alta()
baja()
prestar(código_libro : int, fecha : date)
devolver(código_libro : int, fecha : date) número_préstamos > 0
con préstamos
prestar
Encender máquina
/ cafetera.On
Café en preparación
indicador de fin
Servir café
Beber
… Otro Ejemplo (con swim lines)
Pasajero Vendedor Airline
Solicitar pasaje
Verificar
existencia vuelo
Informar alternativas
y precios
Seleccionar vuelo
Confirmar
Pagar pasaje plaza reservada
Emitir billete
Diagrama Componentes
Control y Análisis
Interfaz de Terminal
Comment
Comment
Acceso a BD Comment
Comment
Rutinas de Coneccion
Comment
Terminal de Consulta
Interfaz de Terminal
Rutinas de Coneccion
Comment Comment
Punto de Venta
Rutinas de Coneccion
Comment
Comment Comment
Resumen