|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
9,10-11 дәрістер. Объектілік ұстанымға негізделген программалық жабдықтардың ерекшеліктері және оларға қойылатын талаптарОбъектіге бағ дарланғ ан программалау – бұ л программалық жабдық ты, қ андай да болмасын кластың ө кілі болып табылатын, объектілердің жиынтығ ы тү рінде қ ұ ратын программалау методологиясы. Объектіге бағ дарланғ ан жобалау – бұ л қ ұ рылатын ақ параттық жү йенің (немесе программалық жабдық тың ) барлық статикалық жә не динамикалық модельдерін объектілі декомпозициялау процесі мен модельдердің логикалық, физикалық тұ рғ ыдан беру тә сілдері негізінде жобалау методологиясы. Объектіге бағ дарланғ ан талдау – бұ л жобаланатын жү йеге қ ойылатын талаптар, пә дік облыстағ ы анық талғ ан кластар мен объектілер тұ рғ ысынан қ арастырылатын методология. Объектіге бағ дарланғ ан ұ станымның концептуалдық негіздеріне объектіге бағ дарланғ ан ұ станымның моделі жатады. Объектілік модельдеудің негізгі элементтері: абстаркциялау, инкапсуляция, модульділік жә не иерархия. Қ осымша элементтері: типтелу, паралеллизм жә не тұ рақ тылық. Абстракциялау – бұ л қ андай да болмасын объектіні, ө зге объектілерден ажырататын белгілері, сипаттамалары жә не т. б. арқ ылы бө ліп алу, жалпы абстракциялау объектінің сыртқ ы ерекшеліктеріне негізделеді. Объектіге бағ дарланғ ан ұ станымда, берілген объектінің дұ рыс абстракциялануы, жобалаудың негізгі міндеттерінің бірі болып саналады. Инкапсуляция – бұ л объектінің, ө зінің ішкі элементерінің, бір бірінен ажыратылу процесі. Бұ л процесс кезінде объектінің ішкі қ ұ рылымдары мен оқ иғ алары бір- бірінен дұ рыс ажыратылады. Инкапсуляция объектінің интерфейсін қ орғ ау ү шін қ олданылады немесе объектілік ұ станымда класстың ресурстарын, тек оның ө зінің ғ ана пайдалануын қ олдайды. Абстракциялау мен инкапсуляция бірін бірі толық тырады. Модульділік – бұ л программалық жабдық тың декомпозициялану кезінде ө зара байланысқ ан, бірақ ө те ә лсіз байланысқ ан модульдерге бө ліну қ асиеттері. Инкапсуляция мен модульділік қ асиеттері абстракцияларды бір- бірінен ажыратады. Иерархия – бұ л жү йедегі абстракцияланудың бір- біріне бағ ынышты тү рде реттеліп орналасуын тағ айындайды. Бұ л кү рделі жү йедегі класстардың қ ұ рылымы (иерархиясы). Мысалы, жай жә не кө п қ абылдаушылық ты айтуғ а болады. Типтелу – бұ л абстракцияғ а байланысты класстарды бір бірінен ажырату ү шін қ ойылатын шектеулер. Паралеллизм – бұ л объектінің актив жә не пассив тү рде болуын кө рсетеді. Тұ рақ тылық – бұ л объектінің ө мір сү ру уақ ытын кө рсетеді. Объектіге бағ дарланғ ан ұ станымның негізгі тү сініктері: объект, класс. Объект класстың экземпляры тұ рғ ысынан қ арастырылады. Объектінің кү йі, оқ иғ асы жә не жеке қ асиеттері болады. Объектіге ә сер етуді ә діс деп атайды. Класс қ абылдаушылық пен инкапсуляция жә не полиморфизмді (абстракцияны) қ анағ аттандыратын қ ұ рылымдық жиынтық тип ретінде қ абылданғ ан.. Объектіге бағ дарланғ ан анализ бен жобалау ә дістері модельдеу тілі мен модельдеу процестерінің сипаттамаларынан тұ рады. Модельдеу тілі жобаның сипаттамасын беру ү шін қ олданылатын нотация. Нотация – бұ л модельдерде қ олданылатын графиктік объектілердің жиынтығ ы. Модельдеу тілінің синтаксисі де нотациямен анық талады. Процесс – бұ л жобаны қ ұ ру кезінде жасалатын қ адамдардың сипаттамалары. UML (Unified Modeling Language) – бұ л 1980-1990 ж. қ олданылып келген, объектіге бағ дарланғ ан анализ бен жобалаудың орнына келген ә діс болып табылады. UML алу ү шін бірнеше авторлардың ә дістерін біріктіруге тура келді: Boosh – авторы Гради Буч; OMT (object modeling technique) – авторы Джеймс Рамбо; OOSE (object oriented SoftWare engineering) – авторы Ивар Якобсон. UML тілінің негізгі мақ саттары мен мү мкіндіктері: - қ олданушығ а тү сінікті болатын визуальды модельді қ ұ ру; - модельдегі базалық концепциялардың кең ейтуге бейім болуы; - программалау тілдеріне, қ ұ ру процессіне тә уелсіз болуы; - модельдеу тілінің формальды негізде болуын қ амтамасыз етеді; - объектілік бағ дарланғ ан жабдық тар нарығ ына стимуляция жасайды; - практикалық тә жірибелердің ең жақ сысын біріктіру жә не тарату; UML-дың пайда болу жә не даму тарихына сә йкес келесі нұ сқ алары белгілі (3. 11- сурет. Википедия бойынша 2011 жылғ ы мә лімет):
3. 11 –сурет. UML-дың нұ сқ алары туралы деректер UML 1. 4. 2 нұ сқ асы халық аралық ISO/IEC 19501: 2005 стандартының негізі болып саналады. UML –де қ олданылатын негізгі диаграммаларды келесі топтарғ а бө ліп қ арастырады (3. 12- сурет. Википедия бойынша 2011 жылғ ы мә лімет):
3. 12- сурет. UML –де қ олданылатын негізгі диаграммалар Мысалы, UML 2. 3 нұ сқ асында қ олданылатын диаграммалар «қ ұ рылымын» UML- дегі «класстар диаграммасын» (class diagram) пайдаланып келесі тү рде кө рсетуге болады (3. 13 - сурет). Варианттар диаграммасы – бұ л ұ ғ ымды Ивар Якобсон енгізген. Бұ л варианттар диаграммасы жү йенің қ андайда болмасын сыртқ ы ә рекетіне жауап беруі. Ә детте, варианттар диаграммасы жү йе мен қ олданушы арасындағ ы қ атынасты сипаттайды. Программалық жабдық ты жобалауда варианттар диаграммасы қ олданушының қ андай функцияларды орындау керектігін анық тау ү шін жасалады. Мұ нда байланыстың екі тү рі қ олданылады: USES (қ олдану), EXTENDS (кең ейту) CASE қ ұ ралдар варианттар диаграммасында детализацияны ә р тү рлі дең гейде қ олданады. Мысалы: Якобсон он адам бір жыл жасайтын жобалардағ ы варианттар саны 20-дан аспау керек деп есептейді.
3. 13- сурет. Диаграммалар қ ұ рылымы Класстар диаграммасы – жү йедегі класстардың статикалық қ ұ рылымын модельдеу ү шін жә не класстар арасындағ ы байланысты кө рсету ү шін жасалады. Класстар диаграммасы объектіге бағ дарланғ ан ұ станымдағ ы негізгі диаграмма болып табылады. Класстар диаграммасының қ ызметі: жү йедегі объектілердің типін анық тау жә не олардың арасындағ ы байланысты кө рсету болып келеді. Байланыстың статикалық екі тү рі қ олданылады: ассосация жә не подтиптер (тума типтер). Бұ лардан басқ а класстар диаграммасының элементтеріне атрибуттар, операциялар жә не объектілер арасындағ ы шектеулер жатады. Класстар диаграммасын жобалаудан бұ рын, ол диаграмманың қ андай мақ сатта қ олданылатынын анық тап алу керек. Класстар диаграммасын жобалаушы ү ш тү рлі мақ сатта қ олдануы мү мкін: - концептуалдық аспект – мұ нда класстар даграммасы зерттелетін пә ндік облыстағ ы негізі ұ ғ ымдарды анық тайды. Бұ л ұ ғ ымдар болашақ та қ ұ рылатын класстарғ а сә йкес болу керек, бірақ іс жү зінде ол барлық уақ ытта бірдей орындалмайды. Сондық тан концептуалдық модель болашақ ақ параттық жү йемен ә лсіз байланыста болады жә не ол программалау тіліне тә уелсіз болады; - спецификациялық аспект – мұ нда қ ұ рылатын диаграмма ақ параттық жү йенің (программалық жабдық тың ) интерфейсі дең гейінде жасалады. Класстың ө зінің ішкі қ ұ рылымы қ арасытырылмайды; - жү зеге асыру аспектісі (реализация) – мұ нда класстар диаграммасы ақ параттық жү йеге (программалық жабдық қ а) қ атысатын класстарды ішкі қ ұ рылымдарымен қ оса анық тайды. Бұ л аспекті программистер ү шін негізгі диаграмма болып табылады.
12- дә ріс. Қ олданушының интерфейсін қ ұ ру. Қ олданушы интерфейстерінің тү рлері жә не оларды қ ұ ру кезең дері Программалау технологиясында, қ олданушының компьютердің программалық жә не аппараттық жабдық тарымен жұ мыс жасау ү шін пайдаланатын ә дістері мен қ ұ ралдарының жиынтығ ын «қ олданушының интерфейсі» деп атау келісілген. Қ азіргі заманауи ақ параттық жү йелердің жұ мыс жасау мү мкіндіктері қ олданушының интерфейстерімен тығ ыз байланысты. Мысалы, қ андай да болмасын объектінің (компьютер, программалық жабдық немесе подпрограмма) интерфейсі ө згермейтіндей тұ рақ ты болса, онда объектінің ө зін ө згертуге кө бірек мү мкіндік болар еді, яғ ни оның басқ а объектілермен (мысалы, қ олданушымен) қ арым-қ атынас қ ағ идалары қ арастырылмайды. Есептеу жү йелеріндегі интерфейстерді компьютерлік техникағ а қ атынас тұ рғ ысынан келесі топтарғ а бө леді (3. 14- сурет): - аппараттық интерфейс; - программалық интерфейс; - қ олданушының интерфейсі.
3. 14- сурет. Есептеу жү йелеріндегі интерфейстер
Қ олданушының интерфейсі барынша қ олданушығ а жақ ын болуы қ ажет, себебі қ олданушының назары программада емес, керісінше ө зінің жасап жатқ ан қ ұ жатында болуы керек. Мысалы, жиі қ олданылатын командалардың бірі 2-3 дең гейлерде яғ ни басқ а бір ішкі мә зірлерде орналасса, оны іздеуге қ олданушының біраз уақ ыты кетіп отыратын болса, онда интерфейсті қ олданушығ а жақ ын немесе ың ғ айлы деп айтуғ а келмейді. Программалық жабдық ү шін интерфейстің маң ызы ө те зор. Программа қ анша жерден жақ сы бола берсін, егер онымен жұ мыс жасау ың ғ айсыз болса, онда оны қ олданушы қ абылдай алмайды. Қ олданушы интерфейстерінің қ азіргі кө п тарағ аны- графиктік интерфейс. Мысалы, Windows операциялық жү йесінің кө п таралуының бір себебі, оның қ олданушығ а ың ғ айлы графиктік интерфейсінің болуы деп айтылып жү р. Қ олданушының графиктік интерфейсі (Graphical User Interface, GUI) 1970-ші жылдардың ортасында, Xerox Palo Alto Research Center-де (PARC), Smalltalk ортасында жұ мыс істейтін Alto жә не Star машиналары ү шін жасалғ ан алғ ашқ ы жұ мыстардан басталды. Кейде оны «визуальды интерфейс» немесе «терезелі графикалық орта» деп атайды. Қ азіргі заманауи жү йелердің кө пшілігінде, мысалы, Microsoft Windows, Mac OS, Solaris, GNU/Linux, NeXTSTEP, OS/2, BeOS, Android, iOS, Bada, MeeGo жү йелерінде қ олданушының графиктік интерфейстері пайдаланылғ ан. Қ олданушының графиктік интерфейсі графиканы растрлық экран дисплейінде қ олдануғ а мү мкіндік береді. Графика экранда элементтердің нақ ты орнын кө рсетеді, ақ паратты берудің визуальды ортасы жә не кө рнекі графика жә не форматталғ ан мә тіндер барлығ ы бірігіп «не кө рсең соны аласың » (WYSIWYG - What you see is what you get) мү мкіндігін береді. Қ азіргі қ олданушылар компьютерді ү йрену жә не жаң а программаларды мең геру ү шін кө п уақ ыт шығ ындамайды. Windows ү шін жазылғ ан программалық жабдық тардың кө бінде дерлік бір типтес қ олданушы интерфейстері пайдаланылатындық тан, олар қ олданушы ү шін бір мағ ынада қ абылданады. Windows жү йесі осығ ан кө мектеседі. Windows ү шін жазылғ ан программалық жабдық тардың қ олданушығ а арналғ ан интерфейсінің негізгі элементтері: терезелер, мә зірлер, сұ хбат терезелері, суретті батырмалар жә не т. б. болып табылады. Қ олданушының интерфейсін қ ұ ру кезең дері программалық жабдық ты қ ұ зу кезең дерімен сә йкес келеді жә не есептің қ ойылуы, талаптар мен спецификацияларды анық тау, жобалау, жү зеге асыру, тестілеу мен жө ндеу секілді кезең дерді қ амтиды.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|