440 likes | 879 Views
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. Análise Estruturada de Sistemas.
E N D
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
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
Diagramas de Fluxo de Dados (DFD) Técnica gráfica que descreve o fluxo de informaçãoe 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
Entidade externa Entidade externa Entidade externa Entidade externa Entidade externa DFD de nível 0Modelo de contexto informação de saída sistema informação de entrada
A B F f6 V f2 Z2 X Z1 A f7 Z f1 f4 B Z3 Y f5 W f3 X2 X X1 Z f41 f43 f45 Y2 Y1 Y f42 f44 Refinamento doFluxo 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
Notações Básicas do DFD Fluxo de dados Processo Entidade externa Depósito de dados
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
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 Entidade externa • Exemplos de Entidade Externa: • Clientes • Empregados • Fornecedores • Departamento de Contas • Receita Federal, etc...
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
Mistura para Bolos Bolo Preparar Bolo Ovos Leite Exemplos de DFD Número-de-telefone-válido Validar Número de telefone Número de Telefone Número-de-telefone-inválido
Transformação das informações Cliente Pedidos dados de cliente Processar Pedido Clientes Faturas com pedidos Consultando informações Depositando informações Dados dos livros Livros Dados do pedido Pedidos Exemplo de DFD
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
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.
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);
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.
DFD 0 em nível de contexto Display do Painel de controle informações de display Comandos e dados do usuário Painel de controle Software safehome Tipo de alarme Alarme Sensores Nro.telefônico Status do sensor Linha telefônica
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
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
Exemplo O software SafeHomepossibilita que o dono da casaconfigureo sistema de segurança quando ele for instalado, monitoratodos os sensores ligados ao sistema de segurança e interagecom o dono da casa por meio de um teclado e teclas de funçãocontidasno painel de controle do SafeHome. Durante a instalação, o painel de controle é usado para programare configuraro sistema. A cada sensor é atribuídoum número e tipo, uma senha de gerente para armare desarmaro sistema, e número(s) de telefone (entrada para discagemquando o evento sensorocorrer).
Exemplo (cont.) Quando o evento sensor é reconhecido, o softwareinvocaum 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, produzinformação sobre a localizaçãoe relataa natureza do evento que foi detectado. O nr será discadonovamentea 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, editamensagens de pronto e status do sistema sobre o LCD.
safehome Dados e comandos do usuário Configurar sistema Dados de configuração Painel de controle Solicitação de configuração Interagir com usuário Informações de configuração Sensor Monitorar sensores
dados de configuração Configurar sistema Informação de configuração Sensores Alarme Linha telefônica Painel de controle comandos e dados do usuário solicitação de configuração dados de configuração Interagir c/ usuário iniciar/parar Ativar/ Desativar o sistema informações de display senha a/d msg. Display do painel de controle Emitir mensagens e status Processar senha mensg. id válida tipo de alarme informação do sensor Monitorar sensores status do sensor nr telefônico DFD - nível 1 de expansão
Especificação de Processo A especificação de processo é usada para descrever todos os processos do DFDque 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
Diagrama de Fluxo de Dados Mensagem de erro Dimensões dos lados de um triângulo 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. Exemplo de Especificação de Processo (Narrativa de Processamento)
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 Exemplo de Especificação de Processo (Português Estruturado)
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.
Diagrama de Fluxo de Dados pressão convertida pressão absoluta do tanque 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 altapara “verdadeiro”; senão setar pressão alta para “falso”; iniciar o algoritmo de conversão x-01a; computar a pressão convertida; fim-se Exemplo de Especificação de Processo
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
Coleção de itens de dados individuais Exemplo DD Item(s) de dados
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 ourepetição pode, em si mesma, ser outro item de dados composto que precisa de refinamento adicional dentro do dicionário.
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
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| ‘ | - | | ]
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]
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.
Elementos do DTE Estado Transição Condição/ Ação
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