especificação de processos eveline alonso veloso puc-minas
TRANSCRIPT
Especificação de Processos
Eveline Alonso VelosoPUC-Minas
Bibliografia
YOURDON, Edward. Análise Estrutura Moderna. Tradução da 3ª edição americana, Rio de Janeiro: Campus, 1992, capítulo 11.
PRESSMAN, Roger S. Engenharia de Software. 5ª edição, Rio de Janeiro: McGraw Hill, 2002, capítulo 12.
Especificação de Processos Descrição do que ocorre dentro de cada
bolha primitiva, do nível mais baixo de um DFD.
A especificação de um processo é o DFD do nível imediatamente inferior.
Especificação de Processos Objetivo:
definir o que deve ser feito para transformar entradas em saídas;
não como deve ser feito; não deve impor decisões arbitrárias de projeto ou
de implementação.
Requisitos: deve ser expressa de forma que possa ser
efetivamente entendida por todos os envolvidos no projeto;
usuários, analistas de sistemas, arquitetos de software, desenvolvedores, testadores, gerentes, etc;
evitando a ambigüidade da linguagem natural.
Ferramentas para Especificação de Processos É necessário conhecer uma
combinação de ferramentas para especificação de processos;
para que se possa selecionar a mais apropriada para cada situação.
Ferramentas: Linguagem Estruturada Pre/Pós-condições Tabela de Decisão Árvore de Decisão
Linguagem Estruturada Subconjunto do português com
restrições: quanto aos tipos de sentenças que
podem ser utilizadas; e à maneira como essas sentenças
podem ser combinadas. Propósito:
obter um razoável equilíbrio entre: a precisão de uma linguagem de
programação; e a informalidade e legibilidade da língua
que utilizamos normalmente.
Sentenças da Linguagem Estruturada Equação algébrica:
Exemplo: S = S0 + v0t + at2/2
Sentença imperativa: sentença composta por um verbo e um objeto.
Verbos escolhidos a partir de um pequeno conjunto como leia, exiba, encontre, adicione, exclua, calcule, etc.
Objetos devem ser compostos apenas por elementos de dados definidos:
no dicionário de dados ou em termos locais.
Exemplo: calcule saldo bancário
Sentenças da Linguagem Estruturada Seleção:
utilizada para descrever sentenças alternativas;
que devem ser executadas de acordo com o resultado de uma decisão binária.
Estrutura:SE <condição>
Sentença ASENÃO
Sentença BFIM-SE
Exemplo:SE idade-cliente < 18
categoria = 'Menor'SENÃO
categoria = 'Maior'FIM-SE
Sentenças da Linguagem Estruturada Repetição:
usada para descrever uma sentença que deve ser executada repetidamente;
até que uma determinada condição booleana seja verdadeira.
Estrutura:FAÇA-ENQUANTO <condição>
Sentença AFIM-ENQUANTO
Exemplo:total = 0FAÇA-ENQUANTO há mais itens no pedido
leia próximo item do pedido
total = total + preço-unitário * quantidade-itemFIM-ENQUANTOexiba total
Linguagem Estruturada – Exemplo
Linguagem Estruturada – Exemplo – Processo 1.2: Verificar estoque de livros há-estoque = verdadeiro FAÇA-ENQUANTO houver item de pedido em dados
válidos de pedido e há-estoque encontre item de estoque em estoque onde código
do livro = código do livro em dados válidos de pedido
SE quantidade em estoque < quantidade solicitada resposta a pedido = ‘Não há livros suficientes para
atender a seu pedido’ há-estoque = falso
FIM-SE FIM-ENQUANTO SE há-estoque
resposta a pedido = ‘Há livros suficientes em estoque’ FIM-SE
Pre/Pós-condições Maneira de descrever a função que
deve ser executada por um processo; sem indicar o procedimento que deve ser
empregado. Precondições:
descrevem o que deve ser verdadeiro; antes que o processo se inicie.
Pós-condições: descrevem o que deve ser verdadeiro;
quando o processo terminar.
Pre/Pós-condições – Exemplo
Precondição: O cliente se apresenta com um
número de conta coincidente com um número de conta em contas cujo status é ‘válido’.
Pós-condição: A fatura é emitida contendo
número de conta e valor da venda.