Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas...

57
Capítulo 2 Capítulo 2 Paradigmas da Paradigmas da Orientação a Objetos Orientação a Objetos

Transcript of Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas...

Page 1: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

Capítulo 2Capítulo 2

Paradigmas daParadigmas da

Orientação a ObjetosOrientação a Objetos

Page 2: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

1 - Introdução1 - Introdução

MODELAGEMMODELAGEM

parte central de todas as atividades de parte central de todas as atividades de desenvolvimento desenvolvimento

implementação de um bom sistemaimplementação de um bom sistema

Page 3: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

Metodologias estruturadas: Metodologias estruturadas:

Desenvolvimento de sistemas em torno de procedimentos e funções.

Os sistemas são instáveis. À medida que os requisitos se modificam e o sistema cresce, a manutenção do mesmo se torna mais trabalhosa e difícil..

Metodologias orientadas a objeto:Metodologias orientadas a objeto:

Orientam o desenvolvimento de sistemas em torno de classes e objetos.

Page 4: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

Desenvolvimento reversoDesenvolvimento reverso

Programação Orientada a ObjetosProgramação Orientada a Objetos

Projeto Orientado a ObjetosProjeto Orientado a Objetos

Análise Orientada a ObjetosAnálise Orientada a Objetos

Page 5: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

Mudanças na forma de conduzir a análiseMudanças na forma de conduzir a análise

Estratégia dirigida por processosEstratégia dirigida por processos

(DFD´s)(DFD´s)

Estratégia dirigida por dadosEstratégia dirigida por dados

(modelagem e semântica de dados)(modelagem e semântica de dados)

Estratégia dirigida por comportamentosEstratégia dirigida por comportamentos

(modelos de interação do sistema com (modelos de interação do sistema com agentes, sistemas, usuários externos)agentes, sistemas, usuários externos)

Page 6: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

A AAO enxerga o mundo como:A AAO enxerga o mundo como:

Sistema = Sistema = população de objetos interativos população de objetos interativos

Estruturas de dadosEstruturas de dados ComportamentosComportamentos

OBJETOS

Eventos

Page 7: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

Análise Orientada a ObjetosAnálise Orientada a Objetos

A mesma metodologia é aplicada tanto na análise quanto na programação

Processo de AAO: Identificar os objetos Identificar os atributos Identificar as ações desses objetos

Um sistema é formado por objetos que se relacionam entre si

Page 8: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

Os Benefícios da Orientação a ObjetosOs Benefícios da Orientação a Objetos

Principal vantagem: reunir dados e processos numa mesma estrutura

Simplicidade Organização

Desenvolvedores de sistemas não precisam saber como foram implementadas as ações dos objetos

Encapsulamento

Page 9: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

Alteração da maneira como o objeto realiza Alteração da maneira como o objeto realiza internamente uma tarefa internamente uma tarefa

demais desenvolvedores não precisam demais desenvolvedores não precisam alterar seus programasalterar seus programas

PRODUTIVIDADEPRODUTIVIDADE

Page 10: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

Manutenção restrita ao objeto:Manutenção restrita ao objeto:

Reduz custosReduz custos

Reduz tempo de desenvolvimentoReduz tempo de desenvolvimento

Assegura manutenção eficazAssegura manutenção eficaz

Page 11: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

Estrutura de objetos eficaz

permite incluir módulos no sistema que utilizem as funcionalidades já existentes sem

necessidade de reprogramação

REUSABILIDADEREUSABILIDADE

Page 12: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

2 - Conceitos Básicos2 - Conceitos Básicos

2.1 - Abstração2.1 - Abstração

Consiste em separar mentalmente um ou mais Consiste em separar mentalmente um ou mais elementos de uma totalidade complexa, os quais só elementos de uma totalidade complexa, os quais só mentalmente podem subsistir fora dessa totalidade.mentalmente podem subsistir fora dessa totalidade.

