Você está na página 1de 44

Anlise Estruturada de Sistemas para Aplicaes Convencionais

Profa. Thelma Elita Colanzi Lopes


thelma@apec.unoeste.br

Prof. Emerson Silas Dria


emerson@apec.unoeste.br

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
2

Componentes do modelo lgico

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

DFD de nvel 0

Modelo de contexto
informao de sada

Entidade externa

Entidade externa
informao de entrada

sistema

Entidade externa

Entidade externa

Entidade externa
5

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 A F f4 B

V
f1 W

f2
f3 X Y Y

f6
X Z Z1 f5
f43 f44

Z2
f7 B

Z3
f45 Z

f41 X1 f42

X2
Y2

Y1

Notaes Bsicas do DFD


Processo

Fluxo de dados

Entidade externa

Depsito de dados

Notaes Bsicas do DFD


Processo

PROCESSO representa um transformador de informaes que resida dentro dos limites do sistema a ser modelado

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
8

Notaes Bsicas do DFD


Entidade externa

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...


9

Notaes Bsicas do DFD


Fluxo de dados

FLUXO DE DADOS representa o deslocamento de um item de dado ou coleo de itens de dados

DEPSITO DE DADOS representa um repositrio de dados que so Depsito de dados 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
10

Exemplos de DFD
Mistura para Bolos Ovos Preparar Bolo Bolo

Leite
Nmero de Telefone Validar Nmero de telefone Nmero-detelefone-vlido

Nmero-detelefone-invlido
11

Exemplo de DFD
Transformao das informaes
Pedidos Cliente Processar Pedido Faturas com pedidos dados de cliente

Clientes

Depositando informaes
Dados do pedido Pedidos

Dados Consultando dos livros

informaes

Livros

12

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
13

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.
14

DFD nvel 0 Diagrama de Contexto


Pedido de Inscrio Empresa CNPJ (CGC) Sistema de Cadastramento de Empresas

Relao de Empresas

Restries

Ministrio da Fazenda

15

DFD Nvel 1
Empresas Selecionadas Dados para CNPJ CNPJ (CGC) P4 Emitir CNPJ Dados da Nova Empresa Cadastro de Empresas Dados de Empresas P2 Cadastrar Empresas

Pedido de Inscrio Empresa

P1 Verificar pedido de inscrio

Pedido Aceito Ministrio da Fazenda Relao de Empresas

P5 Atualizar Tabela de Restries

Restries em Vigor Novas Restries Tabela de Restries Restries P3 Selecionar Empresas

16

DFD Nvel 2 Exploso do Processo P1


Cadastro de Empresas Dados de Empresa P1.2 Verificar Existncia de Razo social Pedido Vlido Pedido completo P2 Cadastrar Empresas

Pedido Invlido

Pedido de Inscrio Empresa

P1.1 Verificar preenchimento

Pedido Aceito Pedido Indevido P1.3 Verificar Restries em vigor Restries em vigor Tabela de Restries

Pedido Recusado Pedidos Rejeitados

Pedido incompleto

P1.4 Gerar Ordem de Devoluo

Pedidos Recusados

17

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);
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 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.
19

Safehome (painel de controle)

20

DFD 0 em nvel de contexto


Painel de controle Comandos e dados do usurio

Display do informaes de Painel de display controle

Software Tipo de alarme Alarme safehome


Sensores Status do sensor Nro.telefnico Linha telefnica

21

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
22

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

23

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).
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 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.
25

safehome
Dados e comandos do usurio Configurar sistema Painel de Solicitao de controle configurao Interagir com usurio Sensor Monitorar sensores Dados de configurao

Informaes de configurao

26

DFD - nvel 1 de expanso


Painel de controle comandos e dados do usurio Interagir c/ usurio senha Configurar sistema solicitao de configurao dados de configurao Informao de configurao dados de configurao iniciar/parar Ativar/ Desativar o sistema a/d msg. Emitir mensagens e status informao do sensor Sensores status do sensor Monitorar sensores nr telefnico 27 informaes de display Alarme Display do painel de controle

Processar senha

mensg. id vlida

tipo de alarme
Linha telefnica

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
28

Exemplo de Especificao de Processo (Narrativa de Processamento)


Diagrama de Fluxo de Dados
Dimenses dos lados de um tringulo
Analisar Tringulo

Mensagem de erro Tipo de 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.
29

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
30

Problemas que a ambigidade pode gerar!!!

Irs voltars nunca morrers na guerra


Irs , voltars, nunca morrers na guerra. Irs , voltars nunca , morrers na guerra.

31

Exemplo de Especificao de Processo


Diagrama de Fluxo de Dados
presso absoluta do tanque
checa e converte presso

presso convertida

presso mxima

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

32

O Dicionrio de Dados
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. 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
33

Exemplo DD
Item(s) de dados
Dados para CNPJ CNPJ (CGC) P4 Emitir CNPJ

Coleo de itens de dados individuais

Empresas Selecionadas Dados da Nova Empresa

Cadastro de Empresas Dados de Empresas

P2 Cadastrar Empresas

Pedido de Inscrio Empresa

P1 Verificar pedido de inscrio

Pedido Aceito Ministrio da Fazenda Relao de Empresas

P5 Atualizar Tabela de Restries

Restries em Vigor Novas Restries Tabela de Restries Restries P3 Selecionar Empresas

34

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.

35

Notao para Descrio de Contedo

FORMAS DE NOTAO REPRESENTAO

SIGNIFICADO

Sequncia Seleo Repetio

= + [|] { }n ( ) * *

composto de e ou ... ou n repeties de dados opcionais delimita comentrios

36

Exemplo: item de dado NRO TELEFNICO


nome alias onde usado / como usado nmero telefnico nenhum 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*
37

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

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 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.

41

Elementos do DTE
Estado
Inativo

start pressionado/ Exibir Inserir Carto

Transio

Condi o/ Ao

Aguardando Carto
42

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
43

Inativo Reset Pressionado start pressionado/ Exibir Inserir Carto Aguardando Carto Carto inserido / Exibir Introduza senha

Reset pressionado / limpar tela Transferir Fundos

Reset pressionado ou senha errada / Limpar Tela

Depositar Dinheiro

Aguardando Senha

senha introduzida / exibir selecione funo

Aguardando Escolha

Exibir Saldo

Dinheiro disponvel / Exibir por favor, recolha o dinheiro Aguardando Recolhimento do Dinheiro

/ Exibir Quanto deseja? Aguardando Entrada

Entregando Dinheiro

Cliente introduz importancia / Exibir Por favor, aguarde, dinheiro sendo providenciado

44

Você também pode gostar