Маңғыстау обл Ақтау қаласы
№18 жалпы білім беретін мектеп КММ

Ғылыми жобаның тақырыбы:
Android платформасының көмегімен
«Кітап жеткізу» мобильді қосымшасын әзірлеу.
Орындаған: Ягшыбаева Светлана Сәбитқызы
Мазмұны
1
Қолданыстағы
жүйелерді
талдау 5
2
Мобильді
қосымшаға
қойылатын
талаптар 9
2.2
Функционалдық
емес
талаптар 10
2.3
Прецеденттерді
сипаттау 11
3
Android
қосымшаларын
әзірлеу
технологияларын
талдау 14
3.1
Деректерді
сақтау
технологияларын
талдау 14
3.2
Сервермен
өзара
әрекеттесуге
арналған
тәсілдерді
талдау 22
4.1
Клиент
қосымшасын
жүзеге
асыру 24
4.3
Gradle
жобасын
құрастыру
жүйесі 27
Андатпа
Мобильді
қосымша
дегеніміз
не?
Ертеректе
бұл
ұғым
жиі қолданылмайтын.
Мобильді
қосымшалардың
қолдану
саласына қарай
көптеген
түрлері
бар.
Кез-келген
қосымшаның
басты
артықшылығы -
пайдалану
ыңғайлылығы.
Мобильді
қосымшалар
адамзаттың
уақытын үнемдеуге,
цифрлық
технологияны
тиімді
қолдануға
үйретті.
Мобильді қосымшалар
бірнеше
мақсатта
құрастырылады,
сонымен
қатар
олар
егжей-тегжейлі
шолуды
қажет
етпейді.
Сондықтан,
көп
жағдайда
мұндай қосымшаларды
ұялы
телефондарда
орнату
және
тұрмыстық
жағдайда, өмірде
қолдану
ыңғайлы
болып
келеді.
Бұл
ғылыми
жұмыста
біз
мобильді
қосымшалар
туралы,
сонымен
қатар,
оларды
программалау
жайында
айтатын боламыз.
Тәжірбие
бөлімінде
онлайн
кітап
сатып
алу,
тапсырыс беруге
болатын
қосымшаны
программалап
көрдім.

Аннотация
Что
такое
мобильное
приложение?
Раньше,
это
понятие использовалось
нечасто.
Существует
множество
типов
мобильных
приложений, в
зависимости
от
области
применения.
Главным
преимуществом любого
приложения
является
простота
использования.
Мобильные
приложения научили
людей
экономить
время
и
эффективно
использовать цифровые
технологии.
Мобильные
приложения
предназначены
для
нескольких
целей
и не
требуют
подробного
рассмотрения.
Поэтому,
в
большинстве случаев,
такие
приложения
удобно
устанавливать
на
мобильные
телефоны
и использовать
в
повседневной
жизни.
В
данной
научной
работе
речь
пойдет
о мобильных
приложениях,
а
также
об
их
программировании. В
экспериментальной
части
я
запрограммировала
приложение
для
онлайн-покупки
и
заказа
книг.
Аnnotation
What
is
a
mobile
application?
Previously,
this
concept
was
used infrequently.
There
are
many
types
of
mobile
applications
depending
on
the
field.
The main
advantage
of
any
application
is
ease
of
use.
Mobile
applications
have
taught people
how
to
save
time
and
use
digital
technologies
effectively.
Mobile
applications
are designed
for
several
purposes
and
do
not
require
detailed
consideration.
Therefore, in
most
cases,
such
applications
are
convenient
to
install
on
mobile
phones
and use
in
everyday
life.
In
this
scientific
work,
we
will
focus
on
mobile
applications,
as well
as
their
programming.
In
the
experimental
part,
I
have
programmed an
application
for
online
shopping
and
ordering
books.
Өзектілігі:
Мобильді
қосымша
қазіргі
заманның
бір
бөлігі
болып
табылады -
біз
оны
жоғары
деңгейде
қолдана
білуіміз
қажет.
Мақсаты:
Қосымшалардың
мүмкіндіктеріне
талдау
жасау,
оның
қазіргі қолданылу
саласын,
мүмкіндіктерін
зерттеу,
бізді
қоршаған
ақпараттардың оңтайландыруға
болатындығын
көрсету.
Міндеттері:
-
Android
платформасында
мобильді
қосымшаны
кодтау
принципін
білу; -
Қосымшаларды
құру
әдістерін
меңгеру; -
Қызметтер мен
бағдарламаларды
қарастыру
–
мобильді
қосымшаларды құруға
арналған
мәлеметтер
базасымен
жұмыс
жасау; -
Мобильді
қосымшаны
құру
процесін
білу; -
Мобильді қосымшаны
қолдану
салалары
туралы
білу; -
Ақпарат
көлемін
азайту
үшін
мобильді
қосымшаны
әзірлеу.
Гипотеза: Мобильді
қосымша
-
кез-келген
бағытта
ақпарат
алу,
оны жүзеге
асырудың
жылдам
тәсілі.
Ғылыми
жоба
жаңалығы:
Мобильді
қосымшаның
ақпарат
берудегі маңыздылығы
және
мобильді
қосымшаны
Android платформасында
құрастыру
ерекшелігін
анықтау.
КІРІСПЕ
Қәзіргі
таңда
мобильді
қосымшалар
біздің
өмірімізде кеңінен
қолданылады,
тіпті
сәнді
зат
болудан
қалып,
қажеттілігімізге
айналды. Сол
себептен
де
олар
әртүрлі
міндеттерді
шешу
үшін
пайдаланылады. Мобильді
құрылғылардың
үлкен
танымалдығы
әзірлеушілер
үшін
еңбек нарығында
жаңа
нишаны
құрды.
Бірақ
осыған
қарамастан,
мобильді
қосымшаларды әзірлеу
саласы
жас
және
дамушы
бағыт
болып
қала
береді,
әсіресе,
web-әзірлеу
немесе
ойын
әзірлеу
салаларымен
салыстырсақ.
Мобильді
қосымшалар
мен
мобильді
операциялық
жүйелердің даму
динамикасын
6-8
жыл
бұрын
смартфондарды
пайдалана бастаған
пайдаланушылар
толық
көлемде
бағалай
алады.
Біраз
уақыт
бұрын келесі
технологиялар
бойынша
белсенді
патенттік
талқылау
жүрді:
“slide
to unlock”,
“pinch
to
zoom”,
“pull
to
refresh”.
Ал,
қазіргі
таңда
барлық
құрылғылар
мен операциялық
жүйелерді
өндірушілер
осы
технологияларды
тең
дәрежеде қолданады
және
бұл
бірегей
нәрсе
емес.
Айта
кету
керек, операциялық
жүйелердің
әр
жаңартуларынан
кейін
олардың
арасындағы принципті
айырмашылықтар
азая
түсуде.
Әрбір
мобильді
операциялық
жүйе
өз бағдарламалау
тілінде
жазылған.
Нәтижесінде,
егер
тапсырыс
беруші iOS
және
Android
операциялық
жүйелеріне
арналған
қосымшаларға тапсырыс
берсе,
онда
әртүрлі
бағдарламалық
кодта
жазылған,
бірақ
бірдей міндетті
орындайтын
қосымшалар
әзірлеу
қажет
болады.
Бірақ мобильді
қосымшалардың
кроссплатфорлы
әзірлемесі
бар,
алайда
олар елеулі
кемшіліктерге
ие.
Қазіргі
таңда
көптеген
компаниялар
өз
клиенттері
үшін
ғана
емес, сонымен
қатар,
қызметкерлері
үшін
де
мобильді
қосымшаларды әзірлей
бастады,
бұл
жағдай
осы
саланың
дамуын
бағалаудың
тағы
бір
тәсілі екенін
атап
өтуге
болады.
Мобильді
технологияларды
компанияның жұмыс
процесіне
енгізу
келесі
мақсаттарға
қол
жеткізуге
мүмкіндік
береді:
-
еңбек
өнімділігін
арттыру; -
жұмыс
процестеріне
үлкен
бақылауды
қамтамасыз
ету; -
ұйымның жалпы
ақпараттануын
арттыру.
Ғылыми
жобаның
мақсаты
Android
операциялық
жүйесіне арналған
кітап
жеткізу
қызметін
жүзеге
асыратын
мобильді
қосымшаны
әзірлеу болып
табылады.
Ғылыми
жобаның
мақсаты:
-
ұқсас
міндеттерді
шешетін
қолданыстағы
жүйелерді
зерттеу; -
мобильді қосымшаға
қойылатын
талаптарды
талдау; -
Android қосымшаларын
әзірлеу
технологияларын
талдау; -
мобильді қосымшаның
архитектурасын
жобалау; -
мобильді
қосымшаны
әзірлеу;
Бұл
ғылыми
жоба
кіріспеден,
төрт
тараудан,
қорытындыдан, пайдаланылған
әдебиеттер
тізімінен
тұрады.
Бірінші
бөлім
кітап
жеткізу
қызметімен
айналысатын
жүйелерді шолуға
арналған.
Екінші
бөлім
мобильді
қосымшаға
қойылатын
функционалдық
және функционалды
емес
талаптарды
талдауды
қамтиды.
Үшінші
бөлімде
Android
операциялық
жүйесінде мобильдік
қосымшаларды
әзірлеу
технологиялары
қарастырылған.
Төртінші
бөлімде
мобильді
қосымшаны
іске
асыру
ұсынылған.
1
Қолданыстағы
жүйелерді
талдау
Қолданыстағы
жүйелерді
талдауға
арналған
ең
төменгі
талаптар:
-
мобильді
қосымша
арқылы
кітапқа
тапсырыс
жасау
мүмкіндігі; -
тапсырыс
статусын
бақылау
мүмкіндігі; -
тапсырыстар тізімін
“Менің
тапсырыстарым”
бөлімі
арқылы
қарау
мүмкіндігі.
Жүйенің
қажетті
функциялары:
-
тапсырысқа комментарий
қосу; -
төлем тәсілін
таңдау; -
кітаптарды іздеу
және
жанр
бойынша
сұрыптау; -
кітаптарға
баға
беру,
лүпіл
басу
және
пікір
жазу; -
қолданушыларға жеке
деректерін
өзгертулері
үшін
баптаулар
панелін
ұсыну; -
қолданушылар мекен-жайларларын
қосымша
жадысына
сақтау.
1.1
Ұқсас
жүйелерлі
шолу
Google
PlayMarket
мобильді
қосымшалар
дүкеніне
жүргізген мониторинг
нәтижесінде
қолдану
саласы
бойынша
ұқсас
қосымшалар табылмады.
Кітап
сатуға
байланысты
жүйелер
негізінен
веб-сайт
түрінде
іске
асырылған.
Менің
ойымша,
кітап
сатуға
және
жеткізуге
арналған
ең
жақсы веб-сайт
–
Меломан,
ол
1.1-суретте
бейнеленген.
Барлық
қарастырылған
сайттардың ішінде
ол
ең
жақсы
функционалды
ұсынады.
Мысалы,
кітаптардың
үлкен ассортимені,
кітаптар
жайында
егжей-тегжейлі
ақпарат
алу,
қолданушыларға арналған
бонустық
бағдарлама,
тәулігіне
24
сағат,
аптасына
7
күн жұмыс
істейтін
анықтамалық
колл-орталық.
Сайтта
тіркеу
нысандары дұрыс
құрастырылған,
сонымен
қатар
кітаптарды
сұрыптау
қызметі жақсы
форматта
көрсетілген.
Кітаптарға
баға
беруге
және
пікір
жазуға
болады.
Бұл сайт
өте
сапалы
және
әдемі
жасалған.
Осы
бағыттағы
АТ инфрақұрылымын
дамыту
күн
сайын
танымалдылыққа
ие
болуда,
ал
АТ
технологиялары
өз кезегінде
осындай
жобаларды
іске
асыру
үшін
көптеген технологияларды
ұсынады.
Қарастырылған
жүйе
қолданушыларды
мобильді
қосымшамен қамтамасыз
етпейді,
бірақ
қазіргі
уақытта
бұл
кемшілік
болып
табылады. Бұл
бағыттағы
мобильді
қосымша
әзірлеудің
маңызы
зор,
өйткені
қітап сатуға
және
жеткізуге
арналған
лайықты
шешімдер
әлі
жоқ.
1.2-суретте
бейнеленген
Book24
сайты
алдыңғы
сипатталған жүйе
сияқты
жақсы
функционал
мен
дизайнға
ие.
Бұл
сайттың
басты
ерекшелігіне кітаптар
сипаттамаларын
салыстыру
қызметін
жатқызуға
болады.
Мұнда бонустық
бағдарлама
қарастырылмаған.
Toot.kz
сайты
1.3-суретте
бейнеленген,
ол
жоғарыдағы сипатталған
сайттармен
салыстырғанда
әлдеқайда
қарапайым.
Бұл
сайттың басты
кемшілігі
авторизацияның
болмауында.

1.1-сурет
–
Меломан
веб-сайты

1.2-сурет
–
Book24
веб-сайты

