Unified Modeling Language (UML), também conhecida como Unified Modeling Language ou Standard Modeling Language, é um padrão OMG iniciado em 1997. É uma linguagem gráfica que suporta modelagem e desenvolvimento de sistemas de software, fornecendo modelos para todas as etapas de desenvolvimento e visualização de software. suporte, desde a análise de requisitos até a especificação, até a construção e configuração. O desenvolvimento de métodos de análise e design orientados a objetos (OOA&D, OOAD) atingiu o clímax do final da década de 1980 até meados da década de 1990, e a UML foi o produto desse clímax. Não apenas unificou os métodos de representação de Booch, Rumbaugh e Jacobson, mas também os desenvolveu e finalmente os unificou em uma linguagem de modelagem padrão aceita pelo público.
Nos diagramas de classes UML, vários relacionamentos comumente usados são: Generalização, Realização, Associação, Agregação, Composição, Dependência. A seguir, este artigo fornecerá uma explicação detalhada, um por um.
1. Generalização
[Relacionamento de generalização]: É um relacionamento de herança que expressa o relacionamento geral e especial. Especifica como a subclasse especializa todas as características e comportamentos da classe pai. Por exemplo: Tigre é um tipo de animal que possui características de tigre. bem como semelhanças entre os animais.
[Seta apontando]: Uma linha sólida com uma seta triangular, a seta aponta para a classe pai
2. Realização
[Relacionamento de implementação]: É um relacionamento entre uma classe e uma interface, indicando que a classe é a implementação de todas as características e comportamentos da interface.
[Seta apontando]: Uma linha pontilhada com uma seta triangular, a seta aponta para a interface
3. Associação
[Relacionamento de associação]: É uma espécie de relação de propriedade, que permite a uma turma conhecer os atributos e métodos de outra turma como: professor e aluno, marido e mulher;
As associações podem ser bidirecionais ou unidirecionais. As associações bidirecionais podem ter duas setas ou nenhuma seta, e as associações unidirecionais podem ter uma seta.
[Reflexão de código]: variáveis de membro
[Seta e apontando]: Uma linha sólida com uma seta comum apontando para o proprietário
Na imagem acima, professores e alunos estão relacionados bidirecionalmente. Os professores podem ter vários alunos e os alunos também podem ter vários professores. No entanto, o relacionamento entre um aluno e um curso é unilateral. Um aluno pode fazer vários cursos. Um curso é algo abstrato e não possui alunos.
A imagem acima mostra seu próprio relacionamento:
4. Agregação
[Relacionamento de agregação]: É uma relação entre um todo e uma parte, e uma parte pode existir independentemente do todo. Por exemplo, um carro e um pneu têm uma relação entre um todo e uma parte, e o pneu ainda pode existir. sem o carro.
O relacionamento de agregação é um tipo de relacionamento de associação e é um relacionamento de associação forte. A associação e a agregação não podem ser distinguidas gramaticalmente, e o relacionamento lógico específico deve ser examinado.
[Reflexão de código]: variáveis de membro
[Seta e apontando]: Uma linha sólida com um losango oco, o losango aponta para o todo
5. Composição
[Relacionamento combinado]: É a relação entre o todo e as partes, mas as partes não podem existir independentemente do todo. Por exemplo, a relação entre a empresa e o departamento é a relação entre o todo e a parte. , não haveria departamento.
O relacionamento de combinação é um tipo de relacionamento de associação e é um relacionamento mais forte do que o relacionamento de agregação. Requer que o objeto que representa o todo no relacionamento de agregação comum seja responsável pelo ciclo de vida do objeto que representa a parte.
[Reflexão de código]: variáveis de membro
[Seta e apontando]: Uma linha sólida com um losango sólido, o losango aponta para o todo
6. Dependência
[Dependência]: É uma relação de uso, ou seja, a implementação de uma classe requer o auxílio de outra classe, portanto procure não utilizar interdependência bidirecional.
[Desempenho do código]: variáveis locais, parâmetros de método ou chamadas para métodos estáticos
[Seta e apontando]: Uma linha pontilhada com uma seta apontando para o usuário
A ordem de força de vários relacionamentos:
Generalização = Implementação > Composição > Agregação > Associação > Dependência
O diagrama UML a seguir mostra vários relacionamentos de diagramas de classes de forma mais vívida:
O texto acima é toda a narrativa deste artigo, espero que gostem.