É um recurso usado para entender problemas É um recurso usado para entender problemas complexos.complexos.

Princípio da abstraçãoPrincípio da abstração: isolar os objetos a serem : isolar os objetos a serem representados do ambiente em que existem e representados do ambiente em que existem e representar somente as características relevantes representar somente as características relevantes para o problema em questãopara o problema em questão

Ex.: bola de borracha, carro de fórmula 1Ex.: bola de borracha, carro de fórmula 1

Page 13: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

2.2 – Objeto2.2 – Objeto

Coisa física Coisa abstrata

Objetos computacionais têm as mesmas características e comportamentos dos objetos do mundo real

Sistemas computacionais = conjunto de objetos que se interagem de maneira abstrata

Page 14: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

Objetos computacionaisObjetos computacionais

Abstração dos objetos do mundo real Abstração dos objetos do mundo real

Simplificação dos objetos reaisSimplificação dos objetos reais

Exemplos:Exemplos:

BolaBola

Sacar dinheiro de caixa eletrônicoSacar dinheiro de caixa eletrônico

Page 15: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

Ex.: Objetos computacionaisEx.: Objetos computacionais

Interação direta com o usuárioInteração direta com o usuário

Page 16: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

Ex.: Objetos computacionaisEx.: Objetos computacionais

Documentos, planilhas, imagens, arquivos Documentos, planilhas, imagens, arquivos multimídiamultimídia

Arquivos que possuem comportamentos Arquivos que possuem comportamentos inclusos, mas dependem de aplicativos inclusos, mas dependem de aplicativos específicos para serem abertosespecíficos para serem abertos

Page 17: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

Ex.: Objetos multimídiaEx.: Objetos multimídia

Possuem som, imagem, animação ou vídeo

São extremamente fiéis aos objetos reais

Comportamentos: congelar imagem, apresentação em câmera lenta

Page 18: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

Ex.: Objetos de domínio do trabalhoEx.: Objetos de domínio do trabalho

Normalmente, são invisíveis aos olhos do Normalmente, são invisíveis aos olhos do usuário finalusuário final

Criados durante o desenvolvimento do Criados durante o desenvolvimento do sistemasistema

Ex.: clientes, produtos, fornecedores, serviçosEx.: clientes, produtos, fornecedores, serviços

“ “caixa”, “conta, “cheque”caixa”, “conta, “cheque”

Page 19: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

Objetos identificados durante a análise

Objetos identificados durante a programação

Análise Estruturada = tradução para Análise Estruturada = tradução para estruturas de dados de programaçãoestruturas de dados de programação

Page 20: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

Objeto é qualquer coisa real ou abstrata a Objeto é qualquer coisa real ou abstrata a respeito da qual armazenamos dados e respeito da qual armazenamos dados e métodos que manipulam esses dadosmétodos que manipulam esses dadosPode-se:Pode-se: CriarCriar DestruirDestruir ManipularManipular Monitorar o seu comportamentoMonitorar o seu comportamentoOs objetos podem ou não existir no mundo realOs objetos podem ou não existir no mundo realObjetos podem ocultar detalhes e dadosObjetos podem ocultar detalhes e dados ENCAPSULAMENTOENCAPSULAMENTOA única forma de interagir com os objetos é A única forma de interagir com os objetos é através de seusatravés de seus MÉTODOSMÉTODOS

Page 21: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

2.2.1 - Atributos2.2.1 - AtributosÉ a abstração de uma única característica do objetoÉ a abstração de uma única característica do objeto

Nome: RexNome: Rex Nome: Sansão Nome: SansãoIdade: 2 anosIdade: 2 anos Idade: 5 anos Idade: 5 anosCor dos pêlos: preto e brancoCor dos pêlos: preto e branco Cor dos pêlos: preto e branco Cor dos pêlos: preto e brancoPeso: 8 kgPeso: 8 kg Peso: 6 kg Peso: 6 kg