1.3-сурет
–
Toot.kz
веб-сайты
2
Мобильді
қосымшаға
қойыла+тын
талаптар
Мобильді
қосымшаға
қойылатын
талаптарды
талдау жоспарланған
пайдалану
сценарийі
негізінде
жүргізілді.
Кітап
тапсырыстарына жауапты
компания
қызметкерін
“Кітап
жеткізу”
мобильді
қосымшасы орнатылған
ұялы
телефонмен
қамтамасыз
ету
күтілуде.
Қызметкер
өзінің
телефон нөмірін
және
құпия
сөзін
қолдану
арқылы
авторизациядан
өтеді,
және
соңғы
келіп түскен
тапсырыстарды
қабылдау
үшін
қосымшаның
тапсырыстарды
басқару бетін
синхрондайды
немесе
тапсырыстарды
нақты
уақыт
режимінде қабылдайды.
Тапсырыстарды
ашып
қарап,
тапсырыс
берушінің
мекен-жайына
кітаптарды
жөнелтіп,
тапсырысты
тиісінше
мәртебеге
өзгертеді, және
осы
кезде
тапсырыс
берушінің
мобильді
құрылғысына мәртебенің
өзгергені
жайында
хабарлама
келеді.
Мобильді
қосымшаны қолдану
барысында
интернет
желісі
істен
шыққан
жағдайда,
қолданушыға
тиесілі ескерту
жасалады.
Сондай-ақ
компания
қызметкері
мобильді
қосымша арқылы
деректер
қорында
орналасқан
кітаптарды
өзгерту,
жою
және
жаңа кітаптарды
қосу
функцияларын
нақты
уақыт
режимінде
жүзеге
асыра
алады. 
Қолданушылар,
яғни
тапсырыс
берушілер
кітап
жеткізу
қызметін қолдану
үшін
өздерінің
мобильді
құрылғыларына
“Кітап
жеткізу” мобильді
қосымшасын
орнатулары
тиіс.
Тапсырыс
жасау
үшін
қажетті
кітаптарды таңдап
және
міндетті
түрде
мекен-жайды
толық
толтырулары қажет.
Қолданушылар
кез-келген
кітапқа
өз
бағасын
беріп,
пікірін
қалдыра алады.
Сонымен
қатар,
қолданушыларға
сүйікті
кітаптар
және
кітап
іздеу функциялары
қолжетімді.
2.1
Фунционалдық
талаптар
Функционалдық
талаптар
жүйенің
қалай
іске
асырылуы
тиіс екендігі
жайлы
ақпаратты
ұсынады,
сондай-ақ
ол
жүйеде
не
іске
асыру
керектігін және
жүйенің
қандай
мүмкіндіктерін
іске
асыратынын
сипаттайды. Функционалдық
талаптар
бағдарлама
шешуі
тиіс
пайдаланушылық
есептер жиынтығын
анықтайтын
бағдарламалық
қамтамасыз
етуді сипаттайтын
бизнес
талаптарынан
тұрады.
Сипатталған
пайдалану
сценарийі
негізінде
функционалдық талаптар
құрылды.
“Кітап
жеткізу”
мобильді
қосымшасы
үшін
келесі
функционалдық талаптар
анықталды:
-
Қосымша
сервер
мен
мобильді
қосымша
арасында деректерді
синхрондау
мүмкіндігін
беруі
керек; -
Қосымша PUSH-хабарландыруларына
қолдау
көрсетуі
қажет; -
Қосымша пайдаланушының
атқаратын
рөліне
қарай авторизациядан
өтуге
мүмкіндік
беруі
керек; -
Қосымшада смартфондарға
бейімделген
интерфейс
болуы
керек; -
Қосымша
тапсырыстардың
әр
түрлі
күйлерін
дұрыс
өңдеуі
керек; -
Қосымшада кітап
іздеу,
кітапқа
баға
беру,
пікір
жазу
қызметтері қол
жетімді
болуы
керек; -
Қосымша
төлем
тәсілін
таңдау
мүмкіндігін
және
де
төлем қолма-қол
болған
жағдайда
қайтарым
жасауға
ақша
соммасын
енгізу
функциясын қамтамасыз
етуі
қажет. -
Қосымшада “Сүйікті
кітаптар”
қызметі
болуы
керек; -
Қосымша
қолданушының
жеке
деректерін
өзгертуге
мүмкіндік беруі
керек.
Администраторға
арналған
мобильді
қосымшаға
қойылатын
талаптар
тізімі:
-
Қосымша сервер
мен
мобильді
қосымша
арасында
деректерді синхрондау
мүмкіндігін
беруі
керек; -
Қосымша
PUSH-хабарландыруларына
қолдау
көрсетуі
қажет; -
Қосымша
пайдаланушының
атқаратын
рөліне
қарай
авторизациядан өтуге
мүмкіндік
беруі
керек; -
Қосымшада
смартфондарға
бейімделген
интерфейс
болуы
керек; -
Қосымша тапсырыстардың
әр
түрлі
күйлерін
дұрыс
өңдеуі
қажет; -
Қосымша
мобильді
құрылғының
камерасын
қолдануға
мүмкіндік беруі
қажет; -
Қосымша
жаңа
категория,
жанр,
кітап
қосуға
және оларды
өзгертуге,
жоюға
мүмкіндік
беруі
қажет.
2.2
Функционалдық
емес
талаптар
Функционалдық
емес
талаптар
мінез-құлықтың
жекелеген сценарийлері
емес,
жалпы
жүйенің
жұмыс
критерийлерін
анықтайды. Функционалды
емес
талаптар
өнімділік,
техникалық
қызмет
көрсету ыңғайлылығы,
кеңейтімділік,
сенімділік,
пайдаланудың
орта факторлары
сияқты
жүйелік
қасиеттерді
анықтайды.
Мобильді
қосымшаның қолданушылары
үшін
келесі
функционалды
емес талаптар
қалыптастырылды:
-
Жүйе
клиент
–
сервер
–
деректер
базасының
сервері архитектурасы
негізінде
жүзеге
асырылуы
тиіс; -
Сервер Java
бағдарламалау
тілінің
көмегімен
жазылып,
Firebase платформасында
өрістелуі
тиіс; -
Сервер деректерді
манипуляциялау
үшін
REST
API
ұсыну
керек; -
Мобильді
қосымша
Android
Studio
платформасының
көмегімен Java
бағдарламалау
тілінде
әзірленуі
тиіс.
2.3
Прецеденттерді
сипатау
UML-дегі
визуалды
модельдеуді
бастапқы
жүйенің
жалпы
және абстрактілі
тұжырымдамалық
логикалық
моделінен
тиісті бағдарламалық
жүйенің
физикалық
моделіне
деңгейлеп
түсудің
процесі
ретінде
елестетуге
болады.
Бұл
мақсаттарға
жету
үшін
алдымен
жүйенің
функционалдық мақсатын
сипаттайтын
немесе,
басқаша
айтқанда,
жүйе
өзінің функционалдану
процесінде
не
істейтінін
сипаттайтын
пайдалану
нұсқалары диаграммасы
құрылады.
Пайдалану
нұсқалары
диаграммасы жүйенің
бастапқы
концептуалды
көрінісі
немесе
жобалау
және
әзірлеу
процесінде оның
тұжырымдамалық
үлгісі
болып
табылады.
Пәндік
аймақтың
мәндерін
және
талаптарды
талдау
нәтижесінде мобильді
қосымша
үшін
пайдалану
нұсқалары
модельі
қалыптастырылды (1.1-суретте
көрсетілген).
Осы
модельге
сәйкес
қолданушының
жүйемен жасайтын
іс-әрекеттер
тізімін
айқын
көруге
болады.

2.1-сурет
–
Пайдалану
нұсқалары
диаграммасы
Бұл
диаграмманың
мәні
мыналардан
тұрады:
жобаланатын
жүйе пайдалану
нұсқалары
арқылы
жүйемен
өзара
әрекеттесетін
актерлер немесе
көптеген
мәндер
түрінде
ұсынылады.
Бұл
ретте
сырттан
жүйемен өзара
әрекеттесетін
кез
келген
мән
актер
немесе
әрекет
етуші
тұлға
деп аталады.
Бұл,
модельдік
жүйеге
әсер
ету
көзі
ретінде
әзірлеуші
өзі
анықтайтын, адам,
техникалық
құрылғы
немесе
кез
келген
басқа
жүйе
болуы
мүмкін.
Өз кезегінде,
пайдалану
нұсқасы
актерге
жүйемен
ұсынылатын
сервистерді сипаттау
үшін
қызмет
етеді.
Басқаша
айтқанда,
әр
пайдалану
нұсқасы актермен
сұхбат
кезінде
жүйемен
жасалатын
әрекеттер
жиынтығын анықтайды.
Бұл
ретте
актерлердің
жүйемен
өзара
іс-қимылы
қалай
іске асырылатыны
туралы
ештеңе
айтылмайды.
2.4
Қызмет
диаграммасы
Қызмет
диаграммасы
қандай
да
бір
пайдалану
нұсқасын
орындау үшін
қажетті
іс-қимылдар
реттілігін
көрсетеді.
Яғни,
бұл
диаграмма
прецеденттер диаграммасымен
тығыз
байланысты.
Дәлірек
айтқанда,
пайдаланудың
әрбір нұсқасы
үшін
белгілі
бір
прецедентті
іске
асыруға
қажетті
әрекеттер мен
шешімдердің
барысын
көрсететін
қызмет
диаграммасын
құруға
болады
.

2.2-сурет
–
Қызмет
диаграммасы
Мәні
жағынан
қызмет
диаграммалары
алгоритмдердің
қарапайым
блок-схемаларына
өте
ұқсас,
тек
қана
мәні
бойынша
ғана
емес,
сондай-ақ өзінің
мақсаты
мен
құрамы
бойынша
да.
Жоғарыдағы
суретте
(1.2-сурет) администратордың
мобильді
қосымшадағы
жасайтын
іс-әрекеттерін айқындайтын
қызмет
диаграммасы
көрсетілген.
Администратор
қосымшаға
кіру
үшін
міндетті
түрде
жүйеге тіркелген
болуы
қажет.
Жоғарыдағы
диаграммада
көрсетілгендей
администратор қосымшаға
кіргеннен
кейін,
келесі
іс-әрекеттерді
жүзеге
асыра алады:
категория
қосу,
категорияны
өзгерті/жою,
жанр
қосу,
жанрды
өзгерту/жою, кітап
қосу,
кітапты
өзгерту/жою,
тапсырыстардың
статусын
өзгерту, тапсырыстарды
жою.
3
Android
қосымшаларын
әзірлеу
технологияларын
талдау
3.1
Деректерді
сақтау
технологияларын
талдау
Android
амалдық
жүйесі
деректерді
сақтауға арналған
технологиялардың
әр
түрлі
типтерін
қолдануға
мүмкіндік береді:
қосымшалар
арасындағы
деректер
алмасуға
мүмкіндік
беретін
SQLite
және Content
Provider
реляционды
деректер
қоры
–
кірістірілген
шешімдер
болып табылады.
Сонымен
қатар
деректерді
сақтау
үшін
NoSql
деректер
қоры принциптерін
жүзеге
асыратын
басқа
да
технологиялар
бар. Деректерді
сақтау
технологияларын
салыстырмалы
талдау
бірінші
кестеде
келтірілген
(1-кесте).
1-кесте
–
Android
амалдық
жүйесінде
деректерді
сақтау
тәсілдері
|
|
OrmLite |
StorIO |
Content |
Firebase |
|
Деректерді
сақтау |
SQLite |
SQLite/ Content |
Content |
NoSql |
|
Күрделі
сұрауларды |
Бар |
Бар |
Жоқ |
Жоқ |
|
RxJava |
Жоқ |
Бар |
Жоқ |
Бар |
|
Артықшы-лықтары |
Кең
функционалдылық, |
Қолданыстағы |
Деректердің
қатаң |
Жұмыс |
|
Кемшілік-тері |
Артық
код |
Артық
код |
Шектелген функционал |
Шектелген |
Android
қосымшалары
үшін
пайдаланылатын
сервер
–
бұл
Oracle
SQL, Microsoft
SQL
Server
және
РНР
файлдары
арқылы
сервермен
байланысқан MySQL.
Кейіннен
Android
қосымшалары
үшін
деректерді
сақтауға
JSON форматын
пайдаланатын
Firebase
платформасы
пайда
болды.
Басқа серверлер
деректерді
сақтау
үшін
кесте
форматын
пайдаланады.
Firebase
NoSQL құрылымына
негізделген.
Firebase
сияқты
бұлтты
серверлер
өте
аз.
Мұндай серверлерге
келесілерді
жатқызуға
болады:
AWS
Mobile
Hub,
CloudKit,
Parse. AWS
Mobile
Hub
–
бұл
мобильді
қосымшаларды
құруға,
тестіден өткізуге
және
бақылауға
арналған
біріктірілген
консоль.
CloudKit
–
бұл Apple
компаниясының
платформасы,
ол
деректерді
және
ресурстарды сақтауға
көмектеседі,
бірақ
тек
iOS
операциялық
жүйесінің
қосымшаларына
арналған. Parse
–
Facebook
компаниясына
тиесілі,
ашық
бастапқы
коды
бар
сервер.
Бұл сервер
қазіргі
таңда
қол
жетімсіз.
Мен,
барлық
қол
жетімді серверлік
платформаларды
және
деректер
қорын
саралай
келе
өз
дипломдық жобама
Firebase
платформасын
қолдануды
жөн
көрдім.
Firebase
–
2011
жылы
Эндрю
Ли
және
Джеймс
Трамплин негізін
қалаған
және
2014
жылы
Google
компаниясының
иелігіне
өткен, бұлтты
қызметтерді
жеткізуші
америкалық
компания.
Негізгі
қызметі
–
бағдарлама әзірлеуші-
леріне
деректерді
бірнеше
клиенттер
арасында
сақтауға және
синхрондауға
мүмкіндік
беретін
NoSQL
класындағы
бұлтты
ДББЖ
(Деректер Базаларын
Басқару
Жүйелері).
Firebase
платформасында
Android
Және
iOS операциялық
жүйелеріне
арналған
қосымшалармен
біріктіру ерекшеліктері
қолдау
тапты,
JavaScript,
Java,
Objective-C
және
Node.js
қосымшаларына арналған
API
жүзеге
асырылды,
сондай-ақ,
JavaScript-фреймворктардың
қатарынан
REST
стиліндегі
деректер
базасымен
тікелей
жұмыс
жасауға мүмкіндік
бар.
Деректерді
шифрлау
үшін
API
қарастырылғын.
Firebase
деректер
қорының
артықшылықтары:
-
JSON деректер
үшін
нақты
уақытта
синхрондау.
Firebase Realtime
деректер
қоры
–
қолданушылар
арасында
деректерді
нақты
уақыт режимінде
сақтауға
және
синхрондауға
мүмкіндік
беретін
NoSQL
бұлттық
деректер қоры
болып
табылады. -
Құрылғымен бірге
жұмыс
істеу.
Деректерді
нақты
уақытта синхрондау
қолданушыларға
кез
келген
веб
немесе
мобильді
құрылғыдан
өз деректеріне
қатынуға
мүмкіндік
береді,
бұл
өз
кезегінде
қолданушыларға
бір-бірімен
ынтымақтасуға
көмектеседі. -
Қосымшаларды
сервердің
көмегінсіз
жасау.
Realtime
деректер қоры
мобильді
және
веб
SDK
арқылы
жеткізіледі,
сондықтан
серверлердің қажеттілігінсіз
қосымшаларды
жасай
аласыз.
Сондай-ақ
біз
Cloud
Function
for Firebase
қызметін
пайдалану
арқылы
деректер
қоры
бастамасымен оқиғаларға
жауап
беретін
бэкэнд
кодын
орындай
аламыз. -
Дербес
пайдалану
үшін
оңтайландырылған.
Қолданушылар
дербес режимге
ауысқанда,
Realtime
SDK
деректер
қоры
қызмет
көрсету
және өзгерістерді
сақтау
үшін
құрылғыдағы
жергілікті
кэшті
пайдаланады. Құрылғы
желіге
қосылған
кезде,
жергілікті
деректер
автоматты түрде
синхрондалады. -
Пайдаланушы
қауіпсіздігі.
Әзірлеушілер
үшін
қарапайым
және интуитивті
аутентификацияны
қамтамасыз
ету
үшін
Realtime
деректер қоры
Firebase
Authentication-мен
біріктірілген.
Firebase
деректер
қоры
келесі
кемшіліктерге
ие:
-
Оның қолданылу
саласы
NoSQL
шешімдерінен
әлдеқайда
аз. -
Firebase деректерді
алу
кезінде
және
қажет
болған
жағдайда
бір уақытта
деректерді
бірнеше
орындарға
жазу
кезінде
өзіндік
шектеулерге
ие. -
Кейбір
деректер
құрылымы
Firebase-та
жұмыс
жасауға
ыңғайсыз.
Мобильді
қосымшаға
Firebase
деректер
қорын
қосу
алгоритмі
Firebase консолінде
және
ашық
Android
жобасында
бірқатар
міндеттерден
тұрады:
1.
Firebase
жобасын
құру.
Android-қосымшасына
Firebase-ты ендірмес
бұрын,
Firebase
жобасын
құрып
алуымыз
қажет
(3.1-сурет).

