
- •Студент пәнінің – оқу әдістемелік кешені
- •Алматы 2007
- •1.Пәннің оқу бағдарламасы – syllabus
- •1.1 Оқытушылар жөнінде мәліметтер:
- •1.3 Пререквизиттер
- •1.4 Постреквизиттер
- •1.5 Пәннің мақсаты және міндеттері
- •1.6 Тапсырманың түрлері мен тізбегі және оның орындалу графигі
- •1.7 Әдебиеттер тізімі
- •1.8 Бақылау және білім бағасы
- •Студент білімінің бағасы
- •1.9 Курстың процедурасы және саясаты
- •2. Белсенді үлестірмелі материалдардың мазмұны
- •2.2. Дәрістік сабақ конспектілері
- •Басқару үрдістері
- •Жобаның жоспары
- •Жұмыс графигі және желілік диаграммалар
- •Қауіптерді басқару
- •Өтініш анализі үрдісінің схемасы
- •Тапсырыс беруші өтініштерінің сипаттамасы (с-талаптар)
- •Жылдам прототиптеу және жүзеге асырудың зерттелуі
- •Өтініштер анализі: детальдық талаптардың қосылуы
- •Жобалаудың модельдері, каркастар және үлгілері
- •Архитектура түрлері және олардың модельдері
- •Архитектура таңдау үрдісі
- •Жүйелік диаграммасы
- •Мәліметтер ағыны диаграммасы.[17]
- •Алгоритмдердің спецификациясы
- •Объекттердің объекттері мен класстары
- •Объекті-бағытталған жобалау үрдісі
- •Объектлерді анықтау
- •Архитектура моделдері
- •Атаулар кеңістігі.
- •8.1 Сурет Интерфейстің пиктограмма формасындағы көрсетілімі.
- •8.2 Сурет Интерфейс көрсетілімінің тәріс формасы.
- •Орналастыру диаграммасы
- •8.3 Сурет. Компаненттердің орналасу моделденуі.
- •Қолданбалы интерфейсті жобалаудың қағидалары
- •Қолданушының өзара қатынасы
- •Ақпаратты көрсету
- •Қолданушыны қолдаудың құрылымы
- •Қателер туралы хабарлар
- •Анықтамалық жүйені жобалау
- •Қолданушының іс – қағазы
- •Интерфейсті бағалау
- •Программалық қамтамассыздандыру тестілеуі.
- •Құнның конструктивті моделі
- •Сақтау жүйесінің құрылымы
- •Программалық қамтаманы қоса ілестіру
- •Ілестіру процесі
- •2.3 Лабораториялық жұмыстардың жоспарлары
- •Лабораториялық сабақтардың жоспарлары
- •Қолдану бизнес - түрлерінің диаграммасы
- •Қызмет диаграммасы
- •Лабораториялық жұмыс орындалу реті
- •Қолдану жүйелік түрлерінің егжей-тегжейін ашуы
- •Қолдану түрлерінің диаграммасы
- •Лабораториялық жұмыстың орындалу реттері
- •Статикалық модельдері
- •Диаграммаларда күйлердің болуы
- •Динамикалық модель
- •Әрекеттестіктердің диаграммалары
- •Лабораториялық жұмыс орындалу реті
- •2.4 Оқытушы жетекшілігіндегі студенттердің өзіндік жұмысының сабақ жоспары (соөж) (45 сағат)
- •Оқытушы көмегінсіз студенттік өзіндік жұмысының сабақ жоспары(сөж)
- •2.6 Курстық жұмыс
- •Жүйе жұмысының сценариі
- •Курстық жұмыстың орындалу мазмұны Талапатарды қою
- •Талаптардың бизнес –моделі
- •Бизнес-варианттар қолдану моделі
- •Бизнес-класс моделі
- •Талаптарды сипаттау құжаты
- •Талаптар спецификациясы
- •Күйлер спецификациясы
- •Кластарды моделдеу
- •Клас-мәндерді анықтау ережелері
- •Ассоциацияларды моделдеу
- •Агрегациялар мен композициялар қатынасын моделдеу
- •Жалпылау қатынастарын моделдеу
- •Объектілерді моделдеу
- •Күй спецификациясы
- •Қолдану варианттарын моделдеу
- •Қызмет түрін моделдеу
- •Өзара әрекеттесуді моделдеу
- •Ашық интерфейстерді моделдеу
- •Күй өзгеруінің спецификациясы
- •Қолданушы интерфейсін жобалау
- •Қолданушы интерфейсінің моделі
- •Курстық жұмыстың орындалу мазмұны
- •Студент пәнінің – оқу әдістемелік кешені
Архитектура таңдау үрдісі
Жүйені тұйық модульдерге бөліңіз;
Архитектураның стандартты түрімен салыстырыңыз. Декомпозицию жақсартыңыз.
Өңдейтін станциялар арасындағы мәліметтер пакетінің ағыны бар.
Кезектес пакеттер архитектурасы
Өңдейтін станциялар өз жұмысын бастау үшін кіріс мәліметтерді қабылдауды күтеді ме?
Каналдар мен фильтрлер архитектурасы
Үрдістер параллельді орындалады ма?
Параллельді өзара қатынасатын үрдістер архитектурасы
Үрдіс пайдаланушы үрдістердің қызмет көрсетуін қамтамасыз етеді ме?
Клиент-серверлік архитектура
Үрдіс тек болып жатқан оқиғаларға ғана әсерін береді ме?
Оқиғаларды басқаратын жүйелер
Қосымша сценарий бойынша орындалатын үрдістерден тұрады ма?
Interpreter жобалау үлгісі
Қосымша мәліметтер қоймасына құрастырылады ма?
Репозиторлы архитектуралар
Деңгей бойынша реттелгендері бар ма?
Деңгейлік архитектура
Архитектураны таңдау әдісінің тағы бір әдісін ұсынуға болады:
Берілген балама архитектуралардың ішінен таңдаңыз.
Талаптарды талдау негізінде алынған класстарға таңдалынған архитектурамен сәкестікті қамтамасыз ететін класстарға қосыңыз.
Мысалы, станциямен басқарылатын жүйелерде күйлер арасында ауысуды бақылайтын класстар.
Бар каркасты пайдаланыңыз және (немесе) тиімдісін таба алсаңыз, проектілеу үлгісін пайдаланыңыз.
Класстарды пакеттерге орналастырыңыз (4-8 пакеттерге).
Әр пакет қосымшаның контекстінде мәні болу керек.
Бөліктер арасындағы байланыстың бар екендігіне көз жеткізіңіз. Төмен сцепление таңдаудың дұрыстығын білдіреді.
Пакеттер интерфейсін басқару үшін fascade – класстың енгізілу мүмкіндігін қарастырыңыз.
Негізгі әдебиеттер – 2[5-бөлім, 316-367], 7[205-242].
Бақылау сұрақтары:
Модуль мен модульдік деген түсініктерге анықтама беріңіз. Модульдерді не үшін қолданады?
Модульдің байланыстылығы деген не?
Байланыстылықтың қандай түрлері бар?
Модульдің сцепление деген не?
Сцепление қандай түрлері бар?
Жүйенің архитектуралы жобалауы неге формальді спецификациясы өңдеуінің алдында болуы керек екенін түсіндіріңіз.
Программалық қаматаманы архитектуралы жобалауы не үшін керек?
Жобалау үлгілері мен үлгілер категориялары. Олардың программалық қаматаманы архитектуралы өңдеу сатысында қандай мүмкіндік береді?
5- Дәріс. Орналастырылған жүйелер архитектурасы
Тақырыптың мақсаты - орналастырылған программалық жүйелердің архитектураларын оқу болып табылады. Бұл тақырыпты меңгеріп, студент:
орналастырылған жүйелердің негізгі кемшіліктері мен артықшылықтарын білу керек;
клиент/сервер архитектурасын өңдеуде пайдаланылатын әртүрлі әдістері жайлы меңгеру керек;
клиент/сервер архитектурасы мен орналастырылған объектілер архитектурасы арасындағы айырмашылықтарын түсіну керек;
CORBA стандарттарында жүзеге асатын принциптер мен объекттерге сұраныстар брокерінің концепциясын білу керек;
Қазіргі кезде тәжірибе жүзінде барлық үлкен программалық жүйелер орналастырылған болып табылады.
Орналастырылған деп – ақпаратты өңдеу бір есептеу машинасында емес, бірнеше компьютерлер арасында орналасатын жүйе.
Клиент/сервер архитектурасының моделі – орналастырылған жүйенің мәліметтердің орналасуы көрсетілген және бірнеше процессорлар арасында үрдістер моделі.
Барлық қазіргі заманғы программалық жүйелері үш классқа бөлінеді:
Қолданбалы прогарммалық жүйелер (ПЖ) класстары тек бір компьютерде немесе бір жұмыс станциясында жұмыс үшін қолданылады (тексттік үрдістер, электронды кестелер, графикалық жүйелер және т.б.).
Енгізілген жүйелер класстары (тұрмыс құрылғыларын, аспаптарын бақылау жүйелері, және т.б.) бір үрдіс немесе үрдіс тобында жұмыс істейді.
Орналастырылған жүйелер класстары параллельді жұмыс ісейтін, желі арқылы байланысқан, үрдістер тобында әлсіз интеграцияланған (банкоматтар, баспа жүйелері, ұжымдық пайдаланудың программалық қаматама жүйесі және т.б.).
Орналастырылған алты негізгі сипаттамалары бар:
Ресурстарды біріге пайдалану.
Ашықтығы.
Параллельдігі.
Масштабтануы.
Отказоустойчивость
Мөлдірлігі.
Орналастырылған жүйелерді жобалаудың проблемалары: ресурстарды идентификациялау; коммуникация; программалық қамтаманың архитектурасы мен жүйелік қызмет көрсету сапасымен байланысты.
PC өңдеушілерінің мақсаты – PC-ның барлық қажет сипаттамаларын қаматамасыз ететіндей аппараттық немесе программалық қаматама жобалау.
Көп үрдісті архитектура - әртүрлі процессорларда орындала алатын (міндетті түрде емес) әртүрлі үрдістерден тұратын ең қарапайым PC. Бұл модель реалды уақыттың үлкен жүйелерінде жиі қолданылады.
Клиент/сервер архитектурасы. Бұл модельде жүйе серверлердің клиенттерге атқаратын қызметтер жиыны ретінде анықталған. Мұндай архитектура өңделетін қосымшаның логикалық құралылымын көрсету керек.
Бұл архитектураның Банкінде қосымша үш деңгейлі құрылымнан тұруы мүмкін: пайдаланушыларға ақпаратты қамтамасыз ететін, және олармен қарым-қатынас қамтамасыз ететін көрсету деңгейі; қосымша жұмысының логикасын жүзеге асыратын орындау деңгейі, және мәліметтер базасымен орындалатын барлық операциялардың мәліметтерді басқару деңгейі.
Клиент/сервер архитектурасының ең қарапайым деңгейі – қос деңгейлісі. Ол қосымша сервреден және клиенттер тобынан тұрады (немесе көптеген біртиптес серверлерден тұрады). Мұндай архитетураның екі түрі бар: арық клиент моделі және толық клиент моделі.
Клиент/сервер архитектурасының әртүрлі типтерін пайдаланудың ұсыныстары
Мұндай арық клиенттің қос деңгейлік архитектурасы – қосымшаны орындауды ажырату және мәліметтерді басқару мақсатқа сай емес болатын, сонымен қатар мәліметтердің (сұраныстардың) үлкен массивтерін өңдейтін, бірақ қосымшасында есептеулердің өте көп мөлшері бар қосымшалардағы мұрагерлік жүйелерде.
Толық клиенттің қос деңгейлік архитектурасы – мәліметтердің қарқынды өңделуі қажет, және пайданушы жағында жақсы жүйелік басқаруда қолданылатын функциялардың тұрақты жиыны бар қосымшаларда.
Үш деңгейлі және көп деңгейлі клиент/сервер архитектуралары – жүздеген және мыңдаған клиенттері бар ірі қосымшалар; мұнда мәліметтер, өңдеу әдістері жиі қолданылады, сонымен қатар көптеген әдебиеттерден мәліметтердің интеграциясы орындалатын қосымшалар.
3. Орнатылған объекттер архитектурасы.
Орнатылған жүйенің клиент/сервер моделінде клиент сервистерді өзге клиенттерден емес, тек серверден ғана сұрайды; серверлер клиенттер сияқты функциялана алады, және клиенттерден емес, өзге серверлерден сервистер сұрайды. Клиенттер белгілі серверлердің сервистері тұралы білуі керек, және осы серверлер қалай өзара қатынасатынын білу керек. Мұндай модель масштабтануды қамтамасыз етпейді, және орнатылған серверлердегі жүйелерге клиенттерді қосу құралын қамтамасыз етпейді.
Жүйе архитектурасын жобалау орнатылған объектілер архитектурасы сияқты жалпы икемделу (подход) болып табылады. Бұл архитектурада негізгі компоненттері болып - өз интерфейстері арқылы сервистер жиынын қамтамасыздандыратын объекттер табылады. Мұндай объекттер әртүрлі компьютерлік желілерде орналаса алады және объекттерге сұраныс брокерлері деп аталатын аралық қабатымен (программалық шиналар) байланысты өзара қатынаса алады.
Орнатылған объекттердің архитектурасын жобалау үрдісінде немесе логикалық модель түрінде, немесе клиент/сервер жүйесін жүзеге асыратын икемді әдіс түрінде қолдануға болады. Мұндай архитектуралы жүйеге мысал болып әртүрлі мәліметтер базасында мәліметтерді өңдеу жүйесі келе алады.
Орнатылған объектілердің архитектурасының негізгі кемшілігі – клиент/сервер жүйелеріме салыстырғанда оны жобалау күрделілігі болып табылады.
4. CORBA
Әр түрлі платформаларда жүктеледі және олардың аттары жүйенің басқа объектілерге белгісіз болу тиіс. Сондықтан аралық БҚ объектілердің әрекеттесуі тұрақты болу үшін үлкен жұмысты орындайды.
Осы уақытта таратылған объектті есептеулерді қамтамасыз ететін екі негізгі аралық БҚ стандарттары болады:
CORBA (Common Object Request Broker Architecture – жалпы объектілерге сұранысының делдалдардың құрылысы);
DCOM (Distributed Component Object Model – таратылған компоненттердің объектті моделі)
CORBA стандарттары төрт негізгі элементтерді бейнелейді: объектілердің моделі; объектілердің сервистерге сұранысын басқаратын объектті сұраныстардың делдалдары; негізгі сервистердің жоғарғы деңгейде құрылған объектілердіѕ сервистерінің жиынтығы жјне жалпы компоненттердіѕ жиынтығы.
CORBA моделінде объект атрибуттарды жјне сервистерді жай объект ретінде инкапсуляциялайды. Сонымен қатар CORBA объектілерінде глобальды атрибуттар мен объектті операцияларды бейнелейтін јртїрлі интерфейстердіѕ анықтамалары болу тиіс. CORBA объектілердің интерфейстері IDL стандартты әмбебап тілінде анықталады. IDL интерфейсі делдалдардың объектілерін анықтайды, сондықтан жүйенің басқа компоненттерін пайдаланбай-ақ объектілердің жүзеге асыруындағы әрекеттерді өзгертуге болады .
Негізгі әдебиет – 7[225-242].
Бақылау сұрақтары:
Неге таратыләан жїйелері орталықтандырылған жүйелерге қарағанда јрқашан кґбірек масштабты болады? Баәдарламалық жїйелердіѕ масштабтық шегі қандай?
Клиент/сервер жүйесіндегі модельдердің жуан жјне жіѕішке клиенттердіѕ арасындағы айырмашылығы қандай болады?
Неге таратыләан объектілер мен сұраныстардың делдалының қолдануы клиент/сервер жїйелердіѕ масштабты орындауын оѕайлатады?
Сұранытардың делдалы қандай дерекқор қўралдарын көрсетеді?
6- Дәріс. Бөлшектік жобалау
Бөлшектік жобалау дегеніміз – құрылыс пен жүзеге асырудан басқа жобалау бойынша толық көлемдегі жұмыстар болып табылады. Ол класс, заттық облыстағы байланыс класстар мен құрылыс класстарын анықтайды.
Бөлшектік жобалау – құрылыс таңдауының техникалық қызметі. Осы қызметтің негізгі мақсаты жобаның толығымен жүзеге асыруы мен программалық кодының жасалуы.
Бөлшектік жобалау мен құрылысының қолдану нұсқалардың байланысы болады. Қолдану нұсқаларының талаптарынан итерілетін өңдеушілер құрылысты таңдайды, содан кейін өңдеушілер таңдалған құрылыс бойынша қолдану нұсқасын жүзеге асыру үшін бөлшектік жобалауды өңдейді.
БҚ жобалаудың бірінші қадамында қолдану нұсқалары талаптардың бөлігі ретінде бекітіледі. Екінші қадамда қолдану нұсқалары заттық облысында класстарды анықтау үшін қолданылады. Үшінші қадамында программалық құрылыс өңделінеді және сәйкес жобаның класстары қосылады. Соңғы қадамында құрылыс пен бөлшектік жобаның қолдану нұсқалардың қойылатын талаптарына сәйкестігі тексеріледі.
Бөлшектік жобалаудың типтік сұлбасы
Құрылыстық модельдерден бастаңдаңдар, яғни заттық облыстағы класстардың модельдері мен құрылысынан; күй өтулерінің жалпы моделінен, дерекқорлар мен пайдалану нұсқалары моделінен.
Құрылыстық класстар мен заттық облысты қосатын класстар мен жобалау үлгілерін ұсыныңыздар.
Модельдердің толықтығын қамтамасыз етіңдер және қайшылықсыздығын жетілдіріңіз.
Әр классқа олардың нұсқаларын анықтаңыздар.
Әр әдіске дейін қойылған мен кейінгі шарттарды, сұлбалар мен кодтарды қолданыңыздар.
Модельді тестілеудің жоспарын құрыңыздар.
Тестілеу мен жобалау жоспарларын бақылаңыздар.
USDP-де бөлшектік жобалау көбінесе оның итерация мен құрылуы кезінде мағынасы бар. USDP талдау деңгейіндегі үш класстардың стереотиптерін қолдайды, олар жобалау класстарымен байланыста болмайды: мәндік класстары, шекаралық класстары және басқару класстары.
Интерфейтердің қолдануымен жобалауды келісім-шарт жасаумен салыстыруға болады, функционалдылық негізін қолданатын қосымша элементтерді функционалдылық жобалаудың жүзеге орындаудың толықтығын білмегендей етіп жобалау керек.
Бөлшектік жобалаудың келесі әрекеті – көп таралған объектті-бағытталған және басқа компоненттердің парадигмаларының әсерінен болатын компоненттерді қайтадан қолдану болып табылады. Қайта қолданылатын программалық кодына мысал ретінде Microsoft MFT кітапханасының қолдануы, Visual Basic элементтерінің басқаруын қолдануы, COM объектілерінің, JavaBeans және басқа JavaAPI класстардың қолдануы. Таратылған қайта қолданылатын стандарты CORBA консориум OMG құрылысы болып табылады.
JavaScript немесе CGI сценарийлер, яғни web-қосымшалар жиі қайта қолданылады. STL-стандартты шаблон кітапханасы әртүрлі дерекқор құрылысы мен класстардың барлық объектілеріне қолданылады.
Бөлшектік жобалаудың құралдары ретінде жүйелік диаграммасы және мәліметтер ағыны диаграммасы қолданылады. Бөлшектік жобалаудың модельдерін жетілдіру үшін келесі тәсілдерді көрсетеміз.