30
Análise Estruturada

Análise Estruturada. Análise estruturada Proposta a partir de 1975 por vários autores (Constantine, Tom DeMarco, Yourdon, Gane & Sarson) Caiu em desuso

Embed Size (px)

Citation preview

Page 1: Análise Estruturada. Análise estruturada Proposta a partir de 1975 por vários autores (Constantine, Tom DeMarco, Yourdon, Gane & Sarson) Caiu em desuso

Análise Estruturada

Page 2: Análise Estruturada. Análise estruturada Proposta a partir de 1975 por vários autores (Constantine, Tom DeMarco, Yourdon, Gane & Sarson) Caiu em desuso

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

Page 3: Análise Estruturada. Análise estruturada Proposta a partir de 1975 por vários autores (Constantine, Tom DeMarco, Yourdon, Gane & Sarson) Caiu em desuso

Ferramentas principais

Diagrama de Fluxo de Dados

Dicionário de dados

Linguagem estruturada

Tabelas de Decisão

Diagrama Entidade-Relacionamento

Page 4: Análise Estruturada. Análise estruturada Proposta a partir de 1975 por vários autores (Constantine, Tom DeMarco, Yourdon, Gane & Sarson) Caiu em desuso

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

Page 5: Análise Estruturada. Análise estruturada Proposta a partir de 1975 por vários autores (Constantine, Tom DeMarco, Yourdon, Gane & Sarson) Caiu em desuso

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)

Page 6: Análise Estruturada. Análise estruturada Proposta a partir de 1975 por vários autores (Constantine, Tom DeMarco, Yourdon, Gane & Sarson) Caiu em desuso

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.)

Page 7: Análise Estruturada. Análise estruturada Proposta a partir de 1975 por vários autores (Constantine, Tom DeMarco, Yourdon, Gane & Sarson) Caiu em desuso

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

Page 8: Análise Estruturada. Análise estruturada Proposta a partir de 1975 por vários autores (Constantine, Tom DeMarco, Yourdon, Gane & Sarson) Caiu em desuso

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

Page 9: Análise Estruturada. Análise estruturada Proposta a partir de 1975 por vários autores (Constantine, Tom DeMarco, Yourdon, Gane & Sarson) Caiu em desuso

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.

Page 10: Análise Estruturada. Análise estruturada Proposta a partir de 1975 por vários autores (Constantine, Tom DeMarco, Yourdon, Gane & Sarson) Caiu em desuso

Sistema de vendas de CDs via Web – Diagrama de Contexto

Page 11: Análise Estruturada. Análise estruturada Proposta a partir de 1975 por vários autores (Constantine, Tom DeMarco, Yourdon, Gane & Sarson) Caiu em desuso
Page 12: Análise Estruturada. Análise estruturada Proposta a partir de 1975 por vários autores (Constantine, Tom DeMarco, Yourdon, Gane & Sarson) Caiu em desuso

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.

Page 13: Análise Estruturada. Análise estruturada Proposta a partir de 1975 por vários autores (Constantine, Tom DeMarco, Yourdon, Gane & Sarson) Caiu em desuso

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

Page 14: Análise Estruturada. Análise estruturada Proposta a partir de 1975 por vários autores (Constantine, Tom DeMarco, Yourdon, Gane & Sarson) Caiu em desuso

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.

Page 15: Análise Estruturada. Análise estruturada Proposta a partir de 1975 por vários autores (Constantine, Tom DeMarco, Yourdon, Gane & Sarson) Caiu em desuso

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

Page 16: Análise Estruturada. Análise estruturada Proposta a partir de 1975 por vários autores (Constantine, Tom DeMarco, Yourdon, Gane & Sarson) Caiu em desuso

Exemplos de DFD’s

Page 17: Análise Estruturada. Análise estruturada Proposta a partir de 1975 por vários autores (Constantine, Tom DeMarco, Yourdon, Gane & Sarson) Caiu em desuso
Page 18: Análise Estruturada. Análise estruturada Proposta a partir de 1975 por vários autores (Constantine, Tom DeMarco, Yourdon, Gane & Sarson) Caiu em desuso

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, ...)

Page 19: Análise Estruturada. Análise estruturada Proposta a partir de 1975 por vários autores (Constantine, Tom DeMarco, Yourdon, Gane & Sarson) Caiu em desuso

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

Page 20: Análise Estruturada. Análise estruturada Proposta a partir de 1975 por vários autores (Constantine, Tom DeMarco, Yourdon, Gane & Sarson) Caiu em desuso

Dado composto

Page 21: Análise Estruturada. Análise estruturada Proposta a partir de 1975 por vários autores (Constantine, Tom DeMarco, Yourdon, Gane & Sarson) Caiu em desuso

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| -]

Page 22: Análise Estruturada. Análise estruturada Proposta a partir de 1975 por vários autores (Constantine, Tom DeMarco, Yourdon, Gane & Sarson) Caiu em desuso

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

Page 23: Análise Estruturada. Análise estruturada Proposta a partir de 1975 por vários autores (Constantine, Tom DeMarco, Yourdon, Gane & Sarson) Caiu em desuso
Page 24: Análise Estruturada. Análise estruturada Proposta a partir de 1975 por vários autores (Constantine, Tom DeMarco, Yourdon, Gane & Sarson) Caiu em desuso

Diagrama Entidade-Relacionamento

Modela os dados identificados, juntamente com seus atributos e relacionamentos

Foco da disciplina Banco de Dados

Page 25: Análise Estruturada. Análise estruturada Proposta a partir de 1975 por vários autores (Constantine, Tom DeMarco, Yourdon, Gane & Sarson) Caiu em desuso

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

Page 26: Análise Estruturada. Análise estruturada Proposta a partir de 1975 por vários autores (Constantine, Tom DeMarco, Yourdon, Gane & Sarson) Caiu em desuso

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

Page 27: Análise Estruturada. Análise estruturada Proposta a partir de 1975 por vários autores (Constantine, Tom DeMarco, Yourdon, Gane & Sarson) Caiu em desuso

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.

Page 28: Análise Estruturada. Análise estruturada Proposta a partir de 1975 por vários autores (Constantine, Tom DeMarco, Yourdon, Gane & Sarson) Caiu em desuso

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.

Page 29: Análise Estruturada. Análise estruturada Proposta a partir de 1975 por vários autores (Constantine, Tom DeMarco, Yourdon, Gane & Sarson) Caiu em desuso

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.