Upload
necio-de-lima-veras
View
6.336
Download
1
Embed Size (px)
Citation preview
Análise de SistemasUnidade II – O paradigma da Orientação a Objetos
Prof. Nécio de Lima Veras
Objetivo: Visualizar o paradigma da Orientação a Objetos
Roteiro
IntroduçãoO Paradigma da tecnologia de objetos;Modelagem conceitual (abstração);Processos de abstração;Operações de abstração.
Introdução
Uma construção de um programa implicará em definir um modelo de resolução e isso envolve um estudo do problema (contexto e aspectos importantes);
Introdução (cont.)
Como construir um modelo de resolução (ou modelagem do problema)?Existem para isso vários paradigmas:Meio Procedural (computador é uma máquina que apenas obedece ordens);Meio funcional (computador avalia funções e o programa define e compõe funções);Meio orientado a objetos (Visa “imitar” o mundo real, o computador simula as interações entre os objetos);
O Paradigma da Orientação a Objetos
O mundo real é constituído por entidades;Entidade: “Alguma coisa” que tenha sua própria existência, características e que apresenta alguma função do mundo real;Assim: Entidade = Objeto;
Mas o que seria esse Objeto?
O paradigma da Orientação a Objetos
Segundo o dicionário português (s. m.):Tudo o que se oferece à vista, que afeta
os sentidos.Qualquer coisa.Fig. Tudo o que se oferece ao espírito,
que o ocupa; intenção, propósito.Causa, motivo de um sentimento, de
uma ação.Matéria própria: o objeto de uma ação.Direito. Aquilo sobre o que incide um
O paradigma da Orientação a Objetos
No mundo computacional, embora não signifique algo concreto ou palpável, é constituído por características que apresentam alguma função do mundo real;
E isso inspira a resolução de problemas baseado na:
construção de um modelo que englobe objetos (entidades) definindo-se as interações entre eles;
Ex.: Problema: “Chegar a um determinado ponto da cidade”;Objetos envolvidos: “Eu” , “ônibus” e
O Paradigma da Orientação a Objetos: definição preliminar
Um software consiste em um entidade (objeto), expresso na forma de texto, que especifica os objetos que atuam na resolução de um determinado problema e que descreve como esses objetos devem interagir no sentido de resolvê-los.
EntidadeObservada
Entidade Representada
Avião
ABSTRAÇÃO
REPRESENTAÇÃO
Operação mentalpara observar umdomínio e capturarsua estrutura
Refere-se àsconvenções derepresentação
Notação gráfica,linguagem de programação
Modelagem Conceitual
Abstração
Ex.: Problema: “determinar a média final de um aluno”;Aspectos relevantes: Suas notas, assiduidade, participação durante as aulas;Aspectos irrelevantes: Meio de transporte utilizado, procedência escolar, gostos;
Constitui-se em um processo mental usado para modelar uma entidade, isolando as características importantes;Objetivo: Reduzir a complexidade do problema;
Abstração (cont.)
Sempre dependerá do CONTEXTO, ou seja, do PONTO DE VISTA;Deve enfatizar as características essenciais do problema e o projetista deve:Considerar essas características sob o ponto de vista de quem necessita da solução;
Abstração“a beleza está nos olhos de quem a vê”
Diferentes abstrações a partir de um mesmo objeto do mundo real
Maça
Pesocor da cascaformato
Receita
I, II,Cardinalidadedo conjunto
Conclusão (Abstração)
A forma de representação depende do tipo de problema e dos objetivos;Um arquiteto deve representar o modelo de resolução do problema de construção de casa, usando maquetes, plantas, etc.Nosso caso: Definir modelo para que o computador resolva problemas;Linguagens de programação;Diagramas/textos descritivos;
Operações de Abstração
É importante que se conheça os operações usadas durante o processo de abstração que envolve objetos;Demonstra como o ser humano mentaliza, organiza e modelo o mundo ao seu redor;Aplicaremos as seguintes operações básicas:Classificação / Instanciação;Generalização / Especialização;Agregação / Decomposição;Associação;
Classificação / Instanciação
Cada entidade possui determinadas características que a identificam;Ex.: Carro = Automóvel , pois possui todas as características de um automóvel, tais como:Ter um motor, porta-malas, placa, sistemas de câmbio e freios, volante, etc.
Veículo do vizinho, também é um automóvel, desde que possua as mesmas características;São entidades distintas, porém pertencem a
Classificação
Uma categoria define o conjunto de características que devem ser apresentados por um objeto;Categoria = Classe;Objetos (Possuem sua própria existência e características);Objetos com as mesmas características pertencem a uma mesma classe;
Instanciação
Ao construímos um objeto contendo todas as características de determinada classe, estamos fazendo uma operação de Instanciação;Ocorre sempre que criarmos uma entidade de determinada classe;
Visualizando
Estudantede
Graduação
José Maria
CLASSIFICAÇÃO
CATEGORIA (CLASSE)
INDIVÍDUO(Objeto)
INSTANCIAÇÃO
Classificação / Instanciação (conclusão)
Classificação: Operação que tem por objetivo, através da análise das características de um objeto, definir a que classe pertence;Instanciação: Operação que, dada uma determinada classe, define (cria) um objeto pertencente a esta classe;
Generalização / Especialização
Imagine um profissional formado em computação (objeto) pertencente à classe bacharel em computação;Considere agora este profissional faça um curso de especialização em análise de sistemas; Então, este novo profissional possui características adicionais;Agora ele também faz parte da classe Analistas de Sistemas;
Assim, análise de sistemas constitui-se em uma especialização da classe
Visualizando
Estudante
GENERALIZAÇÃO
CATEGORIA (CLASSE)
CATEGORIA (CLASSE)
Estudantede Pós-
Graduação
Estudantede
Graduação
ESPECIALIZAÇÃO(herança)
Visualizando (cont.)
Mamífero
GENERALIZAÇÃO
CATEGORIA (CLASSE)
CATEGORIA(CLASSE)
Baleia
Atributossangue quentevertebradovivíparo
AtributosHabitat: marTempo médio devida: 200 anos
ESPECIALIZAÇÃO(herança)
Generalização / Especialização (Conclusão)
Generalização: Operação de análise de um conjunto de classes que identificam características comuns a todas, tendo-se por objetivo a definição de uma classe mais genérica, a qual especificará essas características comuns;Especialização: Operação em que, a partir de uma classe, identifica-se uma ou mais subclasses, cada uma especificando características adicionais em relação à classes mais geral;
Agregação / Decomposição
Como vimos, um objeto possui determinadas características:Características de decomposição;Características de ação;
Ação está relacionada aos serviços que este objeto pode executar;Decomposição dizem respeito à constituição do objeto;Um objeto pode ser composto por vários outros objetos;
Agregação / Decomposição (cont.)
Quando unimos um conjuntos de objetos, com o objetivo de formarmos outros objetos, estamos realizando uma operação de agregação;Ao analisarmos um objeto isolando cada um de seus componentes, estamos fazendo uma operação de decomposição;Os diagramas que demonstram estas operações, também podem ser
Visualizando
Estudante
AGREGAÇÃO(composição -
síntese)
DECOMPOSIÇÃO(refinamento -
análise)
CATEGORIA(CLASSE)
CATEGORIA
EndereçoNome
COMPONENTE
Associação
Apresenta um determinado relacionamento, caracterizado pela ligação entre suas entidades;
Ex.: Professor e aluno no problema relacionado ao ato de ministrar aulas;
Em associação, as entidades que possuem ligação existem independentemente uma da outra;
Ao contrário de Agregação/decomposição,