OOAD - Modelo de análisis UML
El Lenguaje de modelado unificado (UML) es un lenguaje gráfico para OOAD que proporciona una forma estándar de escribir el plano de un sistema de software. Ayuda a visualizar, especificar, construir y documentar los artefactos de un sistema orientado a objetos. Se utiliza para representar las estructuras y las relaciones en un sistema complejo.
Breve historia
Fue desarrollado en la década de 1990 como una combinación de varias técnicas, destacando la técnica OOAD de Grady Booch, OMT (técnica de modelado de objetos) de James Rumbaugh y OOSE (ingeniería de software orientada a objetos) de Ivar Jacobson. UML intentó estandarizar modelos semánticos, notaciones sintácticas y diagramas de OOAD.
Sistemas y modelos en UML
System- Un conjunto de elementos organizados para lograr determinados objetivos forman un sistema. Los sistemas a menudo se dividen en subsistemas y se describen mediante un conjunto de modelos.
Model - El modelo es una abstracción simplificada, completa y consistente de un sistema, creada para una mejor comprensión del sistema.
View - Una vista es una proyección del modelo de un sistema desde una perspectiva específica.
Modelo conceptual de UML
El Modelo Conceptual de UML abarca tres elementos principales:
- Bloques de construcción básicos
- Rules
- Mecanismos comunes
Bloques de construcción básicos
Los tres bloques de construcción de UML son:
- Things
- Relationships
- Diagrams
Cosas
Hay cuatro tipos de cosas en UML, a saber:
Structural Things- Son los sustantivos de los modelos UML que representan los elementos estáticos que pueden ser físicos o conceptuales. Las cosas estructurales son clase, interfaz, colaboración, caso de uso, clase activa, componentes y nodos.
Behavioral Things- Estos son los verbos de los modelos UML que representan el comportamiento dinámico en el tiempo y el espacio. Los dos tipos de cosas conductuales son la interacción y la máquina de estados.
Grouping Things- Comprenden las partes organizativas de los modelos UML. Solo hay un tipo de agrupación, es decir, paquete.
Annotational Things - Estas son las explicaciones en los modelos UML que representan los comentarios aplicados para describir elementos.
Relaciones
Las relaciones son la conexión entre las cosas. Los cuatro tipos de relaciones que se pueden representar en UML son:
Dependency- Se trata de una relación semántica entre dos cosas, de modo que un cambio en una cosa trae un cambio en la otra. El primero es lo independiente, mientras que el segundo es lo dependiente.
Association - Es una relación estructural que representa un grupo de vínculos que tienen una estructura y un comportamiento comunes.
Generalization - Representa una relación de generalización / especialización en la que las subclases heredan la estructura y el comportamiento de las superclases.
Realization - Se trata de una relación semántica entre dos o más clasificadores, de modo que un clasificador establece un contrato que los otros clasificadores se aseguran de cumplir.
Diagramas
Un diagrama es una representación gráfica de un sistema. Se compone de un grupo de elementos generalmente en forma de gráfico. UML incluye nueve diagramas en total, a saber:
- Diagrama de clase
- Diagrama de objeto
- Use el diagrama del caso
- Diagrama de secuencia
- Diagrama de colaboración
- Diagrama de gráfico de estado
- Diagrama de actividad
- Diagrama de componentes
- Diagrama de implementación
Reglas
UML tiene una serie de reglas para que los modelos sean semánticamente coherentes y se relacionen armoniosamente con otros modelos del sistema. UML tiene reglas semánticas para lo siguiente:
- Names
- Scope
- Visibility
- Integrity
- Execution
Mecanismos comunes
UML tiene cuatro mecanismos comunes:
- Specifications
- Adornments
- Divisiones comunes
- Mecanismos de extensibilidad
Especificaciones
En UML, detrás de cada notación gráfica, hay una declaración textual que denota la sintaxis y la semántica. Estas son las especificaciones. Las especificaciones proporcionan un backplane semántico que contiene todas las partes de un sistema y la relación entre las diferentes rutas.
Adornos
Cada elemento de UML tiene una notación gráfica única. Además, hay notaciones para representar los aspectos importantes de un elemento como nombre, alcance, visibilidad, etc.
Divisiones comunes
Los sistemas orientados a objetos se pueden dividir de muchas formas. Las dos formas comunes de división son:
Division of classes and objects- Una clase es una abstracción de un grupo de objetos similares. Un objeto es la instancia concreta que tiene existencia real en el sistema.
Division of Interface and Implementation- Una interfaz define las reglas de interacción. La implementación es la realización concreta de las reglas definidas en la interfaz.
Mecanismos de extensibilidad
UML es un lenguaje de composición abierta. Es posible ampliar las capacidades de UML de manera controlada para adaptarse a los requisitos de un sistema. Los mecanismos de extensibilidad son:
Stereotypes - Amplía el vocabulario de UML, a través del cual se pueden crear nuevos bloques de construcción a partir de los existentes.
Tagged Values - Extiende las propiedades de los bloques de construcción UML.
Constraints - Extiende la semántica de los bloques de construcción UML.