Atividades ligadas ao Levantamento de Requisitos
                            
                            De acordo com o PMBoK (Project Management Body of Knowledge), um guia que reúne o conjunto de Melhores Práticas em Gerenciamento de Projetos produzido pelo Project Management Institute
 (PMI, 2013, p. 110), o Plano de Gerenciamento dos Requisitos deve 
compor o Plano de Gerenciamento do Projeto de Software, sendo um 
documento que objetiva descrever como os requisitos serão analisados, 
documentados e gerenciados. De acordo com o guia, os componentes do 
Plano de Gerenciamento dos Requisitos podem incluir a definição:
                            - de como as atividades dos requisitos serão planejadas, rastreadas e relatadas;
 - das atividades de gerenciamento da 
configuração: como as mudanças do produto serão iniciadas, como os 
impactos serão analisados, rastreados, monitorados e relatados, os 
níveis de autorização necessários para aprovar tais mudanças etc.;
 - do processo de priorização dos requisitos;
 - das métricas do produto que serão usadas e os argumentos que justificam o seu uso;
 - da estrutura de rastreabilidade que reflita quais atributos dos requisitos serão capturados na matriz de rastreabilidade.
 
                            
                            O guia define um processo para a Coleta 
de Requisitos, que objetiva determinar, documentar e gerenciar as 
necessidades e requisitos dos stakeholders de forma a atender aos objetivos do projeto.
                            
                            
                            Os requisitos incluem condições ou 
capacidades que devem ser atendidas pelo projeto ou estar presentes no 
produto, serviço ou resultado para cumprir um acordo ou outra 
especificação formalmente imposta. Os requisitos incluem as necessidades
 quantificadas e documentadas e as expectativas do patrocinador, cliente
 e outras partes interessadas. Estes requisitos precisam ser obtidos, 
analisados e registrados com detalhes suficientes para serem incluídos 
na linha de base do escopo e medidos uma vez que a execução do projeto 
se inicie.
                            Fonte: PMI (2013, p. 112)
                             
                        
                    
                
            	
        	
        
        
        	
            	
                
                	
                        
                        	O levantamento ou elicitação de requisitos 
tem como principal objetivo definir e documentar as funções e 
funcionalidades do sistema necessárias para atender às necessidades e 
expectativas dos stakeholders. O sucesso do sistema é diretamente influenciado pela atenção ao levantamento e ao gerenciamento dos requisitos.
                            Pressman (2011, p. 133) afirma que o 
levantamento de requisitos combina atividades ligadas à análise, 
negociação e especificação. O autor sugere que os stakeholders 
devam trabalhar juntos para identificar o problema, propor soluções, 
negociar abordagens diferentes e especificar os requisitos iniciais da 
solução, dentro de uma abordagem colaborativa.
                            Sommerville (2011, p. 70) indica como 
atividades essenciais ao levantamento de requisitos: descoberta de 
requisitos; classificação e organização dos requisitos, priorização e 
negociação dos requisitos e especificação dos requisitos.
                         
                        
                     
                 
            	 
        	 
         
        
        	
            	
                
                	
                        
                        	A figura ilustra as principais atividades ligadas ao levantamento de requisitos:
                            
                            
                            
                            
                            Atividades do levantamento de requisitos.
Fonte: baseado em SOMMERVILLE (2011) e PRESSMAN (2011)
 
                             
                            
                            
                            Sommerville (2011) enumera os seguintes motivos que tornam a elicitação de requisitos um processo difícil:
                            - Os stakeholders usualmente não 
sabem bem o que querem de um sistema computacional, não conhecem seus 
limites e muitas vezes solicitam coisas inviáveis;
 - Os stakeholders expressam os 
requisitos usando seus termos, que têm implícito seu conhecimento de 
trabalho, e os engenheiros de requisitos podem não compreendê-los;
 - Diferentes stakeholders possuem
 requisitos distintos e podem expressá-los de forma distinta, então os 
