Durante o desenvolvimento de software, à medida que os projetos aumentam em tamanho e complexidade, ferramentas eficazes de design e documentação tornam-se críticas. Unified Modeling Language (UML), uma linguagem de modelagem padronizada, fornece aos desenvolvedores uma maneira poderosa de descrever, construir e visualizar sistemas de software. Entre eles, o diagrama de classes UML, como uma das principais ferramentas do design orientado a objetos (OOD), desempenha um papel fundamental.
Os diagramas de classes UML exibem graficamente as classes do sistema, os relacionamentos entre elas e as estruturas internas das classes, como atributos (campos) e métodos (funções). Esses diagramas não apenas ajudam os desenvolvedores a compreender a arquitetura geral do sistema, mas também facilitam a comunicação e a colaboração no trabalho em equipe, garantindo que todos os membros tenham um entendimento comum do design. Hoje aprenderemos o diagrama de classes UML .
O que é um diagrama de classes? Quais são as regras de desenho para diagramas de classes? Como desenhar diagrama de classes? Para facilitar o aprendizado de todos, o editor o refinou e resumiu aqui. Espero que depois de lê-lo você possa ter uma compreensão básica dos diagramas de classes.
O principal objetivo do diagrama de classes é refletir a estrutura da classe (atributos, operações) e o relacionamento entre as classes. Ele descreve a estrutura do sistema de software e é um método de modelagem estática. Os diagramas de classes são usados para descrever conceitos significativos no sistema, incluindo conceitos específicos, conceitos abstratos, conceitos de implementação, etc. Eles são abstrações de coisas no mundo real. O principal objetivo dos diagramas de classes é modelar o vocabulário do sistema, modelar colaborações simples e modelar o esquema lógico do banco de dados.
Os diagramas de classes são compostos principalmente por duas partes: classes e o relacionamento entre classes. A definição de uma classe é mostrada na figura abaixo. os atributos da classe, O método da classe corresponde ao conteúdo das três partições na figura.
Nome da classe : A caixa retangular superior na imagem é o nome da classe. Se a fonte estiver em itálico, ela será representada como uma classe abstrata
Atributos de classe : a área abaixo do nome da classe
Métodos de classe : a parte inferior da figura
* Explicação dos símbolos : "+", "-" e "#" na frente dos atributos e métodos indicam os níveis de acesso. .
+: público, público, visível para todas as turmas
-: private, private, disponível apenas para a própria classe
#: protegido, protegido, visível para descendentes desta classe
~: pacote, pacote, visível apenas para outras classes declaradas no mesmo pacote
=: indica o valor padrão
Sublinhado: estático
Itálico: abstrato (observe que a abstração também pode ser expressa colocando-a entre dois colchetes angulares, como - <<Eu sou uma classe ou interface abstrata>>)
Antes dos dois pontos está o nome do método/nome da variável (distinguido pela presença ou ausência de parênteses), e depois dos dois pontos está o parâmetro de retorno/tipo de variável (distintado pela presença ou ausência de parênteses). significa que o método retorna void (algumas pessoas também usam: void para indicar retorno void)
Os relacionamentos entre classes incluem principalmente 6 relacionamentos: generalização (herança), dependência, associação, agregação, combinação e implementação. um por um abaixo.
1. Relacionamento de generalização
O relacionamento de generalização é um relacionamento de herança. A subclasse herda todos os comportamentos e atributos da classe pai. A subclasse pode adicionar novas funções ou reescrever as funções da classe pai. Método de representação: triângulo oco + linha sólida, seta apontando para a classe pai
2. Dependências
Um relacionamento de dependência indica que uma classe usa (depende) dos serviços ou informações de outra classe. Existe uma dependência entre duas classes quando alterações em uma classe afetam outra classe. De modo geral, as dependências são sempre unilaterais e não deve haver dependências bidirecionais. Método de representação: colchetes angulares + linha pontilhada
3. Relacionamento de associação
Uma associação é um relacionamento de propriedade que torna uma classe ciente das propriedades e métodos de outra classe. Incorpora uma forte relação de dependência de diferentes tipos, como eu e meus amigos. Essa relação é mais forte que a dependência. Não há contingência nas relações de dependência e a relação não é temporária, mas geralmente é de longo prazo.
Os relacionamentos de associação são divididos em associações unidirecionais ou associações bidirecionais e também podem ter multiplicidade (associações bidirecionais podem ter duas setas ou nenhuma seta, e as associações unidirecionais têm uma seta). Método de representação: colchetes angulares + linha sólida, seta aponta para o proprietário
4. relacionamento de agregação
A relação de agregação é um tipo de relação de associação, que representa uma relação de “propriedade” “fraca”. É a relação entre o todo e a parte, e a parte pode existir independentemente sem o todo. e o pneu é a relação entre o todo e a parte, e o pneu é separado do todo. O carro ainda pode existir sozinho. Método de representação: diamante oco + linha sólida, o diamante aponta para o todo
5. Relacionamento de combinação
A relação de combinação também é um tipo de relação de associação. É uma relação mais forte que a relação de agregação. É a relação entre o todo e o indivíduo, mas o indivíduo não pode existir sozinho sem o todo. Por exemplo, a relação entre uma empresa e um departamento é um todo e uma parte. Sem empresa não existiria departamento. Requer que o objeto que representa o todo em um relacionamento de agregação normal seja responsável pelo ciclo de vida do objeto que representa a parte. Método de representação: diamante sólido + linha sólida
6. Relacionamento de implementação O relacionamento de implementação é um relacionamento entre uma classe e uma interface, indicando que a classe é a realização de todas as características e comportamentos da interface. Método de representação: triângulo oco + linha pontilhada
Para ajudá-lo a entender melhor as seis relações entre as classes, exemplos são usados abaixo para ajudá-lo no aprendizado e na digestão.
1. Diagrama de classes de automóveis
Diagrama de classes UML automotivo
Descrição do diagrama de classes de automóveis:
Existe uma relação de “realização” entre carros, carros e bicicletas, que é representada por uma linha pontilhada com uma seta vazada;
A relação entre carros e SUVs é uma relação generalizada, representada por uma linha sólida com uma seta vazada;
Existe uma relação de “combinação” entre o carro, o motor e os pneus, que é representada pela linha sólida da seta em losango sólido;
Os alunos precisam utilizar a bicicleta para ir à escola, e existe uma relação de “dependência” com a bicicleta, que é representada por uma linha pontilhada com uma seta.
Existe uma relação de “agregação” entre alunos e turmas, representada por uma linha sólida com uma seta vazada em losango;
A relação entre alunos e carteiras de identidade é de “associação”, representada por uma linha sólida com uma seta pontiaguda;
2. Diagrama de classes UML de animais
Diagrama de classes UML de animais
3. Diagrama de classe UML da Internet do aluno
Diagrama de classe UML da Internet do aluno
Se você puder ler e compreender rapidamente o caso acima, significa que basicamente entendeu o diagrama de classes. Se você combinar mais código e o diagrama de classes correspondente para consolidá-lo, não ficará confuso ao ver o diagrama de classes no futuro.
ProcessOn suporta o desenho de fluxogramas, mapas mentais, diagramas UML, diagramas de arquitetura e outros gráficos. O método de usar o ProcessOn para desenhar diagramas de classes UML é muito simples, desde que você domine os pontos de conhecimento do desenho de diagramas de classes, estude e compreenda. as aulas compartilhadas pelo editor Com exemplos de diagramas, acredito que todos podem aprender rapidamente a desenhar diagramas de classes.
Passo 1: Registre-se e faça login no ProcessOn e crie um novo gráfico UML
Passo 2: Selecione o logotipo da classe na barra de ferramentas esquerda, arraste-o para a área de edição direita e escreva o nome da classe, atributos e métodos.
Passo 3: Marque setas e linhas de acordo com o relacionamento entre as classes.
Nota: As conexões entre cada ícone do ProcessOn são setas sólidas por padrão. Você pode ajustar o estilo da conexão, o tipo de conexão, a cor da conexão, a direção da seta e o estilo da seta na barra de ferramentas superior conforme necessário. Se quiser deixar suas fotos mais bonitas, você pode preencher textos, ícones, linhas, etc. com cores diferentes e deixar os mesmos ícones do mesmo tamanho possível.
O texto acima é o conteúdo relevante sobre diagramas de classes UML . Todos os casos de diagramas de classes UML acima são desenhados usando ProcessOn .