Você está na página 1de 7

Diagrama de Classes.

Prof. Maikel Linares

Modelo Conceitual
Artefato mais importante da anlise orientada a objetos.

Objetivo:
- Identificar um conjunto rico de objetos conceituais. - Suas associaes. - Seus Atributos. Deve enfatizar os conceitos do domnio do problema e no entidades de software.

Conceitos
Definio: - Idia, coisa, objeto. - Parte do NEGCIO. Estratgias para identificar conceitos: 1) Identificao de substantivos. 2) Lista de categorias de Craig Larman. Ex: - Objetos fsicos ou tangveis. - Lugares. - Transaes. - Papis desempenhados por pessoas. - Outros sistemas. - Registros. Exemplos, e notao UML
Locao Fita Categoria Funcionrio

Associao Relacionamento com significado e interesse. Notao UML


Pertence
Filme 1 1 Categoria

Multiplicidade 1 0...1 1...40 5 3,5,8 1...* * um zero ou um um at 40 exatamente 5 exatamente 3, 5 ou 8 um ou vrios zero ou vrios

Lista de associaes comuns: -A uma parte de B -A est contida em B -A uma linha de item de uma transao ou relatrio B -A conhecido / registrado / relatado por B -A usa ou gerencia B -A se comunica com B
Fonte: Prof Fernando J. C. Branquinho / Prof Cibele Schmidtke

Nomeando associao - Usar sempre frase com verbo - Separar as palavras com hfem - Direo da leitura ESQ para DIR de CIMA para BAIXO Atributos - Valores de dados puros - Incluir aqueles onde necessrio memorizao. Exemplos:
Categoria -nome -preo Funcionrio -id -nome

