Upload
lyquynh
View
215
Download
0
Embed Size (px)
Citation preview
04/11/2016
1
UML
Prof. Esp. Fabiano Taguchihttp://fabianotaguchi.wordpress.com
DIAGRAMAS DE CLASSE
04/11/2016
2
REPRESENTAÇÃO DE CLASSES
DIAGRAMA DE CLASSES
O diagrama de classes serve deapoio para o desenvolvimento deoutros diagramas, pois:
Estabelece como as classesfuncionam e se relacionam;
Permite visualizar as classesque compõem o sistema.
04/11/2016
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 substantivo singular ecom a primeira letra maiuscula.
ATRIBUTOS
Os atributos de uma classe são a identificação de cadaobjeto de uma classe. Além do nome o atributo deve ser o tipo dedado que será armazenado.
Byte;
Boolean;
Int ou double;
Char ou string.
04/11/2016
4
MÉTODOS
Os métodos são as ações (comportamentos) que serãoexecutadas sobre os atributos das classes. 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.
PERSPECTIVA DE UM BANCÁRIO: receber empréstimo, anexarconta, receber linha de crédito.
PERSPECTIVA DE UM MÉDICO: examinar, tomar remédio, ir parao hospital, receber conta.
04/11/2016
5
TIPOS DE VISIBILIDADE
Pública (+)
O atributo ou método pode ser usado por qualquer classe
Protegida (#)
Somente a classe ou subclasses terão acesso
Privada (-)
Somente a classe terá acesso
COMUNICAÇÃO ENTRE OBJETOS
Os objetos podem ser comunicar através de mensagens, 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/11/2016
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ódulos, assim olevantamento ocorre através dos casos de usos desenvolvidosanteriormente.
Atenção que, uma mesma classe pode ser empregada em mais deum caso de uso.
04/11/2016
8
DEFINIÇÃO POR REFINAMENTO
A técnica de refinamento é bem parecida com a técnica apartir dos casos de uso, ela consiste em dividir o sistema emgrandes classes, que por sua vez são divididas em classesmenores, 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:
ENTIDADE: Papel principal é armazenar dados de entidades domundo real, como: aluno, professor, disciplina;
CONTROLE: Papel é controlar a execução de processos,contendo geralmente o fluxo de execução de todo ou parte doscasos de uso.
FRONTEIRA: Realiza o interfaceamento com entidades externas(atores).
04/11/2016
9
EXEMPLO
A situação a ser exemplificado é a de um sistema acadêmico,onde temos o caso de uso para cadastro do aluno, que por sua vezenvolve a comunicação de dois atores (secretaria e SGBD).
EXEMPLO
Quais seriam as classes para este caso de uso?
04/11/2016
11
RELACIONAMENTO ENTRE CLASSES
Um relacionamento entre classe possuem:
Nome;
Sentido de leitura;
Navegabilidade;
Multiplicidade;
Tipo;
Papéis.
MULTIPLICIADE
Neste argumento deve ser descrito qual é o valor dorelacionamento entre duas classes, quando esse valor for omitido,o valor padrão se torna o número 1.
MULTIPLICIDADE DESCRIÇÃ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.
04/11/2016
12
MULTIPLICIDADE
RELACIONAMENTO ENTRE CLASSES
Dentre os principais tipos de relacionamentos entre classes, é possível destacar:
Associação;
Agregação / Composição;
Herança;
Dependência.
04/11/2016
13
ASSOCIAÇÃO
ASSOCIAÇÃO
Um estudante pode participar de nenhuma ou até oito disciplinas
Um estudante compete por no máximo 1 equipe de futebol
Uma equipe de futebol tem de 11 até 22 jogadores
Uma disciplina pode ter no um ou mais alunos.
04/11/2016
14
AGREGAÇÃO
É um tipo especial de associação. Esse relacionamentodemonstra que um objeto precisa ser complementado por umobjeto de outra classe.
EXEMPLO - AGREGAÇÃO
04/11/2016
15
COMPOSIÇÃO
É um relacionamento do tipo agregação que representa umvínculo mais forte entre objetos.
AGREGAÇÃO X COMPOSIÇÃO
04/11/2016
16
HERANÇA - GENERALIZAÇÃO
É um relacionamento do tipo especialização.
DEPENDÊNCIA
Tipo menos comum de relacionamento, que representa umaligação fraca entre objetos de duas classes.
04/11/2016
17
CLASSE DE ASSOCIAÇÃO
Este tipo de representação é usada quando uma associaçãoentre duas classes contiver atributos da associação. No exemploabaixo A classe C existirá para todo relacionamento da classe Acom a classe B.
CLASSE DE ASSOCIAÇÃO
04/11/2016
18
OUTROS EXEMPLOS
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.
04/11/2016
19
RESTRIÇOES
Uma restrição limita os valores que os elementos podemassumir, no exemplo abaixo é restrito os valores dos atributos decomprimento e largura.
OUTROS CASOS DE RESTRIÇÃO
04/11/2016
20
EXERCÍCIOS
BLOG
Qual o diagrama de classe proposta para a solução do blog desenvolvida na aula passada?
04/11/2016
21
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 data desua 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).
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 deve ser
notificado por e-mail.
04/11/2016
22
BLOG - RESPOSTA
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 se relacionaexclusivamente 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.