1 análise estruturada de sistemas para aplicações convencionais profa. thelma elita colanzi lopes...
Post on 21-Apr-2015
105 Views
Preview:
TRANSCRIPT
1
Análise Estruturada de Sistemas Análise Estruturada de Sistemas para Aplicações Convencionaispara Aplicações Convencionais
Profa. Thelma Elita Colanzi Lopesthelma@apec.unoeste.br
Prof. Emerson Silas Dóriaemerson@apec.unoeste.br
2
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
3
Componentes do modelo lógico
4
Diagramas de Fluxo de Dados (DFD)
Técnica gráfica que descreve o fluxo de fluxo de informaçãoinformação e as transformaçõestransformaçõ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
5
DFD de nível 0Modelo de contexto
sistemasistema
Entidade externa
Entidade externa
Entidade externa
Entidade externa
Entidade externa
informação de saída
informação de entrada
6
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 BF
f2
f4
f6
f5 f7f1
f3
f41
f42
f43
f44
f45
AV
W
X
YZ
Z1 Z2
Z3 B
X
Y
X1
Y1
X2
Y2Z
7
Notações Básicas do DFD
Depósito de dadosEntidade externa
Processo Fluxo de dados
8
Notações Básicas do DFD
PROCESSO representa um transformador de informações que resida dentro dos limites do sistema a ser modelado
Processo
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
9
Notações Básicas do DFD
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...
Entidade externa
10
Notações Básicas do DFD
FLUXO DE DADOS representa o deslocamento de um item de dado ou coleção de itens de dados
Fluxo de dados
DEPÓSITO DE DADOS representa um repositório de dados que são 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
Depósito de dados
11
Exemplos de DFD
Preparar Bolo
Bolo
Mistura para Bolos
Ovos
Leite
Validar Número de telefone
Número-de-telefone-válidoNúmero de
Telefone
Número-de-telefone-inválido
12
Exemplo de DFD
Processar Pedido
dados de clientePedidosCliente
Clientes
Dados do pedido
Dados dos livros
Faturas com pedidos
Livros
Pedidos
Transformação das informações
Depositando informações
Consultando informações
13
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ícitosilícitos os Fluxos de Dados entre: duas Entidades Externas dois Dépositos de Dados uma Entidade Externa e um Depósito de Dados
14
Diretrizes Básicas1) 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.
15
DFD nível 0 – Diagrama de Contexto
Sistema de Cadastramento de Empresas
Empresa
Ministério da Fazenda
Pedido de Inscrição
CNPJ (CGC)
Relação de Empresas
Restrições
16
DFD Nível 1
P1Verificar pedido
de inscriçãoEmpresa
Ministério da Fazenda
Pedido de Inscrição
Relação de Empresas
Restrições em Vigor
P2Cadastrar Empresas
P3Selecionar Empresas
P4Emitir CNPJ
P5Atualizar
Tabela de Restrições Tabela de
Restrições
Cadastro de Empresas
Dados de Empresas
Dados para CNPJ
CNPJ (CGC)
Pedido Aceito
Dados da NovaEmpresa
Empresas Selecionadas
Novas Restrições
Restrições
17
DFD Nível 2 – Explosão do Processo P1
P1.1Verificar
preenchimentoEmpresa
Pedido de Inscrição
P1.2Verificar
Existência de Razão social
P1.3Verificar
Restrições em vigor
P1.4Gerar Ordem de Devolução Tabela de
Restrições
Pedido completo
Pedidos Rejeitados Pedidos
Recusados
Pedido incompleto
Pedido InválidoPedido Válido
Cadastro de Empresas
Dados de Empresa
Restrições em vigor
Pedido Indevido
Pedido Recusado
P2Cadastrar Empresas
Pedido Aceito
18
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);
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 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.
20
Safehome (painel de controle)
21
DFD 0 em nível de contexto
Painel de
controle
Sensores
Display do Painel de controle
Linha telefônica
Alarme
Comandos e dados do usuário
Status do sensor
Tipo de alarme
informações de display
Nro.telefônico
Software safehome
22
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
23
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
24
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).
25
Exemplo (cont.)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.
26
safehome
Painel de controle
Sensor
Monitorar sensores
Interagir com usuário
Configurar sistema
Solicitação de configuração
Dados de configuração
Informações de configuração
Dados e comandos do usuário
27
DFD - nível 1 de expansãoDFD - nível 1 de expansão
status do sensor
Display do painel de controle
Alarme
Monitorar sensores
Ativar/
Desativar o sistema
Configurar sistema
dados de configuração
comandos e dados do usuário
Painel de
controle
Interagir c/usuário
Informação de configuração
Processar senha
senha
solicitação de configuração
SensoresLinha
telefônica
iniciar/parar
Emitir mensagens e
status
dados de
configuração
a/d msg.
mensg. id válida
informação do sensor
tipo de alarme
nr telefônico
informações de display
28
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
29
Exemplo de Especificação de Processo (Narrativa de Processamento)Diagrama de Fluxo de DadosDiagrama de Fluxo de Dados
Dimensões dos lados de um triângulo
Tipo de triângulo
Mensagem de erro
Analisar Triângulo
Especificação do ProcessoO 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.
30
Exemplo de Especificação de Processo (Português Estruturado)
Analisar Triângulo
Especificação do ProcessoProcedimento analisar triângulo;Ler dimensões dos lados;Se qualquer dimensão for negativa Então Produza mensagem erroSe 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
31
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.
32
Exemplo de Especificação de ProcessoDiagrama de Fluxo de DadosDiagrama de Fluxo de Dados
pressão absoluta do tanque
pressão máxima
pressão convertida
checa e converte pressão
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
33
O Dicionário de Dados
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
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.
34
Exemplo DD
P1Verificar pedido
de inscriçãoEmpresa
Ministério da Fazenda
Pedido de Inscrição
Relação de Empresas
Restrições em Vigor
P2Cadastrar Empresas
P3Selecionar Empresas
P4Emitir CNPJ
P5Atualizar
Tabela de Restrições Tabela de
Restrições
Cadastro de Empresas
Dados de Empresas
Dados para CNPJ
CNPJ (CGC)
Pedido Aceito
Dados da NovaEmpresa
Empresas Selecionadas
Novas Restrições
Restrições
Coleção de itens de dados individuais
Item(s) de dados
35
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.
36
Notação para Descrição de Conteúdo
FORMAS DE REPRESENTAÇÃO
NOTAÇÃO SIGNIFICADO
= é composto de Sequência + e Seleção [ | ] ou ... ou Repetição { }n n repetições de
( ) dados opcionais * * delimita comentários
37
Exemplo: item de dado NRO TELEFÔNICOnome número telefônicoalias nenhumonde é usado / como é usado avaliar com o planejamento
(saída)discar número telefônico(entrada)
descriçãonúmero telefônico = [ extensão local | número externo]extensão local = [2001 | 2002 | ... | 2999]número externo = 9 + [número local | número de longadistância]número local = prefixo + número de acessonúmero de longa distância = (1) + código de área + númerolocalprefixo = [795 | 799 | 874 | 877]número de acesso = *qualquer série de quatro números*
38
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
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 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.
42
Elementos do DTE
Inativo
Aguardando Cartão
start pressionado/ Exibir Inserir Cartão
Estado
Transição
Condição/ Ação
43
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
44
Inativo
Aguardando Cartão
Aguardando Senha Aguardando
Escolha Exibir Saldo
Depositar Dinheiro
Transferir Fundos
Aguardando Entrada
Entregando Dinheiro
Aguardando Recolhimento
do Dinheiro
start pressionado/ Exibir Inserir Cartão
Reset Pressionado
Cartão inserido / Exibir Introduza senha
Reset pressionado ou senha errada / Limpar
Tela
Reset pressionado / limpar tela
senha introduzida / exibir selecione função
/ Exibir Quanto deseja?
Cliente introduz importancia / Exibir Por favor, aguarde, dinheiro sendo providenciado
Dinheiro disponível / Exibir por favor, recolha o
dinheiro
top related