Buscar

01_APOO_INTRODUÇÃO_A_ORIENTAÇÃ

Prévia do material em texto

Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
DISCIPLINA APOO
PROF. CLÁUDIO SANTOS
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
INTRODUÇÃO A 
ORIENTAÇÃO A OBJETOS
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
CONCEITOS BÁSICOS
Desde a mais tenra idade formamos conceitos. Cada
conceito é uma idéia ou um entendimento pessoal que
temos de nosso mundo. Os conceitos que adquirimos
nos permitem dar sentido e raciocinar sobre as coisas de
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
nosso mundo. Essas coisas às quais nossos conceitos
se aplicam são denominadas objetos. (James Martin)
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Um objeto pode ser
Uma pessoa
Uma coisa
Uma instituição
Um fato
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Um fato
Um lugar
Um conceito
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Objetos
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Uma pessoa um veículo um documento uma região
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Objeto
Ordem de 
produção
Matéria-prima Processo produtivo Produto final
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Accounting
Atributos Operações
Mensagem 
de solicitação
Mensagem 
de resposta
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Classe de Objetos
É um conjunto de objetos que são descritos pelos mesmos 
dados e possuem o mesmo comportamento.
Uma Classe é uma implementação de um Tipo de Objeto. Ela 
tem uma estrutura de dados e métodos que especificam as 
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
tem uma estrutura de dados e métodos que especificam as 
operações que podem ser feitas com aquela estrutura de 
dados.
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Classes de Objetos (ou simplesmente Classes)
É uma descrição dos atributos e métodos comuns a um 
grupo de objetos.
PESSOA
(cor dos olhos, data de nascimento)
(calcular a idade)
Classe Atributos
Método
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
JOÃO MARIA PAULO LÚCIA
(azuis, 18-05-1973) (verdes, 31-07-1985) (castanho, 2-12-1982)(castanho, 25-08-1980)
Método
Objeto (instância da classe pessoa)
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Orientação a Objetos
Paradigma:
. O mundo é formado de objetos.
. Desenvolver um sistema é criar em computador uma 
simulação dos objetos e de seu comportamento.
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Princípios da orientação a objetos como aplicações 
do princípio da abstração
ORIENTAÇÃO A OBJETOS
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
HerançaPolimorfismoEncapsulamento
Abstração
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Princípio da Abstração
Uma abstração é qualquer modelo que inclui os aspectos 
mais importantes, essenciais de alguma coisa, ao mesmo 
tempo em que ignora os detalhes menos importantes.
Permite gerenciar a complexidade e concentrar a atenção 
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Permite gerenciar a complexidade e concentrar a atenção 
nas características essenciais de um objeto.
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Princípios da Orientação a Objetos - Encapsulamento
Reunir num mesmo componente os dados e os processos que manipulam 
estes dados. É uma forma de restringir o acesso ao comportamento interno 
de um objeto.
Estrutura de Dados
Uma classe
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
abc
2+
123 Métodos
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Princípios da Orientação a Objetos - Herança
Os componentes devem ser organizados em hierarquias de generalização-
especialização de modo que possam herdar uns dos outros dados e processos 
comuns. Empregado
Data de admissão
Endereço
Telefone
Cálculo do tempo de serviço
herda
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Cargo Administrativo Cargo Técnico
Data do Registro
N. do Registro 
Cálculo do tempo na profissão
Engenheiro
Data de início do estágio
Data de fim de estágio
Cálculo do tempo de estágio
Médico
Data de início de residência
Data de fim de residência
Cálculo do tempo de residência
herda
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Princípios da Orientação a Objetos - Polimorfismo
Processos que executam funções semelhantes em componentes diferentes 
devem ser chamados pelo mesmo nome.
Porta
Calcular
Medicamento
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
abrir Arquivo
Conta corrente
Calcular
prazo de
validade
Alimento 
industrializado
Processos Objetos
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Saldo 
(correntista)
Princípios da Orientação a Objetos - Polimorfismo
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
saldo
Saldo 
poupança
Saldo fundo 
de ações
Saldo fundo 
balanceado
Saldo renda 
fixa
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Orientação a Objetos
Processo:
. Identificar e classificar os objetos da realidade.
. Criar componentes capazes de armazenar dados e simular 
o comportamento de cada objeto.
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
o comportamento de cada objeto.
. Construir sistemas a partir destes componentes.
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Orientação a Objetos
Em nível conceitual e em 
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Sistema
Modelo de classes 
de objetos
Realidade
Em nível conceitual e em 
nível físico:
.Classes de objetos
.Componentes
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Responsabilidades
Conjunto de serviços que uma classe se dispõe para prover a 
necessidade de seus usuários e às demais classes
Inclui 2 itens:
. O conhecimento mantido por cada objeto da classe.
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
. O conhecimento mantido por cada objeto da classe.
. As ações que o objeto pode realizar.
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Comportamento
É o conjunto de operações (ações) que um objeto executa.
São importantes as operações:
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
. Do ciclo de vida - que correspondem aos eventos que 
ocorrem sobre um objeto e que alteram seus dados desde o 
seu nascimento até a sua morte.
. Recuperadoras - que fornecem informações específicas dos 
objetos aos seus solicitantes.
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Protocolo
São as regras que o cliente deve utilizar para solicitar um 
serviço à uma classe.
Deve ser mantido estável ao longo do tempo.
É composto de:
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
É composto de:
. Dados que serão recebidos.
. Dados que serão devolvidos.
. Regras de integridade.
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Colaboração
Representa os serviços que uma classe necessita solicitar a 
outra classe com o objetivo de executar as suas 
responsabilidades.
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Escola de Ciênciae Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Como estava a situação dos 
Métodos Orientados a Objetos
Falta de padrão em relação às técnicas.
Falta de padrão em relação à notação.
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Falta de padrão em relação à notação.
Motivou o desenvolvimento de um método unificado 
(Rumbaugh, Booch, e Jacobson).
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Notações
Funcionário
Rebecca Wirfs-Broch Page Jones, Weiss,
e Constantine
Funcionário
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Grady Booch
Funcionário
Analista
Analistas
Funcionário
Admissão
Demissão
Analista
Funcionário
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Notações
Funcionário
Matrícula
Nome
Admissão
Funcionário
Matrícula
Coad e YourdonCoad e Yourdon UMLUML
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Admissão
Demissão
Analista
Matrícula
Nome
Admissão
Demissão
Analista
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Importância do uso de Modelos
.Testar uma entidade física antes de construí-la. 
(ex.: túnel de vento)
.Comunicação com o cliente.
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
.Comunicação com o cliente.
.Visualização
.Redução da Complexidade.
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Mensagem
Objetos se comunicam através de mensagem, isto é, um sinal
enviado de um objeto a outro requisitando um serviço através
da execução de uma operação
objeto
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
objeto
objeto
objeto
objeto
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Generalização - Especialização
Na criação de classes, há a possibilidade de ocorrer uma
conexão semântica de elementos de modelo entre pai e filho na
qual uma classe filha (subclasse) herda as propriedades de seu
pai (superclasse) direta ou indiretamente.
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
GeneralizaçãoAutomóvel
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Especialização
Automóvel 
esportivo
Porsche
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Palavra-chave B reve definição Exemplo 
Atributo Carac terís t ica particular de 
uma ocorrênc ia da c lasse 
Indivíduo possui nome, sexo, data 
de nasc imento 
Classe Agrupamento de objetos 
s im ilares que apresentam 
os mesmos atributos e 
operações 
Indivíduo, carac terizando as 
pessoas do mundo 
Espec ialização A tributos e operações 
diferentes de uma 
subc lasse, ac rescentando 
ou subs tituindo 
carac terís ticas herdadas 
da c lasse pai 
Subc lasse 
[Organização] 
e [Indivíduo] 
acrescentam 
atributos e 
operações 
dis tintos da 
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
dis tintos da 
Superc lasse 
[Parte] 
Es tado S ituação de um objeto em 
um dado ins tante do 
tempo 
Em itindo nota fiscal 
Evento Uma ocorrênc ia 
s ignificativa no mundo real 
que muda o es tado de um 
objeto e que deve ser 
tratada 
Pedido tomado, entrega efetuada, 
ponto de solic itação de material 
atingido 
Generalização A tributos e operações 
comuns compartilhados 
por c lasse 
Superc lasse [Parte] ou [Pessoal] 
como generalização das 
subc lasses [Organização] e 
[Indivíduo] 
 
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Palavra-chave Breve definição Exemplo 
Herança Compartilhamento pela 
subclasse dos atributos e 
operações da classe pai 
Subclasse [Eucalipto] compartilha 
atributos e operações da classe 
[Árvore] 
Instância de classe Uma ocorrência 
específica de uma classe. 
É o mesmo que objeto 
Uma pessoa, uma organização, 
um equipamento, uma localização 
geográfica 
Mensagem Uma solicitação entre 
objetos para invocar certa 
operação 
Informar idade da pessoa “Fulano 
de tal” 
Objeto Elemento do mundo real 
(natureza). Sinônimo de 
instância de classe 
Pessoa “Fulano de tal”, 
Organização “ACME”, 
Equipamento “Extintor”, 
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
instância de classe Equipamento “Extintor”, 
Localização geográfica “São 
Paulo” 
Operações Lógica contida em uma 
classe para designar-lhe 
um comportamento 
Cálculo da idade de uma pessoa 
em uma classe [Indivíduo] 
Polimorfismo Habilidade para usar a 
mesma mensagem para 
invocar comportamentos 
diferentes do objeto 
Chamada da operação: “calcular 
saldo” de correntista. Invoca as 
derivações correspondentes para 
cálculo de saldo de poupança, 
renda fixa, fundo de ações et. 
Subclasse Característica particular de 
uma classe 
Classe [Árvore] subclasses [Ipê], 
[Jacarandá], [Eucalipto] etc.

Continue navegando