Departamento de Informática, UTFSM 1
IWG-101: Introducción a la
Ingeniería
Introducción a UML
Historia
Potencialidades
Diagramas soportados
UML en el proceso de desarrollo de SW.
Introducción a UML
Necesidad de una notación estándar Diversos métodos y técnicas OO eran inconvenientes para el
aprendizaje, aplicación, construcción y uso de herramientas, etc.
UML: Unified Modeling Languaje
Es un lenguaje de modelado visual de propósito general que usado para especificar, visualizar, construir y documentar los artefactos de un sistema de SW.
Artefacto: “Es un pedazo de información que es usado o producido por un proceso de desarrollo de SW, como un documento externo o un código. Un artefacto puede ser un modelo, una descripción o software” [OMG]
Introducción a UML
El objetivo de UML es describir cualquier tipo de sistema en
términos de diagramas orientados a objetos, o sea, es crear
un modelo.
Un modelo es una descripción completa de un sistema desde
una perspectiva concreta.
Introducción a UML
Diagramas de
Casos de UsoDiagramas
de Clases
Diagramas
de Objetos
Diagramas de
Colaboración
Diagramas de
Secuencia
Diagramas de
Estados
Diagramas de
Actividad
Diagramas de
Distribución
Diagramas de
Componentes
Modelo del
Sistema
Introducción a UML
Permite modelar la estructura estática del sistema y su
comportamiento dinámico.
Estructura estática: Define los tipos de objetos importantes
para un sistema y su implementación, también como la
relación entre ellos.
Comportamiento dinámico: Define la historia de los objetos a
través del tiempo, y la comunicación entre los objetos para
cumplir los objetivos.
Introducción a UML
UML NO es un lenguaje de programación.
UML es un lenguaje de modelado de propósito general.
Para dominios específicos (e.g: VLSI) existen herramientas con
leguanjes propios más apropiados para el dominio.
UML es independiente de la metodología que se utilice.
Áreas conceptuales en UML
Los conceptos y modelos proporcionados por UML se pueden agrupar en las siguientes áreas conceptuales:
Estructura estática: Definir los conceptos claves de la aplicación, propiedades internas y su relación con los otros conceptos.
Comportamiento dinámico: Definir el comportamiento del sistema a lo largo del tiempo y la relación de este con otros dentro de un contexto.
Modelo de la organización: Mecanismos de división del modelo en submodelos (Packages) estableciendo la relación entre ellos.
Mecanismos de extensión: Herramientas proporcionadas por UML para extender el modelo a dominios no soportados directamente sin tener que cambiar la definición del lenguaje (ex: tags)
Vistas en UML
“Proyeccion de un modelo, el cual es visto desde una
perspectiva en particular, mas ventajosa, omitiendo las
entidades que nos relevantes para dicho punto de vista”.
Un área conceptual puede tener varia vistas asociadas.
Vistas en UMLResumen de vistas en UML
Dominio de ejemploVentas de entradas en un teatro
Un teatro tiene un sistema computacional de venta de entradas. Las entradas
pueden ser vendidas de dos maneras, a través de un kiosko o directamente en la
ventanilla del teatro. El cliente puede comprar la entrada para una función en
particular o para una temporada completa.
Sistema de venta de
boletos
Sistema de Pago
Compra a través de
kiosko
Compra en ventanilla
Sistema
Vistas en UMLVista estática
Modela los conceptos en el dominio de la aplicación.
Diagrama asociado: Diagrama de clases
Clases: Descripción de un concepto del dominio de la aplicación.
Vistas en UMLVista estática: Ejemplo
Venta de ticket
Vistas en UMLVista de casos de uso
Modela la funcionalidad del sistema percibida por usuarios
externos.
Diagrama asociado: Diagrama de casos de uso
Actor: Abstracción de entidades que interactúan directamente
con el sistema. Puede ser un sistema externo o personas.
Vistas en UMLVista de casos de Uso: Ejemplo
Casos de uso para la oficina de ventas
Vistas en UMLVista de interacción
Describe la secuencia de intercambio de mensajes entre
entidades.
Muestra el flujo de control entre diferentes objetos.
Dos diagramas asociados:
Diagrama de secuencia
Diagrama de colaboración
Vistas en UMLVista de interacción: Diagrama de secuencia
Muestra mensajes entre objetos activos a través de líneas de
tiempo.
Un uso de el caso de uso es mostrar la secuencia de eventos
de un caso de uso específico.
Vistas en UMLVista de interacción: Ejemplo
Diagrama de secuencia para la compra de entradas
Vistas en UMLVista de interacción: Diagrama de colaboración.
El uso del diagrama de colaboración es mostrar la
implementación de una operación.
Muestra la secuencia de mensajes y las asociaciones entre
todos los objetos necesarios para realizar dicha operación.
Vistas en UMLVista de interacción: Ejemplo.
Diagrama de colaboración para la reserva de entradas.
Vistas en UMLVista de maquina de estado
Sirve para modelar los posibles estados de un objeto o clase.
Diagrama asociado: Diagrama de estados
Estados conectados por transiciones
Estados modela un período de tiempo durante la vida del
objeto durante el cual se satisfacen ciertas restricciones.
Un evento gatilla una transición y genera un nuevo estado.
Vistas en UMLVista de maquina de estado: Ejemplo.
Diagrama de estado para una entrada.
Vistas en UMLVista de actividad
Muestra las actividades computacionales involucradas en la
realización de cierta operación.
Diagrama asociado: Diagrama de actividad.
Pueden ser utilizados para modelar workflows del negocio o
del SW.
Vistas en UMLVista de actividad: Ejemplo
Actividades relacionadas con
montar un espectáculo
Vistas en UMLVista física
Modela la estructura de la aplicación en términos de
componentes y nodos.
Componente: Agrupación de alto nivel de clases, documentos e
ítems relacionados según cierto dominio.
Nodo: representa alguna pieza de unidad de cómputo, por lo
general es HW.
Existen dos tipos de vistas físicas:
Vista de implementación: modela los componentes del
sistema.
Diagrama asociado: Diagrama de componentes
Vista de emplazamiento: muestra las relaciones físicas entre
los componentes de software y de hardware de un sistema.
Diagrama asociado: Diagrama de emplazamiento
Vistas en UMLVista física
Vistas en UMLVista física: Diagrama de componentes
Diagrama de componentes para la oficina de ventas
Vistas en UMLVista física: Diagrama de emplazamiento
Diagrama de emplazamiento para
la oficina de ventas.
Vistas en UMLVista de administración de modelo
Modela la organización del modelo, en termino de paquetes.
Ejemplo: descomposición de la puesta en marcha de una obra.
Extensiones
UML provee de ciertas herramientas para extender los
modelos según la necesidad del cliente.
3 elementos:
Restricción: es un texto asociado a una relación semántica
expresado en un lenguaje formal o natural.
Estereotipo: un nuevo tipo de elemento definido por el diseñador
y que se basa en un elemento ya existente.
“Tagged value”: es una pieza de información que se agrega a un
elemento de modelado.
ExtensionesEjemplos
<<database>>
TicketDB
Calendarización
{Autor= Juan Perez,
Entrega= 3-jul-02}
Espectáculo
Nombre:string{nombres para una temporada deben ser únicos}{nombres para una temporada deben ser únicos}
Estereotipo
Restricción
Tagged Value
Ejercicio
Un controlador, monitorea la temperatura de una ampolleta, y
corta la energía en el caso de que este supere un valor de
80º C.
Diseñe un posible modelo de clases que refleje lo anterior
Construya una aplicación en Java que realice lo anterior