introducción al modelado unificado metodologías, uml y patrones de diseño oscar mario gil ríos...

33
Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos Ingeniero de sistemas y Especialista en Redes Corporativas e integrador de Tecnologías

Upload: mariangela-sedillo

Post on 29-Jan-2016

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos Ingeniero de sistemas y Especialista en Redes Corporativas

Introducción al modelado Unificado

Metodologías, UML y patrones de diseño

Oscar Mario Gil RíosIngeniero de sistemas y Especialista en Redes Corporativas e integrador de Tecnologías

Page 2: Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos Ingeniero de sistemas y Especialista en Redes Corporativas

Índice

Conceptos Lenguajes de modelado: UML Metologías: Patrones de diseño de software Arquitecturas dirigidas por modelos (MDA) Herramientas de modelado

Page 3: Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos Ingeniero de sistemas y Especialista en Redes Corporativas

Componentes básicos

UML. Diagramas, elementos notacionales y semántica de los modelos generados.

Page 4: Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos Ingeniero de sistemas y Especialista en Redes Corporativas

Modelado con UML

Page 5: Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos Ingeniero de sistemas y Especialista en Redes Corporativas

Qué es UML?

El UML modela sistema mediante el uso de objetos que forman parte de él así como, las relaciones estáticas o dinámicas que existen entre ellos.

UML puede ser utilizado por cualquier metodología de análisis y diseño orientada por objetos para expresar los diseños.

Page 6: Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos Ingeniero de sistemas y Especialista en Redes Corporativas

Qué es UML?

UML es un Lenguaje de Modelado Unificado basado en una notación gráfica la cual permite: especificar, construir, visualizar y documentar los objetos de un sistema programado.

Este lenguaje es el resultado de la unificación de los métodos de modelado orientados a objetos de Booch, Rumbaugh (OMT: Object Modeling Technique) y Jacobson (OOSE: Object-Oriented Sotfware Engineering).

Page 7: Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos Ingeniero de sistemas y Especialista en Redes Corporativas

UML

UML es un lenguaje de modelado que sirve para visualizar, especificar , construir y documentar un sistema software.

Lenguaje de modelado: “Lenguaje cuyo vocabulario y reglas se centran en la

representación conceptual y física de un sistema” (Booch, Jacobson y Rumbaugh).

Page 8: Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos Ingeniero de sistemas y Especialista en Redes Corporativas

UML para visualizar

Símbolos con semántica bien definida. UML transciende al lenguaje de programación. Modelo explícito, que facilita la comunicación.

Page 9: Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos Ingeniero de sistemas y Especialista en Redes Corporativas

UML para especificar

Especificar es equivalente a construir modelos que cumplan las condiciones de no ambigüedad y completitud.

UML cubre la especificación del análisis, diseño e implementación de un sistema software.

Page 10: Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos Ingeniero de sistemas y Especialista en Redes Corporativas

UML para construir