Atributos de um objeto somente mudam de valor Atributos de um objeto somente mudam de valor através de estímulos internos ou externos (eventos)através de estímulos internos ou externos (eventos)Nenhum objeto pode interferir nos estados dos Nenhum objeto pode interferir nos estados dos atributos de outro objeto senão pela solicitação de atributos de outro objeto senão pela solicitação de serviços ao objeto alvoserviços ao objeto alvo

Page 22: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

2.2.2 - Métodos2.2.2 - Métodos

Métodos são procedimentos ou funções que Métodos são procedimentos ou funções que realizam ações sobre os objetosrealizam ações sobre os objetos

São ações que os objetos podem realizarSão ações que os objetos podem realizar

É através dos métodos que objetos interagem É através dos métodos que objetos interagem com outros objetoscom outros objetos

Ex.: objeto assento de avião (reservar, liberar Ex.: objeto assento de avião (reservar, liberar reserva, marcar como ocupado, desmarcar reserva, marcar como ocupado, desmarcar ocupação, marcar como indisponível)ocupação, marcar como indisponível)

Page 23: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

2.2.3 - Estados2.2.3 - EstadosÉ a situação em que se encontra determinado É a situação em que se encontra determinado objeto, sob a ótica daquilo que se deseja objeto, sob a ótica daquilo que se deseja controlarcontrolar

No exemplo dos assentos do avião: No exemplo dos assentos do avião: “ “reservadoreservado”,”, “ “liberadoliberado”,”, “ “ocupadoocupado”, ”, “ “disponíveldisponível”,”, “ “indisponívelindisponível”, ”, etc.etc.

Page 24: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

2.3 - Classes2.3 - ClassesConjunto de objetos de mesmas característicasModelo a partir do qual são criados objetosDescreve os comportamentos de todos os objetos pertencentes a ela

Page 25: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

2.3.1 - Hierarquia de Classes2.3.1 - Hierarquia de Classes

Animais

Mamíferos Peixes RépteisAves

Caninos Felinos

Lobos Gatos PanterasCães

Page 26: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

2.3.2 - Instanciação2.3.2 - Instanciação

Acontece quando uma classe produz um Acontece quando uma classe produz um objetoobjeto

Uma classe é como se fosse um modelo ou Uma classe é como se fosse um modelo ou gabarito para criação de objetosgabarito para criação de objetos

Page 27: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

2.3.3 - Classes puras ou abstratas2.3.3 - Classes puras ou abstratas

São classes a partir das quais objetos nunca São classes a partir das quais objetos nunca são instanciados diretamentesão instanciados diretamente

Pessoa

Cliente Fornecedor Funcionário

Page 28: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

2.3.4 - Notação gráfica de classes2.3.4 - Notação gráfica de classes

Atributos

Métodos

Nome da Classe Avião

IdentificaçãoModeloNúmero passageirosCarga máximaVelocidade

DecolarAterrissarArremeterMudar de direção

Page 29: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

2.4 - Encapsulamento2.4 - Encapsulamento

Dados e métodos encapsulados em uma Dados e métodos encapsulados em uma única entidade: o objetoúnica entidade: o objetoA única maneira de conhecer ou alterar os A única maneira de conhecer ou alterar os atributos de um objeto é através de seus atributos de um objeto é através de seus métodosmétodosO encapsulamento disponibiliza o objeto e O encapsulamento disponibiliza o objeto e sua funcionalidade sem a necessidade de sua funcionalidade sem a necessidade de saber como ele funciona internamente saber como ele funciona internamente (“caixa preta”)(“caixa preta”)

Ex.: Companhia telefônicaEx.: Companhia telefônica

Page 30: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

2.5 - Herança2.5 - Herança

Mecanismo inteligente para aproveitamento de código

Permite compartilhamento de métodos e atributos

Assim, ao ser criada uma nova classe, esta herda os métodos e atributos de uma outra classe

