Post on 07-Jun-2015
1
“Lenguaje de Modelamiento Unificado” Clase 01
Curso: “Lenguaje de Modelamiento Unificado”
Clase 01
Relatores:• Gerardo Cerda Neumann (gcerda@ucinf.cl)• Alejandro Reyes Zúñiga (areyes@infodesign.cl)• José Miguel Santibáñez Allendes (jms@caos.cl)
2
“Lenguaje de Modelamiento Unificado” Clase 01
Agenda
• Desarrollo de Software
• UML: Historia
• Características de UML
• Modelos y Diagramas
• Ejemplos varios
• Resumen UML
• Reflexiones
3
“Lenguaje de Modelamiento Unificado” Clase 01
Contexto de Desarrollo: Grado de Complejidad
4
“Lenguaje de Modelamiento Unificado” Clase 01
Desarrollo de Software
Metodología. 1. f. Ciencia del método.2. f. Conjunto de métodos que se siguen en
una investigación científica o en una exposición doctrinal.
5
“Lenguaje de Modelamiento Unificado” Clase 01
Fundamento Metodológico
AnálisisDiseñoConstrucciónPruebas
Estructurados según alguno de los modelos conocidos:• Cascada.• Iterativo.• Incremental.• otros.
6
“Lenguaje de Modelamiento Unificado” Clase 01
Claves en el Análisis y Diseñode Software
Herramientasp.e. Enterprise
Architect
Procesop.e. RUP
Notación UML
7
“Lenguaje de Modelamiento Unificado” Clase 01
¿Qué es UML?
• UML = Unified Modeling Language
• Un lenguaje de propósito general para el modelado orientado a objetos
• Documento “OMG Unified Modeling Language Specification”
• UML combina notaciones provenientes desde:– Modelado Orientado a Objetos
– Modelado de Datos
– Modelado de Componentes
– Modelado de Flujos de Trabajo (Workflows)
8
“Lenguaje de Modelamiento Unificado” Clase 01
Situación de Partida
Diversos métodos y técnicas OO, con muchos aspectos en común pero utilizando distintas notaciones
Inconvenientes para el aprendizaje, aplicación, construcción y uso de herramientas, etc.
Pugna entre distintos enfoques (y correspondientes gurús)
Establecer una notación estándar
9
“Lenguaje de Modelamiento Unificado” Clase 01
Historia de UML Todo se inicia en la empresa “Rational Machines”,
(después, simplemente “Rational”). Comenzó como el “Método Unificado”, con la
participación de Grady Booch (Método Booch en Rational) y Jim Rumbaugh (OMT en GE). Se presentó en el OOPSLA’95
El mismo año se unió Ivar Jacobson (OOSE en Objectory). Los “Tres Amigos” crean UML, RUP y la herramienta
CASE: Rose. En el 2003, la empresa IBM adquiere Rational por 2
millardos.
10
“Lenguaje de Modelamiento Unificado” Clase 01
Historia de UML (2)
• En 1996, los Tres Amigos deciden dejar de lado el “Método Unificado” y crean UML.
• Presentan una versión preliminar al UML Partners (consorcio creado ad-hoc) quienes definen la propuesta al OMG (Object Management Group) eso será UML 1.0
• Es estándar internacional ISO/IEC 19501:2005 corresponde a UML versión 1.4.2
• En Octubre de 2004, OMG adopta oficialmente UML 2.0 como versión de trabajo actualizada.
• Se esperaba la revisión 2.1 para este año, pero no ha ocurrido.
11
“Lenguaje de Modelamiento Unificado” Clase 01
Aspectos Novedosos
Definición semi-formal del Metamodelo de UML
Mecanismos de Extensión en UML:
Stereotypes
Constraints
Tagged Values
Permiten adaptar los elementos de modelado,
asignándoles una semántica particular
12
“Lenguaje de Modelamiento Unificado” Clase 01
Inconvenientes en UML
Definición del proceso de desarrollo usando UML. UML no es una metodología
Falta integración con respecto de otras técnicas tales como patrones de diseño, interfaces de usuario, documentación, etc.
Ejemplos aislados
“Monopolio de conceptos, técnicas y métodos en torno a UML”
13
“Lenguaje de Modelamiento Unificado” Clase 01
Perspectivas de UML
UML será el lenguaje de modelado orientado a objetos estándar predominante los próximos años
Razones:– Participación de metodólogos influyentes– Participación de importantes empresas– Aceptación del OMG como notación estándar
Evidencias:– Herramientas que proveen la notación UML– Edición de libros– Congresos, cursos, camisetas, etc.
14
“Lenguaje de Modelamiento Unificado” Clase 01
Modelos y Diagramas
• Un modelo captura una vista de un sistema del mundo real.
Es una abstracción de dicho sistema, considerando un cierto
propósito. Así, el modelo describe completamente aquellos
aspectos del sistema que son relevantes al propósito del
modelo, y a un apropiado nivel de detalle.
• Diagrama: una representación gráfica de una colección de
elementos de modelado, a menudo dibujada como un grafo
con vértices conectados por arcos
15
“Lenguaje de Modelamiento Unificado” Clase 01
Diagramas de UML
• Los diagramas expresan gráficamente partes de un modelo
Use CaseDiagramsUse Case
DiagramsDiagramas de Casos de Uso
ScenarioDiagramsScenario
DiagramsDiagramas deColaboración
StateDiagramsState
DiagramsDiagramas deComponentes
ComponentDiagramsComponent
DiagramsDiagramas deDistribución
StateDiagramsState
DiagramsDiagramas de Objetos
ScenarioDiagramsScenario
DiagramsDiagramas deEstados
Use CaseDiagramsUse Case
DiagramsDiagramas deSecuencia
StateDiagramsState
DiagramsDiagramas deClases
Diagramas deActividad
Modelo
16
“Lenguaje de Modelamiento Unificado” Clase 01
Diagramas de UML
17
“Lenguaje de Modelamiento Unificado” Clase 01
Diagramas de UML Diagrama de Proceso de Negocio (extensión) Diagrama de Clases Diagrama de Casos de Uso Diagramas de Interacción
Diagrama de Secuencia Diagrama de Colaboración
Diagramas de Comportamiento Diagrama de Actividad Diagrama de Estado
Diagramas de Implementación Diagrama de Componente Diagrama de Despliegue
18
“Lenguaje de Modelamiento Unificado” Clase 01
Organización de Modelos
4+1 vistas de Kruchten (1995)
Vista Lógica
Vista de Procesos
Vista de Distribución
Vista de Realización
Vista de los Casos de Uso
Este enfoque sigue el CASE Enterprise Architect
19
“Lenguaje de Modelamiento Unificado” Clase 01
Ejemplos (Proceso de Negocio)od Business Process Model
Venta en Internet
«objetivo»
Vender el Juguete
Distribuidor
Base de Datos
Juguetes
«entidad de negocio»
Venta
Solicitud de
Compra
Proceso NUEVO
salida
entrada
20
“Lenguaje de Modelamiento Unificado” Clase 01
Ejemplos (Clase y Visibilidad)
Alumno
RUT : char[10]número_exp : intnombre : char[50]
alta()poner_nota(asignatura : char *, año : int, nota : float)matricular(cursos : asignatura, año : int)listar_expediente()
21
“Lenguaje de Modelamiento Unificado” Clase 01
Ejemplos (Asociación)
ProfesorDepartamento
10..1
director
1
dirige
0..1
22
“Lenguaje de Modelamiento Unificado” Clase 01
Ejemplos (Diagramas de Casos de Uso)
Supervisor Verificar Situación del Cliente
Administrativo Preparar Catálogo Sistema Inventario
Tipos de Venta
23
“Lenguaje de Modelamiento Unificado” Clase 01
Ejemplos
• En el paquete tipos de venta:
Venta Normal
Venta en Rebajas
Venta en Ofertas
Vendedor
24
“Lenguaje de Modelamiento Unificado” Clase 01
Ejemplos
Solicitar Nueva Tarjeta
ClienteSolicitar Préstamo
<<extend>>
[Tarjeta Caducada]
25
“Lenguaje de Modelamiento Unificado” Clase 01
Ejemplos
Verificar Operación
Reintegro Cuenta Corriente
Cliente
Reintegro Cuenta de Crédito
<<include>>
<<include>>
26
“Lenguaje de Modelamiento Unificado” Clase 01
Ejemplos (Diagramas de Casos de Uso)
ud CU
Distribuidor
Consultar Juguetes
Agregar Juguete en Carro de
Compra
Confirmar Compra Registrar Venta
Contabilidad
«include»
«extend»
27
“Lenguaje de Modelamiento Unificado” Clase 01
Ejemplos (Diagrama de Secuencia)
: Encargado:WInPréstamos :Socio :Video :Préstamo
prestar(video, socio)
verificar situación socio
verificar situación video
registrar préstamo
entregar recibo
28
“Lenguaje de Modelamiento Unificado” Clase 01
Ejemplos (Diagrama de Secuencia de Sistema)
sd Consultar Juguetes
:Distribuidor Sistema
Ingresar Filtro de Búsqueda
Realizar Búsqueda de Juguetes
Desplegar Resultados de Búsqueda
29
“Lenguaje de Modelamiento Unificado” Clase 01
Ejemplos (Diagrama de Actividad)
Buscar Bebida
Poner café en filtro Añadir agua al depósito Coger taza
Poner filtro en máquina
Encender máquina
Café en preparación
Servir café
Coger zumo
Beber
[no hay café]
[hay café
[no zumo]
[hay zumo]
/ cafetera.On
indicador de fin
30
“Lenguaje de Modelamiento Unificado” Clase 01
Ejemplos (Diagrama de Actividad parte 1)
31
“Lenguaje de Modelamiento Unificado” Clase 01
Ejemplos (Diagrama de Actividad parte 2)
32
“Lenguaje de Modelamiento Unificado” Clase 01
Ejemplos (Diagrama de Componente)
Control y Análisis
Comment
Acceso a BD
Comment
Rutinas de Coneccion
Comment
Interfaz de Terminal
Comment
Gestión de Cuentas
Comment
33
“Lenguaje de Modelamiento Unificado” Clase 01
Ejemplos (Diagrama de Despliegue)
Punto de Venta
Servidor Central
Terminal de Consulta
Gestión de Cuentas
Comment
Interfaz de Terminal
Comment
Rutinas de Coneccion
Comment
Rutinas de Coneccion
Comment
Interfaz de Terminal
Comment
Rutinas de Coneccion
Comment
Acceso a BD
Comment
Control y Análisis
Comment
34
“Lenguaje de Modelamiento Unificado” Clase 01
Resumen
• UML define una notación que se expresa como diagramas que sirven para representar modelos/subsistemas o partes de ellos
• El 80 por ciento de la mayoría de los problemas pueden modelarse usando alrededor del 20 por ciento de UML-- Grady Booch
35
“Lenguaje de Modelamiento Unificado” Clase 01
Modelado de Software: Algunas Reflexiones
• Modelar para concebir el sistema y/o para documentarlo
• Pragmatismo, los modelos deben ser útiles
• Sencillez y Elegancia
• Distintos nivel de abstracción, diferentes modelos
36
“Lenguaje de Modelamiento Unificado” Clase 01
Modelado de Software: Algunas Reflexiones (2)
• Seguimiento de transformaciones durante el proceso (Traceability)
• Sincronización de modelos
• Dificultades para la introducción de técnicas y herramientas de modelado
• Necesidad de Herramientas CASE (Enterprise Architect)
37
“Lenguaje de Modelamiento Unificado” Clase 01
Finalmente
• Apostar por enfoque Orientado a Objetos usando notación UML
• Problemas actuales en implementación, al usar entornos de programación visual y/o bases de datos relacionales
• Posibles mejoras a mediano plazo– Evolución: Uso de BDOO y/o mejoras en los LPOO
– Revolución: Generación Automática de Código a partir de Modelos OO (Compilación de Modelos)
38
“Lenguaje de Modelamiento Unificado” Clase 01
Bibliografía RecomendadaUML
http://www.omg.org/uml/ y http://www.uml.orghttp://en.wikipedia.org/wiki/Unified_Modeling_LanguageMeta-link http://www.cetus-links.org/oo_uml.html Pierre-Alain Muller “Instant UML”Martin Fowler, “UML Destilled” (“UML Gota a Gota”)Terry Quatrani, “Visual Modeling ...”, un caso de estudio
Herramientas CASEHerramientas basadas en UML http://www.objectsbydesign.com/tools/umltools_byPrice.html International Council in SE (INCOSE) www.incose.org/http://www.incose.org/ProductsPubs/products/toolsdatabase.aspx
OtrasRevista IEEE Software, Conferencias: OOPSLA, ECOOP Tutoriales en inglés http://www.ptcorp.com/training.htm
39
“Lenguaje de Modelamiento Unificado” Clase 01
Material basado en:
• Archivo PPT: Taller de UML y Herramientas CASE” de Gerardo Cerda N. Universidad de Ciencias de la Informática.
• Archivo PPT “Desarrollo de software orientado al objeto” preparado por Patricio Letelier Torres, Departamento Sistemas Informáticos y Computación (DSIC), Universidad Politécnica de Valencia (UPV) – España
• Sitio Web “Craftware” http:www.craftware.net• Sitio Web “Wikipedia”:
http://en.wikipedia.org/wiki/Unified_Modeling_Language• Se recomienda: http://www.dcc.uchile.cl/~psalinas/uml/
40
“Lenguaje de Modelamiento Unificado” Clase 01
Curso: “Lenguaje de Modelamiento Unificado”
Clase 01
Relatores:• Gerardo Cerda Neumann (gcerda@ucinf.cl)• Alejandro Reyes Zúñiga (areyes@infodesign.cl)• José Miguel Santibáñez Allendes (jms@caos.cl)