ENGENHARIA DE REQUISITOS Prof. Antonio Alberto P. Santana.
Transcript of ENGENHARIA DE REQUISITOS Prof. Antonio Alberto P. Santana.
ENGENHARIA DE REQUISITOS
Prof. Antonio Alberto P. Santana
AGENDA 04
- Lista de eventos
- Modelagem de eventos
- Especificação de processos
- Técnicas de especificação
- Português estruturado
- Pseudocódigo
- Tabela de decisão
- Árvore de decisão
LISTA DE EVENTOSSistema: caixa preta que, a partir de certos estímulos externos predeterminados, produz respostas esperadas.
Respostas: para cada função deve haver um estímulo responsável pela sua ativação.Ex.: relatórios, documentos, etc.
Para se descobrir quais são as funções devemos descobrir quais são os estímulos que chegam ao sistema.
LISTA DE EVENTOS
Sistema é uma reunião de funções que devem ser ativadas para produzir as respostas desejadas quando ativadas por estímulos causados pela ocorrência de determinados eventos.
Análise Essencial
LISTA DE EVENTOS
EVENTO: pode ser definido informalmente como um acontecimento do mundo exterior que requer do sistema uma resposta.
Análise Essencial
ESTÍMULO: é um ativador de uma função.
RESPOSTA: é o resultado gerado pelo sistema devido à ocorrência de um evento.
MODELAGEM DE EVENTOS
Analisar evento é basicamente identificar fatos que ocorrem no meio ambiente que interage com o sistema e que exige uma resposta do sistema.
Esta resposta pode ser, por exemplo, o armazenamento de uma informação ou a produção de um resultado.
MODELAGEM DE EVENTOS
ENTIDADEEXTERNA
SISTEMA
estímulo
resposta
- fluxo de controle
- instante do tempo
- fluxo de dados
ALGORITMO PARA MODELAGEM DE EVENTOS
Analise o ambiente do sistema e ponha no papel todo fato que, a princípio pareça determinar uma ação do sistema;
Cada evento deve ser escrito em uma frase;
Lembre-se que a frase é uma construção gramatical que expressa uma idéia completa;
Deve possuir um sujeito, um verbo e um objeto.
ALGORITMO PARA MODELAGEM DE EVENTOS
Para cada evento identificado responda às seguintes perguntas:
Existe algum evento que seja uma variação significativa do evento identificado? Normalmente esses eventos podem ser escritos com a as mesmas palavras do evento original, trocando-se apenas o verbo.
ALGORITMO PARA MODELAGEM DE EVENTOS
Existe algum evento oposto ao evento identificado?
Por exemplo: oposto a vender é comprar, oposto a pagar é receber (antônimos)
ALGORITMO PARA MODELAGEM DE EVENTOS
Existe algum evento negativo do evento identificado? Consiste na negação do evento?
Negativo de pagar é não pagar.
ALGORITMO PARA MODELAGEM DE EVENTOS
Existe algum evento que deve preceder ao evento identificado?
Normalmente esses eventos são pré-requisitos do evento em questão. Exemplo: para que seja feito um pagamento é necessário que tenha sido feita uma compra.
ALGORITMO PARA MODELAGEM DE EVENTOS
Existe algum evento que seja conseqüência do evento identificado?
Estes eventos, normalmente devem acontecer após o evento em questão, como conseqüência.
Evento orientado por fluxo de dados
E aquele em que o estímulo é a chegada ao sistema de um fluxo de dados enviado por uma entidade externa e a chegada do fluxo vai ativar a função (nem todo fluxo de dados ativa a função)Sujeito + verbo transitivo na voz ativa + complemento verbal
Evento orientado por fluxo de dados
Ex: Cliente paga prestação.Entidade externa: cliente; fluxo de dados: cheque; resposta (fluxo de saída): recibo de pagamento Ex: Cliente cancela pedidoEntidade externa: cliente; fluxo de dados: solicitação de cancelamento de pedido;Resposta interna (não há fluxo de dados de saída): cancelamento
Evento dirigido por controleÉ aquele em que o estímulo é a chegada ao sistema de um fluxo de controle. Quando uma determinada variável binária está com um determinado valor. (Pode haver fluxos de dados complementares associados). O sistema pode ou não produzir resposta externa e o fluxo de controle pode ser enviado por uma entidade externa ou gerado por uma função interna ao sistema.Sujeito + verbo transitivo na voz ativa + complemento verbalSujeito + verbo a voz passiva
Evento dirigido por controle
Ex: A Diretoria autoriza o pagamento de uma fatura.Entidade externa envia um fluxo de controle : sim ou não; resposta (fluxo de dados): cheque Ex: 2º cheque sem fundo é emitidoEstímulo: função interna; resposta: relatório para SPC
Evento orientado por tempo
É aquele em que o estímulo é a chegada ao sistema da informação de haver passado um determinado intervalo de tempo. O sistema deve ser responsável por registrar a passagem de tempo. O sistema pode ou não prever resposta externa e o estímulo é a informação de que foi decorrido um certo tempo ou atingido uma determinada hora.
Evento orientado por tempo
Ex: É hora de emitir relatório mensal de vendasFunção verifica data/hora do computador; envia um fluxo de controle para outra função emitir o relatório; fluxo de dados de saída: relatório
LISTA DE EVENTOS
dados cadastrais
Solicitação alteração
Solicitação cancelamento
dados empréstimo
empréstimo
CLIENTE
devolução
Recibo pagro
Fita
Solicitação empréstimo
REGISTRAR EMPRÉSTIMO
LISTA DE EVENTOSNº Evento Origem Estímulo Ação Destino Saída Tipo
01 Cliente solicita fita Cliente Solicitação empréstimo
Registrar empréstimo
Depto Adm Cliente
Ficha EmpréstimoFita
FD
02 Cliente cancela empréstimo
Cliente SolicitaçãoCancelamento
Registrar cancelamento
FD
03 Cliente devolve fita Cliente Devolução Fita Registrar devolução
Depto Adm Fita FD
04 Cliente paga aluguel Cliente Pagamento Registrar pagamento
ClienteDepto Adm
Recibo$ /Cheque
FD
05 Cliente não devolve fita
Sistema Data devolução Emitir relatório de atrasos
Depto Adm Relatório atrasos
T
06 Cliente solicita cadastramento
Cliente Solicitação cadastramento
Cadastrar cliente
Depto Adm Ficha Cadastro
FD
07 Cliente solicita alteração cadastral
Cliente Solicitação alteração
Registrar alteração
FD
ESPECIFICAÇÃO DE PROCESSOS
Devemos definir:– O que deve ser descrito– Que tipo de técnica se deve usar para a descrição
ESPECIFICAÇÃO DE PROCESSOS
O que deve ser descritonão é necessário repetir o que já foi descrito nos DFDs e no dicionário de dados
definir a forma pela qual os fluxos de dados de entrada são transformados em fluxos de dados de saída
Principais técnicasportuguês estruturado pseudocódigo tabela de decisão árvore de decisão
PORTUGUÊS ESTRUTURADO
Consiste em:– verbos no modo imperativo – termos definidos no dicionário de dados
– determinadas palavras reservadas para descrever a lógica da função
PORTUGUÊS ESTRUTURADO
SINTAXE
PORTUGUÊS ESTRUTURADO
Seqüência de instruções Obtenha...; Calcule...; Coloque...; Copie...; etc.
Repetição de instruções PARA CADA ... faça o que se segue:
Seleção entre instruções SE... SE NÂO faça o que se segue:CASO 1: ... faça o que se segue:CASO 2: ... faça o que se segue:
PORTUGUÊS ESTRUTURADO
1.2CancelarContrato
Contratos
FaturasConveniadas
PORTUGUÊS ESTRUTURADO
PROCESSO cancelar_contratos
PARA_CADA faturas.DE Conveniadas.
SE faturas.situação < > “quitada”
Acrescente um item a relação
Valor_total = Valor_total + faturas.valor_da_fatura
Contratos.situação := “cancelada”
F_SE
F_PARA
PRODUZA relação_de_clientes_inadimplentes
PSEUDOCÓDIGO Forma textual mais popular de se descrever miniespecificações.
É próxima ao português estruturado, porém mais próxima das linguagens de programação.
PSEUDOCÓDIGOContém:
– Verbos (LER, OBTER, IMPRIMIR, GRAVAR, etc.)
– Substantivos (elementos do dicionário de dados)
– Estruturas de controle (SE, ENQUENTO, REPETIR, CASO, etc.)
– Operadores de relação (IGUAL, MAIOR
QUE, MENOR QUE, etc.)
PSEUDOCÓDIGO
PORTUGUÊS ESTRUTURADO PSEUDOCÓDIGO
Orientado para os procedimentos Orientado para a implementação
Usa termos familiares ao usuário (linguagem do negócio)
Lembra linguagem de programação
O objetivo é um alto nível de comunicação
O objetivo é facilitar a programação
PSEUDOCÓDIGO
EXEMPLO Ler registro_de_cartão_de_crédito REPETIR_ENQUANTO existam registro_de_cartão_de_crédito REPETIR_ENQUANTO existam itens_de_compra_no_cartão_de_crédito
Calcular total_de_item Somar total_e_item ao total_da_fatura_mensal
FIM_REPETIR Calcular desconto Calcular fatura_líquida; total_a_pagar Imprimir fatura_mensal Gravar fatura no arquivo faturas Ler registro_de_cartão_de_crédito FIM_REPETIRTerminar programa
TABELA DE DECISÃO
É uma maneira de se expressar, em forma de tabela, qual o conjunto de condições que é necessário ocorrer para que um determinado conjunto de ações deva ser executado.
TABELA DE DECISÃO
Regra de decisão => conjunto de ações a ser tomado a partir de um conjunto de condições
TABELA DE DECISÃO
Composta de:– Área de condições – onde são relacionadas as condições que devem ser verificadas para que seja executado um conjunto de ações;
– Área de ações – exibe o conjunto de ações que deve ser executado caso um determinado conjunto de condições ocorra;
– Regra de decisão – apresentam, através das colunas, a combinação das condições com as ações a serem executadas.
TABELA DE DECISÃOCONDIÇÕES Regra de
decisão 01Regra de decisão 02
.......... Regra de decisão N
Condição 1:
Condição 2:
...........
Condição N:
AÇÕES ----------- ----------- ----------- -----------
Ação 1:
Ação 2:
..........
Ação N:
TABELA DE DECISÃO
CONDIÇÕES Regra de decisão 01
Regra de decisão 02
Regra de decisão 03
Regra de decisão 04
Condição 1: S S N N
Condição 2: S N S N
AÇÕES ----------- ----------- ----------- -----------
Ação 1: X
Ação 2: X X
Ação 3: X X X
TABELA DE DECISÃO
Regra de decisão 01: caso as condições 1 e 2 ocorram, deverão ser executadas as ações 1 e 3; Regra de decisão 02: caso a condição 1 ocorra e a condição 2 não ocorra, somente deverá ser executada a ação 2; Regra de decisão 03: caso a condição 1 não ocorra e a condição 2 ocorra, deverão ser executada as ações 2 e 3; Regra de decisão 04: caso as condições 1 e 2 não ocorram, deverá ser executada somente a ação 3.
TABELA DE DECISÃO
EXEMPLO Seja a descrição de um processo que determina qual o tipo de exame médico periódico a que um empregado de uma determinada empresa deve ser submetido:
TABELA DE DECISÃOCONDIÇÕES Regra
1Regra 2
Regra 3
Regra 4
Regra 5
Regra 6
Regra 7
Regra 8
Ocupa cargo de chefia?
S
S
S
S
N
N
N
N
Idade maior que 40 anos?
S
S
N
N
S
S
N
N
Mais de 2 anos no cargo?
S
N
S
N
S
N
S
N
AÇÕES ------ ------ ------ ------ ------ ----- ----- -----
Exame especial X X X X X
Exame normal X X X
Onde S = sim; N = não; X = ação a ser executada
ÁRVORE DE DECISÃO
É uma representação de um tabela de decisão sob a forma de uma árvore.
ÁRVORE DE DECISÃOOCUPA CARGO DE CHEFIA?
MAIS DE 40 ANOS DE IDADE?
MAIS DE 2 ANOS DE MPRESA?
TIPO DE EXAME
ESPECIAL
ESPECIAL
ESPECIAL
NORMAL
ESPECIAL
ESPECIAL
NORMAL
NORMAL
S
N
S
S
N
S
N
S
N
S
N
N
S
N
F I M!