1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da...

76
1 Engenharia de Requisitos Alexandre Monteiro

Transcript of 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da...

Page 1: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

1

Engenharia de Requisitos

Alexandre Monteiro

Page 2: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

2

Objetivos Descrever as principais atividades

da engenharia de requisitos Introduzir técnicas para a

elicitação e análise de requisitos Descrever validação de requisitos Discutir o gerenciamento de

requisitos

Page 3: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

3

O Processo da Engenharia de Requisitos

Estudo deviabilidade

Relatório deviabilidade

Elicitação derequisitos e

análise

Modelos dosistema

Especificaçãode requisitos

Validaçãode requisitos

Requisitos dousuário e do

sistema

Documento derequisitos

Page 4: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

22

Elicitação de requisitos e análise Esta atividade divide-se em dois

esforços maiores: Elicitação dos requisitos em si

Técnicas de elicitação Análise do que foi elicitado

Processo de análise

Page 5: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

23

Que é um requisito? Tanto pode ser

Uma declaração abstrata de alto nível de um serviço

Como uma restrição do sistema Quanto uma especificação

funcional matemática detalhada

Page 6: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

24

Elicitação de Requisitos Também denominada de descoberta de

requisitos Envolve pessoal objetivando descobrir o

domínio de aplicação, serviços que devem ser fornecidos bem como restrições

Deve envolver usuários finais, gerentes, pessoal envolvido na manutenção, especialistas no domínio, etc. (Stakeholders).

Page 7: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

25

Visão dos Requisitos Requisitos do Usuário

Declarações em linguagem natural com diagramas de serviços que o sistema deve oferecer e suas restrições operacionais. Escrito para os clientes

Requisitos do Sistema Documento estruturado com descrições

detalhadas sobre os serviços do sistema. Contrato entre cliente e fornecedor

Page 8: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

26

Tipos de Requisitos Requisitos Funcionais

Requisitos Não-Funcionais

Requisitos de Domínio

Page 9: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

27

Requisitos Funcionais Descreve funcionalidade e serviços

do sistema Depende do

Tipo do software Usuários esperados Tipo do sistema onde o software é

usado

Page 10: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

28

Exemplos de R.F. [RF001] Usuário pode pesquisar todo ou

um sub-conjunto do banco de dados [RF002] Sistema deve oferecer

visualizadores apropriados para o usuário ler documentos armazenados

[RF003] A todo pedido deve ser associado um identificador único (PID), o qual o usuário pode copiar para a área de armazenamento permanente da conta

Page 11: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

30

Requisitos Não-Funcionais Definem propriedades e restrições do

sistema (tempo, espaço, etc) Requisitos de processo também podem

especificar o uso de determinadas linguagens de programação, método de desenvolvimento

Requisitos não-funcionais podem ser mais críticos que requisitos funcionais. Não satisfaz, sistema inútil.

Page 12: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

31

Requisitos Não-Funcionais Devido à sua própria definição,

requisitos não-funcionais são esperados mensuráveis

Assim, deve-se associar forma de medida/referência a cada requisito não-funcional elicitado

Page 13: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

32

Medidas de Requisitos(Não-Funcionais)

Propriedade MedidaVelocidade Transações processadas/seg

Tempo de resposta do usuário/eventoTamanho K bytes

No de chips de RAMFacilidade de uso Tempo de treinamento

No de quadros de ajudaConfiabilidade Tempo médio de falhas

Probabilidade de indisponibilidadeTaxa de ocorrência de falhas

Robustez Tempo de reinício após falhaPercentual de eventos causando falhasProbabilidade de corrupção de dados após falha

Portabilidade Percentual de declarações dependentes do destinoNo de sistemas destino

Page 14: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

33

Classificação de R. N. F. Requisitos do Produto

Produto deve comportar-se de forma particular (velocidade de execução, confiabilidade, etc.)

Requisitos Organizacionais Conseqüência de políticas e procedimentos

