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

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

Copyright © 2006 Qualiti. Todos os direitos reservados. Projetar Classes.

Apresentações semelhantes


Apresentação em tema: "Copyright © 2006 Qualiti. Todos os direitos reservados. Projetar Classes."— Transcrição da apresentação:

1 Copyright © 2006 Qualiti. Todos os direitos reservados. Projetar Classes

2 Copyright © 2006 Qualiti. Todos os direitos reservados. Arquiteto de Informação Análise e Projeto OO com UML e Padrões| 2 Analisar Casos de Uso Revisar Projeto Projetar Arquitetura Projetista de Banco de Dados Arquiteto de Software Revisor de projeto Projetar Casos de Uso Projetar Subsistemas Projetar Base de Dados Analista de Sistemas Check List bla bla bla blabla Projetar classes Prototipar Interface gráfica Analisar Serviços Projetar Serviços decisões do arquiteto >

3 Copyright © 2006 Qualiti. Todos os direitos reservados. Objetivos desta atividade Detalhar o projeto interno das classes (em termos de atributos, métodos ) bem como rever os relacionamentos entre as classes Descrever algumas técnicas para reutilização de código Aplicável tanto ao RUP quanto a SOA Aplicável também a classes ativas (cápsulas) Análise e Projeto OO com UML e Padrões| 3

4 Copyright © 2006 Qualiti. Todos os direitos reservados. Visão geral dos artefatos Análise e Projeto OO com UML e Padrões| 4 Analista de Sistemas Projetar Classes Classes de Projeto (atualizadas) Modelo de Análise e Projeto Requisitos Não Funcionais

5 Copyright © 2006 Qualiti. Todos os direitos reservados. Passos para Projetar Classes 1. Projetar classes de projeto 2. Definir atributos 3. Definir operações 4. Refinar relacionamentos Análise e Projeto OO com UML e Padrões| 5

6 Copyright © 2006 Qualiti. Todos os direitos reservados. Projetando Classes de Fronteira Interface com usuário – depende da ferramenta de desenvolvimento a ser usada (de quanto pode ser automatizado) Interface com sistemas externos – usualmente resulta em um subsistema, como ilustrado anteriormente Análise e Projeto OO com UML e Padrões| 6

7 Copyright © 2006 Qualiti. Todos os direitos reservados. Projetando Classes de Entidade Normalmente dão origem a uma única classe Requisitos não funcionais (como performance) podem demandar alterações no projeto Análise e Projeto OO com UML e Padrões| 7

8 Copyright © 2006 Qualiti. Todos os direitos reservados. Projetando Classes de Controle Podem ser eliminadas – se não estiverem desempenhando nenhum papel adicional à classe fronteira correspondente Podem dar origem a uma única classe – se encapsulam algum fluxo de controle relevante Podem ser divididas – se o controle encapsulado for muito complexo ou para atender, por exemplo, requisitos de distribuição Análise e Projeto OO com UML e Padrões| 8

9 Copyright © 2006 Qualiti. Todos os direitos reservados. Passo 2. Definir atributos Identificados a partir das informações que a classe necessita manter e descrição das operações Atributos derivados – avaliar questões de desempenho Análise e Projeto OO com UML e Padrões| 9

10 Copyright © 2006 Qualiti. Todos os direitos reservados. Passo 3. Definir operações Mapear responsabilidades definidas na análise para operações que implementem essas responsabilidades Aspectos envolvidos – nome, assinatura e descrição da operação – visibilidade privada - protegida # pública + – escopo: operação de classe ou de instância – Usando OCL, pré e pós condições Análise e Projeto OO com UML e Padrões| 10

11 Copyright © 2006 Qualiti. Todos os direitos reservados. Definindo Operações Decisões a serem tomadas: – Mecanismo de passagem de parâmetros – quanto menos parâmetros, melhor! – passar objetos como parâmetros – aspectos de implementação (uso de algum algoritmo específico) Análise e Projeto OO com UML e Padrões| 11

12 Copyright © 2006 Qualiti. Todos os direitos reservados. Definindo Operações Classes e relacionamentos adicionais podem ser necessários para suportar a assinatura Análise e Projeto OO com UML e Padrões| 12 calcularFrete(destino:Endereco): float Transporte Endereco

13 Copyright © 2006 Qualiti. Todos os direitos reservados. Passo 4. Refinar relacionamentos Detalhar as associações entre as classes – tipo – navegabilidade – multiplicidade Avaliar relacionamentos de generalização Análise e Projeto OO com UML e Padrões| 13

14 Copyright © 2006 Qualiti. Todos os direitos reservados. Tipo dos relacionamentos Dependência Associação Agregação Composição Generalização Análise e Projeto OO com UML e Padrões| 14 Menor nível de acoplamento Maior nível de acoplamento

15 Copyright © 2006 Qualiti. Todos os direitos reservados. Navegabilidade Que direções são necessárias? Analisar diagramas de interação Priorizar o uso de apenas uma direção quando: – o uso de uma das direções for infreqüente – o número de instâncias de uma das classes é pequeno Análise e Projeto OO com UML e Padrões| 15

16 Copyright © 2006 Qualiti. Todos os direitos reservados. Navegabilidade: exemplo Que direção priorizar? Exemplo: dado um fornecedor qualquer, ocorre com freqüência a busca pelos seus produtos? Análise e Projeto OO com UML e Padrões| 16

17 Copyright © 2006 Qualiti. Todos os direitos reservados. Avaliar relacionamentos de generalização Devem representar uma relação é-um – o descendente é um objeto do tipo do ancestral – herança comportamental (behavioural ineritance) Como reusar código em situações onde se estaria ferindo essa regra? Análise e Projeto OO com UML e Padrões| 17

18 Copyright © 2006 Qualiti. Todos os direitos reservados. Avaliar relacionamentos de generalização Análise e Projeto OO com UML e Padrões| 18 Animal comer() Leão comer() Tigre comer() Fila Lista inserirInicio (Item) inserirFim (Item) removerInicio() removerFim () inserir (Item, posicao)

19 Copyright © 2006 Qualiti. Todos os direitos reservados. Factoring: compartilhamento de implementação Suporta o reuso de implementação de outra classe Não pode ser utilizado se a classe a ser utilizada não puder ser modificada Análise e Projeto OO com UML e Padrões| 19

20 Copyright © 2006 Qualiti. Todos os direitos reservados. Compartilhamento de implementação: exemplo Análise e Projeto OO com UML e Padrões| 20 Lista Fila inserirFim( Item) removerInicio () Lista inserirInicio (Item) removerFim () inserir (Item, posicao) Fila ContainerSequencial inserirInicio (Item) inserirFim (Item) removerInicio() removerFim () inserir (Item, posicao)

21 Copyright © 2006 Qualiti. Todos os direitos reservados. Delegação Suporta o reuso de implementação de outra classe Pode ser utilizado se a classe a ser utilizada não puder ser modificada Análise e Projeto OO com UML e Padrões| 21

22 Copyright © 2006 Qualiti. Todos os direitos reservados. Delegação: exemplo Análise e Projeto OO com UML e Padrões| 22 Lista Fila inserir(Item) remover():Item  11 Fila inserirInicio (Item) inserirFim (Item) removerInicio() removerFim () inserir (Item, posicao) inserirInicio (Item) inserirFim (Item) removerInicio() removerFim () inserir (Item, posicao)


Carregar ppt "Copyright © 2006 Qualiti. Todos os direitos reservados. Projetar Classes."

Apresentações semelhantes


Anúncios Google