Tutorial de diagrama de classes UML: classe abstrata com exemplos
O que é classe no diagrama UML?
A Classe em UML diagrama é um projeto usado para criar um objeto ou conjunto de objetos. A classe define o que um objeto pode fazer. É um modelo para criar vários objetos e implementar seu comportamento no sistema. Uma classe em UML é representada por um retângulo que inclui linhas com nomes de classes, atributos e operações.
O que é Diagrama de Classes?
A Diagrama de Classe em Engenharia de software é uma estrutura estática que fornece uma visão geral de um sistema de software, exibindo classes, atributos, operações e seus relacionamentos entre si. Este diagrama inclui o nome da classe, atributos e operação em compartimentos designados separados. O Diagrama de Classes ajuda a construir o código para o desenvolvimento de aplicativos de software.
O Diagrama de Classes define os tipos de objetos no sistema e os diferentes tipos de relacionamentos que existem entre eles. Ele fornece 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 herdar de outras classes.
Benefícios do Diagrama de Classes
- Diagrama de classes ilustra modelos de dados até mesmo 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
- Ajuda a melhor compreensão dos esquemas gerais de uma aplicação.
- Permite desenhar gráficos detalhados que destacam o código necessário para 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ântica. A classe é renderizada como um retângulo, incluindo seu nome, atributos e operações em compartimentos especiais.
As seguintes regras devem ser observadas ao representar uma classe:
- O nome de uma classe deve sempre começar com letra maiúscula.
- O nome da classe deve estar sempre no centro do primeiro compartimento.
- O nome de uma classe deve sempre ser escrito em pino formato.
- O nome da classe abstrata UML 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 classes, este componente é colocado logo abaixo do compartimento de nomes.
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 indicadas pelos sinais +, -, # ou ~, respectivamente.
- A visibilidade descreve a acessibilidade de um atributo de uma classe.
- Os atributos devem ter um nome significativo que descreva seu uso 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 em que uma mudança em uma pode forçar mudanças na outra. No entanto, sempre criará um relacionamento mais fraco. Dependência indica que uma classe depende de outra.
Nos exemplos de diagramas de classes UML a seguir, Student depende de College
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 múltiplas superclasses.
Neste exemplo, a classe Student é generalizada da classe Person.
Associação:
Este 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:
- A associação é principalmente um verbo ou uma frase verbal ou um substantivo ou frase nominal.
- Deve ser nomeado para indicar o papel desempenhado pela classe anexada no final do caminho de associação.
- Obrigatório para associações reflexivas
Neste exemplo é mostrada a relação entre aluno e faculdade que são os estudos.
Multiplicidade
Uma multiplicidade é um fator associado a um atributo. Especifica quantas instâncias de atributos são criadas quando uma classe é inicializada. Se uma multiplicidade não for especificada, por padrão uma será considerada como multiplicidade padrão.
Digamos que haja 100 alunos em uma faculdade. A faculdade pode ter vários alunos.
Agregação
A agregação é um tipo especial de associação que modela uma relação 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 dependem totalmente do ciclo de vida do contêiner. Aqui, a turma 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 turmas de estudantes. A faculdade pode conter muitos alunos, enquanto cada aluno pertence a apenas uma faculdade. Então, se a faculdade não estiver funcionando todos os alunos também serão retirados.
Agregação vs. Composição
Agregação | Composição |
---|---|
Agregação indica um relacionamento onde o filho pode existir separadamente de sua classe pai. Exemplo: Automóvel (pai) e carro (filho). Portanto, se você excluir o Automóvel, o Carro filho ainda existirá. | Relacionamento de exibição de composição onde 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 protótipo de operação, mas não de implementação. Também é possível ter uma classe abstrata sem operações declaradas dentro dela. Um resumo é útil para identificar as funcionalidades das classes. Vamos considerar um exemplo de classe abstrata. Suponha que temos uma classe abstrata chamada de movimento com um método ou operação declarada dentro dela. O método declarado dentro da classe abstrata é chamado de mover ().
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 forma 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.
No acima notação de classe abstrata, 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 simples. Não envolve muitos detalhes técnicos. Aqui está um exemplo:
O sistema dos caixas eletrônicos é muito simples, pois os clientes precisam pressionar alguns botões para receber dinheiro. No entanto, existem múltiplas camadas de segurança que qualquer sistema ATM precisa passar. Isso ajuda a prevenir fraudes e fornecer dinheiro ou informações necessárias aos clientes bancários.
Abaixo está um exemplo de diagrama de classes UML:
Verifique também: - Diagramas UML: histórico, tipos, características, versões, ferramentas
Diagrama de classes no ciclo de vida de desenvolvimento de software
Os diagramas de classes podem ser usados em diversas fases de desenvolvimento de software. Ajuda na modelagem de diagramas de classes em três perspectivas diferentes.
1. Perspectiva conceitual: Diagramas conceituais descrevem coisas no mundo real. Você deve desenhar um diagrama que represente os conceitos do domínio em estudo. Esses conceitos estão relacionados à classe e são sempre independentes do idioma.
2. Perspectiva de especificação: A perspectiva da especificação descreve abstrações ou componentes de software com especificações e interfaces. No entanto, não assume qualquer compromisso de implementação específica.
3. Perspectiva de implementação: Este tipo de diagrama de classes é usado para implementações em uma linguagem ou aplicação específica. Perspectiva de implementação, uso para implementação de software.
Melhores práticas de Desenho do Diagrama de Classes
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 classes:
- 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 antecipadamente.
- 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.
- Notas do usuário devem ser incluídas sempre que você precisar definir algum aspecto do diagrama. Ao final do desenho, ele 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, deverá ser retrabalhado até que esteja pronto para submissão final.
Conclusão
- UML é a linguagem padrão para especificar, projetar e visualizar os artefatos de sistemas de software.
- Uma classe é um modelo para um objeto
- Um diagrama de classes descreve os tipos de objetos no sistema e os diferentes tipos de relacionamentos que existem entre eles.
- Permite análise e design da visão estática de uma aplicação 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
- O 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++, Rubi, Python, etc.
Verifique também: - Tutorial de diagrama UML para iniciantes: aprenda UML online GRATUITAMENTE