Вы находитесь на странице: 1из 11

UNIVC

ABSTRAO
Processos de abstrao
Prof: Douglas Tybel
07/03/2012


2

SUMRIO
INTRODUO ABSTRAO .................................................................................................. 3
PROCESSO DE ABSTRAO .......................................................................................................... 4
Classificao / Instanciao .................................................................................................. 4
Generalizao / Especializao ............................................................................................ 5
Agregao / Decomposio .................................................................................................. 6
Associao ............................................................................................................................ 7
EXERCCIOS ................................................................................................................................ 9
CONCLUSO ............................................................................................................................. 10
REFERNCIAS ........................................................................................................................... 11



3


ABSTRAO
INTRODUO ABSTRAO
Um programa pode ser inicialmente visualizado
como sendo alguma coisa que, utilizando um
conjunto de objetos e suas interaes, mostra ao
computador como resolver um determinado
problema.
Um problema normalmente envolve vrios
aspectos e sua resoluo implicar em um
processo de anlise, tendo-se por objetivo a identificao das caractersticas
que apresentam relao direta com a obteno da soluo. Um modelo de
resoluo de um problema deve espelhar adequadamente a situao real e,
conseqentemente, sua construo dever considerar quais aspectos so
relevantes para o problema em questo e quais aspectos podem ser
considerados irrelevantes. Esse mecanismo denominado Abstrao.
Para que um Analista consiga desenvolver um software, imagina-se que ele
saiba tudo sobre o ramo de atividade da empresa a qual est prestando
servios, isso porque, se faz necessrio a criao do banco de dados, desenho
dos formulrios, o projeto e a programao do software, contudo, os Analistas
nem sempre conhecem todo o processo de uma empresa, ento como eles
fazem isto? A resposta para essa pergunta bem simples, ela base de
quase todos os livros de programao Orientada a Objetos, mas os leitores no
do a devida importncia a este mecanismo chamado abstrao.
Este mecanismo nada mais do que abstrair ou considerar os aspectos que
so relevantes para o problema, para modelar e identificar classes e/ou
objetos.
Suponha que uma loja de calados te contrate para resolver um problema de
controle financeiro da empresa, assim a primeira questo : Por onde
comear? Portanto usar os processos de abstrao para considerar os

4

aspectos relevantes e os aspectos que podem ser considerados irrelevantes
muito importante para que se consiga efetuar tal analise.
Continuando o exemplo, vamos ensinar para como utilizar esse processo para
poder saber quais tabelas ou classes abstrair de um sistema.

PROCESSO DE ABSTRAO

As operaes de Abstrao mostram como o ser
humano mentaliza, organiza e modela o mundo ao
seu redor. Ao pensarmos o mundo real, as
seguintes bsicas podem ser aplicadas:
Classificao / Instanciao
Generalizao / Especializao
Agregao / Decomposio
Associao

O resultado de uma operao mental de abstrao depende no tanto do
fenmeno observado, mas do interesse do observador.


Classificao / Instanciao

Ao olhar para o seu carro, voc o
identificar imediatamente como um
automvel, pois o mesmo apresenta
as caractersticas de um automvel,
tais como: ter um motor, porta-malas,
placas, sistema de cmbio, volante e
pode ser locomover, estacionar, etc. O veculo de seu vizinho tambm ser
identificado como um automvel, se apresentar essas mesmas caractersticas.
Veja que o seu carro uma entidade distinta do carro de seu vizinho,
entretanto, ambos apresentam as mesmas caractersticas, as quais so

5

utilizadas para classific-los como objetos pertencentes categoria dos
automveis.
Usando a primeira operao de abstrao que se chama Classificao,
podemos abstrair classes facilmente de uma entrevista com o cliente, como por
exemplo, se ele disser:
Preciso ter o controle de meus clientes;
O que podemos classificar nesta frase que comum a um grupo, uma vez que,
todos tenham as mesmas caractersticas? Vamos l:
Existe grupo de PRECISO? No;
Existe grupo de CONTROLE? No;
Existe grupo de MEUS? No;
Existe grupo de CLIENTES? Sim;
Observe que na frase dita pelo cliente, apenas a palavra CLIENTES,
representa um grupo, de forma geral, seus integrantes possuem as mesmas
caractersticas.


Generalizao / Especializao

Suponha um profissional formado em
Medicina. Diz-se que este
profissional um mdico, ou seja,
este profissional pode ser
considerado como uma entidade
(Objeto) que pertence classe
Mdico. A classe Mdico define quais so as caractersticas (Conhecimentos e
atribuies, neste caso) apresentadas pelos objetos que pertencerem
mesma. Considere que o profissional formado em Medicina faa um curso de
especializao em cardiologia. Tem-se ento um profissional mais
especializado. Esse novo profissional formado em Medicina apresenta
caractersticas adicionais.
Vamos assumir o exemplo de grupo mostrado no processo de classificao
para entender melhor a generalizao, isso porque, podemos assumir que
CLIENTES uma classe, contudo necessitamos saber se ela recebe herana

6

