Você está na página 1de 44

1

Anlise Estruturada de Sistemas


para Aplicaes Convencionais

Profa. Thelma Elita Colanzi Lopes
thelma@apec.unoeste.br
Prof. Emerson Silas Dria
emerson@apec.unoeste.br
2
Anlise Estruturada de Sistemas
Conjunto de tcnicas e ferramentas cujo objetivo
auxiliar na anlise e definio de sistemas
Conceito fundamental construo de um modelo do
sistema utilizando tcnicas grficas
A metodologia envolve a construo top-down do
sistema por refinamentos sucessivos
No um mtodo nico aplicado constantemente por
todos que a usam
Foi e ainda um mtodo de modelagem de requisitos
amplamente usado
3
Componentes do modelo lgico
4
Diagramas de Fluxo de Dados
(DFD)
Tcnica grfica que descreve o fluxo de
informao e as transformaes que so
aplicadas medida que os dados se
movimentam da entrada para a sada
Um sistema baseado em computador
representado como uma transformao de
informao
5
DFD de nvel 0
Modelo de contexto
sistema
Entidade
externa
Entidade
externa
Entidade
externa
Entidade
externa
Entidade
externa
informao de sada
informao de entrada
6
Refinamento do Fluxo de Informao
O DFD de nvel 0 dividido em parties para revelar
mais detalhes. A continuidade do fluxo de informao
deve ser mantida
A B
F
f2
f4
f6
f5 f7
f1
f3
f41
f42
f43
f44
f45
A
V
W
X
Y
Z
Z1
Z2
Z3
B
X
Y
X1
Y1
X2
Y2
Z
7
Notaes Bsicas do DFD
Depsito de dados
Entidade
externa
Processo
Fluxo de
dados
8
Notaes Bsicas do DFD
PROCESSO representa um
transformador de informaes que
resida dentro dos limites do sistema a
ser modelado

Processo
Exemplos de Processo:
Uma sala repleta de pessoal de escritrio computando
descontos
Um procedimento de carto de controle
Uma combinao de atividades manuais e automatizadas
9
Notaes Bsicas do DFD
ENTIDADE EXTERNA representa um
produtor ou consumidor de
informaes que resida fora dos
limites do sistema a ser modelado
Exemplos de Entidade Externa:
Clientes
Empregados
Fornecedores
Departamento de Contas
Receita Federal, etc...
Entidade
externa
10
Notaes Bsicas do DFD
FLUXO DE DADOS representa o
deslocamento de um item de dado ou
coleo de itens de dados
Fluxo de
dados
DEPSITO DE DADOS representa um
repositrio de dados que so
armazenados para serem usados em
um ou mais processos. Pode ser to
simples quanto um buffer ou to
sofisticado quanto um banco de dados
relacional
Depsito de dados
11
Exemplos de DFD
Preparar
Bolo
Bolo
Mistura para
Bolos
Ovos
Leite
Validar Nmero
de telefone
Nmero-de-
telefone-vlido
Nmero de
Telefone
Nmero-de-
telefone-invlido
12
Exemplo de DFD
Processar
Pedido
dados de cliente
Pedidos
Cliente
Clientes
Dados do pedido
Dados dos livros
Faturas com pedidos
Livros
Pedidos
Transformao das
informaes
Depositando
informaes
Consultando informaes
13
Fluxo de Dados
Os Fluxos de Dados representam o deslocamento de
informaes entre:
um Processo e uma Entidade Externa
dois Processos
um Processo e um Depsito de Dados
So ilcitos os Fluxos de Dados entre:
duas Entidades Externas
dois Dpositos de Dados
uma Entidade Externa e um Depsito de Dados

