Introduccin al modelado Unificado Metodologas UML y patrones

  • Slides: 33
Download presentation
Introducción al modelado Unificado Metodologías, UML y patrones de diseño Oscar Mario Gil Ríos

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

Índice l l l Conceptos Lenguajes de modelado: UML Metologías: Patrones de diseño de

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

Componentes básicos l UML. Diagramas, elementos notacionales y semántica de los modelos generados.

Componentes básicos l UML. Diagramas, elementos notacionales y semántica de los modelos generados.

Modelado con UML

Modelado con UML

Qué es UML? l l El UML modela sistema mediante el uso de objetos

Qué es UML? l l 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.

Qué es UML? l l UML es un Lenguaje de Modelado Unificado basado en

Qué es UML? l l 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).

UML l UML es un lenguaje de modelado que sirve para visualizar, especificar ,

UML l 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).

UML para visualizar l l l Símbolos con semántica bien definida. UML transciende al

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

UML para especificar l l Especificar es equivalente a construir modelos que cumplan las

UML para especificar l l 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.

UML para construir l Es posible hacer Ingeniería Directa corresponder con los lenguajes de

UML para construir l Es posible hacer Ingeniería Directa corresponder con los lenguajes de Modelo CÓDIGO programación UML (Java, C#, Ingeniería Inversa B. Datos, etc. ).

UML para documentar l UML cubre la documentación de un sistema: – – –

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

UML “aglutina” enfoques OO Rumbaugh Booch Jacobson Odell Meyer Pre- and Post-conditions Shlaer-Mellor Object

UML “aglutina” enfoques OO Rumbaugh Booch Jacobson Odell Meyer Pre- and Post-conditions Shlaer-Mellor Object life cycles UML Harel State Charts Gamma et. al. Frameworks, patterns, notes Embly Singleton classes Wirfs-Brock Fusion Responsabilities Operation descriptions, message numbering

Historia de UML 2001 2013 UML 1. 4 2000 1999 1998 Nov ‘ 97

Historia de UML 2001 2013 UML 1. 4 2000 1999 1998 Nov ‘ 97 UML 2. 0 UML 1. 3 UML aprobado por el OMG UML 1. 2 Revisiones menores

Actualizaciones de UML l l l UML 1. 3 es una versión madura de

Actualizaciones de UML l l l 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 2. 0 promete la puesta a punto del estándar para poder integrarse con el desarrollo basado en componentes que demanda el mercado.

UML 2. 0 l l Arquitectura: refinamiento del núcleo del estándar para que esté

UML 2. 0 l l 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).

Modelos y Diagramas § Un proceso de desarrollo de software debe ofrecer un conjunto

Modelos y Diagramas § 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 l Modelo: captura una vista de un sistema del mundo real.

Modelos y Diagramas l Modelo: captura una vista de un sistema del mundo real. Es una abstracción de dicho sistema, considerando un cierto propósito. l 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.

Organización de Modelos Vista de Diseño Vista de los Casos de Uso Vista de

Organización de Modelos Vista de Diseño Vista de los Casos de Uso Vista de Procesos Vista de Implementación Vista de Despliegue

Diagramas de UML State Diagramas de Diagrams Use Case State Clases Diagramas Diagrams de

Diagramas de UML State Diagramas de Diagrams Use Case State Clases Diagramas Diagrams de State Use Case Diagrams Diagramas de Diagrams Use Casos de Uso Diagrams Diagramas de Diagrams Objetos Diagrams Secuencia Scenario Diagramas de Diagrams Colaboración Scenario Diagramas de Diagrams Estados Modelo Diagramas de Actividad State Diagramas de Diagrams Componentes Component Diagrams Diagramas Diagrams de Distribución

Mecanismos comunes en UML Especificaciones. Es más que un lenguaje gráfico (semántica detrás de

Mecanismos comunes en UML Especificaciones. Es más que un lenguaje gráfico (semántica detrás de la notación). l Adornos. Detalles sobre una clase, nivel de acceso de sus métodos, notas. l Divisiones Comunes: Clase/Objecto o Interfaz/Implementación. l Extensibilidad. Estereotipos, valores etiquetados o restricciones. l

Casos de Uso

Casos de Uso

Casos de Usos l Un diagrama de Casos de Uso muestra la distintas operaciones

Casos de Usos l 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). l Es una herramienta esencial para la captura de requerimientos y para la planificación y control de un proyecto interactivo.

Casos de Usos l l l Los casos de Uso se representan en el

Casos de Usos l l l 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.

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

Casos de Usos l 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.

Casos de Usos l Actor: Es un usuario del sistema, que necesita o usa

Casos de Usos l 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.

Include o use l Inclusión (include o use)Es una forma de interacción o creación,

Include o use l 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.

l Usa (uses): Relación entre dos casos de uso, denota la inclusión del comportamiento

l 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.

Ejemplos de Include

Ejemplos de Include

Extends l Extensión (Extend)Es otra forma de interacción, un caso de uso dado, (la

Extends l 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.

l Extiende (extends): Relación entre dos casos, denota cuando un caso de uso es

l 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.

Ejemplos de Extends

Ejemplos de Extends

Casos de Usos

Casos de Usos

Plantilla de casos de uso

Plantilla de casos de uso