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