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

Post on 29-Jan-2016

224 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Índice

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

Componentes básicos

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

Modelado con UML

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.

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

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

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.

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.

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

UML para documentar

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

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

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

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.

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

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

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.

Vista de Diseño

Vista de Procesos

Vista de Despliegue

Vista de Implementación

Vista de los Casos de Uso

Organización de Modelos

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

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.

Casos de Uso

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.

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.

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.

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.

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.

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

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.

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

Casos de Usos

Plantilla de casos de uso

top related