organizacionais (padrões de processo usados, requisitos de implementação, etc.)

Requisitos Externos Conseqüência de fatores externos ao

sistema e ao processo de desenvolvimento (legislação, etc.)

Page 15: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

34

Exemplos de R. N. F. Requisitos do Produto

[RNF001] Toda consulta ao B.D., baseada em código de barras, deve resultar em até 5 s

Requisitos Organizacionais [RNF002] Todos os documentos entregues

devem seguir o padrão de relatórios XYZ-00 Requisitos Externos

[RNF003] Informações pessoais do usuário não devem ser vistas pelos operadores do sistema

Page 16: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

36

Requisitos de Domínio Derivados do domínio da aplicação e

descrevem características do sistema e qualidades que refletem o domínio

Podem ser requisitos funcionais novos, restrições sobre requisitos existentes ou computações específicas

Se requisitos de domínio não forem satisfeitos, o sistema pode tornar-se não prático

Page 17: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

37

Requisitos de Domínio (Problemas) Entendimento

Requisitos são descritos na linguagem do domínio da aplicação

Não é entendido pelos engenheiros de software que vão desenvolver a aplicação

Implicitude Especialistas no domínio entendem a

área tão bem que não tornam todos os requisitos de domínio explícitos

Page 18: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

38

Requisitos de Domínio (Exemplo 1) A desaceleração do trem deve ser

computada através da fórmulaDtrem=Dcontrole+Dgradiente onde ...

Page 19: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

40

RequisitosRequisitos

Não-funcionais

Organização

Funcionais Domínio

Produto Externo

SistemaUsuário =df

Page 20: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

41

Técnicas de Elicitação Entrevistas Questionários Casos de Uso Jogo de Funções Brainstorming Workshop de Requisitos

Page 21: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

52

Análise de Requisitos

Entendimentodo domínio

Coleta derequisitos

Classificação

Definição eespecificaçãode requisitos

Resoluçãode conflito

Atrib. Prioridade

Validaçãodos requisitos

Entrada doprocesso

Documentode requisitos

1

2

3

4

5

6

7 8

Page 22: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

53

Entendimento do Domínio Desenvolver sistemas envolve

domínios além de software e hardware

Podemos ter que entender sobre Contabilidade Saúde Supermercados Etc.

Page 23: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

54

Coleta de Requisitos Como vimos anteriormente, a coleta

de requisitos é feita através de técnicas

Nesta etapa, os requisitos são simplesmente documentados à medida que são coletados

Resulta em documento preliminar (draft)

Page 24: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

55

Classificação dos Requisitos Esta etapa consiste basicamente em

agrupar os diversos requisitos coletados em categorias (clusters) bem-definidos

Por exemplo Deve ser possível consultar o preço de

uma mercadoria A consulta deve retornar uma resposta em

no máximo 5s

Page 25: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

56

Problema da Análise de Requisitos Stakeholders em geral não sabem

o que querem Stakeholders expressam requisitos

em sua terminologia Stakeholders diferentes podem

gerar requisitos conflitantes

Page 26: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

57

Problema da Análise de Requisitos Fatores políticos e organizacionais

podem influenciar os requisitos do sistema

Requisitos mudam durante o processo de análise. Stakeholders novos podem surgir e o ambiente de trabalho muda

Page 27: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

58

Resolução de Conflitos É normal que ocorram requisitos

conflitantes Por exemplo

R-23: O sistema deve ... R-45: O sistema não deve ...

Cliente/usuário deve ser consultado para resolver conflitos (ambigüidades)

Page 28: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

59

Atribuição de Prioridade Alguns requisitos são mais

urgentes que outros É essencial determinar a

prioridade dos requisitos junto ao cliente

Requisitos de maior prioridade são considerados em primeiro lugar

Page 29: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

60

Prioridade Requisitos podem ser vistos em

três classes distintas Essenciais Importantes Desejáveis