Dicas: - Se voc no v o atributo como somente um nmero ou um texto ento provavelmente ele um conceito. - Se o atributo identificado possuir seus prprios atributos, ento provalvelmente melhor defini-lo como um conceito. Identificao dos conceitos 1 Passo: Identificao dos conceitos Funcionrio Cliente [ telefone, nome, senha, Fita [ cdigo, Locao [ data, total, Filme [ nome, Categoria [ preo, Pagamento Comprovante Locadora

Foi eliminado porque uma locao s realizada mediante pagamento e portanto sempre existe.
*
Cliente Pagamento

Possui
Funcionrio

realizado por 1
1

Nada no sistema solicita identificao do funcionrio

1 1 Locadora

Realiza

Acontece
Foi eliminado porque possui as mesmas informaes da locao, e no necessita registro adicional.

*
Locao 1

1 1 Categoria

ClassificaFilmesEm

1 1

Aluga
Fita

Gera

Possui

* 1 1

Comprovante 1

Possui Registro
1

sobre
Filme

Fonte: Prof Fernando J. C. Branquinho / Prof Cibele Schmidtke

Para que serve o diagrama de classe? O diagrama de classes serve para demonstrar de uma forma visual as classes e seus relacionamentos. O diagrama de classes, o mais importante de todos os diagramas da UML, pois quando se tem uma viso de todas as classes (principalmente da camada de negcio) o programador j sabe que classe criar e qual se relacionam com qual. Dica: O diagrama de classe bastante parecido com o MR (Modelo Entidade Relacionamento), pois na maioria das vezes as classes correspondem s tabelas. Mas ateno nem toda tabela classe. Veja a figura abaixo:

A figura acima descreve uma classe com seus componentes mais simples, agora vamos ver o que significa cada componente Visibilidade (Encapsulamento) - Como o compilador v a classe, atributo ou mtodo. So de 3 tipos bsicos: + publico privado # protegido Sendo este usado com menos freqncia Dica: Toda classe publica, todo atributo privado e todo mtodo publico Tipo varivel informamos que tipo de dado a varivel vai receber . Tipos de Varivel String Classe que armazena Caracteres Integer Armazena nmeros inteiros Date Armazena Datas Real Nmeros com casas decimais (no inteiros) Money Unidade Monetria Retorno Que tipo de informao o mtodo vai retornas Void Quando o mtodo no vai ter nenhum retorno Real Quando o mtodo vai retornar nmeros no inteiros String Quando o mtodo retornar caracteres Integer Quando o mtodo retorna nmeros inteiros Parmetros Muitas aes necessitam de um algo a mais para serem concludas ento surgem os parmetros que passam as informaes a mais para as aes serem concludas com sucesso. Exemplo: O mtodo calacularMedia para que a mdia seja calculada necessrio que sejam informadas as notas e seus respectivos tipos, surge ento os parmetros Veja: calcularMedia (Real nota1, Real nota2) Real Agora que j conhecemos os elementos bsicos, vamos ver os relacionamentos. J que as classes so representaes de algo que existe no mundo real e tudo no mundo real se relaciona, as classes tambm tm seus relacionamentos. Existem inmeros relacionamentos nas classes porm vamos abordar apenas os 2 mais usados e caso houver alguma necessidade citamos futuramente OK!? Herana

Fonte: Prof Fernando J. C. Branquinho / Prof Cibele Schmidtke

O relacionamento de herana o mais usado, pois muitas vezes temos informaes genricas que pertencem a um grupo especifico, ai ento surge uma classe, logo surge um problema mais e se surgirem informaes que so genricas mais que pertencem a um grupo distinto? Eu crio ento uma classe igualzinha a j criada e coloco as informaes deste grupo certo? Errado! Imagine se isso acontecer 1,2,3 vezes que loucura.. Vamos pensar... Se esta classe com informaes iguais j existe, porque criar outra com as mesmas informaes? Ai entra o recurso da Herana. Exemplo: Eu tenho a classe Funcionrio que tem atributos comuns e mtodos, todos os funcionrios da minha empresa tm essas caractersticas. O que acontece so existem funcionrios do administrativo e da linha de produo. O que fao agora? Veja: Esta classe a genrica com as informaes que todo funcionrio independente do setor possu.

J o Funcionario_Adm alm dessas informaes que j esto na classe anterior, ele possu tambm um mtodo a mais, ento eu crio uma classe com a seguinte aparncia:

No entanto o pessoal da linha de produo recebe uma insalubridade, que varia de percentual ento eu crio uma classe com esta aparncia:

Bom agora eu tenho 3 classes mas como eu as organizo? Calma..... O relacionamento de herana em um diagrama de classe representado da seguinte forma:

As setas informam que as classes herdam da classe Funcionrio todas as informaes, ou seja nas classes Funcionrio_Adm e Funcionrio_Linha j tem todas as informaes (nome, rm, realizaHoraExtra, etc.) alm das suas informaes prprias.
Fonte: Prof Fernando J. C. Branquinho / Prof Cibele Schmidtke

Associao Este tipo de associao a mais simples indica apenas que uma classe se liga com a outra trocando as informaes, sem herd-las.

Por exemplo este relacionamento s diz que um funcionrio possu um gerente por exemplo. Mas espera a !!!!! Se as classes como tudo no mundo real se relaciona, tem que se informado a quantidade de vezes que elas relacionam. No diagrama de classes existem basicamente os seguintes tipos de relacionamentos. Smbolo 0..* 1..* 1..1 Significado 0 ou vrios 1 ou vrios Um exatamente um

Veja um exemplo de como isso funciona dentro do diagrama de classes

Na imagem acima significa que 1 ou vrias pessoas residem em um nico municpio. Dica: Caso voc tenha alguma dificuldade de ver os relacionamentos entre as classes, pense nestas como tabelas isso pode ajudar um pouco.

Nome da associao Verbo que indica o nome que a associao vai possuir , vem sempre acompanhada de um tringulo ( ) que indica a direo no qual o nome deve ser lido.

A figura acima diz que um funcionrio possu 1 holerith naquele ms.

Fonte: Prof Fernando J. C. Branquinho / Prof Cibele Schmidtke

Como criar um diagrama de classes? Construir um diagrama de classes algo um pouco complicado, requer um pouco de pacincia, e com um pouco de prtica essa tarefa fica um pouco mais tranqila. Segue agora alguns passos que podem ajudar na construo do seu diagrama de classes. Passo 1: Identifique as classes seus atributos e mtodos, dentro do contexto do sistema que voc est desenvolvendo. Passo 2: Verifique os relacionamentos (associao comum ou de herana). Passo 3: Veja a multiplicidade. Defina a quantidade de vezes que as classes vo se relacionar. Passo 4: Defina o nome de cada associao e o seu sentido. Desenvolva o diagrama de classe de um sistema de emprstimo, resumidamente o sistema dever ter o devedor e o credor, com suas respectivas senhas, os valores das transaes (valor emprestado, valor juros ), datas referentes a transao ( data emprstimo, data vencimento, data pagamento ), bloqueio de seguranas ( realizar novo emprstimo com debito em seu nome, conceder emprstimo existindo divida a terceiro ).

Fonte: Prof Fernando J. C. Branquinho / Prof Cibele Schmidtke

Dica: Se voc encontrar muita dificuldade em desenvolver o diagrama de classe inicialmente, desenvolva-o como se estivesse desenvolvendo um modelo entidade relacionamento.

Fonte: Prof Fernando J. C. Branquinho / Prof Cibele Schmidtke

Você também pode gostar