Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Carlos Reveco D.
creveco@dcc.uchile.cl
Contenido
I. Introducción
– Modelado de Software
– UML
Construcción de una casa para “Cachupin”
Construida eficientemente y en un
tiempo
razonable por un equipo
Requiere:
Modelado
Proceso bien definido
Herramientas más sofisticadas
Orden
Item
envío
Proceso de Negocios
Sistema Computacional
Que Rol Cumple la arquitectura y BPMN en UML
7
• Diagrama de secuencias
Modelado de la interacción • Diagrama de colaboraciones
• Diagrama de estados
Modelado del
• Diagrama de actividades
comportamiento
• Diagrama de componentes
Herramientas de diseño • Diagrama de despliegue
• Diagrama de paquetes
Organización del modelo
Organización de Modelos
Vista de
Vista Lógica
Realización
Vista de los
Casos de Uso
Vista de Vista de
Procesos Distribución
Propuesta Barros
Modelo de negocio y Pocisionamiento estrategica
Arquitectura Macroprocesos
Sub-procesos
Actividades en BPMN
Diagrama de Paquetes
Diagrama de Clases
Diagrama de Secuencia
Diagrama de Paquetes
Nombre de
paquete
Diagrama de Paquetes
Actor:
Una definición previa, es que un Actor es un rol que
un usuario juega con respecto al sistema. Es
importante destacar el uso de la palabra rol, pues con
esto se especifica que un Actor no necesariamente
representa a una persona en particular, sino más
bien la labor que realiza frente al sistema.
Diagrama de Casos de Uso
24
Caso de Uso:
Es una operación/tarea específica que se realiza tras
una orden de algún agente externo, sea desde una
petición de un actor o bien desde la invocación desde
otro caso de uso.
Diagrama de Casos de Uso
25
Ejemplo:
Retirar dinero
Consultar Extracto
Cliente
Realizar transferencia
Diagrama de Clases
Relaciones
uno o muchos: 1..* (1..n)
Herencia
Agregación
Asociación
Dependencia o Instanciación (uso):
Clase Abstracta
Diagrama de Clases
33
Relaciones
Herencia (Especialización
/ Generalización): Indica
que una subclase hereda los
métodos y atributos
especificados por una Super
Clase, por ende la Subclase
además de poseer sus propios
métodos y atributos, poseerá
las características y atributos
visibles de la Super Clase
(public y protected),
Diagrama de Clases
34
Agregación
Cuando se requiere
componer objetos que son
instancias de clases
definidas por el
desarrollador de la
aplicación, tenemos dos
posibilidades:
Por Valor
Por Referencia
Diagrama de Clases
35
Asociación
La relación entre clases
conocida como
Asociación, permite
asociar objetos que
colaboran entre si. Cabe
destacar que no es una
relación fuerte, es decir,
el tiempo de vida de un
objeto no depende del
otro.
Diagrama de Clases
36
Dependencia o
Instanciación (uso)
Representa un tipo de
relación muy particular,
en la que una clase es
instanciada (su
instanciación es
dependiente de otro
objeto/clase). Se denota
por una flecha punteada.
Diagrama de Clases
37
Clase Abastracta
Una clase abstracta se denota
con el nombre de la clase y de
los métodos con letra
“cursiva". Esto indica que la
clase definida no puede ser
instanciada pues posee
métodos abstractos (aún no
han sido definidos, es decir,
sin implementación). La única
forma de utilizarla es
definiendo subclases, que
implementan los métodos
abstractos definidos.
Diagrama de Clases
38
Pasos recomendados:
Elaborar una lista de clases candidatas detectar clases con
diferentes niveles de abstracción
Definir las clases y colocarles sus atributos y comportamientos
Mensaje Sincrono
Mnesaje Asincrono
mensaje simple
Diagrama de Secuencia
prestar(video, socio)
verificar situación socio
registrar préstamo
entregar recibo
Ejercicio Casos de Uso
46
Diagramas de Colaboracion
Diagrama de estados
Diagrama de despliege
Diagramas de Colaboracion
53
:Video
5: entregar recibo
: Encargado 4: registrar préstamo
:Préstamo
Diagrama de Estados
55
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
[ hay café ]
[ hay zumo ]
Poner filtro
en máquina
Encender
máquina
/ cafetera.On
Café en
preparación
indicador de fin
Interfaz de Terminal
Control y Análisis
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
Diagrama de Despliegue en Rational
Control y Análisis
Acceso a BD
Servidor Central
Component Diagram:
Components / Servidor Rutinas de conexión
Central
Servidor Central
Rutinas de conexión
Punto de Venta
Punto de Venta Terminal de
Consulta Gestión de Cuentas Interfaz de Terminal
Terminal de Consulta
Rutinas de conexión Interfaz de Terminal
Component Diagram: Component Diagram:
Components / Punto de Components / Terminal
Venta de Consulta
Programas
64
Rational Rose
IBM Rational
Dia (Opensource)
En U-cursos
StarUML
En U-cursos
Manual en U-cursos
UML
65
Carlos Reveco D.
creveco@dcc.uchile.cl
Ejemplos (Clase y Visibilidad)
… 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 }