Todo o código já implementado na classe pai será aproveitado

Implementar apenas os métodos e atributos que a diferenciam da classe pai.

Page 31: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

ExemploExemploAnimais

Mamíferos Peixes RépteisAves

Caninos Felinos

Lobos Gatos PanterasCães

Page 32: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

2.5.1 - Herança simples2.5.1 - Herança simples

Uma classe herda características de Uma classe herda características de apenas uma superclasseapenas uma superclasse

Pessoa

NomeRGCPFEndereço

Funcionário

FunçãoData deadmissãoSalário

Funcionário

FunçãoData deadmissãoSalário

Pessoa

NomeRGCPFEndereço

Cliente

Limite decréditoPreferênciasNúmerocartão

Page 33: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

2.5.2 - Herança múltipla2.5.2 - Herança múltipla

Uma classe herda características de duas Uma classe herda características de duas ou mais superclassesou mais superclasses

Funcionário

FunçãoData deadmissãoSalário

Pessoa

NomeRGCPFEndereço

Cliente

Limite decréditoPreferênciasNúmerocartão

FuncionárioCliente

Desconto Especial

Page 34: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

2.6 - Polimorfismo2.6 - Polimorfismo

O polimorfismo ocorre quando uma mesma mensagem, destinada a objetos diferentes, pode gerar comportamentos diferentes

Exemplo, uma mensagem “Print” para uma impressora, a partir de um editor de textos.

O polimorfismo ocorre quando um método que já foi definido no ancestral é redefinido no descendente com um comportamento diferente.

Page 35: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

Exemplo de PolimorfismoExemplo de Polimorfismo

Funcionário

FunçãoData deadmissãoSalário

Pessoa

NomeRGCPFEndereço

ClienteLimite decréditoPreferênciasNúmerocartão

FuncionárioCliente

Desconto Especial

Atualizar Salário Verificar Crédito

Verificar Crédito

Page 36: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

4 - Estruturas4 - Estruturas

As estruturas ajudam os analistas a arranjar os objetos de forma o domínio e a complexidade do problema em estudo possam ser melhor visualizados.

Existem dois tipos básicos de estrutura: Generalização-Especialização e Todo-Parte

Page 37: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

4.1 – Estrutura Generalização - Especialização4.1 – Estrutura Generalização - Especialização

É formada por uma classe genérica no topo da estrutura e suas classes descendentes especializadas abaixo

Funcionário

FunçãoData deadmissãoSalário

Pessoa

NomeRGCPFEndereço

Cliente

Limite de créditoPreferênciasNúmero cartão

Page 38: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

Exemplo de Generalização-EspecializaçãoExemplo de Generalização-Especialização

Funcionário

FunçãoData deadmissãoSalário

Pessoa

NomeRGCPFEndereço

Cliente

Limite de créditoPreferênciasNúmero cartão

FuncionárioCliente

Desconto Especial

Atualizar Salário Verificar Crédito

Verificar Crédito

Page 39: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

4.2 – Estrutura Todo – Parte (Agregação)4.2 – Estrutura Todo – Parte (Agregação)

Trata da agregação ou decomposição de objetos

Estratégia útil na identificação de objetos e seus componentes diante de um determinado problema em estudo

Parte 2Parte 1

Todo

Page 40: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

Exemplo de Estrutura Todo - ParteExemplo de Estrutura Todo - Parte

Motor

Automóvel

Page 41: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

Estrutura Todo – Parte: CardinalidadeEstrutura Todo – Parte: Cardinalidade

0..1

4..5

Automóvel

Roda Roda RodaRoda

Automóvel

Roda

Page 42: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

Estrutura Todo – Parte: Cardinalidade do motor e das Estrutura Todo – Parte: Cardinalidade do motor e das rodas do carrorodas do carro

Automóvel

Motor Roda

0..1

4..5

0..1

1..1

Page 43: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

5 - Vantagens da orientação a objetos

