Processo de desenvolvimento de sistema de informação Componentes do modelo ambiental Declaração de Objetivos É uma descrição textual concisa do propósito do sistema Lista de Eventos Especificação das atividades (processos) essenciais que o sistema terá Diagrama de Contexto Reflete graficamente a relação do sistema com o meio ambiente onde está inserido
Diagrama de contexto exemplo sistema de venda de livros. Clientes Pedidos de livros Pedidos cancelados Pedido de reimpressão Gráfica Direção Fatura Relatório de vendas Sistema de pedido de livros fatura Situação do crédito livros Crédito Situação do crédito Departamento Contabilidade
Modelo Comportamental O modelo comportamental descreve as ações que o sistema deve realizar para responder da melhor forma aos eventos definidos no modelo ambiental. Modelagem da parte interior do sistema. Técnicas utilizadas: Diagrama de Fluxos de Dados (DFD) Dicionário de Dados (DD) Diagrama de Entidades e Associações (ou Relacionamentos) (DEA ou DER) Especificação de Processos (EP) - (DESENHO) Diagrama de Transição de Estados (DTE)
Diagrama de fluxo de dados (DFD) Um DFD é um modelo que permite representar o sistema como uma rede de processos, salientando as funções que precisam ser implementadas e os fluxos dados manipulados por estas funções. Desenvolvimento do DFD inicial: É desenhado um processo para cada evento da lista de eventos São desenhadas entradas e saídas para os processos, e os depósitos para comunicação entre os processos É desenvolvido o diagrama ER em paralelo ao dicionário de dados inicial. Um DFD contém: Processos Fluxos de dados Depósitos de dados Entidades externas com que o sistema interage
DFD - Exemplo Exemplo de DFD Explosão do Processo Sistema pedido de livros O DFD é composto por processos, depósitos de dados, fluxos de dados e entidades externas. entidade externa ou terminador depósito de dados processo Clientes fluxos de dados DFD nível 0 pedido Pedido inválido 1. Receber pedido fatura Detalhes da fatura, nome do cliente 3. Recolher pagamentos Detalhes de pedido pedidos Detalhes de cliente clientes fatura pagamentos 2. Entregar livros 4. Registar cliente Clientes Dados -livros Guia de remessa Armazém
DFD Diretrizes para elaboração Diretrizes para a elaboração de DFD 1. Escolher nomes significativos para os processos, fluxos, depósitos e terminadores. 2. Numerar os processos. 3. Refazer o DFD tantas vezes quantas forem necessárias até obter uma boa estética. 4. Evitar DFD complexos demais. 5. Certificar-se de que o DFD seja internamente consistente além de manter a consistência com os outros DFD. 6. O DFD deve ser modelado em uma série de níveis de modo que a cada nível ofereça sucessivamente mais detalhes sobre uma parte do nível que lhe seja superior.
DFD Diretrizes para elaboração O DFD deve ser modelado em uma série de níveis de modo que a cada nível ofereça sucessivamente mais detalhes sobre uma parte do nível que lhe seja superior. O DFD de nível mais alto consiste de uma única bolha, representando o sistema inteiro; os fluxos de dados mostram as interfaces entre o sistema e os terminadores externos. Esse DFD especial é conhecido como diagrama de contexto. O DFD imediatamente abaixo do diagrama de contexto é conhecido como figura 0. Ele representa a visão de mais alto nível das principais funções do sistema bem como as principais interfaces entre essas funções. Cada uma dessas bolhas deve ser numerada para mais fácil identificação. Os números também servem como um meio prático de se relacionar uma bolha com o DFD de nível imediatamente inferior que descreve essa bolha de modo mais completo.
. DFD Diretrizes para elaboração
DFD Diretrizes para elaboração Como saber quantos níveis deve ter um DFD? Todas as partes do sistema devem ser subdivididas até o mesmo nível de detalhamento? Como se mostram esses níveis para o usuário? Como realmente se faz a subdivisão dos DFD em níveis?
DFD Diretrizes para elaboração Como garantir que os níveis dos DFD sejam consistentes entre si? DFD Equilibrado DFD - Desequilibrado
DFD: Processo Regras para construir DFD s Função, transformação Transforma entradas em saídas Nome: numeração + verbo + objeto Exemplos: 1. Calcular Juros 3. Recolher pagamentos
Regras para construir DFD s DFD: Fluxo (1) Usado para descrever movimento de informação de um componente do sistema para outro Exemplos: Valor X Valor Y Valor Z 2. Calcular média média Nºtelefone 3. Validar Número Nº válido Nº inválido
DFD: Fluxo (2) Regras para construir DFD s Fluxo de diálogo Gerir Informação formulário formulário preenchido Preencher formulário Fluxo divergente Gerar relatórios Validar pedidos Detalhes de pedido Gerar fatura
Regras para construir DFD s DFD:Depósito de Dados Ficheiros, arquivo, bases de dados CD s microfichas, microfilme Um fluxo para um depósito: atualizar, gravar, remover Registrar cliente detalhes clientes Gerar relatórios DFD: Entidades Externas Estão fora do sistema O analista não está em posição de mudar o conteúdo das entidades Os fluxos conectando a entidade aos processos representam a interface entre o sistema e o ambiente
Frequencia 14-05-12 Adrielly, luana, acabias, matias, luan, danilo, gustavo, guilherme, antonio, felipe bizi, arthur, paulo cesar, rodrigo
Construção de DFD Preliminar 1. Um processo (ou +) um evento da lista de eventos. 2. O nome do processo deve estar de acordo com a resposta que o sistema deve dar ao evento. 3. Definir fluxos de dados de entrada e saída. O processo deve ser capaz de produzir a resposta correta. 4. Usar os depósitos de dados necessários para guardar a informação que será depois usada por outros processos. 5. Verificar a coerência entre este DFD e o diagrama de contexto.
Observações: Construção de DFD Preliminar 1. Um evento pode causar várias respostas Definir um processo por resposta (se forem independentes) Exemplo: pedido de cliente Produzir fatura fatura Emitir confirmação pedido pedido confirmado
Construção de DFD Preliminar 2. Vários eventos podem causar a mesma resposta. Definir um só processo Exemplo: Pagamento p/ cartão de crédito Pagamento p/ dinheiro Produzir guia de remessa guia de remessa
Construção de DFD Preliminar 3. Agrupamento de processos: Formar níveis de maior abstração. cada agrupamento de processos deve envolver respostas (processos) relacionadas. Isto significa que tais processos se relacionam por função ou pelos mesmos dados
Construção de DFD Preliminar Erros comuns buracos negros geração espontânea fluxos e processos sem nome depósitos write-only ou read-only
Processo de desenvolvimento de sistema de informação Dicionário de Dados Descreve o significado dos fluxos de dados e dos depósitos de dados Descreve a composição de dados agregados. Ex.: telefone identificar registros dos depósitos de dados descrever a composição dos dados Exemplo número de telefone = [extensão local número externo] extensão local = [2001 2002... 2999] número externo = 0 + [número interurb. número local] número interurb. = DDD + número local DDD = 0 + código da cidade número local = prefixo + {dígito} * 4
Processo de desenvolvimento de sistema de informação Dicionário de Dados Notação = é composto por + e ( ) opcional { } repetição * número de repetições [ ] seleção entre alternativas separador de alternativas
Processo de desenvolvimento de sistema de informação Exemplo: Dicionário de Dados controle de estoque dados da compra = {código do item + quantidade comprada} código do item = número /** faixa de 0 a 1000 **/ quantidade = número + unidade unidade = [ un kg l m m2 m3 ] ordem de compra = {código do item + quantidade} requisição = código do item + quantidade resposta = [ liberado indisponível] estoque = {dados do material } dados do material =código do item + descrição + quantidade hora = HH:MM:SS movimento = código do item + quantidade relatório = { tipo movimento + código do item + quantidade } tipo movimento = [ENTRADA SAÍDA]
Atenção ao observado em sala...
Referencia de notas de aula: Engenharia Software: Profa. Dra. Lúcia V. L. Filgueiras, Profa. Dra. Selma Shin Shimizu Melnikoff Análise estruturadas: Prof. João Araújo Desenvolvimento de sistemas de informação: Lopes, Filomena Castro; Morais, Mª Paula; Carvalho, Armando J., Ed. FCA, 2009 Engenharia de Software: Sommerville, Ian; Pearson, 10º edição, 2011.
Nivelação DFD Quantos níveis? Sistemas simples: 2 a 3 níveis Sistemas de médio porte : 3 a 6 níveis Sistemas de grande porte : 5 a 8 níveis Todas as partes do sistema devem ter o mesmo nível de detalhe? Não: algumas partes do sistema podem ser mais complexas que outras Como mostrar os diferentes níveis ao utilizador? Depende do tipo de utilizador Executivos olham pro diagrama de contexto ou DFD de nível 0 Operadores olham apenas pra parte do sistema que lhe diz respeito Como saber se os níveis de DFDs estão consistentes entre si? Fluxos de dados de entrada e saída de um nível devem corresponder aos fluxos de dados de entrada e saída do nível mais abaixo que descreve aquele processo Como mostrar os depósitos de dados nos vários níveis? Mostrar o depósito no nível mais alto onde ele serve como interface entre processos Mostrar o depósito outra vez em todo o DFD de nível mais baixo que está envolvido na interface Como se faz a nivelação de fato? O desenvolvimento do DFD não é necessariamente top-down Abordagem mista: top-down + bottom-up Utilizar a lista de eventos para criar a 1ª versão do DFD: Pode ser utilizada para criar DFDs de nível mais alto Pode ser utilizada para criar DFDs de nível mais baixo
Exercício 1 Utilizar as ferramentas para modelagem de sistema (DFD, dicionário de dados) para descrever um sistema que: Seja capaz de controlar vagas de emprego de uma Empresa. O Administrador do sistema poderá Adicionar, Alterar, Fechar Vagas. Para isso deverá fazer login no sistema. Outra opção do Administrador é alterar os próprios dados Cadastrais. Os candidatos poderão acessar a página da empresa na Internet, pesquisar vagas e candidatar-se a uma delas. Objetivos específicos Essenciais: Adm Adiciona Vaga Adm Altera Vaga Adm Fechar Vaga Adm Efetua Login Adm Atualiza Cadastro Candidato Busca Vaga Candidato se oferece para vaga Elabore o diagrama de contexto, DFD em duas figuras.
Exercício - 2 O Departamento de Obras Públicas de uma grande cidade decidiu desenvolver um sistema informatizado para identificação e reparo dos buracos da cidade (InfoBuraco). À medida que os buracos são comunicados, recebem um número de identificação e são armazenados por endereço, tamanho (escala relativa de 1 a 100), localização (meio-fio, centro), distrito (a partir do endereço) e prioridade de conserto (a partir do tamanho do buraco). Ordens de serviço são associadas a cada buraco e incluem endereço, número da turma escalada, número de pessoas na turma de conserto, equipamentos, tempo de reparo, quantidade de material utilizado, e custo do conserto. Um outro arquivo armazena informações de danos causados pelo buraco: nome do cidadão,endereço, tipo do dano e valor da indenização. O sistema é on-line. (Ref. Pressman 7.13)
Exercício - 3 Faça o Diagrama de Contexto, o DFD nível 0 e os DFDs de níveis mais detalhados (quando necessários), para os requisitos abaixo: O orçamento da Cia. W é controlado da seguinte maneira: a partir de uma proposta orçamentária das filiais, e uma vez que todas as tenham entregue, é feita uma consolidação, em nível nacional, que servirá de base para que os técnicos de orçamento possam estabelecer as despesas a serem consumidas. Novas consolidações são feitas, até que se conclua que o orçamento está fechado. Os tetos assim fixados são enviados então às filiais. Estas poderão fazer revisões de forma a adequar seu orçamento à nova realidade. A cada mês, as filiais terão que informar o realizado no período para que se possa efetuar o acompanhamento, que é encaminhado aos técnicos para análise. (Ref. Nota aula: Waldo Luis de Lucca)
Exercício - 4 Faça o Diagrama de Contexto, o DFD nível 0 e os DFDs de níveis mais detalhados (quando necessários), para os componentes de um sistema de informações que permitem aos usuários visualizarem as informações sobre pousos e decolagens de voos de um determinado aeroporto. (Ref. Adaptado de Sommerville 13.5)
Grupos: 1 ericsson, lucas,luciano,felipe biazi,arthur exercicio - 1 2 adrielly, luana,acabias, Exercicio 3 3 danilo,mathias, luan, wallas, Exercicio-4 4 gustavo, guilherme, rodrigo,vitor Exercicio-2