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

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

Copyright Marcos L. Chaim 2005 Princípios de Projeto de Software Orientado a Objetos Segundo Semestre 2005 Marcos L. Chaim ACH2002 - Turma 02 EACH – USP.

Apresentações semelhantes


Apresentação em tema: "Copyright Marcos L. Chaim 2005 Princípios de Projeto de Software Orientado a Objetos Segundo Semestre 2005 Marcos L. Chaim ACH2002 - Turma 02 EACH – USP."— Transcrição da apresentação:

1 Copyright Marcos L. Chaim 2005 Princípios de Projeto de Software Orientado a Objetos Segundo Semestre 2005 Marcos L. Chaim ACH Turma 02 EACH – USP

2 Copyright Marcos L. Chaim 2005 Conceitos de Orientação a Objeto Classe papel; Objetos atores; Programa peça; Atributos características dos atores que encenam um determinado papel. Método script/texto dos atores;

3 Copyright Marcos L. Chaim 2005 Objetivos do projeto OO Robustez Adaptabilidade Reusabilidade

4 Copyright Marcos L. Chaim 2005 Robustez Software correto: fornece as saídas corretas para as entradas esperadas pela aplicação. Mas é somente isto que se quer? – Se o programa espera receber um String o que acontece se receber um double? Software correto deve tratar também das entradas inesperadas. Situações críticas: tolerância a falhas.

5 Copyright Marcos L. Chaim 2005 Adaptabilidade Capacidade de evolução. – Evoluir em função de alteração do ambiente ou de problemas inesperados. Portabilidade: – deve ser projetado para executar em diferentes ambientes/plataformas: FireFox: Windows, Linux, Sun Solaris, McOS; Sun Solaris: diferentes processadores – Intel, SPARC.

6 Copyright Marcos L. Chaim 2005 Reusabilidade Projeto deve prever que os componentes do software podem ser reutilizados em outros sistemas. Reutilização de componentes: – Economia na geração de código e testes de unidade. Reutilização deve ser feita com cuidado testes de sistema muito importantes.

7 Copyright Marcos L. Chaim 2005 Princípios de projeto OO Abstração Encapsulamento Modularidade

8 Copyright Marcos L. Chaim 2005 Abstração Descrever algo complicado em suas partes principais em linguagem simples e precisa. Implica atribuir um nome e descrever suas funcionalidades. Exemplo: – Interface Gráfica: Operação editar:

9 Copyright Marcos L. Chaim 2005 Abstração Para aplicar este princípio, utilizar-se o conceito de tipos abstratos de dados (TAD). TAD: – Especifica tipos de dados armazenados; – Especifica operações definidas sobre os dados e seus parâmetros. – Define o que cada operação faz e não como faz. Em Java: TAD implementado por interfaces.

10 Copyright Marcos L. Chaim 2005 Abstração Uma interface é uma lista simples de declarações de métodos. Um TAD é materializado por uma estrutura de dados concreta, que em Java é uma classe. Uma classe define os dados que serão armazenados e as operações suportadas pelos objetos da classe. Diz-se que uma classe implementa uma interface quando seus métodos materializam aqueles definidos na interface.

11 Copyright Marcos L. Chaim 2005 Encapsulamento Encapsulamento ou ocultamento de informações (information hiding). Estabelece que os diferentes componentes de um sistem de software não devem revelar detalhes internos das respectivas implementações. Ex.: Editar da interface gráfica: – Não importa como é implementada essa operação.

12 Copyright Marcos L. Chaim 2005 Encapsulamento Outros componentes que utilizam a operação editar não dependem da sua implementação desde que a interface seja mantida.

13 Copyright Marcos L. Chaim 2005 Modularidade Sistemas modernos são compostos por vários componentes, diferentes que devem interagir. Refere-se a uma estrutura organizacional na qual os diferentes componentes são divididos em unidades funcionais: – Ex: Uma casa é composta de vários componentes que interagem: parte elétrica, parte hidráulica, estrutura.

14 Copyright Marcos L. Chaim 2005 Modularidade O projeto modular do software pode tornar os componentes do software reutilizáveisl. Isto se os módulos forem escritos de forma genérica e passíveis de serem instanciados para contextos específicos. A descrição hierárquica auxilia na descrição de módulos genéricos.

15 Copyright Marcos L. Chaim 2005 Modularidade Prédio Apartamento CasaPrédio com. Ap. 2 quartos Ap. 3 quartos Casa Térrea Sobra- do Barra- ção Edifí- cio

16 Copyright Marcos L. Chaim 2005 Bibliografia Literatura complementar: – Goodrich, M. T., Tamassia, R. Estruturas de dados e algoritmos em Java, 2a. Edição, Bookman, 2001.


Carregar ppt "Copyright Marcos L. Chaim 2005 Princípios de Projeto de Software Orientado a Objetos Segundo Semestre 2005 Marcos L. Chaim ACH2002 - Turma 02 EACH – USP."

Apresentações semelhantes


Anúncios Google