Проектування програмного забезпечення - це процес вирішення задач та планування для створення програмного рішення. Після того як мета і специфікація програми описані, розробник створить дизайн проекту, або найме дизайнера для розробки плану рішення. В дизайн включаються як описи низькорівневих компонентів, алгоритмів, так і огляд архітектури.
Проектуванню зазвичай підлягають:
Архітектура програмного забезпечення
Компоненти ПЗ
Користувацькі інтерфейси