Modelagem UML
Durante a construção de um software, a modelagem é uma das principais etapas executadas. Como o software trata-se de uma entidade abstrata, a visualização do sistema a ser construído é fundamental aos desenvolvedores. A Modelagem UML (Unified Modeling Language) é uma linguagem visual utilizada para representar, especificar, construir e documentar sistemas de software e seus processos. A UML dispõe de um conjunto de diagramas e notações que permitem compreender melhor a estrutura, interações e requisitos do sistema, além de ser possível avaliar a qualidade do resultado e reduzir as incertezas do processo.
Neste artigo, vamos abordar sobre os tipos de diagramas da UML e seus objetivos de uso.
Tipos de diagramas
A UML apresenta dois tipos de diagramas: os Diagramas Estruturais e os Diagramas Comportamentais. A figura abaixo apresenta a árvore de tipos e subtipos de diagramas.
A UML nasceu da união de três metodologias de modelagem: o método de Booch, o método OMT (Object Modeling Technique) de Jacobson e o método OOSE (Object-Oriented Software Engineering) de Rumbaugh. Atualmente, ela encontra-se na versão 2.5.1 e sua documentação oficial pode ser encontrada em seu site oficial.
A UML apresenta uma variedade de tipos de diagramas, que podem ser utilizados isoladamente ou complementando entre si. Assim, é possível analisar as múltiplas visões do sistema, observando seus diferentes aspectos.
A seguir, vamos falar um pouco de cada um deles.
Diagramas Estruturais
Os diagramas estruturais focam na representação da estrutura estática de um sistema, ou seja, como os elementos do sistema estão organizados e relacionados entre si. A seguir, temos os tipos de diagramas estruturais.
Diagrama de Classe
O principal objetivo é visualizar as classes que irão compor o sistema em questão e demonstrar a dinâmica da relação que existe entre elas. Além das classes, também seus atributos e métodos. Este diagrama serve de apoio para a construção dos demais diagramas da UML. A seguir, temos um exemplo:
Na figura acima temos um exemplo de um sistema bancário. Na UML, uma classe apresenta três informações, que estão representadas como um retângulo com três divisões:
- Primeiro retângulo: nome da classe, ContaCorrente;
- Segundo retângulo: os atributos e tipos de dados da classe;
- Terceiro retângulo: os métodos (ações) da classe.
Diagrama de Objetos
Representa uma visão estática de um conjunto de objetos e suas associações em um momento específico. Tem como objetivo fornecer uma visão dos valores armazenados pelos objetos das classes, definidas no diagrama de classes. Veja o exemplo abaixo:
Neste exemplo, temos o vínculo entre o objeto pessoaFis1 da classe PessoaFisica e o objeto corrente1 da classe ContaCorrente. Para cada uma das representações dos objetos, tem-se a listagem dos seus respectivos atributos. Assim, infere-se que uma pessoa física possui uma conta corrente.
Diagrama de Componentes
Exibe os componentes do sistema e suas dependências, incluindo bibliotecas, módulos e outras partes do software. Em outras palavras, exibe o relacionamento entre os diferentes componentes de um sistema.
Diagrama de Pacotes
Organiza os elementos do sistema em grupos lógicos, denominados pacotes, demonstrando a dependência entre eles e ajudando a estruturar e modularizar o sistema. Pode ser utilizado, por exemplo, para modelar divisões da arquitetura de uma linguagem, simplificando diagramas de classe complexos.
O exemplo acima apresenta o pacote chamado Sistema de controle Bancário, o qual engloba diversos elementos, como as classes Pessoa e Conta e suas respectivas classes-filhas.
Diagrama de Implantação
O diagrama de implantação apresenta um mapeamento da relação entre os componentes de software e sua infraestrutura (hardware). Ele ajuda na visualização dos processadores, nós e dispositivos vinculados.
Diagramas Comportamentais
Os diagramas comportamentais são usados para descrever o comportamento dinâmico do sistema, ou seja, como os componentes interagem, se comportam e trocam informações ao longo do tempo. Eles ajudam a modelar os aspectos funcionais e interativos do sistema. Veja os tipos de diagramas comportamentais a seguir.
Diagrama de Casos de Uso
Este diagrama demonstra o comportamento externo do sistema. A partir da perspectiva do usuário, mostra as interações entre atores (usuários) e os casos de uso do sistema, focando nos cenários de interação. É utilizado geralmente no início da modelagem, durante o processo de levantamento e análise de requisitos. Na figura abaixo temos um exemplo deste diagrama.
Em um sistema de vendas de uma livraria, temos os atores Vendedor e Gerente, os quais são funcionários e podem realizar a ação de vender livros.
Diagrama de Atividades
Este diagrama modela o fluxo de atividades e ações dentro de um processo ou função, mostrando estados, transições e decisões. Fornece uma visualização do comportamento de um sistema, descrevendo a sequência de ações em um processo. Pode ser aplicado, por exemplo, na descrição de computação procedural, ou na modelagem organizacional para processos de negócios.
Diagrama de Estado
Descreve os diferentes estados pelos quais um objeto pode passar e as transições entre esses estados.
Diagrama de Interação
O objetivo deste diagrama é fornecer uma visão geral do controle de fluxo, mostrando como os objetos interagem uns com os outros. Nele, temos os subtipos:
- Diagrama da Visão Geral da Interação: permite ter um visão geral do fluxo de controle de uma interação para outra, bem como o fluxo de atividade de um diagrama para outro.
- Diagrama de Comunicação: descreve as relações e interações entre vários objetos de software.
- Diagrama de Tempo: representa um conjunto de estados de um objeto ou sistema ao longo do tempo, mostrando eventos e transições temporais. Com ele, é possível visualizar o fluxo em vários instantes do tempo.
- Diagrama de Sequência: representa a sequência de interações entre objetos ao longo do tempo, enfatizando quais mensagens devem ser disparadas e em qual ordem. Este diagrama baseia-se no diagrama de caso de uso, já que um caso de uso, geralmente, refere-se a um processo disparado por um ator. Veja o diagrama a seguir, que representa uma operação em um sistema bancário.
No exemplo acima, temos o fluxo e ordem das mensagens disparadas durante a operação de emissão de extrato para uma conta corrente. A partir da inserção do cartão, ocorre:
- Verificação da conta;
- Solicitação da senha e verificação da senha;
- Seleção da opção desejada do sistema;
- Geração e emissão do extrato bancário.
Conclusão
Como vimos, a UML é uma linguagem visual padrão para modelagem de sistemas de software. Dentre suas diversas vantagens, podemos destacar o processo de facilitar a comunicação entre as equipes de desenvolvimento, permitindo uma apresentação mais clara e compreensível do software projetado. Além disso, possibilita documentar os requisitos, identificar problemas e elaborar soluções. O melhor entendimento do projeto e a detecção de erros antecipadamente, permitem desenvolver um produto mais eficiente.
A Revelo Content Network acolhe todas as raças, etnias, nacionalidades, credos, gêneros, orientações, pontos de vista e ideologias, desde que promovam diversidade, equidade, inclusão e crescimento na carreira dos profissionais de tecnologia.