Siglas UML
Unified Modeling Language
Estandar de la OMG / ISO-IEC 19505
Estructura de la especificación 2.x
Superestructura: notación y semántica de los diagramas
Infraestructura: metamodelo de soporte
OCL: lenguaje para definir restricciones/reglas
UML Data Interchange: intercambio entre herramientas. XMI
Define Clase ,objeto y atributo
Clase: estructura de programación que define estructura y comportamiento de una entidad dada
Objeto: elemento donde almacenar información. Tiene identidad y estado
Atributo: datos de negocio o referencias a otros objetos
Define Metodo y mensaje
Metodo: implementación de un determinado comportamiento.
Mensaje: llamada a un método
Define Abstracción
capturar los detalles de negocio a modelar. 1º objetos y 2º clases
Define Polimorfismo
capacidad para que objetos de distintas clases se hagan pasar por el mismo tipo
Define Encapsulamiento
ocultación de los detalles internos del objeto. Reducir acoplamiento
Define Herencia
capacidad para definir unas clases en términos de otras
En el diagrama de clases, define las relaciones - asociaciones:
Agregación
Composición
Dependencia
Asociación: Es una relación general entre dos clases que indica que se conocen o interactúan.
Agregación: Es un tipo especial de asociación donde una clase contiene lógicamente a otra, pero las partes pueden existir independientemente.
Composición: Es una relación más fuerte que la agregación.
Dependencia: Indica que una clase usa temporalmente a otra.
que diagrama muestra un ejemplo real de cómo se ven esos objetos funcionando y conectados en memoria.
diagrama de objetos
que es un componente en UML
es un elemento encapsulado que define su comportamiento en términos de interfaces provistas y requeridas
que diagrama representa la arquitectura física de un sistema de información sobre la que se distribuyen los distintos artefactos
diagrama de despliegue
que diagrama representa la estructura interna (parte/objeto, conectores,…) de un clasificador (concepto de UML para varios elementos, ej. Componente, Clase, etc)
diagrama de estructura compuesta
que diagrama nos sirve para poder extender o “dar de alta” nuevos “conceptos” que no vienen con UML y nos resultan útiles en un diagrama cuyo contexto de negocio/técnico es tan especifico que con lo básico de UML nos quedamos cortos de semántica/representación
diagrama de perfil
que diagrama representa la arquitectura lógica de nuestro sistema (modulos, subsistemas, …)
diagrama de paquetes
que diagrama es?
Se realiza para ciertas clases con comportamiento dinámico
Son la antesala del patrón de diseño State
Nos ayudan a plantear ciertas pruebas unitarias
Debe haber correspondencia con la clase correspondiente
diagrama de transicion de estados
que diagrama es?
* Nos ayudan a definir nuestros procesos de negocio y casos de uso
* Se pueden añadir los objetos sobre los que trabajan ciertas actividades
* Nos ayudan a plantear los casos de prueba (escenarios)
diagrama de actividad
que diagrama es?
* Existe relación de herencia entre actores
* Existe relación de herencia entre casos de uso
* No todos los casos de uso son de igual “tamaño”
* No existen los casos de uso “abstractos” como “Gestionar”
* Se pueden organizar en paquetes/subsistemas
* Los casos de uso no “explotan” como los DFD’s
* Capturan un nivel de granularidad medio-bajo
* Necesitan ser acompañados de una especificación SRS
* La relación «extend» indica comportamiento opcional
* La relación «include» indica comportamiento obligatorio
diagrama de casos de uso
que diagrama puede combinar la potencia del diagrama de actividad (flujo) con alguno de interacción (secuencia o comunicación)
diagrama de vista general de interacciones
que diagrama es?
* Son diagramas equivalentes
* Representan un único escenario dentro de un caso de uso tipicamente
* El de comunicación es algo mas completo porque vemos los enlaces entre objetos y nos toca numerar los “pasos”
diagrama de comunicacion y secuencia
quien elabora y publica el estandar de UML 2.5.1
lo elabora la OMG y lo publica ISO 19505
Tipo de patrones?
Builder, Singlenton, Prototype, Factory Method y Abstract Factory
patrones creacionales
Que tipo de patrones son?
Facade, Proxy, Adapter, Composite, Bridge, Decorator, Flyweight
patrones estructurales
Tipo de patrones?
Iterator, Memento, Observer, Strategy, Template method, Chain of responsibility, Command, Interpreter, Mediator, State, Visitor
patrones de comportamiento