desenvolvimento estruturado versus desenvolvimento orientado...

Post on 21-Nov-2018

213 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Curso de Especialização – DEINF - UFMA

Desenvolvimento Orientado a Objetos

Prof. Geraldo Braz Junior

Desenvolvimento estruturado versus

orientado a objetos.

Objetivos

Identificar diferenças entre:

Desenvolvimento Estruturado

Desenvolvimento Orientado a Objetos

Vatangens e Desvantagens de cada abordagem

2

Estruturado?

Qual o Foco?

Funcionalidade

Transformação dos dados

As informações não estão agregadas,

normalmente não possuem um autosignificado

3

Análise Estruturada O mais amplamente usado dos métodos de modelagem

de requisitos

Modelos que retratam fluxo e o conteúdo da informação(dados e controle)

O sistema é dividido em partições funcionais ecomportamentais e descrevemos a essência do que deveser construído

Os primeiros trabalhos datam do final da década de1960

Ainda muito usada

4

5

Análise Estruturada

A modelagem cria uma série de ferramentas ou

modelos para representação formal de certos

aspectos do sistema

Diagramas de Fluxo de Dados

Diagramas Entidade-Relacionamento

Diagrama de Transições de Estado

Diagrama Estrutural

Diagrama de fluxo de dados Um DFD é uma técnica gráfica que descreve o

fluxo da informação e as transformações sofridas por esta

Pode ser utilizado para representar um sistema em qualquer nível de abstração

Notação simples

Nenhuma indicação explicita da seqüência é fornecida pelo diagrama

6

Exemplo de um DFD

7

8

Análise Estruturada

Modelo E-R

O modelo captura os dados e seus

relacionamentos

Essencial para entendimento das informações a

serem armazenadas no sistema

Em combinação com o DFD trazem uma visão

consistente do sistema

9

Análise Estruturada

Indique o que o sistema controla

Cliente Automóvelaluga

CPFnome telefone

endereço chassimarca modelo

anofabr

Carro Caminhão

(1,1)(1,N)

Num_portas tipo

data

período

Cliente Automóvelaluga

CPFnome telefone

endereço chassimarca modelo

anofabr

Carro Caminhão

(1,1)(1,N)

Num_portas tipo

data

período

Dicionário de requisitos

É uma listagem organizada de todos os elementos

de dados que são pertinentes ao sistema

Contém definições precisas e rigorosas, de forma

que tanto o usuário como o analista tenham uma

compreensão comum das entradas, das saídas, dos

componentes dos depósitos de dados e até mesmo

dos cálculos intermediários.

10

Vantagens e Desvantagens

11

O foco na funcionalidade permite especificar

melhor a mesma

a linguagem se torna mais clara ao programador

Como a modelagem é feita sobre processos, o

cliente consegue entender a movimentação dos

dados

Diagramas ER e DFD muito úteis (para o

desenvolvimento)

Vantagens e Desvantagens

O significado do que o sistema faz para o usuário

normalmente não é expresso de maneira simples:

Ex: preciso de um sistema que controle todas as

vendas dos meus produtos

Ex: preciso de um sistema que controle o

sistema acadêmico da universidade

Ex: preciso de um sistema de controle de

frequencia dos alunos da pós

12

Vantagens e Desvantagens

Validação da modelagem com o usuário

Será que um usuário comum entende um ER?

Quanto mais o usuário entende do que está

sendo feito, mais ele poderá opinar na

modelagem

Isso reduz a chance de eventuais problemas não

encontrados!

13

Vantagens e Desvantagens

Outros pontos:

Muita documentação ou nenhuma

Dificuldade de reaproveitamento de código

Prazos curtos

Custo elevado

Principal: cliente insatisfeito

14

Em contrapartidaOrientado a Objetos

Foco nos objetos do mundo real Com suas características e funcionalidades

O levantamento de requisitos já pensa nos objetos do mundo real

Facilita o entendimento:O que vamos cotrolar? Resp: Nossos livros

15

Análise Orientada a Objetos

Enxerga o mundo como objetos com estrutura de

dados e comportamentos

O objetivo é desenvolver uma série de modelos

de análise, satisfazendo um conjunto de requisitos

definidos pelo cliente

16

Conceitos fundamentais

Classe

Objetos

Herança

Encapsulamento

Polimorfismo

17

Características

Manutenibilidade

Simplificação do mapeamento so mundo real

Reusabilidade

Pelos artifícios de análise

Ganhos na produtividade

Direto mapeamento pelas linguagens de

programação OO

18

Métodos de análise Uma grande variedade de métodos de análise

orientada a objetos foram desenvolvidos desde 1988. Porém, todos eles possuem características comuns entre si

Representação de classes e hierarquias

Criação de modelos de relacionamento de objeto

Derivação de modelos de comportamento de objetos

19

Alguns métodos conhecidos

Método de Booch

Método de Jacobson

Método de Rambaugh

UML (Unified Modeling Language)

Combina as notações dos métodos acima

Linguagem consistente para especificação, visualização,

construção e documentação

Padrão adotado pela OMG (Object Management Group)

20

Vantagens e Desvantagens

Diminuição do custo de desenvolvimento

Reutilização de código

Facilidade de manutenção

Encapsulamento

O cliente consegue compreender melhor a

modelagem

21

Diferenças entre as metodologias

A abordagem OO se preocupa primeiramente em

identificar os objetos a partir do domínio da

aplicação, para depois encaixar os funções “ao

redor” destes objetos

os conceitos de OO podem ser aplicados em todo

o ciclo de vida do desenvolvimento do sistema.

Uma pode ser detalhada a medida que o processo

de desenvolvimento evolui

22

Benefícios da OO Podem representar melhor o mundo real

Modelagem mais perfeita e natural

A mesma é usada desde a análise até o projeto e a implementação, de modo que a informação adicionada em uma etapa do desenvolvimento não é necessariamente perdida ou traduzida para a etapa do seguinte

23

Benefícios OO

Dedicação maior à fase de análise

Ocorre uma redução na quantidade de erros com conseqüente diminuição do tempo despendido nas etapas de codificação e teste

Os modelos espelham a estrutura e o comportamento dos objetos do negócio, diminuindo o abismo existente nas outras abordagens que tratam dados e funções separadas

24

Benefícios OO Redução no tempo de manutenção, pois as

revisões são mais fáceis e mais rápidas já que o problema é mais bem localizado

Favorece a reutilização

Facilidade de extensão. A criação de novos objetos que se comuniquem com os já existentes não obriga o desenvolvedor a conhecer o interior destes últimos

25

Conclusão

26

O DFD e principalmente o ER ainda é muito

utilizado

Existe uma empatia maior do engenheiro de

software com o ER do que com o Diagrama de

Classes

O que precisamos fazer é conhecer as duas

modelagens e utilizar a mais adequada ao

momento.

top related