Em princípio, sistema deve resolver todos os requisitos de essenciais para desejáveis

Page 30: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

61

Exemplo de Prioridade [RF001] Consulta X ao B.D. deve

retornar dados A, B, C Prioridade: Essencial

[RNF001] Consulta X ao B.D. deve visualizar dados segundo padrão Y Prioridade: Importante

[RNF010] Consulta X ao B.D. deve usar cores azuis nos resultados Prioridade: Desejável

Page 31: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

62

Validação dos Requisitos Será que realmente entendi o que

o cliente deseja? Devo me certificar de que não

houve falha em nossa interação (comunicação)

Há diversas técnicas de validação

Page 32: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

63

Validação de Requisitos Demonstrar que os requisitos definem

o sistema que o cliente realmente deseja

Custos com erros de requisitos são altos Consertar um erro de requisitos após

entrega do sistema pode custar mais de 100 vezes o custo de um erro de implementação

Page 33: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

64

Técnicas de Validação de Requisitos Revisões de Requisitos

Análise manual sistemática dos requisitos Prototipação

Uso de modelo executável do sistema para avaliar requisitos

Geração de Casos de Teste Desenvolver testes específicos para os

requisitos para avaliá-los Análise de Consistência Automática

Avaliar uma especificação dos requisitos

Page 34: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

65

Gerenciamento de Requisitos Gerenciamento de requisitos é o

processo de controlar as mudanças dos requisitos durante O processo da engenharia de

requisitos E desenvolvimento do sistema

Page 35: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

66

Gerenciamento de Requisitos Requisitos são inevitavelmente

incompletos e inconsistentes Requisitos novos surgem durante o

processo de acordo com mudanças nas necessidades do negócio e um entendimento melhor do sistema é desenvolvido

Diferentes pontos de vista têm diferentes requisitos e esses geralmente são contraditórios

Page 36: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

67

Rastreamento Responsável por dependências

entre requisitos, suas origens e projeto do sistema

Rastreamento de Origem Associação entre requisitos e

stakeholders que propuseram tais requisitos

Page 37: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

68

Rastreamento Rastreamento de Requisitos

Associação entre requisitos dependentes Rastreamento de Projeto

Associação dos requisitos com o projeto Usar hipertexto ou referência cruzada

Ou matriz de rastreamento

Page 38: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

69

1.Rastrear requisitos do usuário nos do sistema

2.Rastrear requisitos no projeto

3.Rastrear requisitos nos procedimentos de teste

4.Rastrear requisitos do usuário no plano

Projeto

Modelos Suítes Teste

Teste

2 3

Req A

1

RequisitosProduto

(Caracter.)

RequisitosDetalhados

(Casos de Uso) Req B

Plano

Doc. Usuário

4

Rastreamento

Page 39: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

70

Links dos requisitos devem ser marcados como “revisar”

Links “revisar” devem ser analisados

Req A antes

“if return value > $5”

Req B

Req C

“if return value > $2”

Req A depois

Req C

Req B

Rastreamento: Análise de Impacto

Page 40: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

71

Documento de Requisitos Fonte: IEEE/ANSI (830-1998) 1. Introdução

1.1 Propósito do documento 1.2 Escopo do sistema 1.3 Definições, acrônimos e

abreviaturas 1.4 Referências 1.5 Descrição do resto do documento

Page 41: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

72

Documento de Requisitos Fonte: IEEE/ANSI (830-1998) 2. Descrição geral

2.1 Perspectiva do produto 2.2 Funções do produto 2.3 Características dos usuários 2.4 Restrições gerais 2.5 Assertivas e dependências

Page 42: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

73

Documento de Requisitos Fonte: IEEE/ANSI (830-1998) 3. Requisitos específicos

requisitos funcionais, não-funcionais, GUI com o usuário:

funcionalidade, interfaces externas, desempenho, restrições, atributos do sistema, caract. qualidade, ...

