Você está na página 1de 11

Análise Estruturada

• Modelagem de sistemas que segue o paradigma


Análise Estruturada de Sistemas estruturado.
• Principais autores:
– Gane, Chris - Analise Estruturada de Sistemas.
Eduardo Kroth – Neto, Acácio Feliciano - Engenharia da Informação.
Requisitos de Software – Yourdon,Edward - Analise Estruturada Moderna.
• Principais componentes:
UNISC
– Diagrama de Fluxo de Dados
– Dicionário de Dados
– Diagrama de Transição de Estados

Análise Estruturada de Sistemas 1 2

DFD – Diagrama de Fluxo de Dados Fluxo de Dados


É um conjunto de dados que
È uma ferramenta Top-Down flui entre os componentes de
um DFD
Inicia o estudo do problema Cliente Cod--Cliente+Cod
Cod Cliente+Cod--Produto+Qtde
Produto+Qtde--Produto+Data
Produto+Data--Pedido Sistema
no nível mais alto de Pedido
abstração, e se estende
sucessivamente para os Pode ser
considerado um Este é o nome
níveis de maior detalhamento. do fluxo de
tubo onde passam
pacotes de dados. dados

Fluxo de dados pode transportar:

•Estrutura de dados = atributos de uma entidade.


•Fragmento de dados = um atributo;
•Elementos de dados = atributo composto
•Mensagem = texto
Diagrama de Fluxo de Dados 3 Diagrama de Fluxo de Dados 4
Fluxo de Dados Fluxo de Dados
Fluxo de dados pode ser utilizados para transportar dados entre: Fluxo de dados pode ser utilizados para representar passagens
múltiplas:
E1 Pedido P1 Pedido
Entidade Externa e Processo Cliente Obter E1 Sistema
Pedido Cliente de
Compras
Fatura
P1 Pedido P2
Processos Obter Validar
Pedido Pedido
Este tipo de fluxo representa um dialogo composto de
P1
pergunta e resposta ou consulta e informação.
Processo e Depósito Pedido
Gravar D1 Pedido
P1 Produto
Pedido D1 Produto
Devolver
Produto

Diagrama de Fluxo de Dados 5 Diagrama de Fluxo de Dados 6

Descrição do fluxo de dados Descrição do fluxo de dados


A descrição escolhida deve ser a mais significativa possível Fluxos não devem tratar aspectos do tipo
para os usuários que fazem a revisão do diagrama.
Em alguns casos, quando o • Quem solicita o pedido do cliente; (do processo para entidade externa)
P1 E1
fluxo de dados é obvio, a Imprimir Empregado • Solicitação de relatórios para o sistema: (da entidade externa para o
descrição pode ser omitida: contra- processo)
cheque
• Vários fluxos entrando e saindo de um processo, qual a seqüência?
Em certos casos é difícil
definir uma descrição que Este tipo de coisa deve ser tratado na descrição do processo quando da
o
caracterize o conteúdo do Pedid nto documentação do projeto lógico.
P1 P ame
a g
fluxo de dados. E1 Encaminhar
Cliente Trans. de Devolução
Clientes transação Consulta
Ex...: o cliente faz pedido, de cliente
Recla
pagamento, devolução, maçã
o
consulta e reclamação.
Como podemos representar?
Diagrama de Fluxo de Dados 7 Diagrama de Fluxo de Dados 8
Processos Processos
São procedimentos Um processo pode enviar e receber múltiplos fluxos de dados ao mesmo
predeterminados, que visam Os procedimentos constantes de tempo.
transformar os dados de entrada um processo podem ser qualquer Material
tipo de operação: Pedido Valido
em dados de saída.
• Aritmética; P1
Pn
• Lógica; Validar
Tratar • Movimentação de dados. Cotação de
Pedido
Pedido Produto Pedido Invalido
Como os processos representam
Gane
procedimentos de transformação, logo
precisam de um verbo no infinitivo para
exprimir a ação transformadora: Ex:.
Pn • Tratar;
Tratar • Validar;
Pedido
• Imprimir;
Yourdon • Calcular;
• etc
Diagrama de Fluxo de Dados 9 Diagrama de Fluxo de Dados 10

