O que é classe?
Uma classe é um projeto usado para criar um objeto. A classe define o que o objeto pode fazer.
O que é o diagrama de classes?
O DIAGRAMA DE CLASSE UML oferece uma visão geral de um sistema de software exibindo classes, atributos, operações e seus relacionamentos. Este diagrama inclui o nome da classe, atributos e operação em compartimentos designados separados.
Diagrama de classes define os tipos de objetos no sistema e os diferentes tipos de relacionamentos que existem entre eles. Ele oferece uma visão de alto nível de um aplicativo. Este método de modelagem pode ser executado com quase todos os métodos orientados a objetos. Uma classe pode se referir a outra classe. Uma classe pode ter seus objetos ou pode herdar de outras classes.
Diagrama de classes ajuda a construir o código para o desenvolvimento de aplicativos de software.
Neste tutorial, você aprenderá:
- O que é classe?
- O que é o diagrama de classes?
- Benefícios do Diagrama de Classes
- Elementos essenciais de um diagrama de classes UML
- Nome da classe
- Atributos:
- Relacionamentos
- Agregação vs. Composição
- Classes abstratas
- Exemplo de diagrama de classes UML:
- Diagrama de classes no ciclo de vida de desenvolvimento de software:
- Melhores práticas de desenho do diagrama de classe
Benefícios do Diagrama de Classes
- Diagrama de classes Ilustra modelos de dados até para sistemas de informação muito complexos
- Ele fornece uma visão geral de como o aplicativo está estruturado antes de estudar o código real. Isso pode facilmente reduzir o tempo de manutenção
- Isso ajuda a compreender melhor os esquemas gerais de um aplicativo.
- Permite desenhar gráficos detalhados que destacam o código que deve ser programado
- Útil para desenvolvedores e outras partes interessadas.
Elementos essenciais de um diagrama de classes UML
Os elementos essenciais do diagrama de classes UML são:
- Nome da classe
- Atributos
- Operações
Nome da classe
O nome da classe só é necessário na representação gráfica da classe. Ele aparece no compartimento superior. Uma classe é o projeto de um objeto que pode compartilhar os mesmos relacionamentos, atributos, operações e semânticas. A classe é renderizada como um retângulo, incluindo seu nome, atributos e operações em compartimentos separados.
As seguintes regras devem ser observadas ao representar uma classe:
- O nome de uma classe sempre deve começar com uma letra maiúscula.
- O nome da classe deve sempre estar no centro do primeiro compartimento.
- O nome de uma classe sempre deve ser escrito em negrito .
- O nome de uma classe abstrata deve ser escrito em itálico.
Atributos:
Um atributo é denominado propriedade de uma classe que descreve o objeto que está sendo modelado. No diagrama de classe, esse componente é colocado logo abaixo do compartimento de nome.
Um atributo derivado é calculado a partir de outros atributos. Por exemplo, a idade do aluno pode ser facilmente calculada a partir de sua data de nascimento.
Características dos atributos
- Os atributos geralmente são escritos junto com o fator de visibilidade.
- Público, privado, protegido e pacote são as quatro visibilidades denotadas pelos sinais +, -, # ou ~ respectivamente.
- Visibilidade descreve a acessibilidade de um atributo de uma classe.
- Os atributos devem ter um nome significativo que descreva o uso deles em uma classe.
Relacionamentos
Existem basicamente três tipos de relacionamentos em UML:
- Dependências
- Generalizações
- Associações
Dependência
Uma dependência significa a relação entre duas ou mais classes na qual uma mudança em uma pode forçar mudanças na outra. No entanto, isso sempre criará um relacionamento mais fraco. Dependência indica que uma classe depende de outra.
No exemplo a seguir, o aluno depende da faculdade
Generalização:
Uma generalização ajuda a conectar uma subclasse à sua superclasse. Uma subclasse é herdada de sua superclasse. O relacionamento de generalização não pode ser usado para modelar a implementação da interface. O diagrama de classes permite herdar de várias superclasses.
Neste exemplo, a classe Student é generalizada a partir de Person Class.
Associação:
Esse tipo de relacionamento representa relacionamentos estáticos entre as classes A e B. Por exemplo; um funcionário trabalha para uma organização.
Aqui estão algumas regras para associação:
- Associação é principalmente verbo ou uma frase verbal ou substantivo ou frase nominal.
- Deve ser nomeado para indicar a função desempenhada pela classe anexada no final do caminho de associação.
- Obrigatório para associações reflexivas
Neste exemplo, é mostrada a relação entre o aluno e a faculdade, que é os estudos.
Multiplicidade
Uma multiplicidade é um fator associado a um atributo. Ele especifica quantas instâncias de atributos são criadas quando uma classe é inicializada. Se uma multiplicidade não for especificada, por padrão, um é considerado como uma multiplicidade padrão.
Digamos que haja 100 alunos em uma faculdade. A faculdade pode ter vários alunos.
Agregação
Agregação é um tipo especial de associação que modela um relacionamento todo-parte entre o agregado e suas partes.
Por exemplo, a faculdade de classe é composta por um ou mais alunos. Na agregação, as classes contidas nunca são totalmente dependentes do ciclo de vida do contêiner. Aqui, a aula da faculdade permanecerá mesmo que o aluno não esteja disponível.
Composição:
A composição é um tipo especial de agregação que denota forte propriedade entre duas classes quando uma classe faz parte de outra classe.
Por exemplo, se a faculdade for composta por classes de alunos. A faculdade pode conter muitos alunos, enquanto cada aluno pertence a apenas uma faculdade. Então, se a faculdade não está funcionando todos os alunos também são retirados.
Agregação vs. Composição
Agregação |
Composição |
A agregação indica um relacionamento em que o filho pode existir separadamente de sua classe pai. Exemplo: Automóvel (pai) e carro (criança). Portanto, se você excluir o Automóvel, o Carro filho ainda existirá. |
Relação de exibição de composição em que o filho nunca existirá independente do pai. Exemplo: Casa (pai) e Quarto (filho). Os quartos nunca serão separados em uma casa. |
Classes abstratas
É uma classe com um protótipo de operação, mas não a implementação. Também é possível ter uma classe abstrata sem nenhuma operação declarada dentro dela. Um resumo é útil para identificar as funcionalidades entre as classes. Vamos considerar um exemplo de classe abstrata. Suponha que temos uma classe abstrata chamada como um movimento com um método ou uma operação declarada dentro dela. O método declarado dentro da classe abstrata é chamado de move () .
Este método de classe abstrata pode ser usado por qualquer objeto, como um carro, um animal, um robô, etc., para alterar a posição atual. É eficiente usar este método de classe abstrata com um objeto porque nenhuma implementação é fornecida para a função fornecida. Podemos usá-lo de qualquer maneira para vários objetos.
Na UML, a classe abstrata tem a mesma notação da classe. A única diferença entre uma classe e uma classe abstrata é que o nome da classe é escrito estritamente em itálico.
Uma classe abstrata não pode ser inicializada ou instanciada.
Na notação de classe abstrata acima, existe o único método abstrato que pode ser usado por vários objetos de classes.
Exemplo de diagrama de classes UML
Criar um diagrama de classes é um processo direto. Não envolve muitos detalhes técnicos. Aqui está um exemplo:
O sistema de caixas eletrônicos é muito simples, pois os clientes precisam pressionar alguns botões para receber o dinheiro. No entanto, existem várias camadas de segurança pelas quais qualquer sistema ATM precisa passar. Isso ajuda a prevenir fraudes e fornecer dinheiro ou detalhes necessários para clientes bancários.
Abaixo, está um exemplo de diagrama de classes UML:
Diagrama de classes no ciclo de vida de desenvolvimento de software
Os diagramas de classes podem ser usados em várias fases de desenvolvimento de software. Ajuda na modelagem de diagramas de classes em três perspectivas diferentes.
1. Perspectiva conceitual: os diagramas conceituais descrevem coisas do mundo real. Você deve desenhar um diagrama que representa os conceitos no domínio em estudo. Esses conceitos estão relacionados à classe e é sempre independente do idioma.
2. Perspectiva de especificação: a perspectiva de especificação descreve abstrações ou componentes de software com especificações e interfaces. No entanto, não dá qualquer compromisso com a implementação específica.
3. Perspectiva de implementação: Este tipo de diagramas de classes é usado para implementações em uma linguagem ou aplicativo específico. Perspectiva de implementação, uso para implementação de software.
Melhores práticas de desenho do diagrama de classe
Os diagramas de classes são os diagramas UML mais importantes usados para o desenvolvimento de aplicativos de software. Existem muitas propriedades que devem ser consideradas ao desenhar um Diagrama de Classes. Eles representam vários aspectos de um aplicativo de software.
Aqui estão alguns pontos que devem ser mantidos em mente ao desenhar um diagrama de classe:
- O nome dado ao diagrama de classes deve ser significativo. Além disso, deve descrever o aspecto real do sistema.
- A relação entre cada elemento precisa ser identificada com antecedência.
- A responsabilidade por cada classe precisa ser identificada.
- Para cada classe, um número mínimo de propriedades deve ser especificado. Portanto, propriedades indesejadas podem facilmente complicar o diagrama.
- As notas do usuário devem ser incluídas sempre que você precisar definir algum aspecto do diagrama. Ao final do desenho, deve ser compreensível para a equipe de desenvolvimento de software.
- Por último, antes de criar a versão final, o diagrama deve ser desenhado em papel comum. Além disso, deve ser retrabalhado até que esteja pronto para a apresentação final.
Conclusão
- UML é a linguagem padrão para especificar, projetar e visualizar os artefatos de sistemas de software
- Uma classe é um projeto para um objeto
- Um diagrama de classes descreve os tipos de objetos no sistema e os diferentes tipos de relacionamentos que existem entre eles
- Ele permite a análise e design da visão estática de um aplicativo de software
- Os diagramas de classes são os diagramas UML mais importantes usados para o desenvolvimento de aplicativos de software
- Os elementos essenciais do diagrama de classes UML são 1) Classe 2) Atributos 3) Relacionamentos
- Diagrama de classes fornece uma visão geral de como o aplicativo está estruturado antes de estudar o código real. Certamente reduz o tempo de manutenção
- O diagrama de classes é útil para mapear linguagens de programação orientadas a objetos, como Java, C ++, Ruby, Python, etc.