Baixe o app para aproveitar ainda mais
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
Compartilhar