Buscar

Parte 3B Engenharia de Requisitos Elicitação

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 58 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 58 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 58 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Engenharia de Software II
Parte 3
Engenharia de Requisitos: 
3.1 - Concepção 
3.2 – Elicitação
3.3 –Análise 
1
Prof. Dr. Celso Gallão
Setembro/2017
F
A
T
E
C
 
S
Ã
O
 
C
A
E
T
A
N
O
Atividades da Engenharia de Requisitos
“É um conjunto estruturado de atividades 
que são seguidas para derivar, validar e 
manter um conjunto de requisitos.”
“O processo de engenharia de requisitos é 
criar e manter um documento de requisitos 
do sistema”.
[SOMMERVILLE, 2007]
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 2
Elicitação de Requisitos
2
Engenharia de Software II – Parte 2 - Prof. Celso Gallão – Slide 3
Elicitação de Requisitos
 Os engenheiros de software trabalham com os 
clientes e usuários finais do sistema para 
aprender sobre o domínio da aplicação:
Quais serviços o sistema deve fornecer?
Qual o desempenho esperado?
Quais as restrições?
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 4
Elicitação Análise
Elicitação de Requisitos
 Identificar os objetivos do projeto/produto, como 
o sistema atende as necessidades do negócio e 
como o sistema será utilizado no seu dia a dia.
 Identificar problemas de escopo, de 
entendimento e de volatilidade dos requisitos.
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 5
Elicitação Análise
Elicitação de Requisitos
Ou seja, obter os Requisitos Não Funcionais!
Aqueles que expressam atributos de qualidade ou 
do ambiente do sistema.
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 6
Elicitação Análise
Elicitação de Requisitos
Taxonomia para RNFs: [SOMMERVILLE, 2011]
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 7
Elicitação Análise
Elicitação de Requisitos
Taxonomia para RNFs: 
 Existem diversas taxonomias definidas, 
dependendo do autor ou da entidade que as 
especificou.
 O importante é defini-la na fase inicial da 
elicitação.
 A seguir, alguns exemplos de outras 
taxonomias.
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 8
Elicitação Análise
Elicitação de Requisitos
Taxonomia para RNFs: [Mamani e Macedo, 1999]
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 9
Elicitação Análise
Elicitação de Requisitos
Taxonomia para RNFs: [Pimenta, 1997]
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 10
Elicitação Análise
Elicitação de Requisitos
Taxonomia para RNFs: [RUP]
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 11
Elicitação Análise
Elicitação de Requisitos
Taxonomia para RNFs: [ISO/IEC 9126: 2001]
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 12
Elicitação Análise
Elicitação de Requisitos
Taxonomia para RNFs: [IEEE: 1998-830]
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 13
IEEE - Institute of Electrical and Electronic Engineers
Elicitação Análise
Desafios:
Elicitação de Requisitos2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 14
Figura extraída de 
http://www.blogdocaipira.com/
2011/10/programadores-x-
usuarios-de-computador/
Elicitação Análise
Elicitação de Requisitos
Desafios: Síndrome “Usuário X Desenvolvedor”
A elicitação e a compreensão dos requisitos são 
difíceis sob diversos aspectos:
 Stakeholders não sabem bem o que querem.
 Stakeholders se expressam em linguagem natural.
 Stakeholders diferentes possuem necessidades 
diferentes.
 Fatores políticos internos, da empresa.
 Ambientes econômico e de negócio, dinâmicos.
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 15
Elicitação Análise
Elicitação de Requisitos
Desafios: Síndrome “Usuário X Desenvolvedor”
Erros Básicos:
 O desenvolvedor não compreende que o usuário é 
especialista no domínio da aplicação e pensa que sabe 
mais do que o próprio usuário.
 O desenvolvedor não utiliza técnicas estruturadas para 
substituir a linguagem natural.
 O desenvolvedor acredita totalmente no usuário, 
pensando que o usuário tem conhecimento sobre 
engenharia do software.
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 16
Elicitação Análise
Elicitação de Requisitos
Desafios: Síndrome “SIM, MAS...”
Quando os clientes/usuários vêem o software
pela primeira vez, é comum dizerem:
– Sim, mas...
– Agora que eu estou vendo o software 
pronto, e aquela coisa, não dá pra aparecer 
na tela? 
– Não seria interessante se o software 
também fizesse aquilo? 
– O que aconteceria naquela situação?
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 17
Elicitação Análise
Elicitação de Requisitos
Desafios: Síndrome “SIM, MAS...”
Erros Básicos:
 Entregar o software sem que tenha havido interação 