3.1-сурет
–
Firebase
консоліндегі
құрылған
жоба
2.
Мобильді
қосымшаны
Firebase
жобасына
тіркеу.
3.
Firebase
конфигурациялық
файлын
қосу.
Google-services.json
файлын жүктеп,
жобадағы
app
пакетіне
жылжытамыз.
Firebase
өнімдерін қосымшаға
қосу
үшін
google-services
плагинін
Gradle
файлдарына
қосамыз.
а.
Жоба
деңгейіндегі
Gradle
файлының
көрінісі
3.2-суретте
көрсетілген.
ә.
Ал,
қосымша
деңгейіндегі
Gradle
файлының
көрінісі
3.3-cуретте
көрсетілген.
4.
Қосымшаға
Firebase
SDK
қосу.
Модульдің
Gradle файлына
(бағдарлама
деңгейінде,
әдетте
app
/
build.gradle)
негізгі
Firebase
SDK
үшін
тиісті
тәуелділікті
қосу
қажет
(3.4-cурет).
Осы
суретте
көрсетілген тәуелділіктердің
әрбіріне
жеке-жеке
тоқталып
өтейін.
FirebaseUI
–
бұл
Android
платформасы
үшін
ашық
бастапқы
коды бар
кітапхана,
ол
пайдаланушы
интерфейсінің
жалпы
элементтерін
Firebase
API-интерфейстеріне
жылдам
қосуға
мүмкіндік
береді.
FirebaseUI
нақты уақыттағы
Firebase
деректер
қоры,
Бұлттық
Firestore,
Firebase
Auth
және Бұлтты
Сақтау
үшін
жеке
модульдерге
ие.
Firebase
Аналитика
бүгінгі
күні
қол
жетімді
мобильді қосымшалар
талдаушыларының
ең
танымал
шешімдерінің
бірі
болып
табылады.
Оны пайдалана
отырып,
қосымша
қолданушылары
туралы
нақты
ақпарат алуға
болады.
Жалпы,
Firebase
Аналитика
екі
негізгі
ақпарат
түрін
тіркейді:
Оқиғалар
–
қосымшада
не
болып
жатқанын,
мысалы
пайдаланушы әрекеттері,
жүйелік
оқиғалар
немесе
қателер;
Пайдаланушы
қасиеттері
–
пайдаланушы
базасының сегменттерін
сипаттау
үшін
анықтайтын
атрибуттар,
мысалы,
тілдік
артықшылық
немесе географиялық
орын.
Аналитика
кейбір
оқиғалар
мен
пайдаланушы
қасиеттерін автоматты
түрде
тіркейді:
оларды
қосу
үшін
код
жазудың
қажеті
жоқ.

3.2-сурет
–
Жоба
деңгейіндегі
Gradle
файлы

3.3-сурет
–
қосымша
деңгейіндегі
Gradle
файлы
Firebase
Бұлттық
Хабарландыру
(Firebase
Cloud
Messaging
немесе
FCM) iOS,
Android
платформаларында
және
Интернетте
хабарлар
мен хабарламаларды
тегін
жеткізуге
және
алуға
мүмкіндік
беретін
сервер
мен құрылғылар
арасында
сенімді
және
тиімді
байланысты
қамтамасыз етеді.
FCM
SDK
барлық
қажетті
рұқсаттарды,
сондай-ақ
қабылдаушының
қажетті функционалдығын
автоматты
түрде
қосады.

3.4-сурет
–
Тәуелділікті
қосу
Firebase
платформасының
ең
қуатты
функцияларының
бірі
–
бұл нақты
уақыт
режиміндегі
деректер
базасы:
онда
орындалатын
барлық
жазба операциялары
оны
қадағалайтын
барлық
клиенттер
үшін
бірден
қол
жетімді. Бұл
деректер
қорының
көмегімен
пайдаланушыларға
бір
құрылғыдан басқасына
кедергісіз
ауысуға,
сондай-ақ
басқа
пайдаланушылармен
бірден әрекеттесуге
мүмкіндік
беретін
қолданбаларды
жасауға
болады.
Деректер
JSON
форматында
сақталады
және
әрбір
қосылған клиентпен
нақты
уақыт
режимінде
синхрондалады.
Бұл
дегеніміз,
деректер
қорындағы мәріметтер
кілттік
сөз
және
мән
жұптары
ретінде
көрініс
табады, мұндағы
кілттік
сөздер
әрқашан
жолдар,
ал
мәндер
–
примитивтер,
массивтер
немесе басқа
JSON
объектілері
болып
табылады.
Нақты
уақыт
режиміндегі деректер
қорына
мәліметтерді
жазар
алдында
FirebaseDatabase
класының getInstance()
әдісі
арқылы
алдын
ала
деректер
қорына
сілтеме
алу
керек.
Содан кейін
getReference()
әдісі
арқылы
деректер
қорының
ішіндегі
кез
келген жолға
сілтеме
алуға
болады.
Алынған
жолда
иерархиялық
тәртіпте
орналасқан бір
немесе
бірнеше
кілттер
болуы
мүмкін.
Егер
жолда
DatabaseReference бар
болса,
setValue()
әдісін
пайдаланып
оның
мәнін
орнатуға
болады. 3.5-суретте
setValue()
әдісі
арқылы
деректер
қорына
жаңа
кітап
қосу
коды
көрсетілген.
Дерекқордан
мәліметтерді
нақты
уақыт
режимінде
оқу
үшін асинхронды
бақылаушыны
байланысқан
кілтке
немесе
жолға
қосу керек.
Дәлірек
айтқанда,
addValueEventListener()
әдісін
пайдалана
отырып, ValueEventListener
объектісін
DatabaseReference
объектісіне
қосу керек.
ValueEventListener
интерфейсінің
onDataChange()
әдісі DataSnapshot
объектісіне
қатынауға
мүмкіндік
береді,
ал
getValue()
әдісі
кілттің соңғы
мәнін
алуға
пайдаланылады.
Мәселен,
деректер
қорындағы
барлық
кітіптар тізімін
алу
жолы
3.6-суретте
көрсетілген.

3.5-сурет
–
Деректер
қорына
жаңа
кітап
қосу

3.6-сурет
–
Деректер
қорынан
кітаптар
тізімін
алу
IOS,
Android
және
JavaScript
үшін
Firebase
SDK
көмегімен кроссплатфорлы
қосымшалар
жасаған
кезде,
қосымшаның барлық
қолданушылары
нақты
уақытта
деректер
қорының
бір
экземплярын
бірлесіп пайдаланады
және
автоматты
түрде
ең
жаңа
деректер
жаңартуларын
алады. Нақты
уақыттағы
Firebase
деректер
қоры
HTTP-сұраулардың
орнына деректерді
синхрондауды
пайдаланады
–
әр
кез
деректер
өзгерген
сайын, кез
келген
жалғанған
құрылғы
бұл
жаңартуды
миллисекунд
ішінде
алады.
Firebase
консолінің
“Database”
бөліміне
өтіп,
дерекқордың
ішіндегі барлық
деректерді
нақты
уақыт
режимінде
көре
аламыз
(3.7-сурет).

3.7-сурет
–
Нақты
уақыттағы
Firebase
деректер
қоры
3.2
Сервермен
өзара
әрекеттесуге
арналған
тәсілдерді
талдау
Мобильді
қосымшаға
қойылатын
талаптардың
бірі
сервермен синхрондау
болып
табылады.
Бүгінігі
таңда
сервермен
деректер алмасуға
мүмкіндік
беретін
түрлі
технологиялар
бар.
Синхрондау
үдерісін
HTTP сұраулары
немесе
socket
байланыстары
арқылы
жасауға
болады.
Бірінші
тәсіл web-әзірлеу
саласында
кең
қолданысқа
ие.
Екіншісі
дербес компьютерлерге
арналған
қосымшаларды
әзірлеуде
жиі
қолданылады,
және
серверге
қосылу қажет
болған
кезде
әрдайым
деректерді
қабылдауды
күтеді. Мұндай
бағдарламалардың
мысалы
ретінде
Skype,
Icq
сияқты
хабар
алмасу қосымшаларын
жатқызуға
болады.
Бағдарлама
мен
сервер
арасындағы
деректер
алмасуды әртүрлі
форматтарда
деректерді
жіберу
арқылы
жасауға
болады:
XML
немесе JSON.
Біздің
пайдалану
сценарийімізде
JSON
XML-ді,
пайдаланудың қарапайымдылығына
және
сол
ақпаратқа
ие
деректер
пакетінің
аз
мөлшеріне байланысты,
толығымен
ауыстырды.
JSON-ның
негізгі
артықшылықтарына
төмендегілерді жатқызуға
болады:
-
код
оқылуы; -
кеңейту жеңілдігі.
Бүгінгі
күні
барлық
мобильдік
қосымшалар
сервермен
деректерді
REST API
көмегімен
алмасады,
оның
негізгі
артықшылықтары:
-
трафикті
үнемдеу
–
біз
тек
сұралған
деректерді
ғана
аламыз; -
жүзеге
асырудағы
қарапайымдылық.
Кемшілігіне
әр
сұраныстың
жеке
түрде
орындалатындығын жатқызуға
болады.
REST
API
интерфейсіне
балама
ретінде
деректердің
барлығы
бірден жүктелетін
алмасу
тәсілін
ерекшелеуге
болады.
Бұл
тәсілдің
артықшылығы
–
іске
асырудың
қарапайымдылығында,
яғни
біз
барлық
деректерді
бірден аламыз,
әрбір
сұрауды
жеке-жеке
өңдеу
қажет
емес.
Кемшіліктеріне
келесілерді
жатқызуға
болады:
-
тұтынылатын трафиктің
үлкен
көлемі; -
сұраныстың
ұзақ
уақыт
орындалуы,
әсіресе
интернетке
қосылу
баяу болған
кезде.
3.3
Желілік
сұраныстарды
іске
асыратын
технологияларды
талдау
Android
операциялық
жүйесінде
HTTP
деректер
алмасуды
іске
асыру үшін
екі
негізгі
шешім
бар:
Retrofit
және
Java
тілінің стандартты
механизмдері.
Retrofi-тің
артықшылықтарына
қолданудағы ыңғайлылықты
жатқызуға
болады,
яғни
сервермен
деректер
алмасу
JSON
форматында орын
алады.
GSON
технологиясы
арқасында
серверден
келген
жауап
Java класы
ретінде
ұсынылуы
мүмкін,
осылайша
серверден
JSON
жауабын
қолмен талдаудың
қажеті
болмайды.
Кемшіліктерінің
ішінен
жіберуге
және қабылдауға
арналған
сұрау
тақырыптарымен
жұмыс
жасау
барысындағы ыңғайсыздықты
ерекшелеуге
болады.
Стандартты
Java
кластары
арқылы желілік
деректерді
алмасуды
жүзеге
асыру
тікелей
қарама-қарсы артықшылықтар
мен
кемшіліктерге
ие.
Артықшылықтары: сұрау
тақырыптарымен
жұмас
істеу
кезіндегі
икемділік.
Кемшіліктері: серверден
келген
жауапты
“қолмен”
талдау,
бірақ
GSON
техгологиясын
автоматты емес
режимде
қолдану
бұл
мәселені
ішінара
шешеді.
Сондай-ақ,
кемшіліктеріне артық
бағдарламалық
код
жазу
қажеттілігін
жатқызуға
болады.
REST
API
арқылы
қосымшаның
сервермен
өзара әрекеттесуін
қамтамасыз
ету
үшін
Retrofit
кітапханасын
қолдану
коды
төменде
көрсетілген.

3.8-сурет
–
Retrofit
кітапханасын
қолдану
коды
4
Қосымшаны
жүзеге
асыру
4.1
Клиент
қосымшасын
жүзеге
асыру
Клиенттік
қосымшаны
жүзеге
асыру
үшін
Android Studio
интеграцияланған
әзірлеу
ортасы
(IDE)
қолданылды.
Бұл
IDE
бірқатар артықшылықтарға
байланысты
таңдалды:
1)
IDE
әзірлеушісі
Android
платформасын
шығарушы
Google компаниясы.
Бұл
жаңа
Android
нұсқасы
үшін
қолайлы мүмкіндіктер
интеграциясын
береді;
2)
IDE-де
API-дың
барлық
нұсқаларымен
жұмыс
істеуге мүмкіндік
беретін
Android
SDK
орнатылған,
сонымен
қатар
барлық
қажетті параметрлер
автоматты
түрде
орнатылады;
3)
интерфейс
конструкторы.
Бәрі
визуалданған,
экран
көрсетілуін
кез-келген
құрылғы
мысалында
көруге
болады,
сондай-ақ
таңдалған құрылғының
барлық
сипаттамалары
сақталады.
Визуализация
операциялық
жүйенің нақты
нұсқасында
көрінеді;
4)
жоба
құрылымы
ұсынылады;
5)
ыңғайлы
дизайн;
6)
қателерді
бақылауға
ыңғайлы.
4.2
Деректерді
сақтау
Қосымша
беттері
арасында
деректерді
беру
үшін
putExtra() әдісі
пайдаланылды,
ол
шын
мәнінде
кілт-мән
жұбы
түрінде
ұсынылатын деректердің
сөздігі
болып
табылады,
сонымен
қатар
оны
шақыру
Intent класы
арқылы
жүзеге
асырылады.
PutExtra()
әдісі
арқылы
сандық,
жол және
логикалық
мәндер
жіберіледі.
Қосымшаны
іске
асыру
кезінде
белгілі бір
шарттарға
байланысты
баптау
файлдары
немесе
Intent
класының
объектілірі
пайдаланылды.
Клиенттік
қосымшада
қолданушыларды
жүйеге
сақтау
үшін, яғни
қосымшаға
автоматты
түрде
кіру
қызметін
енгізу
үшін
Paper кітапханасын
пайдаландым.
Paper
кітапханасы
мәліметтерді
оңай
және
тез
сақтауға мүмкіндік
береді.
Бұл
кітапхананы
қолдану
үшін
Gradle
файлына
келесі тәуелділікті
енгізу
қажет:
implementation
‘io.paperdb: paperdb:2.6’.
Application.onCreate()
әдісінде
бір
рет
инициализациялануы
керек:
Paper.init().
Мобильді
қосымшада
кітаптарды
себетке,
сүйікті
кітаптар бөліміне
жинау
және
мекен-жайды
сақтау
қызметтерін
жүзеге
асыру
үшін SQLite
деректер
қорын
қолдандым.
Ол
үшін
SQL
тілінің
синтаксисін пайдала
отырып,
“KitapDB”
деректер
қорын
құрдым.
Менің
құрған
деректер қорым
қосымша
каталогындағы
келесі
жолда орналасқан:
DATA/data/Kitap/databases/KitapDB.
SQLite
–
Android
платформасына
кіріктірілген
кең
таралған
деректер қорын
басқару
жүйелерінің
бірі.
Дерекқорлармен
жұмыс
істеудің негізгі
функцияларын
android.database
пакеті
қамтамасыз
етеді.
Ал,
SQLite
деректер қорымен
жұмыс
істеуге
мүмкіндік
беретін
кластар
жиынтығы
аndroid.database.sqlite
пакетінде
орналасқан.
Осы
кластардың әрқайсысына
жеке
тоқталып
өтейін:
1)
android.database.sqlite.SQLiteDatabase
класы
деректер
қорына сұрау-
лар
мен
әртүрлі
манипуляциялар
жасауға
мүмкіндік
береді;
2)
android.database.sqlite.SQLiteCursor
класы
сұрауды
қамтамасыз
етеді және
осы
сұрауға
сәйкес
келетін
жолдар
жиынын
қайтаруға
мүмкіндік
береді;
3)
android.database.sqlite.SQLiteQueryBuilder
класы
SQL
сұрауларын
жа- сауға
мүмкіндік
береді;
4)
android.database.sqlite.SQLiteOpenHelper
класы
барлық
кестелермен бірге
деректер
қорын
жасауға
мүмкіндік
береді.
SQLite
келесі
деректер
түрін
пайдаланады:
INTEGER,
REAL,
TEXT, BLOB,
NUMERIC.
SQLite
үшін
DB
Browser
құралын
пайдаланып,
“KitapDB” деректер
қорын
және
OrderDetail,
Favorites,
Address
кестелерін
құрдым
(4.1-сурет).
SQLite
үшін
DB
Browser
–
бұл
SQLite-қа
үйлесімді
деректер
қорының файлдарын
жасау,
жобалау
және
өңдеу
үшін
арналған
ашық
бастапқы коды
бар,
жоғары
сапалы
визуалды
құрал.
Бұл
құралдың
интерфейсі
қолдануға
өте ыңғайлы,
ол
әзірлеушілерге
деректер
қорын
және
ондағы
кестелерді
тез,
әрі оңай
құруға
мүмкіндік
береді.

