Proqram dizaynı

Proqram dizaynı () — proqram təminatının əsas strukturunun və davranışlarının necə qurulacağını müəyyən edən prosesdir. Bu proses proqramın funksionallığını, modul quruluşunu, və digər texniki aspektlərini planlaşdırır.Ralph, P. and Wand, Y. (2009). A proposal for a formal definition of the design concept. In Lyytinen, K., Loucopoulos, P., Mylopoulos, J., and Robinson, W., editors, Design Requirements Workshop (LNBIP 14), pp. 103–136. Springer-Verlag, p. 109 . Proqram dizaynı, proqramın həm istifadəsini, həm də onun inkişaf və dəstəklənməsini asanlaşdıran ən yaxşı təcrübələrə və prinsiplərə əsaslanır.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

 Əsas istiqamətləri 
 Tələblərin analizi — proqramın həll etməli olduğu məsələləri müəyyən etmək. Tələbləri toplamaq və dəqiq başa düşmək vacibdir, çünki dizayn bu tələblər əsasında qurulur.
 Arxitektura dizaynı — proqramın ümumi quruluşunun və arxitekturasının planlaşdırılması. Bu mərhələdə proqramın əsas komponentləri, modullar və onların qarşılıqlı əlaqələri müəyyən edilir. Məsələn, çoxmodullu bir sistemdə hər bir modulu, onun funksionallığını və digər modullarla əlaqələrini müəyyən etmək.
 Detallı dizayn — arxitektura dizaynından sonra hər bir modulun və funksiyanın təfərrüatları hazırlanır. Bu mərhələdə dəyişənlərin, funksiyaların, məlumat strukturunun və algoritmlərin təfərrüatları müəyyən olunur.
 İstifadəçi interfeysi dizaynı — əgər proqram istifadəçilə birbaşa qarşılıqlı əlaqədə olacaqsa, istifadəçi interfeysinin dizaynı çox vacibdir. İstifadəçinin rahat və səmərəli şəkildə proqramdan istifadə etməsi üçün uyğun interfeys və naviqasiya qurulmalıdır.
 Prototipləşdirmə və test dizaynı — proqramın funksionallığını ilkin mərhələdə sınamaq üçün prototip hazırlamaq və mümkün səhvləri aradan qaldırmaq üçün test dizaynını yaratmaq. Bu mərhələ proqramın dizaynını təkmilləşdirməyə və səhvləri erkən aşkar etməyə kömək edir.Davis, A:"201 Principles of Software Development", McGraw Hill, 1995.

 Əsas prinsipləri 
 Modulyarlıq — proqram müxtəlif, müstəqil modullara bölünməli və hər modul öz funksiyasını yerinə yetirməlidir. Bu proqramın oxunaqlı və təkmilləşdirilə bilən olmasını asanlaşdırır.
 Abstraksiya — çətin məsələləri sadə formalarda təqdim etmək. Təfərrüatlara ilişmədən proqramın ümumi məqsədini saxlamağa kömək edir.
 İstifadə asanlığı — hər bir funksional element və interfeys istifadəçi dostu və intuitiv olmalıdır.
 Uyğunluq və təkrar istifadə — dizaynı elə qurmaq lazımdır ki, komponentlər başqa proqramlarda və ya digər hissələrdə də istifadə edilə bilsin.
 Çeviklik və uyğunlaşma — proqram dizaynı elə qurulmalıdır ki, proqram asanlıqla yeni funksionallıqlar əlavə etməyə və dəyişikliklərə uyğunlaşmağa imkan versin.

 Dizayn nümunələri 
Dizayn nümunələri müəyyən problemlərin sınanmış həll yollarını təklif edir. Məşhur dizayn nümunələrinə:
 Singleton — bütün proqramda bir obyektin yalnız bir dəfə yaradılmasını təmin edir.
 Observer — bir obyektin vəziyyətində dəyişiklik baş verdikdə, digər obyektlərin bu dəyişikliklərə reaksiya verməsini təmin edir.
 Factory — müxtəlif obyektlər yaratmaq üçün ümumi interfeysi təmin edir.

Yaxşı düşünülmüş proqram dizaynı inkişaf və dəstək mərhələlərində daha az vaxt və resurs tələb edir, proqramın istifadəçi üçün funksional və sabit qalmasına kömək edir.

 İstinadlar 

Kateqoriya:İnformatika