Кіріспе

Функционалдық дизайн – компьютерлік бағдарламалық қамтамасыз ету және, көбіректеп, 3D модельдер сияқты аппараттық және бағдарламалық құрылғылардың дизайнын жеңілдетуге қолданылатын парадигма. Функционалдық дизайн құрылғының әрбір модульдік бөлігінің тек бір ғана міндеті бар екенін және ол міндетті басқа бөліктерге ең аз мүмкін әсермен орындайтынын қамтамасыз етеді. Функционалдық дизайнмен жасалған модульдер әдетте төмен байланысқа ие болады.

Артықшылықтар

Іске асырудың артықшылығы - егер бағдарламалық модульдің бір ғана мақсаты болса, оны жобалау және іске асыру оңайырақ, демек, арзанырақ болады. Функционалдық тұрғыдан жобаланған бөліктері бар жүйелерді өзгерту оңай, себебі әрбір бөлік тек өзіне жүктелген міндетті орындайды. Жүйенің қызмет көрсету кезеңі, сәтті жүйенің өмірінің үштен астам бөлігін құрайтындықтан, бұл мүмкіндік өте маңызды артықшылық. Бұл жүйені түсінуді және құжаттауды да жеңілдетеді, оқыту процесін оңайлатады. Соның салдарынан функционалдық жүйенің пайдалану мерзімі ұзарады. Бағдарламалар жүйесінде функционалдық модульді қайта пайдалану ыңғайлы, өйткені ол жүйенің басқа бөліктерінде көрінетін қосымша әсерлерге (жанама әсерлерге) ие болу ықтималдығы төмен.

Техника

Функционалдық жобалауды қамтамасыз етудің стандартты тәсілі – модульдің сипаттамасын қарап шығу. Егер сипаттамада "және" немесе "немесе" сияқты сөздер қолданылса, онда жобаның бірнеше міндеті бар, демек, ол қосымша әсерлерге ұшырауы мүмкін. Функционалдық жобалауға қол жеткізу үшін міндеттерді бірнеше модульге бөлу керек.

Сын-пикирлер мен шектеулер

Әрбір компьютер жүйесінде функционалдық тұрғыдан таза бола алмайтын бөліктер болады, себебі олар CPU циклдарын немесе басқа ресурстарды түрлі модульдерге тарату үшін қажет. Мысалы, көптеген жүйелерде модульдерді іске қосатын "бастапқы орнату" бөлімі бар. Басқа белгілі мысалдар – үзіліс векторлық кестесі және негізгі цикл. Кейбір функциялардың мәні аралас болады. Мысалы, "көлікті гараждан жылжыту" функциясы "көлік орнын" өзгертудің қосымша әсеріне ие. Кейбір жағдайларда аралас мән үлкен топологиялық ағашқа немесе байланысты ұғымдардың графигіне дейін созылуы мүмкін. Мұндай ерекше жағдайларда, кейбір мамандар функционалдық дизайнды ұсынбайды. Оның орнына полиморфизм, мұрагерлік немесе процедуралық әдістерге басымдық беру ұсынылады.

3D модельдеу мен симуляцияға қолданылады

Соңғы уақытта бірнеше бағдарламалық қамтамасыз ету компаниялары функционалдық дизайнды 3D модельдеу және симуляция үшін параметрлік ерекшеліктерге негізделген модельдеуші түсінігі ретінде енгізді. Олардың ойынша, бұл нақты әлемнің жобалау талаптарымен байланысты параметрлерге ие объектінің параметрлік моделі, мысалы, материалдың беріктігіне және симуляцияда оған түсетін күш мөлшеріне қарай диаметрін өзгертетін ось. Бұл механикалық және тіпті сәулеттік/құрылымдық жиналымдарды жобалау процесінде тиімділікке қол жеткізуге, сондай-ақ шекті элементтер талдауының нәтижелерін жеке объектілердің мінез-құлқымен тікелей байланыстыруға мүмкіндік береді деп күтілуде.