4.1-сурет
–
SQLite
үшін
DB
Browser
Кітапты
себетке
қосу,
яғни
OrderDetail
кестесіне
INSERT
операциясын орындау
коды
4.2-суретте
көрсетілген.
Address
кестесіндегі
мекен-жай
тізімін
алу
4.3-суретте
көрсетілген.

4.2-сурет
–
Себетке
кітап
қосу

4.3-сурет
–
Мекен-жай
тізімін
алу
4.3
Gradle
жобасын
құрастыру
жүйесі
Жобаны
құрастыру
үшін
Gradle
пайдаланылды.
Gradle
–
Android Studio
әзірлеу
ортасына
біріктірілген
құрастыру
құралы.
Android
Studio
әзірлеу ортасында
жоба
автоматты
түрде
фондық
режимде
құрастырылады, бұл
құрылым
конфигурация
файлдарының
жиынына
негізделеді.
Gradle әзірлеушіге
қосымшаның
тәуелділіктерін
оңай
басқаруға
және
оларды репозиторийден
орнатуға
көмектеседі,
сондай-ақ,
әр
түрлі
жинақтарды құруға
болады.
Build.gradle
конфигурация
файлы
қосымшаның
нұсқасы,
Android нұсқасының
талаптары
туралы
ақпараттарды
қамтиды.
4.4-суретте
мобильді қосымшадағы
конфигурация
файлының
бастапқы
коды
бейнеленген.

4.4-сурет
–
Build.gradle
конфигурациялық
файлының
коды
Конфигурация
файлы
сонымен
қатар
пайдаланылатын
бөгде
кітапхана- лардың
тізімін
қамтиды.
4.5-суретте
мобильді
қосымшаны
әзірлеуде пайдаланылған
бөгде
кітапханаларды
қамтитын
конфигурация файлы
бейнеленген.

4.5-сурет
–
Build.gradle
файлына
қосылатын
кітапханалар
тізімі
4.4
Қосымша
интерфейсі
Әзірленген
мобильді
қосымша
қолданушыға
кітап тапсырыстарын
жасауға
мүмкіндік
береді.
Қосымшадағы
кітаптар
категориялар мен
жанрларға
топтастырылған.
Қолданушы
деректер
қорындағы
кез-келген кітап
жайында
толық
ақпаратқа
қол
жеткізе
алады:
кітап
аты,
бағасы,
авторы, сипаттамасы,
шығарған
баспасы,
жанры,
басқа
қолданушылардың
кітап жайындағы
пікірі
және
бағасы.
Жалпы
қосымша
интерфейсі
өте
ыңғайлы және
әдемі
көрініске
ие.
Сонымен
қатар,
қосымша
кітап
іздеу,
кітапқа
баға беру
және
пікір
жазу,
сүйікті
кітаптар
қызметтерін
ұсынады.
Қосымша
іске
қосылғанда,
пайдаланушы
есептік жазбасының
деректерін
қолдану
арқылы
авторизациядан
өтеді
немесе
тіркелу
шартына сәйкес
тіркеу
нысанын
(4.6-сурет)
толтыра
отырып,
жаңа
есептік
жазба ашады.
Егер
барлық
енгізілген
деректер
дұрыс
болса, пайдаланушы
қосымшаның
негізгі
бетіне
өтеді.
Қосымшаға
кіргенде,
пайдаланушы
туралы барлық
қажетті
ақпарат
одан
әрі
операциялар
жасау
үшін
сақталады.

4.6-сурет
–
Қосымшаға
кіру
және
тіркелу
беттері

4.7-сурет
–
Құпия
сөзді
ұмыту
терезесі
Қосымшаның
негізгі
бетінде
(4.8-сурет)
категориялар
тізімі
көрсетіледі, категория
кескіннен
және
тақырыптан
тұрады.
4.8-сурет
–
Навигация
мәзірі
және
негізгі
бет
Қосымшаны
навигациялау
үшін
бүйірлік
мәзір
қолданылады
(4.8-сурет).
Бүйірлік
мәзір
қосымшаның
жоғарғы
сол
жақ
бұрышындағы батырманы
басқанда
немесе
бүйірлік
свайп
арқылы
шақырылады. Әрбір
мәзір
элементі
өз
функционалдығын
қамтамасыз
етеді
және
ол
өзіндік
атау мен
белгішеден
тұрады.
Бүйірлік
мәзір
келесі
элементтерді
қамтиды:
негізгі бет,
сүйікті
кітаптарым,
себет,
менің
тапсырыстарым,
баптаулар, қосымшадан
шығу.
Категорияны
таңдау
арқылы
сол
категорияға
сәйкес
кітаптар
және жанрлар
тізімін
алуға
болады
(4.9-сурет).
Жанрлар
көлденең,
ал
кітаптар тігінен
орналасқын
RecyclerView
виджетінде
орналасқан.
Мұндағы тігінен
орналасқан
RecyclerView,
яғни
кітаптар
тізімі
келесі
деректерден
тұрады: кітаптың
кескіні,
атауы,
авторы,
бағасы,
жұлдызша
саны
және
лүпіл. Кітап
кескінін
серверден
жүктеу
үшін
Glide
кітапханасы
пайдаланылды.
Glide кітапханасы
басқа
танымал
Picasso
кітапханасының
ең
жақын бәсекелесі
болып
табылады
және
де
желіден,
ресурстардан
немесе
файлдық жүйеден
кескіндерді
асинхронды
жүктеуге,
оларды
кэштеуге
және бейнелеуге
арналған.
Бұл
кітапханалардың
синтаксисі
және
жұмыс
принципі
өте
ұқсас.
Тігінен
орналасқын
RecyclerView
элементін,
яғни
кітапты
басу арқылы
кез
келген
кітап
жайында
толық
ақпарат
аламыз
(4.9-сурет), сондай-ақ
кітапты
себетке
қосу
үшін
“Себетке
қосу”
батырмасын
басамыз.
4
.9
–
сурет.
Кітаптар
тізімі
және
кітап
туралы
ақпарат
беттері
Қосымшада
ұнаған
кітаптарға
лүпіл
басып,
“Сүйікті
кітіптар” тізімін
жасауға
болады
(4.10-сурет).
Ал,
кітапқа
тапсырыс
беру
үшін
алдын
ала қажетті
кітаптарды
себетке
жинау
қажет
(4.10-сурет).
Сүйікті
кітаптар
және себеттегі
кітаптар
SQLite
деректер
қорында
сақталады.
Сонымен қатар,
мобильді
қосымша
себеттен
кітаптарды
алуға
және
олардың
санын өзгертуге
мүмкіндік
береді.
Кітап
санын
өзгерту
үшін
Elegant
Number
Button
виджетін пайдаландым.
Бұл
–
көбейту
және
азайту
батырмалары
бар
санауышты іске
асыруға
арналған
қарапайым
кітапхана.
Себеттегі
кітаптардың
жалпы
саны мен
бағасы
Toolbar
виджетінде
орналасқын
және
де
бұл
өз кезегінде
қоданушылар
үшін
өте
ыңғайлы.
4
.10
–
сурет.
Сүйікті
кітаптарым
және
Себет
беттері
“Тапсырысты
рәсімдеу”
батырмасын
басу
арқылы
тапсырыс
жасалады. Қолданушы
батырманы
басқаннан
кейін
қосымшада
“Тапсырыс
беру” диалогтық
терезесі
ашылады
(4.11-сурет).
Мұнда
қолданушыға
екі түрлі
төлем
тәсілдері
ұсынылады:
кредиттік
карта
және
қолма-қол
төлем
тәсілдері.
Егер
қолма-қол
төлем
тәсілі
таңдалған
жағдайда,
тапсырыс
беруші
міндетті түрде
қайтарым
үшін
нақты
ақша
сомасын
тиісті
бөлімге
енгізу керек.
Тапсырыс
сәтті
жасалуы
үшін
барлық
ақпараттар
толық
толтырылуы қажет,
әсіресе,
мекен-жай
міндетті
түрде
толтырылуы
тиіс.
Ал,
комментарийді жазу
міндетті
емес.
Тапсырыс
сәтті
түрде
жіберілгеннен
соң,
себет автоматты
түрде
тазартылады.
Қосымша
қолданушыларға
тапсырыс
статусын
бақылауға
мүмкіндік береді.
Ол
үшін
“Менің
тапсырыстарым”
бетіне
өту
қажет
(4.11-сурет). Бұл
бетте
тапсырыс
тарихы
көрсетіледі:
тапсырыстың
жасалған
күні,
орындалу статусы,
жалпы
бағасы,
тапсырыс
берілген
кітаптар
тізімі,
төлем
тәсілі. Тапсырыс
статусы
өзгерген
жағдайда,
қолданушыға
бірден
хабарлама келеді.
Хабарлама
жіберуді
жүзеге
асыру
үшін
FirebaseMessaging қызметін
қолдандым.

4.11
–
сурет.
“Тапсырыс
беру”
диалогтық
терезесі
және
Менің тапсырыстарым
беті
Қолданушылар
“Баптаулар”
бетіне
(4.12-сурет)
кіріп,
өздерінің жеке
деректерін
өзгерте
алады:
есімін
және
құпия
сөзін.
Сонымен
қатар,
қосымша қолданушыларға
құрылғы
жадысына
бірнеше
мекен-жайларды сақтауға
мүмкіндік
береді.
Тапсырыс
беру
кезінде
осы
алдын-ала
сақталған
мекен-жайлардың
бірі
таңдалады.
Қосымшадағы
барлық
мекен-жайлар
SQLite
деректер
қорындағы Address
кестесінде
сақталады.
Мекен-жай
қосу
үшін
шақырылған диалогтік
терезедегі
(4.12-сурет)
барлық
пункттер
толық
толтырылуы
қажет.


4.12-сурет
–
Баптаулар
беті
және
Мекен-жай
қосу
терезесі
Қосымшада
кітаптарды
бағалау
(4.13-сурет)
қызметін
жүзеге асыру
үшін
AppRating
кітапханасы
қолданылды.
Бұл
кітапхананы
қолдану
үшін Gradle
файлына
келесі
жолды
қосу
қажет:
compile
'com.stepstone.apprating:app-rating:2.3.1'.
Кітапханамен
қолдау көрсетілетін
функциялар:
-
диалог
фоны,
жұлдызшалары,
тақырыбы,
сипаттамасы
үшін таңдамалы
стильдер; -
облыстың
пайдаланушы
рейтингі
(жұлдыздар
саны); -
әрбір
жазбаны
сипаттайтын
рейтинг
жолының
астындағы жазбаның
сипаттамасы; -
пайдаланушы
диалогының
тақырыбын,
сипаттамасын және
кеңестерін
анықтау; -
оң, теріс
және
бейтарап
батырмалары
үшін
мәтінді
анықтау; -
кіру
/
шығу
терезесін
анимациялау.

4.13-сурет
–
Кітапқа
баға
беру
диалогы
ҚОРЫТЫНДЫ
Бұл
ғылыми
жобада
кітап
сатуға
арналған
Android
қосымшасын әзірлеу
бойынша
шешім
ұсынылды.
Android
қосымшаларын
әзірлеу технологияларына
талдау
жасалып,
нәтижесінде
Firebase платформасы
қолданылды.
Кітап
сату
және
жеткізу
үшін
ұқсас
шешімдерді
іздеу
бойынша
зерттеу жүргізілді,
олардың
негізгі
сипаттамалары
мен
мақсаты
қарастырылды, сондай-ақ
принципті
кемшіліктер
анықталды.
Ғылыми
жұмыста
әзірленетін
сервистің
егжей-тегжейлі
сипаттамасы берілді,
әзірленетін
жүйеге
функционалдық
және
функционалды
емес талаптар
тұжырымдалды.
Жүйемен
өзара
іс-қимыл
жасайтын
негізгі актерлер
және
жүйемен
жасауға
болатын
әрекеттер
анықталды.
Осы
деректер негізінде
прецеденттер
диаграммасы
жасалды,сондай-ақ
диаграммада көрсетілген
әрбір
актердің
және
прецеденттің
егжей-тегжейлі
сипаттамасы
берілді.
ПАЙДАЛАНЫЛҒАН
ӘДЕБИЕТТЕР
ТІЗІМІ
1
Вигерс
К.И.
Разработка
требований
к
программному
обеспечению. –
М.:
Русская
Редакция,
2004.
–
9с.
2
Буч
Г.,
Рамбо
Д.,
Якобсон
И.
Язык
UML.
Руководство
пользователя. –
М.:
ДМК
Пресс,
2006.
–
281
с.
3
Barr
J.
AWS
Mobile
Hub
–
Build,
Test,
and
Monitor
Mobile Applications
[Электронды
ресурс]
–
Қатынау
режимі:
https://aws.amazon.com/ru/blogs/aws/
aws-mobile-hub-build-test-and-monitor-mobile-applications/,
тегін.
4
Упрощаем
работу
с
CloudKit,
или
синхронизация
в
духе
Zen [Электронды
ресурс]
–
Қатынау
режимі:
https://habr.com/ru/company/everydaytools
/blog
/
326050/,
тегін.
5
Facebook
Parse
now
lets
you
easily
deploy
mobile
apps
to Heroku
[Электронды
ресурс]
–
Қатынау
режимі:
https://venturebeat.com/2015/10/22/ facebook
-parse
-now-lets-you-easily-deploy-apps-to-heroku/,
тегін.
6
Материал
из
Национальной
библиотеки
им.
Н.
Э. Баумана
[Электронды
ресурс]
–
Қатынау
режимі:
https://ru.bmstu.wiki/Firebase,
тегін.
7
Makan
K.,
Bown
S.A.
Firebase
Essentials
–
Android
Edition.
–
C.: CreateSpace,
2017.
–
9
c.
8
Архитектура
мобильного
клиент-серверного приложения
[Электронды
ресурс]
–
Қатынау режимі:
https://habr.com/ru/post/246877/,
тегін.
9
Изучаем
Retrofit
2
приложения
[Электронды
ресурс]
–
Қатынау режимі:
https://habr.com/ru/post/314028/,
тегін.
10
Дейтел
П.,
Дейтел
Х.,
Дейтел
Э.,
Моргано
М.
Android
для программистов:
создаем
приложения.
–
СПб.:
Питер,
2013.
–
С.
349
–
350.
11
Paper
is
a
fast
NoSQL
[Электронды
ресурс]
–
Қатынау режимі:
https://github.
com/pilgr/Paper,
тегін.
12
Коматинени
С.,
Маклин
Д.
Android
4
для
профессионалов.
Создание приложений
для
планшетных
компьютеров
и
смартфонов.
–
М.:
Вильямс, 2012.
–
98
с.
13
Gradle
құрастыру
құралының
ресми
веб-сайты
[Электронды
ресурс] –
Қатынау
режимі:
https://docs.gradle.org/current/userguide/userguide.html#gettingstarted,
тегін.
14
Elegant
Number
Button
кітапханасының
ресми
веб-саты
[Электронды ресурс]
–
Қатынау
режимі:
http://www.cepheuen.com/,
тегін.
15
AppRating
кітапханасының
ресми
веб-саты
[Электронды
ресурс]
– Қатынау
режимі:
https://github.com/stepstone-tech/android-material-app-rating,
тегін.
28
жүктеу мүмкіндігіне ие боласыз
Бұл материал сайт қолданушысы жариялаған. Материалдың ішінде жазылған барлық ақпаратқа жауапкершілікті жариялаған қолданушы жауап береді. Ұстаз тілегі тек ақпаратты таратуға қолдау көрсетеді. Егер материал сіздің авторлық құқығыңызды бұзған болса немесе басқа да себептермен сайттан өшіру керек деп ойласаңыз осында жазыңыз
Ғылыми жоба
Ғылыми жоба
Маңғыстау обл Ақтау қаласы
№18 жалпы білім беретін мектеп КММ

