análise orientada a objetos prof. wolley w. silva [email protected] aula-01
TRANSCRIPT
Objetivos da disciplina:
• Conhecer as técnicas e saber realizar o levantamento de requisitos de sistemas;
• Identificando os envolvidos e os problemas a resolver em um determinado domínio;
• Definir o escopo do projeto;• Saber modelar os sistemas com diagramas
UML de Atividades, Caso de Uso e Classes de Objetos.
Bibliografia
Bibliografia
Agenda:
Introdução ao Paradigma Orientado a Objetos Objetos e Classes Encapsulamento Herança Polimorfismo
Análise Estruturada X
Orientada a Objetos
Sistema de uma biblioteca
• O sistema deve disponibilizar a consulta, atualização e cadastro de um novo livro.
DBLivros
Realizar cadastro
Paradigma Estruturado
Realizar consulta
Realizar atualização
•Titulo•Autor•ISBN
Cada
stra
r
Consultar
Atualizar
Livrotituloautorisbncadastrarconsultaratualizar
Paradigma Orientado a Objeto
• AE: centrada na identificação de procedimentos.– Dados representados como variáveis globais.– Programa: agrupamento de procedimentos.
• AOO: centrada da identificação de objetos.– Dados e operações unidos.– Programa: conjunto de objetos.
Análise Estruturado X Orientado a Objetos
“Um paradigma de análise, projeto e programação de sistemas de software que
propõe a composição e interação entre diversas unidades de software chamadas de
objetos”.
O que é Orientação a Objetos?
• Paradigma: Forma de abordar um problema
• Análise: Investigação do problema, em vez da solução.
• Análise OO: Investigação dos objetos do domínio.
O que é Orientação a Objetos?
“Analogia biológica de Alan Kay”
http://pt.wikipedia.org/wiki/Alan_Kay
Conceitos da Orientada a Objetos.
ENCAPSULAMENTO HERANÇA POLIMORFISMO
ABSTRAÇÃO
OBJETO CLASSE
Abstração
• Abstrair é– O processo de retirar do domínio do problema
detalhes relevantes e representá-los na linguagem da solução.
– A criação de modelos que serão utilizados para a resolução do problema.
Abstração
O que são Objetos?
Coisas tangíveis
Eventos
Transações
Objetos reúnem características (dados) e comportamento (procedimentos)
Dados•Marca•Modelo•Cor•Itens de série •Ano de fabricação
Procedimentos•Acender farol •Acelerar•Frear•Controle de Temperatura
• Características (dados): elasticidade, pressão, resistência, x, y, z, rotacao, velocidade, aceleracao, ...
Quais são as características e comportamentos deste objeto?
• Comportamento (procedimentos):mover, encher, esvaziar, ...
O que são Classes?
A abstração das características e comportamentos de um grupo de
objetos
Qual a classe destes Animais???
Características•Vertebrados•Endotérmicos•Cérebro•Audição•Visão
Comportamento•Comer•Dormer•Locomover
Um “molde” a partir do qual objetos são construídos.
Classe Carro•Marca•Modelo•Cor
Um “molde” a partir do qual objetos são construídos.
Classificação é o meio pelo qual ordenamos o conhecimento
CarroanoFabricacaomarcamodelo
darPartidaacelerar
Classes e Objetos• Como você classifica estes objetos?
Encapsulamento
• Esconder a estrutura interna (implementação) de um objeto.
Encapsulamento
saldoDaConta
realiarDepositorealiarSaque
exibirSaldoRealizarSaque
saldo_da_conta
RealizarDeposito
ExibirSaldo
Objeto conta contêm todas as informações e comportamentos
• Permite Classes coesas e desacopladas.
Encapsulamento
Herança
• É o compartilhamento de características entre classes com base em um relacionamento hierárquico.– Possibilita a derivação de tipos mais específicos a
partir de um tipo mais genérico– Uma classe pode ser definida de forma abrangente e
depois ser refinada em sucessivas subclasses.– Subclasses herdam os atributos e os métodos da
super-classe, permitindo ainda modificações nos mesmo.
Herança
Herança
Polimorfismo• Reduz o esforço necessário
para ampliar as funcionalidade de um sistema OO.
• Cada variação do método gerar(), é isolado um classe de objeto com um comportamento especifico;
• Cada subclasse reescreve o método gerar() de acordo com sua necessidade• Apenas uma chamada, relatorio.gerar() , pode disparar o método de qualquer
subclasse.
Polimorfismo
• Para inclusão de um novo formato, cria-se uma nova classe, sem a necessidade de modificar a camada ao método.
Polimorfismo
Exercício
1. Defina e relacione os termos objeto e classe. Dê exemplos de cada um desses conceitos.
2. Descreva os seguintes conceitos da Orientação a Objetos
1. Herança2. Encapsulamento3. Polimorfismo