• Nenhum resultado encontrado

__aula - uml_classe_objeto

N/A
N/A
Protected

Academic year: 2021

Share "__aula - uml_classe_objeto"

Copied!
30
0
0

Texto

(1)

Análise e Projeto de Sistemas Prof. Ms. Ângelo Lemos Vidal de Negreiros

(2)

 Boch, Jacobson, Rumbaugh; UML –

Guia do Usuário; Editora: Elsevier; Ano: 2006

 Martin Fowler; UML Essencial; Editora:

Bookman; Ano: 2004

2 Fernando Pedrosa Lopes

(3)

 Diagrama de Classes

 Diagrama de Objetos

 Diagrama de Componentes

 Diagrama de Pacotes

 Diagrama de Implantação

 Diagrama de Estrutura Composta

(4)

 É um diagrama estático da UML que

reúne os elementos mais importantes de um sistema orientado a objetos

 Exibe um conjunto de classes,

interfaces e seus relacionamentos

 As classes especificam tanto as

propriedades quanto os

comportamentos dos objetos

11 Fernando Pedrosa Lopes

O mundo é representado por objetos. Quando se identifica objetos com as mesmas características pode-se gerar

então, o que chamamos de classes para englobar tais objetos.

(5)

Nome da Classe Propriedades

(Atributos)

(6)

13 Fernando Pedrosa Lopes

Nome + Atributos Nome

Nome + Atributos + Operações

Pode ter todas as possíveis

combinações dessas três partes. Mas, todos devem conter o Nome.

(7)

Nome da classe Visibilidade Nome do atributo

Tipo de dado

Multiplicidade

Restrição Valor default

Nome da operação Tipo de retorno Atributo

(8)

Notação completa:

Nome: corresponde ao nome do atributo Tipo: domínio do atributo

Multiplicidade: indicação de quantos objetos podem preencher a propriedade [min..max]

Valor Default: valor do atributo, caso ele seja omitido no momento da criação

Restrição: permite indicar propriedades adicionais. {readOnly}, {ordered}, {unique}, etc.

15 Fernando Pedrosa Lopes

(9)

 As propriedades (atributos) podem ter

dois tipos de escopo

◦ Escopo de instância: cada objeto tem o seu próprio valor para o atributo. É o escopo default da UML.

◦ Escopo de classe (estático): o valor do atributo é comum a todos os objetos

daquela classe. Para denotar este escopo o atributo deve ser sublinhado.

(10)

Notação completa:

Nome: corresponde ao nome da operação

Lista de parâmetros: são os parâmetros da operação. Tipo de retorno: o tipo de dado retornado pela operação Restrição: permite indicar propriedades adicionais.

ex: {query}.

17 Fernando Pedrosa Lopes

(11)

 Operações abstratas, ou seja, que não

têm uma implementação específica,

devem ser escritas em

itálico

 Operações estáticas devem ser

escritas com fonte sublinhada

OBS: Classe Abstrata

* É uma classe que não gera instância

* Normalmente utilizada em hierarquia de herança

OBS: Atributos e Operações estáticas

* Pertence a classe como um todo e não a um objeto específico

* Nesse caso, não é necessário gerar um objeto (instaciar) para chamar a operação

(12)

 Público (+)

