trabalho de engenharia de software faculdade dos guararapes turma: 5na tema: engenharia de...

72
Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva Raugil da Costa Junior Evangelisto Nascimento Filho

Upload: mirela-regueira-dreer

Post on 07-Apr-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

Trabalho de Engenharia de Software

Faculdade dos GuararapesTurma: 5NA

Tema: Engenharia de RequisitosAlunos: Walter Fonseca Junior

Paula Michelly v. Silva Raugil da Costa Junior

Evangelisto Nascimento Filho

Page 2: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

2

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 3: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

19

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 4: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

20

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 5: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

21

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 6: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

22

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 7: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

23

Tipos de Requisitos

• Requisitos Funcionais

• Requisitos Não-Funcionais

• Requisitos de Domínio

Page 8: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

24

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 9: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

25

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 10: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

26

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 11: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

27

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 12: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

28

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 13: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

29

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 14: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

30

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 impraticável

Page 15: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

31

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 16: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

32

Requisitos

Requisitos

Não-funcionais

Organização

Funcionais Domínio

Produto Externo

SistemaUsuário

Page 17: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

33

Técnicas de Elicitação

• Entrevistas• Questionários• Casos de Uso• Jogo de Funções• Brainstorming• Workshop de Requisitos

Page 18: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

43

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 19: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

44

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 20: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

45

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 21: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

46

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 22: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

47

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 23: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

48

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 mudar

Page 24: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

49

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 25: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

50

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 26: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

51

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 27: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

52

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 28: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

53

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 29: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

54

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 30: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

55

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 31: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

56

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 32: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

57

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 33: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

58

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 34: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

59

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 35: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

60

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ísticas)

RequisitosDetalhados

(Casos de Uso)

Req B

Plano

Doc. Usuário

4

Rastreamento

Page 36: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

61

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 37: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

62

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 38: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

63

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 39: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

64

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 40: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

65

Diagramas de Casos de Uso

Page 41: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

66

Use Case

• Seqüência de ações, executada pelo sistema, que gera um resultado– De valor observável– E para ator particularFunção

Procedimento computacional/algorítmico atômico

Page 42: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

67

Use Case e Ator

• Alguém ou alguma coisa (fora do sistema) que interage com o sistema

Emissor/Receptor

Page 43: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

69

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 44: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

70

Use Case e Ator

FunçãoEmissor

Passo 1Passo 2…Passo N

Descrição

Page 45: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

71

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 46: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

72

Exemplo de Use Case e Ator

Cliente

Transferirdinheiro

Sacardinheiro

Consultarsaldo

Valor deresultado

observável

Page 47: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

73

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 48: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

74

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 49: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

80

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 50: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

81

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 51: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

82

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 52: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

83

Inclusão

Sacardinheiro

Consultarsaldo

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

Page 53: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

84

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 54: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

85

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 55: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

86

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 56: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

87

Extensão

Atendimento

Pontos de extensãourgente

Atendimentode urgência

<< extend >>(urgente)

Page 57: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

88

Extensão

• Descrição de Atendimento– Fluxo de Eventos Principal:

• Colete os itens do pedido. (urgente). Submeta pedido para processamento.

Page 58: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

89

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 59: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

90

Especialização

AtendimentoAtendimentode urgência

ClienteClientecomercial

Page 60: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

91

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 61: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

92

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 62: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

93

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 63: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

94

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 64: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

95

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 65: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

96

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 66: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

97

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 67: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

98

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 68: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

99

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 69: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

Diagrama de atividades: exemplo

100

Page 70: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

101

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 71: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

102

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 72: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva

103

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.• Alexandre Vasconcelos,([email protected])