A Orientação a Objetos consiste em conceber um sistemasistema como um todo orgânico formado por objetos que se relacionam entre si.

Esse enfoque pode ser aplicado tanto à análise de sistemas quanto à programação, e essa é uma das principais vantagens da orientação a objetos: a mesma metodologia serve tanto para a definição lógica do sistema quanto para a sua implementação.

Page 44: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

5.1 - Modelagem mais natural

A aplicação dos conceitos da orientação a objetos na análise de sistemas permite uma modelagem mais natural dos processos de uma empresa ou setor, uma vez que os recursos utilizados retratam o mundo real com maior fidelidade. A transição entre as etapas de desenvolvimento do software, com a aplicação do paradigma orientado a objetos, são refinamentos sucessivos usando-se a mesma linguagem e conceitos

Page 45: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

5.2 - Unificação de dados e processos Uma antiga questão da análise de sistemas é a consistência entre a definição dos dados e dos processos. Algumas metodologias recomendam definir a estrutura de dados primeiro, e em seguida definir os processos que os utilizam. Outras recomendam o oposto: procurar definir os procedimentos que o sistema automatiza e, posteriormente, identificar os dados que esses processos necessitam. Na prática, dificilmente essas duas visões são coerentes entre si. Partindo dos dados, chega-se a processos diferentes do que aqueles identificados pelo enfoque nos processos e vice-versa.

Page 46: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

Em projetos maiores, quando há pessoas diferentes identificando dados e processos, essas diferenças levam a problemas que vão complicar a implementação, pois os procedimentos podem não estar completamente compatíveis com a base de dados.

Na orientação a objetos, esse problema inexiste: dados e processos são apenas componentes, e o enfoque está em identificar quais os objetos que interagem entre si no sistema.

Page 47: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

Os dados são identificados procurando os atributos que definem os objetos, e os procedimentos pelas operações que estes objetos realizam. A interação entre os objetos é definida pelas estruturas e relacionamentos que são identificados.

O resultado é que em um Modelo Orientado a Objetos existe total coerência entre os dados e os processos, mesmo quando há muitas pessoas trabalhando no mesmo sistema.

Page 48: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

5.3 - Consistência entre análise e desenvolvimento

A análise de sistemas convencional procura mapear separadamente as estruturas de dados e os processos que manipulam esses dados. Normalmente, isso é feito utilizando-se como ferramentas o Modelo de Entidade e Relacionamento (MER) e o Diagrama de Fluxo de Dados (DFD).

Essa modelagem do sistema é apenas conceitual, e não existe correlação direta entre as entidades conceituais levantadas na análise e as entidades físicas a serem implementadas, sejam estruturas de dados ou programas.

Page 49: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

Por exemplo, um processo em um Diagrama de Fluxo de Dados, pode tanto ser implementado em vários programas como vários processos podem ser implementados em um único programa. Utilizando-se Orientação a Objetos, tanto na análise quanto na implementação, esse problema não existe. As classes e objetos definidos na análise são exatamente os mesmos que serão implementados. Dependendo do ambiente e da linguagem escolhidos, poderá ser necessário acrescentar objetos a mais na implementação, normalmente para o controle da interface, reduzindo o número de problemas oriundos de erros de tradução entre análise e implementação.

Page 50: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

6.4 - Reutilização e aumento da produtividadeA produtividade do desenvolvimento de

Sistemas Orientados a Objetos é perceptível principalmente quando fazemos uso da reutilização.

A reutilização é muito mais do que simplesmente copiar funções, ou mesmo utilizar bibliotecas de funções, como se faz ainda em programas escritos usando o paradigma da Programação Estruturada.

A reutilização de objetos é, de fato, a utilização, em novos sistemas, de objetos já utilizados em sistemas anteriores, sem modificar suas estruturas internas ou mesmo sem a necessidade de fazer modificações no sistema para acomodar esses novos códigos.

Page 51: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