Apêndices Índice

Page 43: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

74

Diagramas de Casos de Uso

Alexandre Vasconcelos([email protected])

Page 44: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

75

Objetivos Introduzir conceitos de use case, ator

e fluxo de eventos Apresentar sub-fluxos de eventos Discutir sobre identificação, evolução

e organização de use cases Apresentar notação UML para reusar

atores e use cases

Page 45: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

76

Use Case Seqüência de

ações, executada pelo sistema, que gera um resultado De valor

observável E para ator

particular

Função

Procedimento computacional/algorítmico atômico

Page 46: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

77

Use Case e Ator Alguém ou

alguma coisa (fora do sistema) que interage com o sistema

Emissor/Receptor

Page 47: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

79

Use Case e Ator A descrição de um use case define

o que o sistema faz quando o use case é realizado

A funcionalidade do sistema é definida por um conjunto de use cases, cada um representando um fluxo de eventos específico

Page 48: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

80

Use Case e Ator

FunçãoEmissor

Passo 1Passo 2…Passo N

Descrição

Page 49: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

81

Exemplo de Use Case e Ator Cliente de banco pode usar um

caixa automático para sacar dinheiro, transferir dinheiro ou

consultar o saldo da conta Ator: Cliente Use cases: Sacar dinheiro,

transferir dinheiro e consultar saldo

Page 50: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

82

Exemplo de Use Case e Ator

Cliente

Transferirdinheiro

Sacardinheiro

Consultarsaldo

Valor deresultado

observável

Page 51: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

83

Identificando Use Cases Em geral, difícil decidir entre um

ou vários use cases Por exemplo, seriam use cases

Inserir cartão em um Caixa Automático?

Entrar com a senha? Receber o cartão de volta?

Page 52: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

84

Identificando Use Cases Representar valor observável para

ator Pode-se determinar

De interações (seqüência de ações) com o sistema que resultam valores para atores

Satisfaz um objetivo particular de um ator que o sistema deve prover

Page 53: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

91

Reuso em Use Cases Comportamento comum a mais de

dois use cases (ou forma parte independente) Pode-se modelar como use case para

ser reusado Há três possibilidades

Inclusão Extensão Generalização/Especialização

Page 54: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

92

Inclusão Vários use cases possuem texto de

fluxo de eventos Comum/idêntico Sempre usado

Equivalente a fatoração feita em programação através de sub-programas #include da linguagem C

Page 55: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

93

Inclusão Como exemplo, tanto “Sacar dinheiro”

quanto “Consultar saldo” necessitam da senha Pode-se criar novo use case “Autenticar

usuário” e incluí-lo Mas atenção

NÃO SE DEVE CRIAR USE CASES MÍNIMOS Deve haver ganho no reuso

Page 56: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

94

Inclusão

Sacardinheiro

Consultarsaldo

Autenticarusuário<< include >> << include >>

Page 57: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

95

Inclusão Descrição de Consultar saldo

Fluxo de Eventos Principal: include (Autenticar usuário). Sistema

pede a Cliente que selecione tipo de conta (corrente, etc). ...

Page 58: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

96

Extensão Use case pode ser estendido por

outro Extensão de funcionalidade/Caso

excepcional Extensão ocorre em pontos

específicos Pontos de extensão

Page 59: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

97

Extensão Há também inclusão de texto (fluxo

de eventos) Porém sob condições particulares

Pode ser usada para Simplificar fluxos de eventos complexos Representar comportamentos opcionais Lidar com exceções

Page 60: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

98

Extensão

Atendimento

Pontos de extensãourgente

Atendimentode urgência

<< extend >>(urgente)

Page 61: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

99

Extensão Descrição de Atendimento

Fluxo de Eventos Principal: Colete os itens do pedido. (urgente).

Submeta pedido para processamento.

Page 62: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

100

Especialização Use case pode especializar outro

Adição/refinamento do fluxo de eventos original

