Análise Estruturada de Sistemas
para Aplicações Convencionais
Profa. Thelma Elita Colanzi Lopes
thelma@apec.unoeste.br
Prof. Emerson Silas Dória
emerson@apec.unoeste.br
1
Análise Estruturada de Sistemas
Conjunto de técnicas e ferramentas cujo objetivo é
auxiliar na análise e definição de sistemas
Conceito fundamental  construção de um modelo do
sistema utilizando técnicas gráficas
A metodologia envolve a construção “top-down” do
sistema por refinamentos sucessivos
Não é um método único aplicado constantemente por
todos que a usam 
Foi e ainda é um método de modelagem de requisitos
amplamente usado 
2
Componentes do modelo lógico
3
Diagramas de Fluxo de Dados
(DFD)
Técnica gráfica que descreve o fluxo de
informação e as transformações que são
aplicadas à medida que os dados se
movimentam da entrada para a saída
Um sistema baseado em computador é
representado como uma transformação de
informação
4
DFD de nível 0
Modelo de contexto
informação de saída
Entidade
externa
informação de entrada
Entidade
externa
sistema
Entidade
externa
Entidade
externa
Entidade
externa
5
Refinamento do Fluxo de Informação
O DFD de nível 0 é dividido em partições para revelar
mais detalhes. A continuidade do fluxo de informação
deve ser mantida
A
A
V
f6
f2
X
f1
W
B
F
f3
X
Y
Z
f4
Y
f5
f41 X1
f42
Z1
Y1
f43
X2
Z3
Z2
f7
B
f45 Z
Y2
f44
6
Notações Básicas do DFD
Processo
Entidade
externa
Fluxo de
dados
Depósito de dados
7
Notações Básicas do DFD
Processo
PROCESSO representa um
transformador de informações que
resida dentro dos limites do sistema a
ser modelado
Exemplos de Processo:
•Uma sala repleta de pessoal de escritório computando
descontos
•Um procedimento de cartão de controle
•Uma combinação de atividades manuais e automatizadas
8
Notações Básicas do DFD
Entidade
externa
ENTIDADE EXTERNA representa um
produtor ou consumidor de
informações que resida fora dos
limites do sistema a ser modelado
Exemplos de Entidade Externa:
•Clientes
•Empregados
•Fornecedores
•Departamento de Contas
•Receita Federal, etc...
9
Notações Básicas do DFD
Fluxo de
dados
FLUXO DE DADOS representa o
deslocamento de um item de dado ou
coleção de itens de dados
DEPÓSITO DE DADOS representa um
repositório de dados que são
Depósito de dados armazenados para serem usados em
um ou mais processos. Pode ser tão
simples quanto um buffer ou tão
sofisticado quanto um banco de dados
relacional
10
Exemplos de DFD
Mistura para
Bolos
Ovos
Preparar
Bolo
Bolo
Leite
Número de
Telefone
Validar Número
de telefone
Número-detelefone-válido
Número-detelefone-inválido
11
Exemplo de DFD
Transformação das
informações
Pedidos
dados de cliente
Cliente
Processar
Pedido
Clientes
Faturas com pedidos
Dados Consultando
dos livros
Depositando
informações
Dados do pedido
informações
Livros
Pedidos
12
Fluxo de Dados
Os Fluxos de Dados representam o deslocamento de
informações entre:
um Processo e uma Entidade Externa
 dois Processos
 um Processo e um Depósito de Dados

São ilícitos os Fluxos de Dados entre: 
 duas
Entidades Externas
 dois Dépositos de Dados
 uma Entidade Externa e um Depósito de Dados
