#8: Diagrama de Classes

Modelando estruturalmente seu sistema


A UML é uma linguagem, já discutida nas postagens anteriores, que é composta por diagramas tanto estruturais quanto comportamentais. Dentre esses diagramas temos o diagrama de classes, que é um dos mais importantes e utilizados para modelagem na análise de requisitos para definição dos requisitos do sistema.

A notação do diagrama de classes seguindo a linguagem UML é de certa forma extensa, mas fácil de aprender. Para não prolongar muito o decorrer da postagem e ficar algo muito extenso e chato, a seguir tem um link <http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/uml/diagramas/classes/classes1.htm> , onde são especificados e explicados todos os conceitos e notação na UML do diagrama de classes. Esse site é bem recomendado, pois também há informações sobre os outros diagramas mais usados no desenvolvimento além do diagrama de classes.

Em um processo de modelagem estrutural, é muito comum haver classes, atributos e relação entre as classes denominadas associações. Mas como identificar esses elementos? Como sei que isso é uma classe? Como sei que aquilo são atributos da classe x ou da y? Como sei que isso se relaciona com aquilo? São perguntas pertinentes e devem ser respondidas no processo de análise. 

Quando vamos identificar uma classe é muito familiar identificarmos os atributos juntamente. Logo eles estão intimamente ligados nesse processo. As vezes através das classes e suas características identificamos quais são seus atributos. E isso também pode ocorrer de forma inversa, pois em um mini-mundo do sistema a ser realizado tem-se um conjunto de atributos que são identificados e eles se relacionam entre si e acabam se tornando uma classe. Em alguns momentos por decisões de projeto atributos são identificados para que seja alcançado o requisito proposto. E aí está a palavra chave, requisitos.

Ok, mas por que requisitos é a palavra chave? Simplesmente porque identificamos relações, modelos (classes) e as propriedades desses modelos (atributos) para atender os requisitos. Tudo está em volta disso, se tal associação ou atributo atende o requisito da forma consistente, então isso é a identificação correta. 

Levando tudo isso em consideração, sabemos através de postagens anteriores que as classes são representadas por um retângulo, onde contém nome da classe, seus atributos e métodos. A figura abaixo mostra um modelo de uma classe utilizado em diagramas de classes.

Figura 1 - Modelo de uma classe.


Então vamos a um exemplo simples do dia-a-dia de um estudante. Abaixo tem-se uma figura de uma parte de um diagrama de uma escola, onde nela temos alunos, turma e professores. Percebe-se que todos essas três entidades são de grande importância para o sistema e representam classes diferentes com seus atributos e métodos. 


Figura 2 - Exemplificação de um Diagrama de Classe.


Note que há relação entre as classes Turma e Aluno, assim como a Turma com o Professor, os quais são chamadas de associações entre as entidades identificadas. Note também que seus atributos foram identificados considerando a escopo do problema, ou seja, sabemos que um Aluno, assim como um Professor possuem mais atributos/características do que é identificado no diagrama, mas ele não são relevantes para o escopo do problema definido. Isso se chama a abstração, o qual abstraímos tudo aquilo que não é importante ao que está sendo proposto e trabalhamos somente com aquilo que interessa e como tido anteriormente, atenda aos requisitos. A mesma coisa ocorre com os métodos, os quais são funcionalidades/ações que a classe pode executar. Como no exemplo da Turma, que possui métodos de definirProfessor que tem a funcionalidade de determinar o professor para a Turma instanciada, assim como o método incluirAluno que determinam os alunos que serão para a Turma.

Outro exemplo prático da modelagem de um diagrama de classes seria o sistema da Bike Vitória <http://www.bikevitoria.com/>, Espírito Santo, onde funciona como um aluguel de bicicletas, em que o cliente por meio do aplicativo ou ligação telefônica consegue alugar uma bicicleta para se deslocar pela Cidade. Por essa simples explicação podemos identificar duas classes muito importante desse sistema, os quais são a bicicleta e também o cliente que aluga a bicicleta. Logo devemos definir seus atributos e posteriormente com auxílio de diagramas comportamentais, seus métodos, para essas classes identificadas.

Enfim, o diagrama de classes é uma importante forma de modelar estruturalmente o sistema e se feito de maneira consistente e bem feita consequentemente obterá um resultado em que o cliente deseja atendendo suas necessidades.


Comentários