View
107
Download
2
Category
Preview:
Citation preview
Ana Karina Barbosa / Cristine Gusmão
1
Definição de Prioridades de Requisitos
Tópicos Avançados de Engenharia de Software 1Alexandre Vasconcelos
Jaelson Castro
Universidade Federal de Pernambuco
Departamento de Informática
Mestrado em Ciência da Computação
Ana Karina Barbosa / Cristine Gusmão
2
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
3
Introdução
• 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
O fundamental para o sucesso, em qualquer modelo de desenvolvimento de software, é a
Definição e Análise dos Requisitos
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
4
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
5
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
6
Típicos Participantes de um Processo de Priorização
• Gerente de Projeto
• Representantes dos Clientes
• Representantes dos Desenvolvedores
Ana Karina Barbosa / Cristine Gusmão
7
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
8
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
9
Quality Function Deployment
• 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
Partindo da voz do cliente para a especificação técnica do projeto
Ana Karina Barbosa / Cristine Gusmão
10
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
11
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
12
Estudo de Caso
• 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
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)
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
13
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
14
BenefícioRelativo
PenalidadeRelativa
Valor Total
CustoRelativo
RiscoRelativo
PrioridadeRequisito
Prioridade = Valor%
Custo% * peso do custo + Risco % * peso do risco
Estudo de Caso
Ana Karina Barbosa / Cristine Gusmão
15
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
Riscos sistema corrente
Riscos sistema proposto
Custos
Benefícios
Riscos desenvolvimento
Ana Karina Barbosa / Cristine Gusmão
16
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
Riscos sistema corrente
Riscos sistema proposto Custos
Benefícios
Riscos desenvolvimento
Plano de MudançasPlano de Controle de Risco de Desenvolvimento
Ana Karina Barbosa / Cristine Gusmão
17
9. Criar planejamento de controle de risco técnico para os riscos aceitáveis
Riscos sistema corrente
Riscos sistema proposto
Plano de Controle de Risco Técnico
Ana Karina Barbosa / Cristine Gusmão
18
Ordenado Por:
Benefício
Depois Por:
Custo
Depois Por:
Eficácia em redução de risco
Depois Por:
Exposição à risco de desenvolvimento
Ana Karina Barbosa / Cristine Gusmão
19
Custo Benefício CustoBenefício
EER ERDMudança
Melhorar velocidadede comunicação
Interface para ferramenta de planejamento
1 mês
2-3 meses
Muito alto
Muito alto
OK
OK
0,44%
2,64%
15
44
NEC CorporationProjeto de planejamento de versões do Sistema de Gerenciamento de Redes
Estudo de Caso
Ana Karina Barbosa / Cristine Gusmão
20
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
21
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
22
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
23
Agradecimentos
• Sra. Edna Pacheco (PR/BR)
• Sr. Kevin Ryan (Irlanda)
• Sr. Joachim Karlsson (Suécia)
• Prof. Jaelson Castro (PE/BR)
Recommended