14
Diretrizes Bsicas
1) O DFD de nvel 0 deve descrever o software como
uma nica bolha
2) O input e o output iniciais devem ser
cuidadosamente anotados
3) O refinamento deve iniciar-se isolando-se
possveis processos, itens de dados e depsitos
de dados a serem representados no prximo nvel
4) Todas as setas e bolhas devem ser rotuladas com
nomes significativos
5) A continuidade do fluxo de informao deve ser
mantida de nvel em nvel.
6) Deve ser refinada uma bolha de cada vez.
15
DFD nvel 0 Diagrama de
Contexto
Sistema de
Cadastramento
de Empresas
Empresa
Ministrio da
Fazenda
Pedido de Inscrio
CNPJ (CGC)
Relao de
Empresas
Restries
16
DFD Nvel 1
P1
Verificar pedido
de inscrio
Empresa
Ministrio da
Fazenda
Pedido de Inscrio
Relao de
Empresas
Restries em
Vigor
P2
Cadastrar
Empresas
P3
Selecionar
Empresas
P4
Emitir CNPJ
P5
Atualizar
Tabela de
Restries Tabela de
Restries
Cadastro de
Empresas
Dados de
Empresas
Dados para
CNPJ
CNPJ (CGC)
Pedido Aceito
Dados da Nova
Empresa
Empresas Selecionadas
Novas
Restries
Restries
17
DFD Nvel 2 Exploso do
Processo P1
P1.1
Verificar
preenchimento
Empresa
Pedido de Inscrio
P1.2
Verificar
Existncia de
Razo social
P1.3
Verificar
Restries
em vigor
P1.4
Gerar Ordem
de Devoluo
Tabela de
Restries
Pedido completo
Pedidos
Rejeitados
Pedidos
Recusados
Pedido
incompleto
Pedido Invlido
Pedido Vlido
Cadastro de
Empresas
Dados de Empresa
Restries em
vigor
Pedido
Indevido
Pedido
Recusado
P2
Cadastrar
Empresas
Pedido Aceito
18
Exemplo: safehome
O Software possibilita que:
o dono da casa configure o sistema de segurana quando
ele for instalado
monitora todos os sensores ligados ao sistema de
segurana
interage com o dono da casa atravs de um teclado e
teclas de funo contidas no painel de controle
A cada sensor atribudo um nmero e tipo, uma
senha de gerente para armar e desarmar o sistema, e
nmero(s) de telefone (entrada para discagem
quando o evento sensor ocorrer);

19
Exemplo: safehome (cont.)
Quando o evento sensor reconhecido, o software
invoca um alarme; depois de um tempo de espera que
especificado pelo dono da casa durante a configurao
do sistema, o software disca um nr de telefone de um
servio de monitoramento, produz informao sobre a
localizao e relata a natureza do evento que foi
detectado. O nr ser discado novamente a cada 20
segundos at que a conexo de telefone seja obtida;
Toda interao com o SafeHome gerenciada por um
subsistema de interao-usurio que l a entrada
produzida pelo teclado ou teclas de funo, edita
mensagens de pronto e status do sistema sobre um LCD.
20
Safehome (painel de controle)
21
DFD 0 em nvel de contexto
Painel de
controle
Sensores
Display do
Painel de
controle
Linha telefnica
Alarme
Comandos e
dados do usurio
Status do sensor
Tipo de alarme
informaes de
display
Nro.telefnico
Software
safehome
22
Abordagem de Expanso do DFD
Efetuar uma "anlise gramatical" sobre a
narrativa de processamento que descreva a bolha
isolar nomes e locues nominais, verbos e locues
verbais
os nomes e verbos que so sinnimos ou que no
tem nenhuma relao com o processo de
modelagem so omitidos
todos os verbos so processos, ou seja, em ltima
anlise, eles so representados como bolhas num
DFD subsequente

