Baixe o app para aproveitar ainda mais
Prévia do material em texto
Profª. M.Sc. Larissa Luz Gomes lariluz@yahoo.com.br Aula 5 – Diagramas Estruturados Engenharia de Software Agenda Diagrama de Fluxo de Dados Diagrama de Contexto Lista de Eventos Dicionário de Dados Diagrama de Fluxo de Dados (DFD) Diagrama de Fluxo de Dados - DFD • É utilizado para a representação lógica de processos. • O objetivo é descrever graficamente, o que acontece, sem se preocupar em como e quando tais coisas acontecem. • Pode ser empregado para comunicação com pessoal técnico ou não técnico, já que a representação gráfica é de fácil entendimento. • O seu uso não depende de hardware, software, estrutura de dados ou organizações de arquivos. • O DFD permite que se organize informações colhidas nas entrevistas acerca do sistema que se desenvolverá. • Possibilita a visão global do sistema e seu desmembramento a níveis mais detalhados. • O DFD às vezes também é chamado de DIAGRAMA DE BOLHAS. Diagrama de Fluxo de Dados - DFD Notação Gráfica de um DFD Notação Gráfica de um DFD Notação Gráfica de um DFD Notação Gráfica de um DFD Exemplo A entidade externa é sempre um elemento ativo. Ela aciona processos, mediante o envio de estímulos (fluxos de dados ou fluxo de controle). cliente envia um fluxo de dados acionando o processo cadastrar pedidos o qual, utiliza o cadcliente e cadlivro em operações de input cadpedido para operações de i-o • Para obter um bom desenho global do DFD, procure seguir algumas normas que são observadas como um consenso no desenho do mesmo: • O sentido do desenho é sempre de cima para baixo, da esquerda para a direita. • As entidades externas, tanto quanto possível, devem aparecer nas bordas do desenho Diagrama de Fluxo de Dados - DFD • Evite erros grosseiros, conforme definido abaixo: • Jamais um fluxo de dados parte de um depósito e vai para outro depósito sem a intermediação de um processo. • Um fluxo de dados nunca parte de uma entidade externa diretamente para o depósito; sempre há um processo intermediando. • Também não é possível um fluxo partir de uma entidade externa diretamente para outra entidade externa. • Igualmente, um fluxo jamais parte de um depósito diretamente para uma entidade, sempre há a intermediação de um processo. Diagrama de Fluxo de Dados - DFD • O Digrama de Fluxo de Dado (DFD) é utilizado para a representação lógica de processos; • Ele descreve o que acontece, sem se preocupar em como e quando; • Trata-se uma ferramenta para o modelo funcional do sistema; Diagrama de Fluxo de Dados - DFD • Representação gráfica de fácil entendimento, pode ser utilizada com o pessoal técnico e não técnico; • O DFD permite que se organize informações colhidas em entrevistas a cerca do sistema; • Possibilita a visão global do sistema e seu desmembramento em níveis mais detalhados. Diagrama de Fluxo de Dados - DFD Exemplo de um diagrama de fluxo de dados: Diagrama de Fluxo de Dados - DFD Considerações sobre o DFD • Desenhar DFDs, de preferência, entre cinco e nove processos; • Cada diagrama deve ocupar apenas uma página; • As pessoas que conhecem as funções do sistema devem aprovar o modelo apresentado. • Os fluxo de dados devem ser nomeados consistentemente através de todos os níveis de DFD; • Todos os fluxos de dados dos níveis superiores devem aparecer usados nos níveis inferiores. Considerações Gerais em Relação aos Processos • Evitar associar nomes dos processos a seus executores; • Evitar nomes de processos com verbos genéricos; • Todos os processos devem, de preferência, ser numerados; • Todos os dados devem, de preferência, ser numerados; • Processos devem ter sempre fluxos de dados de entrada e de saída; • Todos os dados de saída de um processo devem ser derivados dos dados de entrada. Diagrama de Fluxo de Contexto(DFC) • O diagrama que representa apenas um sistema e suas interfaces, é denominado Diagrama de Fluxo de Contexto. • Para este diagrama o sistema se apresenta como uma única grande função, cercada pelas entidades externas que com ele interagem. Por intermédio de fluxos de dados; Diagrama de Fluxo de Contexto - DFC Diagrama de Fluxo de Contexto - DFC • De acordo com o visto em anteriormente podemos concluir que: • Um DFD é uma representação de um sistema sob a forma de uma rede que mostra os componentes ativos do sistema e as interfaces de dados entre eles; • Todo sistema pode ser representado como um grande processo, interagindo como o ambiente em que está inserindo; • Todo sistema pode, a partir do Diagrama de Contexto, ser decomposto em diversas funções que se interligam; • Para cada função do sistema, podemos aplicar esse mesmo princípio e decompô-la em funções mais simples, ou seja, sub-funções. • Isto significa que a primeira visão de um sistema é o Diagrama de Fluxo de Contexto Diagrama de Fluxo de Contexto - DFC Como desenhar um DF de Contexto Passo nº1: Desenhar um único processo ou função para representar o sistema inteiro; Passo nº2: Desenhar todas as entidades externas que se comunicam com o sistema; Passo nº3: Para cada entidade externa, desenhar o fluxo de dados que mostra sua comunicação com o sistema. DF de Contexto Lista de Eventos • Cada linha da lista de eventos corresponde a um evento (acontecimento) que de alguma forma estimula (aciona) uma ação (programa) no sistema. • Desta forma, a lista de eventos é apresentada sob a forma de uma tabela que mostra não apenas os eventos, mas também os estímulos, ações e respostas correspondentes. DFC e Lista de Eventos DFC e Lista de Eventos DFC e Lista de Eventos • Primeira coluna: é apenas para identificação dos eventos enumerando-os de forma crescente. • Segunda coluna: temos a atribuição de um nome para o evento – acontecimento externo ao sistema, ou qua, vai servir de estímulo para acioná-lo. • Quarta coluna: indica-se o tipo de estimulo – Fluxo de Dados(F), um Fluxo Temporal (T) ou Fluxo de Controle (C). DFC e Lista de Eventos • Fluxo de Dados: refere-se ao trânsito de dados propriamente dito. • Fluxo Temporal: estímulo gerado de acordo com certo tempo. • Fluxo de Controle: gerado por algum dispositivo físico de controle, como o movimento de uma catraca ou a introdução de um cartão. DFC e Lista de Eventos • Quinta Coluna: tem-se o nome da ação que será executada pelo sistema, ou seja, o programa(s) que será(ão) acionado(s). Estes programas são os que deverão ser desenvolvidos. • Sexta coluna: especifica um nome para respostas que a ação do sistema dará para o meio externo a ele. Exemplo, um relatório é uma resposta (saída) do sistema que irá para o meio externo dele. DFC e Lista de Eventos Diagrama de Contexto • A lista de eventos, apresentada na forma de tabela, entre eventos pode acontecer algumas situações particulares que terão pesos quando se trata de um sistema em tempo real. • Simultaneidade: ocorrência de um evento é simultânea, ao mesmo tempo que outro. Pode até haver coincidência, como: o término do verão que coincide com o início do outono. Diagrama de Contexto • Precedência: ocorrência de um evento deve necessariamente preceder a ocorrência de outro. Há uma seqüência entre os eventos. Exemplo: O cadastro de um empregado deve preceder o cadastramento de seu respectivo dependente. • Excludência: a ocorrência de um evento deve necessariamente excluir a ocorrência de outro.Há alternância entre os eventos; sempre que um evento ocorrer, outro não terá ocorrido, ou seja, eles se excluem. Exemplo: O cliente é do sexo masculino ou feminino. Diagrama de Contexto • Independência: Não há nenhuma relação de simultaneidade, precedência ou de excludência entre os eventos. Há total sincronismo. Exemplo: o cadastro de clientes independe do cadastro dos fornecedores. Exemplo de um DFD baseado no DFC Exemplo de um DFD Exemplo de um DFD Exemplo de um DFD Exemplo de um DFD Exemplo de um DFD Dicionário de Dados - DD Dicionário de Dados - DD • É uma listagem organizada de todos os elementos de dados pertinentes ao sistema, com definições precisas e rigorosas para que se possa conhecer todas as entradas, saídas, componentes de depósitos e cálculos intermediários. • Sem o DD, tudo o que for modelado poderá ficar incompleto ou inconsistente. Dicionário de Dados - DD • Um dicionário de dados é como um sistema de apoio à especificação do sistema em desenvolvimento, uma vez que todas as definições dos componentes do sistema ali estarão armazenadas; Por que usar um DD? • A razão mais óbvia é a documentação. • Contudo, esta é uma visão simplista de sua necessidade. • Em uma organização, diferentes pessoas ou grupos, poderão definir um elemento de dados específico de modo bastante diferente. Dicionário de Dados (DD) • Proposto como gramática quase formal para descrever o conteúdo de objetos definidos durante a análise estruturada; geralmente implementado como parte de uma "ferramenta de projeto e análise estruturada" CASE Nome: o nome principal do item de dados, do depósito de dados ou de uma entidade externa Alias: outros nomes usados para a primeira entrada Onde é usado / Como é usado: listagem dos processos que usam o item de dados ou controle e como ele é usado. Ex: entrada ao processo, saída do processo, como um depósito de dados, como uma entidade externa Descrição de Conteúdo: notação para representar o conteúdo Informação Complementar: outras informações sobre tipos de dados, valores previamente estabelecidos (se conhecidos), restrições ou limitações Notação para Descrição de Conteúdo • Possibilita a representação de dados compostos numa das 3 formas fundamentais em que eles podem ser construídos: 1- Como uma seqüência de itens de dados 2- Como uma seleção dentre um conjunto de itens de dados 3- Como um agrupamento repetido de itens de dados • Cada entrada de item de dados que é representada como parte de uma seqüência, seleção ou repetição pode, em si mesma, ser outro item de dados composto que precisa de refinamento adicional dentro do dicionário. Notação para Descrição de Conteúdo CONSTRUÇÃO DE DADOS NOTAÇÃO SIGNIFICADO = é composto de Sequência + e Seleção [ | ] ou ... ou Repetição { }n n repetições de ( ) dados opcionais * * delimita comentários Prof. Marcelo Turine - UNIC 46 Exemplo: item de dado NRO TELEFÔNICO nome número telefônico alias nenhum onde é usado / como é usado avaliar com o planejamento (saída) discar número telefônico (entrada) descrição número telefônico = [ extensão local | número externo] extensão local = [2001 | 2002 | ... | 2999] número externo = 9 + [número local | número de longa distância] número local = prefixo + número de acesso número de longa distância = (1) + código de área + número local prefixo = [795 | 799 | 874 | 877] número de acesso = *qualquer série de quatro números* Descrição de Conteúdo • é ampliada : – (1) até que todos os itens de dados compostos tenham sido representados como itens elementares ou – (2) até que todos os itens compostos sejam representados em termos conhecidos e inequívocos Dicionário de Dados • Observa-se, portanto, as implicações amplas de um dicionário de dados no desenvolvimento de sistemas. • Se todos os desenvolvedores envolvidos em um sistema, tiverem que utilizar descrições de dados a partir de um dicionário comum, vários problemas potencialmente graves poderão ser evitados. Dicionário de Dados - CUIDADOS • Para qualquer dado procure sempre definir : • um nome de identificação • pseudônimos • tipo de conteúdo (numérico, alfanumérico, inteiro, data) • tamanho máximo • formatação • domínio (restrições de atributo – ex. de 1 até 9) • restrições de relacionamentos Dicionário de Dados • O DD define os elementos de dados da seguinte maneira: • o significado dos fluxos e depósitos mostrados nos DFD’s; • a composição de pacotes agregados de dados que se movimentam pelos fluxos; • a composição dos pacotes de dados nos depósitos; • os valores e unidades de partes elementares de informações dos fluxos e dos depósitos; • detalhes dos relacionamentos entre os depósitos realçados em um DER. Exemplo: SAFEHOME Processamento Narrativo (safehome) Software possibilita que o dono da casa: – configure o sistema de segurança quando ele for instalado – monitore todos os sensores ligados ao sistema de segurança – interaja com o sistema através de um teclado e teclas de função contidas no painel de controle 53 Safehome (painel de controle) Durante a instalação, o painel de controle é usado para programar e configurar o sistema. Processamento Narrativo (safehome) Quando o evento, sensor é reconhecido, o software invoca um alarme; Depois de um tempo de espera que é especificado pelo dono da casa durante a configuração do sistema, o software disca um nº de telefone de um serviço de monitoramento, produz informação sobre a localização e relata a natureza do evento que foi detectado. O nº será discado novamente a cada 20 segundos até que a conexão de telefone é obtida; Toda interação com o SafeHome é gerenciada por um subsistema de interação-usuário que lê a entrada produzida pelo teclado ou teclas de função, edita mensagens de pronto e status do sistema sobre um LCD. Processamento Narrativo (safehome) DER - Safehome • “coisas” relevantes no sistema: – dono da casa; – painel de controle; – sensores; – sistema de segurança; – serviço de monitoramento; relações são exploradas entre essas “coisas”; uma vez que as relações são definidas, um ou mais pares de objeto- relacionamento são identificados para cada relação; • Relação entre sensor e sistema de segurança (pares objeto- relacionamento): – sistema de segurança monitora sensor – sistema de segurança habilita/desabilita sensor – sistema de segurança testa sensor – sistema de segurança programa sensor dono da casa painel de controle sensor sistema de segurança serviço de monitoramento DER - Safehome • Cada objeto é estudado para determinar seus atributos; – exemplo: atributos do objeto sensor = tipo de sensor, nr de identificação interna, zona de localização e nível de alarme; sensor monitora habilita/desabilit a testa programa sistema de segurança DER - Safehome DFC - Safehome Painel de controle Sensores comandos e dados do usuário status do sensor Software safehome tipo de alarme informações de display nro.telefônico Display do Painel de controle Alarme Linha telefônica Construindo o DFD O Software Safehome possibilita que o dono da casa configure o sistema de segurança quando ele for instalado, monitore todos os sensores ligados ao sistema de segurança e interaja com o sistema através de um tecladoe teclas de função contidas no painel de controle. Durante a instalação, o painel de controle é usado para programar e configurar o sistema. A cada sensor é atribuído um número e tipo, uma senha de gerente para armar e desarmar o sistema, e número(s) de telefone (entrada para discagem quando o evento sensor ocorrer). Construindo o DFD Quando o evento sensor é reconhecido, o software invoca um alarme. Depois de um tempo de espera que é especificado pelo dono da casa durante a configuração do sistema, o software disca um nr de telefone de um serviço de monitoramento, produz informação sobre a localização e relata a natureza do evento que foi detectado. O nr será discado novamente a cada 20 segundos até que a conexão de telefone é obtida. Toda interação com o SafeHome é gerenciada por um subsistema de interação-usuário que lê a entrada produzida pelo teclado ou teclas de função, edita mensagens de pronto e status do sistema sobre o LCD. 62 DFD - Safehome status do sensor Display do painel de controle Alarme Monitorar sensores Ativar/ Desativar o sistema Configurar sistema dados de configuração comandos e dados do usuário Painel de controle Interagir c/ usuário Informação de configuração Processar senha senha solicitação de configuração Sensores Linha telefônica iniciar/parar Emitir mensagens e status dados de configuração a/d msg. mensg. id válida informação do sensor tipo de alarme nr telefônico informações de display Dúvidas e Perguntas Próxima Aula • Exercício Prático sobre DFD e DFC usando a ferramenta Visio.
Compartilhar