suficiente com os clientes/usuários.
 Os clientes/usuários nunca viram o produto antes ou 
não entenderam as especificações apresentadas no 
início do projeto.
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 18
Elicitação Análise
Elicitação de Requisitos
Desafios: 
Síndrome “RUÍNAS NÃO DESCOBERTAS”
 A busca por requisitos é como descobrir novas 
ruínas: 
 “Quanto mais você descobre, mais você 
acha que falta descobrir”.
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 19
Elicitação Análise
Elicitação de Requisitos
Desafios: 
Síndrome “RUÍNAS NÃO DESCOBERTAS”
Erro Básico:
 As equipes de desenvolvimento de 
software não se preocuparam em 
determinar os limites da pesquisa, 
ou seja, até que ponto o trabalho 
de levantamento de requisitos 
deve prosseguir.
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 20
Elicitação Análise
Elicitação de Requisitos
Processo de Elicitação e Análise
Obtenção de requisitos:
Interação com 
stakeholders, para obter 
requisitos diversos, 
principalmente os 
requisitos de domínio.
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 21
Elicitação Análise
Elicitação de Requisitos
Processo de Elicitação e Análise
Classificação e 
organização de 
requisitos:
Agrupar e organizar os 
requisitos relacionados 
em conjuntos coerentes, 
de acordo com a 
taxonomia definida.
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 22
Elicitação Análise
Elicitação de Requisitos
Processo de Elicitação e Análise
Priorização e 
negociação de 
requisitos:
Identificar e resolver 
conflitos entre requisitos 
através de negociação, de 
modo a reconhecer 
prioridades.
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 23
Elicitação Análise
Elicitação de Requisitos
Processo de Elicitação e Análise
Documentação de 
requisitos:
Os requisitos são 
documentados, formal ou 
informalmente, e 
colocados na próxima 
volta da espiral.
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 24
Elicitação Análise
Elicitação de Requisitos
Processo de Elicitação e Análise
Assim, identifica-se este 
ciclo de processo como 
sendo interativo com 
realimentação contínua.
Inicia com a obtenção dos 
requisitos e termina com a 
elaboração do documento 
de requisitos.
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 25
Elicitação Análise
Elicitação de Requisitos
Processo de Elicitação e Análise
O entendimento do 
sistema, por parte do 
desenvolvedor, aumenta à 
cada volta do ciclo.
2
Engenharia de Software II– Parte 3 - Prof. Celso Gallão – Slide 26
Elicitação Análise
Elicitação de Requisitos
Técnica de Elicitação 1:
ENTREVISTAS
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 27
Elicitação Análise
Elicitação de Requisitos
2.1 - Entrevistas
Objetivo: 
Extrair requisitos através da aplicação de 
questionários em entrevistas presenciais. 
 Esta é a fonte primária dos requisitos.
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 28
Elicitação Análise
Elicitação de Requisitos
2.1 - Entrevistas
Metodologia:
 Formular questionário livre de contexto, sem 
nenhuma questão tendenciosa, para 
compreender a situação real.
 Formular questões sobre as possibilidades de 
solução, para confirmar ou rejeitar 
alternativas.
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 29
Elicitação Análise
Elicitação de Requisitos
2.1 - Entrevistas
Metodologia:
 Compreender como o sistema é usado e o 
que deve ser desenvolvido.
 Compilar as respostas obtidas, para detectar 
as prioridades e relevâncias.
 Adaptar-se ao entrevistado. Não queira que 
ele se adapte a você!
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 30
Elicitação Análise
Elicitação de Requisitos
2.1 - Entrevistas
Desafios:
 Entrevistas presenciais, ou os resultados 
serão duvidosos.
◦ Entrevistas Fechadas: conjunto de questões pré-
definidas.
◦ Entrevistas Abertas: explora vários assuntos, sem 
roteiros pré-definidos.
 Identificar o momento, os argumentos e as 
