Tema 4. UML Flashcards
¿Que es UML?
El lenguaje unificado de modelado (UML, por sus siglas en inglés, Unified Modeling Language) es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad; está respaldado por el Object Management Group (OMG).
Bloques de construcción de un modelo UML
Un modelo UML está compuesto por dos clases de bloques de construcción:
- Elementos
Los elementos son abstracciones de cosas reales o ficticias (objetos, acciones, etc.).Pueden ser estructurales, de comportamiento de agrupación o de anotación.
Elementos estructurales: actores, casos de uso, clases, objetos.
Elementos de comportamiento: mensajes.
Elementos de agrupación: paquetes.
- Relaciones: dependencia, asociacion, generalización, implementación
rup (proceso unificado de rational)
El Proceso Racional Unificado o RUP (por sus siglas en inglés de Rational Unified Process) es un proceso de desarrollo de software desarrollado por la empresa Rational Software, actualmente propiedad de IBM.1 Junto con el Lenguaje Unificado de Modelado (UML), constituye la metodología estándar más utilizada para el análisis, diseño, implementación y documentación de sistemas orientados a objetos.
El RUP no es un sistema con pasos firmemente establecidos, sino un conjunto de metodologías adaptables al contexto y necesidades de cada organización. También se conoce por este nombre al software, también desarrollado por Rational, que incluye información entrelazada de diversos artefactos y descripciones de las diversas actividades. Está incluido en el Rational Method Composer (RMC), que permite la personalización de acuerdo con las necesidades.
Originalmente se diseñó un proceso genérico y de dominio público, el Proceso Unificado, y una especificación más detallada, el Rational Unified Process, que se vendiera como producto independiente.
Metrica (actualmente métrica v3)
Actualmente versión 3 desde 2001, anteriores v1, v2, v2.1.
MÉTRICA es una metodología de planificación, desarrollo y mantenimiento de sistemas de información, promovida por el Ministerio de Hacienda y Función Pública (antiguo Ministerio de Administraciones Públicas ) del Gobierno de España para la sistematización de actividades del ciclo de vida de los proyectos software en el ámbito de las administraciones públicas. Esta metodología propia está basada en el modelo de procesos del ciclo de vida de desarrollo ISO/IEC 12207 (Information Technology - Software Life Cycle Processes) así como en la norma ISO/IEC 15504 SPICE (Software Process Improvement And Assurance Standards Capability Determination).
¿qué nombre reciben actualmente los diagramas de colaboración?
Diagramas de interacción/comunicación
Objeto
(Una clase el molde para hacer bicis, un objeto cada bici)
Un objeto es cualquier cosa, real o abstracta, a cerca
de la cual almacenamos datos y los métodos que controlan dichos datos.
Un objeto puede estar compuesto por otros objetos; estos últimos, a su vez, pueden estar compuestos de objetos.
Un objeto puede considerarse como una especie de cápsula dividida en
tres partes:
Lasrelaciones permiten que el objeto se inserte en la organización y están formadas
esencialmente por punteros a otros objetos.
— Laspropiedades distinguen un objeto determinado de los restantes que forman
parte de la misma organización y tiene valores que dependen de la propiedad de
que se trate. Las propiedades de un objeto pueden ser heredadas a sus descendientes
en la organización.
— Losmétodos son las operaciones que pueden realizarse sobre el objeto, que normalmente
estarán incorporados en código que el objeto es capaz de ejecutar y
que también pone a disposición de sus descendientes a través de la herencia.
Patrones de diseño
Un patrón tiene 4 elementos esenciales:
El nombre del patrón se usa para describir un problema de diseño, sus soluciones
y consecuencias en una o dos palabras.
— El problema describe cuándo aplicar el patrón. Explica el problema y su contexto.
Podría describir problemas específicos de diseño del tipo de cómo representar algoritmos como objetos. Podría describir estructuras de clases u objetos que
son síntomas de un diseño inflexible.
— La solución describe los elementos que construyen el diseño, sus relaciones, responsabilidades
y colaboraciones. El patrón proporciona una descripción abstracta de un problema de diseño y cómo una disposición general de elementos lo resuelve.
- Las consecuencias son los resultados e inconvenientes de aplicar el patrón. Aunque
las consecuencias se ignoran cuando describimos las decisiones de diseño,
son críticas para evaluar las alternativas de diseño y para entender los costes y beneficios de aplicar el patrón.
Tipos de patrones de diseño:
- Patrones de creación : proporcionan ayuda a la hora de crear objetos.
Hay dos formas de clasificar los patrones de creación basándose en las clases de objetos que se crean. Una es clasificar las clases que crean los objetos (Factory Method), otra forma está relacionada con la composición de objetos; definir un objeto que es responsable de conocer las clases de los objetos producto, en esta característica se apoyan los patrones
Abstract Factory, Builder, Prototype ,singleton. - Patrones estructurales;
patrones estructurales asociados a clases (Adapter) y
asociados a objetos (Bridge, Composite, Decorator, Facade, Flyweight, Proxy). Los primeros utilizarán la herencia, los segundos la composición. - Patrones de comportamiento: Caracterizan las maneras en las que las clases u objetos interactúan
y se distribuyen las responsabilidades;
Nuevamente se pueden clasificar en función de que trabajen con clases (Template Method, Interpreter) u objetos (Chain of Responsability, Command,
Iterator, Mediator, Memento, Observer, State, Strategy, Visitor). - Interfaces
Cada operación declarada por un objeto especifica el nombre de una operación, los
objetos que toma como parámetros y lo que devuelve. A esto se le llama signatura. Al conjunto
de todas las signaturas definidas por las operaciones de un objeto se le llama la interfaz
del objeto. La interfaz de un objeto caracteriza el conjunto completo de peticiones que
se le pueden mandar a un objeto. Cualquier petición que coincida con una signatura de la
interfaz de un objeto puede ser mandada a ese objeto.