De acordo com a definição da IEEE [IEEE610.12-90], o projeto do software compreende tanto definir a arquitetura, componentes, relações, e outras características de um sistema ou de um componente quanto o resultado do próprio processo. Esta área de conhecimento é dividida em seis sub-áreas.
A primeira subárea apresenta os fundamentos do projeto do software, que formam uma base à compreensão da importância do projeto do software, mostrando conceitos gerais do projeto do software, como o processo do projeto do software e técnicas que permitem o projetar o software.
A segunda subárea agrupa as peças chaves no projeto do software. Incluem a concorrência, o controle e a manipulação dos eventos, a distribuição dos componentes, a manipulação de erros e de exceções, interação, apresentação, tolerância à falha e persistência dos dados.
Já a terceira subárea é estrutura e arquitetura do software, possuindo os seguintes tópicos: estruturas da arquitetura, estilos da arquitetura, padrões de projeto, e, finalmente, frameworks. A quarta subárea descreve a análise e a avaliação da qualidade do projeto do software. Apesar de existir uma área de conhecimento inteira voltada para a qualidade do software, esta subárea possui um tópico relacionado especificamente à qualidade no projeto do software. Este tópico possui aspectos a respeito de atributos da qualidade, análise da qualidade, e técnicas e medidas da avaliação.
A quinta subárea é a de: notações do projeto do software, que está dividida em descrições estruturais e de comportamento. Por fim, a última sub-área descreve estratégias e métodos do projeto do software. Primeiro, as estratégias gerais são descritas, seguindo métodos de projeto orientados a função, métodos de projeto orientados a objeto, entre outros.