Ғылыми жобаның тақырыбы:
Android платформасының көмегімен
«Кітап жеткізу» мобильді қосымшасын әзірлеу.
Орындаған: Ягшыбаева Светлана Сәбитқызы
Мазмұны
1
Қолданыстағы
жүйелерді
талдау 5
2
Мобильді
қосымшаға
қойылатын
талаптар 9
2.2
Функционалдық
емес
талаптар 10
2.3
Прецеденттерді
сипаттау 11
3
Android
қосымшаларын
әзірлеу
технологияларын
талдау 14
3.1
Деректерді
сақтау
технологияларын
талдау 14
3.2
Сервермен
өзара
әрекеттесуге
арналған
тәсілдерді
талдау 22
4.1
Клиент
қосымшасын
жүзеге
асыру 24
4.3
Gradle
жобасын
құрастыру
жүйесі 27
Андатпа
Мобильді
қосымша
дегеніміз
не?
Ертеректе
бұл
ұғым
жиі қолданылмайтын.
Мобильді
қосымшалардың
қолдану
саласына қарай
көптеген
түрлері
бар.
Кез-келген
қосымшаның
басты
артықшылығы -
пайдалану
ыңғайлылығы.
Мобильді
қосымшалар
адамзаттың
уақытын үнемдеуге,
цифрлық
технологияны
тиімді
қолдануға
үйретті.
Мобильді қосымшалар
бірнеше
мақсатта
құрастырылады,
сонымен
қатар
олар
егжей-тегжейлі
шолуды
қажет
етпейді.
Сондықтан,
көп
жағдайда
мұндай қосымшаларды
ұялы
телефондарда
орнату
және
тұрмыстық
жағдайда, өмірде
қолдану
ыңғайлы
болып
келеді.
Бұл
ғылыми
жұмыста
біз
мобильді
қосымшалар
туралы,
сонымен
қатар,
оларды
программалау
жайында
айтатын боламыз.
Тәжірбие
бөлімінде
онлайн
кітап
сатып
алу,
тапсырыс беруге
болатын
қосымшаны
программалап
көрдім.

Аннотация
Что
такое
мобильное
приложение?
Раньше,
это
понятие использовалось
нечасто.
Существует
множество
типов
мобильных
приложений, в
зависимости
от
области
применения.
Главным
преимуществом любого
приложения
является
простота
использования.
Мобильные
приложения научили
людей
экономить
время
и
эффективно
использовать цифровые
технологии.
Мобильные
приложения
предназначены
для
нескольких
целей
и не
требуют
подробного
рассмотрения.
Поэтому,
в
большинстве случаев,
такие
приложения
удобно
устанавливать
на
мобильные
телефоны
и использовать
в
повседневной
жизни.
В
данной
научной
работе
речь
пойдет
о мобильных
приложениях,
а
также
об
их
программировании. В
экспериментальной
части
я
запрограммировала
приложение
для
онлайн-покупки
и
заказа
книг.
Аnnotation
What
is
a
mobile
application?
Previously,
this
concept
was
used infrequently.
There
are
many
types
of
mobile
applications
depending
on
the
field.
The main
advantage
of
any
application
is
ease
of
use.
Mobile
applications
have
taught people
how
to
save
time
and
use
digital
technologies
effectively.
Mobile
applications
are designed
for
several
purposes
and
do
not
require
detailed
consideration.
Therefore, in
most
cases,
such
applications
are
convenient
to
install
on
mobile
phones
and use
in
everyday
life.
In
this
scientific
work,
we
will
focus
on
mobile
applications,
as well
as
their
programming.
In
the
experimental
part,
I
have
programmed an
application
for
online
shopping
and
ordering
books.
Өзектілігі:
Мобильді
қосымша
қазіргі
заманның
бір
бөлігі
болып
табылады -
біз
оны
жоғары
деңгейде
қолдана
білуіміз
қажет.
Мақсаты:
Қосымшалардың
мүмкіндіктеріне
талдау
жасау,
оның
қазіргі қолданылу
саласын,
мүмкіндіктерін
зерттеу,
бізді
қоршаған
ақпараттардың оңтайландыруға
болатындығын
көрсету.
Міндеттері:
-
Android
платформасында
мобильді
қосымшаны
кодтау
принципін
білу; -
Қосымшаларды
құру
әдістерін
меңгеру; -
Қызметтер мен
бағдарламаларды
қарастыру
–
мобильді
қосымшаларды құруға
арналған
мәлеметтер
базасымен
жұмыс
жасау; -
Мобильді
қосымшаны
құру
процесін
білу; -
Мобильді қосымшаны
қолдану
салалары
туралы
білу; -
Ақпарат
көлемін
азайту
үшін
мобильді
қосымшаны
әзірлеу.
Гипотеза: Мобильді
қосымша
-
кез-келген
бағытта
ақпарат
алу,
оны жүзеге
асырудың
жылдам
тәсілі.
Ғылыми
жоба
жаңалығы:
Мобильді
қосымшаның
ақпарат
берудегі маңыздылығы
және
мобильді
қосымшаны
Android платформасында
құрастыру
ерекшелігін
анықтау.
КІРІСПЕ
Қәзіргі
таңда
мобильді
қосымшалар
біздің
өмірімізде кеңінен
қолданылады,
тіпті
сәнді
зат
болудан
қалып,
қажеттілігімізге
айналды. Сол
себептен
де
олар
әртүрлі
міндеттерді
шешу
үшін
пайдаланылады. Мобильді
құрылғылардың
үлкен
танымалдығы
әзірлеушілер
үшін
еңбек нарығында
жаңа
нишаны
құрды.
Бірақ
осыған
қарамастан,
мобильді
қосымшаларды әзірлеу
саласы
жас
және
дамушы
бағыт
болып
қала
береді,
әсіресе,
web-әзірлеу
немесе
ойын
әзірлеу
салаларымен
салыстырсақ.
Мобильді
қосымшалар
мен
мобильді
операциялық
жүйелердің даму
динамикасын
6-8
жыл
бұрын
смартфондарды
пайдалана бастаған
пайдаланушылар
толық
көлемде
бағалай
алады.
Біраз
уақыт
бұрын келесі
технологиялар
бойынша
белсенді
патенттік
талқылау
жүрді:
“slide
to unlock”,
“pinch
to
zoom”,
“pull
to
refresh”.
Ал,
қазіргі
таңда
барлық
құрылғылар
мен операциялық
жүйелерді
өндірушілер
осы
технологияларды
тең
дәрежеде қолданады
және
бұл
бірегей
нәрсе
емес.
Айта
кету
керек, операциялық
жүйелердің
әр
жаңартуларынан
кейін
олардың
арасындағы принципті
айырмашылықтар
азая
түсуде.
Әрбір
мобильді
операциялық
жүйе
өз бағдарламалау
тілінде
жазылған.
Нәтижесінде,
егер
тапсырыс
беруші iOS
және
Android
операциялық
жүйелеріне
арналған
қосымшаларға тапсырыс
берсе,
онда
әртүрлі
бағдарламалық
кодта
жазылған,
бірақ
бірдей міндетті
орындайтын
қосымшалар
әзірлеу
қажет
болады.
Бірақ мобильді
қосымшалардың
кроссплатфорлы
әзірлемесі
бар,
алайда
олар елеулі
кемшіліктерге
ие.
Қазіргі
таңда
көптеген
компаниялар
өз
клиенттері
үшін
ғана
емес, сонымен
қатар,
қызметкерлері
үшін
де
мобильді
қосымшаларды әзірлей
бастады,
бұл
жағдай
осы
саланың
дамуын
бағалаудың
тағы
бір
тәсілі екенін
атап
өтуге
болады.
Мобильді
технологияларды
компанияның жұмыс
процесіне
енгізу
келесі
мақсаттарға
қол
жеткізуге
мүмкіндік
береді:
-
еңбек
өнімділігін
арттыру; -
жұмыс
процестеріне
үлкен
бақылауды
қамтамасыз
ету; -
ұйымның жалпы
ақпараттануын
арттыру.
Ғылыми
жобаның
мақсаты
Android
операциялық
жүйесіне арналған
кітап
жеткізу
қызметін
жүзеге
асыратын
мобильді
қосымшаны
әзірлеу болып
табылады.
Ғылыми
жобаның
мақсаты:
-
ұқсас
міндеттерді
шешетін
қолданыстағы
жүйелерді
зерттеу; -
мобильді қосымшаға
қойылатын
талаптарды
талдау; -
Android қосымшаларын
әзірлеу
технологияларын
талдау; -
мобильді қосымшаның
архитектурасын
жобалау; -
мобильді
қосымшаны
әзірлеу;
Бұл
ғылыми
жоба
кіріспеден,
төрт
тараудан,
қорытындыдан, пайдаланылған
әдебиеттер
тізімінен
тұрады.
Бірінші
бөлім
кітап
жеткізу
қызметімен
айналысатын
жүйелерді шолуға
арналған.
Екінші
бөлім
мобильді
қосымшаға
қойылатын
функционалдық
және функционалды
емес
талаптарды
талдауды
қамтиды.
Үшінші
бөлімде
Android
операциялық
жүйесінде мобильдік
қосымшаларды
әзірлеу
технологиялары
қарастырылған.
Төртінші
бөлімде
мобильді
қосымшаны
іске
асыру
ұсынылған.
1
Қолданыстағы
жүйелерді
талдау
Қолданыстағы
жүйелерді
талдауға
арналған
ең
төменгі
талаптар:
-
мобильді
қосымша
арқылы
кітапқа
тапсырыс
жасау
мүмкіндігі; -
тапсырыс
статусын
бақылау
мүмкіндігі; -
тапсырыстар тізімін
“Менің
тапсырыстарым”
бөлімі
арқылы
қарау
мүмкіндігі.
Жүйенің
қажетті
функциялары:
-
тапсырысқа комментарий
қосу; -
төлем тәсілін
таңдау; -
кітаптарды іздеу
және
жанр
бойынша
сұрыптау; -
кітаптарға
баға
беру,
лүпіл
басу
және
пікір
жазу; -
қолданушыларға жеке
деректерін
өзгертулері
үшін
баптаулар
панелін
ұсыну; -
қолданушылар мекен-жайларларын
қосымша
жадысына
сақтау.
1.1
Ұқсас
жүйелерлі
шолу
Google
PlayMarket
мобильді
қосымшалар
дүкеніне
жүргізген мониторинг
нәтижесінде
қолдану
саласы
бойынша
ұқсас
қосымшалар табылмады.
Кітап
сатуға
байланысты
жүйелер
негізінен
веб-сайт
түрінде
іске
асырылған.
Менің
ойымша,
кітап
сатуға
және
жеткізуге
арналған
ең
жақсы веб-сайт
–
Меломан,
ол
1.1-суретте
бейнеленген.
Барлық
қарастырылған
сайттардың ішінде
ол
ең
жақсы
функционалды
ұсынады.
Мысалы,
кітаптардың
үлкен ассортимені,
кітаптар
жайында
егжей-тегжейлі
ақпарат
алу,
қолданушыларға арналған
бонустық
бағдарлама,
тәулігіне
24
сағат,
аптасына
7
күн жұмыс
істейтін
анықтамалық
колл-орталық.
Сайтта
тіркеу
нысандары дұрыс
құрастырылған,
сонымен
қатар
кітаптарды
сұрыптау
қызметі жақсы
форматта
көрсетілген.
Кітаптарға
баға
беруге
және
пікір
жазуға
болады.
Бұл сайт
өте
сапалы
және
әдемі
жасалған.
Осы
бағыттағы
АТ инфрақұрылымын
дамыту
күн
сайын
танымалдылыққа
ие
болуда,
ал
АТ
технологиялары
өз кезегінде
осындай
жобаларды
іске
асыру
үшін
көптеген технологияларды
ұсынады.
Қарастырылған
жүйе
қолданушыларды
мобильді
қосымшамен қамтамасыз
етпейді,
бірақ
қазіргі
уақытта
бұл
кемшілік
болып
табылады. Бұл
бағыттағы
мобильді
қосымша
әзірлеудің
маңызы
зор,
өйткені
қітап сатуға
және
жеткізуге
арналған
лайықты
шешімдер
әлі
жоқ.
1.2-суретте
бейнеленген
Book24
сайты
алдыңғы
сипатталған жүйе
сияқты
жақсы
функционал
мен
дизайнға
ие.
Бұл
сайттың
басты
ерекшелігіне кітаптар
сипаттамаларын
салыстыру
қызметін
жатқызуға
болады.
Мұнда бонустық
бағдарлама
қарастырылмаған.
Toot.kz
сайты
1.3-суретте
бейнеленген,
ол
жоғарыдағы сипатталған
сайттармен
салыстырғанда
әлдеқайда
қарапайым.
Бұл
сайттың басты
кемшілігі
авторизацияның
болмауында.

1.1-сурет
–
Меломан
веб-сайты

1.2-сурет
–
Book24
веб-сайты

