Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TRPO.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
64.53 Кб
Скачать

5 Архитектуралық жобалау. Моделдер, каркастар, паттерлі жобалау және компоненттер.

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

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

Жүйелік өңдеу үрдісі жалпы жүйелік талаптарды анықтаудан басталады. Содан аппараттық және программалық қамтама арасындағы тиімді қатынас таңдалынады. Содан кейін программалық бөліміне өңдеу технологиясы талаптарды талдаудан бастап, тағы басқаларына пайдаланылады.

Программаның архитектурасын құру деген – ең жоғарғы джеңгейде жобалау. Жобалау үрдісінің қалған бөлігін бөлшекті жобалау деп атайды.

Программалық қамтама жүйесінің принциптік проблемасы – бұл оның күрделілігі. Күрделілікке күресудің тиімді әдісі – модуляризация немесе есептің ішкі есептерге декомпозициясы болып табылады. Декомпозицияның орындалуының критериіне - байланыстылық пен (сцепление) сияқты сипаттамалары жатады. Модуль ішіндегі байланыстылық деген ол – модуль элементтерінің арасындағы өзара байланыс күші. Сцепление – модульдер арасындағы өзара әрекеттестік дәрежесін сипаттайды. Тиімді модульдік - байланыстылықтың максимизациясы мен сцепление минимизациясы кезінде анықталады.

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

Мысал ретінде жеке қаржылық қосымша декомпозициясын қарастырайық.

  • Есептер (тексеру, сақтау және т.б.);

  • Есептер төлемі (электронды, чектер және т.б.);

  • Глобальді есептер (жалпы активтер, қарыз және т.б.);

  • Займ (қарыз) (автомобиль, білім, үй және т.б.);

  • Инвестициялар (акциялар, қарыз міндеттері және т.б. );

Бұл декомпозиция пайдаланушы көз қарасына қызығушылық тудырғанымен, онда архитектуралы декомпозиция сияқты ірі кемшілкітері бар. Мысалы, Есептерде әлісіз байланыс болғандықтан, байланыстылық өте аз. Ал мұнда модульдердің байланыстылығы өте жоғары. Мысалы, қарыз төлемінде Есептер, Есептер төлемі, Займ, Отчет модульдері қатысқан.

Бұл декомпозицияның келесі бір балама түрі бар:

  • Интерфейс (пайдаланушы және коммуникациялы интерфейс, есеп берушілік отчетность және т.с.с.);

  • Жабдықтаушылар (поставщики) (жалға беруші, пайызсыз қарыз, коммуналдық қызметтер және т.б.);

  • Активтер (есептерді тексеру, акциялар, қарыз міндеттері және т.б.);

Жобалаудың модельдері, каркастар және үлгілері

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

Әдетте кез келген қосымша бірнеше көз қарастармен, яғни бірнеше проекциялармен сипатталады. Программалау әлемінде проекция - модельдер деп аталады. Олар:

Пайдалану нұсқасының моделі – қосымшаның не істеу керек екенін түсіндіретін нұсқалардың коллекциясы.

Класстар моделі – қосымшалар құратын блоктардың құрастырылуын түсіндіреді. Класстар моделінің (объектті моделінің) ішінде әдістері мен атрибуттарын көрсетуге болады.

Компоненттер моделі – мәліметтер тасымалдау терминдерінде қосымшаның қалай жұмыс істейтіндігін түсіндіретін ағындық мәліметтер диаграммасының коллекциясы.

Күйлерге ауысу моделі – қосымшаның жұмысына кететін уақыт моментін анықтайтын күйлерге ауысу диаграммасының коллекциясы.

Қосымша архитектурасы модельдердің бір терминінде жиі айтылып, өзге модельдерімен қолдалады. Әр архитектурада оны жүзеге асыра алатын кем дегенде бір класстар моделі бар.

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

Осылайша, қосымша класстарының моделі талаптарды талдаудан, пәндік область (ортадан) пайда болады. Каркас класстары біз жобалап жатқанға ұқсас қосымшаларға архитектураларды өңдеу арқылы жүзеге асады. Осылайша, каркас класстары бұрын болған пакеттің бөлігі немесе архитектура талдау үрдісінде өңделгені болып келеді. Жобалау класстары – жобалауды аяқтауға қосылған, қалған класстар.

Жобалау үлгісі – тәжірибелі жолмен табылған, анықталған, жобаланған жалпы есептерді шешетін компоненттер комбинациясы, әдетте класстар немесе объекттер комбинациясы.Барлық жобалау үлгілері – құрылымдық, креакциялық, тәртіптік категорияларға бөлінеді. Құрылымдық үлгілер объектілерді көрсету әдістерімен байланысты креакциялық ........24бет

Компоненттер – программалық қамтама жайында білімді қажет етпейтін қайталанылатын объектілер. Мысалы, COM және Java Beans. Бір компоненттерді басқа компоненттер агрегациялау арқылы пайдаланады және олар негізінде оқиғалармен өзара қатынасады.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]