Es posible hacer corresponder con los lenguajes de programación (Java, C#, B.Datos, etc.).

ModeloUML

Ingeniería Directa

Ingeniería Inversa

CÓDIGO

Page 11: Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos Ingeniero de sistemas y Especialista en Redes Corporativas

UML para documentar

UML cubre la documentación de un sistema:– Requisitos – Arquitectura– Diseño– Código fuente– Planificación– Pruebas– Prototipos– Versiones

Page 12: Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos Ingeniero de sistemas y Especialista en Redes Corporativas

UML “aglutina” enfoques OO

UML

Rumbaugh

Jacobson

Meyer

Harel

Wirfs-BrockFusion

Embly

Gamma et. al.

Shlaer-Mellor

Odell

Booch

Pre- and Post-conditions

State Charts

Responsabilities

Operation descriptions, message numbering

Singleton classes

Frameworks, patterns, notes

Object life cycles

Page 13: Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos Ingeniero de sistemas y Especialista en Redes Corporativas

Historia de UML

Nov ‘97 UML aprobado por el OMG

1998

1999

2000

UML 1.2

UML 1.3

UML 1.4

2001 UML 2.0

Revisiones menores

2013

Page 14: Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos Ingeniero de sistemas y Especialista en Redes Corporativas

Actualizaciones de UML

UML 1.3 es una versión madura de UML a la que se le han añadido una serie de pequeñas revisiones, las cuales corrigen o mejoran la especificación base (UML 1.2).

UML 1.4 incorpora ciertas modificaciones sobre el estándar en base a los comentarios recogidos de los usuarios finales y de los fabricantes de software compatible con UML.

UML 2.0 promete la puesta a punto del estándar para poder integrarse con el desarrollo basado en componentes que demanda el mercado.

Page 15: Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos Ingeniero de sistemas y Especialista en Redes Corporativas

UML 2.0

Arquitectura: refinamiento del núcleo del estándar para que esté en consonancia con el resto de estándares del mercado.

Personalización: mejora de los mecanismos de extensibilidad y personalización.

Componentes: mejor soporte para el desarrollo basado en componentes (CORBA, EJB, COM+).

Mecanismos generales: nuevos mecanimos para el control de las versiones dentro del modelo, así como el intercambio de los metadatos del mismo con XMI (XML Metadad Interchange).

Page 16: Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos Ingeniero de sistemas y Especialista en Redes Corporativas

Un proceso de desarrollo de software debe ofrecer un conjunto de modelos que permitan expresar el producto desde cada una de las perspectivas de interés

El código fuente del sistema es el modelo más detallado del sistema (y además es ejecutable). Sin embargo, se requieren otros modelos ...

Cada modelo es completo desde su punto de vista del sistema, sin embargo, existen relaciones de trazabilidad entre los diferentes modelos

Modelos y Diagramas

Page 17: Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos Ingeniero de sistemas y Especialista en Redes Corporativas

Modelos y Diagramas

Modelo: captura una vista de un sistema del mundo real. Es una

abstracción de dicho sistema, considerando un cierto propósito.

Diagrama: representación gráfica de una colección de elementos

de modelado, a menudo dibujada como un grafo con vértices

conectados por arcos.

Page 18: Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos Ingeniero de sistemas y Especialista en Redes Corporativas

Vista de Diseño

Vista de Procesos

Vista de Despliegue

Vista de Implementación

Vista de los Casos de Uso

Organización de Modelos

Page 19: Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos Ingeniero de sistemas y Especialista en Redes Corporativas

Diagramas de UML

Use CaseDiagramsUse Case

DiagramsDiagramas de Casos de Uso

ScenarioDiagramsScenario

DiagramsDiagramas deColaboración

StateDiagramsState

DiagramsDiagramas deComponentes

ComponentDiagramsComponent

DiagramsDiagramas deDistribución

StateDiagramsState

DiagramsDiagramas de Objetos

ScenarioDiagramsScenario

DiagramsDiagramas deEstados

Use CaseDiagramsUse Case

DiagramsDiagramas deSecuencia

StateDiagramsState

DiagramsDiagramas deClases

Diagramas deActividad

Modelo

Page 20: Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos Ingeniero de sistemas y Especialista en Redes Corporativas

Mecanismos comunes en UML

Especificaciones. Es más que un lenguaje gráfico (semántica detrás de la notación).

Adornos. Detalles sobre una clase, nivel de acceso de sus métodos, notas.

Divisiones Comunes: Clase/Objecto o Interfaz/Implementación.

Extensibilidad. Estereotipos, valores etiquetados o restricciones.

Page 21: Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos Ingeniero de sistemas y Especialista en Redes Corporativas

Casos de Uso

Page 22: Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos Ingeniero de sistemas y Especialista en Redes Corporativas

Casos de Usos

Un diagrama de Casos de Uso muestra la distintas operaciones que se esperan de una aplicación o sistema y cómo se relaciona con su entorno (usuario u otras aplicaciones).

Es una herramienta esencial para la captura de requerimientos y para la planificación y control de un proyecto interactivo.

Page 23: Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos Ingeniero de sistemas y Especialista en Redes Corporativas

Casos de Usos

Los casos de Uso se representan en el diagrama por una elipse que denota un requerimiento solucionado por el sistema.

Cada caso de uso es una operación completa desarrollada por los actores y por el sistema en un diálogo.

El conjunto de casos de uso representa la totalidad de operaciones desarrolladas por el sistema.

Page 24: Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos Ingeniero de sistemas y Especialista en Redes Corporativas

Casos de Usos

También se puede encontrar tres tipos de relaciones, como son:

– Comunica (comunicates) Entre un actor y un caso de uso, denota la participación del actor en el caso de uso determinado.

Page 25: Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos Ingeniero de sistemas y Especialista en Redes Corporativas

Casos de Usos

Actor: Es un usuario del sistema, que necesita o usa alguno de los casos de uso. Un usuario puede jugar más de un rol. Un solo actor puede actuar en muchos casos de uso; recíprocamente, un caso de uso puede tener varios actores. Los actores no necesitan ser humanos pueden ser sistemas externos que necesitan alguna información del sistema actual.

Page 26: Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos Ingeniero de sistemas y Especialista en Redes Corporativas

Include o use

Inclusión (include o use)Es una forma de interacción o creación, un caso de uso dado puede "incluir" otro. El primer caso de uso a menudo depende del resultado del caso de uso incluido.

Page 27: Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos Ingeniero de sistemas y Especialista en Redes Corporativas

Usa (uses): Relación entre dos casos de uso, denota la inclusión del comportamiento de un escenario en otro. Se utiliza cuando se repite un caso de uso en dos o más casos de uso separados.

Page 28: Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos Ingeniero de sistemas y Especialista en Redes Corporativas

Ejemplos de Include

Page 29: Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos Ingeniero de sistemas y Especialista en Redes Corporativas

Extends

Extensión (Extend)Es otra forma de interacción, un caso de uso dado, (la extensión) puede extender a otro. Esta relación indica que el comportamiento del caso de uso extensión puede ser insertado en el caso de uso extendido bajo ciertas condiciones.

Page 30: Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos Ingeniero de sistemas y Especialista en Redes Corporativas

Extiende (extends): Relación entre dos casos, denota cuando un caso de uso es una especialización de otro. Se usa cuando se describe una variación sobre el normal comportamiento.

Page 31: Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos Ingeniero de sistemas y Especialista en Redes Corporativas

Ejemplos de Extends

Page 32: Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos Ingeniero de sistemas y Especialista en Redes Corporativas

Casos de Usos

Page 33: Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos Ingeniero de sistemas y Especialista en Redes Corporativas

Plantilla de casos de uso