13
Diretrizes Básicas
1) O DFD de nível 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
possíveis processos, itens de dados e depósitos
de dados a serem representados no próximo nível
4) Todas as setas e bolhas devem ser rotuladas com
nomes significativos
5) A continuidade do fluxo de informação deve ser
mantida de nível em nível.
6) Deve ser refinada uma bolha de cada vez.
14
DFD nível 0 – Diagrama de
Contexto
P e d id o d e In sc riç ã o
E m p re sa
C N P J (C G C )
R e la ç ã o d e
E m p re sa s
S iste m a d e
C a d a stra m e n to
d e E m p re sa s
R e striç õ e s
M in isté rio d a
Fazenda
15
DFD Nível 1
E m p re sa s S e le c io n a d a s
D a d o s p a ra
CNPJ
C N P J (C G C )
P4
E m itir C N P J
C a d a stro d e
E m p re sa s
D a d o s d a N o va
E m p re sa
D ados de
E m p re sa s
P e d id o d e In sc riç ã o
E m p re sa
P1
V e rific a r p e d id o
d e in sc riç ã o
P2
C a d a stra r
E m p re sa s
P e d id o A c e ito
M in isté rio d a
Fazenda
R e la ç ã o d e
E m p re sa s
P5
A tu a liz a r
T a b e la d e
R e striç õ e s
R e striç õ e s e m
V ig o r
P3
S e le c io n a r
E m p re sa s
N o va s
R e striç õ e s
T a b e la d e
R e striç õ e s
R e striç õ e s
16
DFD Nível 2 – Explosão do
Processo P1
C a d a stro d e
E m p re sa s
D a d o s d e E m p re sa
P e d id o c o m p le to
P 1 .2
V e rific a r
E xistê n c ia d e
R a z ã o so c ia l
P e d id o In vá lid o
P e d id o d e In sc riç ã o
E m p re sa
P 1 .1
V e rific a r
p re e n c h im e n to
P e d id o
R e c u sa d o
P 1 .4
G e ra r O rd e m
d e D e vo lu ç ã o
P e d id o V á lid o
P e d id o A c e ito
P e d id o
In d e vid o
P e d id o
in c o m p le to
P e d id o s
R e je ita d o s
P2
C a d a stra r
E m p re sa s
P e d id o s
R e c u sa d o s
P 1 .3
V e rific a r
R e striç õ e s
e m vig o r
R e striç õ e s e m
vig o r
T a b e la d e
R e striç õ e s
17
Exemplo: safehome
O Software possibilita que:
–
–
–

o dono da casa configure o sistema de segurança quando
ele for instalado
monitora todos os sensores ligados ao sistema de
segurança
interage com o dono da casa através de um teclado e
teclas de função contidas no painel de controle
A cada sensor é atribuído um número e tipo, uma
senha de gerente para armar e desarmar o sistema, e
número(s) de telefone (entrada para discagem
quando o evento sensor ocorrer);
18
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 configuração
do sistema, o software disca um nr de telefone de um
serviço de monitoramento, produz informação sobre a
localização e relata a natureza do evento que foi
detectado. O nr será discado novamente a cada 20
segundos até que a conexão de telefone seja obtida;
Toda interação com o SafeHome é gerenciada por um
subsistema de interação-usuário que lê a entrada
produzida pelo teclado ou teclas de função, edita
mensagens de pronto e status do sistema sobre um LCD.
19
Safehome (painel de controle)
20
DFD 0 em nível de contexto
Painel de
controle
Comandos e
dados do usuário
Display do
informações de Painel de
display
controle
Software Tipo de alarme Alarme
safehome
Sensores
Status do sensor
Nro.telefônico
Linha telefônica
21
Abordagem de Expansão do DFD
Efetuar uma "análise gramatical" sobre a
narrativa de processamento que descreva a bolha



isolar nomes e locuções nominais, verbos e locuções
verbais
os nomes e verbos que são sinônimos ou que não
tem nenhuma relação com o processo de
modelagem são omitidos
todos os verbos são processos, ou seja, em última
análise, eles são representados como bolhas num
DFD subsequente
22
Abordagem de Expansão do DFD


todos os nomes são entidades externas, itens de
dados ou depósitos de dados.
nomes e verbos podem estar ligados uns aos
outros. Por conseguinte, ao se realizar uma análise
gramatical, pode-se gerar muitas informações úteis
sobre como prosseguir com o refinamento até o
próximo nível
23
Exemplo
O software SafeHome possibilita que o dono da casa
configure o sistema de segurança quando ele for
instalado, monitora todos os sensores ligados ao
sistema de segurança e interage com o dono da
casa por meio de um teclado e teclas de função
contidas no painel de controle do SafeHome.
Durante a instalação, o painel de controle é usado
para programar e configurar o sistema. A cada
sensor é atribuído um número e tipo, uma senha de
gerente para armar e desarmar o sistema, e
número(s) de telefone (entrada para discagem
quando o evento sensor ocorrer).
24
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 configuração do sistema, o
software disca um nr de telefone de um serviço de
monitoramento, produz informação sobre a localização e
relata a natureza do evento que foi detectado. O nr será
discado novamente a cada 20 segundos até que a conexão de
telefone é obtida.
Toda interação com o SafeHome é gerenciada por um
subsistema de interação-usuário que lê a entrada produzida
pelo teclado ou teclas de função, edita mensagens de pronto e
status do sistema sobre o LCD.
25
safehome
Dados e comandos
do usuário
Configurar
sistema
Painel de
Solicitação de
controle
configuração
Interagir com
usuário
Sensor
Dados de
configuração
Informações de
configuração
Monitorar
sensores
26
DFD - nível 1 de expansão
dados de configuração
Painel de
Configurar
sistema
controle
comandos e dados
do usuário
Interagir c/
usuário
Informação de
configuração
solicitação de
configuração
dados de
configuração
Display do painel
de controle
iniciar/parar
Ativar/
senha
Processar
senha
Desativar o
sistema
a/d msg.
informações
de display
Emitir
mensagens e
status
mensg. id válida
informação
do sensor
Alarme
tipo de alarme
Linha
Sensores
status do
sensor
Monitorar
sensores
telefônica
nr telefônico
27
Especificação de Processo
A especificação de processo é usada para
descrever todos os processos do DFD que
aparecem no nível de refinamento final
Pode incluir:
 texto narrativo
 descrição do algoritmo do processo (usando
linguagem de projeto de programas - pdl)
 equações matemáticas, tabelas, diagramas ou
