ENGENHARIA DE REQUISITOS Prof. Antonio Alberto P. Santana.

Post on 22-Apr-2015

106 views 0 download

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!