Especificação de um processo Entidade externa (Itens da notação de DFD)erna


t
Ex
idade
Emprega o português estruturado através do emprego de quatro Entidade externa são todas as: En
t
E1
estruturas lógicas de especificação de processo: Organizações; Terminadores
Fornecedor
Linguagem estruturada Sistemas;
PALAVRAS-CHAVES:
• Seqüência; Pessoas; Agen
te Ex
Mover terno
• Repetição; Calcular
• Condicional; Fazer
Enviar Uma entidade externa pode enviar e Os procedimentos executados
• Acesso a dados
Receber receber múltiplos fluxos de dados ao pelas entidades externas, no
Ler mesmo tempo tratamento dos fluxos de dados,
LER Pedido
Gravar não são estudados pelo sistema,
SE compra for maior que 50 reais Nota fiscal
ENTÂO Se então logo Fim se ou seja, esta fora do seu escopo.
SE pagamento for a vista e cliente não E1 Pedido
utilizar o cartão de crédito Cliente Entidades externas devem
ENTÃO Pagamento
aparecer somente no diagrama de
Dar desconto de 5% no total da compra contexto, ou nível zero do
Cotação
FIM-SE diagrama de fluxo de dados.
FIM-SE
EMITIR Nota fiscal
11 Diagrama de Fluxo de Dados 12
Depósito de dados (Itens da notação de DFD) Depósito de dados (Itens da notação de DFD)
Pedidos
Depósito de dados são repositórios de dados Quando utilizar um depósito entre dois processos
Yourdon
produzidos por um processo,
preservados por um determinado período, e então P2
P1 Relatório
utilizados por outros processos Dados de Atualizar Dados de D1 Clientes Dados de Emitir
Cliente Cadastro Cliente Cliente mala
Pedidos direta
Yourdon
Quando entre dois processos, há um lapso de tempo na execução
de ambos, devemos armazenar os dados gerados pelo primeiro
processo para que o segundo utilize a posterior.
D1 Pedidos

Gane
Para dentro do depósito, um fluxo de dados pode
estar:
•Incluindo um novo registro;
•Excluindo um registro;
•Alterando dados de um registro.
Diagrama de Fluxo de Dados 13 Diagrama de Fluxo de Dados 14

Depósito de dados (Itens da notação de DFD) Depósito de dados (Itens da notação de DFD)
Quando um processo é ARMAZENAR P1
Horas Trab..
Calcular
Quando NÃO utilizar um depósito entre dois processos dados, a seta do fluxo de dados aponta horas
para o depósito de dados. trabalhadas

D1 Empregados

P1
Dados de Dados de P2 Dados de Quando um processo é LEITURA
Obter D1 Clientes P2 Horas Trab.
Cliente dados de Cliente Atualizar Cliente de dados, a seta do fluxo de Calcular
cliente dados aponta para fora do Pgto
cliente
depósito de dados.
D1 Empregados
Se os processos são executados de forma instantânea consecutiva e
sincronizada, devemos utilizar somente a notação de fluxo de dados
Se for necessário especificar um
entre ambos.
argumento de pesquisa, este pode ser
P2 Horas Trab.
ilustrado do lado oposto a descrição do Calcular
fluxo. Pgto CPF #

