OOAD - Modelo de Análise UML

A Unified Modeling Language (UML) é uma linguagem gráfica para OOAD que fornece uma maneira padrão de escrever um projeto de sistema de software. Ajuda a visualizar, especificar, construir e documentar os artefatos de um sistema orientado a objetos. É usado para representar as estruturas e os relacionamentos em um sistema complexo.

Breve história

Foi desenvolvido na década de 1990 como um amálgama de várias técnicas, com destaque para a técnica OOAD de Grady Booch, OMT (Object Modeling Technique) de James Rumbaugh e OOSE (Object Oriented Software Engineering) de Ivar Jacobson. A UML tentou padronizar modelos semânticos, notações sintáticas e diagramas de OOAD.

Sistemas e modelos em UML

System- Um conjunto de elementos organizados para atingir certos objetivos formam um sistema. Os sistemas são freqüentemente divididos em subsistemas e descritos por um conjunto de modelos.

Model - O modelo é uma abstração simplificada, completa e consistente de um sistema, criada para melhor compreensão do sistema.

View - Uma visão é uma projeção do modelo de um sistema de uma perspectiva específica.

Modelo Conceitual de UML

O modelo conceitual de UML abrange três elementos principais -

  • Blocos de construção básicos
  • Rules
  • Mecanismos comuns

Blocos de construção básicos

Os três blocos de construção da UML são -

  • Things
  • Relationships
  • Diagrams

Coisas

Existem quatro tipos de coisas em UML, a saber -

  • Structural Things- Esses são os substantivos dos modelos UML que representam os elementos estáticos que podem ser físicos ou conceituais. As coisas estruturais são classe, interface, colaboração, caso de uso, classe ativa, componentes e nós.

  • Behavioral Things- Esses são os verbos dos modelos UML que representam o comportamento dinâmico no tempo e no espaço. Os dois tipos de coisas comportamentais são interação e máquina de estado.

  • Grouping Things- Eles compreendem as partes organizacionais dos modelos UML. Existe apenas um tipo de agrupamento, isto é, pacote.

  • Annotational Things - Estas são as explicações nos modelos UML que representam os comentários aplicados para descrever os elementos.

Relacionamentos

Relacionamentos são a conexão entre as coisas. Os quatro tipos de relacionamentos que podem ser representados em UML são -

  • Dependency- Esta é uma relação semântica entre duas coisas, de modo que uma mudança em uma coisa acarreta uma mudança na outra. A primeira é a coisa independente, enquanto a última é a coisa dependente.

  • Association - Esta é uma relação estrutural que representa um grupo de elos com estrutura e comportamento comuns.

  • Generalization - Isso representa uma relação de generalização / especialização na qual as subclasses herdam a estrutura e o comportamento das superclasses.

  • Realization - Esta é uma relação semântica entre dois ou mais classificadores, de modo que um classificador estabelece um contrato que os outros classificadores garantem cumprir.

Diagramas

Um diagrama é uma representação gráfica de um sistema. É composto por um grupo de elementos geralmente na forma de um gráfico. UML inclui nove diagramas ao todo, a saber -

  • Diagrama de Classe
  • Diagrama de Objeto
  • Diagrama de casos de uso
  • Diagrama de sequência
  • Diagrama de Colaboração
  • Diagrama de gráfico de estado
  • Diagrama de atividades
  • Diagrama de Componentes
  • Diagrama de implantação

Regras

A UML tem uma série de regras para que os modelos sejam semanticamente autoconsistentes e relacionados a outros modelos no sistema de maneira harmoniosa. UML tem regras semânticas para o seguinte -

  • Names
  • Scope
  • Visibility
  • Integrity
  • Execution

Mecanismos Comuns

UML tem quatro mecanismos comuns -

  • Specifications
  • Adornments
  • Divisões Comuns
  • Mecanismos de extensibilidade

Especificações

Na UML, por trás de cada notação gráfica, há uma instrução textual que denota a sintaxe e a semântica. Estas são as especificações. As especificações fornecem um backplane semântico que contém todas as partes de um sistema e o relacionamento entre os diferentes caminhos.

Adornos

Cada elemento em UML possui uma notação gráfica exclusiva. Além disso, existem notações para representar os aspectos importantes de um elemento, como nome, escopo, visibilidade, etc.

Divisões Comuns

Os sistemas orientados a objetos podem ser divididos de várias maneiras. As duas formas comuns de divisão são -

  • Division of classes and objects- Uma classe é uma abstração de um grupo de objetos semelhantes. Um objeto é a instância concreta que tem existência real no sistema.

  • Division of Interface and Implementation- Uma interface define as regras de interação. A implementação é a realização concreta das regras definidas na interface.

Mecanismos de extensibilidade

UML é uma linguagem aberta. É possível estender os recursos da UML de maneira controlada para atender aos requisitos de um sistema. Os mecanismos de extensibilidade são -

  • Stereotypes - Estende o vocabulário da UML, por meio do qual novos blocos de construção podem ser criados a partir dos existentes.

  • Tagged Values - Estende as propriedades dos blocos de construção UML.

  • Constraints - Estende a semântica dos blocos de construção UML.