de uma SUPERCLASSE. Podemos nos perguntar se, a classe de CLIENTES
pertence a alguma classe? A resposta seria identificar a classe PESSOAS
como representao de pai da classe clientes, uma vez que mais abrangente,
e a classe CLIENTES herda atributos da classe PESSOAS, sendo
representada pela operao de abstrao Generalizao. Veja na Figura 1 a
representao de Herana ou generalizao em um diagrama de classe que a
seta de ligao um retngulo sem cor e invertido, realizando a ligao entre
CLIENTES (filha) e PESSOAS, a classe pai.

PESSOAS
CLIENTES

Figura 1: Representao de Herana Generalizar

Agregao / Decomposio

Quando unimos um conjunto de
objetos, com o objetivo de
formarmos um novo objeto,
estamos realizando uma Operao
de Agregao. Se, analisando um
objeto, isolamos cada um de seus
componentes, estamos fazendo
uma Operao de Decomposio.
Veja, ento, que um objeto pode ser composto por outros objetos. Alis, a
maioria dos objetos do mundo real so na verdade compostos por vrios outros
objetos.
Em algum dado momento de uma entrevista o cliente pode passar informaes
que necessite usar o processo de agregao, como por exemplo:

7

Se o cliente disser: Quero efetuar o controle de minhas notas ficais e dos seus
itens
Quando efetuamos o processo de abstrao chamado CLASSIFICAO,
observamos que na frase dita conseguimos abstrair a classe
NOTAS_FISCAIS, isso porque, existe um grupo de notas, uma vez que todas
contm os mesmos atributos, contudo os ITENS passaram a ser classificado.
Para essas situaes ns usamos o processo de abstrao chamado
AGREGAO. Quando unimos um conjunto de objetos para formar um novo
objeto, estamos realizando uma operao de AGREGAO.
Suponhamos uma CLASSE chamada ESTOQUE, o que compe um estoque?
Podemos responder que normalmente so EQUIPAMENTOS, PRODUTOS,
MATERIAS e etc., certo? Deste modo, podemos dizer que um estoque no
seria um estoque sem os seus compostos. Portanto, dessas premissas,
podemos concluir que o computador um objeto composto de teclado, mouse,
monitor e etc., por sua vez, uma NOTA_FISCAL no existe sem os seus
ITENS, realizando assim uma operao de AGREGAO, veja abaixo na
Figura 2 a Representao de agregao em diagrama de classe.
ESTOQUE
PRODUTOS MATERIAIS
1 1

Figura 2: Representao de agregao

Associao

Vamos considerar que a entidade prof. Jos
pertencente classe Professor, enquanto que a
entidade aluno Joaquim pertencente classe
Aluno. Considerando o problema de ministrar

8

aulas, vemos ento, que as classes Professor e Aluno apresentam um
determinado relacionamento, caracterizado pela ligao entre suas entidades.
Este relacionamento denominado Associao. Representamos uma
associao atravs de uma linha unindo as duas classes.
Vamos considerar que o objeto Douglas Tybel pertencente classe
Professor, enquanto que o objeto Joaquim pertencente classe Alunos.
Considerando que professor ministra aula para alunos, sendo assim, as
classes Professores e Alunos apresentam um relacionamento. Este
relacionamento denominado Associao.

PROFESSORES ALUNOS

Figura 3: Representao de Associao

O uso das operaes de abstrao o resultado de um modelo de resoluo
de um problema, dessas premissas, podemos dizer que seria como um modelo
de software ou outra forma de resolver o problema.


Figura 4: Modelo de resoluo de problema


9

EXERCCIOS

1. Considere uma poca onde no existem computadores, onde uma
empresa tenha que controlar seu processo venda. Use os processos de
abstrao e encontre uma soluo sem usar recursos de tecnologia para
resolver as seguintes situaes:

Controlar o estoque
Controlar as contas a receber
Controlar as vendas
Controle de cadastro dos clientes
Controle dos caixas
Controle das contas do banco


10

CONCLUSO
Conforme vimos, o modelo de resoluo de um problema o resultado de um
processo de abstrao. Em termos concretos, sob o ponto de vista de
programao orientada a objetos, a construo de um modelo de resoluo de
um problema software, passa pela identificao dos objetivos que compem
esse problema e a modelagem de suas respectivas classes.




11

REFERNCIAS

Boratti, Isaias Camilo. Programao Orientada a Objetos (usando Delphi)
lorianpolis, isual,
Melo, Ana Cristina. Desenvolvimento aplicaes com UML 2.0: do conceitual
implementao / Ana Cristina Melo. 2. ed. Rio de Janeiro : Brasport, 2004.
Kroenke, David M. Banco De Dados: Fundamentos, Projeto E
Implementao io De aneiro ivros Tcnicos ientficos,
lmasri, amez, hamkant avathe, arlia uimares Pinheiro, and uis
Ricardo De Figueiredo. Sistemas De Banco De Dados o Paulo Pearson
Addison Wesley, 2005.
Heuser, Carlos Alberto. Projeto De Banco De Dados. Porto Alegre: Sagra
Luzzatto, 2001.

Вам также может понравиться