View
215
Download
0
Category
Preview:
Citation preview
1
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTECurso Técnico em Informática
ENGENHARIA DE SOFTWARE
Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br
Roteiro
Análise:
- Análise Estruturada:
- Diagrama de Fluxo de Dados (DFD).
- Níveis de Visão de um DFD.
- Especificação de processos: português estruturado.
Análise
Etapa na qual os analistas realizam um estudo
detalhado dos requisitos levantados na atividade
anterior.
Busca obter a melhor solução para o problema
sem se preocupar com os detalhes da tecnologia
a ser utilizada.
A partir desse estudo, são elaborados
modelos para representar o sistema a ser
construído.
Análise
Modelos da análise:
- Facilitam a comunicação entre usuários e desenvolvedores;
- Requer uma intensa comunicação entre as partes envolvidas;
- Os modelos da análise variam de acordo com a técnica
utilizada.
Algumas técnicas:
- Análise estruturada
- Análise essencial
- Análise orientada a objetos
Análise
Análise Estruturada
2
Consiste de um conjunto de técnicas e instrumentos
com o objetivo de auxiliar na análise e definição do
sistema.
Utiliza uma linguagem gráfica e fornece uma visão
particionada do sistema.
É composta pelos seguintes instrumentos:
Análise Estruturada
- Diagrama de Fluxo de Dados - DFD;
- Dicionário de Dados;
- Especificação de Processos.
Análise Estruturada
Diagrama de Fluxo de Dados - DFDs
Definição
- Forma gráfica de mostrar a interdependência das funções que
compõem um sistema.
- Fornece apenas uma visão do sistema, a visão estruturada das
funções, ou seja, o fluxo dos dados.
Componentes:
- Funções
- Fluxos de dados
- Depósitos de dados
- Entidades externas
Representa as funções que o sistema executa.
Pode ser comparada a uma “caixa preta”
- Há ligações de entrada e saída da caixa;
- Conhecem-se os elementos de entrada;
- Conhecem-se os elementos de saída;
- Sabe-se o que a caixa realiza;
- Não se precisa conhecer como ela realiza;
Componentes dos DFDsFunções
Exemplo:
Y=F(X)X Y
Se a função de F(X) for elevar X ao quadrado, então teremos:
Elevar ao quadrado
5 25
Componentes dos DFDsFunções
Outros exemplos:
Cadastrarlivro
Emitirfatura
Cadastrarpedido
Calcularimposto
CadastrarCliente
CalcularMédia
Componentes dos DFDsFunções
3
Componentes dos DFDsFluxo de Dados
São condutos que levam informação de um ponto
do sistema para outro.
Mostram como os dados fluem através do sistema
Apresentam os dados em MOVIMENTO
Nome do fluxo
Nome do fluxo
NomeFluxo
Os fluxos de dados podem ser:
- Externo: entre Entidade Externa e Processo;
- Interno: entre dois Processos;
- De acesso à memória: entre Processo e Depósito;
- De erro ou rejeição: para fora de um Processo
Componentes dos DFDsFluxo de Dados
- Externo: entre Entidade Externa e Processo;
- Interno: entre dois Processos;
Componentes dos DFDsFluxo de Dados
Digitar
notas
Professor
Digitar Notas
Calcular
Média
- De acesso à memória: entre Processo e Depósito;
- De erro ou rejeição: para fora de um Processo
Componentes dos DFDsFluxo de Dados
Digitar
notas
Notas
Calcular
Médias
Cada fluxo deve ter um único nome;
O nome deve identificar os dados transportadospelo fluxo;
Exemplos: Dados-Fatura, Recibo-Pagamento,Dados-Cliente
Componentes dos DFDsFluxo de Dados
Exemplo 1
Digitação do resultado das avaliações
Digitar notas
Nota Nota
Digitada
Componentes dos DFDsFluxo de Dados
4
Exemplo 2
Se acrescentarmos a função CALCULAR MÉDIAS, teríamos o seguinte:
Digitar notas
Nota Nota
DigitadaCalcularMédias
Média
Componentes dos DFDsFluxo de Dados
Utilizado para representar (modelar) o conjunto
de dados armazenados.
Apresenta os dados em termos estáticos (em
repouso).
Nome do depósito
Componentes dos DFDsDepósito de Dados
Exemplo 2 (anterior)
Digitar notas
Nota Nota
DigitadaCalcularMédias
Média
1. É necessário que a função 1 seja executada antes da função 2 ?
2. É necessário que a função 1 seja executada imediatamenteantes da função 2 ?
O que fazer?
Componentes dos DFDsDepósito de Dados
Podemos digitar a nota, guardá-la e posteriormente utilizá-la para calcular amédia:
Digitar notas
NotaCalcularMédias
Média
Notas
Notadigitada
Notadigitada
Componentes dos DFDsDepósito de Dados
Representações do fluxo de dados de acesso ao depósito de dados:
a) Consultar (Ler) b) Incluir (Gravar) c) Modificar d) Excluir
Componentes dos DFDsDepósito de Dados
Elementos externos que enviam e recebem
informações do sistema.
São as fontes ou destinos dos fluxos de dados que
chegam e saem do sistema.
Nome da entidade
Componentes dos DFDsEntidades Externas
5
Exemplo
Digitar notas
Nota CalcularMédias
Média
Notas
Notadigitada
Notadigitada
Professor
Aluno
Componentes dos DFDsEntidades Externas
Níveis de visão dos DFDs
•O DFD de sistemas não triviais é muitocomplexo;
•Para evitar que tudo seja definido em umúnico diagrama (difícil de ser entendido emantido), criam-se DFD's que detalham umprocesso de um nível mais alto;
Níveis de visão dos DFDs
• É o DFD de nível mais alto;
• Dá a visão das principais funções do sistema;
• Contém um processo (representa o sistema), osfluxos externos e as entidades externas;
Níveis de visão dos DFDsDiagrama de Contexto
Níveis de visão dos DFDsDiagrama de Contexto
• É o primeiro detalhamento do diagrama decontexto;
• Contém as macro-funções do sistema;
Níveis de visão dos DFDsDiagrama Nível 0 (Zero)
6
Níveis de visão dos DFDsDiagrama Nível 0 (Zero)
• São os diagramas que mostram a decomposição(detalhamento) de cada processo de nível maisalto;
• A quantidade de níveis depende de fatores comocomplexidade e porte do sistema;
• Em geral, a decomposição deve terminar quandofor possível especificar processo em uma página;
Níveis de visão dos DFDsDiagrama de Nível Intermediário
Níveis de visão dos DFDsDiagrama de Nível Intermediário
Especificação de Processos
Especificação de Processos
Descrição da forma como as funções transformam
os fluxos de dados de entrada em fluxos de dados
de saída.
Não é necessário repetir o que já foi definido nos DFDs e no Dicionário de Dados
Função X
miniespec...LEIA X, Y, ZFAÇA ENQUANTOSE X=Y ENTÃOSENÃO..IMPRIMA...
Fluxo de entrada Fluxo de saída
Especificação de Processos
7
As principais técnicas de especificação:
- Português estruturado
- Pseudocódigo
- Tabela de decisão
- Árvore de decisão
Especificação de Processos
Português estruturado
- Versão adaptada de nosso idioma
- Ênfase em algumas classes gramaticais
- Verbos, adjetivos e advérbios.
- Estruturas de controle existentes em ling. de programação
- (sequências, decisões, repetições,...)
Especificação de Processos
- Busca estabelecer comunicação de alto nível com
o usuário
- Ponto de partida para codificação em linguagem de
programação
Especificação de Processos
40
Emitir resultadofinal
AlunoAlunos
Disciplinas
Avaliações
Dicionário de dados
Alunos = @MAT-ALUNONOME-ALUNO
Disciplinas = @COD-DISCIPLINANOME-DISCIPLINACONTEUDO-DISCIPLINA
Avaliações = @MAT-ALUNO@COD-DISCIPLINAMEDIA-FINAL
Onde o resultado será:
Aprovado se nenhuma disciplina com MEDIA-FINAL menor que 5
Reprovado se mais de 3 disciplinas com MEDIA-FINAL menor que 5
Recuperação se menos de 4 disciplinas com MEDIA-FINAL menor que 5
Especificação de Processos
Emitir resultado final
PARA CADA aluno no arquivo de alunos
Coloque a matrícula, o nome e o endereço do aluno no formulário de aviso
PARA CADA disciplina, cursada pelo aluno, existente no arquivo de avaliações
Obtenha, a partir do arquivo disciplinas, o nome da disciplina
Obtenha, a partir do arquivo de avaliações, a média final do aluno na disciplina
Coloque no formulário de aviso o código, o nome e a média final da disciplina
Calcule o total de disciplinas em que o aluno obteve média final menor do que 5
Caso 1 - nenhuma disciplina com média final menor do que 5
Coloque “APROVADO” no formulário
Caso 2 - mais de três disciplinas com médias finais menores do que 5
Coloque “REPROVADO” no formulário
Caso 3 - menos de quatro disciplinas com médias finais menores do que 5
Coloque “EM RECUPERAÇÃO” no formulário
Especificação de Processos
Emitir resultado final
PARA CADA aluno no arquivo de alunos
Coloque a matrícula, o nome e o endereço do aluno no formulário de aviso
PARA CADA disciplina, cursada pelo aluno, existente no arquivo de avaliações
Obtenha, a partir do arquivo disciplinas, o nome da disciplina
Obtenha, a partir do arquivo de avaliações, a média final do aluno na disciplina
Coloque no formulário de aviso o código, o nome e a média final da disciplina
Calcule o total de disciplinas em que o aluno obteve média final menor do que 5
SE em nenhuma disciplina a média final for menor do que 5
Coloque “APROVADO” no formulário
SENÃO, SE em mais de três disciplinas a média final for menor do que 5
Coloque “REPROVADO” no formulário
SENÃO
Coloque “EM RECUPERAÇÃO” no formulário
Especificação de Processos
8
Na miniespec, devemos descrever também o
seu objetivo.
Emitir resultado final
Objetivo: emitir aviso a ser entregue ao aluno, indicando o desempenho em cada disciplina e o resultado final do período.
Especificação de Processos
Emitir resultado final
Objetivo: emitir aviso a ser entregue ao aluno, indicando o desempenho em cada disciplinae o resultado final do período.
PARA CADA aluno no arquivo de alunos
Coloque a matrícula, o nome e o endereço do aluno no formulário de aviso
PARA CADA disciplina, cursada pelo aluno, existente no arquivo de avaliações
Obtenha, a partir do arquivo disciplinas, o nome da disciplina
Obtenha, a partir do arquivo de avaliações, a média final do aluno na disciplina
Coloque no formulário de aviso o código, o nome e a média final da disciplina
Calcule o total de disciplinas em que o aluno obteve média final menor do que 5
SE em nenhuma disciplina a média final for menor do que 5
Coloque “APROVADO” no formulário
SENÃO, SE em mais de três disciplinas a média final for menor do que 5
Coloque “REPROVADO” no formulário
SENÃO
Coloque “EM RECUPERAÇÃO” no formulário
Especificação de Processos
Em resumo, o Português estruturado consiste em:
- Verbos no modo imperativo
- (obtenha, calcule, imprima ...)
- Termos definidos no Dicionário de dados
- (nome da disciplina, média final, nome do aluno ...)
- Palavras reservadas para descrever a lógica da função
- (PARA CADA, SE/SENÃO, CASO ...)
Especificação de Processos
Dicionário de dados
Clientes = @CODIGO-CLIENTENOME-CLIENTETIPO-CLIENTE
Vendas = @CODIGO-VENDACODIGO-CLIENTEDATA-VENDAVALOR-VENDA
Faturas = @CODIGO-FATURACODIGO-CLIENTEVENC-FATURAVALOR-FATURA
Tipo do cliente:
Nível 1 -> não aplicar desconto no valor da fatura
Nível 2 -> aplicar desconto de 5% no valor da fatura
Nível 3 -> aplicar desconto de 10% no valor da fatura
Gerarfaturas
Clientes
FaturasVendas
Exercício
Especificação de Processos
Gerar fatura
Objetivo: gerar as faturas dos clientes, observando os descontos a serem aplicados em função do tipo do cliente.
PARA CADA cliente no arquivo clientes
Obtenha o nome e o tipo do cliente
PARA CADA venda realizada para o cliente no arquivo de vendas
Obtenha o valor da venda
Calcule o total das vendas
SE tipo do cliente for igual a “Nivel 3”
Aplique a total das vendas 10% de desconto
SENÃO, SE tipo do cliente for igual “Nível 2”
Aplique a total das vendas 5% de desconto
SENÃO
Não aplique desconto a total das vendas
Grave no arquivo de faturas o código do cliente, o vencimento, o valor total, ...
Especificação de Processos
Recommended