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

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

Atividade de Projeto Design

Apresentações semelhantes


Apresentação em tema: "Atividade de Projeto Design"— Transcrição da apresentação:

1 Atividade de Projeto Design

2 O Que é Projeto OO? É desvendar a caixa-preta de um objeto :Sistema
Como o objeto complexo :Sistema deveria ser definido? Com base nas Operações dos atores do sistema Contratos De acordo com Modelo Conceitual do Sistema Conceitos Atributos Relacionamentos Artefato a gerar Diagrama de classes de software

3 Diagrama de Classes Derivado do Modelo Conceitual Classe de Software
Cada conceito é transformado em uma classe de software Classe de Software Atributos Relacionamentos com outras classes, ou com a própria classe Métodos Visibilidade Grau de acoplamento com outras classes

4 Métodos de Classe São determinados via Diagramas de Colaboração entre Objetos Um Diagrama de Colaboração entre Objetos especifica como objetos do domínio devem colaborar, ou trocar mensagens, para resolver Operações Cada mensagem que chega a um objeto do domínio torna-se um método da correspondente classe de software

5 Geração do Diagrama de Classes

6 Adição da direção dos relacionamentos
Em relação ao Modelo Conceitual, um Diagrama de Colaboração entre Objetos Contém a Mais Adição dos métodos Adição da direção dos relacionamentos Visibilidade de classes Possível detalhamento dos atributos e relacionamentos Possível alteração na estrutura das classes e relacionamentos Possível criação de atributos privados ou protegidos

7 Diagramas de Colaboração entre Objetos Motivação

8 Exemplo de uma classe concentradora O que se quer evitar

9

10 Avaliação da Classe VideoLocadora
Segundo a moderna engenharia de software Segundo o modelo conceitual, a classe VideoLocadora só deveria ‘ver’ as classes Fita e Cliente Pela ‘solução’ apresentada, há um alto acoplamento de VideoLocadora com outras classes Emprestimo ItemDeEmprestimo Também, baixa coesão O método emprestaFita() faz muita coisa, ou está muito carregado O que se quer é o contrário Classes com Baixo acoplamento Alta coesão (coesão)

11 Como se Chega a Classes com Baixo Acoplamento e Coesas?
O Caminho Passa pelo Exame do Modelo Conceitual

12 Modelo Conceitual

13 Lições do Modelo Conceitual
Pelo Modelo Conceitual, objetos Emprestimo e ItemDeEmprestimo deviam ser invisíveis a objetos VideoLocadora Desta forma, objetos VideoLocadora não ficam sobrecarregados Outra maneira de dizer Objetos VideoLocadora, Cliente, Fita, Emprestimo e ItemDeEmprestimo devem cooperar para realizar o contrato da operação de sistema emprestaFita() Um diagrama de colaboração entre objetos, baseado no Modelo Conceitual, nos contratos, e em certos padrões de software, deve colocar as coisas desta forma

14 Uma diagrama de colaboração para o método emprestaFita()

15 Métodos das Classes Cliente, Emprestimo, ItemDeEmprestimo (Parcial)
VideoLocadora Cliente emprestaFita(fCodigo) empresta(fita) Emprestimo ItemDeEmprestimo adiciona(fita) associaItem() associaFita()

16 Resulta em Classes com Baixo Acoplamento e Coesas


Carregar ppt "Atividade de Projeto Design"

Apresentações semelhantes


Anúncios Google