Sie sind auf Seite 1von 11

Orientaes bsicas na elaborao de um

diagrama de classes
Este artigo orienta o estudante na elaborao de um diagrama de classe,
procurando estabelecer, de forma sinttica, os principais pontos para a abstrao
dos objetos e classes de um cenrio especfico...
por Douglas de Oliveira Tybel
223 7 4 30

RESUMO:
Este artigo orienta o estudante na elaborao de um diagrama de classe,
procurando estabelecer, de forma sinttica, os principais pontos para a
abstrao dos objetos e classes de um cenrio especfico. Neste sentido,
descreve-se seqencialmente, os sucessivos componentes para a construo de
um diagrama de classe completo.
PALAVRAS-CHAVE: Diagrama. Objeto. Classe. Abstrao
INTRODUO
Em programao, um diagrama de classes uma representao da estrutura e
relaes das classes que servem de modelo para objetos. Podemos afirmar de
maneira mais simples que seria um conjunto de objetos com as mesmas
caractersticas, assim saberemos identificar objetos e agrup-los, de forma a
encontrar suas respectivas classes. Na Unified Modeling Language (UML)
em diagrama de classe, uma classe representada por um retngulo com trs
divises, so elas: O nome da classe, seus atributos e por fim os mtodos.
Vejam abaixo na Figura1 sua representao:

Figura 1 - Classe Clientes


Porque to importante encontramos as classes para o desenvolvimento de um
sistema? simples, pois cada classe do diagrama representa uma tabela do
banco de dados, por esse motivo to importante encontrarmos. Observe
tambm que para identificarmos uma classe, precisamos antes identificar seus
objetos com caractersticas semelhantes.
Ao analisarmos um cenrio, poderemos identificar inmeros objetos, contudo
nem todo objeto ser til para nosso diagrama de classe, essa classificao dos
objetos que usaremos chamado de Abstrao. Abstrao a forma de
concentrarmos apenas nos aspectos essenciais do nosso cenrio.
Para o desenvolvimento do nosso diagrama de classe, precisaremos de um
cenrio qualquer onde realizaremos um passo a passo at abstrairmos todas as
classes, a partir deste ponto, poderemos efetuar as ligaes e cardinalidade.
CENRIO

Voc trabalha para uma empresa de desenvolvimento como Analista de


Sistemas. O responsvel pelo setor que voc trabalha, em uma reunio,
distribuiu tarefas para cada membro da equipe. Sua tarefa foi desenvolver um
diagrama de classe para que seja iniciado o desenvolvimento de um novo
software.
A empresa que nos contratou, deseja adquirir o certificado ISO 9001 em
qualidade, entretanto uma das normas repassadas foi que, deve ser obrigatrio
controlar os pedidos de suporte/servio que so feitos pelos clientes.
O ramo da empresa Servie Desk[1] o fluxo do processo segue abaixo:
O cliente entra em contato com a central atravs do telefone;
Um atendente tem um prazo curto para registrar esta solicitao, informando os
dados do cliente, o que foi solicitado, o nvel de urgncia, o grupo de
atendimento, o tcnico, um ou mais equipamentos envolvidos na manuteno.
Anotar toda a interao realizada no equipamento, como por exemplo: Se ele
conectar remotamente ao equipamento, deve informar em um histrico e
suponhamos que 3 segundos depois ele reinicie o equipamento, dever
informar no histrico tambm. Resumindo: Toda interao deve ser anotada no
registro com data e hora.
Caso ele consiga resolver o que foi solicitado, o tcnico do Service Desk ir
salvar o registro com a situao de Resolvido encerrando o caso, contudo
dever em um local especfico do registro definir como ele resolveu o caso,
informando que se tratava de um Incidente[2], Problema [3] ou Solicitao[4]. O
registro deve ser categorizado, escolhendo dentre trs classificaes: Categoria
>> Sub Categoria >> Item da categoria, onde a categoria uma lista de tipo
de servio, como por exemplo: Se foi Hardware ou Software. A Sub Categoria
est relacionada com a categoria, pois dependendo do que foi escolhido na
primeira lista ser mostrada na segunda que ser uma Sub Categoria, como por
exemplo: No caso da escolha de Hardware, seria informado na subcategoria
algum tipo de pea do equipamento que o tcnico interagiu, tipo DVD/R, no
caso de Categoria ser Software a sub categoria deveria ser qual software, tipo:
Word, Excel e etc...E no item da categoria deveria ser escolhido o que foi
realizado pelo tcnico, no caso de Hardware >> DVD/R, poderia ser
SUBSTITUIDO, LIMPADO..etc. No caso de Software >> Word >>
INSTALADO,DESINSTALADO etc...
Caso o tcnico do Service Desk no consiga resolver no seu prazo que ser o
mais curto, dever enviar o registro para outro grupo de atendimento onde
existiro outros tcnicos que podero ir at o equipamento fisicamente para
resolver o problema com um prazo mais extenso. Um grupo composto por
vrios tcnicos, no registro deve constar o grupo que atendeu e o tcnico, pois
cada registro conta como receita em reais para o grupo sendo apurado ao
efetuar fechamento mensal. O pagamento para os grupos de atendimento
feito por quantidade de registros atendidos no prazo estipulado.
Se mesmo o grupo de atendimento fsico tenta entrar em contato com o cliente,
mas no o obtiver sucesso, o tcnico poder deixar o registro agendado, para
realizar esta tarefa deve ser informado no registro data e hora que ser
retornado o atendimento do chamado e definir a situao do registro para
Pendente pelo cliente, definir tambm a data e hora para o prximo contato.
Esta situao de pendncia significa que o tcnico no est atendendo por
culpa do cliente e o tempo em que o registro fica nesta situao ser debitado
ao final do apuramento, a fim de beneficiar o grupo que o atende, pois cada
grupo tem um tempo para atender os registros e se ultrapassar este prazo
recebe multa em cima do valor do chamado.

