Хелпикс

Главная

Контакты

Случайная статья





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 жылғ ы мә лімет):

Нұ сқ а Қ абылданғ ан уақ ыты
1. 1 ноябрь 1997[1]
1. 3 март 2000[2]
1. 4 сентябрь 2001[3]
1. 4. 2. июль 2004[2]
1. 5 март 2003[4]
2. 0 июль 2005[5]
2. 1 Заң ды тү рде қ абылданбағ ан [2]
2. 1. 1 август 2007[6]
2. 1. 2 ноябрь 2007[7]
2. 2 февраль 2009[8]
2. 3 май 2010[9]
2. 4 beta 2 март 2011[10]

3. 11 –сурет. UML-дың нұ сқ алары туралы деректер

UML 1. 4. 2  нұ сқ асы халық аралық  ISO/IEC 19501: 2005 стандартының негізі болып саналады. UML –де қ олданылатын негізгі диаграммаларды келесі топтарғ а бө ліп қ арастырады (3. 12- сурет. Википедия бойынша 2011 жылғ ы мә лімет):

Қ ұ рылымдық диаграммалар Structure Diagrams: (Ағ ылшын тілінде) Структурные диаграммы: (Орыс тілінде)
Кластар диаграммасы Class diagram Диаграмма классов
Компоненттер диаграммасы Component diagram Диаграмма компонентов
Композит/ қ ұ рама қ ұ рылымдар: Кооперация диаграммасы (UML2. 0) немесе келісімді ү йлестіруші диаграмма Composite structure diagram: Collaboration (UML2. 0) Композитной/составной структуры: Диаграмма кооперации (UML2. 0) или диаграмма сотрудничества
Таратылғ ан  диаграмма Deployment diagram Диаграмма развёртывания
Объектілер диаграммасы Object diagram Диаграмма объектов
Пакеттер диаграммасы Package diagram Диаграмма пакетов
Профильдер диаграммасы (UML2. 2) Profile diagram (UML2. 2) Диаграмма профилей (UML2. 2)
Ө згеру диаграммалары Behavior Diagrams: Диаграммы поведения:
Қ ызмет диаграммасы Activity diagram Диаграмма деятельности
Кү й ауысу диаграммасы State Machine diagram Диаграмма состояний
Прецеденттер диаграммасы Use case diagram Диаграмма прецедентов (вар-тов)
Ө зара ә рекеттесу диаграммасы: - Коммуникация диаграммасы (UML2. 0) / кооперация диаграммасы (UML1. x) - Ө зара ә рекеттесуді шолу диаграммасы (UML2. 0) - Реттілік диаграммасы - Синхронизация  диаграммасы (UML2. 0) Interaction Diagrams: - Communication diagram (UML2. 0) / Collaboration (UML1. x) - Interaction overview diagram (UML2. 0) - Sequence diagram - Timing diagram (UML2. 0) Диаграммы взаимодействия: - Диаграмма коммуникации (UML2. 0) / Диаграмма кооперации (UML1. x) - Диаграмма обзора взаимодействия (UML2. 0) - Диаграмма последовательности - Диаграмма синхронизации (UML2. 0)

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 ү шін жазылғ ан программалық жабдық тардың қ олданушығ а арналғ ан интерфейсінің негізгі элементтері: терезелер, мә зірлер, сұ хбат терезелері, суретті батырмалар жә не т. б. болып табылады.

Қ олданушының интерфейсін қ ұ ру кезең дері программалық жабдық ты қ ұ зу кезең дерімен сә йкес келеді жә не есептің қ ойылуы, талаптар мен спецификацияларды анық тау, жобалау, жү зеге асыру, тестілеу мен жө ндеу секілді кезең дерді қ амтиды.  



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.