32
Departamento de Informática, UTFSM 1 IWG-101: Introducción a la Ingeniería

IWG-101: Introducción a la Ingeniería · 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,

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: IWG-101: Introducción a la Ingeniería · 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,

Departamento de Informática, UTFSM 1

IWG-101: Introducción a la

Ingeniería

Page 2: IWG-101: Introducción a la Ingeniería · 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,

Introducción a UML

Historia

Potencialidades

Diagramas soportados

UML en el proceso de desarrollo de SW.

Page 3: IWG-101: Introducción a la Ingeniería · 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,

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]

Page 4: IWG-101: Introducción a la Ingeniería · 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,

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.

Page 5: IWG-101: Introducción a la Ingeniería · 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,

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

Page 6: IWG-101: Introducción a la Ingeniería · 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,

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.

Page 7: IWG-101: Introducción a la Ingeniería · 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,

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.

Page 8: IWG-101: Introducción a la Ingeniería · 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,

Á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)

Page 9: IWG-101: Introducción a la Ingeniería · 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,

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.

Page 10: IWG-101: Introducción a la Ingeniería · 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,

Vistas en UMLResumen de vistas en UML

Page 11: IWG-101: Introducción a la Ingeniería · 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,

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

Page 12: IWG-101: Introducción a la Ingeniería · 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,

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.

Page 13: IWG-101: Introducción a la Ingeniería · 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,

Vistas en UMLVista estática: Ejemplo

Venta de ticket

Page 14: IWG-101: Introducción a la Ingeniería · 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,

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.

Page 15: IWG-101: Introducción a la Ingeniería · 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,

Vistas en UMLVista de casos de Uso: Ejemplo

Casos de uso para la oficina de ventas

Page 16: IWG-101: Introducción a la Ingeniería · 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,

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

Page 17: IWG-101: Introducción a la Ingeniería · 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,

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.

Page 18: IWG-101: Introducción a la Ingeniería · 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,

Vistas en UMLVista de interacción: Ejemplo

Diagrama de secuencia para la compra de entradas

Page 19: IWG-101: Introducción a la Ingeniería · 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,

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.

Page 20: IWG-101: Introducción a la Ingeniería · 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,

Vistas en UMLVista de interacción: Ejemplo.

Diagrama de colaboración para la reserva de entradas.

Page 21: IWG-101: Introducción a la Ingeniería · 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,

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.

Page 22: IWG-101: Introducción a la Ingeniería · 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,

Vistas en UMLVista de maquina de estado: Ejemplo.

Diagrama de estado para una entrada.

Page 23: IWG-101: Introducción a la Ingeniería · 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,

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.

Page 24: IWG-101: Introducción a la Ingeniería · 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,

Vistas en UMLVista de actividad: Ejemplo

Actividades relacionadas con

montar un espectáculo

Page 25: IWG-101: Introducción a la Ingeniería · 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,

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.

Page 26: IWG-101: Introducción a la Ingeniería · 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,

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

Page 27: IWG-101: Introducción a la Ingeniería · 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,

Vistas en UMLVista física: Diagrama de componentes

Diagrama de componentes para la oficina de ventas

Page 28: IWG-101: Introducción a la Ingeniería · 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,

Vistas en UMLVista física: Diagrama de emplazamiento

Diagrama de emplazamiento para

la oficina de ventas.

Page 29: IWG-101: Introducción a la Ingeniería · 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,

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.

Page 30: IWG-101: Introducción a la Ingeniería · 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,

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.

Page 31: IWG-101: Introducción a la Ingeniería · 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,

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

Page 32: IWG-101: Introducción a la Ingeniería · 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,

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