Análise e Projeto de Sistemas
UNIVERSIDADE DE
CRUZ ALTA
Ciência da Computação
2010/1
ORIENTAÇÃO A OBJETOS
CENÁRIO ATUAL

Precursores da análise orientada a objeto,
defendiam que devíamos estruturar
programas de computadores de acordo com
o problema a ser resolvido. O Termo
orientação a objetos sugere abstrações no
mundo real e trechos de programas de
computador, ou objeto.
CENÁRIO ATUAL

Um grande fator da orientação a objetos é a
REUSABILIDADE. Estamos reutilizando códigos de
programas desde o início da computação. As
técnicas de orientação a objetos nos permitem muito
mais que a reutilização de códigos, podemos
reutilizar requisitos, análise, projeto, planejamento
de testes, interfaces de usuário e arquiteturas, ou
seja, todos os componentes de engenharia de
software podem ser encapsulados como
reutilizáveis.
Análise orientada a objetos
Propósitos da análise orientada a
objetos


formalizar uma visão do mundo real dentro do qual
o sistema será desenvolvido, estabelecendo os
objetivos que servirão como principais estruturas
organizacionais do sistema de software e também
as que o mundo real impõe.
Formalizar a colaboraçao de um dado conjunto de
objetos na execução do trabalho do sistema de
forma que está sendo especificado.
Objeto
Análise orientada a objetos

Análise é o estudo do domínio de um
problema que leva a uma especificação de
comportamentos observáveis externamente.
Analisar é obter as necessidades de um
sistema e o que este precisa ser
desenvolvido para satisfazer as
necessidades do usuário.
Análise orientada a objetos
ANÁLISE
INVESTIGAÇÃO DO PROBLEMA
Projeto orientado a objetos

Processo de especificação das partes da
construção, ou seja, instruções, guias,
recomendações, qualificações, regras,
etc...Utilizamos este processo para
implementar um sistema em um ambiente
específico, em busca da solução do
problema.
Orientação a objetos

Significa organizar o mundo real como uma
coleção de objetos que incorporam estrutura
de dados e um conjunto de operações que
manipulam estes dados.
Características das linguagens
orientadas a objetos



Objetos
Polimorfismo
Herança
Sistema de software orientado a
objetos

Um sistema de software orientado a objetos
consiste de objetos em colaboração com o
objetivo de realizar as funcionalidades deste
sistema. Cada objeto é responsável por
tarefas específicas. É através da cooperação
entre objetos que a computação do sistema
se desenvolve.
OBJETOS


É uma entidade lógica que contém dados e
códigos para manipular estes dados.
Exemplos: Coisas tangíveis = “a Bíblia”
Objetos
Componentes de um objeto
Objetos
Classes
É um tipo de dados, como os já conhecidos para
declarar variáveis.
Uma variável de uma classe é chamada de objeto
Variáveis de Classe: são os dados declarados em uma
classe
Instância: temos uma instancia de uma classe quando
declaramos um objeto a partir de uma classe.
Semelhante a declaração de uma variável.
Componentes de um objeto
Objetos
Variáveis de classe
Dados
Variáveis de instância
Dados
métodos
métodos
Classe
Instancia de uma classe
Objetos

Um Objeto é uma entidade independente,
assíncrona e concorrente, armazena dados,
encapsula serviços, troca mensagens com
outros objetos, e é modelado para executar
as funções finais do sistema.
Objetos


Objetos interagem e comunicam-se através
de mensagens
As mensagens identificam as operações /
métodos a serem executados no objeto
receptor.
emissor
Receptor/servidor
Mensagens e métodos









Para invocar um método de um objeto, deve-se invocar uma
mensagem para este objeto.
Para enviar uma mensagem deve-se:
Identificar o objeto que receberá a mensagem
Identificar o método que o objeto deve executar
Passar os argumentos requeridos pelo método.
Um objeto possui:
Um estado (definido pelo conjunto de valores de seus atributos
em um determinado instante)
Um comportamento (definido pelo conjunto de métodos
projetados na sua interface)
Uma entidade única.
Mensagens
Componentes de um objeto
Método

Um sinônimo para procedimento ou função.
Invocado quando uma mensagem é recebida
por um objeto.
Abstração

Consiste na seleção que o analista faz de
alguns aspectos, ignorando outros.
Abstração







Homem, vaca e cachorro são mamíferos;
Prata, chumbo e platina são metais;
Poupança, conta corrente e aplicações são
tipos de contas bancárias;
Características comuns:
Todos os mamíferos são vertebrados;
Todos os metais tem peso;
Todas as contas bancárias tem saldo.
Abstração
A abstração deve ser sempre feita com algum objetivo, por que
este determina o que é e o que não é importante
Classe



Classe é a abstração que capta os atributos e
operações comuns a um conjunto de objetos;
É a descrição de um conjunto de objetos com
características, atributos e comportamentos
semelhantes.
Instancia: é um objeto individual que é tanto descrito
por uma classe particular como é um membro dela.
Repositório para dados que descreve o estado de
um membro de uma classe
Classe
Classe
Conta bancária
Consulta saldo
Retirar
Número da conta
Número do titular
Saldo
Depositar
Classe
NumeroConta:123456
NomeTitular:Elaine
Saldo:700.77
Operações:
Depósito: quantidade
Retirada: quantidade
Saldo
NumeroConta:123489
NomeTitular:Carla
Saldo:500.77
NumeroConta:456789
NomeTitular:Pedro
Saldo:300.77
Minha conta
bancária
Conta
bancária de
Carla
Conta
bancária de
Pedro
Subclasse
Encapsulamento


Todo o acesso aos dados do objeto é feito
através da chamada a uma operação
(método) da sua interface.
Mudanças na implementação de um objeto,
que preservem a sua interface externa, não
afetam o resto do sistema.
Encapsulamento
Encapsulamento
Encapsulamento

Encapsular é omitir informações pelo
princípio de que uma determinada entidade
esconde informações as quais são
necessárias apenas à mesma. É
fundamental que o objeto proteja seus
dados, não permitindo que o usuário do
objeto os acesse diretamente, mas sim
através de métodos.
Estado
Encapsulamento
Herança



É a principal característica do processo de
generalização / especialização. Através da Herança
uma determinada subclasse herda todos os
atributos e métodos da superclasse.
Vantagem:
Permite um analista especificar serviços e atributos
comuns uma só vez, assim como especializar e
estender estes atributos a serviços em casos
específicos.
Polimorfismo

O polimorfismo ocorre quando uma mesma
mensagem chegando a objetos diferentes
provoca respostas diferentes.
Herança



É o processo em que um objeto pode
adquirir as características de um outro
objeto.
Herança simples: um objeto herda as
características de uma única classe.
Herança Múltipla: um objeto herda
características de mais de uma classe.
Herança
Conta bancária
Conta corrente
Conta poupança
Aplicação curto prazo
Aplicação longo prazo
Herança
Herança
Herança
Download

aula2