Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

45
Professor Mário Dantas ANÁLISE ORIENTADA A OBJETOS Out/2010

Transcript of Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

Page 1: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

Professor Mário Dantas

ANÁLISE ORIENTADA A OBJETOSANÁLISE ORIENTADA A OBJETOSOut/2010

Page 2: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

2

Aula 06 - Agenda

Classe e Objeto Atributo Métodos Associações

Dependência Simples: multiplicidade, papel, navegabilidade Com valor semântico adicional: agregação e

composição Generalização/especialização

Diagrama de classes

Page 3: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

3Classe: Definição, atributos e métodos

Page 4: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

4

Classe

É uma descrição de um conjunto de objetos que compartilham os mesmos atributos, operações, relacionamentos e semântica

É um tipo de (e dá origem a) objeto

Page 5: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

5

Objeto

Qualquer elemento identificado no domínio do negócio que tenha: identidade - qualquer objeto é único e

diferenciado dos demais estado - valores dos atributos em

determinado momento comportamento – funcionalidade do objeto

É a instância de uma classe.

Page 6: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

6

Atributo

Definem os dados da classe Possuem tipo Podem ser referências (do tipo de) a

outras classes (delegação) Possuem visibilidade, muito

freqüentemente privados O tipo de dado depende da linguagem

de programação que será usada para implementação.

Page 7: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

7

Métodos

Expressam o comportamento da classe Acessam e modificam os atributos da classe Na implementação, são os métodos

(similares a procedimentos e funções) Possuem definição de visibilidade

(geralmente públicas) Podem retornar valor ou não (void) Podem receber parâmetros ou não (entre

parênteses obrigatórios)

Page 8: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

8

Modelagem dos Métodos

Serviços que a classe deve prestar (normalmente relacionados aos seus atributos)

Parâmetros necessários a prestação dos serviços

Retorno dos serviços prestados pela classe Saídas geradas pelos serviços da classe

(não serão expressas no diagrama) Manutenção de classes persistentes

(estereótipo <<entity>>)

Page 9: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

9

Visibilidade

Definida por meio de modificadores de acesso: Público (public, +) Protegido (protected, #, depende de herança) Padrão (ausência de modificador, ~, pacote) Privado (private, –)

Serve para encapsular, proteger, organizar o acesso à membros de uma classe

Page 10: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

10

Representação da UML

Page 11: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

11

Representação em Pseudocódigo

Page 12: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

12

Implementação em Java

Page 13: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

13

Utilização da Classe em Java

Page 14: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

14 Associação entre Classe

Page 15: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

15

Dependência

Associação mais fraca entre classes Indica utilização Geralmente acontece quando: Na passagem de parâmetro a um

método Na criação de um objeto (e/ou

referência) dentro de um método

Page 16: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

16

Dependência

Page 17: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

17

Herança

Relacionamento entre tipos mais genéricos e tipos mais específicos;

Classe filha e a classe mãe; Relacionamento do tipo “é-um”; Aceita apenas a adição de características

na classe filha; nunca a exclusão; Possibilita o reuso da estrutura e da

funcionalidade; Necessária para o polimorfismo.

Page 18: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

18

Herança

Page 19: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

19

Herança

Page 20: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

20

Associação simples

Ligação estrutural entre duas classes Permite navegar de um objeto para

outro Tempos de vida independentes.

Page 21: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

21

Associação simples

Page 22: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

22

Associação simples

Page 23: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

23

Associação por Agregação

Adiciona valor semântico (pouco) a associação, indicando que uma classe é mais importante na associação

Associação do tipo “parte-de” Tempo de vida independente: a

existência da parte não está vinculada ao tempo de vida do todo, podendo a parte compor outros todos

Page 24: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

24

Associação por Agregação

Page 25: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

25

Associação por Composição

Conotação semântica mais forte que a agregação

Denota forte interdependência entre as partes

Tempo de vida dependente A multiplicidade do lado do “todo” não

pode ser maior que 1, pois a parte é exclusiva de um todo

Page 26: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

26

Associação por Composição

Page 27: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

27

Propriedades das Associações Nome Papel Navegabilidade Multiplicidade

Page 28: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

28

Nome

Demonstra o objetivo da associação Deve ser uma frase com verbo É preferível usar papeis ao invés do

nome do relacionamento Normalmente utilizada no modelo em

fase de análise, quando ainda não existem informações suficientes para nomear os papéis

Page 29: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

29

Nome

Page 30: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

30

Papel

Descreve a função da classe na associação

Deve ser um substantivo Não deve ser usado junto com o nome

de associação Há situação em que o papel designará o

nome de um atributo, na implementação de uma das classes. Nesse caso, deve ser colocado no modelo.

Page 31: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

31

Papel

Page 32: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

32

Navegabilidade

Indica que, a partir de um objeto, é possível chegar a outro que esteja associado a ele

Pode ser implementado por: Referência a objetos Arrays ou coleções de objetos

Quando não especificada, assume-se a dupla navegabilidade (mais complexa)

Nunca há setas nas duas extremidades da associação

Page 33: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

33

Navegabilidade

Page 34: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

34

Multiplicidade

Indica quantos objetos de uma classe podem ser associados

Pode ser qualquer número de zero até muitos (indicado por *)

Valores mais comuns: 0..* - zero ou qualquer número maior 1 - obrigatoriamente um e apenas um 1..* - um (no mínimo) ou qualquer número

Page 35: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

35

Multiplicidade

Page 36: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

36 Diagrama de Classes

Page 37: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

37

Diagrama de Classes

É criado para representar o conjunto das classes e suas associações

É a base estrutural que dá suporte a todas as funcionalidades de um sistema

Serve como modelo conceitual e lógico de dados

Constitui mais uma forma, junto com diagramas de casos de uso, de comunicação bastante útil entre projetistas e clientes

Identifica os objetos manipulados pelo sistema

Page 38: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

38

Diagrama de Classes

Deve ser desenvolvido nas versões necessárias a compreensão de cada uma das fases do ciclo de vida do software (análise, projeto, implementação)

É formal e pode servir para geração de código em uma linguagem de programação

Page 39: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

39

Diagrama de Classes

Trata-se de uma representação estática: é importante para definir que classes prestarão cada uma dos serviços demandados pelo sistema

Page 40: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

40

Construir o diagrama de classes, usando o diagrama de caso de uso e diagrama de atividade do sistema: Locadora de Filmes Online

Estudo de Caso

Page 41: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.
Page 42: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

Segunda versão

Page 43: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

43

Page 44: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.

© 2004 by Pearson Education

Page 45: Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Out/2010.