engenharia de software - ifrn.edu.brclaytonmaciel/files/20102/es/aula 5 - analise... · 4 exemplo 2...

8
1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Curso Técnico em Informática ENGENHARIA DE SOFTWARE Prof.: Clayton Maciel Costa [email protected] 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

Upload: duongnga

Post on 21-Jan-2019

215 views

Category:

Documents


0 download

TRANSCRIPT

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 [email protected]

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