iwg-101: introducción a la ingeniería · introducción a uml necesidad de una notación estándar...
TRANSCRIPT
![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,](https://reader036.vdocuments.net/reader036/viewer/2022081405/5f0c5d3c7e708231d4350902/html5/thumbnails/1.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022081405/5f0c5d3c7e708231d4350902/html5/thumbnails/2.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022081405/5f0c5d3c7e708231d4350902/html5/thumbnails/3.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022081405/5f0c5d3c7e708231d4350902/html5/thumbnails/4.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022081405/5f0c5d3c7e708231d4350902/html5/thumbnails/5.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022081405/5f0c5d3c7e708231d4350902/html5/thumbnails/6.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022081405/5f0c5d3c7e708231d4350902/html5/thumbnails/7.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022081405/5f0c5d3c7e708231d4350902/html5/thumbnails/8.jpg)
Á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,](https://reader036.vdocuments.net/reader036/viewer/2022081405/5f0c5d3c7e708231d4350902/html5/thumbnails/9.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022081405/5f0c5d3c7e708231d4350902/html5/thumbnails/10.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022081405/5f0c5d3c7e708231d4350902/html5/thumbnails/11.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022081405/5f0c5d3c7e708231d4350902/html5/thumbnails/12.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022081405/5f0c5d3c7e708231d4350902/html5/thumbnails/13.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022081405/5f0c5d3c7e708231d4350902/html5/thumbnails/14.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022081405/5f0c5d3c7e708231d4350902/html5/thumbnails/15.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022081405/5f0c5d3c7e708231d4350902/html5/thumbnails/16.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022081405/5f0c5d3c7e708231d4350902/html5/thumbnails/17.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022081405/5f0c5d3c7e708231d4350902/html5/thumbnails/18.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022081405/5f0c5d3c7e708231d4350902/html5/thumbnails/19.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022081405/5f0c5d3c7e708231d4350902/html5/thumbnails/20.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022081405/5f0c5d3c7e708231d4350902/html5/thumbnails/21.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022081405/5f0c5d3c7e708231d4350902/html5/thumbnails/22.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022081405/5f0c5d3c7e708231d4350902/html5/thumbnails/23.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022081405/5f0c5d3c7e708231d4350902/html5/thumbnails/24.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022081405/5f0c5d3c7e708231d4350902/html5/thumbnails/25.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022081405/5f0c5d3c7e708231d4350902/html5/thumbnails/26.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022081405/5f0c5d3c7e708231d4350902/html5/thumbnails/27.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022081405/5f0c5d3c7e708231d4350902/html5/thumbnails/28.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022081405/5f0c5d3c7e708231d4350902/html5/thumbnails/29.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022081405/5f0c5d3c7e708231d4350902/html5/thumbnails/30.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022081405/5f0c5d3c7e708231d4350902/html5/thumbnails/31.jpg)
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,](https://reader036.vdocuments.net/reader036/viewer/2022081405/5f0c5d3c7e708231d4350902/html5/thumbnails/32.jpg)
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