UML
O Diagrama UML, ou Linguagem de Modelagem Unificada (do inglês, Unified Modeling Language), é uma ferramenta no campo do desenvolvimento de software. UML é um padrão de modelagem de sistemas complexos que permite aos desenvolvedores visualizar, especificar, construir e documentar artefatos de um sistema de software. A UML não é uma linguagem de programação, mas sim uma linguagem visual que ajuda na representação do design do sistema de forma padronizada.
Origem e Evolução
A UML surgiu na década de 1990, fruto do trabalho de Grady Booch, James Rumbaugh e Ivar Jacobson, conhecidos como os “Três Amigos”. Eles combinaram suas metodologias de modelagem de sistemas, conhecidas como Booch, OMT (Object Modeling Technique) e OOSE (Object-Oriented Software Engineering), respectivamente, para criar a UML. Desde então, a UML tem sido gerenciada pela Object Management Group (OMG), que continua a evoluir o padrão.
Componentes Principais
A UML é composta por vários tipos de diagramas, cada um com um propósito específico. Esses diagramas são divididos em dois grandes grupos: diagramas estruturais e diagramas comportamentais.
Diagramas Estruturais
- Diagrama de Classes: Talvez o mais conhecido, representa a estrutura e relações entre classes, incluindo herança, associação, agregação e composição.
- Diagrama de Objetos: Similar ao diagrama de classes, mas focado em instâncias de objetos e seus relacionamentos.
- Diagrama de Componentes: Representa os componentes e suas dependências; útil para modelar sistemas em alto nível.
- Diagrama de Implantação: Mostra a configuração física do hardware e como os componentes do software são distribuídos entre eles.
- Diagrama de Pacotes: Organiza elementos do modelo em pacotes, mostrando dependências entre eles.
- Diagrama de Estrutura Composta: Foca na estrutura interna de uma classe ou componente, mostrando a interação entre suas partes internas.
Diagramas Comportamentais
- Diagrama de Casos de Uso: Ilustra as funcionalidades do sistema do ponto de vista dos usuários.
- Diagrama de Atividades: Representa fluxos de trabalho e processos, mostrando a sequência de atividades e decisões.
- Diagrama de Estados: Mostra os estados de um objeto ao longo do tempo e as transições entre esses estados.
- Diagrama de Sequência: Detalha como as operações são realizadas e a interação entre objetos, em ordem sequencial.
- Diagrama de Comunicação: Similar ao diagrama de sequência, mas foca na organização dos objetos e suas mensagens.
- Diagrama de Interação Geral: Uma visão geral das interações dentro do sistema, combinando elementos de outros diagramas de interação.
Importância e Aplicação
A UML é amplamente utilizada por engenheiros de software para planejar e documentar sistemas de software. Ela ajuda a:
- Clarificar requisitos e design do sistema.
- Facilitar a comunicação entre membros da equipe e stakeholders.
- Servir como uma documentação que guia o processo de desenvolvimento.
- Permitir a análise e projeto orientados a objetos de forma padronizada.