componentes do modelo ambiental -...
TRANSCRIPT
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 – exemplosistema de venda de livros
.
Sistema de pedido de
livros
Clientes Gráfica
DireçãoDepartamento Contabilidade
Crédito
Pedidos de livrosPedidos cancelados
Fatura
Pedido de reimpressão
livros
Situação do crédito
Situação do crédito
fatura
Relatório de vendas
Modelo ComportamentalO modelo comportamental descreve as ações que o sistema
deve realizar para responder da melhor forma aos eventosdefinidos 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 sistemacomo uma rede de processos, salientando as funçõesque precisam ser implementadas e os fluxos dadosmanipulados 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 - ExemploExemplo 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.
Clientes
1.
Receber
pedido
3.
Recolher
pagamentos
entidade externa ou terminador
processodepósito de dados
fluxos de dados
Armazém
Clientes
pedido
Pedido
inválido
fatura
Detalhes da fatura,
nome do cliente
pedidos
Detalhes de
pedido
2.
Entregar
livros
Dados
-livros
Guia de
remessa
clientes
Detalhes de
cliente
pagamentos
fatura
4.
Registar
cliente
DFD nível 0
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íveisde modo que a cada nível ofereçasucessivamente mais detalhes sobre uma partedo 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 mostramas interfaces entre o sistema e os terminadores externos. EsseDFD 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 altonível das principais funções do sistema bem como asprincipais interfaces entre essas funções. Cada uma dessasbolhas deve ser numerada para mais fácil identificação.
• Os números também servem como um meio prático de serelacionar uma bolha com o DFD de nível imediatamenteinferior que descreve essa bolha de modo mais completo.
DFD – Diretrizes para elaboração
• Como saber quantos níveis deve ter um DFD ?
• Todas as partes do sistema devem sersubdivididas até o mesmo nível dedetalhamento?
• Como se mostram esses níveis para o usuário?
• Como realmente se faz a subdivisão dos DFDem níveis?
DFD – Diretrizes para elaboração
• Como garantir que os níveis dos DFD sejam consistentes entre si?
DFD – Equilibrado
DFD - Desequilibrado
Regras para construir DFD’s
DFD: Processo• 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:
2.
Calcular
média
Valor X
Valor Y
Valor Z
média 3.
Validar
Número
Nºtelefone
Nº inválido
Nº válido
Regras para construir DFD’s
DFD: Fluxo (2)
• Fluxo de diálogo
• Fluxo divergente
Gerir
Informação
Preencher
formulárioformulário
formulário
preenchido
Validar
pedidos
Gerar
fatura
Gerar
relatórios
Detalhes
de pedido
Regras para construir DFD’sDFD:Depósito de Dados
• Ficheiros, arquivo, bases de dados
• CD’s microfichas, microfilme
• Um fluxo para um depósito: atualizar, gravar, remover
Gerar
relatórios
Registrar
clienteclientesdetalhes
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 aresposta que o sistema deve dar ao evento.
3. Definir fluxos de dados de entrada e saída. O processodeve ser capaz de produzir a resposta correta.
4. Usar os depósitos de dados necessários para guardar ainformação que será depois usada por outros processos.
5. Verificar a coerência entre este DFD e o diagrama decontexto.
Observações:
1. Um evento pode causar várias respostas
Definir um processo por resposta (se forem independentes)
pedidode cliente
Produzirfatura
fatura
Emitirconfirmação
pedido
pedido confirmado
Exemplo:
Construção de DFD Preliminar
2. Vários eventos podem causar a mesma resposta.
Definir um só processo
Exemplo:
Produzirguia deremessa
Pagamento p/ cartãode crédito
Pagamento p/dinheiro
guia de remessa
Construção de DFD Preliminar
3. Agrupamento de processos:
• Formar níveis de maior abstração.
• cada agrupamento de processos deveenvolver respostas (processos)relacionadas. Isto significa que taisprocessos se relacionam por função oupelos mesmos dados
Construção de DFD Preliminar
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 DadosNotaçã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]
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 dedados) para descrever um sistema que:
Seja capaz de controlar vagas de emprego de uma Empresa. OAdministrador do sistema poderá Adicionar, Alterar, Fechar Vagas. Paraisso deverá fazer login no sistema. Outra opção do Administrador éalterar os próprios dados Cadastrais. Os candidatos poderão acessar apágina da empresa na Internet, pesquisar vagas e candidatar-se a umadelas.
• 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 vagaElabore o diagrama de contexto, DFD em duas figuras.
Exercício - 2
O Departamento de Obras Públicas de uma grande cidadedecidiu desenvolver um sistema informatizado paraidentificação e reparo dos buracos da cidade(InfoBuraco). À medida que os buracos sãocomunicados, recebem um número de identificação esão armazenados por endereço, tamanho (escalarelativa 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ãoassociadas a cada buraco e incluem endereço, númeroda turma escalada, número de pessoas na turma deconserto, equipamentos, tempo de reparo, quantidadede material utilizado, e custo do conserto. Um outroarquivo armazena informações de danos causados peloburaco: nome do cidadão,endereço, tipo do dano e valorda 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 deníveis mais detalhados (quando necessários), para osrequisitos abaixo:O orçamento da Cia. W é controlado da seguinte maneira:a partir de uma proposta orçamentária das filiais, e umavez que todas as tenham entregue, é feita umaconsolidação, em nível nacional, que servirá de base paraque os técnicos de orçamento possam estabelecer asdespesas a serem consumidas. Novas consolidações sãofeitas, até que se conclua que o orçamento está fechado.Os tetos assim fixados são enviados então às filiais. Estaspoderão fazer revisões de forma a adequar seu orçamentoà nova realidade. A cada mês, as filiais terão que informaro realizado no período para que se possa efetuar oacompanhamento, que é encaminhado aos técnicos paraanálise.
(Ref. Nota aula: Waldo Luis de Lucca)
Exercício - 4
Faça o Diagrama de Contexto, o DFD nível 0 e osDFDs de níveis mais detalhados (quandonecessários), para os componentes de umsistema de informações que permitem aosusuários visualizarem as informações sobrepousos e decolagens de voos de umdeterminado aeroporto.
(Ref. Adaptado de Sommerville 13.5)