D1 Empregados
Diagrama de Fluxo de Dados 15 Diagrama de Fluxo de Dados 16
Diagrama de contexto (Itens da notação de DFD) Níveis de um DFD
Diagrama de contexto tem por objetivo delimitar as fronteiras do sistema Diagrama de Fluxo de Dados é uma técnica top-down, que utiliza o
em estudo. conceito de dividir para conquistar.
Neste diagrama deve-se especificar somente um processo, contendo o
nome do sistema e as entidades externas que interagem através do envio Isto quer dizer que, partindo de um Diagrama de Contexto
ou recebimento de fluxo de dados. relativamente complexo, efetuam-se sucessivas subdivisões, de forma a
Nota fiscal conseguir esboçar processos cada vez mais simples de compreender-se.

E1
Pedido Sistema
de
DFD nível zero
Cliente atendimento
Pagamento
a
clientes
É importante frisar que todos os fluxos que entram e saem do Diagrama de
Cotação Contexto devem ser tratados no Diagrama de Fluxo de Dados nível 0.

Pode-se ainda especificar depósito de dados no diagrama de contexto. Internamente a este nível (zero), aparecerão os processos, depósitos,
Isto é justificável quando já existem armazenamentos na instalação, e são novos fluxos de dados e as entidades externas, com o propósito de
compartilhados por vários sistemas. tratarem de forma mais detalhada aqueles fluxos originados no diagrama
Estes armazenamentos tanto podem ser cadastros do tipo: cliente; produtos; de contexto
fornecedor; tabelas em geral, como arquivos interface entre sistemas.
Diagrama de Fluxo de Dados 17 Diagrama de Fluxo de Dados 18

Níveis de um DFD Convenções para os níveis


DFD nível n 1. No diagrama de contexto deve existir somente um processo, e, de
preferência, nenhum armazenamento de dados.

Sempre que se julgar necessário uma nova explosão de um processo, 2. No nível zero devem-se utilizar entre três e sete processos, e, de
por motivo de ainda permanecer complexo, deve-se proceder da preferência, fazer as ligações entre eles através de armazenamento de
mesma forma que foi feita para o diagrama de contexto. dados. Neste nível deverão possuir numeração unitária.

O nivelamento de DFD´s deve ser feito até atingir um ponto onde os 3. Do nível 1 até o nível N, deve-se procurar utilizar entre três e sete
procedimentos do processo, possam ser descritos utilizando-se entre processos, até no máximo nove. Neste nível a numeração do processo
50 e 100 linhas. é constituída do numero do processo explodido, um ponto, e o numero
seqüencial a partir de 1 até 7 ou 9.
Neste momento serão utilizadas outras técnicas mais apropriadas, que
poderão ser o português estruturado, as árvores de decisão, diagramas 4. No último nível do DFD (nível n), pode-se utilizar quantos processos
de módulos. forem necessários para expressar a ação do processo de nível superior.

Diagrama de Fluxo de Dados 19 Diagrama de Fluxo de Dados 20


Convenções para os níveis Identificação de depósito de dados
Num diagrama de fluxo de dados, é
comum depararmos com um processo
que ampara a atualização de um
Exemplo para a identificação do processo P2 “explodido” no NÍVEL 1 determinado depósito de dados, no
E1
P1
Dados de
Cliente Atualizar
tocante a inclusão, alteração ou exclusão Cliente
Cadastro
de registros.
Cliente Dados de
Cliente
P2.1 P2.2 P2.3
Calcular Calcular Calcular D1 Clientes
Descontos INSS Proventos
CEP UF

Os diagramas de entidade e relacionamento são de grande valia para


depurarmos o nosso DFD, especialmente quando tratamos processos de
manutenção de depósito de dados.

O DER ao lado representa a entidade Cliente que no DFD corresponde ao depósito de


dados Clientes relacionando-se com duas outra entidades a de CEP e UF.

Diagrama de Fluxo de Dados 21 Diagrama de Fluxo de Dados 22

Identificação de depósito de dados


Dicionário de Dados
A construção de um diagrama depende do conhecimento das regras e
domínio do problema retratado.

CLIENTE E1
Cod_cliente P1
Dados de
Cliente Atualizar
Nome_cliente Cliente
Nr_logradouro Cadastro
Cod_CEP
P

