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
1
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
2
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
Ana Karina Barbosa / Cristine
3
atenda todasGusmão
as necessidades?
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
4
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
5
Típicos Participantes de um
Processo de Priorização
• Gerente de Projeto
• Representantes dos Clientes
• Representantes dos Desenvolvedores
Ana Karina Barbosa / Cristine
Gusmão
6
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
7
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
Ana Karina Barbosa / Cristine
1/3
Gusmão
House of Quality
8
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
9
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
10
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
11
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
Barbosa
/ Cristine
muito maior, além de Ana
serKarina
mais
informativa.
Gusmão
12
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
13
Estudo de Caso
Requisito
Benefício Penalidade Valor Custo
Risco Prioridade
Relativo Relativa Total Relativo Relativo
Prioridade =
Valor%
Custo% * peso do custo + Risco % * peso do risco
Ana Karina Barbosa / Cristine
Gusmão
14
Metodologia SERUM
Riscos sistema
Modelos da
corrente
Análise de
Negócio e
1. Refinar sistema
recomendações
proposto avaliando
Riscos sistema
os riscos no sistema
proposto
corrente
2. Refinar sistema
proposto avaliando
Custos
os riscos no sistema
proposto
3. Definir mudanças
Benefícios
4. Executar análise
custo-benefício
Riscos
Ana Karina Barbosa / Cristine
desenvolvimento
Gusmão
5. Avaliar riscos15de
desenvolvimento
Riscos sistema
corrente
Riscos sistema
Custos
proposto
Benefícios
Riscos
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
Plano de Mudanças
Plano de Controle de Risco
de Desenvolvimento
Ana Karina Barbosa / Cristine
Gusmão
16
Riscos sistema
corrente
Riscos sistema
proposto
9. Criar planejamento de
controle de risco técnico
para os riscos aceitáveis
Plano de Controle de
Risco Técnico
Ana Karina Barbosa / Cristine
Gusmão
17
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
18
Estudo de Caso
NEC Corporation
Projeto de planejamento de versões do Sistema de
Gerenciamento de Redes
Mudança
Custo
Melhorar velocidade
de comunicação
1 mês
Interface para ferramenta 2-3
de planejamento
meses
Benefício Custo
EER
Benefício
ERD
Muito
alto
OK
0,44%
15
Muito
alto
OK
2,64%
44
Ana Karina Barbosa / Cristine
Gusmão
19
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
20
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
21
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
22
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
23
Download

Definição de Prioridades de Requisitos