25
Model-View-ViewModel (MVVM) – жобалау үлгісі көбінесе Windows
Phone қосымшаларымен заманауи қосымшаларды жазарда қолданылады.
Бұл Model-View-Controller (MVC) эволюциясының үлгісі болып табылады.
MVVM бағдарламаның кодын пайдаланушы интерфейсінен бөліп алу үшін
пайдаланады. Бұл тәсіл кодпен және қосымшаның дизайнымен параллель
жұмыс жасауды жеңілдетеді. Дизайнер Expression Blend жұмыс істейді, ал
бағдарламашы параллельді түрде Visual Studio-да кодты жаза береді. Бұл
сондай-ақ тестілеуді де жеңілдетеді. Үш бөлек бөліктері бар:
1) View (визуалды бөлігі) – бұл XAML коды және қосымшаның
беттері арқылы берілген пайдаланушылық интерфейс.
2) Model (деректер моделі) – деректер көзімен байланысты білдіретін
деректер нысаны.
3) ViewModel (ұсыныс моделі) – мәліметтер ұсынысы мен мәліметтер
моделі арасындағы делдалдық қызмет атқаратын MVC контроллерінің
баламасы болып табылады.
2.4-суретте әр модель жеке-жеке көрсетілген [4].
Сурет 2.4 - MVVM моделінің деңгейлеріне шолу
2.4 Қосымшаны іске асыру
Деректер қорының моделі.
Деректерді сақтау үшін SQL Sever желісініен Microsoft SQL Server
Compact Edition мәлемттер қоры таңдалынып алынды. Мәліметтер қоры бір
файлда сақталады. SQL Server Compact деректердің сенімді көзі, өңдеуші
26
сұраныстарды
оңтайландырады,
байланыс
компоненттерінің
масштабтылығымен қамтамасыз ететін реляциялық деректер қорын құруға
мүмкіндік береді. Windows Phone үшін SQL CE нативтік деректер қоры
болып табылады. Деректер қорымен байланыс орнату үшін Data Context,
сондай-ақ деректер қорының кестелерін модельдеу үшін прокси-класстар
құрылады. Деректер қорына жасалған сұраныстардың жылдамдығын
ұлғайту үшін C# класындағы кодта [Index] атрибутымен қамтылған
модельденген кестелер индекстеледі.
Деректер қоры қосымшадағы негізгі ақпараттарды беретін 5 кестеден
тұрады. Деректер қоры қосымшада өзгертіле алмайды. 2.5-суретте деректер
қорының архитектурасы бейнеленген.
Сурет 2.5 - Деректер қорының архитектурасы
Ғимарат кестесі (Buildings).
Кестеде университет құрамына кіретін барлық ғимараттарға қатысты
ақпараттар сақталады.
Ғимараттар мынадай өрістермен анықталады:
1) Id – сервердегі ғимараттың сәйкестендіргіш нөміріне сай келетін
ғимараттың бірегей сәйкестендіргіш нөмірі. Кестенің алғашқы кілті болып
табылады.
2) Name – ғимараттың аты.
3) Address – ғимараттың адресі.
4) Latitude – ғимараттың орналасқан ендік координатасы.
27
5) Longitude – ғимараттың орналасқан ұзындық координатасы.
6) Ендік және ұзындық координаталары картадан ғимараттың қала
ішінде қай жерде орналасқанын анықтау үшін қажет.
Қалған кестелер тура осындай ретпен жасалған.
Деректер қоры .Net-қосымшасы арқылы толтырылды. Кестені
толтыру үшін SQL-сұраныстары арқылы сайттан университет жайлы
ақпараттарды өндіреді. API жүйесінің көмегі арқылы Алматы энергетика
және байланыс университетінің аудиторияларының бос және бос еместігі
мен сабақ өтетін аудиториялар бойынша кесте құрылды. Бір ай көлемінде
оқу процесі кезінде пайдаланылатын аудиториялар бойынша ақпараттар
жиналып, талдау жасалынды. Осы мақсатпен .Net қосымшасында сервистен
ақпараттарды алып, өңдейтін бағдарлама жазылды. Нәтижесінде
аудиториялар тізімі құрастырылды.
Деректер қорында іздеуді іске асыру.
Деректер қорындағы ақпаратқа жылдам қол жеткізу үшін қосымшада
іздеуді іске асыру жөн. Пайдаланушының қолайлылығы үшін, сұранысты
енгізу арқылы нәтижелер тізімін шығаратын динамикалық іздестіру
алгоритмі ойлап табылды және іске асырылды. деректер қоры айтарлықтай
көп жазбалардан тұрады, сондықтан іздеу нәтижелерінің жылдамдығын
арттыру үшін параллелді болды. Іздеу процесі іздеу алаңына төртінші
символ жазылғаннан кейін ғана іске қосылады. Бірінші іздеу үшін басым
кесте анықталады. Бұдан кейін кестелер бойынша іздестіру процесі
басталады, әр кестелер үшін нәтижелердің топтамалары құрылады. Әр
процесс аяқталғаннан кейін нақты кестелер бойынша іздестірудің
аяқталғанынан хабардар ететін оқиғалар өндіріледі. Барлық кестелер
бойынша іздестіру аяқталғаннан кейін, ортақ бір топтамаға біріктіріледі де
экран бетінде көрсетіледі. Паралелді түрде жұмыс істеу пайдаланушы
интерфейсін іздестіру алгоритмдері орындалып жатқан уақыттағы күту
режимінен құтқарады және оны бұғаттаусыз күйде пайдаланушыға қол
жететіндей етіп қалдырады.
Қосымшаның клиент-серверлік архитектурасын іске асыру.
Қосымшаның клиент-серверлік архитектурасы университеттің іс-
шараларымен байланысты іске асыруға арналған.
Қосымшаның клиент-серверлік архитектурасы тұтынушылардың
сұраныстарын өңдейтін қашықтықтан басқаратын сервермен түсіндірледі.
Тұтынушылар бұл жағдайда тек серверден алынған ақпараттарды
көрсете алады.
«AUP&ET Guide» қосымшасындағы сервер Ruby On Rails фреймворк
көмегі арқылы іске асырылған. Тұтынушылар болып Windows Phone, iOS,
Android платформаларына арналған мобильдік қосымшалар табылады.
Транспорттық жүйелік деңгейде тұтынушы мен сервер арасындағы
байланыс
TCP/IP
(Интернет
желісін
қоса
алғандағы
жүйеде
пайдаланылатын
деректерді
алмастыратын
жүйелік
протоколдар
жиынтығы) протоколы арқылы іске асырылады. Ақпараттық алмасуды