anÁlise e projeto orientada a objetos ufrj/im/dcc lab psi mai/1999

27
ANÁLISE E PROJETO ORIENTADA A OBJETOS UFRJ/IM/DCC Lab PSI mai/1999

Upload: internet

Post on 17-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ANÁLISE E PROJETO ORIENTADA A OBJETOS UFRJ/IM/DCC Lab PSI mai/1999

ANÁLISE E PROJETO ORIENTADA A OBJETOS

UFRJ/IM/DCC

Lab PSI

mai/1999

Page 2: ANÁLISE E PROJETO ORIENTADA A OBJETOS UFRJ/IM/DCC Lab PSI mai/1999

2

Sumário

• Conceitos de Análise e Projeto Orientados a Objetos

• Rose 98 ®

Page 3: ANÁLISE E PROJETO ORIENTADA A OBJETOS UFRJ/IM/DCC Lab PSI mai/1999

3

Bibliografia• FURLAN, José Davi. Modelagem de Objetos

através da UML. 1998.

• BOOCH, Grady. Object-Oriented Analysis and Design With Applications. 2nd Ed,1994

• MEYER, Bertrand. Object-Oriented Software Construction. 2nd Ed, 1997

• RINEHART, M. Visual Basic 5 Power OOP. 1997

• Rose 98® . 1998 - Manuais de VB

Page 4: ANÁLISE E PROJETO ORIENTADA A OBJETOS UFRJ/IM/DCC Lab PSI mai/1999

4

>>> OBJETIVOS

• “Engenharia de Software é a produção de Software de QUALIDADE” (Meyer)

Page 5: ANÁLISE E PROJETO ORIENTADA A OBJETOS UFRJ/IM/DCC Lab PSI mai/1999

5

Fatores de Qualidade

• Correção

• Robustez

• Extensibilidade

• Reutilização

• Compatibilidade

• Eficiência

• Portabilidade

• Facilidade de uso

• Funcionalidade

• Tempestividade

• ...

Page 6: ANÁLISE E PROJETO ORIENTADA A OBJETOS UFRJ/IM/DCC Lab PSI mai/1999

6

Tradeoffs

Desejável

`Comum`

Funcionalidade

OutrosFatores

Osmond, 1995

Depuração

Page 7: ANÁLISE E PROJETO ORIENTADA A OBJETOS UFRJ/IM/DCC Lab PSI mai/1999

7

Manutenibilidade

Lientz, 1980

Page 8: ANÁLISE E PROJETO ORIENTADA A OBJETOS UFRJ/IM/DCC Lab PSI mai/1999

8

OO - Conceitos Básicos

• Objeto• Classe• Mensagem• Atributo• Operação• Polimorfismo• Herança

• Evento• Estado• Generalização• Especialização• Encapsulamento• ...

Page 9: ANÁLISE E PROJETO ORIENTADA A OBJETOS UFRJ/IM/DCC Lab PSI mai/1999

9

Qual o conceito mais importante da Orientação

a Objetos?

• É o conceito de CLASSE

Page 10: ANÁLISE E PROJETO ORIENTADA A OBJETOS UFRJ/IM/DCC Lab PSI mai/1999

10

Classe

Nome da Classe

atributoatributo : tipo do dadoatributo : tipo do dado = valor inicial

operaçãooperação (lista de arg.) : tipo de res.

Page 11: ANÁLISE E PROJETO ORIENTADA A OBJETOS UFRJ/IM/DCC Lab PSI mai/1999

11

Objeto (Instância de Classe)

Page 12: ANÁLISE E PROJETO ORIENTADA A OBJETOS UFRJ/IM/DCC Lab PSI mai/1999

12

Características dos Objetos

• Real ou abstrato

• Ocupa espaço físico ou lógico

• O estado de suas características (atributos e operações) o tornam único

• Identidade mesmo com mudanças de estado

• Comportamento define ações e reações

Page 13: ANÁLISE E PROJETO ORIENTADA A OBJETOS UFRJ/IM/DCC Lab PSI mai/1999

