Desenvolvimento estruturado versus desenvolvimento orientado...
Transcript of Desenvolvimento estruturado versus desenvolvimento orientado...
![Page 1: Desenvolvimento estruturado versus desenvolvimento orientado …geraldo/dob/1.estruturadoversusorientadoaobjet... · Diagramas de Fluxo de Dados Diagramas Entidade-Relacionamento](https://reader037.fdocument.pub/reader037/viewer/2022110300/5bf546cc09d3f2fc338c64b4/html5/thumbnails/1.jpg)
Curso de Especialização – DEINF - UFMA
Desenvolvimento Orientado a Objetos
Prof. Geraldo Braz Junior
Desenvolvimento estruturado versus
orientado a objetos.
![Page 2: Desenvolvimento estruturado versus desenvolvimento orientado …geraldo/dob/1.estruturadoversusorientadoaobjet... · Diagramas de Fluxo de Dados Diagramas Entidade-Relacionamento](https://reader037.fdocument.pub/reader037/viewer/2022110300/5bf546cc09d3f2fc338c64b4/html5/thumbnails/2.jpg)
Objetivos
Identificar diferenças entre:
Desenvolvimento Estruturado
Desenvolvimento Orientado a Objetos
Vatangens e Desvantagens de cada abordagem
2
![Page 3: Desenvolvimento estruturado versus desenvolvimento orientado …geraldo/dob/1.estruturadoversusorientadoaobjet... · Diagramas de Fluxo de Dados Diagramas Entidade-Relacionamento](https://reader037.fdocument.pub/reader037/viewer/2022110300/5bf546cc09d3f2fc338c64b4/html5/thumbnails/3.jpg)
Estruturado?
Qual o Foco?
Funcionalidade
Transformação dos dados
As informações não estão agregadas,
normalmente não possuem um autosignificado
3
![Page 4: Desenvolvimento estruturado versus desenvolvimento orientado …geraldo/dob/1.estruturadoversusorientadoaobjet... · Diagramas de Fluxo de Dados Diagramas Entidade-Relacionamento](https://reader037.fdocument.pub/reader037/viewer/2022110300/5bf546cc09d3f2fc338c64b4/html5/thumbnails/4.jpg)
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
![Page 5: Desenvolvimento estruturado versus desenvolvimento orientado …geraldo/dob/1.estruturadoversusorientadoaobjet... · Diagramas de Fluxo de Dados Diagramas Entidade-Relacionamento](https://reader037.fdocument.pub/reader037/viewer/2022110300/5bf546cc09d3f2fc338c64b4/html5/thumbnails/5.jpg)
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
![Page 6: Desenvolvimento estruturado versus desenvolvimento orientado …geraldo/dob/1.estruturadoversusorientadoaobjet... · Diagramas de Fluxo de Dados Diagramas Entidade-Relacionamento](https://reader037.fdocument.pub/reader037/viewer/2022110300/5bf546cc09d3f2fc338c64b4/html5/thumbnails/6.jpg)
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
![Page 7: Desenvolvimento estruturado versus desenvolvimento orientado …geraldo/dob/1.estruturadoversusorientadoaobjet... · Diagramas de Fluxo de Dados Diagramas Entidade-Relacionamento](https://reader037.fdocument.pub/reader037/viewer/2022110300/5bf546cc09d3f2fc338c64b4/html5/thumbnails/7.jpg)
Exemplo de um DFD
7
![Page 8: Desenvolvimento estruturado versus desenvolvimento orientado …geraldo/dob/1.estruturadoversusorientadoaobjet... · Diagramas de Fluxo de Dados Diagramas Entidade-Relacionamento](https://reader037.fdocument.pub/reader037/viewer/2022110300/5bf546cc09d3f2fc338c64b4/html5/thumbnails/8.jpg)
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
![Page 9: Desenvolvimento estruturado versus desenvolvimento orientado …geraldo/dob/1.estruturadoversusorientadoaobjet... · Diagramas de Fluxo de Dados Diagramas Entidade-Relacionamento](https://reader037.fdocument.pub/reader037/viewer/2022110300/5bf546cc09d3f2fc338c64b4/html5/thumbnails/9.jpg)
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
![Page 10: Desenvolvimento estruturado versus desenvolvimento orientado …geraldo/dob/1.estruturadoversusorientadoaobjet... · Diagramas de Fluxo de Dados Diagramas Entidade-Relacionamento](https://reader037.fdocument.pub/reader037/viewer/2022110300/5bf546cc09d3f2fc338c64b4/html5/thumbnails/10.jpg)
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
![Page 11: Desenvolvimento estruturado versus desenvolvimento orientado …geraldo/dob/1.estruturadoversusorientadoaobjet... · Diagramas de Fluxo de Dados Diagramas Entidade-Relacionamento](https://reader037.fdocument.pub/reader037/viewer/2022110300/5bf546cc09d3f2fc338c64b4/html5/thumbnails/11.jpg)
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)
![Page 12: Desenvolvimento estruturado versus desenvolvimento orientado …geraldo/dob/1.estruturadoversusorientadoaobjet... · Diagramas de Fluxo de Dados Diagramas Entidade-Relacionamento](https://reader037.fdocument.pub/reader037/viewer/2022110300/5bf546cc09d3f2fc338c64b4/html5/thumbnails/12.jpg)
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
![Page 13: Desenvolvimento estruturado versus desenvolvimento orientado …geraldo/dob/1.estruturadoversusorientadoaobjet... · Diagramas de Fluxo de Dados Diagramas Entidade-Relacionamento](https://reader037.fdocument.pub/reader037/viewer/2022110300/5bf546cc09d3f2fc338c64b4/html5/thumbnails/13.jpg)
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
![Page 14: Desenvolvimento estruturado versus desenvolvimento orientado …geraldo/dob/1.estruturadoversusorientadoaobjet... · Diagramas de Fluxo de Dados Diagramas Entidade-Relacionamento](https://reader037.fdocument.pub/reader037/viewer/2022110300/5bf546cc09d3f2fc338c64b4/html5/thumbnails/14.jpg)
Vantagens e Desvantagens
Outros pontos:
Muita documentação ou nenhuma
Dificuldade de reaproveitamento de código
Prazos curtos
Custo elevado
Principal: cliente insatisfeito
14
![Page 15: Desenvolvimento estruturado versus desenvolvimento orientado …geraldo/dob/1.estruturadoversusorientadoaobjet... · Diagramas de Fluxo de Dados Diagramas Entidade-Relacionamento](https://reader037.fdocument.pub/reader037/viewer/2022110300/5bf546cc09d3f2fc338c64b4/html5/thumbnails/15.jpg)
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
![Page 16: Desenvolvimento estruturado versus desenvolvimento orientado …geraldo/dob/1.estruturadoversusorientadoaobjet... · Diagramas de Fluxo de Dados Diagramas Entidade-Relacionamento](https://reader037.fdocument.pub/reader037/viewer/2022110300/5bf546cc09d3f2fc338c64b4/html5/thumbnails/16.jpg)
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
![Page 17: Desenvolvimento estruturado versus desenvolvimento orientado …geraldo/dob/1.estruturadoversusorientadoaobjet... · Diagramas de Fluxo de Dados Diagramas Entidade-Relacionamento](https://reader037.fdocument.pub/reader037/viewer/2022110300/5bf546cc09d3f2fc338c64b4/html5/thumbnails/17.jpg)
Conceitos fundamentais
Classe
Objetos
Herança
Encapsulamento
Polimorfismo
17
![Page 18: Desenvolvimento estruturado versus desenvolvimento orientado …geraldo/dob/1.estruturadoversusorientadoaobjet... · Diagramas de Fluxo de Dados Diagramas Entidade-Relacionamento](https://reader037.fdocument.pub/reader037/viewer/2022110300/5bf546cc09d3f2fc338c64b4/html5/thumbnails/18.jpg)
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
![Page 19: Desenvolvimento estruturado versus desenvolvimento orientado …geraldo/dob/1.estruturadoversusorientadoaobjet... · Diagramas de Fluxo de Dados Diagramas Entidade-Relacionamento](https://reader037.fdocument.pub/reader037/viewer/2022110300/5bf546cc09d3f2fc338c64b4/html5/thumbnails/19.jpg)
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
![Page 20: Desenvolvimento estruturado versus desenvolvimento orientado …geraldo/dob/1.estruturadoversusorientadoaobjet... · Diagramas de Fluxo de Dados Diagramas Entidade-Relacionamento](https://reader037.fdocument.pub/reader037/viewer/2022110300/5bf546cc09d3f2fc338c64b4/html5/thumbnails/20.jpg)
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
![Page 21: Desenvolvimento estruturado versus desenvolvimento orientado …geraldo/dob/1.estruturadoversusorientadoaobjet... · Diagramas de Fluxo de Dados Diagramas Entidade-Relacionamento](https://reader037.fdocument.pub/reader037/viewer/2022110300/5bf546cc09d3f2fc338c64b4/html5/thumbnails/21.jpg)
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
![Page 22: Desenvolvimento estruturado versus desenvolvimento orientado …geraldo/dob/1.estruturadoversusorientadoaobjet... · Diagramas de Fluxo de Dados Diagramas Entidade-Relacionamento](https://reader037.fdocument.pub/reader037/viewer/2022110300/5bf546cc09d3f2fc338c64b4/html5/thumbnails/22.jpg)
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
![Page 23: Desenvolvimento estruturado versus desenvolvimento orientado …geraldo/dob/1.estruturadoversusorientadoaobjet... · Diagramas de Fluxo de Dados Diagramas Entidade-Relacionamento](https://reader037.fdocument.pub/reader037/viewer/2022110300/5bf546cc09d3f2fc338c64b4/html5/thumbnails/23.jpg)
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
![Page 24: Desenvolvimento estruturado versus desenvolvimento orientado …geraldo/dob/1.estruturadoversusorientadoaobjet... · Diagramas de Fluxo de Dados Diagramas Entidade-Relacionamento](https://reader037.fdocument.pub/reader037/viewer/2022110300/5bf546cc09d3f2fc338c64b4/html5/thumbnails/24.jpg)
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
![Page 25: Desenvolvimento estruturado versus desenvolvimento orientado …geraldo/dob/1.estruturadoversusorientadoaobjet... · Diagramas de Fluxo de Dados Diagramas Entidade-Relacionamento](https://reader037.fdocument.pub/reader037/viewer/2022110300/5bf546cc09d3f2fc338c64b4/html5/thumbnails/25.jpg)
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
![Page 26: Desenvolvimento estruturado versus desenvolvimento orientado …geraldo/dob/1.estruturadoversusorientadoaobjet... · Diagramas de Fluxo de Dados Diagramas Entidade-Relacionamento](https://reader037.fdocument.pub/reader037/viewer/2022110300/5bf546cc09d3f2fc338c64b4/html5/thumbnails/26.jpg)
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.