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