1 Componentes: Cleber Grings – Michelly Buttini – Simone Rinaldi – Silviana Colpani.
Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de...
-
Upload
mirela-regueira-dreer -
Category
Documents
-
view
215 -
download
0
Transcript of Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de...
![Page 1: Trabalho de Engenharia de Software Faculdade dos Guararapes Turma: 5NA Tema: Engenharia de Requisitos Alunos: Walter Fonseca Junior Paula Michelly v. Silva.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/1.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/2.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/3.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/4.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/5.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/6.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/7.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/8.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/9.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/10.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/11.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/12.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/13.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/14.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/15.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/16.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/17.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/18.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/19.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/20.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/21.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/22.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/23.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/24.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/25.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/26.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/27.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/28.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/29.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/30.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/31.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/32.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/33.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/34.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/35.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/36.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/37.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/38.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/39.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/40.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/41.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/42.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/43.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/44.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/45.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/46.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/47.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/48.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/49.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/50.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/51.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/52.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/53.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/54.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/55.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/56.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/57.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/58.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/59.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/60.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/61.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/62.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/63.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/64.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/65.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/66.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/67.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/68.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/69.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/70.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/71.jpg)
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.](https://reader033.fdocumentos.tips/reader033/viewer/2022052513/570638551a28abb8238fabc9/html5/thumbnails/72.jpg)
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])