Un document de proiectare software conturează specificațiile software-ului pentru a oferi o foaie de parcurs pentru dezvoltatori. Este produs la începutul procesului de dezvoltare a software-ului și poate fi modificat ca răspuns la circumstanțe și nevoi în schimbare. Această documentație este concepută pentru uz intern și de obicei nu este difuzată în afara echipei de proiectare și a birourilor clientului. În unele cazuri, extrase pot fi publicate ca parte a cercetării sau comunicării cu persoane din afara companiei.
Componentele documentului de proiectare software subliniază ce trebuie să facă produsul și cum ar trebui să facă acest lucru. Aceasta include arhitectura de bază a programului, împreună cu toate caracteristicile pe care dezvoltatorii trebuie să le includă în produsul finit. Documentația poate discuta despre interfața grafică și despre modul în care utilizatorii vor interacționa cu programul, pentru a oferi îndrumări programatorilor pe măsură ce acesta trece prin fazele de dezvoltare.
Mai multe persoane pot fi implicate în crearea unui document de proiectare software. Ei discută diverse nevoi și preocupări pentru a se asigura că documentul este complet și pentru a confirma că reprezintă cu exactitate nevoile clienților. Scopul lor este de a crea un singur ghid uniform pe care să-l folosească membrii echipei. Acest lucru asigură consecvența în procesul de dezvoltare, deoarece toată lumea folosește același document de referință atunci când proiectează și implementează caracteristici.
Pe lângă discuțiile despre cum ar trebui să funcționeze software-ul, documentul de proiectare a software-ului poate acoperi în mod explicit publicul țintă. O companie care lucrează la controale software pentru un echipament științific, de exemplu, poate presupune că orice utilizator este un om de știință sau un tehnician familiarizat cu mașina. Aceasta înseamnă că software-ul nu trebuie să includă simplificări ale limbajului tehnic sau discuții despre ceea ce fac controalele, deoarece utilizatorul ar trebui să știe deja acest lucru.
În schimb, software-ul conceput pentru procesarea de text poate avea nevoie de documentație și de un ghid pentru utilizatorii care nu sunt la fel de familiarizați cu procesarea de text și computerele. Poate fi utilizabil imediat pentru cineva cu experiență, dar ar putea avea module pe care oamenii să le folosească dacă doresc să învețe despre funcții, să obțină tutoriale sau să caute ajutor pentru o anumită sarcină. Parametrii prevăzuți într-un document de proiectare a software-ului pentru mai multe proiecte tehnice pot recomanda omiterea unor documentații și îndrumări ale utilizatorului cu privire la argumentul că utilizatorii software-ului nu au nevoie de acest lucru, ceea ce înseamnă că este posibil să nu existe niciun motiv pentru a investi timp și energie în dezvoltarea aceasta.