Especialização permite modelar comportamento de estruturas de aplicação em comum

Page 63: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

101

Especialização

AtendimentoAtendimentode urgência

ClienteClientecomercial

Page 64: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

102

Fluxo de Eventos Parte mais importante de um use

case Atividade de requisitos

Define a seqüência de ações entre o ator e o sistema

Page 65: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

103

Fluxo de Eventos Geralmente em linguagem natural

Uso preciso de termos definidos no glossário de acordo com o domínio do problema

Também expresso formalmente Pré e pós-condições (ou pseudo-

código)

Page 66: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

104

Exemplo de Fluxo de Eventos Um esboço inicial sobre Sacar

dinheiro seria1. O use case inicia quando o Cliente

insere um cartão no CA. Sistema lê e valida informação do cartão

2. Sistema pede a senha. Cliente entra com a senha. Sistema valida a senha.

3. Sistema pede seleção do serviço. Cliente escolhe “Sacar dinheiro”

Page 67: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

105

Exemplo de Fluxo de Eventos Um esboço inicial sobre Sacar

dinheiro seria4. Sistema pede a quantia a sacar. Cliente

informa.5. Sistema pede seleção da conta

(corrente, etc). Cliente informa.6. Sistema comunica com a rede para

validar a conta, senha e o valor a sacar.

Page 68: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

106

Exemplo de Fluxo de Eventos Um esboço inicial sobre Sacar

dinheiro seria7. Sistema pede remoção do cartão.

Cliente remove.8. Sistema entrega quantia solicitada.

Page 69: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

108

Fluxo de Eventos Na descrição do que o sistema faz

através de fluxos de eventos completos Surgem caminhos alternativos Casos diferentes a considerar Efeitos/valores diferentes a produzir

Eventualmente descreve todos esses caminhos possíveis

Page 70: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

109

Sub-fluxos de Eventos Fluxo de eventos visto como

Vários sub-fluxos de eventos Sub-fluxos são descritos como

Principal Alternativos/excepcionais

Abordagem visa reuso de fluxos de eventos (sub-fluxos)

Page 71: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

110

Exemplo de Sub-fluxos Seja o use case Validar usuário

Fluxo principal: O use case inicia quando o sistema pede ao Cliente a

senha. Cliente entra com senha. Sistema verifica se a senha é válida. Se a senha é válida, sistema confirma e termina o use case.

Fluxo excepcional: Cliente pode cancelar a transação a qualquer momento

pressionando a tecla ESC, reiniciando o use case. Nenhuma modificação é feita na conta do Cliente.

Fluxo excepcional: Se Cliente entra com senha inválida, o use case

reinicia.

Page 72: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

111

Diagrama de Atividades Descreve fluxo de tarefas

Aspectos dinâmicos de um sistema Podem também ser usados para criar

sistemas executáveis Depende do nível de detalhamento e

grau de execução dos elementos usados Alternativa para modelar fluxos de

eventos de casos de uso

Page 73: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

112

Elementos de um Diag. Ativ.

Page 74: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

114

Diagramas de Use Cases Caracterizar limites da

funcionalidade do sistema Use cases são organizados dentro de

um diagrama Em diagramas de use cases

Atores são relacionados por generalização/especialização

Page 75: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

115

Exemplo de Diagrama

Transação decartão

Clientecorporativo

Clienteindividual

Cliente Instituiçãovendedora

Financeira

Sistema de validaçãode cartão de crédito

Processafatura

Reconciliatransações

Gerenciaconta

Page 76: 1 Engenharia de Requisitos Alexandre Monteiro. 2 Objetivos Descrever as principais atividades da engenharia de requisitos Introduzir técnicas para a elicitação.

116

Bibliografia Sommerville, I. Software

Engineering Kruchten, P. The Rational Unified

Process: An Introduction. 2nd Ed Booch, G. et al. The Unified

Modeling Language User Guide.