IWG-101: Introducción a la Ingeniería · Introducción a UML Necesidad de una notación estándar...

Preview:

Citation preview

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

Recommended