23
Abordagem de Expanso do DFD
todos os nomes so entidades externas, itens de
dados ou depsitos de dados.
nomes e verbos podem estar ligados uns aos
outros. Por conseguinte, ao se realizar uma anlise
gramatical, pode-se gerar muitas informaes teis
sobre como prosseguir com o refinamento at o
prximo nvel
24
Exemplo
O software SafeHome possibilita que o dono da casa
configure o sistema de segurana quando ele for
instalado, monitora todos os sensores ligados ao
sistema de segurana e interage com o dono da
casa por meio de um teclado e teclas de funo
contidas no painel de controle do SafeHome.
Durante a instalao, o painel de controle usado
para programar e configurar o sistema. A cada
sensor atribudo um nmero e tipo, uma senha de
gerente para armar e desarmar o sistema, e
nmero(s) de telefone (entrada para discagem
quando o evento sensor ocorrer).
25
Exemplo (cont.)
Quando o evento sensor reconhecido, o software invoca um
alarme. Depois de um tempo de espera que especificado
pelo dono da casa durante a configurao do sistema, o
software disca um nr de telefone de um servio de
monitoramento, produz informao sobre a localizao e
relata a natureza do evento que foi detectado. O nr ser
discado novamente a cada 20 segundos at que a conexo de
telefone obtida.
Toda interao com o SafeHome gerenciada por um
subsistema de interao-usurio que l a entrada produzida
pelo teclado ou teclas de funo, edita mensagens de pronto e
status do sistema sobre o LCD.
26
safehome
Painel de
controle
Sensor
Monitorar
sensores
Interagir com
usurio
Configurar
sistema
Solicitao de
configurao
Dados de
configurao
Informaes de
configurao
Dados e comandos
do usurio
27
DFD - nvel 1 de expanso
status do
sensor
Display do painel
de controle
Alarme
Monitorar
sensores
Ativar/
Desativar o
sistema
Configurar
sistema
dados de configurao
comandos e dados
do usurio
Painel de
controle
Interagir c/
usurio
Informao de
configurao
Processar
senha
senha
solicitao de
configurao
Sensores
Linha
telefnica
iniciar/parar
Emitir
mensagens e
status
dados de
configurao
a/d msg.
mensg. id vlida
informao
do sensor
tipo de alarme
nr telefnico
informaes
de display
28
Especificao de Processo
A especificao de processo usada para
descrever todos os processos do DFD que
aparecem no nvel de refinamento final
Pode incluir:
texto narrativo
descrio do algoritmo do processo (usando
linguagem de projeto de programas - pdl)
equaes matemticas, tabelas, diagramas ou
grficos
29
Exemplo de Especificao de
Processo (Narrativa de Processamento)
Diagrama de Fluxo de Dados
Dimenses dos lados
de um tringulo
Tipo de tringulo
Mensagem
de erro
Analisar
Tringulo
Especificao do Processo
O processo analisar tringulo aceita valores A, B e C que representam as
dimenses dos lados de um tringulo. O processo testa os valores dimensionais
para determinar se todos os valores so positivos. Se um valor negativo for
encontrado, uma mensagem de erro produzida. O processo avalia os dados
vlidos para determinar se as dimenses definem um tringulo vlido e, se
assim for, qual tipo de tringulo equiltero, issceles ou escaleno. O tipo de
tringulo determinado a sada do processo.
30
Exemplo de Especificao de
Processo (Portugus Estruturado)
Analisar
Tringulo
Especificao do Processo
Procedimento analisar tringulo;
Ler dimenses dos lados;
Se qualquer dimenso for negativa
Ento Produza mensagem erro
Se a maior dimenso for menor que a soma das demais
Ento
Se trs lados forem iguais ento o tipo equiltero;
Se dois lados forem iguais ento o tipo issceles;
Se nenhum dos lados forem iguais ento o tipo escaleno;
Imprima tipo de tringulo;
Seno imprima tipo=0, indicao de que no existe nenhum tringulo
31
Problemas que a ambigidade pode
gerar!!!
Irs voltars nunca morrers na guerra

Irs , voltars, nunca morrers na guerra.

Irs , voltars nunca , morrers na guerra.

32
Exemplo de Especificao de
Processo
Diagrama de Fluxo de Dados
presso absoluta
do tanque
presso
mxima
presso
convertida
checa e
converte
presso
Especificao do Processo
Se presso absoluta do tanque > presso mxima
ento setar presso alta para verdadeiro;
seno setar presso alta para falso;
iniciar o algoritmo de converso x-01a;
computar a presso convertida;
fim-se
33
O Dicionrio de Dados
A maioria dos DD contm as seguintes informaes;
Nome: o nome principal do item de dados, do depsito de dados ou de uma
entidade externa Alias: outros nomes usados para a primeira entrada
Onde usado / Como usado: listagem dos processos que usam o item de
dados e como ele usado. Ex: entrada ao processo, sada do processo, como
um depsito de dados, como uma entidade externa
Descrio de Contedo: notao para representar o contedo
Informao Complementar: outras informaes sobre tipos de dados,
valores previamente estabelecidos (se conhecidos), restries ou limitaes
Proposto como gramtica quase formal para descrever o
contedo de objetos definidos durante a anlise
estruturada. Geralmente implementado como parte de
uma "ferramenta de projeto e anlise estruturada" CASE.
34
Exemplo DD
P1
Verificar pedido
de inscrio
Empresa
Ministrio da
Fazenda
Pedido de Inscrio
Relao de
Empresas
Restries em
Vigor
P2
Cadastrar
Empresas
P3
Selecionar
Empresas
P4
Emitir CNPJ
P5
Atualizar
Tabela de
Restries Tabela de
Restries
Cadastro de
Empresas
Dados de
Empresas
Dados para
CNPJ
CNPJ (CGC)
Pedido Aceito
Dados da Nova
Empresa
Empresas Selecionadas
Novas
Restries
Restries
Coleo de itens de
dados individuais
Item(s) de dados
35
Notao para Descrio de Contedo
Possibilita a representao de itens de dados e dados
compostos numa das 3 formas fundamentais em que eles
podem ser construdos:
1- Como uma seqncia de itens de dados
2- Como uma seleo dentre um conjunto de itens de dados
3- Como um agrupamento repetido de itens de dados
Cada entrada de item de dados que representada como parte
de uma seqncia, seleo ou repetio pode, em si mesma,
ser outro item de dados composto que precisa de
refinamento adicional dentro do dicionrio.
36
Notao para Descrio de Contedo
FORMAS DE
REPRESENTAO
NOTAO SIGNIFICADO
= composto de
Sequncia + e
Seleo [ | ] ou ... ou
Repetio { }
n
n repeties de
( ) dados opcionais
* * delimita comentrios

