Escolar Documentos
Profissional Documentos
Cultura Documentos
1. Introdução
Embora a Engenharia de Software venha afirmando sistematicamente a necessidade da
especificação de requisitos, é comum, nos atuais ambientes de desenvolvimento de
software, que ela ainda seja realizada de maneira informal e artesanal. Quando
finalmente o produto fica pronto, não há registro das necessidades que o geraram e, na
melhor da hipóteses, os requisitos estão documentados. Decorrente deste fato, qualquer
validação do produto será feita sobre os requisitos e não sobre as necessidades que
motivaram o seu desenvolvimento. Os motivos de tal comportamento podem ser o
imediatismo por resultados, a redução de custos e a busca de uma suposta flexibilidade
no desenvolvimento. Tudo isso resulta, ao contrário do esperado, em projetos que
estouram em prazos e recursos; produtos que não satisfazem as necessidades de seus
clientes e que são de difícil manutenção e evolução.
Uma dificuldade que se apresenta sempre aos desenvolvedores de sistemas de software
é que o entendimento claro de um problema normalmente surge apenas durante a sua
resolução. Raros são os problemas que podem ser perfeitamente entendidos antes de
começarem a ser resolvidos. Todos os envolvidos no desenvolvimento precisam estar
conscientes da existência dos dois domínios:
VII Simpósio Internacional São Paulo, SP – Brasil
de Melhoria de Processos 21-23/11/2005
de Software www.simpros.com.br
2. Motivação
Este trabalho busca caracterizar melhor os domínios envolvidos no desenvolvimento de
um sistema de software e possibilitar que qualquer solução encontrada possa ser
validada na sua origem. São fornecidos subsídios para quebrar o paradigma “validação
sobre os requisitos especificados” e baseia-se no princípio de que os sistemas devem
ser construídos a partir de uma definição rigorosa dos seus objetivos e que leve em
consideração as expectativas de todos os interessados na sua construção.
Todos os métodos de definição de requisitos levam em consideração as necessidades
que devem ser atendidas pelo sistema. Então, onde reside a diferença que justifique
mais um no conjunto de métodos?
Nos métodos atuais os requisitos de software evoluem durante o seu desenvolvimento,
mas o conjunto de necessidades que os originaram permanece estática; desconsidera-se
o fato de que necessidades novas podem surgir, algumas podem desaparecer e muitas
provavelmente deverão ser ajustadas, corrigidas ou melhoradas para continuarem
existindo. No antigo paradigma, as necessidades são tratadas informalmente, não
evoluem após estar pronta a especificação dos requisitos. Isso torna o produto cada vez
mais distante das necessidades que o originaram.
Mantendo o registro das necessidades e permitindo a sua atualização temos, como
reflexo, uma melhor qualidade e um prolongamento na vida útil do produto. É claro que
isso tem seu preço: há um aumento na complexidade no desenvolvimento do projeto
pois mais informações precisam ser controladas. Acreditamos que a qualidade
adicionada ao produto final e a satisfação dos stakeholders compense o custo adicional.
VII Simpósio Internacional São Paulo, SP – Brasil
de Melhoria de Processos 21-23/11/2005
de Software www.simpros.com.br
Embora o presente método não tenha nenhuma restrição de aplicabilidade, ele foi
concebido tendo em vista sua aplicação em organizações de desenvolvimento de
software de pequeno e médio porte. Tal preferência se justifica pela grande carência que
pode ser observada nessas organizações e pela missão do Centro de Pesquisas Renato
Archer - CenPRA em atendê-las já que as grandes organizações em geral já possuem
políticas e recursos para tanto.
Todo o Ambiente
(principalmente social)
Beneficiário
Financeiro Sistema envolvente
(também sócio- tecnico )
Outros
Nosso Sistema Sistemas
(sócio- tecnico )
KIT
(Sw +Hw)
Beneficiário Beneficiário Operador (técnico) Legislador
Político Funcional Normal
Operador
Suporte Manutenção
Operacional
Consultor
Comprador Stakeholder
Negativo
Desenvolvedor
slots relevantes, populá-los e definir representantes para cada um deles. Além disso, é
também necessário definir a relevância da opinião de cada slot quando da tomada de
decisões, através da atribuição de pesos a cada um deles. Esses assuntos deverão ser
tratados durante os primeiros contatos envolvendo os proponentes do produto e os
especialistas responsáveis pela definição dos requisitos.
Beneficiário
Financeiro
Outros
Sistemas
Proponente
Beneficiário
Político
SW + HW
Beneficiário Operador Legislador
Operador
Especialistas Suporte
Manutenção
Operacional
de Consultor
Comprador
Requisitos Stakeholder
Negativo
Desenvolvedor
aprimorados. Esta etapa, para melhor entendimento, é dividida em quatro fases que são
descritas nas seções seguintes.
A Figura 3 ilustra o processo de captura das necessidades dos stakeholders e a partir
delas o estabelecimento do conjunto de features e requisitos..
Features
ESCOLHA DE FEATURES DEFINIÇÂO DE REQUISITOS
Análise em conjunto Análise em conjunto
com Stakeholders com Stakeholders
“donos da Necessidade” e Especialistas
Problema
Escopo Requisitos
NEGOCIAÇÂO LEVANTAMENTO
Decisão em Plenária DAS NECESSIDADES
Entrevistas
+
Análise no Slot
Necessidades
recusadas serão mantidas no sistema a título de histórico não sendo mais objeto de
análise do projeto.
No quadrante 3, ESCOLHA DE FEATURES, cada necessidade constante do escopo do
projeto é objeto de análise com o objetivo de definir pelo menos uma feature do futuro
sistema que a atenda. Podem existir diversas features alocadas a uma necessidade mas
nenhuma necessidade pode ficar sem uma feature alocada. Essa parte do processo é
executada por especialistas que, com o auxílio dos stakeholders que deram origem às
necessidades, buscam uma solução adequada à ela. O resultado é um conjunto de
features em que cada uma é descrita na forma de caso de uso com um nível alto de
abstração.
No último quadrante, DEFINIÇÃO DE REQUISITOS, as features são trabalhadas no sentido
de se chegar a um conjunto de recursos ou requisitos que as suporte. Tal tarefa deve ser
comandada pelos especialistas de requisitos auxiliados por stakeholders técnicos e
especialistas. O resultado é um conjunto dos requisitos do projeto descritos na forma de
casos de uso com um nível de detalhes que permita o seu entendimento por qualquer
interessado.
Note-se que o processo inicia-se com a proposta do problema pelos interessados no
desenvolvimento do sistema. Na primeira volta da espiral, a mais interna, é obtida a
maioria das necessidades, features e requisitos. As voltas adicionais da espiral sugerem
que os conjuntos de necessidades, features e requisitos podem sempre ser alterados seja
para modificação, incorporação ou remoção de elementos.
VII Simpósio Internacional São Paulo, SP – Brasil
de Melhoria de Processos 21-23/11/2005
de Software www.simpros.com.br
N1 1
2
N2 Sugestões de
Features e
Requisitos
Coletados
Ni i 2
SW + HW
I+1
Ni+1
n 1
Necessidades
Nn
Escopo
- Entrevista ANALISTA-i-ésimoREPRESENTANTE
Tratamento de Redundâncias/Confitos 1 Decisão Final para definição de ESCOPO + Registro
i
- Reuinão Geral do Slot 2 Registro deFeatures e Requisitos Sugeridos
Necessidades Necessidades
Features 6
Features
R1 Requisitos
3
F1 R2
R3
N1 F2
R4
F3
1 R5
Escopo
N2 F4 R6
N3 F5 R7
N2
R8
F6
R9
N2 F7 5
R10
N2
R11
Fi
Ri
Fn
Ri+1
2 Rn
Sugestões de Features
e Requisitos Coletados
4
É importante frisar também que a opção por um ou mais instrumentos pode ser
determinada por ferramentas utilizadas para a definição dos requisitos.
6. Conclusão
Neste trabalho foi apresentado um método de definição de requisitos utilizando as
necessidades para a dedução dos requisitos e enfatizando a importância de sua captura e
registro. Tal abordagem possibilita que o produto final possa ser validado não apenas
nos requisitos utilizados no seu projeto mas, principalmente nas necessidades dos
stakeholders. Registrando todas as necessidades, mesmo as que forem consideradas fora
do escopo do projeto, por estratégia ou falta de recursos, tais necessidades poderão
numa versão futura ser agregadas ao produto. Além disso, o conjunto das necessidades
do escopo pode evoluir através de inclusões, exclusões ou modificações nas
necessidades.
8. Referências
Alexander, I. F. “A Taxonomy of Stakeholders”,
htpp://easynet.co.uk/~iany/consultancy/stakholder_taxonmy
VII Simpósio Internacional São Paulo, SP – Brasil
de Melhoria de Processos 21-23/11/2005
de Software www.simpros.com.br
Motivação
• Relevância do assunto Especificação de Requisitos
dentro do processo de desenvolvimento de Sw
• Trabalho desenvolvido junto a uma empresa
desenvolvedora de Sw que tem como características:
• Um produto que é o seu carro chefe e que não possui
especificação de seus requisitos;
• Equipe pequena de desenvolvimento;
• Produto precisa evoluir continuamente pois tem vários
clientes potenciais com necessidades diversas.
Necessidade de um método que levasse em consideração
a natureza dinâmica dos requisitos, principalmente no que
diz respeito às necessidades e que pudesse ser utilizado
por empresas desenvolvedoras de Sw em geral
SIMPROS 2005 3
SIMPROS 2005 4
VII Simpósio Internacional São Paulo, SP – Brasil
de Melhoria de Processos 21-23/11/2005
de Software www.simpros.com.br
SIMPROS 2005 5
Problema x Solução
Aspirações e
Desejos Hardware
Pessoas
Necessidades
Stakeholders Software
Mundo Real SISTEMA
SIMPROS 2005 6
VII Simpósio Internacional São Paulo, SP – Brasil
de Melhoria de Processos 21-23/11/2005
de Software www.simpros.com.br
Elicitação
Análise
R1
Especificação
Captura R2
e Análise
Rx
Especificação de
Stakeholders Requisitos
Ry
Requisitos
Necessidades
SIMPROS 2005 7
Testes
Aceitação
e
Negociação Validação
Docume
de Espec ntos
ificação
Requisit de
os
Projeto
Elicitação
de
Requisitos
Contrato
SIMPROS 2005 8
VII Simpósio Internacional São Paulo, SP – Brasil
de Melhoria de Processos 21-23/11/2005
de Software www.simpros.com.br
Referência
Elicitação
Análise
Referência
Verificação Elicitação
Gerência Análise
Requisitos Verificação
Gerência Elicitação
Especificação
Requisitos
Análise
Especificação Verificação
Gerência
Requisitos
Especificação
SIMPROS 2005 9
Registrar Requisitos
SIMPROS 2005 10
VII Simpósio Internacional São Paulo, SP – Brasil
de Melhoria de Processos 21-23/11/2005
de Software www.simpros.com.br
SIMPROS 2005 11
Comunicações
Dinheiro
Associações Especialistas
Requisitos
Negócio
Serviços
Conhecimento
Tecnologias
Pessoas
Stakeholders
SIMPROS 2005 12
VII Simpósio Internacional São Paulo, SP – Brasil
de Melhoria de Processos 21-23/11/2005
de Software www.simpros.com.br
Outros
Sistemas
Beneficiário
Funcional
Beneficiário
Político
Operador
Normal
Preenchimento Sw + Hw
Legislador
Operador
Suporte Manutenção
Operacional
Consultor
Comprador Stakeholder
Negativo
SIMPROS 2005 14
VII Simpósio Internacional São Paulo, SP – Brasil
de Melhoria de Processos 21-23/11/2005
de Software www.simpros.com.br
Outros
Beneficiário
indica(m) representantes
Proponente Político
Suporte
Operador
consultado pode indicar
outros slots e seus
Manutenção
Operacional
Analistas Consultor
de Comprador Stakeholder
Negativo
Requisitos
Desenvolvedor
representantes
• O processo termina
quando não houver mais
sugestões de população
dos slots
SIMPROS 2005 15
N1 1
2
N2 Sugestões de
Features e
Requisitos
Sw + Hw
Ni i 2 Coletados
I+1
Ni+1
n 1
Necessidades
Nn
Escopo
- Entrevista ANALISTAi-ésimoREPRESENTANTE
1 Decisão Final para definição de ESCOPO + Registro
Tratamento de Redundâncias/Conflitos
i
2 Registro de Features e Requisitos Sugeridos
- Reunião c/ Slot
SIMPROS 2005 16
VII Simpósio Internacional São Paulo, SP – Brasil
de Melhoria de Processos 21-23/11/2005
de Software www.simpros.com.br
Captura Requisitos
e Features
Necessidades
Análise
Stakeholders
SIMPROS 2005 17
SIMPROS 2005 18
VII Simpósio Internacional São Paulo, SP – Brasil
de Melhoria de Processos 21-23/11/2005
de Software www.simpros.com.br
Rastreabilidade
Rastreamento Vertical e Horizontal
Horizontal
Necessidade x
Necessidade y
Vertical
Serviços Serviços
RequisitosRequisitos
Sw Sw RequisitosRequisitos
Hw Hw
Planos de Planos
Teste de Teste
Projeto Projeto ............... ...............
.......................
.......................
SIMPROS 2005 19
Problema
Escopo Requisitos
NEGOCIAÇÂO LEVANTAMENTO
Decisão em Plenária DAS
NECESSIDADES
Entrevistas
+
Análise no Slot
Necessidades
SIMPROS 2005 20
VII Simpósio Internacional São Paulo, SP – Brasil
de Melhoria de Processos 21-23/11/2005
de Software www.simpros.com.br
Referências
SIMPROS 2005 21
MUITO OBRIGADO!
Contatos
Divisão de Melhoria de Processos de Software - DMPS
Centro de Pesquisas Renato Archer - CenPRA
www.cenpra.gov.br
SIMPROS 2005 22