Ao final caso o pedido tenha sido designado para outro grupo, ou esteja em
andamento, pendente, cancelado ou resolvido, deve-se informar em um campo
especfico o que foi feito neste registro resumidamente. Se a situao do
registro estiver definida como Resolvido, uma pesquisa de satisfao dever
ser enviada para o solicitante.
IDENTIFICAR OS OBJETOS TANGVEIS
Para identificarmos um objeto, precisamos antes entender como v-los, para
isso, basta ter como regra que: O objeto algo tangvel, que podemos perceblo a nossa frente, sendo possvel encontr-lo no mundo real ou virtual.
Exemplos de objetos que podemos perceber ao ir a uma lanchonete: Mesa,
Cadeira, Atendente, Lanche, Bebida e etc.
Vamos tentar encontrar os objetos do nosso cenrio, observe o primeiro item
abaixo:
O cliente entra em contato com a central atravs do telefone;
Nesta frase acima, podemos identificar como objetos:
Cliente
Telefone
Cliente considerado um objeto, pois tangvel e existem vrios outros iguais a
ele com as mesmas caractersticas, assim como o telefone.
No segundo item do cenrio identificamos:
Atendente
Solicitao
Grupo
Tcnico
Equipamento
Histrico
O nico item acima que gera dvida se ou no um objeto, seria histrico, pois
no normal vermos este objeto, entretanto ele existe, veja o exemplo deste
objeto no mundo real: Na escola existe o histrico escolar ou na clnica existe
histrico mdico e etc.
No terceiro item do cenrio identificamos:
Categoria
Sub Categoria
Item da categoria
Observe que estes objetos acima so difceis de identificarmos no mundo real,
mas preste ateno no cenrio de uma locadora de DVD veja que as placas com
o gnero dos filmes so categorias, aquelas placas so objetos tangveis
representando categorias que j seria sua classe me.

Os itens quatro e cinco do cenrio esto apenas explicando o processo, no


identificamos nenhum objeto novo.
No sexto e ultimo item do cenrio identificamos os seguintes objetos:
Pedido
Pesquisa satisfao
IDENTIFICAR OS OBJETOS POR SEUS ATRIBUTOS
Aps identificarmos os objetos que estavam visveis no cenrio, agora teremos
que encontr-los atravs de seus atributos, onde os atributos so
caractersticas do objeto, suponhamos que no cenrio acima, foi falado sobre
algum objeto, contudo no foi pronunciado seu nome, dificultando assim sua
localizao. Para encontrarmos teremos que identificar atributos ou
caractersticas, como por exemplo: se no cenrio dado acima, tivssemos o
atributo CPF, poderamos identificar que esta caracterstica pertence ao cliente,
identificando assim o objeto Cliente sem que seu nome houvesse sido
pronunciado no cenrio.
Voc deve repassar todo cenrio novamente em busca destas caractersticas
sem objetos, abaixo segue alguns que identifiquei:
Data
Hora
Situao
Tipo de Servio
Prazo
Observe que os atributos Data, Hora, Situao, Tipo de Servio e Prazo so
referente ao pedido, sendo assim, para identificarmos novas classes a partir
desses atributos, teremos que realizar a seguinte pergunta para cada um deles:
Eu preciso uma lista de: Atributo ? , onde no lugar de Atributo voc substitui
por atributos acima. Veja os testes abaixo:
Eu preciso uma lista de Data? = No
Eu preciso uma lista de Hora? = No
Eu preciso uma lista de Situao? = Sim
Eu preciso de uma lista de Tipo de Servio? = Sim
Eu preciso uma lista de Prazos? = Sim
As perguntas com resposta Sim, sero novas classes, segue abaixo as novas
classes encontradas:
Situaes
Tipo de Servios
Prazos
LISTA COMPLETA COM TODOS OS OBJETOS ENCONTRADOS

