Make your own free website on Tripod.com

Diagrama de classes

A elaboração do diagrama de classes não pode ser feita em um único passo, e nem é um processo isolado na modelagem do sistema. [FURLAN] diz que inicialmente são determinadas as classes principais do sistema e seus atributos. Essas classes são obtidas a partir do estudo da especificações do sistema e dos casos de uso. Depois de criar essas classes preliminares elas passam por um processo de normalização do modelo visando sua estabilidade e integridade. Além disso, deve-se buscar modelar classes mais simples para que elas possam ser mais fáceis de copreender, documentar e principalmente, implementar.

Continando o processo de desenvolvimento, saindo da análise inicial e partindo para o projeto do sistema, pode haver necessidade de criar novas classes que não foram previstas no modelo preliminar. As novas classes também devem integrar o diagrama de classes para que ele não fique inconsistente com a implementação, que deve seguir o que foi concebido no projeto.

Para criar um diagrama de classes no Umbrello, o primeiro passo é selecionar o menu Diagram->New->Class Diagram. Para criar uma nova classe deve-se selecionar o ícone correspondente a classe na barra de ferramentas à direita da janela do Umbrello e clicar na área do diagrama. Para usar uma classe esistente, deve-se arrastá-la da árvore mostrada à esquerda do Umbrello para a área do diagrama. A figura Figura 4 mostra o Umbrello modelando o diagrama de classes.

Da mesma forma que foi feito no diagrama de casos de uso, para ligar duas classes seleciona-se o tipo de ligação desejado na barra de ferramentas à direita e clica-se nas duas classes que devem ser ligadas. Atributos do relacionamento como multiplicidade e rótulo podem ser alterados clicando-se sobre o relacionamento com o botão direito do mouse e, no menu que aparece, selecionar a opção Properties. Uma janela então se abre para que as propriedades do relacionamento sejam alteradas. À esquerda existem algumas opções que, quando selecionadas, mudam a página de propriedades do relacionamento. A primeira página (General) permite alterar o nome do relacionamento e documentar o relacionamento. Na página Roles é possível alterar os atributos relativos a cada uma das classes do relacionamento.

Para documentar uma classe, bem como criar os seus atributos e seus métodos, deve-se dar um duplo clique sobre a classe desejada. O Umbrello mostra uma janela similar à janela de propriedades do relacionamento, porém com opções diferentes. Na página General, é possível alterar o nome da classe e escrever a sua documentação. Na página Attributes são informados os atributos da classe. Na página Operations são criados os métodos da classe. Se os relacionamentos já foram feitos no diagrama, a página Associations vai exibi-los.

Figura 4. Umbrello - Diagrama de classes

A definição das classes no Umbrello é muito importante porque baseado nestas informações, ele gera o código fonte contendo o esqueleto da classe, restando ao programador apenas codificar cada método da classe e efetuar alguns ajustes para acessar as bibliotecas necessárias para compilar o sistema. Como foi escolhida a linguagem de programação C++, o Umbrello vai gerar os arquivos headers (.h) e os arquivos fonte (.cpp). Ao gerar os arquivos, o Umbrello inclui também toda a documentação que foi inserida na definição da classe no formato reconhecido pelo DOxygen.

Para ilustrar o funcionamento do Umbrello, será mostrado como definir a classe DListaFormaPagto. Esta classe é responsável por obter os dados das formas de pagamento do banco de dados para que seja elaborada uma lista que será exibida ao usuário. Depois de criada a classe, deve-se dar um duplo clique sobre ela para abrir a janela de propriedades (Figura 5) que é onde são informados os atributos, métodos e documentação da classe.

A primeira tarefa é documentar a classe, indicando para que ela serve e fornecendo uma visão geral sobre seu funcionamento. Não é necessário neste momento entrar em detalhes sobre os atributos e métodos porque eles terão sua própria documentação.

Figura 5. Umbrello - documentando uma classe

Feita a documentação da classe, pode-se informar os seus atributos. Para isso deve-se selecionar a página Attributes e clicar no botão New Attribute. Uma janela como a da Figura 6 é aberta para definir o novo atributo. Agora é só definir as propriedades do atributo e confirmá-lo. O Umbrello volta à tela anterior com o atributo criado na lista. Para documentá-lo, clica-se sobre ele e digita-se a documentação na área de texto Documentation, como mostrado na Figura 7.

Figura 6. Umbrello - Criando um novo atributo

Figura 7. Umbrello - documentando um atributo

Depois de incluídos e documentados os atributos, pode-se incluir os métodos da classe. Para isso o primeiro passo é selecionar a página Operations. Selecionada a página dos métodos, deve-se clicar no botão New Operation para criar um método. Uma tela como a da Figura 8 é aberta onde o método será definido. Na tela das propriedades do método, pode-se incluir também os parâmetros que o método vai precisar para seu processamento. Para incluir um parâmetro, deve-se dar um clique no botão New Parameter. A tela de propriedades do parâmetro é similar à das propriedades de atributo. Ao confirmar os dados do parâmetros, o Umbrello volta às propriedades do método e, ao terminar de definir o método, é necessário confirmar para que o Umbrello volte à tela de definição da classe.

Figura 8. Umbrello - definindo um método

Assim como na criação de atributos, depois de confirmado um método, o Umbrello vai acrescentá-lo à lista e, para documentar o método criado, deve-se clicar sobre ele e preencher o texto Documentation. Da mesma forma que foi criada a classe DListaFormaPagto também serão criadas as outras classes do sistema. Nos diagramas de seqüência, a criação das classes é feita de forma semelhante à descrita.

Para ilustrar o funcionamento do Umbrello, tanto na modelagem como na geração de códigos fonte, foi elaborado apenas um trecho do diagrama de classes que mostra as classes criadas para manter o cadastro de formas de pagamento. Com a análise dos casos de uso várias outras classes deverão ser criadas, mas para o propósito deste trabalho, que é mostrar o funcionamento das ferramentas, o diagrama de classes da Figura 9 é suficiente para ilustrar como ficaria o resultado final do trabalho realizado com o auxílio do Umbrello.

Figura 9. Trecho do diagrama de classes do sistema