anÁlise e projeto orientada a objetos ufrj/im/dcc lab psi mai/1999
Post on 17-Apr-2015
104 Views
Preview:
TRANSCRIPT
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 ®
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
4
>>> OBJETIVOS
• “Engenharia de Software é a produção de Software de QUALIDADE” (Meyer)
5
Fatores de Qualidade
• Correção
• Robustez
• Extensibilidade
• Reutilização
• Compatibilidade
• Eficiência
• Portabilidade
• Facilidade de uso
• Funcionalidade
• Tempestividade
• ...
6
Tradeoffs
Desejável
`Comum`
Funcionalidade
OutrosFatores
Osmond, 1995
Depuração
7
Manutenibilidade
Lientz, 1980
8
OO - Conceitos Básicos
• Objeto• Classe• Mensagem• Atributo• Operação• Polimorfismo• Herança
• Evento• Estado• Generalização• Especialização• Encapsulamento• ...
9
Qual o conceito mais importante da Orientação
a Objetos?
• É o conceito de CLASSE
10
Classe
Nome da Classe
atributoatributo : tipo do dadoatributo : tipo do dado = valor inicial
operaçãooperação (lista de arg.) : tipo de res.
11
Objeto (Instância de Classe)
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
13
Classe Indivíduo
14
AbstraçãoOrganização
+códigoDaOrganização+nomeDaOrganização+endereçoDaOrganização
Cliente Fornecedor
15
Atributo
Indivíduo+ códigoDoIndivíduo : long+ sexo : M ou F+ dataDoNascimento : data.....
16
Visibilidade do Atributo
• + Visibilidade pública (default)
• # Visibilidade protegida (classes do pacote)
• - Visibilidade privada (internas à classe)
• { / Atributo derivado - Informação }
17
Atributo Identificador da Classe
• IDO : identificador do objeto (dentro da classe)
18
Histórico de Atributo
Funcionário Cargo
Cargo deFuncionário
* *
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
20
Exemplos
Indivíduo
+ incluirIndivíduo (códigoDoIndivíduo)+ destruirIndivíduo (códigoDoIndivíduo)
21
Verificar estoque(item)
:Item de pedido
:Item deestoque
Item de Estoque
verificarEstoque(item)
22
Sintaxe da definição de operação
• Visibilidade NomeDaOperação (parâmetros) : TipoDeRetorno {Propriedade}
23
parâmetros
• nome tipo : tipo_expressão = valorDefault
• Exemplo:(item in : long = 0, código out : long)
24
Propriedades
• Classificação
• precondição
• poscondição
• tipo de exceção
• concorrência
• transformação
• estereótipo
25
Classificação:
• Construtoras (criam ou inicializam)
• Seletoras
• Modificadoras
• De iteração
• Destrutoras
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)
27
Aplicação Financeira
calcularSaldo ()
calcularSaldo () calcularSaldo () calcularSaldo ()
Renda Fixa Poupança Fundo Açoes
top related