gráficos
28
Exemplo de Especificação de
Processo (Narrativa de Processamento)
Diagrama de Fluxo de Dados
Dimensões dos lados
de um triângulo
Mensagem
de erro
Tipo de triângulo
Analisar
Triângulo
Especificação do Processo
O processo analisar triângulo aceita valores A, B e C que representam as
dimensões dos lados de um triângulo. O processo testa os valores dimensionais
para determinar se todos os valores são positivos. Se um valor negativo for
encontrado, uma mensagem de erro é produzida. O processo avalia os dados
válidos para determinar se as dimensões definem um triângulo válido e, se
assim for, qual tipo de triângulo – equilátero, isósceles ou escaleno. O tipo de
triângulo determinado é a saída do processo.
29
Exemplo de Especificação de
Processo (Português Estruturado)
Analisar
Triângulo
Especificação do Processo
Procedimento analisar triângulo;
Ler dimensões dos lados;
Se qualquer dimensão for negativa
Então Produza mensagem erro
Se a maior dimensão for menor que a soma das demais
Então
Se três lados forem iguais então o tipo é equilátero;
Se dois lados forem iguais então o tipo é isósceles;
Se nenhum dos lados forem iguais então o tipo é escaleno;
Imprima tipo de triângulo;
Senão imprima tipo=0, indicação de que não existe nenhum triângulo
30
Problemas que a ambigüidade pode
gerar!!!

Irás voltarás nunca morrerás na guerra

Irás , voltarás, nunca morrerás na guerra.

Irás , voltarás nunca , morrerás na guerra.
31
Exemplo de Especificação de
Processo
Diagrama de Fluxo de Dados
pressão absoluta
do tanque
pressão
convertida
checa e
converte
pressão
pressão
máxima
Especificação do Processo
Se pressão absoluta do tanque > pressão máxima
então setar pressão alta para “verdadeiro”;
senão setar pressão alta para “falso”;
iniciar o algoritmo de conversão x-01a;
computar a pressão convertida;
fim-se
32
O Dicionário de Dados
Proposto como gramática quase formal para descrever o
conteúdo de objetos definidos durante a análise
estruturada. Geralmente implementado como parte de
uma "ferramenta de projeto e análise estruturada" CASE.
A maioria dos DD contém as seguintes informações;

Nome: o nome principal do item de dados, do depósito 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, saída do processo, como
um depósito de dados, como uma entidade externa

Descrição de Conteúdo: notação para representar o conteúdo