Cod_UF
CE

Dados de
d_

Cliente
Co

UF
d_
Co

CEP UF D2 CEP

Cod_CEP Cod_UF
D3 UF
Nome_município Nome_unidade
Nome_logradouro
Nome_bairro D1 Clientes

Prof. Eduardo Kroth - Departamento de Informática – UNISC

Diagrama de Fluxo de Dados 23 24


Dicionário de dados Bases para um dicionário de dados
É uma listagem organizada de todos os elementos de dados
pertinentes ao sistema, com definições precisas dos Depósito de
componentes do DFD. Fluxo de Dados Dados

• fluxos de dados;
• depósitos de dados;
Estrutura de
• entidades externas; dados
• processos;
• elementos de dados.

Elemento de
dados
Dicionário de dados 25 Dicionário de dados 26

Conceitos Notação utilizada em DD


Elementos de Dados Símbolo Semântica
• São os dados que não necessitam de uma maior
= é composto de
decomposição para o fim a que se destinam.
• Exemplo: “data nascimento” , “endereço cliente” + e
( ) opcional
Estrutura de Dados { } iteração
• São compostas por elementos de dados ou por
outras estruturas de dados. [ ] alternativas
• Exemplo: “telefones” , “detalhes_de_cliente” * * comentários
| separador

Dicionário de dados 27 Dicionário de dados 28


Exemplos Elementos de dados elementares
São aqueles para os quais não existe decomposição significativa no
contexto do ambiente do usuário.
Estrutura de dados: nome de uma pessoa Existem alguns dados cujos significados são os mesmos em todos os
sistemas de informação, ou seja, são autoexplicativos.
nome = título_cortesia + primeiro_nome + (nome_intermediário) Nesses casos, não é necessário um comentário narrativo, mas é
+ último_nome importante especificar os valores e as unidades de medida que o item
pode receber.
título_cortesia = [Sr. | Srta. | Sra. | Dr. | Professor] Exemplo:
primeiro_nome = {caracter_válido} altura = * altura do paciente ao chegar ao hospital *
nome_intermediário = {caracter_válido} * unidade: centímetros; intervalo: 20 – 200 *
peso_atual = * * (unidade: polegadas; intervalo: 1 – 96)
caracter_válido = [A-Z | a-z | 0-9 | ‘ | - | |}
dia_nascimento = * * (unidade: dias; intervalo: 1 – 31)
sexo = * * (valores: [M | F])

Dicionário de dados 29 Dicionário de dados 30

Iteração Seleção
Indica a ocorrência repetida de um componente de um Indica que o elemento de dados consiste em exatamente
elemento de dados (zero ou mais ocorrências). uma escolha de um conjunto de opções alternativas.
Exemplo:
pedido = nome_do_cliente + endereço_de_remessa + Exemplo:
{item} sexo = [Masculino | Feminino]
pedido = nome_do_cliente + endereço_de_remessa + tipo_de_cliente = [Governo | Indústria | Universidade |
1{item}10 Outro]

Especificações válidas:

Itens = 1{item} * apenas limite inferior *


Itens = {item}10 * apenas limite superior *
Itens = 1{item}10 * ambos limites *
Itens = {item} * nenhum limite *
Dicionário de dados 31 Dicionário de dados 32
Descrição de fluxo de dados Descrição do depósito de dados
6
Pedido
2 3
Verificar itens não Criar
estoque pedido D4 Histórico do pedido
10
remetidos
disponível pendente
Detalhes de pedido

11
Fluxo de Dados: itens não remetidos Detalhes

Origem: 2 Descrição: Verificar estoque disponível de venda