13

Classe Indivíduo

Page 14: ANÁLISE E PROJETO ORIENTADA A OBJETOS UFRJ/IM/DCC Lab PSI mai/1999

14

AbstraçãoOrganização

+códigoDaOrganização+nomeDaOrganização+endereçoDaOrganização

Cliente Fornecedor

Page 15: ANÁLISE E PROJETO ORIENTADA A OBJETOS UFRJ/IM/DCC Lab PSI mai/1999

15

Atributo

Indivíduo+ códigoDoIndivíduo : long+ sexo : M ou F+ dataDoNascimento : data.....

Page 16: ANÁLISE E PROJETO ORIENTADA A OBJETOS UFRJ/IM/DCC Lab PSI mai/1999

16

Visibilidade do Atributo

• + Visibilidade pública (default)

• # Visibilidade protegida (classes do pacote)

• - Visibilidade privada (internas à classe)

• { / Atributo derivado - Informação }

Page 17: ANÁLISE E PROJETO ORIENTADA A OBJETOS UFRJ/IM/DCC Lab PSI mai/1999

17

Atributo Identificador da Classe

• IDO : identificador do objeto (dentro da classe)

Page 18: ANÁLISE E PROJETO ORIENTADA A OBJETOS UFRJ/IM/DCC Lab PSI mai/1999

18

Histórico de Atributo

Funcionário Cargo

Cargo deFuncionário

* *

Page 19: ANÁLISE E PROJETO ORIENTADA A OBJETOS UFRJ/IM/DCC Lab PSI mai/1999

19

Operação

• Operação:– Serviço de uma classe– Procedimento algorítmico

• Método > implementação de uma operação

• Operação é resultante da passagem de uma Mensagem de um objeto para outro

Page 20: ANÁLISE E PROJETO ORIENTADA A OBJETOS UFRJ/IM/DCC Lab PSI mai/1999

20

Exemplos

Indivíduo

+ incluirIndivíduo (códigoDoIndivíduo)+ destruirIndivíduo (códigoDoIndivíduo)

Page 21: ANÁLISE E PROJETO ORIENTADA A OBJETOS UFRJ/IM/DCC Lab PSI mai/1999

21

Verificar estoque(item)

:Item de pedido

:Item deestoque

Item de Estoque

verificarEstoque(item)

Page 22: ANÁLISE E PROJETO ORIENTADA A OBJETOS UFRJ/IM/DCC Lab PSI mai/1999

22

Sintaxe da definição de operação

• Visibilidade NomeDaOperação (parâmetros) : TipoDeRetorno {Propriedade}

Page 23: ANÁLISE E PROJETO ORIENTADA A OBJETOS UFRJ/IM/DCC Lab PSI mai/1999

23

parâmetros

• nome tipo : tipo_expressão = valorDefault

• Exemplo:(item in : long = 0, código out : long)

Page 24: ANÁLISE E PROJETO ORIENTADA A OBJETOS UFRJ/IM/DCC Lab PSI mai/1999

24

Propriedades

• Classificação

• precondição

• poscondição

• tipo de exceção

• concorrência

• transformação

• estereótipo

Page 25: ANÁLISE E PROJETO ORIENTADA A OBJETOS UFRJ/IM/DCC Lab PSI mai/1999

25

Classificação:

• Construtoras (criam ou inicializam)

• Seletoras

• Modificadoras

• De iteração

• Destrutoras

Page 26: ANÁLISE E PROJETO ORIENTADA A OBJETOS UFRJ/IM/DCC Lab PSI mai/1999

26

Polimorfismo

• Permite que uma operação tenha o mesmo nome em classes diferentes (em uma hierarquia de herança) porém com implementações diferentes)

Page 27: ANÁLISE E PROJETO ORIENTADA A OBJETOS UFRJ/IM/DCC Lab PSI mai/1999

27

Aplicação Financeira

calcularSaldo ()

calcularSaldo () calcularSaldo () calcularSaldo ()

Renda Fixa Poupança Fundo Açoes