Listaremos abaixo para facilitar nossa visualizao, todos os objetos


encontrados aps nossa abstrao:
Cliente
Telefone
Atendente
Solicitao
Grupo
Tcnico
Equipamento
Histrico
Categoria
Sub Categoria
Item da categoria
Pedido
Pesquisa satisfao
Situaes
Tipo de Servios
Prazos
AGRUPAR OS OBJETOS POR SEMELHANA
Nosso prximo passo agrupar todos os objetos encontrados por caractersticas
semelhantes, como por exemplo: Mesa e Cadeira tm as mesmas
caractersticas, sendo classificadas como Mveis. Assim devemos trabalhar os
itens acima:
Cliente, Atendente e Tcnico = Pessoas
Solicitao, Histrico, Pedido e Pesquisa de Satisfao = Documentos
Telefone = Equipamentos
Veja que alguns dos objetos acima no foram classificados, devido a no
necessidade de tal processo, pois j est em sua classificao correta, devemos
apenas usar o plural, pois normalmente uma classe est no plural devido sua
origem em agrupas vrios objetos.
ELIMITAR CLASSES DESNECESSRIAS OU REPETIDAS
Observe no item anterior que muitas classes so do mesmo gnero, fazendo
com que esteja repetida no diagrama e se uma classe se repete no banco de
dados ser uma tabela criada sem propsito nenhum.
Para eliminar, vejamos primeiro as classes que agrupamos por semelhana:

Observe que Pedido e Solicitao no cenrio fez referncia a uma mesa coisa,
assim podem ento eliminar uma das duas, eu eliminei a solicitao.
Veja que Telefone um item de equipamentos, sendo assim podemos tambm
elimin-la:
Abaixo a nova lista de classes:
Pessoas
Cliente
Atendente
Grupo
Tcnico
Equipamento
Histrico
Categoria
Sub Categoria
Item da categoria
Pedido
Pesquisa satisfao
Situaes
Tipo de Servios
Prazos
MONTANDO O DIAGRAMA DE CLASSE
Para iniciarmos os primeiros passos de nosso diagrama de classe, desenhe em
uma folha de papel um retngulo com trs divises para cada classe.
Veja abaixo na Figura2, como deve ficar:

Figura 2 - Diagrama de classe sem ligaes e cardinalidade


REALIZANDO AS PRIMEIRAS LIGAES
Para efetuarmos a primeira ligao, faremos com os objetos que agrupamos por
caractersticas semelhantes, como por exemplo: Clientes, Atendentes e Tcnicos
se relacionam com pessoas, segue abaixo as ligaes:

Figura 3 - Parte do diagrama de classe envolvendo pessoas

Figura 4 - Parte do diagrama de classe envolvendo documentos


EFETUANDO AS LIGAES ENTRE AS CLASSES
Este ponto trabalho, pois devemos testar classe por classe em busca de
ligaes, veja abaixo como realizar esta tarefa:
Sabemos que o cliente entra em contato com o atendente que gera um pedido.
Com esta informao observamos que um pedido foi gerado da interao entre
cliente e atendente, onde um cliente pode solicitar vrios pedidos para um
atendente e um atendente atende a vrios clientes. Sua cardinalidade ser N
para N, onde N quer dizer muitos, sendo: Muitos para Muitos, quando ocorre
esse tipo de cardinalidade nasce uma nova tabela ou classe, entre esses dois foi
a classe pedidos, que j havamos identificado antes. O importante sobre a N
para N que a classe que nasceu recebe os cdigos da classe que o fez relao,
ficando a classe Pedido com o cdigo do cliente e o cdigo da atendente.
Sabemos tambm que esse pedido ser repassado para um tcnico que o
atender, sendo assim um tcnico pode atender a vrios pedidos e um pedido
pode ser atendido por um tcnico, sendo representado por 1-N, lembrando que
a classe que recebe o N herda o campo chave da outra classe como chave
estrangeira, sendo assim ficar a tabela de pedidos com mais um campo
chamado: cdigo do tcnico.
Faa o processo para todas as classes, use sempre a pergunta dessa forma:
Um Nome de um objeto da classe pode nome da ligao (verbo) um ou
vrios nome da classe
Como ficaria entre Pedidos e situao:
Um pedido pode ter uma ou vrias situaes?
Resposta: Vrias, pois ao abrir est em andamento, em outro ponto do tempo
pode ficar pendente e ser concluda ao final do servio.
DIAGRAMA DE CLASSE COMPLETO

Figura 5 - Diagrama de classe completo


