Análise Estruturada e
Dicionário de Dados
Modelagem de Software
PROFA. MSC. CINTIA CARVALHO OLIVEIRA
DOUTORANDA EM CIÊNCIA DA COMPUTAÇÃO – UFU
MESTRE EM CIÊNCIA DA COMPUTAÇÃO – UFU
BACHAREL EM CIÊNCIA DA COMPUTAÇÃO - UFJF
Análise estruturada
Proposta a partir de 1975 por vários autores (Constantine, Tom
DeMarco, Yourdon, Gane & Sarson)
Caiu em desuso com os modelos orientados a objetos
Entretanto...
◦ Ainda é usada em novos sistemas
◦ Existe muita documentação em sistemas legados
Ferramentas principais
Diagrama de Fluxo de Dados
Dicionário de dados
Linguagem estruturada
Tabelas de Decisão
Diagrama Entidade-Relacionamento
Diagrama de Fluxo de Dados
Modelo lógico do software
◦ Independente de hardware, software, estrutura de dados...
Pode ser particionado em diversos níveis de abstração (Contexto ou
nível 0, nível 1, ...)
4 elementos básicos
◦ Entidade externa (origem/destino)
◦ Processo
◦ Depósito de dados
◦ Fluxo de dados
Entidade Externa
Define a origem ou o destino dos dados
Normalmente é uma pessoa ou grupo de pessoas, uma organização, ou parte dela, um
hardware ou software
Produz e recebe informação
Como descobrir entidades externas ?
No mínimo temos duas : quem usa o sistema (cliente) e quem opera o sistema
(departamento A)
Processo
Transforma dados
Pode representar um software, vários software, um módulo, ...
Geralmente provoca mudança de estado, estrutura ou conteúdo
A numeração não indica sequência de ações
Geralmente são verbos na especificação
Dica : Para descobrir um processo relate os requisitos do
sistema. (Cadastrar Cliente, Efetuar Login, etc.)
Depósito de dados
Pode ser um arquivo, uma tabela, ou parte de um banco de dados
Independente de unidade de armazenamento
Pode receber o nome do fluxo de dados
Normalmente está no plural
Fluxo de Dados
Insere e retira dados de processos, depósitos de dados e entidades externas
Deve ter um nome único
Deve ser descrito no dicionário de dados
DFD de Contexto
DFD de nível mais alto (DFD de nível 0)
Apresenta a visão das principais funções do sistema
Apresenta uma visão clara do produto com todos os macro-processos, com entidades
externas, fluxo de dados e depósito de dados principais.
Sistema de vendas de CDs via Web –
Diagrama de Contexto
Níveis de DFD
Seguem DFD's de nível 1, 2, ...
A quantidade de níveis depende da complexidade do software
Quantos níveis são necessários?
◦ O suficiente :)
D.F.D nivel 1 - É uma expansão do nível zero com mais detalhes e mais completo incluindo o
tratamento de exceções.
Explosão de DFD’s
Uma vez identificadas as funções principais, pode-se explodir cada função para níveis mais
detalhados
A explosão é uma decomposição hierárquica
Elaboração de um DFD
Identificar e descrever os requisitos funcionais;
Identificar entidades externas(EE);
Associar o fluxo de dados que as entidades enviam, consomem ou recebem;
Identificar consultas
Desenhar o primeiro DFD:
◦
◦
◦
◦
◦
◦
Iniciar no canto esquerdo com a entidade externa principal;
procurar deixar todas as entidades externas nos cantos;
na esquerda as EE de Origem e na direita as EE de Destino;
desenhe fluxos que surgem, processo e depósitos de dados;
verificar se todas as entradas e saídas foram incluídas;
associar manutenções aos depósitos de dados;
Explodir ou derivar processos complexos em níveis inferiores.
Sistema de controle
acadêmico
Entidade externa (Usuários/outros sistemas)
◦ Professor, aluno, secretaria, BD_Cadastro (do sistema de Cadastro da Universidade)
Processos (Principais serviços)
◦ Controlar matrícula, Emitir lista da classe, Atualizar nota e freq, Classificar alunos
Fluxos de Dados
◦ Dados de Entrada: Disciplinas oferecidas, Inf. Matrícula aluno, Código da disciplina, Boletim da classe,
nº de alunos desejados no relatório.
◦ Dados de entrada vindos de outro sistema: Inf. Disciplinas cadastradas, Inf. Alunos cadastrados
◦ Dados de Saídas (resultados produzidos): Confirmação, Lista de alunos da classe, Relatório dos
classificados
Depósitos de Dados (dados mantidos pelo sistema)
◦ Históricos alunos, Matriculados
Exemplos de DFD’s
Dicionário de dados
Descrição de dados do software
Ajuda a melhorar a comunicação usuário/analista
Usado na base de dados
Significado de fluxos e depósitos de dados
Composição de dados agregados (endereço, identificação, ...)
Dicionário de Dados – Esquema de
Documentação
= é composto de
+ Concatenação
{} n repetição
[ | | | ] escolha de alternativas
() opcional
Ex.: nome = [Sr.| Sra.|Srta.] + família + nome
Dado composto
Outro exempl
Nome = titulo_de_cortesia + (primeiro_nome) + ultimo_nome
Titulo_de_cortesia = [Sr.|Sra.|Dr.| Arq | Eng]
Segundo_nome = 2{caracter}12
Ultimo_nome = {caracter}
Caracter = [A-Z |a-z| -]
Linguagem Estruturada
Notação algoritmica para especificar o comportamento dos processos
Sequência:
◦ fazer, calcular, ler, gravar, ...
Decisão:
◦ se então
◦ se então senão
Repetição:
◦ repetir até
◦ enquanto faça
Diagrama Entidade-Relacionamento
Modela os dados identificados, juntamente com seus atributos e relacionamentos
Foco da disciplina Banco de Dados
Criação de DFD’s a partir de
especificações
Verbos geralmente originam processos
Substantivos são entidades externas, dados ou depósitos de dados
O refinamento deve seguir até o processo realizar uma única função
Exercícios
Crie DFD's de nível 0 e de nível 1 e dicionário de dados para as especificações a seguir.
Individual ou em duplas
O gerente de um hotel deseja um sistema para gerenciar as reservas.
Quando um cliente potencial, acessando através da web, deseja fazer uma
reserva, o sistema verifica se existem quartos disponíveis no período, e
em caso positivo, o sistema solicitará os dados do cliente (nome, email,
endereço, telefone). Os quartos que estivem disponíveis deverão aparecer
com cor verde, e os que estivem já reservados deverão aparecer em
vermelho. O sistema também deve armazenar dados sobre a reserva,
como a data prevista para entrada, a data prevista para saída, e o número
de quartos. Cada quarto possui um preço e uma descrição. Os serviços de
quarto e o frigobar estão associados a cada reserva, uma vez que a reserva
pode ter mais de um quarto. As reservas são garantidas através do
pagamento de uma diária por cartão de crédito. Caso o cliente não efetue
este pagamento até três dias antes da data prevista de entrada, a reserva é
cancelada pelo sistema. São gerados relatórios diários de reservas
canceladas, com o objetivo de liberar quartos disponíveis, além de
relatórios de reservas não pagas e o relatório sobre as reservas a serem
efetivadas no dia. O gerente também deseja que o sistema imprima um
relatório de reservas dado um determinado período.
Os cidadãos podem ter acesso a um site da web e relatar a localização
e gravidade dos buracos. A medida que os buracos são relatados eles
são registrados num sistema de reparo do depto. de obras públicas e
lhes é atribuído um número de identificação armazanado por
endereço da rua, tamanho (1 a 10), localização, e prioridade de
reparo. Dados da OS são associados com cada buraco e incluem a
localização e tamanho do buraco, identificação da equipe de reparo,
número de pessoas na equipe, horas aplicadas no reparo, estado do
buraco (em andamento, reparado, não reparado), custo do reparo.
Um arquivo de danos é criado para conter informação sobre danos
relatados devido ao buraco e incluem nome do cidadão, endereço,
telefone, tipo de dano, quantia em reais de prejuízo causado pelo
dano.
Os requisitos iniciais para módulo de matrícula são dados a seguir:
Para fazer a matrícula em um curso oferecido pela escola, o aluno
solicita informações ao funcionário sobre quais cursos a empresa
oferece. Se o aluno se interessar por algum curso, este pedirá
informações a respeito de quais turmas do curso em questão se
encontram em aberto, qual o horário em que as aulas serão
ministradas, e qual a data prevista para início das aulas. Essas
informações de cursos e turmas já estão cadastradas por um
funcionário. Caso o horário da turma seja compatível com os horários
do aluno, este realizará a matrícula em uma turma relativa ao curso em
que se interessou. Caso o aluno nunca tenha feito nenhum curso na
escola e portanto não esteja cadastrado, o aluno deverá ser registrado
antes de realizar a matrícula. Após a matrícula, é necessário gerar um
comprovante de matrículas para o aluno. A qualquer momento o
funcionário pode gerar relatórios de turmas.
Leitura Complementar
http://www.macoratti.net/vb_dfd1.htm
http://www.macoratti.net/13/08/net_dfd2.htm
Download

Distribuição de Notas - Profa. Cintia Oliveira