5. Historia UML
Booch (Rational Corp): Expresivo en
diseño y construcción
OOSE- Jacobson (Objetory): Soporte
para casos de uso para captura de
requisitos y análisis
OMT- Rumbaugh: Análisis de gran
cantidad de datos
5
6. Objetivos y Metas en la Unión
Unir esfuerzos de las formas de modelaje
Dar estabilidad al mercado orientado a
objetos
Mejorar los tres métodos anteriores
Modelar sistemas utilizando técnicas OO,
desde concepto hasta ejecutables
Cubrir tamaño en sistemas complejos y
críticos
Crear lenguaje de modelado utilizable por
las personas y máquinas 6
7. Historia UML
Método Unificado- versión 0.8- octubre 1995.
Unión OOSE- UML versión 0.9- junio 1996.
Digital, HP, IBM, Microsoft, Oracle, Texas Inc.
Unisys, y otras- UML versión 1.0- enero 1997.
Se ofrece a OMG
Andersen, Ericson, Platinum, y otros revisan el
lenguaje- versión 1.1- julio 1997 ofrecida y
aceptada por OMG
OMG- versión 1.2- junio de 1998
OMG- versión 1.3- otoño de 1998.
OMG- versión 2.0- próxima a liberarse
7
8. Introducción al UP y UML
Historia de UML
Características principales de
modelado y UML
Características principales de Unified
Process
8
9. Qué es UML?
Lenguaje de modelamiento
unificado
Expresión gráfica principalmente
Capacidad de extensión
No orientado a metodología
9
10. Porqué modelamos ?
Un modelo es una
simplificación de la realidad
Construímos modelos para
comprender mejor el
sistema que estamos
desarrollando
10
11. Objetivos del Modelamiento
Los modelos nos ayudan a visualizar
cómo queremos que sea un sistema
Permiten especificar la estructura y
comportamiento del sistema
Proporcionan plantillas que guían la
construcción del sistema
Documentan las decisiones que
hemos adoptado
11
12. Principios del modelado
Principio 1:
La elección de qué modelos crear tiene
una profunda influencia sobre cómo se
enfrenta un problema y cómo se da forma
a una solución
Principio 2:
Todo modelo puede ser expresado a
diferentes niveles de precisión
12
13. Principios del modelado
Principio 3:
Los mejores modelos están ligados a la
realidad
Principio 4:
Un único modelo no es suficiente.
13
14. Características
UML es un lenguaje para
Visualizar
Especificar
Construir
Documentar y/o ser base de documentación
Lenguaje con Sintaxis y Artefactos
Relaciones
Diagramas
14
15. Diagramas de UML
Estáticos
Diagrama de Clases
Diagrama de Objetos
Diagrama de Casos de Uso
Diagrama de Componente
Diagrama de Implantación
Dinámicos
Diagrama de Interacción (secuencia y
colaboración)
Diagrama de Estados
Diagrama de Actividad 15
16. Diagrama de Casos de Uso
Caso de Uso
Descripción de secuencia de acciones observables que el
sistema ejecuta
Caso de Uso:
Actor: Una forma específica de
Cualquiera que necesite usar el sistema
intercambiar información con ejecutando parte de la
el sistema funcionalidad
16
17. Ordenar compra
Consultar ordenes
pendientes
Consultar Orden
Enviar Orden Vendedor
Consultar puntos
Comprador
Registrar Compra Cancelar
Factura
Bodega
Cambiar Puntos
Actualizar
Obtener datos inventario
facturas
Sistema
Tesorería
17
18. Estructuración de casos de uso
<<include>>
Seleccionar Item
Ordenar Compra
Seleccionar Item
Seleccionar Libro Seleccionar Disco
Registrar Compra
<<extends>> <<extends>>
Registrar compra Registrar compra
con tarjeta crédito con tarjeta débito
18
19. Estructuración de diagramas
Paquete
Mecanismo de propósito general para organizar elementos
en grupos
Interfaz de
Ordenes
19
20. Modelamiento de Clases
Propiedades adicionales de las clases
Multiplicidad Clase
Abstracto 3
Frame
header: FrameHeader
Atributo de clase uniqueID: Long
+ addMessage(m: Message) : Status
publico
# SetCheckSum()
protegido
- encrypt()
privado
20
21. Modelamiento de Clases
Cliente
Tema
Identificación
Libro
Nombre
Nombre
Nombre
Autor
Item
Disco Tarjeta
Nombre Carrito
Canción Fecha Venc
Nombre Nombre
Autor Titular
Núm. Tarjeta
Orden
Total
Lugar Entrega
21
22. Diagramas de Secuencia
c: Comprador :Sistema
Hacer_orden(item selección)
Total_carrito
Pagar_orden(info tarjeta)
OK
22
23. Diagrama de Secuencia
c: Comprador c: Sistema c: Control item Ca:Carrito It:item :control tarjeta :orden
Hacer_orden(item)
Sel_item (item)
Es_libro (item)
It:item
It:item
AdicLibro ( It )
OK
<<create>>
Adic_item
OK
OK
Total_carrito
23
24. Diagrama de Colaboración
Enfasis en las relaciones entre los objetos
1: [ nuevo item ] create ( )
Ing_item( item, cant, tipo )
3: Adic_item ( s,cant )
:carrito_compras
:Sistema
2 s=especifica( item )
3.1
ic: create( s, cant )
3.2 adic(ic)
:catalogo
items
:items_carrito
[ tipo = libro ] [ tipo = revista ]
2.1 s=find_libro( item ) 2.1 s=find_revista( item )
Ic:item_carrito
:revista
:libro
[ tipo = discos ]
2.1 s=find_disco( item )
:disco
24
25. Diagrama de Implementación
(o componentes)
Componente
Parte física de un sistema que conforma y provee la realización
de un conjunto de interfaces
Ejemplo: Fuentes, ejecutables, objetos
orden.java
25
27. Diagrama de Despliegue
Nodo
Elemento físico que representa un recurso computacional
requerido en tiempo de ejecución
Conección
Enlace físico entre dos nodos
*
Servidor Servidor
1
Cliente
27
28. Diagrama de Estado
Diagrama de Estado del objeto Cuenta
Bancaria
Creditar(cantidad)
Creditar(cantidad)
Abrir() Bloquear()
Disponible Bloqueada
Desbloquear()
Cerrar()
Debitar(cantidad) Debitar(cantidad)
28
29. Diagrama de Actividades
Cliente Ventas Bodega
Pedir producto
Procesar orden
Tomar materiales
O:Orden
[en progreso] Enviar Orden
Recibir orden Facturar cliente O:Orden
[Completa]
Pagar factura b:Factura
[no paga]
Cerrar orden
B:Factura
[pagada] 29
30. Introducción al UP y UML
Historia de UML
Características principales de
modelado y UML
Características principales de Unified
Process
30
31. Unified Process
Proceso Unificado de Software (UP)
Define Quién está haciendo Qué, Cuándo, y
Cómo, con el fin de alcanzar las metas y
objetivos propuestos
31
33. Iterativo e Incremental
Fases incrementales
Iteraciones dentro de fases
Varios ciclos dentro de la vida de un software
Engineering Stage Production Stage
Estado de Ingeniería Estado de Producción
Inception Elaboration Construction Transition
Concepció Elaboració Construcción Transición
n n
Arquitectura
Idea Architecture Beta Releases Products
Producto
33
34. Dirigido por casos de uso
Modelo Casos Uso
(requerimientos)
Plan Iteraciones
Scripts Pruebas
Modelo Diseño Modelo Implementación
(clases y objectos) (codigo fuente)
34
35. Centrado en Arquitectura
Vista Lógica Vista de
Implementación
Usuarios Desarrolladores
Diseñadores Funcionalidad Vista de Casos
Admon de software
Estructura de Uso
Vista de Vista de Despliegue
Procesos
Integradores Ingeniería del sistema
Topología
Desempeño Instalación
Escalabilidad Comunicación
Arquitectura
Dirige la definición de las fases
Dirige el contenido de las iteraciones
Dirige la organización del equipo de trabajo
35