A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Professor Mário Dantas

Apresentações semelhantes


Apresentação em tema: "Professor Mário Dantas"— Transcrição da apresentação:

1 Professor Mário Dantas
Análise Orientada a Objetos Out/2010 Professor Mário Dantas

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

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

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

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.

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.

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)

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>>)

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

10 Representação da UML

11 Representação em Pseudocódigo

12 Implementação em Java

13 Utilização da Classe em Java

14 Associação entre Classe

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

16 Dependência

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.

18 Herança

19 Herança

20 Associação simples Ligação estrutural entre duas classes
Permite navegar de um objeto para outro Tempos de vida independentes.

21 Associação simples

22 Associação simples

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

24 Associação por Agregação

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

26 Associação por Composição

27 Propriedades das Associações
Nome Papel Navegabilidade Multiplicidade

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

29 Nome

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.

31 Papel

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

33 Navegabilidade

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

35 Multiplicidade

36 Diagrama de Classes

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

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

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

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

41

42 Segunda versão

43

44 © 2004 by Pearson Education

45


Carregar ppt "Professor Mário Dantas"

Apresentações semelhantes


Anúncios Google