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 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 Rose 98® 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 Outros Fatores 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 atributo atributo : tipo do dado atributo : tipo do dado = valor inicial operação operaçã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ção Organização +códigoDaOrganização +nomeDaOrganização +endereçoDaOrganização ClienteFornecedor
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 de Funcioná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 de estoque 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 () Renda FixaPoupançaFundo Açoes