◦ O elemento é visível por qualquer classe

 Protegido (#)

◦ O elemento é visível na própria classe e pelas

subclasses da classe

 Pacote (~)

◦ O elemento é visível apenas pela própria classe

ou dentro do pacote onde a classe está localizada

 Privado (-)

◦ O elemento é visível apenas pela própria classe

19 Fernando Pedrosa Lopes

(13)

 Relacionamentos ligam classes entre

si, criando relações lógicas

 Podem ser de:

◦ Associação  Simples  Agregação  Composição ◦ Generalização ◦ Dependência ◦ Realização

Não faz sentido ter uma classe solta em um diagrama UML.

Todo diagrama da UML apresenta os relacionamentos.

Relacionamento - É uma ligação semântica entre dois elementos (classificadores).

(14)

 Indica que objetos de um elemento estão

ligados a objetos de outro elemento

 A navegabilidade pode ser unidirecional ou

bidirecional

21 Fernando Pedrosa Lopes

Multiplicidade Associação Nome da Associação Classe Navegabilidade A tem B

Associação simples - é o mais genérico de todos, em que

a instância de um elemento está ligada a instância de outro elemento. Nesse caso, pode ser sem navegabilidade.

Pode simplesmente ligar um objeto a outro, ou mesmo colocar mais semântica (ex. colocando uma informação textual no relacionamento) Navegabilidade - Pessoa consegue acessar a conta. Sai de pessoa e chega em conta.

(15)

 Um qualificador de associação é um

atributo do elemento-alvo capaz de

identificar uma instância dentre as demais

Associação simples

Associação qualificada

Elemento - alvo = Reserva Atributo da classe reserva que identifica de forma única o objeto reserva (ex. numeroConfirmacao)

(16)

Uma associação pode mostrar as mesmas informações que um atributo

23 Fernando Pedrosa Lopes

(17)

 Relacionamentos “todo-parte”

 Agregação: a parte existe sem o todo

 Composição: o todo controla o ciclo de vida

da parte, e ela não pode ser compartilhada em outros relacionamentos

Agregação

Composição

Relacionamento mais fraco. O ciclo de vida continua a existir, mesmo sem o "todo" presente.

A parte existe sem o todo.

O objeto fica exclusivo do todo - ex. Não faz sentido dizer que um departamento faz parte de uma empresa e de outra PARTE TODO É um tipo especial de associação

(18)

 Indica que mudança em um elemento

pode causar mudanças no outro (uso)

25 Fernando Pedrosa Lopes

Dependência entre duas classes

GUI depende de Formulário. Se formulário mudar, o GUI sente a alteração.

(19)

 Pode ocorrer, também, entre uma

classe e uma interface

REALIZAÇÃO

Dependencia - Relacionamento de uso. AcessoBD usa a interface "Query"

AcessoBD chama um método da interface.

Obs. Não será passado a interface em

si no método consultar, mas sim uma classe que implementa tal interface.

(20)

 Relacionamento “é um tipo de”

27 Fernando Pedrosa Lopes

Relacionamento mais geral com algo mais específico.

Conta é uma

generalização de poupança.

(21)

 Pode ocorrer, também, entre interfaces Estereótipo

Definição de estereótipo:

Extensões ao vocabulário da uml que permite que se crie novos blocos de construções derivados de blocos que já existem, mas específicos para o problema em questão, dando uma nova semântica.

(22)

 Há várias notações para realizações

29 Fernando Pedrosa Lopes

Relação semântica. Um dos elementos

especifica um contrato (ControladorBD) e o outro realiza (concretiza - implementa) tal contrato (ControladorBDOracle)

Ex. Implementação de uma interface através de uma classe.

(23)

 A notação “bola-soquete” (UML 2.0) é utilizada

para modelar uma dependência e uma

realização entre duas classes e uma interface

Duas representações equivalentes entre si (semanticamente iguais)

Dependência

(24)

(MPE/AM – CESPE 2008)

[88] Na UML, uma agregação é um relacionamento que

estabelece que uma classe define objetos que são parte de um objeto definido por outra classe.

[89] Em um diagrama de classes UML, uma associação entre classes pode ser documentada em termos da multiplicidade da associação.

31 Fernando Pedrosa Lopes

(25)
(26)

[108] O método #Cadastrar() da classe Instrutor tem visibilidade do modo protegido tal que somente a classe possuidora Instrutor pode utilizá-lo.

[109] Na associação do tipo agregação composta identificado por #2, uma instância da classe Departamento pertence exclusivamente a uma única instância composta em Escola, e um objeto da classe Escola

pode relacionar-se com, no máximo, três objetos da classe Departamento.

[110] Instrutor é uma superclasse abstrata; assim, o método

#Cadastrar() oferece uma assinatura, que, no entanto, está incompleta, devendo ser implementada pelos métodos de mesmo nome nas suas classes-filhas.

33 Fernando Pedrosa Lopes

(27)
(28)

 Diagrama de Classes

 Diagrama de Objetos

 Diagrama de Componentes

 Diagrama de Pacotes

 Diagrama de Implantação

 Diagrama de Estrutura Composta

 Diagrama de Perfis (UML 2.2)

34 Fernando Pedrosa Lopes

(29)

 O diagrama de objetos representa uma

fotografia do sistema em um dado momento

 Mostra os vínculos entre os objetos

conforme estes interagem e os valores dos seus atributos

 Pode ser visto como uma “instância” do

diagrama de classe

35 Fernando Pedrosa Lopes

Classe

A classe é um molde de um objeto. Objeto que contem as mesmas características.

Objeto

FOTOGRAFIA da memória RAM. É a fotografia congelada no tempo. Por isso é considerado estrutural e não dinâmico.

É utilizado para facilitar uma comunicação complicada de ser entendida apenas com o diagrama de classe

(30)

36 Fernando Pedrosa Lopes

objeto vínculo valor do atributo objeto anônimo p é gerente do departamento d3 Mostra os objetos, os

vínculos entre esses, e os valores assumidos pelos atributos.

NÃO se mostra

operações, pois é congelado no tempo

Referências

Documentos relacionados

Ainda sobre a teoria tripolar, Pineau (2006, p. 26) apresenta e analisa os três termos: o termo autoformação compreende a “apropriação pelo sujeito de sua própria formação”.

Nesse sentido, o último capítulo propôs ações a serem executadas pela equipe gestora e docente, como o estudo das concepções de educação em tempo integral sugeridas

A opinião dos alunos que frequentam o PA sobre a implementação do Programa de Correção de Fluxo Escolar é de extrema importância, visto serem eles os protagonistas

Pensar a formação continuada como uma das possibilidades de desenvolvimento profissional e pessoal é refletir também sobre a diversidade encontrada diante

Nessa perspectiva, na intenção de fortalecer as ações de gestão da escola por meio de uma possível reestruturação mais consistente e real do PPP; na busca

Thus, due to the difficulty entailed by the lack of normative objectivity of the exception articles, since there is no indication of what the adaptation of the child to the

Com destaque para as esferas mediática e política, mas também, por vezes, no quadro das ciências sociais, assume-se com frequência que o desemprego, a aceitação de

Por último, com base no exame anterior, procurarei fornecer, no terceiro capítulo: “3 A natureza formal dos corpos homogêneos e da constituição orgânica”, uma interpretação