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

81. Кластардың және объектердің сапасы.

Класстар мен объектілерді ерекшелеу тізбекті, итеративті болып табылады. Ең басында оңай есептерді қарастырмағанда класстарды нақты ерекшелеп және бейнелеуге мүмкіндік болмайды. Жүйеде ерекшеленген класстар мен объектілер сапасын бағалау үшін келесі 5 критерийді ұсынамыз:

  • ілініс

  • байланыстылық

  • жеткіліктілік ;

  • толықтық ;

  • карапайымдылық .

Ілініс дегеніміз жеке модульдер арасындағы байланыстардың деңгейі. Жүйенің қиындығы жеке модульдер арасындағы ілініс арқылы төмендейді. Ілініс проблемасына қате шешу мысалын Пейдж-Джонс қорек көзі дыбыстық колонканың біреуінде орналасқан модульдік стереожүйені суреттеп мысал келтірген болатын. Модульдер арасындағы іліністен басқа класстар мен объектілер арасындағы ілініс те бар.

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

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

Жеткіліктілік деп логикалық және эффективті тіртіпті орындау үшін класстағы немесе модульдегі барлық қажеттіліктердің болуы түсініледі. Басқаша айтқанда компоненттер қолдануға толық жарамды болуы керек. Мысалға set (жиын) класын қарастырайық. Бұл класстағы элементтерді жою операциясы қажет екендігі белгілі, бірақ егер бұл класқа элементті қосу операциясын қоспау қателікке әкеледі. Толықтық деп барлық абстракция характеристикаларының класстың интерфейстік бөлігінде болуы түсініледі. Жеткіліктілік идеясы интерфейске минималды талаптарды қояды, ал толықтық идеясы абстракцияның барлық аспектілерін қамтиды. Интерфейсі қолданушымен қатынасуға барлық мүмкіндікті беретін класс немесе модуль толықтықпен сипатталады. Толықтық субъективті фактор болып табылады. Осыдан қарапайымдылық талабы шығады. Абстракцияның ішкі орындалуына рұқсат беруді талап ететін операциялар ғана қарапайым болып табылады. Set класындағы мысал бойынша Add операциясы қарапайым, ал төрт элементті қосу операциясы қарапайым болмайды, себебі эффективті түрде бір элементті қосу арқылы да жүзеге асырылуы мүмкін.

82.Түрлендіру және объектіге бағытталған жобалау.

Біздің есеп – интерактивті жүйенің кейбір жалпы типін көрсететін жүйені жобалау. Процесс толығымен деңгейлер қатарын орындаудан тұрады. Қолданушының жұмыс сессиясы қандай да бір күйлер санынан тұрады. Әр күйде қолданушыға қойылатын сұрақтары бар панель көрсетіледі. Қолданушы керек жауаптарды қайтарады, содан кейін ол жауап деректер қоры жаңарғанда өңделеді. Қолданушының жауабының бөлігі болып келесі күйге өтуді интерпретациялайтын келесі қадамға өтуді таңдау болып табылады. Мысал ретінде авиабилеттерді резервтеу бола алады, ондағы күйлердің User Identification (Идентификация Пользователя), Enquiry on Flights (Запрос Рейса в нужное место и требуемую дату), Enquiry on Seats (Запрос Места на выбранный рейс), Reservation (Резервирование) секілді қадамдары болады.

Сессия Initial бастапқы күйінен басталып, Final соңғы күйімен аяқталады. Барлық құрылымды мүмкін болатын күйлер мен олардың арасындағы өтулер көрсетілетін өтулер графы түрінде көрсетуге болады.

Мұндай қосымшаларды жобалау кезіндегі проблемасы максималды мүмкін болатын жалпылық пен икемділікке қол жеткізу. Негізінде:

  • G1 Графы үлкен болуы мүмкін. Көп жағдайда көптеген өтулері мен жүздеген күйлері бар қосымшалар кездеседі.

  • G2 Жүйе құрылымы, әдетте,өзгермелі. Жобалаушылар барлық мүмкін күйлер мен өтулерді алдын ала айта алмайды. Қолданушылар жүйемен жұмыс жасауды бастағанда олардың сұраныстары жүйенің өзгерісіне және оның мүмкіншіліктерінің кеңейтілуіне қатысты болады.

  • G3 Берілген схемада мысал ретінде авиабилеттерді резервтеу жүйесі болып табылады.

Программалық схемадан бастайық. Бұл жағдайда жүйе бірнеше блоктардан тұрады, әрбіреуі бір күйге сәйкесс болады: BEnquiry, BReservation, BCancellation и т. д. Блок мына түрде болады:

BEnquiry:

"Отобразить панель Enquiryonflights"

repeat

"Чтение ответов пользователя и выбор C следующего шага"

if "Ошибка в ответе" then

"Вывести соответствующее сообщение" end

untilnot ошибки в ответе end

"Обработкаответа"

case C in

C0: goto Exit,

C1: gotoBHelp,

C2: gotoBReservation,

...

end

Тура осындай блоктар әр күйге сәйкес келеді.

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