Monday 3 July 2017

Trading House Automation System Dfd


1 Design de Software Orientado a Função (continuação) Palestra 6 Prof. R. Mall Departamento de CSE, IIT, Kharagpur. Apresentação sobre o tema: 1 Design de Software Orientado a Função (continuação) Palestra 6 Prof. R. Mall Departamento de CSE, IIT, Kharagpur. Transcrição de apresentação: 1 1 Design de software orientado a função (continuação) Palestra 6 Prof. R. Mall Departamento de CSE, IIT, Kharagpur 2 2 Exemplo 3: Sistema de automação de casas comerciais (TAS) Uma grande casa comercial quer que desenvolvamos uma Software: para automatizar atividades de manutenção de livros associadas ao seu negócio. Tem muitos clientes regulares: quem faz pedidos para vários tipos de mercadorias. 3 3 Exemplo 3: Sistema de Automação de Câmbio (TAS) A casa comercial mantém nomes e endereços de seus clientes regulares. Cada cliente recebe um número de identificação de cliente exclusivo (CIN). De acordo com a prática atual quando um cliente coloca ordem: o departamento de contas primeiro verifica o mérito do cliente. 4 4 Exemplo: Sistema de automação de casas de câmbio (TAS) O valor de crédito de um cliente é determinado: ao analisar o histórico de seus pagamentos nas contas que lhe foram enviadas no passado. Se um cliente não é digno de crédito: Suas ordens não são processadas mais adiante. Uma mensagem de rejeição de ordem apropriada é gerada para o cliente. 5 5 Exemplo: Sistema de automação de casas comerciais (TAS) Se um cliente é digno de crédito: os itens que o heshe encomende são verificados em relação à lista de itens com os quais a casa comercial se ocupa. Os itens que a casa comercial não lida com: Não são processados ​​mais adiante. Uma mensagem apropriada para o cliente para esses itens é gerada. 6 6 Exemplo: Sistema de automação de casas de câmbio (TAS) Os itens em uma ordem de clientes com a qual a casa comercial se relaciona: São verificados quanto à disponibilidade no inventário. Se os itens estiverem disponíveis no inventário nas quantidades desejadas: uma conta com o endereço de encaminhamento do cliente é impressa. Um impresso de problema material é impresso. 7 7 Exemplo: Sistema de automação de casas de comércio (TAS) O cliente pode produzir o boletim de emissão de material na loja: pegue a entrega dos itens. Dados de inventário ajustados para refletir a venda ao cliente. 8 8 Exemplo: Sistema de automação de casas comerciais (TAS) Se um item encomendado não estiver disponível no inventário em quantidade suficiente: Para poder realizar pedidos pendentes, armazene detalhes em um arquivo de ordem pendente. Itens fora do estoque junto com a quantidade encomendada. Número de identificação do cliente 9 9 Exemplo: Sistema de automação da casa comercial (TAS) O departamento de compras: emitir periodicamente comandos para gerar recortes. Quando gerar indentação, o comando é emitido: o sistema deve examinar o arquivo de ordem pendente Determinar os pedidos pendentes quantidade total necessária para cada um dos itens. 10 10 Exemplo: Sistema de automação de casa de câmbio (TAS) O TAS deve descobrir os endereços dos fornecedores que fornecem os itens necessários: Examine o arquivo contendo detalhes do fornecedor (seu endereço, itens que eles fornecem, etc.) Imprima recortes para esses vendedores. 11 11 Exemplo: Sistema de Automação de Câmbio (TAS) O TAS também deve responder a consultas gerenciais: Estatísticas de diferentes itens vendidos em qualquer período de tempo Correspondente da quantidade vendida e do preço realizado. 12 12 Diagrama de Contexto Trading - House - Automation - System 0 Manager CustomerPurchase - Estatísticas de consulta do Departamento resposta da ordem Gerar - indent indent 13 13 Nível 1 DFD Aceitar-order 0.1 Process-order 0.2 Handle - indent-request 0.4 Handle - query 0.3 pendente-order Inventário de estatísticas de vendas Lista de fornecedores Arquivo de clientes Arquivo de itens Histórico de clientes Excesso de recuo Execções Solicitação de estatísticas de solicitação de pedidos aceitos Número de material-emissão-deslizamento 14 14 Exemplo: Resposta do dicionário de dados: material de conta-edição-deslizamento, mensagem de rejeição Consulta: consulta de período do gerente em relação ao período de estatísticas de vendas: datado, mês, ano, data do dia: ano mês dia ano: mês inteiro: dia inteiro: ordem inteira: customer-id pedido-aceito: ordem itens solicitados disponíveis no inventário rejeição-mensagem : Mensagem de rejeição de mensagem de ordem pendente-ordens: customer-id endereço do cliente: namehousestreetcitypin 15 15 Exemplo: Data Dictionary item-name: string house: string street: string cidade: string pin: integer ID do cliente: contagem de números inteiros: quantidade total de material de endereço do cliente-problema-deslizamento: quantidade de item de mensagem mensagem de endereço de cliente: estatísticas de seqüência: estatísticas de vendas: quantidade: inteiro 16 16 Observação Dos exemplos, Observe que DFDs ajudam a criar: Modelo de dados Modelo de função 17 17 Observação Como o DFD é refinado em maiores níveis de detalhe: o analista executa uma decomposição funcional implícita. Ao mesmo tempo, os refinamentos de dados ocorrem. 18 18 Diretrizes para a construção de DFDs O diagrama de contexto deve representar o sistema como uma única bolha: muitos iniciantes cometem o erro de desenhar mais do que uma bolha no diagrama de contexto. 19 19 Diretrizes para a construção de DFDs Todas as entidades externas devem ser representadas no diagrama de contexto: as entidades externas não devem aparecer em nenhum outro nível de DFD. Somente 3 a 7 bolhas por diagrama devem ser permitidas: cada bolha deve ser decomposta para entre 3 e 7 bolhas. 20 20 Diretrizes para a construção de DFDs Um erro comum cometido por muitos iniciantes: tentando representar informações de controle em um DFD. por exemplo. Tentando representar a ordem em que diferentes funções são executadas. 21 21 Diretrizes para a construção de DFDs Um DFD não representa informações de controle: Quando ou em que ordem são invocadas diferentes funções (processos) As condições em que diferentes funções são invocadas não são representadas. Por exemplo, uma função pode invocar uma função ou outra dependendo de alguma condição. Muitos iniciantes tentam representar esse aspecto desenhando uma flecha entre as bolhas correspondentes. 22 22 Exemplo-1 Verifique o valor de entrada: Se o valor de entrada for menor ou maior do que gerar uma mensagem de erro, caso contrário, procure o número Chec k numb er Generado Erro Searc Número de mensagem número encontrado, não encontrado 23 23 Diretrizes para Construindo DFDs Se uma bolha A invoca bolha B ou bolha C dependendo de algumas condições: represente os dados que fluem da bolha A para a bolha B e as bolhas A para C não as condições dependendo de qual processo é invocado. 24 24 Exemplo-2 Uma função aceita o nome do livro a ser pesquisado do usuário Se o nome do livro inserido não for um nome válido do livro Gera uma mensagem de erro, Se o nome do livro for válido, Procura o nome do livro no banco de dados. Get-book-name Print-err - mensagem Search-book Error - message Nome do livro Good-book - name Book-details 25 25 Diretrizes para a construção de DFDs Todas as funções do sistema devem ser capturadas no modelo DFD: Nenhuma função especificada em O documento SRS deve ser ignorado. Somente as funções especificadas no documento SRS devem ser representadas: não assumir funcionalidades extras do sistema não especificadas pelo documento SRS. 26 26 Erros comumente feitos DFD não balanceados Esquecendo de mencionar os nomes dos fluxos de dados Funções ou dados não representados Fontes externas aparecendo em DFDs de nível superior Tentando representar aspectos de controle Diagrama de contexto com mais de uma bolha Uma bolha decomposta em muitas bolhas no próximo nível Terminando a decomposição demasiado cedo Nouns utilizados na nomeação de bolhas 27 27 As deficiências dos modelos DFD Model DFD sofrem de várias deficiências: os DFDs deixam ampla margem para ser imprecisos. Em um modelo DFD, inferimos sobre a função realizada por uma bolha de seu rótulo. Um rótulo pode não capturar toda a funcionalidade de uma bolha. 28 28 Falhas do modelo DFD Por exemplo, uma bolha chamada find-book-position tem apenas um significado intuitivo: não especifica várias coisas: o que acontece quando algumas informações de entrada estão faltando ou estão incorretas. Não transmite nada sobre o que acontece quando o livro não é encontrado ou o que acontece se houver livros de diferentes autores com o mesmo título de livro. 29 29 As falhas da informação de controle do modelo DFD não estão representadas: por exemplo, a ordem em que as entradas são consumidas e as saídas produzidas não são especificadas. Aceitar - order Process-order Arquivo do cliente Item-arquivo Histórico do cliente Aceito - pedidos ordem inventário 30 30 Falhas do DFD Modelo A DFD não especifica aspectos de sincronização: Por exemplo, o DFD no exemplo TAS não especifica: A ordem pode aguardar até que a ordem de aceitação produza dados Se a ordem de aceitação e a ordem de manipulação podem prosseguir simultaneamente com algum mecanismo de buffer entre eles. 31 31 TAS: Nível 1 DFD Aceitar - order Process-order Handle - indent-request Handle - consulta pendente-order Vendas-estatísticas inventário Lista de fornecedores Arquivo do cliente Arquivo do item Histórico do cliente Indent-request Indents Aceito - ordens consulta estatísticas de ordem 32 32 Falhas do modelo DFD A maneira como a decomposição é realizada para chegar aos níveis sucessivos de DFD é subjetiva. O nível final ao qual a decomposição é realizada é subjetivo: Depende da escolha e julgamento do analista. Mesmo para o mesmo problema, várias representações DFD alternativas são possíveis: muitas vezes não é possível dizer qual representação DFD é superior ou preferível. 33 33 As deficiências da técnica DFD modelo DFD não fornecem: Qualquer orientação clara sobre como exatamente deve-se fazer uma decomposição de uma função: é preciso usar o julgamento subjetivo para realizar a decomposição. As técnicas de análise estruturada não especificam quando parar um processo de decomposição: a que comprimento a decomposição precisa ser realizada. 34 34 Extensão da técnica DFD para sistemas em tempo real Para sistemas em tempo real (sistemas com limites de tempo em suas ações), essenciais para o fluxo de controle do modelo e eventos. Técnica amplamente aceita: técnica de Ward e Mellor. Um tipo de processo (bolhas) que manipula apenas fluxos de controle é introduzido. Esses processos são representados usando círculos tracejados. 35 35 Projeto estruturado O objetivo do projeto estruturado Transformar os resultados da análise estruturada (ou seja, uma representação DFD) em um gráfico de estrutura. Um gráfico de estrutura representa a arquitetura do software: vários módulos que compõem o sistema, dependência do módulo (ou seja, qual módulo chama quais outros módulos), parâmetros passados ​​entre diferentes módulos. 36 36 Estrutura Gráfico Estrutura representação do gráfico Facilmente implementável usando linguagens de programação. Foco principal de um gráfico de estrutura: Defina a estrutura do módulo de um software, Interação entre diferentes módulos, Os aspectos processuais (por exemplo, como uma funcionalidade específica é alcançada) não são representados. 37 37 Blocos de construção básicos da caixa de estrutura Caixa retangular: uma caixa retangular representa um módulo. Anotado com o nome do módulo que representa. Ordem de processo 38 38 Setas Uma seta entre dois módulos implica: Durante o controle de execução é passado de um módulo para o outro na direção da seta. Process-orderHandle-indent root Handle-query 39 39 Fluxo de dados Arrows As setas de fluxo de dados representam: Dados que passam de um módulo para outro na direção da seta. Ordem de raiz de ordem de processo 40 40 Módulos de biblioteca Os módulos de biblioteca representam módulos freqüentemente chamados: Um retângulo com bordas laterais duplas. Simplifica o desenho quando um módulo é chamado por vários módulos. Quick-sort 41 41 Seleção O símbolo de diamante representa: Um módulo de vários módulos conectados ao símbolo de diamante é invocado dependendo de alguma condição. Process-orderHandle-indent root Handle-query 42 42 Repetição Um loop em torno das setas de fluxo de controle indica que os módulos em questão são invocados repetidamente. Process-orderHandle-indent root Handle-query 43 43 Gráfico de estrutura Existe apenas um módulo na parte superior: o módulo raiz. Existe no máximo uma relação de controle entre dois módulos: se o módulo A invoca o módulo B, o Módulo B não pode invocar o módulo A. A principal razão por trás dessa restrição: considere módulos em um gráfico de estrutura a serem organizados em camadas ou níveis. 44 44 Gráfico de estrutura O princípio da abstração: não permite que os módulos de nível inferior invocem módulos de nível superior: Mas, dois módulos de nível superior podem invocar o mesmo módulo de nível inferior. 45 45 Exemplo de raiz Get-good-data Solução de computação Solução de exibição Dados de obtenção Dados de validação Valores-válidos rms 47 47 Falhas do gráfico de estrutura Examinando um gráfico de estrutura: não podemos dizer se um módulo chama outro módulo apenas uma vez Ou muitas vezes. Além disso, olhando para um gráfico de estrutura: não podemos dizer a ordem em que os diferentes módulos são invocados. 48 48 Fluxograma (além) Estamos todos familiarizados com as representações do diagrama de fluxo: o diagrama de fluxo é uma técnica conveniente para representar o fluxo de controle em um sistema. AB se (c 100) P20 mais p 80 enquanto (p20) imprima (marca do aluno) AB P20P80 Imprimir sim não simbólico sim não 20) imprimir (marca do aluno) AB P20P80 Imprimir sim não manequim sim não 49 49 Fluxograma versus estrutura Gráfico A O gráfico de estrutura difere de um fluxograma de três maneiras principais: é difícil identificar módulos de um software a partir da representação do fluxograma. O intercâmbio de dados entre os módulos não está representado em um fluxograma. A ordenação sequencial de tarefas inerentes a um fluxograma é suprimida em um gráfico de estrutura. 50 50 Transformação de um modelo DFD em diagrama de estrutura Duas estratégias existem para orientar a transformação de um DFD em um gráfico de estrutura: Análise de transformação Análise de transação 51 51 Análise de transformação O primeiro passo na análise de transformação: Divida o DFD em 3 partes: entrada, processamento lógico , Saída. 52 52 Porção de Entrada de Análise de Transformação no DFD: processos que convertem dados de entrada de forma física a lógica. por exemplo. Leia caracteres do terminal e armazene em tabelas ou listas internas. Cada porção de entrada: chamado ramo aferente. Possível ter mais de um ramo aferente em um DFD. 53 53 Transform Analysis Output portion of DFD: transforma os dados de saída da forma lógica para a forma física. por exemplo. Da lista ou da matriz em caracteres de saída. Cada porção de saída: chamado de ramo eferente. As porções restantes de um DFD chamado transformada central 54 54 Análise de transformação Derivam o gráfico de estrutura desenhando um componente funcional para: a transformada central, cada ramo aferente, cada ramo eferente. 55 55 Análise de transformação Identificando as transformações de entrada e saída de nível mais alto: requer experiência e habilidade. Algumas diretrizes: Trace as entradas até encontrar uma bolha cuja saída não pode ser deduzida das entradas sozinhas. Os processos que validam a entrada não são transformações centrais. Os processos que classificam dados de entrada ou filtro são. 56 56 Análise de transformação Primeiro nível de gráfico de estrutura: Desenhe uma caixa para cada entrada e unidades de saída Uma caixa para a transformada central. Em seguida, aperfeiçoe o gráfico de estrutura: adicione as subfunções requeridas por cada módulo de alto nível. Muitos níveis de módulos podem ser adicionados. 57 57 Factoring O processo de quebrar componentes funcionais em subcomponentes. O factoring inclui a adição: módulos de leitura e gravação, módulos de tratamento de erros, módulos de inicialização e terminação, etc. Finalmente verifique: se todas as bolhas foram mapeadas para módulos. 58 58 Exemplo 1: RMS Cálculo de Software Compute - RMS 0 Dados do Usuário - resultado dos itens Diagrama de Contexto 59 59 Exemplo 1: Cálculo do Software RMS A partir de uma análise superficial da descrição do problema, é fácil ver que o sistema precisa executar: aceitar os números de entrada Do usuário, valide os números, calcule o quadrado médio da raiz dos números de entrada, exiba o resultado. 60 60 Exemplo 1: RMS Cálculo de dados de software Dados de números de leitura 0,1 Validar números 0,2 Calculadores 0,3 Visor 0,4 RMS números Válido - números erro 61 61 Exemplo 1: RMS Cálculo de software Ao observar o nível 1 DFD: Identificar leitura - Número e número de bolhas de número validadas como o ramo aferente exibir como o ramo eferente. 62 62 Exemplo 1: RMS Cálculo da raiz do software Get-good-data Solução de computação Solução de tela Dados de obtenção Dados de validade Dados válidos rms 63 63 Exemplo 2: Tic-Tac-Toe Computer Game Assim que qualquer um dos jogadores humanos Ou o computador ganha, uma mensagem que felicita o vencedor deve ser exibida. Se nenhum dos dois jogadores conseguir obter três marcas consecutivas ao longo de uma linha reta, e todos os quadrados do quadro estão preenchidos, então o jogo é desenhado. O computador sempre tenta ganhar um jogo. 65 65 Placa DFD Nível 1 Placa de exibição Vencimento do vencedor Validar - mover Jogue-mover mover jogo de resultado 66 66 Estrutura Gráfico raiz Get-good-moveCompute-gameDisplay Get-move Validar - mover play-move Cheque-vencedor 67 67 Análise de transações Útil Para projetar programas de processamento de transações. Sistemas centrados em transformação: caracterizados por etapas de processamento semelhantes para cada item de dados processado por bolhas de entrada, processo e saída. Sistemas orientados por transação, Um dos vários caminhos possíveis através do DFD é percorrido dependendo do valor de dados de entrada. 68 68 Transação de transação de transação: qualquer valor de dados de entrada que aciona uma ação: por exemplo, as opções de menu selecionadas podem desencadear diferentes funções. Representado por uma etiqueta identificando seu tipo. A análise de transações usa essa tag para dividir o sistema em: Vários módulos de transações Um módulo de centro de transação. 69 69 Análise de transação Centro de transações trans 1 trans 2 trans 3 tipo 1tipo 2tipo 3 70 70 Nível 1 DFD para TAS Aceitar-ordem Ordem de processo Solicitação de indicação de manípulo Pega-consulta pendente-ordem Inventário de estatísticas de vendas Lista de fornecedores Cliente - Arquivo Arquivo de itens Histórico do cliente Excesso de indentação Execções de pedidos de consulta de pedidos aceitos 71 71 Estrutura Gráfico raiz Ordem de manobraHandle-indentHandle-query Get-order Accept-orderProcesso pedido travessão de consulta de pedido 72 72 Resumo Discutimos primeiro a análise estruturada de um Problema maior. Definimos algumas diretrizes gerais para a construção de um modelo DFD satisfatório. O modelo DFD, embora simples e útil, tem várias falhas curtas. Em seguida, começamos a discutir o design estruturado. 73 73 Resumo Objetivo do projeto estruturado: transformar uma representação DFD em um gráfico de estrutura. O gráfico de estrutura representa: estrutura do módulo Interação entre diferentes módulos, os aspectos processuais não são representados. 74 74 Resumo O design estruturado fornece duas estratégias para transformar um DFD em um gráfico de estrutura: Análise de transformação Análise de transações 75 75 Resumo Discutimos três exemplos de design estruturado. É preciso muita prática para se tornar um bom designer de software: tente resolver todos os problemas listados na sua folha de atribuição, não apenas os que você deve enviar. Projeto de software Funcionalizado continuado: aula 6 - PowerPoint PPT Apresentação Transcrição e apresentadores Notas Título: FunctionOriented Software Design continuou: Aula 6 1 Design de software orientado a função (continuação) Palestra 6 Dr. R. Mall 2 Organização desta palestra Breve revisão de palestras anteriores Um exemplo maior de Análise estruturada Design estruturado Um dos principais objetivos desta palestra É que você deve desenvolver o design estruturado a partir de qualquer modelo DFD. Exemplos Resumo 3 Análise da última conferência A última conferência que iniciamos a discussão sobre a técnica de Estruturado Análise de Design Estruturado (SASD) incorpora características de algumas metodologias de design importantes. O SASD consiste em duas partes importantes de análise estruturada estruturada. 4 Revisão da última leitura O objetivo da análise estruturada realiza a decomposição funcional. Representa usando Diagramas de fluxo de dados (DFDs). DFDs são um modelo hierárquico Examinamos por que qualquer modelo hierárquico é fácil de entender O número 7 é chamado de número mágico. 5 Revisão da última leitura Durante a análise estruturada, a decomposição funcional ocorre além disso, ocorre a decomposição dos dados. No diagrama de contexto do nível mais abstrato refinado para níveis mais detalhados. Nós discutimos dois pequenos exemplos Software de cálculo RMS software de jogo de computador tic-tac-toe 6 Revisão da última aula Várias ferramentas CASE estão disponíveis ajuda nas atividades de design ajudam a manter o dicionário de dados, verifique se DFDs são equilibrados, etc. Modelo DFD difícil de implementar usando Uma linguagem de programação precisa ser transformada em design estruturado. 7 Exemplo 3 Sistema de automação de casas comerciais (TAS) Uma grande casa de negociação quer que desenvolvamos um software para automatizar atividades de contabilidade associadas ao seu negócio. Tem muitos clientes regulares que fazem pedidos para vários tipos de commodities. 8 Exemplo 3 Sistema de automação de casas comerciais (TAS) A casa comercial mantém nomes e endereços de seus clientes regulares. Cada cliente recebe um número de identificação de cliente exclusivo (CIN). De acordo com a prática atual quando um cliente coloca ordem, o departamento de contas primeiro verifica o mérito do cliente. 9 Exemplo de Sistema de Automação de Câmbio (TAS) O valor de crédito de um cliente é determinado analisando o histórico de seus pagamentos nas contas enviadas no passado. Se um cliente não é digno de crédito, suas ordens não são processadas mais uma mensagem de rejeição de ordem apropriada é gerada para o cliente. 10 Exemplo de Sistema de Automação de Câmbio (TAS) Se um cliente é um item digno de crédito, o número de itens que a loja de negociação lida com eles é verificado. Os itens que a casa comercial não trata não são processados ​​mais uma mensagem apropriada para o cliente para esses itens é gerada. 11 Exemplo de Sistema de Automação de Câmbio (TAS) Os itens em uma ordem de clientes que a casa comercial trata são verificados quanto à disponibilidade no inventário. Se os itens estiverem disponíveis no inventário nas quantidades desejadas, uma conta com o endereço de encaminhamento do cliente será impressa. Um impresso de problema material é impresso. 12 Exemplo de Sistema de Automação de Câmbio (TAS) O cliente pode produzir o boletim de emissão de material na casa da loja, recebendo os itens. Dados de estoque ajustados para refletir a venda ao cliente. 13 Exemplo de Sistema de Automação de Câmbio (TAS) Se um item encomendado não estiver disponível no inventário em quantidade suficiente para poder cumprir as ordens pendentes, armazene detalhes em um arquivo de ordem pendente itens fora do estoque juntamente com a quantidade encomendada. Número de identificação do cliente 14 Exemplo de Sistema de Automação de Câmbio (TAS) O departamento de compras emitiria periodicamente comandos para gerar recortes. Quando o comando gerar indentação é emitido, o sistema deve examinar o arquivo de ordem pendente determinar os pedidos pendentes de quantidade total necessária para cada um dos itens. 15 Exemplo de Sistema de Automação de Câmbio (TAS) O TAS deve descobrir os endereços dos fornecedores que fornecem os itens necessários para examinar o arquivo que contém detalhes do fornecedor (seu endereço, itens que eles fornecem, etc.) imprimem recortes para esses vendedores. 16 Exemplo de Sistema de Automação de Câmbio (TAS) O TAS também deve responder a estatísticas de consultas gerenciais de itens diferentes vendidos em qualquer período de tempo correspondente, a quantidade vendida e o preço realizado. 17 Consulta de indentação de diagrama de contexto Trading-House-Automation-System0 Ordem de estatísticas do gerente Geração de indent resposta Cliente Departamento de compras 18 Nível 1 DFD Histórico do cliente Consulta do item-arquivo Aceitar-ordem0.1 inventário estatístico Arquivo do cliente Handle-query0.3 order Process-order0.2 Pedidos aceitos Lista de fornecedores Handle-indent-request0.4 Estatísticas de vendas Indent-request Material-issue-slip bill pendente-order Sintomas 19 Exemplo de dados Dicionário resposta material de emissão-problema-slip, rejeição-mensagem consulta Consulta de período do gerente em relação às estatísticas de vendas período fechado, mês, ano, dia data ano mês dia ano inteiro mês inteiro dia ordem inteira item de cliente-item quantidade aceita-ordem ordem encomendado itens disponíveis no estoque rejeição-mensagem ordem mensagem rejeição mensagem pendente-ordens Customer-id itemsquantity customer-address namehousestreetcitypin 20 Exemplo de Dicionário de Dados item-nome string casa string string de rua string de cidade número de pino número de cliente inteiro número de item de item pr Gelo total-quantidade material de endereço de cliente-edição-deslizamento item de item de mensagem endereço de cliente mensagem string estatística item quantidade preço vendas-estatísticas estatísticas quantidade inteiro 21 Observação Dos exemplos, observe que DFDs ajudam a criar modelo de dados modelo de função 22 Observação Como DFD É refinado em maiores níveis de detalhe, o analista executa uma decomposição funcional implícita. Ao mesmo tempo, os refinamentos de dados ocorrem. 23 Diretrizes para a construção de DFDs O diagrama de contexto deve representar o sistema como uma única bolha Muitos iniciantes cometem o erro de desenhar mais do que uma bolha no diagrama de contexto. 24 Diretrizes para a construção de DFDs Todas as entidades externas devem ser representadas no diagrama de contexto, as entidades externas não devem aparecer em nenhum outro nível de DFD. Apenas 3 a 7 bolhas por diagrama devem ser permitidas, cada bolha deve ser decomposta para entre 3 e 7 bolhas. 25 Diretrizes para a construção de DFDs Um erro comum cometido por muitos iniciantes que tentam representar informações de controle em um DFD. por exemplo. Tentando representar a ordem em que diferentes funções são executadas. 26 Diretrizes para a construção de DFDs Um DFD não representa informações de controle quando ou em que ordem diferentes funções (processos) são invocadas, as condições em que as diferentes funções são invocadas não são representadas. Por exemplo, uma função pode invocar uma função ou outra dependendo de alguma condição. Muitos iniciantes tentam representar esse aspecto desenhando uma flecha entre as bolhas correspondentes. 27 Exemplo-1 Verifique o valor de entrada Se o valor de entrada for inferior a -1000 ou superior a 1000, gere uma mensagem de erro, caso contrário, procure o número da mensagem GenerateError Número do número do número de verificação Pesquisa encontrada, não encontrada 28 Diretrizes para a construção de DFDs Se uma bolha A Invoca a bolha B ou a bolha C dependendo de algumas condições representam os dados que flui da bolha A para a bolha B e as bolhas A para C não as condições dependendo de qual processo é invocado. 29 Exemplo 2 Uma função aceita o nome do livro a ser pesquisado do usuário Se o nome do livro inserido não for um nome de livro válido, ele gera uma mensagem de erro, se o nome do livro for válido, pesquisa o nome do livro no banco de dados. Livro de pesquisa Good-book-name Get-book-name Book-details Mensagem de erro Print-err-message Nome do livro 30 Diretrizes para a construção de DFDs Todas as funções do sistema devem ser capturadas no modelo DFD nenhuma função especificada no SRS O documento deve ser negligenciado. Somente as funções especificadas no documento SRS devem ser representadas não assumem funcionalidades extras do sistema não especificadas pelo documento SRS. 31 Erros generalizados DFD não desequilibrados Esquecendo de mencionar os nomes dos fluxos de dados Funções ou dados não representados Fontes externas aparecendo em DFDs de nível superior Tentando representar aspectos de controle Diagrama de contexto com mais de uma bolha Uma bolha decomposta em muitas bolhas no próximo nível Terminação Decomposição demasiado cedo Nouns utilizados na nomeação de bolhas 32 As deficiências dos modelos DFD Model DFD sofrem de várias deficiências DFDs deixam amplo escopo para ser impreciso. Em um modelo DFD, inferimos sobre a função realizada por uma bolha de seu rótulo. Um rótulo pode não capturar toda a funcionalidade de uma bolha. 33 Falhas do modelo DFD Por exemplo, uma bolha chamada find-book-position tem apenas um significado intuitivo, não especifica várias coisas o que acontece quando algumas informações de entrada estão faltando ou estão incorretas. Não transmite nada sobre o que acontece quando o livro não é encontrado ou o que acontece se houver livros de diferentes autores com o mesmo título de livro. 34 As deficiências da informação DFD Model Control não estão representadas Por exemplo, a ordem em que as entradas são consumidas e as saídas produzidas não são especificadas. Item-file Histórico do cliente Contrato de ordem de aceitação Ordem do arquivo do cliente Ordem do processo Pedidos aceitos 35 Falhas do DFD Modelo A DFD não especifica aspectos de sincronização Por exemplo, o exemplo DFD no TAS não especifica se a ordem do processo pode aguardar Até que a ordem de aceitação produz dados, se a ordem de aceitação e a ordem de manipulação podem prosseguir simultaneamente com algum mecanismo de buffer entre eles. 36 TAS Nível 1 DFD Histórico do cliente Estatísticas de consulta do item-arquivo Inventário do pedido de aceitação Arquivo do cliente Ordem da consulta do manípico Ordem do processo Pedidos aceitas Lista do fornecedor Solicitação de indentação de controle Estatísticas de vendas Indent-request Declive pendente-order 37 Falhas Do modelo DFD A forma como a decomposição é realizada para chegar aos níveis sucessivos de um DFD é subjetiva. O nível final ao qual a decomposição é realizada é subjetivo depende da escolha e do julgamento do analista. Mesmo para o mesmo problema, várias representações DFD alternativas são possíveis muitas vezes, não é possível dizer qual representação DFD é superior ou preferível. 38 As deficiências da técnica DFD modelo DFD não fornecem nenhuma orientação clara sobre como exatamente uma deve ser sobre a decomposição de uma função, é necessário usar julgamento subjetivo para realizar a decomposição. As técnicas de análise estruturada não especificam quando parar um processo de decomposição a que comprimento a decomposição precisa ser realizada. 39 Extensão da técnica DFD para sistemas em tempo real Para sistemas em tempo real (sistemas com limites de tempo em suas ações), essenciais para controle de modelos de fluxo e eventos. Técnica amplamente aceita Técnica de Ward e Mellor. Um tipo de processo (bolhas) que lida com apenas fluxos de controle é introduzido. Esses processos são representados usando círculos tracejados. 40 Projeto estruturado O objetivo do projeto estruturado transforma os resultados da análise estruturada (ou seja, uma representação DFD) em um gráfico de estrutura. Um gráfico de estrutura representa a arquitetura do software vários módulos que compõem o sistema, a dependência do módulo (ou seja, qual módulo chama quais outros módulos), parâmetros passados ​​entre diferentes módulos. 41 Estrutura Gráfico Representação do gráfico de estrutura facilmente implementável usando linguagens de programação. O foco principal de um gráfico de estrutura define a estrutura do módulo de um software, a interação entre diferentes módulos, os aspectos processuais (por exemplo, como uma funcionalidade particular é alcançada) não são representados. 42 Blocos de construção básicos do quadro de estrutura Caixa retangular Uma caixa retangular representa um módulo. Anotado com o nome do módulo que representa. Ordem de processo 43 Setas Uma seta entre dois módulos implica durante a execução o controle é passado de um módulo para o outro na direção da seta. Root Process-order Handle-indent Handle-query 44 Fluxo de dados Setas As setas de fluxo de dados representam a passagem de dados de um módulo para outro na direção da seta. Ordem do ramo Ordem do processo 45 Módulos da biblioteca Os módulos da biblioteca representam freqüentemente chamados de módulos um retângulo com bordas laterais duplas. Simplifica o desenho quando um módulo é chamado por vários módulos. Quick-sort 46 Selection The diamond symbol represents one module of several modules connected to the diamond symbol is invoked depending on some condition. root Process-order Handle-indent Handle-query 47 Repetition A loop around control flow arrows denotes that the concerned modules are invoked repeatedly. root Process-order Handle-indent Handle-query 48 Structure Chart There is only one module at the top the root module. There is at most one control relationship between any two modules if module A invokes module B, module B cannot invoke module A. The main reason behind this restriction consider modules in a structure chart to be arranged in layers or levels. 49 Structure Chart The principle of abstraction does not allow lower-level modules to invoke higher-level modules But, two higher-level modules can invoke the same lower-level module. 50 Example root rms Valid-numbers rms Valid-numbers Get-good-data Compute-solution Display-solution Validate-data Get-data 51 Bad Design 52 Shortcomings of Structure Chart By looking at a structure chart we can not say whether a module calls another module just once or many times. Also, by looking at a structure chart we can not tell the order in which the different modules are invoked. 53 Flow Chart (Aside) We are all familiar with the flow chart representations Flow chart is a convenient technique to represent the flow of control in a system. AB if(c 100) P20 else p 80 while(pgt20) print(student mark) AB no yes P20 P80 dummy yes no Print 54 Flow Chart versus Structure Chart A structure chart differs from a flow chart in three principal ways It is difficult to identify modules of a software from its flow chart representation. Data interchange among the modules is not represented in a flow chart. Sequential ordering of tasks inherent in a flow chart is suppressed in a structure chart. 55 Transformation of a DFD Model into Structure Chart Two strategies exist to guide transformation of a DFD into a structure chart Transform Analysis Transaction Analysis 56 Transform Analysis The first step in transform analysis divide the DFD into 3 types of parts input, logical processing, output. 57 Transform Analysis Input portion in the DFD processes which convert input data from physical to logical form. por exemplo. read characters from the terminal and store in internal tables or lists. Each input portion called an afferent branch. Possible to have more than one afferent branch in a DFD. 58 Transform Analysis Output portion of a DFD transforms output data from logical form to physical form. por exemplo. from list or array into output characters. Each output portion called an efferent branch. The remaining portions of a DFD called central transform 59 Transform Analysis Derive structure chart by drawing one functional component for the central transform, each afferent branch, each efferent branch. 60 Transform Analysis Identifying the highest level input and output transforms requires experience and skill. Some guidelines trace the inputs until a bubble is found whose output cannot be deduced from the inputs alone. Processes which validate input are not central transforms. Processes which sort input or filter data from it are. 61 Transform Analysis First level of structure chart draw a box for each input and output units a box for the central transform. Next, refine the structure chart add subfunctions required by each high-level module. Many levels of modules may required to be added. 62 Factoring The process of breaking functional components into subcomponents. Factoring includes adding read and write modules, error-handling modules, initialization and termination modules, etc. Finally check whether all bubbles have been mapped to modules. 63 Example 1 RMS Calculating Software Compute - RMS0 Data-items User result Context Diagram 64 Example 1 RMS Calculating Software From a cursory analysis of the problem description, easy to see that the system needs to perform accept the input numbers from the user, validate the numbers, calculate the root mean square of the input numbers, display the result. 65 Example 1 RMS Calculating Software numbers Read-numbers0.1 Validate-numbers0.2 Valid - numbers Data-items error Compute-rms0.3 Display0.4 result RMS 66 Example 1 RMS Calculating Software By observing the level 1 DFD identify read-number and validate-number bubbles as the afferent branch display as the efferent branch. 67 Example 1 RMS Calculating Software root rms Valid-numbers rms Valid-numbers Get-good-data Compute-solution Display-solution Validate-data Get-data 68 Example 2 Tic-Tac-Toe Computer Game As soon as either of the human player or the computer wins, a message congratulating the winner should be displayed. If neither player manages to get three consecutive marks along a straight line, and all the squares on the board are filled up, then the game is drawn. The computer always tries to win a game. 69 Context Diagram for Example 2 Tic-tac-toe software0 display move Human Player 70 Level 1 DFD game Display-board move result Check-winner Validate-move board Play-move 71 Structure Chart root Get-good-move Compute-game Display Validate-move Check-winner Get-move play-move 72 Transaction Analysis Useful for designing transaction processing programs. Transform-centered systems characterized by similar processing steps for every data item processed by input, process, and output bubbles. Transaction-driven systems, one of several possible paths through the DFD is traversed depending upon the input data value. 73 Transaction Analysis Transaction any input data value that triggers an action For example, selected menu options might trigger different functions. Represented by a tag identifying its type. Transaction analysis uses this tag to divide the system into several transaction modules one transaction-center module. 74 Transaction analysis Transaction - center trans 3 trans 1 trans 2 type 1 type 2 type 3 75 Level 1 DFD for TAS Item-file Customer-history query statistics Accept-order inventory Customer-file Handle-query order Process-order Accepted-orders Vendor-list Handle-indent-request Sales-statistics Indent-request Indents pending-order 76 Structure Chart root query order indent Handle-order Handle-indent Handle-query Accept-order Process-order Get-order 77 Summary We first discussed structured analysis of a larger problem. We defined some general guidelines for constructing a satisfactory DFD model. The DFD model though simple and useful does have several short comings. We then started discussing structured design. 78 Summary Aim of structured design transform a DFD representation into a structure chart. Structure chart represents module structure interaction among different modules, procedural aspects are not represented. 79 Summary Structured design provides two strategies to transform a DFD into a structure chart Transform Analysis Transaction Analysis 80 Summary We Discussed three examples of structured design. It takes a lot of practice to become a good software designer Please try to solve all the problems listed in your assignment sheet, not only the ones you are expected to submit. The Best Home Automation Systems of 2017 Home Automation Systems Review Why Buy a Home Automation System Editor39s note: ADT recently announced the completion of a merger with Protection 1. Although the two companies currently operate independently, both will eventually operate exclusively under the ADT brand. When ADT and Protection 1 complete this brand integration, we will update our home automation system reviews to reflect that information. The top performers in our review are Crestron. the Gold Award winner Control4. the Silver Award winner and Savant. O vencedor do Prêmio Bronze. Herersquos more on choosing a provider to meet your needs, along with detail on how we arrived at our ranking of 10 systems. With home automation systems, you can forever banish concerns of overly expensive utility bills and stop wondering whether or not you locked the front door. These high-tech solutions can help make your home into a smart home. In fact, a smart home system can control every light, appliance and compatible peripheral in your home. This burgeoning industry offers a choice selection of products from respected manufacturers. Wersquove compiled a list of the best home automation systems available and ranked them based on their offerings in a variety of categories. Our evaluation focuses exclusively on professionally installed automation systems, sometimes called smart home as a service or SHaaS. However, if you want a more-affordable, less-complete option, check out our DIY home automation review. For additional information, see our articles on home automation systems . What to Expect from Professional Home Automation Professionally installed home automation is a serious investment, not a hobby or a gimmick. Getting a home automation system is on the same level as remodeling your home in cost and complexity. Our research revealed a few ways you can rein in your expectations so you can find a system that works best for you. Types of Systems There are two kinds of professional home automation systems in our review: whole-house automation and home security systems. Whole-house automation systems from Control4, Crestron, Elan, RTI, Savant and URC tend to be more expensive but have more features and connectivity, especially in terms of home theaters. Whole-home automation usually requires custom wiring and programming, which can take weeks to prepare in some cases. Home security systems such as ADT, MONI, Protection 1 and Vivint, primarily focus on home security but offer home automation upgrades. These upgrades do not approach the same level of complexity or customization that whole-house automation companies offer, notably with a lack of home theater integration. This professional solution is usually more affordable and includes home security monitoring. Mobile apps are common in both system types. A Stable Market with Local Dealers Home automation has existed since the 1970s in one form or another, almost always in luxury homes, businesses and schools. Whole-home systems rely on local dealers, also called integrators, in most states. These dealers act as resellers and install and set up equipment. Home security systems are more widespread with larger installer networks. Only in the last decade have DIY systems appeared, but these havenrsquot found traction in many homes. Worry-Free Compatibility Unlike DIY home automation, equipment compatibility is one less thing to think about when you work with a dealer. The dealer figures out which products work together ahead of time and then offers a variety of solutions that provide the features you want for your home. On the manufacturer side of things, most companies offer every piece of equipment you could want while also supporting hundreds of third-party products. A Big Price Tag Professional automation systems are a luxury, which should give you an idea of how much they cost. According to CE Pro, a publication for home automation integrators, the average whole-home automation system installation costs around 25,000. Much of this cost comes from hardware such as home theater components and security camera systems. For simpler projects, you can expect to spend between 2,000 and 5,000 to add smart locks. lighting, thermostats and sensors to a modest home. The cost comes from a combination of an expensive home automation controller and the sheer number of less-expensive devices that can add up quickly. Many home control systems also require custom programming on a home-by-home basis, since few smart homes are alike. A home automation system adds value to your home but not without upfront investment. Home Theater Integration This is the single most expensive part of a whole-home automation system. This is because of the controllers that allow you to send audio and video to rooms throughout your home. The rest of the cost associated with home theaters comes from audio equipment, such as speakers and amplifiers, and video equipment such as projectors, TVs and AV receivers. What We Evaluated, Why Itrsquos Important The cost and complexity of the systems in this category limit the amount of hands-on testing we can do. We approach our evaluations from the point of view of a potential customer starting research. Our evaluations are based on discussions with dealers, manufacturer offerings, brochures and in-house research. Most of the differences in professional home automation systems are superficial, but we highlighted the biggest ones we could find. Customer Education Resources The best home automation companies offer case studies, brochures and galleries. These showcase different projects in which the companyrsquos technology played a major role. We looked at the showcases offered by each company to get an idea of what each system can do. Companies with detailed descriptions and multiple examples did better than those that only showed photos of completed projects. Ease of Finding a Dealer We visited the websites of the companies in our review and looked for ways to contact dealers near our office. The most effective companies have clear calls to action on their homepages. This is usually an interactive dealer map, a form or a phone number you can use to get information. Control4, for example, has a form on its homepage that helps you get a quote, and it is one of the clearest calls to action we saw. Number of Hardware Partners We looked at each of the companies in our review to get a rough estimate of how many brands work with each automated home system. Manufacturers that support many brands score higher than those that support fewer since they give you more choices. The best home automation systems partner with hundreds of brands. This is important if you have a favorite brand like Bose or Sony that you want to include in your system. Customer Support Options As a general rule, a dealer is going to be your first, and maybe only, point of contact with some home automation companies. Dealers have an advantage of being available to make service calls to your home but often charge a fee to do so. Since we canrsquot evaluate all of the thousands of dealers across the U. S. we looked at the companies directly to see what they offer in terms of direct customer support. If therersquos even the faintest glimmer of direct customer support, we gave the company extra credit. Our evaluation is designed to provide you with useful information that helps you decide which system to use in your home. For our home automation system evaluations, we researched each manufacturerrsquos offerings and looked at how the company communicates with its customers. The companies have no input on our evaluation methodology, and our rankings were not shared with them prior to publication. Where to Start When you decide you want a home automation system, aside from setting a reasonable budget, there are only two things you need to consider: what and who. Getting what you want is as simple as finding the right focus for your smart home. From there, decide who should install it. Here are a few tips to help you decide the what and who of your smart home system. Determine Your Focus Focus only on features you want. As a general rule, whole-home automation has elements of control, security, utilities and entertainment. Home security companies offer the first three but have no support for entertainment. These categories are not mutually exclusive for example, lighting plays a role in all four. Once you have a focus, you can go to a dealer and tell them what you want to do. Control ndash These devices add convenience by helping you create schedules, rules and smartphone controls. Common examples are light switches, garage door openers. thermostats and window treatments. Security ndash Technology in this category protects your family, belongings and property by monitoring for and deterring intruders. Examples are door sensors, motion detectors, smoke detectors, smart locks, security cameras and sirens. Utilities ndash Using these devices, you can improve your homersquos energy efficiency, which helps you save on gas, electric or water bills. Examples include thermostats. sprinkler controllers, leak detectors and window treatments. Entertainment ndash These are audio-video devices and home theater equipment. Universal remotes sometimes work with DIY smart homes to control TVs, home audio systems and streaming sticks. Find a Local Dealer Most major cities have a few home automation dealers. To find the right one for you, itrsquos a good idea to get competing quotes from the integrators in your area. With quotes in hand, learn about each dealerrsquos certifications, setup process and whether it can help you get security monitoring services. Certifications ndash Look for dealers that are members of the Custom Electronic Design and Installation Association, or CEDIA. CEDIA has a strong code of ethics and helps installers stay up to date with the latest technology certifications. In addition to CEDIA membership, make sure the dealer is certified to work with popular home automation products. System Setup ndash Choose a dealer only after it gives you a detailed explanation of the changes it needs to make to your home such as removing drywall and installing wiring. If the dealer doesnrsquot give you a written contract of everything it plans to do before it starts, then find a dealer that will. A verbal contract is an invitation to overpriced installations that can bust your budget. Monitoring Services ndash Ask if the dealer offers home security monitoring or can connect you to a security company that monitors home automation systems. In general, if you donrsquot have door sensors, motion sensors or security cameras, you probably donrsquot need monitoring and shouldnrsquot buy it if the dealer insists. Getting the Most from Your System Whether you use your system as a universal remote or have automatic tasks that run in the background, you can expect to interact with it every day. Idle systems are a great way to underutilize your investment ndash make them work for you. Here are a couple items every home automation system owner should know. Learn the Ropes Take time to study the manual, mobile app and other tools you have access to. Look at all of the components that make up your system and see how mobile app controls them. By familiarizing yourself with the app, you can find lights, create presets and know where in the menu everything is. In most systems, you can set up schedules to control devices such as your thermostat and exterior lights. When to Call the Dealer Aside from occasionally replacing batteries in a sensor or dusting off your equipment, there isnrsquot much maintenance you can do on your own without voiding the warranty. If your system is under warranty, you should be able to replace your defective components at no cost. Itrsquos possible that you might pay a service fee, even with a warranty ndash check with your dealer to see when they charge for service calls. If you donrsquot have a warranty, set priorities instead of calling the dealer any time a component stops working. Your highest priorities should fall under security and utilities, which should be fixed as soon as possible after they break. If a security camera fails, your home can become more vulnerable to thieves. Likewise, if the thermostat goes on the fritz, discomfort or high energy bills can result. Control and entertainment devices in the system may be inconvenient if they go offline, but if therersquos no threat to your security or comfort, you can get them fixed as your budget allows. Warranty Coverage When you work with a dealer, keep in mind that it may offer a separate warranty from that of the manufacturer. Check to make sure the dealerrsquos warranty covers installation, labor and offers coverage for at least a year. For defective hardware, many dealers work with manufacturers to get replacement parts so you donrsquot have to contact the manufacturer directly. The best home automation systems offer lifetime warranties or warranties around three years. Home Automation Systems: Our Verdict amp Recommendations It can be hard to choose a home management system when there are so many good options on the market. Our recommendations come from each systemrsquos standout feature, since thatrsquos a good baseline to start from in your own research. Our top three home automation systems showcase the best the industry has to offer. For our Gold Award winner, Crestron, therersquos literally no project too big. This system is compatible with thousands of products from hundreds of manufacturers, more than any other company in our review. The systemrsquos software is fully customizable from top to bottom, which is one of the reasons it expands beyond residential installations into commercial applications at schools, hotels and businesses. It takes an experienced dealer and a lot of time to install a Crestron system. Control4, our Silver Award winner, is the top residential brand in our review. The system integrates software and hardware seamlessly without the need for a dealer to do intensive programming. This helps bring down installation costs while also creating a capable system that can be expanded by the dealer as your needs change. Control4 offers a strong selection of in-house hardware as well as support for hundreds of other manufacturers. Control4rsquos Composer Home Edition is home automation software that lets you create schedules and custom programs without calling the dealer. Our Bronze Award winner, Savant, has a design with a lot of visual appeal. The sleek, glossy hardware evokes the same visual cues as Apple products. Not only does Savant Pro have a full line of professional products, but it also has a few DIY smart home products with an entertainment focus. For example, the Savant Remote comes with a high-resolution touchscreen, a simple button layout and voice control, something not found in many universal remotes. The advantage of the DIY remote is that you can get a feel for Savant systems before committing to a full professional installation. Outside of the top three, RTI was the only other product in our review that had everything we looked for in a good home automation system, helping it earn a Top Ten Reviews Excellence Award. MONI, ADT and Vivint get honorable mention as home automation companies with extensive dealer networks, and they are the only products in our review with lifetime warranty coverage. Finding the right verdict in this evaluation was tricky. Part of the appeal of professional home automation systems is that they can automate almost anything in your home, which is why we canrsquot make solid recommendations on the hardware capabilities of a particular system over another. However, whole-house automation systems offer a more complete smart home experience than home security systems. Home security systems are a better way to get into professional automation for most people since they donrsquot require complex installation and programming. In the end, the best advice we can give you is to use our reviews to choose the best smart home system for your needs.

No comments:

Post a Comment