Post on 29-Jan-2016
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