condições mais favoráveis ao entrevistado, 
quanto ao local, hora e formato da entrevista.
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 31
Elicitação Análise
Elicitação de Requisitos
2.1 - Entrevistas
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 32
Elicitação
Exemplo de 
questionário de 
entrevista
Análise
Elicitação de Requisitos
Técnica de Elicitação 2:
BRAINSTORMING
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 33
Elicitação Análise
Elicitação de Requisitos
2.2 - Brainstorming
Objetivo: 
Gerar um conjunto de funções do sistema e suas 
respectivas prioridades, com base na livre 
discussão de ideias e de um acordo para a 
redução dessas ideias.
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 34
Elicitação Análise
Elicitação de Requisitos
2.2 - Brainstorming
Regras:
 Não permitir críticas ou rejeições das ideias.
 Estimular a participação de todos.
 Deixar a imaginação livre.
 Gerar a maior quantidade possível de ideias.
 Modificar/combinar ideias, com sutileza.
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 35
Elicitação Análise
Elicitação de Requisitos
2.2 - Brainstorming
Redução da ideias (por votação):
 Retirar ideias que não serão utilizadas.
 Agrupar ideias em categorias (novas funções, 
desempenho, melhoria, etc.).
 Definir a lista de funções do sistema.
 Priorizar tais funções.
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 36
Elicitação Análise
Elicitação de Requisitos
Técnica de Elicitação 3:
CENÁRIOS
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 37
Elicitação Análise
Elicitação de Requisitos
2.3 - Cenários
Objetivo: 
Obter o acordo inicial dos usuários, através de 
histórias sobre o funcionamento futuro do sistema
 Relatos da vida real são mais fáceis de abstrair.
 Eficiente para resolver a síndrome do “Sim, 
mas...”.
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 38
Elicitação Análise
Elicitação de Requisitos
2.3 - Cenários
Deve incluir: 
 Descrições sobre o que os usuários esperam 
do sistema, no início do cenário.
 Descrições do fluxo normal de eventos.
 Descrições sobre o que pode dar errado e 
como isso é tratado.
 Informações sobre outras atividades que 
podem ocorrer simultaneamente.
 Descrições sobre o estado de sistema, no fim 
do cenário
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 39
Elicitação Análise
Elicitação de Requisitos
2.3 - Cenários
Desafios: 
 Construir os cenários da forma mais adequada, 
de modo a representar claramente as 
experiências dos usuários. 
 Descrever através de textos, diagramas, slides
ou técnicas estruturadas, como o Caso de Uso, 
por exemplo.
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 40
Elicitação Análise
Elicitação de Requisitos
Técnica de Elicitação 4:
DRAMATIZAÇÃO
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 41
Elicitação Análise
Elicitação de Requisitos
2.4 - Dramatização
Objetivo: 
Fazer com que o time de desenvolvimento possa
vivenciar o ambiente dos usuários através da 
execução das suas atividades cotidianas. 
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 42
Elicitação Análise
Elicitação de Requisitos
2.4 - Dramatização
Metodologia: 
 Trabalhar com o usuário no ambiente real.
 Fazer com que o usuário sinta-se à vontade 
para fazer comentários sobre os processos.
 Registrar e reproduzir as experiência e os 
aprendizados, para compreender o sistema a 
ser criado.
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 43
Elicitação Análise
Elicitação de Requisitos
2.4 - Dramatização
Desafios: 
 “Sujar a gravata”.
 Ganhar o respeito, a atenção e a confiança dos 
usuários.
 Compreender suas reais dificuldades.
 Compreender os processos.
 Aplicar Etnografia: técnica de observação 
utilizada para compreender os requisitos.
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 44
Elicitação Análise
Elicitação de Requisitos
Técnica de Elicitação 5:
WORKSHOP
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 45
Elicitação Análise
Elicitação de Requisitos
2.5 - Workshop
Objetivo: 
Reunir os usuários por um período determinado 
de tempo para extrair um conjunto de requisitos 
consistente e acordado.
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 46
Elicitação Análise
Elicitação de Requisitos
2.5 - Workshop
Metodologia:
 Não realizar antes de ter segurança sobre os 
requisitos já levantados.
 Definir uma pauta fechada, com tópicos bem 
definidos.
 Comunicar claramente o objetivo e os 
benefícios do workshop, evitando resistência 
dos participantes.
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 47
Elicitação Análise
Elicitação de Requisitos
2.5 - Workshop
Metodologia:
 Garantir a participação dos usuários.
 Solicitar a participação dos gestores da 
empresa.
 Preparar a logística (viagem, local, equiptos.).
 Preparar o material (informações sobre o 
projeto, lista inicial de requisitos).
 Preparar o “espírito” dos participantes para 
que pensem “fora da caixa”.
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 48
Elicitação Análise
Elicitação de Requisitos
2.5 - Workshop
Metodologia:
 Definir um facilitador experiente e treinado 
para conduzir o workshop, pois sua atuação 
será fundamental para obter o consenso. O 
facilitador não deve interferir nas decisões.
 Definir a agenda do workshop: deverá ser 
