AULA 02 - DIAGRAMA DE CLASSE 2 REPRESENTAÇÃO DE CLASSES DIAGRAMA DE CLASSES...
Transcript of AULA 02 - DIAGRAMA DE CLASSE 2 REPRESENTAÇÃO DE CLASSES DIAGRAMA DE CLASSES...
04/07/2015
1
UML
Prof. Esp. Fabiano Taguchihttp://fabianotaguchi.wordpress.com
DIAGRAMAS DE CLASSE
04/07/2015
2
REPRESENTAÇÃO DE CLASSES
DIAGRAMA DE CLASSES
O diagrama de classes serve deapoioapoioapoioapoio para o desenvolvimentode outros diagramas, pois:
� Estabelece como as classesfuncionam e se relacionamrelacionamrelacionamrelacionam;
� Permite visualizar as classesque compõem o sistema.
04/07/2015
3
CLASSES
As classes são representadas graficamente por retângulosincluindo seu nome, os atributos e métodos. É comum adotar umpadrão para renomear, geralmente sendo um substantivosubstantivosubstantivosubstantivo singularsingularsingularsingulare com a primeira letra maiuscula.
ATRIBUTOS
Os atributos de uma classe são a identificação de cadaobjeto de uma classe. Além do nomenomenomenome o atributo deve ser o tipotipotipotipode dado que será armazenado.
� Byte;
� Boolean;
� Int ou double;
� Char ou string.
04/07/2015
4
MÉTODOS
Os métodos são as ações (comportamentos) que serãoexecutadasexecutadasexecutadasexecutadas sobresobresobresobre osososos atributosatributosatributosatributos dasdasdasdas classesclassesclassesclasses. Os métodos sãonomeados para indicar algum resultado.
MÉTODOS
As operações de uma classe Pessoa são diferentesdependendo do ponto de vista de quem fará a ação.
PERSPECTIVAPERSPECTIVAPERSPECTIVAPERSPECTIVA DEDEDEDE UMUMUMUM BANCÁRIOBANCÁRIOBANCÁRIOBANCÁRIO:::: receber empréstimo, anexarconta, receber linha de crédito.
PERSPECTIVAPERSPECTIVAPERSPECTIVAPERSPECTIVA DEDEDEDE UMUMUMUM MÉDICOMÉDICOMÉDICOMÉDICO:::: examinar, tomar remédio, ir para ohospital, receber conta.
04/07/2015
5
TIPOS DE VISIBILIDADE
� Pública (+)Pública (+)Pública (+)Pública (+)
O atributo ou método pode ser usado por qualquer classe
� Protegida (#)Protegida (#)Protegida (#)Protegida (#)
Somente a classe ou subclasses terão acesso
� Privada (Privada (Privada (Privada (----))))
Somente a classe terá acesso
COMUNICAÇÃO ENTRE OBJETOS
Os objetos podempodempodempodem serserserser comunicarcomunicarcomunicarcomunicar atravésatravésatravésatravés dededede mensagensmensagensmensagensmensagens, enessa mensagem precisa estar definido:
�O nome do serviço requisitado;
� A informação necessária para a execução do serviço;
�O nome do requisitante.
04/07/2015
6
REPRESENTAÇÃO DE CLASSES
COMO DEFINIR AS CLASSES
04/07/2015
7
DEFINIÇÃO DE CLASSES
Existem três técnicas básicas que são consideradas para oprocesso de definição de classes:
� Definição das classes por partes;
� Definição através de refinamentos;
� Definição através de estereótipos.
DEFINIÇÃO POR PARTES
Neste método as classes são divididas em módulosclasses são divididas em módulosclasses são divididas em módulosclasses são divididas em módulos, assim o levantamento ocorre através dos casos de usos desenvolvidos anteriormente.
Atenção que, uma mesma classe pode ser empregada em mais deum caso de uso.
04/07/2015
8
DEFINIÇÃO POR REFINAMENTO
A técnica de refinamento é bem parecida com a técnica apartir dos casos de uso, ela consiste em dividirdividirdividirdividir oooo sistemasistemasistemasistema ememememgrandesgrandesgrandesgrandes classes,classes,classes,classes, quequequeque porporporpor suasuasuasua vezvezvezvez sãosãosãosão divididasdivididasdivididasdivididas emememem classesclassesclassesclassesmenoresmenoresmenoresmenores, até que não seja mais possível fazer este refinamento.Essa técnica é chamada de análise top-down.
DEFINIÇÃO POR ESTEREÓTIPOS
A UML define três estereótipos padrões para seremanalisados, são eles:
� ENTIDADEENTIDADEENTIDADEENTIDADE:::: Papel principal é armazenararmazenararmazenararmazenar dadosdadosdadosdados dededede entidadesentidadesentidadesentidades dodododomundomundomundomundo realrealrealreal, como: aluno, professor, disciplina;
� CONTROLECONTROLECONTROLECONTROLE: Papel é controlarcontrolarcontrolarcontrolar aaaa execuçãoexecuçãoexecuçãoexecução dededede processosprocessosprocessosprocessos,contendo geralmente o fluxo de execução de todo ou parte doscasos de uso.
� FRONTEIRAFRONTEIRAFRONTEIRAFRONTEIRA:::: Realiza o interfaceamentointerfaceamentointerfaceamentointerfaceamento comcomcomcom entidadesentidadesentidadesentidades externasexternasexternasexternas(atores).
04/07/2015
9
EXEMPLO
A situação a ser exemplificado é a de um sistemaacadêmico, onde temos o caso de uso para cadastro do aluno,que por sua vez envolve a comunicação de dois atores (secretariae SGBD).
CLASSES
04/07/2015
10
EXEMPLO
Quais seriam as classes para este caso de uso?
EXERCÍCIO
Baseado neste exemplo, que classes temos?
04/07/2015
11
RELACIONAMENTO ENTRE AS CLASSES
RELACIONAMENTO ENTRE CLASSES
Um relacionamento entre classe possuem:
� Nome;
� Sentido de leitura;
� Navegabilidade;
� Multiplicidade;
� Tipo;
� Papéis.
04/07/2015
12
MULTIPLICIADE
Neste argumento deve ser descrito qual é o valor dorelacionamento entre duas classes, quando esse valor foromitido, o valor padrão se torna o número 1.
MULTIPLICIDADEMULTIPLICIDADEMULTIPLICIDADEMULTIPLICIDADE DESCRIÇÃODESCRIÇÃODESCRIÇÃODESCRIÇÃO
0...1 No máximo um.
1...1 Um e somente um.
0...* Muitos
1...* Um ou muitos
3...5 Valores específicos. De três até cinco.
MULTIPLICIDADE
04/07/2015
13
RELACIONAMENTO ENTRE CLASSES
Dentre os principais tipos de relacionamentos entre classes, é possível destacar:
� Associação;
� Agregação / Composição;
� Herança;
� Dependência.
ASSOCIAÇÃO
04/07/2015
14
ASSOCIAÇÃO
� Um estudanteestudanteestudanteestudante pode participar de nenhuma ou até oito disciplinasdisciplinasdisciplinasdisciplinas
� Um estudanteestudanteestudanteestudante compete por no máximo 1 equipeequipeequipeequipe dededede futebolfutebolfutebolfutebol
� Uma equipeequipeequipeequipe dededede futebolfutebolfutebolfutebol tem de 11 até 22 jogadores
� Uma disciplinadisciplinadisciplinadisciplina pode ter no um ou mais alunos.
AGREGAÇÃO
É um tipo especial de associação. Esse relacionamentodemonstra que um objeto precisa ser complementado por umobjeto de outra classe.
04/07/2015
15
EXEMPLO - AGREGAÇÃO
COMPOSIÇÃO
É um relacionamento do tipo agregação que representa umvínculo mais forte entre objetos.
04/07/2015
16
AGREGAÇÃO X COMPOSIÇÃO
HERANÇA - GENERALIZAÇÃO
É um relacionamento do tipo especialização.
04/07/2015
17
DEPENDÊNCIA
Tipo menos comum de relacionamento, que representa umaligação fraca entre objetos de duas classes.
CLASSE DE ASSOCIAÇÃO
Este tipo de representação é usada quando umaassociação entre duas classes contiver atributos da associação.No exemplo abaixo A classe C existirá para todo relacionamentoda classe A com a classe B.
04/07/2015
18
CLASSE DE ASSOCIAÇÃO
OUTROS EXEMPLOS
04/07/2015
19
USO DE NOTAS
É possível fazer uso de comentários através de notas emclasses, métodos ou atributos. Geralmente é usado para:
� Informar restrição de funcionalidade;
� Indicar condições para relacionamentos.
RESTRIÇOES
Uma restrição limita os valores que os elementos podemassumir, no exemplo abaixo é restrito os valores dos atributos decomprimento e largura.
04/07/2015
20
OUTROS CASOS DE RESTRIÇÃO
EXEMPLOS
04/07/2015
21
BLOG
Qual o diagrama de classe proposta para a solução do blog desenvolvida na aula passada?
BLOG
Um blog tem um título e uma data de criação e além disso é umconjunto de conteúdos. Estes conteúdos (mensagens) podem sernotas ou comentários sobre as notas. Tanto notas quantocomentários têm características comuns como o texto e a datade sua criação.
Todo usuário possui:
E-mail (deve ser único, ou seja, não há mais de um usuáriocom o mesmo e-mail).
04/07/2015
22
BLOG
Permitir a criação de blogs
Permitir a utilização de blogs
Qualquer usuário pode ler conteúdos
Somente o dono do blog pode criar notas
Qualquer usuário pode criar comentários. Para criar umcomentário o usuários precisa ler as notas.
Somente o dono do blog pode remover conteúdos. Pararemover um conteúdo ele precisará ler o conteúdo. Casoele remova um comentário, o autor do comentário deveser notificado por e-mail.
BLOG - RESPOSTA
04/07/2015
23
CONTROLE DE CURSOS
Desenvolva o Diagrama de Classes para um sistema de cursos deinformática equivalente ao módulo de matrícula de acordo com osseguintes fatos:
� Um curso pode ter muitas turmas, no entanto, uma turma serelaciona exclusivamente com um único curso.
� Uma turma pode ter diversos alunos matriculados, no entanto umamatrícula refere-se exclusivamente a uma determinada turma. Cadaturma tem um número mínimo de matrículas para iniciar o curso.
� Um aluno pode realizar muitas matrículas, mas cada matrícula refere-se exclusivamente a uma turma específica e a um único aluno.
RESPOSTA – CONTROLE DE CURSOS