A reutilização de objetos encapsulados contribui para o aumento da produtividade quando vamos projetar um novo sistema. Podemos, por exemplo, durante um novo projeto, depois de identificar os objetos necessários para operacionalizar o novo sistema, buscar a reutilização de objetos já implementados em sistemas anteriores.

Assim, antes de partir para a implementação dos novos objetos, podemos buscar objetos já implementados em outros sistemas e utilizá-los sem alteração de estrutura. Se já existirem esses objetos, estes podem ser incluídos no novo sistema sem custo de criação.

Page 52: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

Outra solução está ligada à adaptação de objetos semelhantes de sistemas anteriores, ou seja, objetos já implementados cujas características se aproximam bastante das características dos objetos necessários, podem, com pequenas modificações, ser úteis ao novo sistema.

Outra forma de reutilização pode surgir utilizando a propriedade da herança entre objetos, ou seja, caso surja a necessidade de um novo objeto cuja idéia esteja baseada em um objeto já existente, podemos criar novos objetos herdando as características dos objetos já desenvolvidos. Essa propriedade diminui sensivelmente o custo de desenvolvimento de novos sistemas.

Page 53: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

5.5 - Multidesenvolvimento5.5 - Multidesenvolvimento

O multidesenvolvimento de um sistema, utilizando técnicas estruturadas é muito delicado.Existe um verdadeiro abismo entre as fases de análise, projeto e programação.Torna-se necessário, não somente uma extensa e detalhada documentação sobre o sistema, mas também um grande entrosamento entre as diversas equipes que compõem o grupo de desenvolvimento.

Page 54: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

Dentro do contexto da orientação a objetos, o multidesenvolvimento também é uma realidade facilitada, devido ao fato de que o funcionamento interno dos objetos é irrelevante para sua utilização.Isso significa que qualquer desenvolvedor pode utilizar os objetos desenvolvidos por qualquer outro, bastando para isso conhecer o conjunto de métodos necessários para utilizá-los.Se a interface não mudar, o funcionamento interno pode mudar sem afetar outras partes do sistema.

Page 55: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

Na orientação a objetos temos facilidades de transposição de código que o método estruturado não possui, como por exemplo, a facilidade de manusear objetos implementados, facilidade essa existente graças ao fato de os objetos estarem encapsulados.

Essa facilidade também é verificada durante toda a implementação, pois a atenção está voltada ao objeto e não ao sistema.

Basta que os objetos sejam construídos conforme o projeto para que funcionem em harmonia com os outros objetos.

Page 56: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

5.6 - Facilidades em manutenção5.6 - Facilidades em manutenção

Quando falamos em manutenção de sistemas orientados a objetos, falamos em manutenção de objetos, ou seja, a atenção é centrada no objeto, e não em um sistema com suas interligações.Todas as modificações necessárias para acomodar as novas funcionalidades do sistema em manutenção ficam restritas às modificações no comportamento dos objetos envolvidos no contexto da nova necessidade.Na programação convencional, a alteração de uma funcionalidade que é utilizada em vários lugares do sistema pode se tornar um verdadeiro pesadelo.

Page 57: Capítulo 2 Paradigmas da Orientação a Objetos. 1 - Introdução MODELAGEM parte central de todas as atividades de desenvolvimento implementação de um bom.

As alterações são efetuadas em um único ponto, dentro do código do objeto que implementa o comportamento a ser alterado. Não existem dúvidas quanto ao local da alteração: é só localizar o programa onde o objeto em questão está sendo implementado.A manutenção restrita ao objeto reduz custos, tempo e assegura uma manutenção eficaz. Isso é possível por que as variáveis envolvidas estão restritas aos objetos modificados e a mais nenhuma outra parte do sistema.Os sistemas que dependem dos objetos alterados não necessitarão de qualquer alteração. Essa flexibilidade também permite que novos objetos sejam acrescidos ou excluídos com iguais facilidades.