Existem ferramentas na internet para isso, aprendi a conhecê-las em minha pós-graduação em segurança da informação.
Uma busca rápida no google lhe ajuda.
Quanto aos requisitos e roteiros, concordo plenamente que existem coisas estranhas a nós programadores que eles pedem no roteiro, mas se estão lá tem um motivo, e julgar se é certo ou errado não vai fazê-los mudar de ideia, cabe a nós somente implementar e fazer funcionar como pedem, mas levantar as questões é bom, porque assim se gera a discussão e gerando a discussão pontos são levantados, e eles vão vendo isso e acertando, devagarinho mas vão .