Informação Complementar: outras informações sobre tipos de dados,
valores previamente estabelecidos (se conhecidos), restrições ou limitações
33
Exemplo DD
Coleção de itens de
dados individuais
Item(s) de dados
E m p re sa s S e le c io n a d a s
D a d o s p a ra
CNPJ
C N P J (C G C )
P4
E m itir C N P J
C a d a stro d e
E m p re sa s
D a d o s d a N o va
E m p re sa
D ados de
E m p re sa s
P e d id o d e In sc riç ã o
E m p re sa
P1
V e rific a r p e d id o
d e in sc riç ã o
P2
C a d a stra r
E m p re sa s
P e d id o A c e ito
M in isté rio d a
Fazenda
R e la ç ã o d e
E m p re sa s
P5
A tu a liz a r
T a b e la d e
R e striç õ e s
R e striç õ e s e m
V ig o r
P3
S e le c io n a r
E m p re sa s
N o va s
R e striç õ e s
T a b e la d e
R e striç õ e s
R e striç õ e s
34
Notação para Descrição de Conteúdo
Possibilita a representação de itens de dados e dados
compostos numa das 3 formas fundamentais em que eles
podem ser construídos:
1- Como uma seqüência de itens de dados
2- Como uma seleção 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 seqüência, seleção ou repetição pode, em si mesma,
ser outro item de dados composto que precisa de
refinamento adicional dentro do dicionário.
35
Notação para Descrição de Conteúdo
FORM AS DE
R EPR ESEN TA Ç Ã O
NOTAÇÃO
=
S e q u ê n c ia
S e le ç ão
R e p e tiç ão
+
[|]
{ }n
S IG N IF IC A D O
é c o m p o sto d e
e
o u ... o u
n re p e tiç õ e s d e
( )
d ad o s o p c io n ais
* *
d e lim ita c o m e n tário s
36
Exemplo: item de dado NRO TELEFÔNICO
nom e
a lia s
o n d e é u sa d o / c o m o é u sa d o
n ú m e ro te le fô n ico
nenhum
a va lia r co m o p la n e ja m e n to
(sa íd a )
d isca r n ú m e ro te le fô n ico
(e n tra d a )
d e s c riç ã o
n ú m e ro te le fô n ico = [ e xte n sã o lo ca l | n ú m e ro e xte rn o ]
e xte n sã o lo ca l = [2 0 0 1 | 2 0 0 2 | ... | 2 9 9 9 ]
n ú m e ro e xte rn o
d istâ n cia ]
=
9 + [n ú m e ro lo ca l | n ú m e ro d e lo n g a
n ú m e ro lo ca l = p re fixo + n ú m e ro d e a ce sso
n ú m e ro d e lo n g a d istâ n cia = (1 ) + có d ig o d e á re a + n ú m e ro
lo ca l
p re fixo = [7 9 5 | 7 9 9 | 8 7 4 | 8 7 7 ]
n ú m e ro d e a ce sso = *q u a lq u e r sé rie d e q u a tro n ú m e ro s*
37
Descrição de Conteúdo
É 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
inequívocos
38
Exemplos
Nome= titulo-cortesia+ primeironome+(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| ‘ | - | | ]

39
Exemplos
Pedido= nome-cliente + endereco-deremessa+ {item}
 Pedido= nome-cliente + endereco-deremessa+ 1 {item} 10
 Pedido= nome-cliente + endereco-deremessa+ (endereco-de-cobranca) + {item}
 Sexo= [Masculino | Feminino]

40
Diagrama de Transição de Estados
(DTE)
O Diagrama de Transição de Estados serve
para especificar o comportamento do sistema
em relação aos eventos que ele recebe.
 Elementos do diagrama: estado, transição e
ação.
 As setas de transição rotuladas indicam como
o sistema reage aos eventos quando eles
passam pelos estados do sistema.

41
Elementos do DTE
Estado
In a tivo
sta rt p re ssio n a d o /
E xib ir In se rir C a rtã o
Condiçã
o/ Ação
Transição
A g u a rd a n d o
C a rtã o
42
Estados Típicos








Aguardando o usuário introduzir sua senha
Aguardando o próximo comando
Aguardando dados para instrumento
Acelerando o motor
Aquecendo uma mistura química
Misturando ingredientes
Enchendo o tanque
Ocioso
43
R e se t p re ssio n a d o /
lim p a r te la
In a tivo
R e se t
P re ssio n a d o
sta rt p re ssio n a d o /
E xib ir In se rir C a rtã o
T ra n sfe rir
Fundos
A g u a rd a n d o
C a rtã o
C a rtã o in se rid o / E xib ir
In tro d u z a se n h a
D e p o sita r
D in h e iro
R e se t p re ssio n a d o o u
se n h a e rra d a / L im p a r
T e la
A g u a rd a n d o
Senha
se n h a in tro d u z id a / e xib ir
se le c io n e fu n ç ã o
A g u a rd a n d o
E sc o lh a
/ E xib ir Q u a n to d e se ja ?
D in h e iro d isp o n íve l / E xib ir
p o r fa vo r, re c o lh a o
d in h e iro
A g u a rd a n d o
R e c o lh im e n to
d o D in h e iro
E xib ir S a ld o
A g u a rd a n d o
E n tra d a
E n tre g a n d o
D in h e iro
C lie n te in tro d u z im p o rta n c ia / E xib ir P o r fa vo r,
a g u a rd e , d in h e iro se n d o p ro vid e n c ia d o
44
Download

Análise Estruturada de Sistemas para Aplicações