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

Notas de aula - DCC