engenheiros de requisitos devem buscar descobrir semelhanças e 
conflitos;
 - Fatores políticos, como gerentes desejarem requisitos que aumentem seu poder na organização, podem influenciar os requisitos;
 - Novos requisitos podem surgir em função da entrada de novos stakeholders, mudanças no cenário econômico podem provocar mudanças nos requisitos e, ainda, a importância dos requisitos pode ser alterada.
 
                         
                     
                 
            	 
        	 
         
        
        	
            	
                
                	
                        
                        	
                            
                            
                            
                            Como podemos notar, caro aluno, a 
negociação é essencial para balancear as diferentes opiniões e os 
conflitos provocados pelos diferentes stakeholders no processo de elicitação de requisitos.
                            Também é importante que os requisitos 
levantados sejam documentados para que possam ajudar na descoberta de 
novos requisitos. Os componentes da documentação podem incluir, mas não 
estão limitados, a:
                            - A necessidade do negócio ou oportunidade
 a ser aproveitada, descrevendo as limitações da situação atual e por 
que o projeto foi empreendido;
 - Objetivos do negócio e do projeto para permitir rastreamento;
 - Requisitos funcionais descrevendo 
processos de negócio, informações e interação com o produto de forma 
apropriada a ser documentada textualmente;
 - Requisitos não funcionais, tais como nível de serviço, desempenho, cuidados, segurança, atendimento a leis e regulamentos etc.;
 - Impactos em outras áreas organizacionais;
 - Impactos em outras entidades internas ou externas à organização.
 
                         
                     
                 
            	 
        	 
         
        
        	
            	
                
                	
                        
                        	
                            
                            Para que este processo 
ocorra com sucesso, os requisitos devem ser claros, completos, sem 
ambiguidade, implementáveis, consistentes e testáveis, como mostra a 
tabela. Os requisitos que não apresentem tais qualidades são 
problemáticos: eles devem ser revistos e renegociados com os clientes e 
usuários.
                            
                            TABELA – Características dos requisitos
                            
                            
                            
                            Não ambíguo  | 
                            Todo requisito tem apenas  uma interpretação possível.  | 
                            
                            
                            Correto  | 
                            Todo requisito representa  algo requerido do sistema ou funcionalidade a ser construída.  | 
                            
                            
                            Completo  | 
                            Contém o que o software  deve fazer e atender em todas as situações possíveis.  | 
                            
                            
                            Compreensível  | 
                            Todas as pessoas podem  facilmente compreender o significado de todos os requisitos com um mínimo de  explicação.  | 
                            
                            
                            Verificável  | 
                            Atende ao conjunto de  técnicas que podem ser usadas para verificar que todo requisito está  implementado pelo sistema.  | 
                            
                            
                            Internamente consistente  | 
                            Não deve haver requisitos  conflitantes entre si.  | 
                            
                            
                            Externamente consistente  | 
                            Não deve haver requisitos  conflitantes com outra documentação de projeto já definida.  | 
                            
                            
                            Realizável  | 
                            Possibilita que um  projeto seja implementado corretamente com todos os requisitos  declarados.  | 
                            
                            
                            Conciso  | 
                            É tão pequeno quanto  possível, sem afetar qualquer outra qualidade que deva atender.  | 
                            
                            
                            Rastreável  | 
                            É escrito de modo que  facilite o “referenciamento” de cada requisito individualmente.  | 
                            
                            
                            Modificável  | 
                            Sua estrutura e estilo  são tais que qualquer mudança pode ser feita facil, completa e  consistentemente.  | 
                            
                            
                            Anotado por importância relativa  | 
                            Permite que se possa  facilmente determinar qual requisito é mais importante para os clientes.  | 
                            
                            
                            Anotado por estabilidade relativa  | 
                            Permite que se possa  facilmente determinar qual requisito é mais suscetível à mudança.  | 
                            
                            
                            Organizado  | 
                            Permite que se possa  facilmente localizar informações e relacionamentos lógicos entre seções adjacentes.  | 
                            
                            
                            Fonte: Gonsales, 2010