Uploaded by rafaelguibsons

Aulas 16, 21 e 23 08 Engenharia de requisitos

advertisement
SISTEMAS DE INFORMAÇÃO
Disciplina: Engenharia de Requisitos
TÉCNICAS PARA EXTRAÇÃO DE
REQUISITOS
Aulas 16, 21 e 23/08/2023
Prof.ª Me. Juliana Martins de Bessa Ferreira
2023/2
ITENS A SEREM ABORDADOS NA AULA DE
HOJE:
Atividades complementares;
Principais
técnicas
de
levantamento
(elicitação / extração) de requisitos
Entrevista
Questionário
Análise de Observação (Etnografia)
Brainstorm
Criação de Cenários
JAD (Joint Application Design)
Revisão de Documentação
Prototipação
Atividades Complementares
2
Fonte da imagem: http://www.clinicamarketing8ps.com.br/51-topicos-para-aumentar-as-vendas-do-seu-e-commerce/
ATIVIDADES COMPLEMENTARES
01. Imaginemos o seguinte cenário: Maria é dona de uma empresa
de desenvolvimento de sistemas computacionais e foi procurada
pela diretora da escola ALFA para o desenvolvimento de um
aplicativo mobile. Segundo ela, na escola possuem alguns alunos
com autismo e os mesmos estão com dificuldades de aprendizagem.
As professoras também estão tendo dificuldades em conseguir
acompanhar de perto a aprendizagem dos referidos alunos,
considerando a quantidade de alunos em cada sala de aula.
O aplicativo teria como objetivo auxiliar os professores e alunos com
autismo no processo de ensino aprendizagem.
Considerando o processo de Elicitação de requisitos, dentre os
stakeholders deste sistema estão: os profissionais de Tecnologia da
informação envolvidos no processo de desenvolvimento do software,
as professoras, os alunos com autismo, as mães e/ou pais dos
alunos autistas, a diretora da escola, dentre outros.
(
) Verdadeiro
(
) Falso
ATIVIDADES COMPLEMENTARES
2. Por que Desenvolver software é uma atividade
Justifique e fundamente sua resposta.
complexa?
3. Considere a imagem apresentada abaixo, na qual estão descritos
alguns dos fatores críticos para sucesso dos projetos de software.
Dentre estes fatores, encontram-se
“Requisitos Incompletos” e “Mudança
de Requisitos e Especificações”.
Neste contexto, como a Engenharia de
Requisitos pode auxiliar na diminuição
dos impactos que tais fatores geram
no desenvolvimento de sistemas
computacionais de qualidade? Não
esqueça de justificar e fundamentar
sua resposta:
4
ATIVIDADES COMPLEMENTARES
2. Por que Desenvolver software é uma
atividade complexa? Justifique e fundamente
sua resposta.
• Não existe uma única solução para cada cenário
de desenvolvimento.
• Lidamos o tempo todo com pessoas, o que torna o
sucesso do projeto bastante
relacionado
à
competência
da
equipe e à forma como
trabalham;
• Muitas vezes não fazemos uso de um processo
bem definido para apoiar as atividades do projeto.
Fonte: ÁVILA (2008)
5
4. Considere a imagem apresentada abaixo, na qual estão
descritos alguns dos fatores críticos para sucesso dos projetos
de software.
Dentre estes fatores,
encontram-se “Requisitos
Incompletos” e “Mudança
de Requisitos e
Especificações”.
Neste contexto, como a
Engenharia de Requisitos
pode auxiliar na
diminuição dos impactos
que tais fatores geram no
desenvolvimento de
sistemas computacionais
de qualidade? Não
esqueça de justificar e
fundamentar sua
resposta:
Fonte da imagem: ÁVILA (2008)
O PROCESSO DE ENGENHARIA DE
REQUISITOS
Fonte da imagem: Adaptado de: SOMMERVILLE (2007)
ENGENHARIA DE REQUISITOS É ÚTIL PARA...
8
IMAGINEMOS O DESENVOLVIMENTO DOS
SEGUINTES SISTEMAS COMPUTACIONAIS
O LEVANTAMENTO DE
REQUISITOS
ACONTECE DA MESMA
FORMA?
9
Sistema de simulador de roupas
10
Fonte: Looklet.com
Sistema de vendas de livros
11
Fonte: www.estantevirtual.com.br
Localização - Mapas
12
Fonte: https://www.google.com.br/maps/preview
TRASNPORTE - UBER
13
Fonte: https://www.techtudo.com.br/dicas-e-tutoriais/noticia/2017/02/comopedir-uma-corrida-no-uber-sem-ter-o-app-pelo-google-maps.html
O LEVANTAMENTO DE REQUISITOS
ACONTECE DA MESMA FORMA?
14
EXTRAÇÃO DE REQUISITOS
Extração de requisitos é o processo de transformação
das ideias que estão na mente dos usuários (a entrada) em
um documento formal (saída).
A meta é o reconhecimento dos elementos básicos do
problema, conforme percebidos pelo cliente.
15
Fonte: https://edisciplinas.usp.br/pluginfile.php/3142953/mod_resource/content/2/Aula09-Requisitos.pdf
PROBLEMAS NO LEVANTAMENTO DE REQUISITOS
DIFICULDADES DE
COMUNICAÇÃO
CLIENTE
AMBIGUIDADE
DESENVOLVEDOR
Fonte da imagem: https://www.acessa.com/negocios/arquivo/noticias/2017/05/08-dialogo-trabalho/
IMPORTÂNCIA DO LEVANTAMENTO DE REQUISITOS
Projeto e codificação perfeitos são de pouco
uso quando existem erros nos requisitos.
O analista formaliza as necessidades do
usuário, atuando como ponte entre ele e os
implementadores do sistema.
Custo da Ambiguidade
Processo crítico em um
projeto de software
Fonte da imagem: http://www.sclance.com/pngs/importante-png/view-page-1.htm
PRINCIPAIS TÉCNICAS DE LEVANTAMENTO
(ELICITAÇÃO / EXTRAÇÃO) DE REQUISITOS
Entrevista
Questionário
Análise de Observação (Etnografia)
Brainstorm
Criação de Cenários
JAD (Joint Application Design)
Revisão de Documentação
Prototipação
18
PRINCIPAIS TÉCNICAS DE LEVANTAMENTO
(ELICITAÇÃO) DE REQUISITOS
ENTREVISTA
É uma forma de
comunicação entre duas
pessoas (no mínimo), com
o objetivo de obter
informações.
19
Fonte da imagem: http://sueciaqueridos.blogspot.com.br/2013/03/entrevista-para-o-visto-de-sambo.html
ENTREVISTA
Em entrevista formal ou informal, a equipe de ER
formula questões para os stakeholders sobre os
sistemas que eles usam e o sistema a ser
desenvolvido.
Dois tipos de entrevistas:
Entrevistas fechadas: um conjunto de questões
predefinidas são respondidas.
Entrevistas abertas: não há um roteiro predefinido,
uma variedade de assuntos são explorados com os
stakeholders.
20
Fonte da imagem: http://www.ciadotomate.com/cia-do-tomate-brincadeira-telefone-sem-fio/
ENTREVISTA
Os elementos que participam no processo de
comunicação são:
1. Emissor (fonte da mensagem).
2. Receptor (quem recebe a mensagem).
3. A mensagem em si.
4. Retorno (Feedback) da mensagem.
5. Ruído, ou seja, todas as interferências, sejam elas
materiais ou psicológicas.
6. Código no qual a mensagem é produzida (língua
ou jargão).
Fonte da imagem: http://sueciaqueridos.blogspot.com.br/2013/03/entrevista-para-o-visto-de-sambo.html
DIRETRIZES PARA A REALIZAÇÃO DE
ENTREVISTAS
1. Identifique quais as pessoas que deverão ser
entrevistadas.
2. Desenvolva um plano geral para as entrevistas.
3. Obtenha autorização para realizar as entrevistas.
4. Combine planejamento com flexibilidade.
5. Cuidado com jargão “informatiquês” (linguagem e
diagramas).
6. Esteja atento para os diversos tipos de resistência.
- “você está ameaçando o meu emprego”.
- “você não conhece a empresa, como quer dizer como deve ser
o novo sistema?”.
- “você está tentando mudar o modo como as coisas são feitas
aqui”.
Fonte da imagem: http://sueciaqueridos.blogspot.com.br/2013/03/entrevista-para-o-visto-de-sambo.html
ENTREVISTA EFETIVAS
Os entrevistadores devem ter mente aberta,
desejarem ouvir os stakeholders e não ter ideias
preconcebidas sobre os requisitos.
Eles devem induzir os entrevistados com uma
questão ou uma proposta, e não simplesmente
esperar que eles respondam a uma questão tal como
“o que você quer?”
Fonte: https://edisciplinas.usp.br/pluginfile.php/3142953/mod_resource/content/2/Aula09-Requisitos.pdf
PRINCIPAIS TÉCNICAS DE LEVANTAMENTO
(ELICITAÇÃO) DE REQUISITOS
QUESTIONÁRIO
Forma de se obter dados
de uma grande amostra de
dados.
24
Fonte da imagem: http://verticebooks.com.br/blog/questionario-sobre-qualidade/
QUESTIONÁRIO
É uma série de perguntas organizadas com o
objetivo de levantar dados para uma pesquisa ou
estudo, cujas respostas são fornecidas pelo
informante sem a orientação direta do pesquisador.
O planejamento do questionário: conhecimento do
grupo ou do assunto;
Vantagens do uso de questionários:
- dispersão geográfica.
- grande número de usuários.
- trabalho por amostragem.
Fonte da imagem: http://verticebooks.com.br/blog/questionario-sobre-qualidade/
DESVANTAGENS DO USO DE QUESTIONÁRIOS
Inibição pensamento  escrita.
Inibição críticas e sugestões (anonimato???).
Resistência (falta de tempo / preguiça) para
preencher.
Fraca interação (restrição na comunicação).
Impossível direcionar conforme o caso.
EXEMPLO 01
EXEMPLO 02
Fonte da imagem: http://verticebooks.com.br/blog/questionario-sobre-qualidade/
PRINCIPAIS TÉCNICAS DE LEVANTAMENTO
(ELICITAÇÃO) DE REQUISITOS
ANÁLISE DE OBSERVAÇÃO
(ETNOGRAFIA)
Consiste na
observação dos
usuários em seu
ambiente enquanto
eles executam suas
atividades diárias.
27
Fonte: http://histofia.blogspot.com/2015/07/observacao-de-sala-de-aula-em-ciencias.html
ETNOGRAFIA
Pode ser usada para confirmação dos
resultados de uma entrevista, identificação de
documentos que devem ser analisados, etc.
Precauções:
- aprovação do gerente da área.
- comunicação para toda a área.
- transparência no processo (para evitar
resistências).
Fonte da imagem: http://verticebooks.com.br/blog/questionario-sobre-qualidade/
29
Fonte da imagem: https://canaldoensino.com.br/blog/entrevista-de-emprego-dez-coisas-para-pesquisar-sobre-a-empresa
PRINCIPAIS TÉCNICAS DE LEVANTAMENTO
(ELICITAÇÃO) DE REQUISITOS
BRAINSTORM
Técnica útil para obter rapidamente
informações sobre a situação atual e os
requisitos dos usuários.
30
Fonte: https://www.wrike.com/blog/rules-of-brainstorming-managers-guide-producing-great-ideas/
BRAINSTORM
É baseada em sessões de dinâmica de grupo na
qual os usuários envolvidos no processo de coleta
de informações participam de uma discussão em
grupo sobre um tema específico definido
anteriormente, conduzido por um mediador.
A sessão de brainstorm é dividida em duas etapas:
Etapa 1) DIVERGÊNCIA: produção de ideias sobre o tema
definido.
- estímulo da criatividade e registro das ideias.
Etapa 2) CONVERGÊNCIA: revisão e análise das ideias
sugeridas.
- neste ponto é ativado o lado crítico e analítico do
grupo.
Fonte da imagem: https://www.salesforce.com/ca/blog/2017/09/brainstorm-better-customer-service-experience.html
PRINCIPAIS TÉCNICAS DE LEVANTAMENTO
(ELICITAÇÃO) DE REQUISITOS
JAD (Joint Application Design)
32
Fonte: http://www.matera.com/br/2014/02/joint-application-design-jad/
JAD (joint application design)
PROJETO DE APLICAÇÃO CONJUNTA
Técnica criada pela IBM, também baseada em sessões
de dinâmica de grupo.
Diferente do brainstorm, é refinada e organizada, com
uma abordagem mais estruturada.
O uso deste tipo de técnicas resulta em definições mais
rápidas dos requisitos dos usuários, comparados com
técnicas tradicionais.
O JAD é uma reunião estruturada composta de:
- coordenador, ou moderador (que orienta a discussão).
- secretário (que anota as definições e elabora as atas).
- patrocinador (responsável pela área para a qual o sistema
é desenvolvido).
- demais participantes (desenvolvedores e usuários).
- auxiliares (que manuseiam as ferramentas durante a
reunião).
PRINCIPAIS TÉCNICAS DE LEVANTAMENTO
(ELICITAÇÃO) DE REQUISITOS
CENÁRIOS
As pessoas normalmente acham mais fácil se relacionar
com exemplos da vida real do que com descrições abstratas.
Elas podem compreender e criticar um cenário de como elas
podem interagir com um sistema de software.
34
Fonte: https://www.wrike.com/blog/rules-of-brainstorming-managers-guide-producing-great-ideas/
CENÁRIOS
Os cenários podem ser particularmente úteis para
adicionar detalhes a uma descrição geral de requisitos;
Trata-se de descrições de exemplos de sessões de
interação;
Cada cenário geralmente cobre um pequeno número
de interações possíveis;
Um cenário começa com um esboço da interação;
Podem ser escritos como textos, suplementados por
diagramas, telas, etc.
CRIAÇÃO DE CENÁRIOS
APLICATIVO MOBILE – VENDA E ENTREGA DE BEBIDAS E COMIDAS
36
Fonte: https://apkpure.com/dom-raphael/com.embarcadero.DomRaphael
PRINCIPAIS TÉCNICAS DE LEVANTAMENTO
(ELICITAÇÃO) DE REQUISITOS
REVISÃO DE DOCUMENTAÇÃO
37
Fonte: http://pbf-diariodebordo.blogspot.com.br/2012/08/conseguindo-bolsa.html
REVISÃO DE DOCUMENTAÇÃO
É uma das formas mais comuns de obtenção de
informações sobre a situação atual.
Uso de diversas fontes de informação, tais como:
manuais de procedimentos, documentação, manuais
de projeto, relatórios, etc.
Se necessário pode ser feito um processo de
inventário da documentação existente para servir
como referência.
Pode ser usada antes, durante e depois de outras
técnicas de obtenção de dados.
PROTOTIPAÇÃO
DESCARTÁVEL
39
Fonte: https://pt.stackoverflow.com/questions/21677/quais-s%C3%A3o-as-diferen%C3%A7as-entre-wireframe-prot%C3%B3tipo-e-mockup
PROTOTIPAÇÃO
EVOLUCIONÁRIA
40
Fonte: https://pt.stackoverflow.com/questions/21677/quais-s%C3%A3o-as-diferen%C3%A7as-entre-wireframe-prot%C3%B3tipo-e-mockup
PROTOTIPAÇÃO
DESCARTÁVEL
41
Fonte: https://www.vintepila.com.br/servicos/design-grafico/eu-vou-desenvolver-um-prototipo-para-seu-aplicativo/
PARA FINALIZAR:
REQUISITOS NÃO SÃO
ESTÁTICOS, ELES MUDAM
CONSTANTEMENTE
42
Fonte da imagem: http://www.sosprofessor.com.br/blog/dinamica-de-grupo-divertida/
VISÃO EM ESPIRAL
DO PROCESSO DE
ENGENHARIA DE
REQUISITOS
43
Fonte: SOMMERVILLE (2011)
VISÃO EM ESPIRAL DO PROCESSO DE ENGENHARIA
DE REQUISITOS
A elicitação e análise de
requisitos é um processo
iterativo, com feedback
contínuo de cada atividade
para as outras atividades. O
ciclo começa com a
descoberta dos requisitos e
termina com sua
documentação. O
entendimento do analista
de requisito melhora a
cada rodada do ciclo.
Quando se completa o
documento de requisitos, o
ciclo44 termina.
PROCESSO DE ELICITAÇÃO E ANÁLISE DE REQUISITOS
45
Fonte: SOMMERVILLE (2011)
ATIVIDADES COMPLEMENTARES
Pressman, 2011 (Capítulo 05)
5.2 Foi lhe dada a responsabilidade de extrair os
requisitos de um cliente que lhe diz que está muito
ocupado para poder atendê-lo. O que você deveria
fazer?
5.3 Discuta alguns dos problemas que ocorrem
quando os requisitos têm de ser obtidos de três ou
quatro clientes diferentes.
5.4 Descreva cada uma das técnicas de elicitação de
requisitos abordadas em sala de aula. Para cada
uma, apresente um Sistema onde esta técnica possa
ser utilizada de forma significativa.
46
ATIVIDADES COMPLEMENTARES
Sommerville, 2011
Você está trabalhando com um usuário de
software que contratou seu empregador anterior;
juntos, buscam desenvolver um sistema para ele.
Você descobre que a interpretação dos requisitos
por sua empresa atual é diferente da interpretação
de seu empregador anterior. Discuta o que você
deve fazer em tal situação. Você sabe que os
custos para seu atual empregador aumentarão se
as ambiguidades não forem resolvidas. No
entanto, você também tem a responsabilidade da
confidencialidade com seu empregador anterior.
47
ATIVIDADES COMPLEMENTARES
Ler este artigo:
https://analisederequisitos.com.br/tecnicas-levantamento-requisitos/?amp
48
REFERÊNCIAS
Capítulo 04  SOMMERVILLE, I., Engenharia de Software,
9 ed. São Paulo: Pearson Education do Brasil.
Capítulo 01  PRESSMAN, R. S., Engenharia de Software, 6
ed. McGraw-Hill.
Análise de Requisitos de Software. sd. Disponível em: http://www.slideshare.net/Ridlo/analise-derequisitos-software .Acesso em 10 ago. 2023.
DUARTE, Andreza. Técnicas de Análise de Requisitos. S.d. Disponível em:
http://pt.slideshare.net/katiaspeck/tcnicas-de-anlise-de-requisitos . Acesso em 10 ago. 2023.
MASSA, Mônica de Souza. Levantamento de Requisitos de Sistemas de Informação. 2009.
Disponível em:
http://www.google.com.br/url?sa=t&rct=j&q=%22t%C3%A9cnicas%20de%20levantamento%20de%20
requisitos%22%20ppt&source=web&cd=1&ved=0CCsQFjAA&url=http%3A%2F%2Ficaju.files.wordpres
s.com%2F2008%2F07%2F03-levantamento-de-requisitos-de-sistemas-deinformacao1.ppt&ei=FwlfUbW7KfPM0gHTpIHoDQ&usg=AFQjCNG5ECO2gPvKCdSy-BoP-_S3ZrqD1g .
Acesso em 10 ago. 2023.
Vídeo Aula:
Diferentes formas de levantamento e análise de requisitos. Disponível em:
https://youtu.be/lTG-M30XTbg .
49
Download