1.3-сурет
–
Toot.kz
веб-сайты
2
Мобильді
қосымшаға
қойыла+тын
талаптар
Мобильді
қосымшаға
қойылатын
талаптарды
талдау жоспарланған
пайдалану
сценарийі
негізінде
жүргізілді.
Кітап
тапсырыстарына жауапты
компания
қызметкерін
“Кітап
жеткізу”
мобильді
қосымшасы орнатылған
ұялы
телефонмен
қамтамасыз
ету
күтілуде.
Қызметкер
өзінің
телефон нөмірін
және
құпия
сөзін
қолдану
арқылы
авторизациядан
өтеді,
және
соңғы
келіп түскен
тапсырыстарды
қабылдау
үшін
қосымшаның
тапсырыстарды
басқару бетін
синхрондайды
немесе
тапсырыстарды
нақты
уақыт
режимінде қабылдайды.
Тапсырыстарды
ашып
қарап,
тапсырыс
берушінің
мекен-жайына
кітаптарды
жөнелтіп,
тапсырысты
тиісінше
мәртебеге
өзгертеді, және
осы
кезде
тапсырыс
берушінің
мобильді
құрылғысына мәртебенің
өзгергені
жайында
хабарлама
келеді.
Мобильді
қосымшаны қолдану
барысында
интернет
желісі
істен
шыққан
жағдайда,
қолданушыға
тиесілі ескерту
жасалады.
Сондай-ақ
компания
қызметкері
мобильді
қосымша арқылы
деректер
қорында
орналасқан
кітаптарды
өзгерту,
жою
және
жаңа кітаптарды
қосу
функцияларын
нақты
уақыт
режимінде
жүзеге
асыра
алады. 
Қолданушылар,
яғни
тапсырыс
берушілер
кітап
жеткізу
қызметін қолдану
үшін
өздерінің
мобильді
құрылғыларына
“Кітап
жеткізу” мобильді
қосымшасын
орнатулары
тиіс.
Тапсырыс
жасау
үшін
қажетті
кітаптарды таңдап
және
міндетті
түрде
мекен-жайды
толық
толтырулары қажет.
Қолданушылар
кез-келген
кітапқа
өз
бағасын
беріп,
пікірін
қалдыра алады.
Сонымен
қатар,
қолданушыларға
сүйікті
кітаптар
және
кітап
іздеу функциялары
қолжетімді.
2.1
Фунционалдық
талаптар
Функционалдық
талаптар
жүйенің
қалай
іске
асырылуы
тиіс екендігі
жайлы
ақпаратты
ұсынады,
сондай-ақ
ол
жүйеде
не
іске
асыру
керектігін және
жүйенің
қандай
мүмкіндіктерін
іске
асыратынын
сипаттайды. Функционалдық
талаптар
бағдарлама
шешуі
тиіс
пайдаланушылық
есептер жиынтығын
анықтайтын
бағдарламалық
қамтамасыз
етуді сипаттайтын
бизнес
талаптарынан
тұрады.
Сипатталған
пайдалану
сценарийі
негізінде
функционалдық талаптар
құрылды.
“Кітап
жеткізу”
мобильді
қосымшасы
үшін
келесі
функционалдық талаптар
анықталды:
-
Қосымша
сервер
мен
мобильді
қосымша
арасында деректерді
синхрондау
мүмкіндігін
беруі
керек; -
Қосымша PUSH-хабарландыруларына
қолдау
көрсетуі
қажет; -
Қосымша пайдаланушының
атқаратын
рөліне
қарай авторизациядан
өтуге
мүмкіндік
беруі
керек; -
Қосымшада смартфондарға
бейімделген
интерфейс
болуы
керек; -
Қосымша
тапсырыстардың
әр
түрлі
күйлерін
дұрыс
өңдеуі
керек; -
Қосымшада кітап
іздеу,
кітапқа
баға
беру,
пікір
жазу
қызметтері қол
жетімді
болуы
керек; -
Қосымша
төлем
тәсілін
таңдау
мүмкіндігін
және
де
төлем қолма-қол
болған
жағдайда
қайтарым
жасауға
ақша
соммасын
енгізу
функциясын қамтамасыз
етуі
қажет. -
Қосымшада “Сүйікті
кітаптар”
қызметі
болуы
керек; -
Қосымша
қолданушының
жеке
деректерін
өзгертуге
мүмкіндік беруі
керек.
Администраторға
арналған
мобильді
қосымшаға
қойылатын
талаптар
тізімі:
-
Қосымша сервер
мен
мобильді
қосымша
арасында
деректерді синхрондау
мүмкіндігін
беруі
керек; -
Қосымша
PUSH-хабарландыруларына
қолдау
көрсетуі
қажет; -
Қосымша
пайдаланушының
атқаратын
рөліне
қарай
авторизациядан өтуге
мүмкіндік
беруі
керек; -
Қосымшада
смартфондарға
бейімделген
интерфейс
болуы
керек; -
Қосымша тапсырыстардың
әр
түрлі
күйлерін
дұрыс
өңдеуі
қажет; -
Қосымша
мобильді
құрылғының
камерасын
қолдануға
мүмкіндік беруі
қажет; -
Қосымша
жаңа
категория,
жанр,
кітап
қосуға
және оларды
өзгертуге,
жоюға
мүмкіндік
беруі
қажет.
2.2
Функционалдық
емес
талаптар
Функционалдық
емес
талаптар
мінез-құлықтың
жекелеген сценарийлері
емес,
жалпы
жүйенің
жұмыс
критерийлерін
анықтайды. Функционалды
емес
талаптар
өнімділік,
техникалық
қызмет
көрсету ыңғайлылығы,
кеңейтімділік,
сенімділік,
пайдаланудың
орта факторлары
сияқты
жүйелік
қасиеттерді
анықтайды.
Мобильді
қосымшаның қолданушылары
үшін
келесі
функционалды
емес талаптар
қалыптастырылды:
-
Жүйе
клиент
–
сервер
–
деректер
базасының
сервері архитектурасы
негізінде
жүзеге
асырылуы
тиіс; -
Сервер Java
бағдарламалау
тілінің
көмегімен
жазылып,
Firebase платформасында
өрістелуі
тиіс; -
Сервер деректерді
манипуляциялау
үшін
REST
API
ұсыну
керек; -
Мобильді
қосымша
Android
Studio
платформасының
көмегімен Java
бағдарламалау
тілінде
әзірленуі
тиіс.
2.3
Прецеденттерді
сипатау
UML-дегі
визуалды
модельдеуді
бастапқы
жүйенің
жалпы
және абстрактілі
тұжырымдамалық
логикалық
моделінен
тиісті бағдарламалық
жүйенің
физикалық
моделіне
деңгейлеп
түсудің
процесі
ретінде
елестетуге
болады.
Бұл
мақсаттарға
жету
үшін
алдымен
жүйенің
функционалдық мақсатын
сипаттайтын
немесе,
басқаша
айтқанда,
жүйе
өзінің функционалдану
процесінде
не
істейтінін
сипаттайтын
пайдалану
нұсқалары диаграммасы
құрылады.
Пайдалану
нұсқалары
диаграммасы жүйенің
бастапқы
концептуалды
көрінісі
немесе
жобалау
және
әзірлеу
процесінде оның
тұжырымдамалық
үлгісі
болып
табылады.
Пәндік
аймақтың
мәндерін
және
талаптарды
талдау
нәтижесінде мобильді
қосымша
үшін
пайдалану
нұсқалары
модельі
қалыптастырылды (1.1-суретте
көрсетілген).
Осы
модельге
сәйкес
қолданушының
жүйемен жасайтын
іс-әрекеттер
тізімін
айқын
көруге
болады.

2.1-сурет
–
Пайдалану
нұсқалары
диаграммасы
Бұл
диаграмманың
мәні
мыналардан
тұрады:
жобаланатын
жүйе пайдалану
нұсқалары
арқылы
жүйемен
өзара
әрекеттесетін
актерлер немесе
көптеген
мәндер
түрінде
ұсынылады.
Бұл
ретте
сырттан
жүйемен өзара
әрекеттесетін
кез
келген
мән
актер
немесе
әрекет
етуші
тұлға
деп аталады.
Бұл,
модельдік
жүйеге
әсер
ету
көзі
ретінде
әзірлеуші
өзі
анықтайтын, адам,
техникалық
құрылғы
немесе
кез
келген
басқа
жүйе
болуы
мүмкін.
Өз кезегінде,
пайдалану
нұсқасы
актерге
жүйемен
ұсынылатын
сервистерді сипаттау
үшін
қызмет
етеді.
Басқаша
айтқанда,
әр
пайдалану
нұсқасы актермен
сұхбат
кезінде
жүйемен
жасалатын
әрекеттер
жиынтығын анықтайды.
Бұл
ретте
актерлердің
жүйемен
өзара
іс-қимылы
қалай
іске асырылатыны
туралы
ештеңе
айтылмайды.
2.4
Қызмет
диаграммасы
Қызмет
диаграммасы
қандай
да
бір
пайдалану
нұсқасын
орындау үшін
қажетті
іс-қимылдар
реттілігін
көрсетеді.
Яғни,
бұл
диаграмма
прецеденттер диаграммасымен
тығыз
байланысты.
Дәлірек
айтқанда,
пайдаланудың
әрбір нұсқасы
үшін
белгілі
бір
прецедентті
іске
асыруға
қажетті
әрекеттер мен
шешімдердің
барысын
көрсететін
қызмет
диаграммасын
құруға
болады
.

2.2-сурет
–
Қызмет
диаграммасы
Мәні
жағынан
қызмет
диаграммалары
алгоритмдердің
қарапайым
блок-схемаларына
өте
ұқсас,
тек
қана
мәні
бойынша
ғана
емес,
сондай-ақ өзінің
мақсаты
мен
құрамы
бойынша
да.
Жоғарыдағы
суретте
(1.2-сурет) администратордың
мобильді
қосымшадағы
жасайтын
іс-әрекеттерін айқындайтын
қызмет
диаграммасы
көрсетілген.
Администратор
қосымшаға
кіру
үшін
міндетті
түрде
жүйеге тіркелген
болуы
қажет.
Жоғарыдағы
диаграммада
көрсетілгендей
администратор қосымшаға
кіргеннен
кейін,
келесі
іс-әрекеттерді
жүзеге
асыра алады:
категория
қосу,
категорияны
өзгерті/жою,
жанр
қосу,
жанрды
өзгерту/жою, кітап
қосу,
кітапты
өзгерту/жою,
тапсырыстардың
статусын
өзгерту, тапсырыстарды
жою.
3
Android
қосымшаларын
әзірлеу
технологияларын
талдау
3.1
Деректерді
сақтау
технологияларын
талдау
Android
амалдық
жүйесі
деректерді
сақтауға арналған
технологиялардың
әр
түрлі
типтерін
қолдануға
мүмкіндік береді:
қосымшалар
арасындағы
деректер
алмасуға
мүмкіндік
беретін
SQLite
және Content
Provider
реляционды
деректер
қоры
–
кірістірілген
шешімдер
болып табылады.
Сонымен
қатар
деректерді
сақтау
үшін
NoSql
деректер
қоры принциптерін
жүзеге
асыратын
басқа
да
технологиялар
бар. Деректерді
сақтау
технологияларын
салыстырмалы
талдау
бірінші
кестеде
келтірілген
(1-кесте).
1-кесте
–
Android
амалдық
жүйесінде
деректерді
сақтау
тәсілдері
|
|
OrmLite |
StorIO |
Content |
Firebase |
|
Деректерді
сақтау |
SQLite |
SQLite/ Content |
Content |
NoSql |
|
Күрделі
сұрауларды |
Бар |
Бар |
Жоқ |
Жоқ |
|
RxJava |
Жоқ |
Бар |
Жоқ |
Бар |
|
Артықшы-лықтары |
Кең
функционалдылық, |
Қолданыстағы |
Деректердің
қатаң |
Жұмыс |
|
Кемшілік-тері |
Артық
код |
Артық
код |
Шектелген функционал |
Шектелген |
Android
қосымшалары
үшін
пайдаланылатын
сервер
–
бұл
Oracle
SQL, Microsoft
SQL
Server
және
РНР
файлдары
арқылы
сервермен
байланысқан MySQL.
Кейіннен
Android
қосымшалары
үшін
деректерді
сақтауға
JSON форматын
пайдаланатын
Firebase
платформасы
пайда
болды.
Басқа серверлер
деректерді
сақтау
үшін
кесте
форматын
пайдаланады.
Firebase
NoSQL құрылымына
негізделген.
Firebase
сияқты
бұлтты
серверлер
өте
аз.
Мұндай серверлерге
келесілерді
жатқызуға
болады:
AWS
Mobile
Hub,
CloudKit,
Parse. AWS
Mobile
Hub
–
бұл
мобильді
қосымшаларды
құруға,
тестіден өткізуге
және
бақылауға
арналған
біріктірілген
консоль.
CloudKit
–
бұл Apple
компаниясының
платформасы,
ол
деректерді
және
ресурстарды сақтауға
көмектеседі,
бірақ
тек
iOS
операциялық
жүйесінің
қосымшаларына
арналған. Parse
–
Facebook
компаниясына
тиесілі,
ашық
бастапқы
коды
бар
сервер.
Бұл сервер
қазіргі
таңда
қол
жетімсіз.
Мен,
барлық
қол
жетімді серверлік
платформаларды
және
деректер
қорын
саралай
келе
өз
дипломдық жобама
Firebase
платформасын
қолдануды
жөн
көрдім.
Firebase
–
2011
жылы
Эндрю
Ли
және
Джеймс
Трамплин негізін
қалаған
және
2014
жылы
Google
компаниясының
иелігіне
өткен, бұлтты
қызметтерді
жеткізуші
америкалық
компания.
Негізгі
қызметі
–
бағдарлама әзірлеуші-
леріне
деректерді
бірнеше
клиенттер
арасында
сақтауға және
синхрондауға
мүмкіндік
беретін
NoSQL
класындағы
бұлтты
ДББЖ
(Деректер Базаларын
Басқару
Жүйелері).
Firebase
платформасында
Android
Және
iOS операциялық
жүйелеріне
арналған
қосымшалармен
біріктіру ерекшеліктері
қолдау
тапты,
JavaScript,
Java,
Objective-C
және
Node.js
қосымшаларына арналған
API
жүзеге
асырылды,
сондай-ақ,
JavaScript-фреймворктардың
қатарынан
REST
стиліндегі
деректер
базасымен
тікелей
жұмыс
жасауға мүмкіндік
бар.
Деректерді
шифрлау
үшін
API
қарастырылғын.
Firebase
деректер
қорының
артықшылықтары:
-
JSON деректер
үшін
нақты
уақытта
синхрондау.
Firebase Realtime
деректер
қоры
–
қолданушылар
арасында
деректерді
нақты
уақыт режимінде
сақтауға
және
синхрондауға
мүмкіндік
беретін
NoSQL
бұлттық
деректер қоры
болып
табылады. -
Құрылғымен бірге
жұмыс
істеу.
Деректерді
нақты
уақытта синхрондау
қолданушыларға
кез
келген
веб
немесе
мобильді
құрылғыдан
өз деректеріне
қатынуға
мүмкіндік
береді,
бұл
өз
кезегінде
қолданушыларға
бір-бірімен
ынтымақтасуға
көмектеседі. -
Қосымшаларды
сервердің
көмегінсіз
жасау.
Realtime
деректер қоры
мобильді
және
веб
SDK
арқылы
жеткізіледі,
сондықтан
серверлердің қажеттілігінсіз
қосымшаларды
жасай
аласыз.
Сондай-ақ
біз
Cloud
Function
for Firebase
қызметін
пайдалану
арқылы
деректер
қоры
бастамасымен оқиғаларға
жауап
беретін
бэкэнд
кодын
орындай
аламыз. -
Дербес
пайдалану
үшін
оңтайландырылған.
Қолданушылар
дербес режимге
ауысқанда,
Realtime
SDK
деректер
қоры
қызмет
көрсету
және өзгерістерді
сақтау
үшін
құрылғыдағы
жергілікті
кэшті
пайдаланады. Құрылғы
желіге
қосылған
кезде,
жергілікті
деректер
автоматты түрде
синхрондалады. -
Пайдаланушы
қауіпсіздігі.
Әзірлеушілер
үшін
қарапайым
және интуитивті
аутентификацияны
қамтамасыз
ету
үшін
Realtime
деректер қоры
Firebase
Authentication-мен
біріктірілген.
Firebase
деректер
қоры
келесі
кемшіліктерге
ие:
-
Оның қолданылу
саласы
NoSQL
шешімдерінен
әлдеқайда
аз. -
Firebase деректерді
алу
кезінде
және
қажет
болған
жағдайда
бір уақытта
деректерді
бірнеше
орындарға
жазу
кезінде
өзіндік
шектеулерге
ие. -
Кейбір
деректер
құрылымы
Firebase-та
жұмыс
жасауға
ыңғайсыз.
Мобильді
қосымшаға
Firebase
деректер
қорын
қосу
алгоритмі
Firebase консолінде
және
ашық
Android
жобасында
бірқатар
міндеттерден
тұрады:
1.
Firebase
жобасын
құру.
Android-қосымшасына
Firebase-ты ендірмес
бұрын,
Firebase
жобасын
құрып
алуымыз
қажет
(3.1-сурет).

