El documento presenta información sobre el lenguaje de modelado UML (Unified Modeling Language) utilizado para definir sistemas de software. Explica que UML surgió de la unificación de tres metodologías orientadas a objetos y fue adoptado como estándar por la OMG en 1997. También describe las diferentes áreas conceptuales de UML como la estructura estática, el comportamiento dinámico y las construcciones de implementación, así como los 13 tipos de diagramas que utiliza UML para modelar sistemas.
2. Universidad Andrés Bello
Reforzamiento clase anterior
Clase: Automóvil
Herencia: de la clase Vehículo
Objeto: (el automóvil que tengo en el estacionamiento)
Propiedad o atributo: precio (puede cambiar) patente (no puede cambiar)
Evento: vender el automóvil
Mensaje: el evento vender envió un mensaje con los datos del nuevo
propietario
Método: modificar los datos del propietario
Estado interno: dirección de memoria en donde esta físicamente el objeto
Componentes de un objeto: … todos sus atributos y métodos
Identificación de un objeto: nombre de la variable en el sistema, “mi
cacharrito”
3. Universidad Andrés Bello
Objeto
Reforzamiento
Clase: Alumno/licor/manzana/alumno/perro
Herencia:
Objeto:
Propiedad o atributo:
Evento:
Mensaje:
Método:
Estado interno:
Componentes de un objeto:
Identificación de un objeto:
4. Universidad Andrés Bello
Objeto
Reforzamiento
Dado el siguiente caso realizar la herencia correspondiente para los
siguientes casos:
» Papel carta, oficio, …..
» Profesor contrata, investigador, horas
» ……….
6. Universidad Andrés Bello
Que es UML
• UML es un popular lenguaje de modelado
de sistemas de software.
• Se trata de un lenguaje gráfico para construir, documentar,
visualizar y especificar un sistema de software.
• Entre otras palabras, UML se utiliza para definir un sistema de
software.
• Posee la riqueza suficiente como para crear un modelo del
sistema.
• Permite modelar procesos de negocios, funciones, esquemas de
bases de datos, expresiones de lenguajes de programación, etc.
• Utiliza varios tipos diferentes de diagramas, en UML 2.0 hay 13
tipos de diagramas.
7. Universidad Andrés Bello
Inicios de UML
El lenguaje UML comenzó a gestarse en 1994, cuando
Rumbaugh se unió a Rational fundada por Booch (dos
reputados investigadores en metodología del
software).
El objetivo era unificar dos métodos que habían
desarrollado: el método Booch y el OMT (Object
Modelling Tool ).
El primer borrador apareció en 1995. En esa misma
época otro reputado investigador, Jacobson, se unió a
Rational y se incluyeron sus ideas. Estas tres personas
son conocidas como los “tres amigos”.
En al desarrollo de este lenguaje se incluyó la
colaboración de otras empresas para que aportaran sus
ideas.
9. Universidad Andrés Bello
UML
Metodologías bases de UML
• Centradas en los objetos
• Metodología de Grady Booch para la descripción de
conjuntos de objetos y sus relaciones.
• Técnica de modelado orientada a objetos de James
Rumbaugh (OMT: Object - Modelling Technique).
• Centrada en el Usuario
• Aproximación de Ivar Jacobson (OOSE: Object- Oriented
Software Engineering) mediante la metodología de casos
de uso.
11. Universidad Andrés Bello
• En 1997 UML 1.1 fue aprobada por la OMG convirtiéndose
en la notación estándar de facto para el análisis y el diseño
orientado a objetos.
• UML es el primer método en publicar un meta-modelo en su
propia notación, incluyendo la notación para la mayoría de la
información de requisitos, análisis y diseño.
• Se trata pues de un meta-modelo auto-referencial (cualquier
lenguaje de modelado de propósito general debería ser
capaz de modelarse a sí mismo).
UML
Metodologías bases de UML
12. Universidad Andrés Bello
• Proporcionar una notación y semánticas para alcanzar una gran
cantidad de aspectos del modelado en forma directa y
económica.
• Proveer semánticas suficientes para alcanzar aspectos del
modelado futuros, tales como aspectos relacionados con la
tecnología de componentes, el cómputo distribuido, etc.
• Proporcionar mecanismos de extensión de forma que proyectos
concretos puedan extender el meta-modelo a un coste bajo.
• Permitir el intercambio del modelos entre una gran variedad de
herramientas.
• Proporcionar semánticas suficientes para especificar las interfaces
a bibliotecas para comparar el almacenamiento de componentes
del modelo.
UML
Objetivo
13. Universidad Andrés Bello
Mediante el fomento del uso de UML OMG pretende:
• Proporcionar un lenguaje de modelado visual expresivo y utilizable
para el desarrollo e intercambio de modelos.
• Proporcionar mecanismos de extensión y especialización.
• Ser independiente del proceso de desarrollo y de los lenguajes de
programación.
• Proporcionar una base formal para entender el lenguaje de
modelado.
• Fomentar el crecimiento de las herramientas OO.
• Soportar conceptos de desarrollo de alto nivel como, colaboraciones,
frameworks, patterns, y componentes.
• Integrar las mejores prácticas utilizadas hasta el momento
UML
Objetivo
14. Universidad Andrés Bello
• Estructura estática
• Cualquier modelo preciso debe primero definir su universo,
conceptos clave de la aplicación, sus propiedades internas, y las
relaciones entre cada una de ellas.
• Comportamiento dinámico:
• Incluye la historia de vida de un objeto y como interactúa con el
resto del mundo y los patrones de comunicación de un conjunto
de objetos conectados a través de la forma en que interactúan
entre sí.
• Construcciones de implementación:
• Generados a partir de componentes, parte física, capaz de
responder a las peticiones de un conjunto de interfaces y de
nodos, recursos computacionales, que define una localización
durante la ejecución de un sistema.
UML
Áreas Conceptuales de UML
15. Universidad Andrés Bello
• Mecanismos de extensión
• Capacidad de extenderse día a día sin la necesidad de un cambio
en el lenguaje básico, también incluye estereotipos para nuevas
clases manteniendo la estructura del elemento existente pero con
restricciones adicionales.
• Organización del modelo.
• El conocimiento requiere que se organice el contenido del modelo
en paquetes de tamaño modesto. Los paquetes son unidades
organizativas, jerárquicas y de propósito general de los modelos de
UML.
• Elementos de anotación
• Son las partes explicativas de los modelos UML, comentarios
aplicados para describir, clasificar y hacer observaciones sobre
cualquier elemento de un modelo. El tipo principal es la nota.
UML
Áreas Conceptuales de UML
16. Universidad Andrés Bello
Dependencia
• Es una relación semántica entre dos elementos en la cual un cambio a un
elemento (independiente) puede afectar a la semántica del otro
elemento (elemento dependiente).
Asociación
• Es una relación estructural que describe un conjunto de enlaces, los
cuales son conexiones entre objetos
Generalización
• Relación de especialización/generalización en la cual los objetos del
elemento especializado (el hijo) pueden sustituir a los objetos del
elemento general (el padre).
Realización
• Relación semántica entre clasificadores, donde un clasificador especifica
un contrato que otro clasificador garantiza que cumplirá.
UML
Áreas Conceptuales de UML
17. Universidad Andrés Bello
Diagramas de Casos de Usos
• Muestran un conjunto de casos de uso, actores y sus relaciones.
Cubren la vista estática de los casos de uso y son especialmente
importantes para el modelado y organización del comportamiento.
UML
Diagramas
18. Universidad Andrés Bello
Diagramas de Clases
• Muestran un conjunto de clases, interfaces y colaboraciones y sus
relaciones. Son los más comunes en el modelado de sistemas
orientados a objetos y cubren la vista de diseño estática o la vista de
procesos estática.
UML
Diagramas
19. Universidad Andrés Bello
Diagramas de Objetos
• Muestran un conjunto de objetos y sus relaciones,
son como fotos instantáneas de los diagramas de
clases y cubren la vista de diseño estática o la vista
de procesos estática desde la perspectiva de casos
reales o prototípicos.
UML
Diagramas
20. Universidad Andrés Bello
Diagramas de Secuencia y de Colaboración
• Los diagramas de secuencia colaboración son un tipo de diagramas de
interacción. Constan de un conjunto de objetos y sus relaciones,
incluye mensajes entre los objetos. Cubren la vista dinámica del
sistema.
UML
Diagramas
21. Universidad Andrés Bello
Diagramas de Secuencia y de Colaboración
• Los diagramas de secuencia enfatizan el ordenamiento temporal de
los mensajes mientras que los diagramas de colaboración muestran la
organización estructural de los objetos que envían y reciben
mensajes.
UML
Diagramas
22. Universidad Andrés Bello
Diagramas de Estados
• Muestran una maquina de estados compuesta por estados,
transiciones, eventos y actividades, cubren la vista dinámica de un
sistema y son muy importantes a la hora de modelar el
comportamiento de una interfaz, clase o colaboración
UML
Diagramas
23. Universidad Andrés Bello
Diagramas de Actividades
• Son un tipo especial de diagramas de estados que se centra en
mostrar el flujo de actividades dentro de un sistema. Los diagramas
de actividades cubren la parte dinámica de un sistema y se utilizan
para modelar el funcionamiento el flujo de control entre objetos.
UML
Diagramas
24. Universidad Andrés Bello
Diagramas de Paquete
• Muestra cómo un sistema está dividido en agrupaciones lógicas y las
dependencias entre esas agrupaciones. Dado que normalmente
un paquete está pensado como un directorio, los diagramas de
paquetes suministran una descomposición de la jerarquía lógica de
un sistema.
UML
Diagramas
25. Universidad Andrés Bello
Diagramas de Componentes
• Muestra la organización y las dependencias entre un conjunto de
componentes. Cubren la vista de la implementación estática, incluye
clases, interfaces y/o colaboraciones
UML
Diagramas
26. Universidad Andrés Bello
Diagramas de Despliegue
• Representan la configuración de los nodos de procesamiento en
tiempo de ejecución y los componentes que residen en ellos.
Muestran la vista de despliegue estática de una arquitectura.
UML
Diagramas
27. Universidad Andrés Bello
• Identificar los diagrama más adecuados para modelar las
situaciones indicadas por el profesor
UML
Actividad de cierre