Title: Defini
1Definição de Prioridades de Requisitos
Universidade Federal de Pernambuco Departamento
de Informática Mestrado em Ciência da Computação
- Tópicos Avançados de Engenharia de Software 1
- Alexandre Vasconcelos
- Jaelson Castro
2Tópicos
- Introdução
- Porquê Priorizar Requisitos?
- Métodos e Técnicas de Priorização
- Considerações Finais
- Conclusão
- Agradecimentos
3Introduçã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?
4Porquê 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.
5Porquê 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
6Típicos Participantes de um Processo de
Priorização
- Representantes dos Clientes
- Representantes dos Desenvolvedores
7Mé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
8Quality 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
9Quality 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
10Analytic 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
11Analytic 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
12Estudo 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.
13Priorizaçã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
14Estudo de Caso
Benefício Relativo
Penalidade Relativa
Valor Total
Custo Relativo
Risco Relativo
Prioridade
Requisito
Prioridade Valor
Custo peso do custo Risco peso do risco
15Metodologia 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
166. 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
179. Criar planejamento de controle de risco
técnico para os riscos aceitáveis
18(No Transcript)
19Estudo de Caso
NEC Corporation Projeto de planejamento de
versões do Sistema de Gerenciamento de Redes
20Consideraçõ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
21Considerações Finais
- Dificuldades na estimativa de benefícios, custos
e risco - Utilização de método e técnicas de priorização
como Guidelines
22Conclusã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.
23Agradecimentos
- Sra. Edna Pacheco (PR/BR)
- Sr. Kevin Ryan (Irlanda)
- Sr. Joachim Karlsson (Suécia)
- Prof. Jaelson Castro (PE/BR)