Anlise Estruturada de Sistemas para Aplicaes Convencionais Profa

  • Slides: 44
Download presentation
Análise Estruturada de Sistemas para Aplicações Convencionais Profa. Thelma Elita Colanzi Lopes thelma@apec. unoeste.

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

Componentes do modelo lógico 3

Diagramas de Fluxo de Dados (DFD) Técnica gráfica que descreve o fluxo de informação

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

DFD de nível 0 Modelo de contexto informação de saída Entidade externa informação de entrada Entidade externa sistema Entidade externa 5

Refinamento do Fluxo de Informação O DFD de nível 0 é dividido em partições

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 f 2 f 6 X f 1 W B F f 4 Y f 3 X Y f 4 X 1 1 f 42 Y 1 Z 2 Z 1 Z f 5 f 43 X 2 Y 2 f 44 Z 3 f 45 f 7 B Z 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 Entidade externa Fluxo de dados Depósito de dados 7

Notações Básicas do DFD PROCESSO representa um transformador de informações que Processo resida dentro

Notações Básicas do DFD PROCESSO representa um transformador de informações que Processo 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 representa um produtor ou consumidor de Entidade externa

Notações Básicas do DFD ENTIDADE EXTERNA representa um produtor ou consumidor de Entidade externa 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 representa o Fluxo de deslocamento de um

Notações Básicas do DFD FLUXO DE DADOS representa o Fluxo de deslocamento de um item de dado ou dados 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 Leite Número de Telefone Número-de.

Exemplos de DFD Mistura para Bolos Ovos Preparar Bolo Leite Número de Telefone Número-de. Validar Número telefone-válido de telefone Número-detelefone-inválido 11

Exemplo de DFD Transformação das informações Pedidos Cliente dados de cliente Processar Pedido Clientes

Exemplo de DFD Transformação das informações Pedidos Cliente dados de 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

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

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 15

DFD nível 0 – Diagrama de Contexto 15

DFD Nível 1 16

DFD Nível 1 16

DFD Nível 2 – Explosão do Processo P 1 17

DFD Nível 2 – Explosão do Processo P 1 17

Exemplo: safehome O Software possibilita que: – – – n o dono da casa

Exemplo: safehome O Software possibilita que: – – – n 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. ) n n Quando o evento sensor é reconhecido, o software

Exemplo: safehome (cont. ) n n 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 Safe. Home é 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

Safehome (painel de controle) 20

DFD 0 em nível de contexto Painel de Comandos e dados do controle usuário

DFD 0 em nível de contexto Painel de Comandos e dados do controle usuário Display do informações Painel de 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

Abordagem de Expansão do DFD Efetuar uma "análise gramatical" sobre a narrativa de processamento que descreva a bolha H H H 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 H H todos os nomes são entidades externas, itens

Abordagem de Expansão do DFD H H 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 Safe. Home possibilita que o dono da casa configure o sistema

Exemplo O software Safe. Home 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 Safe. Home. 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.

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 Safe. Home é 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 Configurar usuário sistema Dados de Painel de Solicitação de

safehome Dados e comandos do Configurar usuário sistema Dados de Painel de Solicitação de configuração controle configuração Interagir com usuário Sensor Informações de configuração Monitorar sensores 26

DFD - nível 1 de expansão dados de configuração Painel de Configurar sistema controle

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 mensg. id válida a/d msg. Emitir mensagens e status informação do sensor Sensores status do sensor Monitorar sensores informações de display Alarme tipo de alarme Linha telefônica nr telefônico 27

Especificação de Processo A especificação de processo é usada para descrever todos os processos

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: F texto narrativo F descrição do algoritmo do processo (usando linguagem de projeto de programas - pdl) F 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

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

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!!! n Irás voltarás nunca morrerás na guerra n

Problemas que a ambigüidade pode gerar!!! n Irás voltarás nunca morrerás na guerra n Irás , voltarás, nunca morrerás na guerra. n 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

Exemplo de Especificação de Processo Diagrama de Fluxo de Dados pressão absoluta do tanque pressão convertida checa e converte 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-01 a; 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

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 34

Exemplo DD Coleção de itens de dados individuais Item(s) de dados 34

Notação para Descrição de Conteúdo Possibilita a representação de itens de dados compostos numa

Notação para Descrição de Conteúdo Possibilita a representação de itens de 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 36

Notação para Descrição de Conteúdo 36

Exemplo: item de dado NRO TELEFÔNICO 37

Exemplo: item de dado NRO TELEFÔNICO 37

Descrição de Conteúdo É ampliada: 1 - até que todos os itens de dados

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 n titulo-cortesia=[Sr. | Srta. | Sra. | Dr. |

Exemplos Nome= titulo-cortesia+ primeironome+(nome-intermediario) +ultimo-nome n titulo-cortesia=[Sr. | Srta. | Sra. | Dr. | Professor] n primeiro-nome= [caracter-valido] n nome-intermediario= [caracter-valido] n ultimo-nome= [caracter-valido] n Caracter-valido = [A-Z| a-z| 0 -9| ‘ | - | | ] n 39

Exemplos Pedido= nome-cliente + endereco-deremessa+ {item} n Pedido= nome-cliente + endereco-deremessa+ 1 {item} 10

Exemplos Pedido= nome-cliente + endereco-deremessa+ {item} n Pedido= nome-cliente + endereco-deremessa+ 1 {item} 10 n Pedido= nome-cliente + endereco-deremessa+ (endereco-de-cobranca) + {item} n Sexo= [Masculino | Feminino] n 40

Diagrama de Transição de Estados (DTE) O Diagrama de Transição de Estados serve para

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. n Elementos do diagrama: estado, transição e ação. n As setas de transição rotuladas indicam como o sistema reage aos eventos quando eles passam pelos estados do sistema. n 41

Elementos do DTE Estado Transição Condiçã o/ Ação 42

Elementos do DTE Estado Transição Condiçã o/ Ação 42

Estados Típicos n n n n Aguardando o usuário introduzir sua senha Aguardando o

Estados Típicos n n n n 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

44

44