Termenul proiectare de program provine din limba engleză de la software design. Proiectarea de program este activitatea de stabilire, pe baza analizei unei probleme, a modului general de rezolvare, a împărțirii problemei în subprobleme, precizând în acest fel structura bloc a programului și interfețele între modulele de program ce vor corespunde subproblemelor, de stabilire a funcțiilor modulelor, de testare la nivel de ansamblu a validității proiectului ș.a.

Proiectarea de program se face după caietul de sarcini si rezultă în architectura de software.

Activitatea de proiectare a programului poate fi sau nu integrată în activitatea sistematică de programare, constituind însă o primă etapă absolut necesară obținerii unor produse program de calitate.

Modele de design

modificare

Un designer de software sau un arhitect poate identifica o problemă de design care a fost vizitată și poate chiar rezolvată de alții în trecut. Un șablon sau un model care descrie o soluție la o problemă comună este cunoscut ca un model de design. Reutilizarea unor astfel de modele poate contribui la accelerarea procesului de dezvoltare a software-ului.[1]

Utilizare

modificare

Documentația de proiectare a software-ului poate fi revizuită sau prezentată pentru a permite modificarea specificațiilor și cerințelor înainte de programare pe calculator. Reproiectarea poate apărea după revizuirea unei simulări programate sau a unui etalon. Este posibil să se proiecteze software-ul în procesul de programare, fără un plan sau o analiză a cerințelor[2], dar pentru proiecte mai complexe acest lucru nu ar fi considerat fezabil. Un design separat înainte de programare permite proiectanților interdisciplinari și experților în materie de specialitate să colaboreze cu programatori cu înaltă calificare.

  1. ^ Judith Bishop. „C# 3.0 Design Patterns: Use the Power of C# 3.0 to Solve Real-World Problems”. C# Books from O'Reilly Media. Accesat în . If you want to speed up the development of your .NET applications, you're ready for C# design patterns -- elegant, accepted and proven ways to tackle common programming problems. 
  2. ^ Ralph, P., and Wand, Y. A Proposal for a Formal Definition of the Design Concept. In, Lyytinen, K., Loucopoulos, P., Mylopoulos, J., and Robinson, W., (eds.), Design Requirements Engineering: A Ten-Year Perspective: Springer-Verlag, 2009, pp. 103-136