análise orientada a objetos prof. wolley w. silva wolley@umc.br aula-01

Post on 21-Apr-2015

106 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Análise Orientada a Objetos

Prof. Wolley W. Silvawolley@umc.br

Aula-01

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

top related