230 likes | 334 Vues
Universidade Federal de Pernambuco Departamento de Informática Mestrado em Ciência da Computação. Definição de Prioridades de Requisitos. Tópicos Avançados de Engenharia de Software 1 Alexandre Vasconcelos Jaelson Castro. Tópicos. Introdução Porquê Priorizar Requisitos?
E N D
Universidade Federal de Pernambuco Departamento de Informática Mestrado em Ciência da Computação Definição de Prioridades de Requisitos Tópicos Avançados de Engenharia de Software 1 Alexandre Vasconcelos Jaelson Castro Ana Karina Barbosa / Cristine Gusmão
Tópicos • Introdução • Porquê Priorizar Requisitos? • Métodos e Técnicas de Priorização • Considerações Finais • Conclusão • Agradecimentos Ana Karina Barbosa / Cristine Gusmão
Introdução O fundamental para o sucesso, em qualquer modelo de desenvolvimento de software, é a Definição e Análise dos Requisitos • Necessidades e Expectativas dos Stakeholders • Gerência dos Requisitos do Sistema • Negociação e Concordância de Requisitos • Processo de Desenvolvimento • Produção do Software Como selecionar um subconjunto dos requisitos do cliente e ainda assim produzir um sistema que atenda todas as necessidades? Ana Karina Barbosa / Cristine Gusmão
Porquê Priorizar Requisitos? • Seleção informal de processos • Não utilização de técnicas • Não conhecimento da importância dos requisitos • Custos e dificuldades técnicas associadas O conhecimento sobre a Priorização de Requisitos ajudará a focar o processo de desenvolvimento e a uma maior eficiência e competência na gerência de projetos. Ana Karina Barbosa / Cristine Gusmão
Porquê Priorizar Requisitos? • Determinar o grau de importância de cada requisito para o cliente • Os requisitos mais críticos deverão ser implementados primeiro • Identificar requisitos conflitantes • Planejar revisões sucessivas do produto Ana Karina Barbosa / Cristine Gusmão
Típicos Participantes de um Processo de Priorização • Gerente de Projeto • Representantes dos Clientes • Representantes dos Desenvolvedores Ana Karina Barbosa / Cristine Gusmão
Métodos e Técnicas de Priorização • QFD - Quality Function Deployment (Yoji Akao) • AHP - Analytic Hierarchy Process (T.L. Saaty) • Comparação Pairwise • Avaliação Numérica • Priorização baseada no valor, custo e risco Ana Karina Barbosa / Cristine Gusmão
Quality Function Deployment • O conceito de QFD foi introduzido no Japão por Yoji Akao em 1966 • É uma forma de assegurar a qualidade do projeto, enquanto o produto está na fase de planejamento • Quando apropriadamente aplicado o QFD demonstra uma redução do tempo de desenvolvimento de 1/2 para 1/3 House of Quality Ana Karina Barbosa / Cristine Gusmão
Quality Function Deployment Partindo da voz do cliente para a especificação técnica do projeto • Identificando o Cliente • Determinando os Requisitos do Cliente • Priorizando os Requisitos • Competição de Idéias • Convertendo os Requisitos do Cliente em Requisitos de Engenharia Mensuráveis • Definindo metas para o projeto Ana Karina Barbosa / Cristine Gusmão
Analytic Hierarchy Process • Desenvolvido por T. L. Saaty - 1980 • Pontos Fortes • Conceitualmente simples e de fácil entendimento • Robusto o suficiente para lidar com problemas complexos • Pontos Fracos • Dados quantitativos solicitados • Julgamento ainda é um fator Ana Karina Barbosa / Cristine Gusmão
Analytic Hierarchy Process • O AHP é baseado no domínio da hierarquização, onde o problema é decomposto em níveis hierárquicos. • Passos • Escolha os requisitos para priorizar • Coloque os requisitos na matriz AHP n x n • Utilização da comparação pairwise • Some as colunas • Normalize a soma das colunas • Calcule a média das linhas Ana Karina Barbosa / Cristine Gusmão
Estudo de Caso Projeto RAN (Radio Access Network) - O objetivo do projeto era identificar e especificar requisitos para um sistema que daria informações gerencias sobre Operação de Telefonia Móvel. (Joachim Karlsson, Kevin Ryan) • Identificação dos níveis de requisitos - 14 de alto nível • Definição dos Valores dos Requisitos • Definição dos Custos dos Requisitos • Análise do Custo - Valor dos Requisitos Os resultados obtidos indicaram que a técnica pairwise é muito mais rápida, embora o número de comparações seja muito maior, além de ser mais informativa. Ana Karina Barbosa / Cristine Gusmão
Priorização baseada no Valor, Custo e Risco Escolha de Requisitos que apresentam o melhor custo benefício (abordagem tradicional). Utilização de técnicas como a pairwise Problema: existência de risco associada a cada requisito Riscos técnicos e de desenvolvimento precisam ser avaliados Ana Karina Barbosa / Cristine Gusmão
Estudo de Caso Benefício Relativo Penalidade Relativa Valor Total Custo Relativo Risco Relativo Requisito Prioridade Prioridade = Valor% Custo% * peso do custo + Risco % * peso do risco Ana Karina Barbosa / Cristine Gusmão
Riscos sistema corrente Riscos sistema proposto Custos Benefícios Riscos desenvolvimento Metodologia SERUM Modelos da Análise de Negócio e recomendações 1. Refinar sistema proposto avaliando os riscos no sistema corrente 2. Refinar sistema proposto avaliando os riscos no sistema proposto 3. Definir mudanças 4. Executar análise custo-benefício 5. Avaliar riscos de desenvolvimento Ana Karina Barbosa / Cristine Gusmão
Riscos sistema corrente Riscos sistema proposto Custos Benefícios Riscos desenvolvimento Plano de Mudanças Plano de Controle de Risco de Desenvolvimento 6. Priorizar mudanças utilizando a análise de custo-benefício & avaliação de riscos 7. Desenvolver plano de mudança 8. Criar planejamento de controle de risco de desenvolvimento Ana Karina Barbosa / Cristine Gusmão
Riscos sistema corrente Riscos sistema proposto Plano de Controle de Risco Técnico 9. Criar planejamento de controle de risco técnico para os riscos aceitáveis Ana Karina Barbosa / Cristine Gusmão
Ordenado Por: Benefício Depois Por: Depois Por: Depois Por: Custo Eficácia em redução de risco Exposição à risco de desenvolvimento Ana Karina Barbosa / Cristine Gusmão
Custo Benefício Custo Benefício EER ERD Mudança Melhorar velocidade de comunicação Muito alto 1 mês 0,44% OK 15 Interface para ferramenta de planejamento Muito alto 2-3 meses OK 2,64% 44 Estudo de Caso NEC Corporation Projeto de planejamento de versões do Sistema de Gerenciamento de Redes Ana Karina Barbosa / Cristine Gusmão
Considerações Finais • Avaliação dos requisitos candidatos • Detecção de deficiências • Diversidade de fatores • Utilização de métodos complementares • Requisitos que não participam da priorização • Funções de negócio Ana Karina Barbosa / Cristine Gusmão
Considerações Finais • Dificuldades na estimativa de benefícios, custos e risco • Utilização de método e técnicas de priorização como Guidelines Ana Karina Barbosa / Cristine Gusmão
Conclusão • Priorizar é o ato de dar precedência a um item em relação à outro. Existe um crescimento na literatura que ressalta a importância de priorização de requisitos. • Existem pesquisas que indicam que a grande maioria das funções de software desenvolvidas são raramente (19%) ou nunca utilizadas (45%). Só 36% são algumas vezes ou sempre utilizadas. Ana Karina Barbosa / Cristine Gusmão
Agradecimentos • Sra. Edna Pacheco (PR/BR) • Sr. Kevin Ryan (Irlanda) • Sr. Joachim Karlsson (Suécia) • Prof. Jaelson Castro (PE/BR) Ana Karina Barbosa / Cristine Gusmão