Sommerville (2007) sugere dois níveis de descrição de requisitos:
Requisitos de Usuário (ou Requisitos de Negócio):
São declarações em linguagem natural acompanhadas de diagramas intuitivos de quais serviços são esperados do sistema e das restrições sob as quais ele deve operar.
Devem estar em um nível de abstração mais alto, de modo que sejam compreensíveis pelos usuários do sistema que não possuem conhecimento técnico.
Requisitos de Sistema:
Definem detalhadamente as funções, serviços e restrições do sistema.
São versões expandidas dos requisitos de usuário usados pelos desenvolvedores para projetar, implementar e testar o sistema.
Como requisitos de sistema são mais detalhados, as especificações em linguagem natural são insuficientes e para especificá-los, notações mais especializadas devem ser utilizadas.