CENRIO PARA EXERCITARMOS
Voc trabalha para uma empresa coorporativa, seu cargo Analista de
Sistemas. O responsvel pelo setor Ativos [5] lhe enviou um email solicitando o
desenvolvimento de um software para resolver um problema que o setor tem
constantemente enfrentado com as auditorias internas, esta medida de suma
importncia e o desenvolvimento deve ser realizado o mais breve possvel
antes que auditoria externa faa a prxima visita. Sua tarefa foi desenvolver um
diagrama de classe para que seja iniciado o desenvolvimento deste novo
software.
Abaixo segue o cenrio informado pelo responsvel do projeto:
A empresa que nos contratou, deseja adquirir o certificado ISO 9001 em
qualidade, entretanto um dos itens de verificao o registro de movimentao
dos ativos.
Segue abaixo o que foi explicado pelo responsvel:
O cliente entra em contato com a central atravs do telefone solicitando vrios
tipos de servio para a TIC[6], alguns deles so:
remanejamento/instalao/alienao [7] de Ativos (computadores, monitores,
impressoras e etc.);
Quando um equipamento instalado ou movido, seu histrico de
movimentao deve ser registrado e em um software central, tambm deve ser
possvel saber exatamente sua localizao.
A localizao do equipamento dividida por cidade, imvel, andar e sala, por
exemplo: Suponhamos que a empresa tenha filiais em cidades distintas sendo
que em cada cidade existem outros imveis desta mesma filial, sendo estes
imveis divididos por andares e cada andar pode ter vrias salas separadas.

No cadastro do Ativo deve ser informada esta localizao detalhadamente, a


ponto do auditor ao verific-lo saiba exatamente a localizao do equipamento.
Quem envia as solicitaes de movimentao so os tcnicos da TIC, tendo em
vista que so eles que fazem esta instalao ou movimentao do Ativo. Um
usurio que no seja da TIC, proibido de tomar esta ao. Ao enviar a
solicitao ele deve informar a etiqueta do ativo e a localizao de destino para
o setor de Ativos, assim atravs desta solicitao que ficar com situao de
pendente at que seja movida pelo funcionrio do setor de Ativos possvel
alterar o cadastro do Ativo para a nova localizao.
O funcionrio do setor de Ativo deve de posse da movimentao enviada para
mover o ativo, acessar o cadastro do ativo e alterar sua localizao de acordo
com o solicitado e tambm alterar a situao da solicitao do tcnico da TIC
para a nova situao: MOVIDA.
O histrico destas solicitaes deve ser classificado por etiqueta do ativo e pelo
tcnico da TIC que o fez, a fim de posteriores conferncias.
CONCLUSO
Neste artigo conferimos as orientaes bsicas na elaborao de um diagrama
de classe, onde o ponto chave foi a usar o processo de abstrao com aliado na
busca dos objetos espalhando em um contexto do cenrio. Vimos ainda como
classificar as classes eliminar duplicidades, identificar por atributos e etc.
A dica passada aqui como identificar os objetos em um cenrio a fim de
projetar um diagrama de classe sem falhas. Interessante dizer que crianas
identificam objetos mais facilmente do que os adultos, pois o processo nos
cega, deixando alguns objetos invisveis.
Lembre-se de aplicar os passos: Identificar Objetos, Classific-los e eliminar
duplicidade, feito isso, voc ter o mais complicado que so as classes, depois
com ajuda de um bom livro de anlise ou um professor, realizar as
cardinalidade no ser problema algum.
REFERNCIAS
Melo, Ana Cristina. Desenvolvendo Aplicaes com UML, 1 Edio, Brasport,
2002.
Melo, Ana Cristina. Desenvolvimento aplicaes com UML 2.0: do conceitual
implementao / Ana Cristina Melo. 2. Ed. Rio de Janeiro : Brasport, 2004.
ISO 9001.

[1] O Service Desk uma Central de Servios de atendimento


integrado em Tecnologia da Informao, baseado na ITIL, que presta
assessoria, gesto e integrao de recursos e ferramentas, para
atendimento interno (staff) ou externo (clientes direto e indiretos).
[2] Parada repentina ou reduo da qualidade do servio.
[3] Vrios incidentes j ocorridos sem soluo.
[4] Pedido de servio.
[5] Em contabilidade, Ativo um termo bsico utilizado para
expressar o conjunto de bens, valores, crditos, direitos e
assemelhados que forma o patrimnio de uma pessoa, singular ou

coletiva, num determinado momento, avaliado pelos respectivos


custos
[6] Tecnologias da Informao e Comunicao - sigla para designar a
informtica e sua potencializao com os recursos de comunicao
[7] Perda de algum bem material, fsico, mental, emocional, cultural,
social, poltico e/ou econmico.
Read more: http://www.linhadecodigo.com.br/artigo/3219/orientacoes-basicas-na-elaboracaode-um-diagrama-de-classes.aspx#ixzz4HYPML9nA

Das könnte Ihnen auch gefallen