Baixe o app para aproveitar ainda mais
Prévia do material em texto
Análise Estruturada de Sistemas Módulo 01 - Introdução Introdução Incialmente vamos abordar o conceito da Análise funcional, uma técnica utilizada para especificar um sistema. Vamos ver também como é utilizado: O Modelo de Contexto e o Modelo de Análise funcional. O Diagrama de Contexto e como, por meio dele, podemos elaborar uma lista de eventos. Vamos aprender sobre: · Identificar as entidades externas e eventos temporais. · Identificar os fluxos de dados de entrada e saída. · Funções essenciais de um sistema e elaborar o diagrama de fluxo de dados das funções essenciais. · Como elaborar os modelos funcionais dos sistemas e como utilizar as funções macro para agrupar funções essenciais. · Como elaborar o diagrama de decomposição das funções essenciais e como realimentar os diagramas de níveis superiores. · Listas de verificação, que ajudam na qualidade dos modelos de contexto e modelo funcional. · Identificar os depósitos de dados de um sistema. Objetivos O objetivo deste curso é lhe proporcionar conhecimentos, competências e habilidades no desenvolvimento da Análise estruturada de sistemas. Os exercícios propostos irão facilitar a assimilação dos conceitos, fazendo você construir, a seu tempo, o conhecimento necessário para desenvolver o uso dessa técnica de análise. Análise funcional Introdução Vamos abordar a técnica da Análise funcional, conhecendo seus conceitos e suas funcionalidades. Objetivos Conhecer os conceitos básicos deste tipo de análise, onde e para que ela pode ser utilizada. Conteúdo do módulo O que é analise funcional Para que serve esta técnica Onde e quando ela é aplicada O que é Analise funcional? A Análise funcional é uma técnica de especificação de sistemas. Dica Especificar um sistema é definir o que ele deve fazer. Um dos problemas mais sérios no processo de especificação de sistemas é a dificuldade de analistas e usuários se comunicarem de forma eficaz e não ambígua. Uma linguagem comum A análise funcional introduz uma linguagem comum, isenta de aspectos técnicos, de fácil entendimento por parte dos usuários, por meio da qual analistas, usuários e demais envolvidos podem se comunicar e se fazer entender. Ela se baseia nos princípios da técnica de análise estruturada, introduzida na década de 70 por diversos metodologistas, principalmente, por Trish Sarson, Chris Gane e Tom DeMarco. Porteriormente, esta técnica foi aprimorada, com a inclusão de novos conceitos pela chamada análise essencial, introduzida por Palmer e McMenamin. Quando se aplica? A análise funcional serve principalmente para: 1. Sistematizar o processo de especificação de sistemas. Sem a análise funcional, a especificação do sistema, quando é feita, se baseia em descrições textuais, com todas as limitações da linguagem natural. Cada analista usa sua própria forma de especificação, sem uma padronização de linguagem e de métodos. 2. Obter a visão lógica ou conceitual do sistema de informação. Um dos princípios básicos das boas práticas de desenvolvimento de sistemas é a separação entre a visão lógica e a visão física. Tradicionalmente, os analistas têm tido dificuldades de expressar suas ideias em termos lógicos ou conceituais. Eles têm a tendência de se concentrar nos aspectos físicos da solução, antes mesmo da análise dos aspectos conceituais do problema ser concluída. A análise funcional se caracteriza pela absoluta independência dos detalhes de implementação do sistema. Seu resultado é um conjunto de gráficos e descrições que oferecem uma visão lógica ou conceitual do sistema. Quando se aplica? – Uniformizando e estruturando 3. Uniformizar as diferentes visões que as pessoas têm de um sistema. 4. Estruturar e simplificar a análise de sistemas de informação, principalmente dos mais complexos. Quando se Aplica? – Registrando 5. Registrar de forma sistemática as necessidades do usuário. Módulo 02 – Análise Estruturada Introdução Neste módulo vamos abordar os conceitos básicos da análise estruturada. Conteúdo do módulo O que é um sistema? Sistema de informação Os elementos básicos da análise funcional Objetivos Discutir os conceitos de sistema e de sistema de informação. Discutir o conceito de decomposição funcional de um sistema. Apresentar os elementos básicos da análise estruturada. Apresentar o roteiro de atividades utilizado para fazer a análise estruturada de um sistema. Sistema A análise funcional é uma técnica de especificação de sistemas. O Sistema é um conceito útil, que ajuda a analisar diversos fenômenos segundo um ângulo novo. A origem deste conceito é a biologia, mas ele se aplica de forma semelhante nas ciências sociais, na administração de empresas, na engenharia etc. NOTA Um sistema é um conjunto de partes inter-relacionadas, denominadas componentes ou subsistemas, que busca um determinado fim global comum. Esta definição indica que um sistema: · Tem um objetivo. · É formado por componentes ou subsistemas. · Mostra um forte relacionamento entre os componentes. · Recebe destes componentes uma contribuição direta ou indireta para atingir seu objetivo. Exemplo de sistema Um bom exemplo de sistema é o corpo humano. Ele é um conjunto de partes que se inter-relacionam para um objetivo comum: preservar a vida de uma pessoa. O conceito de sistema nos faz ver as coisas de forma diferente. Por exemplo, a decomposição de um corpo humano em cabeça, tronco e membros é inadequada porque não fica claro como as partes se relacionam e como contribuem para o objetivo comum. Exemplo de sistema – Subsistema Um exemplo de decomposição é como o sistema corpo humano pode ser dividido em subsistemas: digestivo, circulatório, nervoso, reprodutor etc. Dividindo o corpo humano desta forma, fica mais claro entender como cada componente (subsistema) contribui para o objetivo comum do sistema. Sistemas Circulatório Digestivo Nervoso Reprodutor A organização vista como um sistema Uma organização pode ser vista como um sistema. Suas diversas áreas e departamentos funcionam como componentes, interagindo entre si para atingir o objetivo comum. Os componentes aqui são: · A recepção da matéria-prima. · O estoque. · A produção. · O controle de qualidade · A expedição. · O sistema de segurança. · A administração. Sistema de informações O sistema de informações de uma organização é um dos componentes do sistema global. Existe um paralelo entre os componentes de um sistema de informações e o sistema de produção de uma organização. Os componentes de um sistema de informações são: · A entrada dos dados (matéria-prima) para o sistema, que devem ser recebidos e codificados para uma forma que o sistema possa entender e processar. · O controle de qualidade, que verifica a correção dos dados recebidos. · O processamento (produção) dos dados recebidos. · O armazenamento (estoque) de informações. · A saída (expedição) das informações obtidas por meio de relatórios e/ou telas. · A administração, que controla todo o processamento. Decomposição sucessiva Para entender o funcionamento de um sistema, usamos uma estratégia denominada “decomposição sucessiva”. Um sistema é composto de partes e cada parte é também um sistema. Cada subsistema, por sua vez, pode ser dividido em partes e assim por diante. A análise funcional utiliza a decomposição para resolver problemas complexos. Consiste em dividi-los em problemas mais simples e estes, sucessivamente, em problemas mais simples ainda, até que a complexidade chegue a um nível adequado para um entendimento correto e para sua solução. Elementos básicos A análise funcional utiliza um conjunto de quatro elementos básicos para descrever um sistema. Estes elementos são adequados para representar uma visão lógica do sistema, que não se preocupa com detalhes de implementação. Função Depósito de Dados Função Depósito de Dados Função Depósito de Dados Função O depósito de dados é um local para armazenagem de dados e pode ser: um HD, um CD, uma tabela do Acess etc. Entidade Externa Função Depósito de Dados Função Entidade Externa Depósitode Dados Entidade Externa Função Depósito de Dados Função Entidade Externa As entidades externas representam a origem e o destino dos dados processados pelo sistema. Entidade Externa Função Depósito de Dados Função Entidade Externa Depósito de Dados Entidade Externa Função Depósito de Dados Função Entidade Externa As setas na imagem representam os “Fluxos de Dados” Da mesma forma, o fluxo de dados representa dados em movimento, não importando através de qual meio. Roteiro para especificação de sistemas O processo de especificação de sistemas, segundo a técnica de análise funcional, é realizado em três passos: Definir o contexto de análise Antes de qualquer coisa, é importante obter um consenso junto aos usuários sobre o que está dentro e o que está fora do escopo daquilo que será realizado. O instrumento que registra o resultado deste primeiro passo é o modelo de contexto. Modelar as funções Este passo constitui o elemento central do processo de especificação, pois nele são: · Identificadas as funções do sistema. · Decompostas as funções complexas em funções mais simples. · Identificados os depósitos de dados. Roteiro para especificação de sistemas Para completar a especificação do sistema, cada um dos elementos identificados que constam dos modelos produzidos nos passos anteriores, são individualmente descritos, criando-se um conjunto de descrições conhecido como dicionário de dados. PASSOS PRODUTO 1 Definir o Contexto de Análise- Modelo de Contexto 2 Modelar as Funções – Modelo Funcional 3 Descrever os Elementos dos Modelos – Dicionário de Dados Módulo 03 – Modelo de Contexto Introdução Neste módulo vamos aprender o que é o modelo de contexto, como ele é desenvolvido e os seus componentes. Conteúdo do módulo O que é o modelo de contexto? Como é desenvolvido? Componentes principais do modelo de contexto Objetivos Definir os limites do sistema que está sendo analisado. Conhecer os dois componentes deste modelo que são o diagrama de contexto e a lista de eventos. Modelo de contexto – O que é? É o instrumento de análise funcional que serve para: · Identificar os elementos externos que interagem com o sistema. · Mostrar o fluxo de informação existente entre o sistema e seu ambiente externo. · Estabelecer os limites do sistema. · Identificar os eventos que ocorrem no ambiente externo e que provocam uma resposta do sistema. Modelo de contexto – Como é desenvolvido? O modelo de contexto deve ser desenvolvido em conjunto com os usuários. Se não for possível, ele pode ser desenvolvido pelos analistas e submetido à aprovação dos usuários. De qualquer forma, o modelo de contexto vai se constituir numa espécie de contrato de prestação de serviços entre analistas e usuários com relação àquilo que vai ser incluído no sistema. Por isso, todos os cuidados devem ser tomados para garantir uma correta determinação dos limites do sistema, do que vai ser e do que não vai ser objeto de análise. Modelo de contexto – Componentes O modelo de contexto tem dois componentes: · O diagrama de contexto, que é uma representação gráfica do sistema com seu ambiente externo. · A lista de eventos, que relaciona os fatos do ambiente externo que o sistema obrigatoriamente deve reconhecer. Diagrama de Contexto Lista de Eventos ESTÍMULO RESPOSTA EVENTO Pagamento Recibo Cliente efetua pagamento Extrato Hora de emitir extrato Relação de Hora de emitir relação de inadimplentes Inadimplentes Construindo o modelo de contexto Para construir o modelo de contexto seguimos os passos descritos na animação. 1. Identificar as entidades externas e representa-las no Diagrama de Contexto. Entidade Externa Entidade Externa Sistema Entidade Externa Entidade Externa Módulo 04 – Diagrama de Contexto Introdução Neste módulo vamos ver com mais detalhes o diagrama de contexto e como usamos este instrumento para estabelecer os limites do sistema. Conteúdo do módulo O sistema de cobrança Os limites do sistema Exemplos de diagrama de contexto Objetivos Saber como funciona o Sistema de Cobrança, conhecer alguns exemplos de diagrama de contexto e também alguns limites do Sistema. O sistema de cobrança Considere um sistema de cobrança de uma organização. Suponha que este sistema seja bastante simples. Ele deve ser capaz de: · Receber os pagamentos feitos pelos clientes. · Emitir os recibos dos pagamentos realizados. · Emitir extratos periódicos para os clientes. · Emitir relação de clientes inadimplentes para uso do Departamento Jurídico., Diagrama de contexto Neste exemplo, podemos destacar que: · O cliente é origem e destino das informações que o sistema recebe e gera. · O Departamento Jurídico é o destino das informações geradas pelo sistema. · O sistema recebe informações relativas aos pagamentos feitos pelo cliente. · O sistema emite os recibos e os extratos para os clientes. · O sistema emite a relação de inadimplentes para o Departamento Jurídico. Diagrama de contexto – Sistema de cobrança Veja o diagrama de contexto do sistema de cobrança: Você pode observar que: · O cliente e o Departamento Jurídico são as entidades externas, origem e destino das informações que o sistema recebe ou emite. · Pagamento é um fluxo de dados recebido pelo sistema. Nós chamamos este tipo de fluxo de dados de “fluxo de entrada” ou de “estímulo”. · Recibo, extrato e relação de inadimplentes são fluxos de dados emitidos pelo sistema. São “fluxos de saída” ou “respostas” do sistema. Ambiente externo O cliente e o Departamento Jurídico não fazem parte do sistema, mas interagem com ele, fornecendo ou recebendo dados. Constituem o que se denomina o “ambiente externo” do sistema. Se quisermos, podemos considerar que o Departamento Jurídico é parte integrante do sistema de cobrança. Sendo assim, ele deixa de fazer parte do ambiente externo e não aparece mais no diagrama de contexto como entidade externa. Limites do sistema Como podemos ver, a inclusão ou não de uma entidade externa e os fluxos de dados correspondentes podem aumentar ou diminuir a abrangência de um sistema. Neste exemplo, o que está em discussão é se o Departamento Jurídico e as funções por ele executadas fazem parte ou não do sistema. Analista e cliente devem chegar a um consenso a respeito disto e o diagrama de contexto refletirá o resultado da discussão. Módulo 05 – Entidade e Fluxos Externos Introdução Neste módulo vamos aprender a identificar as entidades externas que fazem parte do ambiente externo de um sistema e identificar os fluxos de dados que são originados nestas entidades ou que se destinam a elas. Objetivos Desenhar um diagrama de contexto para um sistema. Conteúdo do módulo Entidades externas Fluxo de dados Como desenhar um diagrama de contexto Entidade externa Uma entidade externa é um elemento do ambiente externo ao sistema que: · Gera informações que dão entrada no sistema. · Recebe informações que são geradas pelo sistema. Para identificar entidades externas, respondemos às seguintes perguntas: Que elementos externos (pessoas ou organizações) são origem de informações que se destinam ao sistema? Que elementos externos (pessoas ou organizações) são o destino de informações geradas pelo sistema? Esses elementos realmente tratam os dados que geram ou recebem ou apenas os repassam? Esses elementos realmente fazem parte do ambiente externo ou são parte integrante do sistema? Fluxo de dados Fluxos de dados são dados em movimento. Podem ser: · Entradas ou estímulos para o sistema. · Saídas ou respostas do sistema. As entidades externas são a origem ou destino dos fluxos de dados. Desenhando diagrama de contexto Para desenhar o diagrama de contexto, siga o roteiro descrito na apresentação: 1. No meio da página coloque o símbolo que representa o sistema. 2. Disponha as entidades externas em volta do sistema. Módulo 06 - Eventos Introdução Neste módulo, teremos a oportunidade de conhecer um novo conceito de eventos. Conteúdo do módulo Tipos de eventos Definir os limites de um sistemaIdentificar as funções que compõem um sistema Objetivos Preparar uma lista de eventos. Eventos Eventos são fatos que ocorrem fora do sistema e têm o poder de fazer com que reaja e produza respostas. Imagine o sistema como um ser que fique o tempo todo dormindo e só é acordado quando alguma coisa acontece. Existem dois tipos de eventos: · Eventos externos · Eventos temporais Eventos externos Eventos externos são fatos que ocorrem fora do sistema e que fazem o sistema reagir. Por exemplo: Cliente paga conta Um evento externo: · Acontece fora do sistema · Gera um estímulo que “acorda” o sistema · Provoca uma resposta do sistema. Eventos temporais Eventos temporais não estão relacionados a fatos externos. Estão relacionados à passagem do tempo. Exemplo: É hora de emitir extratos. Outro exemplo de evento temporal: É hora de emitir relação de inadimplentes. Nomeando eventos Os eventos externos são nomeados com uma frase que indica a ação que está sendo executada fora do sistema. Por exemplo: Cliente efetua pagamento Na maioria dos casos, a frase que dá nome ao evento é formada assim: · O sujeito é a entidade externa · O verbo indica a ação executada · O objeto é o nome do fluxo de dados O nome dos eventos temporais sempre começa pela expressão É hora de ... Seguida da ação que o sistema deverá executar: É hora de emitir extratos periódicos É hora de emitir relação de inadimplentes. Recibo Sistema Cliente Pagto de Relação de Depto. Cobrança Inadimplentes Jurídico Extrato Periódico Lista de eventos A lista de eventos é a relação de eventos externos e temporais: Cliente efetua pagamento É hora de emitir extratos periódicos É hora de emitir relação de inadimplentes Módulo 07 – Limites do Sistema Introdução Vamos aprender a completar a lista de eventos, preenchendo as colunas referentes aos estímulos e às respostas. Com a lista de eventos completa, você terá definido de forma clara e objetiva os limites do sistema. Objetivos Conhecer os conceitos de estímulo e resposta e como eles se relacionam com os eventos e elaborar uma lista de eventos, a partir do diagrama de contexto. Conteúdo do módulo O que são estímulos e respostas Como preencher e elaborar uma lista de eventos Estímulos Recibo Sistema Cliente Pagto de Relação de Depto. Cobrança Inadimplentes Jurídico Extrato Periódico Estímulos são os fluxos de dados que entram no sistema. Estes fluxos de dados informam ao sistema que um evento externo ocorreu. No exemplo ao lado, o fluxo de dados Pagamento representa um estímulo recebido pelo sistema. Este estímulo indica ao sistema a ocorrência do evento Cliente efetua pagamento. Este fluxo de dados contém todos os dados relativos ao pagamento efetuado e habilita o sistema a dar a resposta adequada ao evento ocorrido. No caso, a resposta do sistema ao estímulo recebido é a emissão do recibo correspondente. A lista de eventos A lista de eventos é uma tabela de três colunas: Eventos Estímulos Respostas EVENTOS ESTÍMULOS RESPOSTAS Cliente efetua pagamento Hora de emitir extrato Hora de emitir relação de inadimplentes Preenchendo a lista de eventos – Estímulos Os estímulos devem ser colocados na lista de eventos, junto ao evento correspondente. Eventos externos sempre estão ligados a um estímulo. Eventos temporais nunca geram um estímulo. EVENTOS ESTÍMULOS RESPOSTAS Cliente efetua pagamento Pagamento Hora de emitir extrato ---------------- Hora de emitir relação de inadimplentes ---------------- Respostas As respostas são fluxos de dados de saída do sistema. Eles são gerados quando um evento, externo ou temporal, acontece. No exemplo, as respostas são: O recebido O extrato periódico A relação de inadimplentes Recibo Sistema Cliente Pagto de Relação de Depto. Cobrança Inadimplentes Jurídico Extrato Periódico Preenchendo a lista de eventos – Respostas As respostas devem ser colocadas na lista de eventos na coluna correspondente, vinculadas ao evento que dá origem a elas. EVENTOS ESTÍMULOS RESPOSTAS Cliente efetua pagamento Pagamento Recibo Hora de emitir extrato ---------------- Extrato Periódico Hora de emitir relação de inadimplentes ---------------- Relação de Inadimplentes Elaborando a lista de eventos Para elaborar a lista de eventos a partir do diagrama de contexto, siga os passos abaixo: Para descobrir os estímulos (fluxos de dados de entrada) fazemos as perguntas: Que fato ou acontecimento externo gera este estímulo? e O que a entidade externa faz que gera este estímulo? No exemplo, o estímulo é o resultado do fato Cliente efetua pagamento, que é o evento externo correspondente. Indique as respostas (fluxos de saídas) correspondentes aos eventos já identificados. No exemplo, o fluxo de dados Recibo é a resposta ao evento Cliente efetua pagamento. Identifique os evento temporais que geram as demais respostas que ainda não foram inseridas na tabela. · Eventos temporais não estão relacionados a estímulos. Recibo Sistema ClientePagto de Relação de Depto. Cobrança Inadimplentes Jurídico Extrato Periódico EVENTOS ESTÍMULOS RESPOSTAS Cliente efetua pagamento Pagamento Recibo Hora de emitir extrato ---------------- Extrato Periódico Hora de emitir relação de inadimplentes ---------------- Relação de Inadimplentes Módulo 08 – Ocorrência dos Eventos Introdução Para ter certeza de que a lista de eventos está completa, submetemos cada evento às seguintes indagações: 1. O que acontece se este evento não ocorrer? 2. Que evento acontece antes deste? 3. Que evento acontece depois deste? As respostas a estas perguntas podem indicar eventos que provocam resposta do sistema e que também devem constar da lista de eventos. Conteúdo do módulo Novos eventos Eventos anteriores ou posteriores Complementando o diagrama de contexto Objetivos Aprender a avaliar se a lista de eventos está completa e, se necessário, complementá-la, bem como o diagrama de contexto. Este passo é muito importante. Se algum evento for esquecido ou se o diagrama de contexto não estiver completo, os limites do sistema não estarão corretamente estabelecidos. Como resultado, poderá haver desentendimentos entre o analista e o usuário a respeito do que o sistema deve ou não fazer. Não ocorrência de eventos Considere a lista de eventos do sistema de cobrança: Considere o seguinte evento: Cliente efetua pagamento Faça a seguinte pergunta: O que acontece se este evento não ocorrer? A resposta pode ser: O sistema deve emitir uma carta de cobrança. Isto dá origem a um novo evento temporal: É hora de emitir cartas de cobrança. Eventos Estímulos Respostas Cliente efetua pagamento Pagamento Recibo É hora de emitir extratos ------------- Extrato periódico É hora de emitir relação de inadimplentes ------------- Relação de inadimplentes Eventos anteriores Outra pergunta: Que evento acontece antes deste? Faça esta pergunta em relação ao evento: Cliente efetua pagamento. Para que o cliente possa efetuar o pagamento, ele precisa receber antes um boleto de cobrança. Neste caso, precisamos de um evento temporal: É hora de emitir boletos de cobrança. EVENTOS ESTÍMULOS RESPOSTAS Cliente efetua pagamento Pagamento Recibo Hora de emitir extrato -------------- Extrato Periódico Hora de emitir relação de inadimplentes -------------- Relação de Inadimplentes Hora de emitir cartas de cobrança -------------- Carta de Cobrança Eventos posteriores Mais uma pergunta: Que evento acontece depois deste? Vamos aplicar esta pergunta ao evento: É hora de emitir cartas de cobrança. O que acontece depois que as cartas de cobrança forem enviadas, se o cliente não efetuar o pagamento? Enviar o título para protesto? Se este for o caso, temos mais um evento: É hora de enviar títulos para protesto. EVENTOS ESTÍMULOS RESPOSTAS Cliente efetua pagamento Pagamento Recibo Hora de emitir extrato -------------Extrato Periódico Hora de emitir relação de inadimplentes ------------- Relação de Inadimplentes Hora de emitir cartas de cobrança ------------- Carta de Cobrança Hora de emitir boletos de cobrança ------------- Boletos de Cobrança Hora de enviar títulos para protesto ------------- Títulos para Protesto Complementando o diagrama de contexto Todos os novos estímulos e respostas identificados precisam ser incluídos no diagrama de contexto. Neste exemplo, descobrimos três novas respostas, que precisam constar do diagrama de contexto. EVENTOS ESTÍMULOS RESPOSTAS Cliente efetua pagamento Pagamento Recibo Hora de emitir extrato -------------- Extrato Periódico Hora de emitir relação de inadimplentes -------------- Relação de Inadimplentes Hora de emitir cartas de cobrança -------------- Carta Cobrança Hora de emitir boletos de cobrança -------------- Boletos Cobrança Hora de enviar títulos para protesto -------------- Títulos Protesto Recibo Sistema Relação de Clientes Pagamento de Inadimplentes Depto. Cobrança Jurídico Extrato Periódico Módulo 09 – Funções essências dos sistemas Introdução O modelo funcional define as funções que o sistema vai executar. Aqui, ainda usamos a visão lógica, isto é, damos ênfase ao que o sistema vai fazer, independentemente de como. Por isso, chamamos as funções identificadas de funções essenciais do sistema. O modelo funcional será composto pela lista de funções essenciais e por uma série de diagramas, cada um mostrando como a informação flui entre as funções do sistema e as entidades externas. Objetivos · Conhecer o modelo funcional e seus componentes. · Saber elaborar a lista de funções essenciais e o diagrama de fluxo de dados dessas funções. Conteúdo do módulo Decomposição sucessiva O que é modelo funcional? Componentes do modelo funcional Componentes de modelo funcional O modelo funcional possui dois componentes: · Lista de funções essenciais · Diagrama de fluxo de dados das funções essenciais ESTÍMULO RESPOSTA EVENTO FUNÇÃO ESSENCIAL Pagamento Recibo Cliente efetua Registra pagamento pagamento - Extrato Hora de emitir Emite extrato extrato - Relação de Hora de emitir Emite relação de Inadimplentes relação de relação de inadimplentes inadimplentes Funções essenciais e eventos O primeiro componente é a lista de funções essenciais. Ela é construída a partir da lista de eventos que faz parte do modelo de contexto. Uma função essencial é um componente do sistema de informação que fornece uma resposta completa a um evento. Haverá uma função essencial para cada evento da lista de eventos. ESTÍMULO RESPOSTA EVENTO FUNÇÃO ESSENCIAL Pagamento Recibo Cliente efetua Registra pagamento Pagamento - Extrato Hora de emitir Emite extrato Extrato - Relação de Hora de emitir Emite relação de inadimplentes Inadimplentes relação de inadimplentes Diagrama de fluxo de dados das funções essenciais O outro componente é o diagrama de fluxo de dados (DFD) das funções essenciais, que é uma representação gráfica da interação das funções essenciais com seu ambiente externo. Roteiro de elaboração Para elaborar o modelo funcional, seguimos o roteiro abaixo: 1. Construir a lista de funções essenciais 2. Construir o DFD das funções essenciais 3. Construir, se necessário, um DFD de decomposição para cada função essencial ESTÍMULO RESPOSTA EVENTO Pagamento Recibo Cliente efetua pagamento - Extrato Hora de emitir extrato - Relação de Hora de emitir relação de inadimplentes Inadimplentes Módulo 10 – Funções essenciais Introdução Neste módulo, você conhecerá, com mais detalhes, a função essencial, que é o componente mais importante na decomposição de um sistema. Objetivos Aprender a identificar corretamente as funções essenciais de um sistema e a elaborar a lista de funções essenciais. Conteúdo do módulo Função essencial Tecnologia perfeita Lista de funções essenciais Identificando funções essenciais Funções essenciais Uma função essencial é um componente do sistema de informação que fornece resposta completa a um estímulo recebido de um evento ocorrido no seu ambiente externo. Isto significa que, quando um evento acontecer e o sistema “acordar”, uma série de ações será executada, até que nada mais seja possível ou necessário fazer e, então, o sistema voltará a “dormir”. Estas ações executadas constituem uma função essencial. Tecnologia perfeita 1 As funções essenciais não levam em conta as características e imposições do ambiente tecnológico em que serão executadas. Em vez disto, devemos imaginar um ambiente de tecnologia perfeita, de modo a nos abstrair das restrições que nos são impostas por ela e que acabam influenciando a solução. Uma tecnologia perfeita é aquela que nos oferece: · Velocidade infinita · Custo zero · Capacidade infinita de armazenamento 2 As características de uma tecnologia perfeita são: · Velocidade infinita: significa que não temos de nos preocupar com a capacidade de processamento de nossos processadores, nem com a velocidade de transmissão de nossas linhas, com o tempo de acesso a discos, nem com a velocidade de impressão. · Custo zero: significa que temos a liberdade de pensar em soluções ideias, sem limitações orçamentárias ou financeiras. · Capacidade infinita de armazenamento: significa que não temos de limitar nossa soluções por causa do volume de dados a armazenar. Como identificar as funções Para identificar as funções essenciais, procedemos da seguinte forma: · Para cada item constante da lista de eventos devemos fazer a seguinte pergunta: Quando este evento acontece, o que o sistema deve fazer? · A resposta a esta pergunta é o nome da função essencial correspondente. · O nome de uma função essencial sempre começa com um verbo no infinitivo. Eventos Estímulos Respostas Função essencial Cliente efetua pagamento Pagamento Recibo Hora de emitir extrato ------------- Extrato Periódico Hora de emitir relação de -------------- Relação de Inadimplentes Inadimplentes Hora de emitir cartas de --------------- Carta de Cobrança cobrança Hora de emitir boletos de -------------- Boletos e Cobrança cobrança Hora de enviar títulos para -------------- Títulos para Protesto protesto Listas de funções essenciais A lista de funções essenciais pode ser então preenchida: Eventos Estímulos Respostas Função essencial Cliente efetua pagamento Pagamento Recibo Processar pagamento Hora de emitir extrato ------------- Extrato Emitir extratos periódico periódicos Hora de emitir relação de -------------- Relação de Emitir relação de Inadimplentes Inadimplentes inadimplentes Hora de emitir cartas de --------------- Carta de Cobrança Emitir cartas de cobrança cobrança Hora de emitir boletos de -------------- Boletos e Cobrança Emitir boletos de cobrança cobrança Hora de enviar títulos para -------------- Títulos para Protesto Enviar títulos para protesto protesto Módulo 11 – Depósito de dados e funções Introdução Neste módulo você vai conhecer o depósito de dados (componente do modelo funcional) e aprender a identificar os depósitos de dados que são mantidos pelas funções essenciais. Objetivos Identificar os depósitos de dados de um sistema. Conteúdo do módulo Depósito de dados Depósito de dados e funções Identificando depósito de dados Depósito de dados Depósitos de dados são locais nos quais os dados são armazenados. Estes dados são atualizados e recuperados pelas funções do sistema. Eles representam conjuntos de informações relacionadas que precisam ser armazenadas pelo sistema durante o intervalo entre a ocorrência dos eventos. Este é o símbolo que usamos para representar um depósito de dados: Identificando depósitos de dados Para identificar depósitosde dados, proceda da seguinte maneira: 1 Pergunte: A respeito de que coisas o sistema deverá guardar informações? 2 Para cada função essencial, pergunte: Quando esta função é executada, que dados são armazenados? 3 Para cada função essencial, pergunte: Que dados obtidos e armazenados por outras funções são necessários para esta função executar? Exemplo de sistema de cobrança Considere a lista de funções essenciais do sistema de cobrança: Eventos Estímulos Respostas Função essencial Cliente efetua pagamento Pagamento Recibo Processar pagamento É hora de emitir extratos --------------- Extrato Emitir extratos Periódico periódicos É hora de emitir relação de ------------ Relação de Emitir relação de inadimplentes inadimplentes inadimplentes É hora de emitir cartas de ------------- Carta de Emitir cartas de cobrança cobrança cobrança É hora de emitir boletos de -------------- Boleto de Emitir boletos de cobrança cobrança cobrança É hora de enviar títulos para -------------- Títulos para Enviar títulos para protesto protesto protesto Curiosidade A resposta pode ser: · Pagamentos a receber · Pagamentos efetuados Função essencial 1. Pergunte: A respeito de que coisas o sistema deverá guardar informações? 2. Para cada função essencial, pergunte: Quando esta função é executada, que dados são armazenados? Quando a função Processar pagamento é executada, que dados são armazenados? Resposta - Pagamentos efetuados 3. Para cada função essencial, pergunte: Que dados obtidos e armazenados por outras funções são necessários para esta função executar? Processar pagamento Pagamentos Pagamentos a receber efetuados Exemplo de processar pagamento Exercícios 1- Que dados são necessários para executar a função Processar pagamento? R – Pagamentos a rceber Emitir boletos de cobrança Emitir cartas de cobrança Processar pagamento Pagamentos Pagamentos a receber efetuados Enviar títulos para protesto Emitir relação de inadimplentes Emitir extratos 2- Que dados são necessários para Emitir extratos periódicos? R- Pagamentos efetuados Emitir boletos de cobrança Emitir cartas de cobrança Processar pagamento Pagamentos Pagamentos a receber efetuados Enviar títulos para protesto Emitir relação de inadimplentes Emitir extratos 3- Que dados são necessários para Emitir relação de inadimplentes? R- Pagamentos a receber, pagamentos efetuados Emitir boletos de cobrança Emitir cartas de cobrança Processar pagamento Pagamentos Pagamentos a receber efetuados Enviar títulos para protesto Emitir relação de inadimplentes Emitir extratos 4- Que dados são necessários para Emitir Cartas de cobrança? R- Pagamentos a receber, pagamentos efetuados Emitir boletos de cobrança Emitir cartas de cobrança Processar pagamento Pagamentos Pagamentos a receber efetuados Enviar títulos para protesto Emitir relação de inadimplentes Emitir extratos 5- Que dados são necessários para Emitir boletos de cobrança? R – Pagamentos a receber Emitir boletos de cobrança Emitir cartas de cobrança Processar pagamento Pagamentos Pagamentos a receber efetuados Enviar títulos para protesto Emitir relação de inadimplentes Emitir extratos 6- Que dados são necessários para Enviar títulos para protesto? R – Pagamentos a receber, pagamentos efetuados Emitir boletos de cobrança Emitir cartas de cobrança Processar pagamento Pagamentos Pagamentos a receber efetuados Enviar títulos para protesto Emitir relação de inadimplentes Emitir extratos Depósito de dados e funções Depósitos de dados e funções essenciais podem ser relacionados em uma tabela, como a que segue: Função Armazena dados em Usa dados de Processar pagamento Pagamentos efetuados Pagamentos a receber Emitir extratos periódicos ----------------------------- Pagamentos efetuados Emitir relação de inadimplentes ---------------------------- Pagamentos a receber Pagamentos efetuados Emitir cartas de cobrança ---------------------------- Pagamentos a receber Pagamentos efetuados Emitir boletos de cobrança --------------------------- Pagamentos a receber Enviar títulos para protesto ---------------------------- Pagamentos a receber Pagamentos efetuados Módulo 12 - Diagrama de fluxos Introdução Neste módulo vamos aprender a elaborar o diagrama de fluxos de dados das funções essenciais. Para isto, vamos tomar como base as listas de funções essenciais e de depósitos de dados que elaboramos nos módulos anteriores. Objetivos Elaborar o diagrama de fluxo de dados das funções essenciais. Conteúdo do módulo Desenhando o diagrama Diagrama de fluxos de dados Diagrama de fluxos de dados O diagrama de fluxo de dados mostra como os dados fluem das entidades externas para as funções essenciais do sistema, destas para os depósitos de dados e para as entidades externas. 1 2 3 4 Como elaborar o diagrama Para desenhar o diagrama, levamos em conta a lista de eventos e a lista de depósitos de dados. Para elaborar o diagrama, devemos seguir os seguintes passos: 1. Disponha no gráfico as funções essenciais Eventos Estímulos Respostas Função essencial Cliente efetua pagamento Pagamento Recibo Proc. Pagto Hora de emitir extrato -------------- Extrato Emitir ext. Periódico periódicos Hora de emitir relação de -------------- Relação de Emitir relação inadimplentes Inadimplentes inadimplente Hora de emitir cartas de -------------- Carta de Emitir cartas de cobrança Cobrança cobrança Hora de emitir boletos de ------------- Boletos de Emitir boletos de cobrança Cobrança cobrança Hora de enviar títulos para ------------- Títulos para Enviar títulos protesto Protesto para protesto Proc. Pagto Emitir ext. periódicos Emitir relação inadimplente Emitir cartas de Emitir boletos de cobrança Enviar títulos para protesto cobrança 2. Disponha no gráfico os estímulos e as respostas. Coloque também as entidades externas que aparecem no diagrama de contexto. Se necessário, duplique no gráfico as entidades externas para evitar o cruzamento de linhas. Eventos Estímulos Respostas Função essencial Clique efetua Pagto Recibo Processar pagamento Pagamento É hora de emitir ------------- Estrato Emitir extratos periódicos extr. periódicos periódico É hora de emitir ------------- Relação de Emitir relação de relação de inadimplentes inadimplentes inadimplentes É hora de emitir ------------- Carta de Emitir cartas de cobrança cartas de cobrança cobrança É hora de emitir ------------- Boleto de Emitir boletos de boletos de cobrança cobrança cobrança É hora de enviar ------------- Títulos para Enviar títulos para títulos para protesto protesto protesto Pagamento Cliente Extrato Periódico Emitir Relação de relação de Inadimplentes inadimplentes Processar Recibo Emitir pagamento extratos Depto periódicos jurídico Emitir Emitir cartas boletos de Enviar de cobrança títulos cobrança para Títulos para Protesto protesto Carta de Cliente Boletos de Cobrança Cobrança 3. Inclua no diagrama os depósitos de dados. Se necessário, duplicar no gráfico os depósitos de dados para evitar o cruzamento de linhas. Função Armazena dados em Usa dados de Processar pagamento Pagamentos efetuados Pagamentos a receber Emitir extratos ---------------------------- Pagamentos efetuados periódicos Emitir relação de ----------------------------- Pagamentos a receber inadimplentes Pagamentos efetuados Emitir cartas de ----------------------------- Pagamentos a receber cobrança Pagamentos efetuados Emitir boletos de ------------------------------ Pagamentos receber cobrança Enviar títulos para ------------------------------ Pagamentos a receber protesto Pagamentos efetuados Eventos Estímulos RespostasFunção essencial Cliente efetua Pagamento Recibo Proc. pagto pagamento Hora de emitir -------------- Extrato Periódico Emitir ext. extrato periódicos Hora de emitir -------------- Relação de Emitir relação relação de Inadimplentes inadimplente inadimplentes Hora de emitir -------------- Carta de Emitir cartas de cartas de Cobrança cobrança cobrança Hora de emitir -------------- Boletos de Cobrança Emitir boletos boletos de de cobrança cobrança Hora de enviar ------------- Títulos para Protesto Enviar títulos para títulos para protesto protesto Proc. pagto Emitir ext. periódicos Emitir relação inadimplente Emitir cartas de cobrança Emitir boletos de cobrança Enviar títulos para protesto Módulo 13 - Funções Macro Introdução As funções macro são agrupamentos de funções essenciais, apropriadas para a elaboração de modelos funcionais quando o sistema possui um grande número de funções essenciais. Objetivos Elaborar modelos funcionais de sistemas que apresentam mais de nove funções essenciais e aprender a usar funções macro para agrupar funções essenciais. Conteúdo do módulo Função macro Depósito de dados Numerando as funções Diagrama de fluxos de dados das funções macro Funções macro Uma função macro é uma função que representa um agrupamento de funções essenciais. As funções essenciais agrupadas em uma função macro normalmente apresentam as seguintes características: São afins Relacionam-se a um objetivo comum Tratam os mesmo dados Exemplos Exemplo – I Considere a lista de funções essenciais do sistema das Linhas Ocupadas : Considere as seguintes funções: · Registrar assinatura de contrato · Cancelar contrato · Terminar contrato Estas funções possuem as seguintes características: · São afins · Relacionam-se a um objetivo comum · Tratam os mesmos dados Portanto, podemos agrupar estas funções essenciais numa função macro: Controlar contratos Exemplo – II Considere a lista de funções essenciais do sistema das Linhas Ocupadas : Da mesma maneira, podemos reunir numa função macro Cobrar mensalidades as funções: · Processar pagamento · Emitir cartas de cobrança · Desligar linha por não pagamento Numerando as funções As funções macro e as respectivas funções essenciais podem ser identificadas com um número, conforme o exemplo abaixo: 1. Controlar contratos 1.1 Registrar assinatura de contrato 1.2 Cancelar contrato 1.3 Terminar contrato 2. Cobrar mensalidades 2.1 Processar pagamento 2.2 Emitir cartas de cobrança 2.3 Desligar linha por não pagamento Outras funções macro podem ser: 3. Controlar corretores 3.1 Admitir corretor 3.2 Pagar comissão aos corretores 4. Controlar linhas 4.1. Cadastrar linha 4.2. Processar solicitação de linha 4.3. Retirar linha 4.4. Atualizar tabela de preços Depósito de dados Da mesma forma, a relação entre as funções macro e os depósitos de dados é um resumo das relações das funções essenciais que as compõem com esses depósitos. Função essencial Armazena dados em Usa dados em Cadastrar linha Linhas Tabela de preços Processar solicitação Tabela de preço de linha Registrar assinatura de Contratos Contratos Contrato Processar pagamento Contratos Contratos Pagar comissões aos Corretores Corretores Contratos Atualizar tabela de Tabela de preços Preços Retirar linha Linhas Admitir corretor Corretor Cancelar contrato Contratos Emitir carta de Contratos Cobrança Desligar linha por não Linhas Contratos pagamento Terminar contrato Contratos Contratos Função macro Armazena dados em Usa dados em Controlar linha Linhas Linhas Contratos Tabela de preços Tabela de preços Diagrama de fluxos de dados das funções macro Quando o número de funções essenciais é maior do que dez, em vez de fazer um DFD com todas as funções essenciais, podemos fazer um DFD com as funções macro. Diagrama de fluxos de dados de uma função macro Agora, podemos desenhar um DFD para cada uma das funções macro. Veja, por exemplo, como fica o DFD da função Controlar contratos. Módulo 14 - Novos fluxos de dados Introdução Até aqui, nós conhecemos três níveis de diagramas de fluxo de dados: · O diagrama de contexto · O diagrama de funções macro · O diagrama de funções essenciais de cada função macro Cada nível mostra uma decomposição do nível anterior. O DFD de decomposição representa um quarto nível de decomposição. Objetivos Conhecer o DFD de decomposição, elaborar o diagrama de decomposição das funções essenciais e realimentar os diagramas de níveis superiores. Conteúdo do módulo Usando a decomposição sucessiva Detalhando uma função essencial Decompondo a função Fluxos de dados Usando a decomposição sucessiva Veja a sequência de diagramas que elaboramos para o sistema das linhas ocupadas: 1) Diagrama de contexto · Clique no Sistema das Linhas Ocupadas 2) Diagrama de funções macro · Clique nas Funções (1, 2, 3, 4 e 5) 3) Diagrama de funções essenciais das funções macro: Diagrama de funções macro Dados da linha Proprietario DataFlow 1 Proprietário Repasse Sistema das Linhas Solicitação de linha Ocupadas Contrato Proprietario Contrato assinado Pagamento aos Proprietario Recibos de mensalidade corretores Pagamento Detalhando uma função essencial Vamos considerar a função essencial 4.2. Processar solicitação de linha Linhas 4.2 Solicitação de linha Processar Locatário solicitação de linha Contrato O que esta função faz? · Recebe e verifica a validade dos dados da solicitação de linha recebida do locatário. Se os dados recebidos estiverem inválidos, uma mensagem de Solicitação inválida será enviada ao locatário. · Se a solicitação de linha for válida, o depósito de dados das linhas é consultado para ver se a linha existe e está disponível. Se não, uma mensagem de Linha não disponível deve ser enviada ao locatário. · Se a linha estiver disponível, o contrato pode ser emitido e enviado ao locatário. · A linha deve ser marcada como reservada. Um aviso deve ser emitido e enviado ao proprietário, para que ele saiba que um contrato está sendo negociado. Decompondo a função Vamos repetir passo a passo: Passo 1: Recebe e verifica a validade dos dados da solicitação de linha recebida do locatário. Se os dados recebidos estiverem inválidos, uma mensagem de Solicitação inválida é enviada ao locatário. Passo 2: Se a solicitação de linha for válida, o depósito de dados das Linhas é consultado para ver se a linha existe e está disponível. Se não, uma mensagem de Linha não disponível deve ser enviada ao locatário. Passo 3: Se a linha estiver disponível, o contrato pode ser emitido e enviado ao locatário. Passo 4: A linha deve ser marcada como reservada. Passo 5: Um aviso deve ser emitido e enviado ao proprietário, para que ele saiba que um contrato está sendo negociado. Novos fluxos de dados Quando elaboramos o DFD de decomposição, novos fluxos de dados correspondentes a estímulos e respostas podem surgir. Compare o diagrama da função com o diagrama que mostra a sua decomposição: 4.2. Processar solicitação de linha ... Linhas 4.2 Solicitação de linha Processar Locatário solicitação de linha Contrato Fluxos de dados Os novos fluxos de dados são os seguintes: Solicitação inválida Linha não disponível Aviso de contrato em negociação Características diferentes Os fluxos de dados novos que aparecem durante a decomposição têm características diferentes: Alguns representam avisos de ocorrência de erros ou de exceções, por exemplo: · Solicitação inválida · Linha não disponível Outros são fluxos novos, esquecidos ou não descobertos durante a análise inicial, como por exemplo: · Aviso de contrato em negociação Realimentando os níveis superiores Os fluxos de dados que NÃO representam erros ou exceções devem ser representados nos diagramas de níveis superiores. Assim, o fluxo Aviso de contrato em negociação, que não representa um erro ou uma exceção, deve ser incluído nos níveis superiores no diagrama dafunção macro. Diagrama de contexto No diagrama de contexto: Dados da linha Proprietario DataFlow 1 Proprietário Repasse Sistema das Linhas Solicitação de linha Ocupadas Contrato Proprietario Contrato assinado Pagamento aos Proprietario Recibos de mensalidade corretores Pagamento Comparados com os demais diagramas, os diagramas de decomposição apresentam características especiais. A tabela abaixo indica estas diferenças: Diagramas de decomposição Outros diagramas Incluem fluxos de dados Não incluem fluxos de dados correspondentes a erros e exceções correspondentes a erros e exceções Funções se comunicam através de Funções só se comunicam através de fluxos de dados depósitos de dados. Módulo 15 – Diagramas Introdução Neste módulo vamos conhecer uma série de perguntas que devemos fazer em relação aos nossos modelos. Estas perguntas constituem uma lista de verificações. Se os modelos passarem por estas questões, podemos dizer que eles têm a qualidade mínima necessária. Objetivos Discutir alguns critérios de qualidade para os modelos de contexto e funcional. Mostrar como podemos verificar a qualidade destes modelos. Conteúdo do módulo Lista de eventos Depósito de dados Diagrama de contexto Lista de funções essenciais Agrupamento de funções Diagrama de funções macro Diagrama de decomposição Diagrama de funções essenciais Diagrama de contexto Para verificar a qualidade de um diagrama de contexto, faça as seguintes perguntas: 1) As entidades externas representam realmente a origem e o destino dos dados recebidos e gerados pelo sistema? · Se alguma entidade externa for uma mera repassadora dos dados, substitua-a pela verdadeira origem ou destino destes dados. 2) Existem fluxos de dados entre entidades externas? · Caso existam, elimine-os. Fluxos de dados 3) Os nomes dos fluxos de dados representam claramente o seu conteúdo? · Se for o caso, dê novos nomes a eles. 4) Os nomes dos fluxos de dados são substantivos? · Verbos são nomes de funções, não de fluxos de dados. 5) Existem fluxo de dados associados a erros exceções no diagrama de contexto? · Diagramas de contexto não devem presentar fluxos de dados relativos a erros e exceções. Elimine-os. Listas de eventos Para verificar a qualidade da lista de eventos, pergunte: 1) Os nomes dos eventos externos estão no formato correto? · Eventos externos indicam fatos ou acontecimentos ocorridos fora do sistema. 2) Os nomes dos eventos temporais começam com a expressão É hora de ...? · Se não estão, reveja os nomes dados. 3) Os nomes dos estímulos e respostas são substantivos e indicam os dados recebidos ou gerados pelo sistema? · Se não, dê novos nomes a eles. Eventos 4) Todos os eventos externos possuem um estímulo correspondente? · Se não, identifique o estímulo correspondente. 5) Algum evento temporal está vinculado a um estímulo? · Eventos temporais não têm estímulo. 6) Todos os estímulos e todas as respostas aparecem no diagrama de contexto como fluxos de dados? · Compatibilize a lista de eventos com o diagrama de contexto. Lista de funções essenciais A lista de funções essenciais deve ter sua qualidade verificada de acordo com a seguinte relação de perguntas: 1) As funções essenciais representam a resposta completa que o sistema dá a ocorrência do evento? · Dê a cada função um nome adequado, representando o que o sistema faz quanto o evento ocorre. 2) Os nomes das funções essenciais iniciam por um verbo de ação no infinitivo? · As funções indicam ações executadas pelo sistema. Se for o caso, renomeie as funções. Lembre-se de que a lista de funções essenciais é baseada na lista de eventos. Portanto, as perguntas relativas à lista de eventos também se aplicam à lista das funções essenciais. Depósitos de dados Para verificar a lista de depósitos de dados, pergunte: 1) Cada depósito de dados representa um conjunto de informações que devem ser armazenadas entre a execução de funções essenciais? · Procure nomes que representam conjuntos de informações afins. 2) Os nomes dos depósitos são substantivos que indicam a natureza dos dados armazenados? · Somente os nomes das funções iniciam por verbos. 3) Os depósitos estão vinculados às funções que armazenam dados neles? · Verifique. Inspecionando os Depósitos X Verifique V Veja se há algo faltando V E complete 4) Os depósitos de dados estão vinculados às funções que fazem uso dos dados neles contidos? · Verifique e complete. 5) Cada depósito de dados tem pelo menos uma função que armazena dados nele? · Deve existir pelo menos uma função que armazena dados em cada depósito. 6) Cada depósito de dados tem pelo menos uma função que usa os dados nele armazenados? · Para que serve um depósito de dados se nenhuma função faz uso dos dados nele contidos? Agrupamento de funções A lista de funções a seguir pode ser usada para verificar o agrupamento das funções essenciais em funções macro. 1) As funções agrupadas em uma mesma função macro são de fato afins e têm um objetivo comum? · Se não, reveja o agrupamento. 2) As funções agrupadas em uma mesma função macro lidam com os mesmos conjuntos de dados? · Se for o caso, reveja o agrupamento. 3) Os nomes das funções macro obedecem ao padrão de iniciar por um verbo no infinitivo? · Reveja o nome da função. 4) As funções macro contêm no máximo nove funções essenciais? · Se necessário, divida em mais funções macro. 5) Todas as funções essenciais estão incluídas no agrupamento realizado? · Complete o agrupamento feito. Diagrama de funções macro As perguntas seguintes têm como objetivo verificar a correção do diagrama de funções macro: 1) Todas as funções macro constantes do agrupamento realizado estão representadas no diagrama? · Se necessário, acrescente. 2) Todos os estímulos e respostas estão representados no diagrama de funções macro? · Se não estão, acrescente. Funções macro 3) A ligação entre as funções macro se dá exclusivamente através de depósitos de dados? · Verifique se não está faltando algum depósito de dados. 4) Os fluxos de dados de entrada e de saída são os mesmos que constam do diagrama de contexto? · Compatibilize os dois diagrama. 5) Foram excluídos do diagrama todos os fluxos de dados referentes a erros e exceções? · Se existirem fluxos de erros e exceções, exclua-os. Diagrama de funções essenciais Veja agora as perguntas que você deve usar para verificar a qualidade dos diagramas de funções essenciais: 1) Existe um diagrama para cada função macro? · Se não, desenhe os diagramas que faltam. 2) Todas as funções essenciais subordinadas à função macro estão representadas no diagrama? · Se necessário, acrescente. 3) Todos os estímulos e respostas das funções essenciais estão representados no diagrama? · Se não estão, acrescente. Funções essenciais 4) A ligação entre as funções essenciais se dá exclusivamente através de depósitos de dados? · Verifique se não está faltando algum depósito de dados. 5) Os fluxos de dados de entrada e de saída são os mesmos que constam do diagrama de funções macro? · Compatibilize os diagramas. 6) Foram excluídos do diagrama todos os fluxos de dados referentes a erros e exceções? · Se existirem fluxos de erros e exceções, exclua-os. Diagrama de decomposição Finalmente, para verificar os diagramas de decomposição, pergunte: 1) Foram incluídas funções que validam e verificam os dados de entrada, eventualmente gerando respostas que indicam a ocorrência de um erro? · Os diagramas de decomposição devem incluir funções de verificação e validação dos dados. 2) Foram incluídas funções para gerar os fluxos de dados relativos a respostas? · Inclua estas funções, se necessário. 3) Foram incluídas funções que atualizam os depósitos de dados? · Se necessário, acrescente estas funções. 4) Todos os depósitos de dados acessados pela função essencial que está sendo decomposta constam do diagrama de decomposição correspondente? · Se necessário, inclua os depósitos e as funções necessárias para atualizá-los ou obter dados deles. 5) Foram compatibilizados os diagramasde decomposição com os diagramas de níveis superiores? · Compatibilize.
Compartilhar