23
04/11/2016 1 UML Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com [email protected] DIAGRAMAS DE CLASSE

UML operações de uma classe Pessoa são diferentes dependendodopontodevistadequemfaráaação. PERSPECTIVA DE UM BANCÁRIO: receber empréstimo, anexar conta,receberlinhadecrédito

  • Upload
    lyquynh

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

04/11/2016

1

UML

Prof. Esp. Fabiano Taguchihttp://fabianotaguchi.wordpress.com

[email protected]

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

6

REPRESENTAÇÃO DE CLASSES

COMO DEFINIR AS CLASSES

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

10

EXERCÍCIO

Baseado neste exemplo, que classes temos?

RELACIONAMENTO ENTRE AS CLASSES

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.

04/11/2016

23

RESPOSTA – CONTROLE DE CURSOS