3.1-сурет
–
Firebase
консоліндегі
құрылған
жоба
2.
Мобильді
қосымшаны
Firebase
жобасына
тіркеу.
3.
Firebase
конфигурациялық
файлын
қосу.
Google-services.json
файлын жүктеп,
жобадағы
app
пакетіне
жылжытамыз.
Firebase
өнімдерін қосымшаға
қосу
үшін
google-services
плагинін
Gradle
файлдарына
қосамыз.
а.
Жоба
деңгейіндегі
Gradle
файлының
көрінісі
3.2-суретте
көрсетілген.
ә.
Ал,
қосымша
деңгейіндегі
Gradle
файлының
көрінісі
3.3-cуретте
көрсетілген.
4.
Қосымшаға
Firebase
SDK
қосу.
Модульдің
Gradle файлына
(бағдарлама
деңгейінде,
әдетте
app
/
build.gradle)
негізгі
Firebase
SDK
үшін
тиісті
тәуелділікті
қосу
қажет
(3.4-cурет).
Осы
суретте
көрсетілген тәуелділіктердің
әрбіріне
жеке-жеке
тоқталып
өтейін.
FirebaseUI
–
бұл
Android
платформасы
үшін
ашық
бастапқы
коды бар
кітапхана,
ол
пайдаланушы
интерфейсінің
жалпы
элементтерін
Firebase
API-интерфейстеріне
жылдам
қосуға
мүмкіндік
береді.
FirebaseUI
нақты уақыттағы
Firebase
деректер
қоры,
Бұлттық
Firestore,
Firebase
Auth
және Бұлтты
Сақтау
үшін
жеке
модульдерге
ие.
Firebase
Аналитика
бүгінгі
күні
қол
жетімді
мобильді қосымшалар
талдаушыларының
ең
танымал
шешімдерінің
бірі
болып
табылады.
Оны пайдалана
отырып,
қосымша
қолданушылары
туралы
нақты
ақпарат алуға
болады.
Жалпы,
Firebase
Аналитика
екі
негізгі
ақпарат
түрін
тіркейді:
Оқиғалар
–
қосымшада
не
болып
жатқанын,
мысалы
пайдаланушы әрекеттері,
жүйелік
оқиғалар
немесе
қателер;
Пайдаланушы
қасиеттері
–
пайдаланушы
базасының сегменттерін
сипаттау
үшін
анықтайтын
атрибуттар,
мысалы,
тілдік
артықшылық
немесе географиялық
орын.
Аналитика
кейбір
оқиғалар
мен
пайдаланушы
қасиеттерін автоматты
түрде
тіркейді:
оларды
қосу
үшін
код
жазудың
қажеті
жоқ.

3.2-сурет
–
Жоба
деңгейіндегі
Gradle
файлы

3.3-сурет
–
қосымша
деңгейіндегі
Gradle
файлы
Firebase
Бұлттық
Хабарландыру
(Firebase
Cloud
Messaging
немесе
FCM) iOS,
Android
платформаларында
және
Интернетте
хабарлар
мен хабарламаларды
тегін
жеткізуге
және
алуға
мүмкіндік
беретін
сервер
мен құрылғылар
арасында
сенімді
және
тиімді
байланысты
қамтамасыз етеді.
FCM
SDK
барлық
қажетті
рұқсаттарды,
сондай-ақ
қабылдаушының
қажетті функционалдығын
автоматты
түрде
қосады.

3.4-сурет
–
Тәуелділікті
қосу
Firebase
платформасының
ең
қуатты
функцияларының
бірі
–
бұл нақты
уақыт
режиміндегі
деректер
базасы:
онда
орындалатын
барлық
жазба операциялары
оны
қадағалайтын
барлық
клиенттер
үшін
бірден
қол
жетімді. Бұл
деректер
қорының
көмегімен
пайдаланушыларға
бір
құрылғыдан басқасына
кедергісіз
ауысуға,
сондай-ақ
басқа
пайдаланушылармен
бірден әрекеттесуге
мүмкіндік
беретін
қолданбаларды
жасауға
болады.
Деректер
JSON
форматында
сақталады
және
әрбір
қосылған клиентпен
нақты
уақыт
режимінде
синхрондалады.
Бұл
дегеніміз,
деректер
қорындағы мәріметтер
кілттік
сөз
және
мән
жұптары
ретінде
көрініс
табады, мұндағы
кілттік
сөздер
әрқашан
жолдар,
ал
мәндер
–
примитивтер,
массивтер
немесе басқа
JSON
объектілері
болып
табылады.
Нақты
уақыт
режиміндегі деректер
қорына
мәліметтерді
жазар
алдында
FirebaseDatabase
класының getInstance()
әдісі
арқылы
алдын
ала
деректер
қорына
сілтеме
алу
керек.
Содан кейін
getReference()
әдісі
арқылы
деректер
қорының
ішіндегі
кез
келген жолға
сілтеме
алуға
болады.
Алынған
жолда
иерархиялық
тәртіпте
орналасқан бір
немесе
бірнеше
кілттер
болуы
мүмкін.
Егер
жолда
DatabaseReference бар
болса,
setValue()
әдісін
пайдаланып
оның
мәнін
орнатуға
болады. 3.5-суретте
setValue()
әдісі
арқылы
деректер
қорына
жаңа
кітап
қосу
коды
көрсетілген.
Дерекқордан
мәліметтерді
нақты
уақыт
режимінде
оқу
үшін асинхронды
бақылаушыны
байланысқан
кілтке
немесе
жолға
қосу керек.
Дәлірек
айтқанда,
addValueEventListener()
әдісін
пайдалана
отырып, ValueEventListener
объектісін
DatabaseReference
объектісіне
қосу керек.
ValueEventListener
интерфейсінің
onDataChange()
әдісі DataSnapshot
объектісіне
қатынауға
мүмкіндік
береді,
ал
getValue()
әдісі
кілттің соңғы
мәнін
алуға
пайдаланылады.
Мәселен,
деректер
қорындағы
барлық
кітіптар тізімін
алу
жолы
3.6-суретте
көрсетілген.

3.5-сурет
–
Деректер
қорына
жаңа
кітап
қосу

3.6-сурет
–
Деректер
қорынан
кітаптар
тізімін
алу
IOS,
Android
және
JavaScript
үшін
Firebase
SDK
көмегімен кроссплатфорлы
қосымшалар
жасаған
кезде,
қосымшаның барлық
қолданушылары
нақты
уақытта
деректер
қорының
бір
экземплярын
бірлесіп пайдаланады
және
автоматты
түрде
ең
жаңа
деректер
жаңартуларын
алады. Нақты
уақыттағы
Firebase
деректер
қоры
HTTP-сұраулардың
орнына деректерді
синхрондауды
пайдаланады
–
әр
кез
деректер
өзгерген
сайын, кез
келген
жалғанған
құрылғы
бұл
жаңартуды
миллисекунд
ішінде
алады.
Firebase
консолінің
“Database”
бөліміне
өтіп,
дерекқордың
ішіндегі барлық
деректерді
нақты
уақыт
режимінде
көре
аламыз
(3.7-сурет).

3.7-сурет
–
Нақты
уақыттағы
Firebase
деректер
қоры
3.2
Сервермен
өзара
әрекеттесуге
арналған
тәсілдерді
талдау
Мобильді
қосымшаға
қойылатын
талаптардың
бірі
сервермен синхрондау
болып
табылады.
Бүгінігі
таңда
сервермен
деректер алмасуға
мүмкіндік
беретін
түрлі
технологиялар
бар.
Синхрондау
үдерісін
HTTP сұраулары
немесе
socket
байланыстары
арқылы
жасауға
болады.
Бірінші
тәсіл web-әзірлеу
саласында
кең
қолданысқа
ие.
Екіншісі
дербес компьютерлерге
арналған
қосымшаларды
әзірлеуде
жиі
қолданылады,
және
серверге
қосылу қажет
болған
кезде
әрдайым
деректерді
қабылдауды
күтеді. Мұндай
бағдарламалардың
мысалы
ретінде
Skype,
Icq
сияқты
хабар
алмасу қосымшаларын
жатқызуға
болады.
Бағдарлама
мен
сервер
арасындағы
деректер
алмасуды әртүрлі
форматтарда
деректерді
жіберу
арқылы
жасауға
болады:
XML
немесе JSON.
Біздің
пайдалану
сценарийімізде
JSON
XML-ді,
пайдаланудың қарапайымдылығына
және
сол
ақпаратқа
ие
деректер
пакетінің
аз
мөлшеріне байланысты,
толығымен
ауыстырды.
JSON-ның
негізгі
артықшылықтарына
төмендегілерді жатқызуға
болады:
-
код
оқылуы; -
кеңейту жеңілдігі.
Бүгінгі
күні
барлық
мобильдік
қосымшалар
сервермен
деректерді
REST API
көмегімен
алмасады,
оның
негізгі
артықшылықтары:
-
трафикті
үнемдеу
–
біз
тек
сұралған
деректерді
ғана
аламыз; -
жүзеге
асырудағы
қарапайымдылық.
Кемшілігіне
әр
сұраныстың
жеке
түрде
орындалатындығын жатқызуға
болады.
REST
API
интерфейсіне
балама
ретінде
деректердің
барлығы
бірден жүктелетін
алмасу
тәсілін
ерекшелеуге
болады.
Бұл
тәсілдің
артықшылығы
–
іске
асырудың
қарапайымдылығында,
яғни
біз
барлық
деректерді
бірден аламыз,
әрбір
сұрауды
жеке-жеке
өңдеу
қажет
емес.
Кемшіліктеріне
келесілерді
жатқызуға
болады:
-
тұтынылатын трафиктің
үлкен
көлемі; -
сұраныстың
ұзақ
уақыт
орындалуы,
әсіресе
интернетке
қосылу
баяу болған
кезде.
3.3
Желілік
сұраныстарды
іске
асыратын
технологияларды
талдау
Android
операциялық
жүйесінде
HTTP
деректер
алмасуды
іске
асыру үшін
екі
негізгі
шешім
бар:
Retrofit
және
Java
тілінің стандартты
механизмдері.
Retrofi-тің
артықшылықтарына
қолданудағы ыңғайлылықты
жатқызуға
болады,
яғни
сервермен
деректер
алмасу
JSON
форматында орын
алады.
GSON
технологиясы
арқасында
серверден
келген
жауап
Java класы
ретінде
ұсынылуы
мүмкін,
осылайша
серверден
JSON
жауабын
қолмен талдаудың
қажеті
болмайды.
Кемшіліктерінің
ішінен
жіберуге
және қабылдауға
арналған
сұрау
тақырыптарымен
жұмыс
жасау
барысындағы ыңғайсыздықты
ерекшелеуге
болады.
Стандартты
Java
кластары
арқылы желілік
деректерді
алмасуды
жүзеге
асыру
тікелей
қарама-қарсы артықшылықтар
мен
кемшіліктерге
ие.
Артықшылықтары: сұрау
тақырыптарымен
жұмас
істеу
кезіндегі
икемділік.
Кемшіліктері: серверден
келген
жауапты
“қолмен”
талдау,
бірақ
GSON
техгологиясын
автоматты емес
режимде
қолдану
бұл
мәселені
ішінара
шешеді.
Сондай-ақ,
кемшіліктеріне артық
бағдарламалық
код
жазу
қажеттілігін
жатқызуға
болады.
REST
API
арқылы
қосымшаның
сервермен
өзара әрекеттесуін
қамтамасыз
ету
үшін
Retrofit
кітапханасын
қолдану
коды
төменде
көрсетілген.

3.8-сурет
–
Retrofit
кітапханасын
қолдану
коды
4
Қосымшаны
жүзеге
асыру
4.1
Клиент
қосымшасын
жүзеге
асыру
Клиенттік
қосымшаны
жүзеге
асыру
үшін
Android Studio
интеграцияланған
әзірлеу
ортасы
(IDE)
қолданылды.
Бұл
IDE
бірқатар артықшылықтарға
байланысты
таңдалды:
1)
IDE
әзірлеушісі
Android
платформасын
шығарушы
Google компаниясы.
Бұл
жаңа
Android
нұсқасы
үшін
қолайлы мүмкіндіктер
интеграциясын
береді;
2)
IDE-де
API-дың
барлық
нұсқаларымен
жұмыс
істеуге мүмкіндік
беретін
Android
SDK
орнатылған,
сонымен
қатар
барлық
қажетті параметрлер
автоматты
түрде
орнатылады;
3)
интерфейс
конструкторы.
Бәрі
визуалданған,
экран
көрсетілуін
кез-келген
құрылғы
мысалында
көруге
болады,
сондай-ақ
таңдалған құрылғының
барлық
сипаттамалары
сақталады.
Визуализация
операциялық
жүйенің нақты
нұсқасында
көрінеді;
4)
жоба
құрылымы
ұсынылады;
5)
ыңғайлы
дизайн;
6)
қателерді
бақылауға
ыңғайлы.
4.2
Деректерді
сақтау
Қосымша
беттері
арасында
деректерді
беру
үшін
putExtra() әдісі
пайдаланылды,
ол
шын
мәнінде
кілт-мән
жұбы
түрінде
ұсынылатын деректердің
сөздігі
болып
табылады,
сонымен
қатар
оны
шақыру
Intent класы
арқылы
жүзеге
асырылады.
PutExtra()
әдісі
арқылы
сандық,
жол және
логикалық
мәндер
жіберіледі.
Қосымшаны
іске
асыру
кезінде
белгілі бір
шарттарға
байланысты
баптау
файлдары
немесе
Intent
класының
объектілірі
пайдаланылды.
Клиенттік
қосымшада
қолданушыларды
жүйеге
сақтау
үшін, яғни
қосымшаға
автоматты
түрде
кіру
қызметін
енгізу
үшін
Paper кітапханасын
пайдаландым.
Paper
кітапханасы
мәліметтерді
оңай
және
тез
сақтауға мүмкіндік
береді.
Бұл
кітапхананы
қолдану
үшін
Gradle
файлына
келесі тәуелділікті
енгізу
қажет:
implementation
‘io.paperdb: paperdb:2.6’.
Application.onCreate()
әдісінде
бір
рет
инициализациялануы
керек:
Paper.init().
Мобильді
қосымшада
кітаптарды
себетке,
сүйікті
кітаптар бөліміне
жинау
және
мекен-жайды
сақтау
қызметтерін
жүзеге
асыру
үшін SQLite
деректер
қорын
қолдандым.
Ол
үшін
SQL
тілінің
синтаксисін пайдала
отырып,
“KitapDB”
деректер
қорын
құрдым.
Менің
құрған
деректер қорым
қосымша
каталогындағы
келесі
жолда орналасқан:
DATA/data/Kitap/databases/KitapDB.
SQLite
–
Android
платформасына
кіріктірілген
кең
таралған
деректер қорын
басқару
жүйелерінің
бірі.
Дерекқорлармен
жұмыс
істеудің негізгі
функцияларын
android.database
пакеті
қамтамасыз
етеді.
Ал,
SQLite
деректер қорымен
жұмыс
істеуге
мүмкіндік
беретін
кластар
жиынтығы
аndroid.database.sqlite
пакетінде
орналасқан.
Осы
кластардың әрқайсысына
жеке
тоқталып
өтейін:
1)
android.database.sqlite.SQLiteDatabase
класы
деректер
қорына сұрау-
лар
мен
әртүрлі
манипуляциялар
жасауға
мүмкіндік
береді;
2)
android.database.sqlite.SQLiteCursor
класы
сұрауды
қамтамасыз
етеді және
осы
сұрауға
сәйкес
келетін
жолдар
жиынын
қайтаруға
мүмкіндік
береді;
3)
android.database.sqlite.SQLiteQueryBuilder
класы
SQL
сұрауларын
жа- сауға
мүмкіндік
береді;
4)
android.database.sqlite.SQLiteOpenHelper
класы
барлық
кестелермен бірге
деректер
қорын
жасауға
мүмкіндік
береді.
SQLite
келесі
деректер
түрін
пайдаланады:
INTEGER,
REAL,
TEXT, BLOB,
NUMERIC.
SQLite
үшін
DB
Browser
құралын
пайдаланып,
“KitapDB” деректер
қорын
және
OrderDetail,
Favorites,
Address
кестелерін
құрдым
(4.1-сурет).
SQLite
үшін
DB
Browser
–
бұл
SQLite-қа
үйлесімді
деректер
қорының файлдарын
жасау,
жобалау
және
өңдеу
үшін
арналған
ашық
бастапқы коды
бар,
жоғары
сапалы
визуалды
құрал.
Бұл
құралдың
интерфейсі
қолдануға
өте ыңғайлы,
ол
әзірлеушілерге
деректер
қорын
және
ондағы
кестелерді
тез,
әрі оңай
құруға
мүмкіндік
береді.

