O documento descreve as metodologias de Análise Estruturada e Análise Essencial para desenvolvimento de sistemas. A Análise Estruturada enfatiza os processos e fluxos de dados, enquanto a Análise Essencial também considera os dados e controles. Esta última é considerada uma evolução da primeira por abordar o sistema de forma independente de restrições tecnológicas.
2. O COMEÇO...
Crise do Software (1970)
•
Desenvolvimento de Software como “arte” – desenho de telas e arquivos
•
Problemas de execução - erros
•
•
Prazos extrapolados
Custos inesperados – correção de erros e adaptação do código às reais
necessidades do usuário
• Empresas dependentes de computadores com sistemas legados que
necessitam modificações mas com código/documentação ilegível ou
inexistentes.
•
Insatisfação de usuários
2
3. SURGE ENTÃO..
As Metodologias de Desenvolvimento de Sistemas
• Análise Estruturada
• Análise Essencial
• Análise Orientada a Objetos
Qualquer que seja o método utilizado no
desenvolvimento de sistemas, o primeiro passo
deve ser o de obtenção de requisitos => ponto
fundamental;
Diversas técnicas existem para que os
dados/informações sejam obtidos: entrevistas,
questionários, observação direta, entre outras.
3
4. OS MÉTODOS
Métodos
Abordagens
Ferramentas
Análise
Estruturada
Processos
Dados
•Diagrama de Fluxo de Dados (DFD)
•Diagrama de Estrutura de Dados (Modelo
Conceitual)
•Miniespecificações
•Normalização
•Dicionário de Dados
Análise
Essencial
Processos
Dados
Controle
•Lista de Eventos
• DFD
•Diagrama Entidade-Relacionamento (DER)
•Diagrama de Transição de Estados (DTE)
•Normalização
•Miniespecificações
•Dicionário de Dados
4
5. ANÁLISE ESTRUTURADA
Enfatiza a perspectiva das funções, com ênfase nos processos.
Utiliza as seguintes ferramentas:
Diagrama de Fluxo de Dados.
Dicionário de Dados.
Especificação da Lógica de Processos.
A análise estruturada clássica não modela o comportamento
temporal, nem complexos relacionamentos de dados.
5
6. DIAGRAMA DE FLUXO DE DADOS
LÓGICOS
–
Entidade externa
•
•
•
–
Categorias lógicas de coisas ou pessoas que representam uma fonte ou destino para transações;
Representam também os demais sistemas com os quais o sistema analisado troca informações;
Representação gráfica
Fluxo de dados
•
•
São os “tubos” por onde passam as informações;
Representação gráfica
– Processo
» É a descrição de cada uma das funções do sistema;
» Representação gráfica
– Depósito de dados
• Locais onde os dados serão armazenados entre os processos;
6
8. DIAGRAMA DE FLUXO DE DADOS
LÓGICOS
O diagrama de fluxo de dados não é uma representação
completa ou precisa do sistema. Embora um conjunto de
diagramas de fluxo de dados nivelados possa mostrar a
organização hierárquica pela explosão dos retângulos de
processos, um diagrama de fluxo de dados não apresenta
nenhum embutimento lógico de fluxos de dados e nenhuma
informação de controle.
É comum, também, aparecerem omissões e outros erros nos
diagramas de fluxo de dados, uma vez que não há nenhum
mecanismo de checagem. Embora o método de análise
estruturada seja fundamentado no fluxo de dados, sua ênfase
está nos componentes do processo, e a análise de dados recebe
apenas uma atenção secundária.
8
9. CONCEITO
A Análise estruturada consiste na construção de um modelo
lógico de sistema, utilizando técnicas gráficas capazes de levar
usuários, analistas e projetistas a formarem um quadro claro e
geral do sistema e de como suas partes se encaixam para
atender às necessidades daqueles que dele precisam.
9
10. UMA CRÍTICA À ANALISE ESTRUTURADA
Enquanto as mais avançadas técnicas estruturadas estão
disponíveis para a fase de codificação do desenvolvimento de
software, provavelmente as menos avançadas estão disponíveis
para a análise e especificação de sistema. A análise estruturada
é um exemplo de uma metodologia inicial e informal.
Representa mais os princípios de um método de análise do que
uma metodologia madura.
10
11. ANÁLISE ESSÊNCIAL
Análise Essencial (McMenamin & Palmer) ou
Análise Estruturada Moderna (Yourdon) pode ser encarada
como uma bem-sucedida evolução da Análise Estruturada.
11
12. ANÁLISE ESSENCIAL
Análise Essencial: recomenda que a especificação do sistema seja
apresentada em três perspectivas que se complementam: modelo de
processos ou funcional, modelo de dados e modelo de controle.
Modelo funcional: mostra a perspectiva dos processos de transformação
dos dados.
Modelo de dados: mostra a perspectiva que representa os dados que
precisam ser armazenados para atender a todas as necessidades de
informações do sistema (Fluxo de dados);
Modelo de controle: representa a perspectiva dos controles. Tem um papel
relevante no caso de sistemas em tempo real.
POR ONDE COMEÇAR A ESPECIFICAÇÃO DO SISTEMA?
Deve-se pensar nos EVENTOS que afetam o sistema. É através dos
eventos que se unem os “pólos” – dado e função do sistema.
12
13. ANÁLISE ESSENCIAL
COMO ESPECIFICAR O SISTEMA?
A Análise Essencial considera dois níveis: o nível essencial e o de
implementação. Cada um desses é representado por um modelo.
Modelo Essencial:
– apresenta o sistema num nível de abstração completamente
independente de restrições tecnológicas;
– é necessário conhecer a verdadeira essência do sistema;
Modelo de Implementação:
– apresenta o sistema num nível de abstração completamente
dependente de restrições tecnológicas;
– é derivado do modelo essencial;
– diz respeito à implementação do sistema.
13
14. ANÁLISE ESSENCIAL
Premissa básica: descrever o sistema de maneira independente de
restrições tecnológicas; encontrar o conjunto de requisitos
verdadeiros de um sistema – requisistos essenciais (a essência do
sistema) => deve-se considerar a existência da tecnologia perfeita;
Tecnologia Perfeita (McMenamim & Palmer): deve ser entendida
como uma abstração em que se supõe uma tecnologia ideal, sem
limitações, onde:
– os custos, consumo e desgaste dos equipamentos são zero;
– a capacidade de armazenamento de dados do sistema é infinita;
– a velocidade dos processadores é infinita;
– o tempo de acesso aos dados é instantâneo;
– zero erros (não ocorrem falhas).
14
15. REQUISITOS VERDADEIROS x REQUISITOS FALSOS
Requisito verdadeiro ou lógico: é uma característica ou capacidade
que um sistema deve ter para cumprir a sua finalidade, independentemente
de como o sistema é implementado.
– O conjunto completo de requisitos verdadeiros é chamado essência do
sistema, ou requisitos essenciais.
Requisito Falso: aquele sem o qual o sistema é capaz de cumprir sua
finalidade, ou seja, é irrelevante para a finalidade do sistema.
– Tipos de requisitos falsos:
• Tecnológicos: ele só existe com a finalidade de atender às
limitações de uma determinada tecnologia de implementação.
• Arbitrários: características não relacionadas ao propósito do
sistema, normalmente impostas pelo analista ou usuário.
15
16. ANÁLISE ESSENCIAL
Subdividido em:
Modelo Ambiental: voltado para o ambiente em que o sistema
está inserido.
– representa a interface do sistema (sua fronteira) com o mundo exterior;
– mostra a interação do sistema com os elementos externos a ele.
Modelo Comportamental: voltado para o sistema, para o
comportamento de suas partes internas.
– mostra como o sistema deve reagir internamente aos estímulos do
ambiente.
16