realizado para tomar decisões e não apenas 
para tomar coffe-break.
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 49
Elicitação Análise
Elicitação de Requisitos
2.5 - Workshop
Desafios:2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 50
Elicitação Análise
Elicitação de Requisitos
Técnica de Elicitação 6:
PROTOTIPAGEM
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 51
Elicitação Análise
Elicitação de Requisitos
2.6 - Prototipagem
Objetivo: 
Implementar parcialmente o sistema de software
a fim de ajudar desenvolvedores, usuários e 
clientes no entendimento dos requisitos.
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 52
Elicitação Análise
Elicitação de Requisitos
2.6 - Prototipagem
Metodologia:
Prototipagem conforme a necessidade e risco do projeto:
 Protótipo Arquitetural Descartável: avalia 
diversas alternativas tecnológicas, executa 
simulações. O protótipo é descartado e o 
aprendizado é utilizado para desenvolver o 
sistema final.
 Protótipo Arquitetural Evolucionário: o 
protótipo é mantido e evoluído durante o 
processo de desenvolvimento.
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 53
Elicitação Análise
Elicitação de Requisitos
Recomendações para Escrever Requisitos
 Utilizar frases curtas.
 Escrever apenas um requisito por frase.
 Utilizar vocabulário fechado, com termos definidos em 
glossário.
 Iniciar o texto do requisito sempre com o sujeito da 
oração (usuário, ator ou sistema), o verbo (deve/pode 
ou deveria/poderia), adicionar o predicado (o que fazer) 
e o resultado esperado.
 Sendo um requisito não funcional, deve ser capaz de 
aferir qualidade.
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 54
Elicitação Análise
Elicitação de Requisitos
Recomendações para Escrever Requisitos
 Evite termos como: ou, e/ou, etc., usualmente, assim 
que possível, geralmente, normalmente, tipicamente, 
aproximadamente, provavelmente, talvez.
 Não utilize termos vagos ou inalcançáveis como: 
amigável, versátil, flexível, livre de falhas, 100% 
confiável, roda em todas as plataformas, fácil de usar, 
alto desempenho, totalmente seguro, entre outros.
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 55
Elicitação Análise
Elicitação de Requisitos
Desafio para Escrever Requisitos
 Fazer P = P’, onde:
P é a função problema e 
P’ = IL1(IL2(P)), sendo:
IL1 a ilusão de que sabemos o que o usuário quer. 
IL2 a ilusão de que o usuário sabe o que quer.
 Sem o modelo de negócio não podemos inferir quais 
os verdadeiros relacionamentos, podendo criar um 
sistema fantasioso de acordo com o sonho do usuário, 
e não da necessidade da empresa!
2
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 56
Elicitação Análise
Referências Bibliográficas
I. SOMMERVILLE, Ian. Engenharia de Software. Alta Books, 2006, Capítulo 7.
II. PRESSMAN, R. S. Engenharia de Software. 6.ed. McGraw-Hill, 2006, 
Capítulo 8.
III. MAGELA, Rogério. Engenharia de Software Aplicada – Fundamentos. 8.ed. 
Pearson, 2007, Capítulo 1.
IV. BOMBONATTI, Denise Lazzeri Gastaldo. Concepção de Requisitos: Análise 
de Problemas. Slides, Centro Paula Souza.
V. BERTAGNOLLI, Silvia de Castro. FRIDA: um método para elicitação e 
modelagem de RNFs, tese de doutorado, UFRS, Porto Alegre, 2004. 
http://www.luDr.ufrgs.br/bitstream/handle/10183/3618/000402584.pdf?sequence=1
VI. http://caxarias.wordpress.com/modelo-e-r/
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 57
Outras Referências
I. http://progridbb.wikidot.com/engenhariadesoftware
II. http://www.ebah.com.br/content/ABAAABh98AD/analise-requisitos-ii
III. http://www.cin.ufpe.br/~eng_soft/eti901/NotasdeAulas/a3_2-requisitos.pdf
IV. http://www.macoratti.net/vb_dfd1.htm
V. http://apsgrupo01.wordpress.com/dfd/
VI. http://newsfalcon.blogspot.com.br/2012/05/dicionario-de-dados.html
VII.http://www.luis.blog.br/dicionario-de-dados.aspx
VIII.http://techblog.desenvolvedores.net/category/documentacao/
IX. http://gilmarborba.com.br/?p=184
Engenharia de Software II – Parte 3 - Prof. Celso Gallão – Slide 58

Outros materiais