4.1-сурет
–
SQLite
үшін
DB
Browser
Кітапты
себетке
қосу,
яғни
OrderDetail
кестесіне
INSERT
операциясын орындау
коды
4.2-суретте
көрсетілген.
Address
кестесіндегі
мекен-жай
тізімін
алу
4.3-суретте
көрсетілген.

4.2-сурет
–
Себетке
кітап
қосу

4.3-сурет
–
Мекен-жай
тізімін
алу
4.3
Gradle
жобасын
құрастыру
жүйесі
Жобаны
құрастыру
үшін
Gradle
пайдаланылды.
Gradle
–
Android Studio
әзірлеу
ортасына
біріктірілген
құрастыру
құралы.
Android
Studio
әзірлеу ортасында
жоба
автоматты
түрде
фондық
режимде
құрастырылады, бұл
құрылым
конфигурация
файлдарының
жиынына
негізделеді.
Gradle әзірлеушіге
қосымшаның
тәуелділіктерін
оңай
басқаруға
және
оларды репозиторийден
орнатуға
көмектеседі,
сондай-ақ,
әр
түрлі
жинақтарды құруға
болады.
Build.gradle
конфигурация
файлы
қосымшаның
нұсқасы,
Android нұсқасының
талаптары
туралы
ақпараттарды
қамтиды.
4.4-суретте
мобильді қосымшадағы
конфигурация
файлының
бастапқы
коды
бейнеленген.

4.4-сурет
–
Build.gradle
конфигурациялық
файлының
коды
Конфигурация
файлы
сонымен
қатар
пайдаланылатын
бөгде
кітапхана- лардың
тізімін
қамтиды.
4.5-суретте
мобильді
қосымшаны
әзірлеуде пайдаланылған
бөгде
кітапханаларды
қамтитын
конфигурация файлы
бейнеленген.

4.5-сурет
–
Build.gradle
файлына
қосылатын
кітапханалар
тізімі
4.4
Қосымша
интерфейсі
Әзірленген
мобильді
қосымша
қолданушыға
кітап тапсырыстарын
жасауға
мүмкіндік
береді.
Қосымшадағы
кітаптар
категориялар мен
жанрларға
топтастырылған.
Қолданушы
деректер
қорындағы
кез-келген кітап
жайында
толық
ақпаратқа
қол
жеткізе
алады:
кітап
аты,
бағасы,
авторы, сипаттамасы,
шығарған
баспасы,
жанры,
басқа
қолданушылардың
кітап жайындағы
пікірі
және
бағасы.
Жалпы
қосымша
интерфейсі
өте
ыңғайлы және
әдемі
көрініске
ие.
Сонымен
қатар,
қосымша
кітап
іздеу,
кітапқа
баға беру
және
пікір
жазу,
сүйікті
кітаптар
қызметтерін
ұсынады.
Қосымша
іске
қосылғанда,
пайдаланушы
есептік жазбасының
деректерін
қолдану
арқылы
авторизациядан
өтеді
немесе
тіркелу
шартына сәйкес
тіркеу
нысанын
(4.6-сурет)
толтыра
отырып,
жаңа
есептік
жазба ашады.
Егер
барлық
енгізілген
деректер
дұрыс
болса, пайдаланушы
қосымшаның
негізгі
бетіне
өтеді.
Қосымшаға
кіргенде,
пайдаланушы
туралы барлық
қажетті
ақпарат
одан
әрі
операциялар
жасау
үшін
сақталады.

4.6-сурет
–
Қосымшаға
кіру
және
тіркелу
беттері

4.7-сурет
–
Құпия
сөзді
ұмыту
терезесі
Қосымшаның
негізгі
бетінде
(4.8-сурет)
категориялар
тізімі
көрсетіледі, категория
кескіннен
және
тақырыптан
тұрады.
4.8-сурет
–
Навигация
мәзірі
және
негізгі
бет
Қосымшаны
навигациялау
үшін
бүйірлік
мәзір
қолданылады
(4.8-сурет).
Бүйірлік
мәзір
қосымшаның
жоғарғы
сол
жақ
бұрышындағы батырманы
басқанда
немесе
бүйірлік
свайп
арқылы
шақырылады. Әрбір
мәзір
элементі
өз
функционалдығын
қамтамасыз
етеді
және
ол
өзіндік
атау мен
белгішеден
тұрады.
Бүйірлік
мәзір
келесі
элементтерді
қамтиды:
негізгі бет,
сүйікті
кітаптарым,
себет,
менің
тапсырыстарым,
баптаулар, қосымшадан
шығу.
Категорияны
таңдау
арқылы
сол
категорияға
сәйкес
кітаптар
және жанрлар
тізімін
алуға
болады
(4.9-сурет).
Жанрлар
көлденең,
ал
кітаптар тігінен
орналасқын
RecyclerView
виджетінде
орналасқан.
Мұндағы тігінен
орналасқан
RecyclerView,
яғни
кітаптар
тізімі
келесі
деректерден
тұрады: кітаптың
кескіні,
атауы,
авторы,
бағасы,
жұлдызша
саны
және
лүпіл. Кітап
кескінін
серверден
жүктеу
үшін
Glide
кітапханасы
пайдаланылды.
Glide кітапханасы
басқа
танымал
Picasso
кітапханасының
ең
жақын бәсекелесі
болып
табылады
және
де
желіден,
ресурстардан
немесе
файлдық жүйеден
кескіндерді
асинхронды
жүктеуге,
оларды
кэштеуге
және бейнелеуге
арналған.
Бұл
кітапханалардың
синтаксисі
және
жұмыс
принципі
өте
ұқсас.
Тігінен
орналасқын
RecyclerView
элементін,
яғни
кітапты
басу арқылы
кез
келген
кітап
жайында
толық
ақпарат
аламыз
(4.9-сурет), сондай-ақ
кітапты
себетке
қосу
үшін
“Себетке
қосу”
батырмасын
басамыз.
4
.9
–
сурет.
Кітаптар
тізімі
және
кітап
туралы
ақпарат
беттері
Қосымшада
ұнаған
кітаптарға
лүпіл
басып,
“Сүйікті
кітіптар” тізімін
жасауға
болады
(4.10-сурет).
Ал,
кітапқа
тапсырыс
беру
үшін
алдын
ала қажетті
кітаптарды
себетке
жинау
қажет
(4.10-сурет).
Сүйікті
кітаптар
және себеттегі
кітаптар
SQLite
деректер
қорында
сақталады.
Сонымен қатар,
мобильді
қосымша
себеттен
кітаптарды
алуға
және
олардың
санын өзгертуге
мүмкіндік
береді.
Кітап
санын
өзгерту
үшін
Elegant
Number
Button
виджетін пайдаландым.
Бұл
–
көбейту
және
азайту
батырмалары
бар
санауышты іске
асыруға
арналған
қарапайым
кітапхана.
Себеттегі
кітаптардың
жалпы
саны мен
бағасы
Toolbar
виджетінде
орналасқын
және
де
бұл
өз кезегінде
қоданушылар
үшін
өте
ыңғайлы.
4
.10
–
сурет.
Сүйікті
кітаптарым
және
Себет
беттері
“Тапсырысты
рәсімдеу”
батырмасын
басу
арқылы
тапсырыс
жасалады. Қолданушы
батырманы
басқаннан
кейін
қосымшада
“Тапсырыс
беру” диалогтық
терезесі
ашылады
(4.11-сурет).
Мұнда
қолданушыға
екі түрлі
төлем
тәсілдері
ұсынылады:
кредиттік
карта
және
қолма-қол
төлем
тәсілдері.
Егер
қолма-қол
төлем
тәсілі
таңдалған
жағдайда,
тапсырыс
беруші
міндетті түрде
қайтарым
үшін
нақты
ақша
сомасын
тиісті
бөлімге
енгізу керек.
Тапсырыс
сәтті
жасалуы
үшін
барлық
ақпараттар
толық
толтырылуы қажет,
әсіресе,
мекен-жай
міндетті
түрде
толтырылуы
тиіс.
Ал,
комментарийді жазу
міндетті
емес.
Тапсырыс
сәтті
түрде
жіберілгеннен
соң,
себет автоматты
түрде
тазартылады.
Қосымша
қолданушыларға
тапсырыс
статусын
бақылауға
мүмкіндік береді.
Ол
үшін
“Менің
тапсырыстарым”
бетіне
өту
қажет
(4.11-сурет). Бұл
бетте
тапсырыс
тарихы
көрсетіледі:
тапсырыстың
жасалған
күні,
орындалу статусы,
жалпы
бағасы,
тапсырыс
берілген
кітаптар
тізімі,
төлем
тәсілі. Тапсырыс
статусы
өзгерген
жағдайда,
қолданушыға
бірден
хабарлама келеді.
Хабарлама
жіберуді
жүзеге
асыру
үшін
FirebaseMessaging қызметін
қолдандым.

4.11
–
сурет.
“Тапсырыс
беру”
диалогтық
терезесі
және
Менің тапсырыстарым
беті
Қолданушылар
“Баптаулар”
бетіне
(4.12-сурет)
кіріп,
өздерінің жеке
деректерін
өзгерте
алады:
есімін
және
құпия
сөзін.
Сонымен
қатар,
қосымша қолданушыларға
құрылғы
жадысына
бірнеше
мекен-жайларды сақтауға
мүмкіндік
береді.
Тапсырыс
беру
кезінде
осы
алдын-ала
сақталған
мекен-жайлардың
бірі
таңдалады.
Қосымшадағы
барлық
мекен-жайлар
SQLite
деректер
қорындағы Address
кестесінде
сақталады.
Мекен-жай
қосу
үшін
шақырылған диалогтік
терезедегі
(4.12-сурет)
барлық
пункттер
толық
толтырылуы
қажет.


4.12-сурет
–
Баптаулар
беті
және
Мекен-жай
қосу
терезесі
Қосымшада
кітаптарды
бағалау
(4.13-сурет)
қызметін
жүзеге асыру
үшін
AppRating
кітапханасы
қолданылды.
Бұл
кітапхананы
қолдану
үшін Gradle
файлына
келесі
жолды
қосу
қажет:
compile
'com.stepstone.apprating:app-rating:2.3.1'.
Кітапханамен
қолдау көрсетілетін
функциялар:
-
диалог
фоны,
жұлдызшалары,
тақырыбы,
сипаттамасы
үшін таңдамалы
стильдер; -
облыстың
пайдаланушы
рейтингі
(жұлдыздар
саны); -
әрбір
жазбаны
сипаттайтын
рейтинг
жолының
астындағы жазбаның
сипаттамасы; -
пайдаланушы
диалогының
тақырыбын,
сипаттамасын және
кеңестерін
анықтау; -
оң, теріс
және
бейтарап
батырмалары
үшін
мәтінді
анықтау; -
кіру
/
шығу
терезесін
анимациялау.

4.13-сурет
–
Кітапқа
баға
беру
диалогы
ҚОРЫТЫНДЫ
Бұл
ғылыми
жобада
кітап
сатуға
арналған
Android
қосымшасын әзірлеу
бойынша
шешім
ұсынылды.
Android
қосымшаларын
әзірлеу технологияларына
талдау
жасалып,
нәтижесінде
Firebase платформасы
қолданылды.
Кітап
сату
және
жеткізу
үшін
ұқсас
шешімдерді
іздеу
бойынша
зерттеу жүргізілді,
олардың
негізгі
сипаттамалары
мен
мақсаты
қарастырылды, сондай-ақ
принципті
кемшіліктер
анықталды.
Ғылыми
жұмыста
әзірленетін
сервистің
егжей-тегжейлі
сипаттамасы берілді,
әзірленетін
жүйеге
функционалдық
және
функционалды
емес талаптар
тұжырымдалды.
Жүйемен
өзара
іс-қимыл
жасайтын
негізгі актерлер
және
жүйемен
жасауға
болатын
әрекеттер
анықталды.
Осы
деректер негізінде
прецеденттер
диаграммасы
жасалды,сондай-ақ
диаграммада көрсетілген
әрбір
актердің
және
прецеденттің
егжей-тегжейлі
сипаттамасы
берілді.
ПАЙДАЛАНЫЛҒАН
ӘДЕБИЕТТЕР
ТІЗІМІ
1
Вигерс
К.И.
Разработка
требований
к
программному
обеспечению. –
М.:
Русская
Редакция,
2004.
–
9с.
2
Буч
Г.,
Рамбо
Д.,
Якобсон
И.
Язык
UML.
Руководство
пользователя. –
М.:
ДМК
Пресс,
2006.
–
281
с.
3
Barr
J.
AWS
Mobile
Hub
–
Build,
Test,
and
Monitor
Mobile Applications
[Электронды
ресурс]
–
Қатынау
режимі:
https://aws.amazon.com/ru/blogs/aws/
aws-mobile-hub-build-test-and-monitor-mobile-applications/,
тегін.
4
Упрощаем
работу
с
CloudKit,
или
синхронизация
в
духе
Zen [Электронды
ресурс]
–
Қатынау
режимі:
https://habr.com/ru/company/everydaytools
/blog
/
326050/,
тегін.
5
Facebook
Parse
now
lets
you
easily
deploy
mobile
apps
to Heroku
[Электронды
ресурс]
–
Қатынау
режимі:
https://venturebeat.com/2015/10/22/ facebook
-parse
-now-lets-you-easily-deploy-apps-to-heroku/,
тегін.
6
Материал
из
Национальной
библиотеки
им.
Н.
Э. Баумана
[Электронды
ресурс]
–
Қатынау
режимі:
https://ru.bmstu.wiki/Firebase,
тегін.
7
Makan
K.,
Bown
S.A.
Firebase
Essentials
–
Android
Edition.
–
C.: CreateSpace,
2017.
–
9
c.
8
Архитектура
мобильного
клиент-серверного приложения
[Электронды
ресурс]
–
Қатынау режимі:
https://habr.com/ru/post/246877/,
тегін.
9
Изучаем
Retrofit
2
приложения
[Электронды
ресурс]
–
Қатынау режимі:
https://habr.com/ru/post/314028/,
тегін.
10
Дейтел
П.,
Дейтел
Х.,
Дейтел
Э.,
Моргано
М.
Android
для программистов:
создаем
приложения.
–
СПб.:
Питер,
2013.
–
С.
349
–
350.
11
Paper
is
a
fast
NoSQL
[Электронды
ресурс]
–
Қатынау режимі:
https://github.
com/pilgr/Paper,
тегін.
12
Коматинени
С.,
Маклин
Д.
Android
4
для
профессионалов.
Создание приложений
для
планшетных
компьютеров
и
смартфонов.
–
М.:
Вильямс, 2012.
–
98
с.
13
Gradle
құрастыру
құралының
ресми
веб-сайты
[Электронды
ресурс] –
Қатынау
режимі:
https://docs.gradle.org/current/userguide/userguide.html#gettingstarted,
тегін.
14
Elegant
Number
Button
кітапханасының
ресми
веб-саты
[Электронды ресурс]
–
Қатынау
режимі:
http://www.cepheuen.com/,
тегін.
15
AppRating
кітапханасының
ресми
веб-саты
[Электронды
ресурс]
– Қатынау
режимі:
https://github.com/stepstone-tech/android-material-app-rating,
тегін.
28
шағым қалдыра аласыз