Destino: 3 Descrição: Criar pedido pendente
Depósito de Dados: Histórico do pedido Referência: D4
Descrição do Fluxo: detalhes de cada item, para o qual tenha sido recebido um
Descrição do depósito: contém histórico de todos os pedidos aceitos para atendimento, nos
pedido aceitável, mas que não possa ser remetido, porque está esgotado ou por últimos seis meses.
não estar estocado. Fluxos de dados que entram: P6 - D4 Pedido
Estruturas de Dados incluídas: Fluxos de dados que saem: D4 - P10 Detalhes de pedido
Pedido D4 – P11 Detalhes de venda
Identificação_do_pedido Conteúdo (estruturas de dados):
Detalhes_de_Cliente Pedido
Detalhes_de_Livro Identificação_do_pedido
Detalhes_de_Cliente
Detalhes_de_Livro
Dicionário de dados 33 Dicionário de dados 34

Descrição de processos 1
Pedidos
3

Verificar
Pedidos com
crédito
aprovado
6
Descrição de entidades externas
crédito

Histórico de Requisito de 1
pagamento pagamento Pedido
C C
D3 Pagamentos Cliente
Cliente Verificar
Novo saldo
a pagar pedido

Processo: Verificar crédito Referência: P3 Fatura


Descrição: decidir se pedidos sem pagamento antecipado podem ser remetidos ou se
2
pagamento antecipado deve ser exigido do cliente.
Fluxos de dados que entram: P1 - P3 Pedidos
Emitir
D3 - P3 Histórico de pagamento
Fluxos de dados que saem: P3 – E1 Requisito de pagamento fatura
P3 - D3 Novo saldo a pagar
P3 - P6 Pedidos com crédito aprovado
Resumo lógico:
Recuperar histórico de pagamento Entidade Externa: Cliente Referência: C
Se cliente "novo" Descrição: efetua uma requisição para pedido de livros
Então enviar requisição de pagamento antecipado Fluxos de dados que entram: P2 – E1 Fatura
Se cliente "regular" (média de 2 pedidos mensais) Fluxos de dados que saem: E1 - P1 Pedido
Então aprovar pedido desde que o saldo vencido não tenha mais de 2 meses
Se cliente "antigo" e não regular
Então aprovar pedido desde que não tenha saldo vencido
Dicionário de dados 35 Dicionário de dados 36
Diagrama de transição de estados
Diagrama de transição de estados
• O DTE é uma ferramenta de modelagem que enfatiza o
Conceitos de use cases comportamento tempo-dependente do sistema

Estratégias para a modelagem do diagrama


Descrição dos itens do diagrama
Características
Exemplos
Fonte Externa de Resposta e Dados
Dados Sistema de Saída

Prof. Eduardo Kroth - Departamento de Informática – UNISC

37 Diagrama de transição de estados 38

Diagrama de transição de estados Notação do diagrama


Estado
• O DTE não é necessários para todos os sistemas.
• Deve ser especificado para aqueles sistemas que precisam definir Gravando
Mensagem

Evento (mudança de estado)

O QUE acontece QUANDO


Condições e ações

Cartão inserido

Exibir “Introduza Senha”

Diagrama de transição de estados 39 Diagrama de transição de estados 40


Um exemplo Conceitos de DTD
ƒ A construção de DTE
INATIVO
ƒ Identificar todos os estados possíveis (colocar numa folha os
Start pressionado retângulos)
Ex ibir “I nserir ƒ Identificar todas as mudanças possíveis (colocando as setas)
Cartão”
AGUARDANDO ƒ Percorrer, metodicamente, desde o estado inicial, todos os estados
CARTÃO possíveis

Cartão I nserido R eset P ressionado

Lim par Tela ƒ Verificação de consistência do DTE


Ex ibir “I ntroduza
Senha” ƒ Foram definidos todos os estados ?
AGUARDANDO ƒ Todos os estados podem ser atingidos ?
SENHA ƒ Todos os estados têm saída ?
ƒ Em cada estado, o sistema reage adequadamente a todas as
condições possíveis ?

Diagrama de transição de estados 41 Diagrama de transição de estados 42

Você também pode gostar