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

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

Atividade de Projeto Design. O Que é Projeto OO? É desvendar a caixa-preta de um objeto :Sistema Como o objeto complexo :Sistema deveria ser definido?

Apresentações semelhantes


Apresentação em tema: "Atividade de Projeto Design. O Que é Projeto OO? É desvendar a caixa-preta de um objeto :Sistema Como o objeto complexo :Sistema deveria ser definido?"— 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 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 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 emprestaFita(fCodigo) Cliente empresta(fita) Emprestimo adiciona(fita) associaItem() ItemDeEmprestimo associaFita()

16 Resulta em Classes com Baixo Acoplamento e Coesas


Carregar ppt "Atividade de Projeto Design. O Que é Projeto OO? É desvendar a caixa-preta de um objeto :Sistema Como o objeto complexo :Sistema deveria ser definido?"

Apresentações semelhantes


Anúncios Google