É o uso sistemático de princípios, técnicas, linguagens e ferramentas comprovadas para análise, documentação, evolução continuada das necessidades dos usuários e especificação do comportamento externo de um sistema para satisfazer as necessidades do usuário, que sejam efetivas em termos de custos. Visa, principalmente, o entendimento escrito do problema.