37
Exemplo: item de dado NRO TELEFNICO
nome nmero telefnico
alias nenhum
onde usado / como usado avaliar com o planejamento
(sada)
discar nmero telefnico
(entrada)
descrio
nmero telefnico = [ extenso local | nmero externo]
extenso local = [2001 | 2002 | ... | 2999]
nmero externo = 9 + [nmero local | nmero de longa
distncia]
nmero local = prefixo + nmero de acesso
nmero de longa distncia = (1) + cdigo de rea + nmero
local
prefixo = [795 | 799 | 874 | 877]
nmero de acesso = *qualquer srie de quatro nmeros*
38
Descrio de Contedo
ampliada:
1- at que todos os itens de dados compostos
tenham sido representados como itens
elementares ou
2- at que todos os itens compostos sejam
representados em termos conhecidos e
inequvocos
39
Exemplos
Nome= titulo-cortesia+ primeiro-
nome+(nome-intermediario) +ultimo-nome
titulo-cortesia=[Sr. | Srta.| Sra. | Dr. |
Professor]
primeiro-nome= [caracter-valido]
nome-intermediario= [caracter-valido]
ultimo-nome= [caracter-valido]
Caracter-valido = [A-Z| a-z| 0-9| | - | | ]
40
Exemplos
Pedido= nome-cliente + endereco-de-
remessa+ {item}
Pedido= nome-cliente + endereco-de-
remessa+ 1 {item} 10
Pedido= nome-cliente + endereco-de-
remessa+ (endereco-de-cobranca) + {item}
Sexo= [Masculino | Feminino]

41
Diagrama de Transio de Estados
(DTE)
O Diagrama de Transio de Estados serve
para especificar o comportamento do sistema
em relao aos eventos que ele recebe.
Elementos do diagrama: estado, transio e
ao.
As setas de transio rotuladas indicam como
o sistema reage aos eventos quando eles
passam pelos estados do sistema.
42
Elementos do DTE
Inativo
Aguardando
Carto
start pressionado/
Exibir Inserir Carto
Estado
Transio
Condi
o/ Ao
43
Estados Tpicos
Aguardando o usurio introduzir sua senha
Aguardando o prximo comando
Aguardando dados para instrumento
Acelerando o motor
Aquecendo uma mistura qumica
Misturando ingredientes
Enchendo o tanque
Ocioso
44
Inativo
Aguardando
Carto
Aguardando
Senha
Aguardando
Escolha
Exibir Saldo
Depositar
Dinheiro
Transferir
Fundos
Aguardando
Entrada
Entregando
Dinheiro
Aguardando
Recolhimento
do Dinheiro
start pressionado/
Exibir Inserir Carto
Reset
Pressionado
Carto inserido / Exibir
Introduza senha
Reset pressionado ou
senha errada / Limpar
Tela
Reset pressionado /
limpar tela
senha introduzida / exibir
selecione funo
/ Exibir Quanto deseja?
Cliente introduz importancia / Exibir Por favor,
aguarde, dinheiro sendo providenciado
Dinheiro disponvel / Exibir
por favor, recolha o
dinheiro