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:

  1. Nome da classe
  2. Atributos
  3. Operaรงรตes

Nome da classe

Nome da classe em UML

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:

  1. O nome de uma classe deve sempre comeรงar com letra maiรบscula.
  2. O nome da classe deve estar sempre no centro do primeiro compartimento.
  3. O nome de uma classe deve sempre ser escrito em pino formato.
  4. 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.

Atributos em UML

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.

Atributos em UML

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:

  1. Dependรชncias
  2. Generalizaรงรตes
  3. 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

Relacionamentos em UML

Generalizaรงรฃo:

Relacionamentos em UML

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.

Relacionamentos em UML

Multiplicidade

Relacionamentos em UML

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.

Relacionamentos em UML

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:

Relacionamentos em UML

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.

Notaรงรฃo de classe abstrata
Notaรงรฃo de classe abstrata

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:

Exemplo de diagrama de classes UML

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

Resuma esta postagem com: