Início

Software Design

UA7 — Modelo de Análise Estruturada

A análise estruturada é o método clássico de modelagem de sistemas: trata dados e processos como entidades separadas, representando o fluxo de informações de forma gráfica. É a base histórica que originou técnicas modernas de análise.

Contexto histórico

Até os anos 1970, desenvolver software era quase artesanal — sem metodologia, sem documentação padronizada. A análise estruturada emergiu nessa época como a primeira tentativa sistemática de modelar o que um sistema faz antes de codificá-lo. O princípio central: construir um modelo lógico (o que o sistema deve fazer) separado do modelo físico (como será implementado).

As três notações mais usadas foram criadas por DeMarco, Gane e Sarson e Yourdon e Constantine — todas equivalentes em expressividade.

DFD — Diagrama de Fluxo de Dados

A principal ferramenta da análise estruturada. Representa graficamente como os dados entram no sistema, por quais processos passam, onde são armazenados e como saem. Cada refinamento sucessivo adiciona mais detalhes ao DFD.

ComponenteRepresentaçãoFunçãoRegras principais
Bolha de ProcessoRetângulo com cantos arredondadosTransforma dados (ex.: calcular salário, emitir nota)Nome deve ter verbo + complemento; deve ser numerado
Fluxo de DadosSeta com nomeDados trafegando entre processos ou com o mundo externoTodo fluxo tem nome; nomes não se repetem; não tem ação
Entidade ExternaQuadrado duploFonte ou destino de dados fora do sistema (usuário, outro sistema)Não se comunica com outra entidade; não acessa depósito
Depósito de DadosRetângulo com lado abertoLocal de armazenamento (arquivo, banco, tabela)Não pode ter só entrada ou só saída

Boas práticas para criar um DFD

  • Escolha nomes significativos para processos, fluxos, depósitos e terminadores.
  • Numere os processos para rastreabilidade.
  • Mantenha o DFD visualmente organizado — evite cruzamentos de setas.
  • Não deixe o DFD complexo demais: decomponha em níveis (DFD de contexto → DFD nível 0 → nível 1…).
  • Verifique a consistência entre os níveis do DFD.

DD — Dicionário de Dados

O dicionário de dados (DD) complementa o DFD: lista e descreve todos os dados do sistema. É essencial para eliminar ambiguidade — o que exatamente é o campo “CPF”? Com ou sem pontuação? Obrigatório? O DD responde essas questões.

Cada entrada contém: identificador, significado, conteúdo (para dados compostos), valores permitidos e unidades (para dados elementares), chave primária (para depósitos).

Notação do DD

SímboloSignificadoExemplo
=É constituído por / definido porpedido = cliente + itens + data
+E (concatenação)nome = primeiro + último
( )Componente opcionalendereço = rua + (complemento) + cidade
[ | ]Alternativas (ou)tipo = [físico | jurídico]
{’{’} }Componentes que se repetem (0 ou mais vezes)pedido = {’{‘}item}
* *Comentário* máx. 2 dígitos *
@Chave primária do depósito@id_usuario

Vantagens e Limitações

Análise Estruturada
VantagensDFD oferece visão clara e acessível do sistema; facilita comunicação com o cliente; base para outras metodologias; simples de aprender
LimitaçõesNão escala bem para sistemas grandes (5M+ linhas de código); não separa bem dados de comportamento; manutenção pós-entrega historicamente problemática; não modela bem sistemas OO modernos

Por que ainda aprender análise estruturada?

Muitos sistemas legados corporativos — bancários, governamentais, industriais — foram projetados com DFD e DD. Entender essa notação é essencial para manutenção e modernização desses sistemas. Além disso, o DFD ainda é uma boa ferramenta para esboçar a visão macro de um sistema antes de detalhar os modelos OO.

Conteúdo histórico — Práticas Modernas

A análise estruturada (DFD/DD) é uma técnica dos anos 70–80. No desenvolvimento moderno foi amplamente substituída:

  • BPMN 2.0 é o padrão moderno para modelagem de processos de negócio — equivalente contemporâneo ao DFD para comunicação com stakeholders não técnicos. Engines: Camunda, Activiti.
  • Event Storming (Alberto Brandolini) é a técnica ágil para descobrir o domínio de negócio em workshops colaborativos — identifica eventos, comandos e agregados de forma visual.
  • UML substitui DFD em projetos OO modernos: diagramas de atividades (UML) são equivalentes mais expressivos ao DFD e integram-se com os demais diagramas do sistema.
  • DFD e DD ainda são relevantes para manutenção de sistemas legados (COBOL, sistemas bancários, ERP antigos) e como ferramenta pedagógica para introduzir análise de sistemas.

Dicas para a Prova

  • DFD = diagrama que mostra relações entre dados, processos e o limite do sistema.
  • Um processo no DFD representa uma função (bolha de processo = elemento ativo que transforma dados).
  • A principal vantagem do DFD: permite ter uma ideia mais clara do sistema proposto.
  • A principal limitação da análise estruturada: não consegue lidar com sistemas de grande porte e tem problemas de manutenção pós-entrega.
  • No DD, { } = repetição (zero ou mais vezes); ( ) = opcional; [ | ] = alternativas.

Referências bibliográficas desta UA

  • SCHACH, S.R. Engenharia de Software: os paradigmas clássicos e orientado a objetos, 7ª ed., 2010.
  • DEMARCO, T. Structured Analysis and System Specification, 1978.
  • GANE, C.P.; SARSON, T. Análise Estruturada de Sistemas, 1985.