Проєктування програмних систем для мобільних пристроїв - Робоча програма навчальної дисципліни (Силабус)
Реквізити навчальної дисципліни
Рівень вищої освіти | Другий (магістерський) |
---|---|
Галузь знань | 12 Інформаційні технології |
Спеціальність | 126 Інформаційні системи та технології |
Освітня програма | Інтегровані інформаційні системи |
Статус дисципліни | Вибіркова |
Форма навчання | очна(денна)/заочна/дистанційна |
Рік підготовки, семестр | 2 курс, осінній семестр |
Обсяг дисципліни | 4 кредити ECTS / 120 годин (18 годин – Лекції, 18 годин – Лабораторні, 84 годин – СРС) |
Семестровий контроль/ контрольні заходи | Залік |
Розклад занять | http://rozklad.kpi.ua/Schedules/ScheduleGroupSelection.aspx |
Мова викладання | Українська |
Інформація про керівника курсу / викладачів |
Лектор: д.т.н., проф., Корнієнко Богдан Ярославович, Лабораторні: д.т.н., проф., Корнієнко Богдан Ярославович, b.korniyenko@kpi.ua, |
Розміщення курсу | https://campus.kpi.ua |
Програма навчальної дисципліни
Опис навчальної дисципліни, її мета, предмет вивчання та результати навчання
Опис дисципліни. Дисципліна Проєктування програмних систем для мобільних пристроїв охоплює технології та методи створення мобільної частки корпоративної інформаційної системи з урахуванням гнучкості та адаптованості бізнес-процесів підприємства. Даний курс знайомить студентів із основами базової будови операційних систем популярних мобільних платформ, навчає основним принципам проектування та аналізу мобільних рішень корпоративних інформаційних систем під сучасні мобільні платформи; допомогає оволодіти навичками самостійного (командного) розроблення мобільних додатків під сучасні мобільні платформи.
Предмет навчальної дисципліни: теорія і практика розроблення мобільних додатків на базі сучасних технологій розроблення програмного забезпечення.
Міждисциплінарні зв’язки. Дисципліна Проєктування програмних систем для мобільних пристроїв базується на дисциплінах: Інформатика, Операційні системи, Об'єктно-орієнтоване програмування.
Мета навчальної дисципліни. Метою навчальної дисципліни є формування у висококваліфікованих фахівців стійких знань і навичок щодо технологій створення додатків, які базуються на сучасних мобільних платформах і технологіях їхнього застосування під час реалізації бізнес-комунікацій.
Основні завдання навчальної дисципліни
Знання:
понятійний та категорійний апарат щодо проектування та розроблення мобільних додатків під сучасні мобільні платформи;
основні види архітектур мобільних платформ та її компоненти;
основні етапи й особливості процесу проектування програмного забезпечення для мобільних пристроїв;
технології та інструменти проектування мобільних додатків для сучасних мобільних платформ;
основні класи API и компоненти SDK мобільних платформ Android, iOS, Microsoft;
основні методи та практики забезпечення захисту даних у мобільних пристроях на різних мобільних платформах.
Уміння:
проводити аналіз можливостей сучасних інструментальних середовищ розроблення мобільних додатків;
розгортати та налагоджувати середовища розроблення для платформи Android;
застосовувати інструменти для розроблення мобільних додатків;
створювати та налагоджувати емулятори мобільного пристрою;
розробляти додатки під платформи Android, iOC, Microsoft Windows 10 із використанням сучасних мов (технологій) програмування;
проектувати інтерфейс користувача мобільного додатка;
користуватися раніше складеними програмами і здійснювати супровід програм, вносити зміни до програми, виконувати налагодження програм за допомогою інструментальних засобів;
застосовувати мобільні технології під час проектування інформаційної системи підприємства з метою підвищення якості бізнес-процесів підприємства;
використовувати програмні засоби формування основних процедур захисту інформації в мобільних пристроях.
Пререквізити та постреквізити дисципліни (місце в структурно-логічній схемі навчання за відповідною освітньою програмою)
Пререквізити: здатність застосовувати знання у практичних ситуаціях, навички використання інформаційних і комунікаційних технологій, здатність до пошуку, опрацювання та аналізу інформації з різних джерел, здатність застосовувати знання про основні принципи організації сучасних мобільних операційних систем.
Постреквізити: вміти застосовувати знання про особливості архітектури і апаратного середовища мобільних пристроїв; способи установки мобільних додатків в різних ОС; особливості архітектури мобільних пристроїв з точки зору програмування; основні прийоми розробки програм для мобільних пристроїв; особливості реалізації призначеного для користувача інтерфейсу в мобільних пристроях; пристрій і архітектуру ОС Android; основні компоненти архітектури мобільних платформ; життєвий цикл мобільних додатків і їх структуру; основні елементи призначеного для користувача інтерфейсу мобільних додатків; роботу з файлами, базами даних, призначеними для користувача настройками в мобільних пристроях; інструменти для програмування і основ проектування мобільних додатків; володітимуть навичками створення програмного забезпечення для мобільних пристроїв.
Після проходження дисципліни студенти зможуть використовувати знання з фундаментальних дисциплін для реалізації професійно-профільованих знань й практичних навичок в галузі сучасних мобільних операційних систем; використовувати інформаційні ресурси, включаючи електронні бази даних, довідкову літературу, стандарти тощо для підвищення свого професійного рівня, інноваційної, проектної та дослідницької діяльності в професійній сфері.
.
Зміст навчальної дисципліни
Лекційні заняття
Розділ 1. Мобільні операційні системи
Розділ 2. Особливості розроблення мобільних рішень для ОС Android.
Лабораторні заняття
Розробка web-додатків для мобільних пристроїв.
Шаблони проектування для мобільних пристроїв.
Мобільні технології та інструментарій.
Емулятор. Ресурси Android.
Архітектура додатків. Допоміжні бібліотеки.
Локальний сервер OpenServer. База даних MySQL.
Мова програмування PHP. Фреймворки.
Навчальні матеріали та ресурси
Базова література
Mikkonen Т. Programming mobile devices: an introduction for practitioners. - London: John Wiley & Sons Ltd., 2007. - 245 p.
Paavilainen J. Mobile business strategies - understanding the technologies and opportunities. - London: IT Press, 2002. - 257 p.
Lee V., Schneider H., Schell R. Mobile Applications: architecture, design, and development. - Prentice Hall, 2004. - 368 p.
Fling B. Mobile design and development: practical concepts and techniques for creating mobile sites and web apps. - O'Reilly Media, 2009. -336 p.
Verbraeck A. Designing mobile service systems. - Amsterdam: IOS Press, 2007. - 249 p.
Zheng P., Lionel N. Smart Phone and next-generation mobile computing. - Morgan Kaufmann, 2005. - 350 p.
Friesen J. Learn Java for Android development. - Apress, 2010. - 656 p.
Jackson W. Android apps for absolute beginners. - Apress, 2011. - 344 p.
Burnette E. Hello, Android: introducing Google's mobile development platform. - Pragmatic Bookshelf, 2010. - 300 p.
Ableson W.F., Sen R., King C. Android in action. - Manning Publications, 2011. - 592 p.
Допоміжна література
Rogers R., Lombardo J., Mednieks Z., G. Blake Meike. Android application development: programming with the Google SDK. - O'Reilly Media, 2009. - 336 p.
Murphy M.L. Android programming tutorials. - CommonsWare, 201L- 334 p.
Meier R. Professional Android 2 application development. - Wrox, 2010. -576 p.
Sayed Y. Hashimi. Pro Android 2. - Apress, 2010. - 500 p.
Conder S., Darcey L. Android wireless application development. - Addison-Wesley Professional, 2009. - 600 p.
To N., Steele J. The Android developer's cookbook: building applications with the Android SDK (Developer's Library). - Addison- Wesley Professional, 2010. - 400 p.
DiMarzio J.F. Android: a programmer's guide. - McGraw-Hill Osborne Media, 2008. - 400 p.
Komatineni S., MacLean D., Hashimi S. Pro Android 3. - Apress, 2011.- 1200 p.
Навчальний контент
Методика опанування навчальної дисципліни (освітнього компонента)
Лекційні заняття
№ з/п | Назва теми лекції та перелік основних питань (перелік дидактичних засобів, посилання на літературу та завдання на СРС) |
---|---|
1 | Лекція 1. Емулятори мобільних пристроїв Телефонні емулятори. Емулятори смартфонів, планшетів та КПК. Література: [5, с.52-87; 7, с. 120-170.] Завдання для СРС. Робота з файлами. Формат файлів XML та робота з ним. |
2 | Лекція 2. Середовища розробки. Засоби розробки програм для мобільних пристроїв. Eclipse, NetBeans, Android Studio, Microsoft Visual Studio. Інструментальні засоби розробника. Інструменти програмування для мобільних пристроїв (SDK). Література: [ 7, с. 38-55. ] Завдання для СРС. Програмування із використанням графіки в мобільних пристроях. |
3 | Лекція 3. Середовище розробки Android Studio. Основні види Android-додатків. Середовище розробки Android Studio, налаштування його для роботи. Основні панелі середовища, способи їх переключення. Основні види Android-додатків, етапи їх створення та сфери застосування. Література: [ 6, с. 125-147. ] Завдання для СРС. Структура Android-програми. |
4 | Лекція 4. Апаратна архітектура. Платформа Android. Механізм роботи програм на Android. Віртуальна машина. Класи інтерфейсу користувача Android. Література: [ 4, с. 88-127; 5, с. 56-148; 6, с. 170-186; 7, с. 56-90, 107-110; 8, с. 137-188. ] Завдання для СРС. Програмування мобільних пристроїв із використання мереж і комунікацій. |
5 | Лекція 5. Системні бібліотеки Бібліотеки для Android-додатків, як додати зовнішню бібліотеку в свій додаток. Правила безпеки при використанні бібліотек, що підключаються. Програмування графіки Android. Програмування мультимедіа. Організація мереж і комунікацій в Android. Література: [3, с.118...135; 4, с.182...194] Завдання для СРС. Робота з базами даних в мобільних пристроях на базі платформи Java. |
6 | Лекція 6. Графіка в ОС Аndroid. Програмування графіки Android. Програмування мультимедіа. Організація мереж і комунікацій в Android. Література: [3, с.118...135; 4, с.182...194] Завдання для СРС. Покоління мережних мобільних технологій. |
7 | Лекція 7. Програмна архітектура. Файлова система. Організація роботи з базами даних в мобільних пристроях. Використання сенсорів (акселерометр, гіроскоп, магнетометр, освітленість, тиск, температура, наближення, вологості). Програмування мультимедіа та робота із камерою. Мови розмітки WAP-ресурсів для мобільних пристроїв. Створення інтерфейсів користувача для мобілних користувачів Інтернет. Література: [6, с.226...239; 7, с.349-398.] Завдання для СРС. Організація багатопоточних програм. |
8 | Лекція 8. Бази даних і мультимедіа в Android. Основи роботи з базами даних SQLite, застосування анімації в Android-додатках, 2D і 3D графіки, основні принципи розробки додатків для смартфонів. Література: [3, с.52…78; 4, с. 85…110.] Завдання для СРС. Компоненти Android-програми. |
9 | Лекція 9. Модульна контрольна робота На контрольну роботу виноситься увесь попередній матеріал, що включає базові поняття реалізації програм для операційної системи Android. Завдання для СРС. Повторити матеріал 1-8 лекцій. |
**
**
Лабораторні заняття
№ | Назва лабораторної роботи | Кількість ауд. годин |
---|---|---|
1 |
|
2 |
2 |
|
2 |
3 |
|
4 |
4 |
|
2 |
5 |
|
2 |
6 |
|
4 |
7 | Лабораторна робота 7. Мова програмування PHP. Фреймворки.
Література: [2, стор. 65] |
2 |
Самостійна робота студента/аспіранта
|
Назва теми, що виноситься на самостійне опрацювання | Кількість годин СРС |
---|---|---|
1 | Робота з файлами. Формат файлів XML та робота з ним | 4 |
2 | Програмування із використанням графіки в мобільних пристроях | 4 |
3 | Структура Android-програми | 4 |
4 | Програмування мобільних пристроїв із використання мереж і комунікацій | 4 |
5 | Робота з базами даних в мобільних пристроях на базі платформи Java | 4 |
6 | Покоління мережних мобільних технологій | 4 |
7 | Організація багатопоточних програм | 4 |
8 | Компоненти Android-програми | 4 |
Політика та контроль
Політика навчальної дисципліни (освітнього компонента)
Система вимог, які ставляться перед студентом:
правила відвідування занять: заборонено оцінювати присутність або відсутність здобувача на аудиторному занятті, в тому числі нараховувати заохочувальні або штрафні бали. Відповідно до РСО даної дисципліни бали нараховують за відповідні види навчальної активності на лекційних та лабораторних заняттях;
модульні контрольні роботи виконуються без застосування допоміжної інформації з Інтернет, дистанційного курсу на платформі Сікорський, конспекта;заохочувальні бали виставляються за навчальну активність на лекційних заняттях. Кількість заохочуваних балів не більше 10;
політика щодо академічної доброчесності: Кодекс честі Національного технічного університету України «Київський політехнічний інститут імені Ігоря Сікорського» https://kpi.ua/files/honorcode.pdf встановлює загальні моральні принципи, правила етичної поведінки осіб та передбачає політику академічної доброчесності для осіб, що працюють і навчаються в університеті, якими вони мають керуватись у своїй діяльності, в тому числі при вивченні та складанні контрольних заходів з дисципліни «Проєктування програмних систем для мобільних пристроїв».
Види контролю та рейтингова система оцінювання результатів навчання (РСО)
Рейтинг студента з дисципліни складається з балів, що він отримує за:
виконання та захист 7 лабораторних робіт;
виконання 1 модульної контрольної роботит (МКР).
Система рейтингових балів та критерії оцінювання
Лабораторні роботи:
«відмінно», повна відповідь на питання під час захисту (не менш ніж 90% потрібної інформації) та оформлений належним чином протокол до лабораторної роботи – 10 балів;
«добре», достатньо повна відповідь на питання під час захисту (не менш ніж 75% потрібної інформації) та оформлений належним чином протокол до лабораторної роботи – 8 балів;
«задовільно», неповна відповідь на питання під час захисту (не менш ніж 60% потрібної інформації), незначні помилки та оформлений належним чином протокол до лабораторної роботи – 6 балів;
«незадовільно», незадовільна відповідь та/або не оформлений належним чином протокол до лабораторної роботи – 0 балів.
Модульні контрольні роботи:
«відмінно», повна відповідь (не менш ніж 90% потрібної інформації) – 30 балів;
«добре», достатньо повна відповідь (не менш ніж 75% потрібної інформації), або повна відповідь з незначними помилками – 23 бали;
«задовільно», неповна відповідь (але не менш ніж 60% потрібної інформації) та незначні помилки – 18 балів;
«незадовільно», незадовільна відповідь (неправильний розв’язок задачі), потребує обов’язкового повторного написання в кінці семестру – 0 балів.
Заохочувальні бали
за активну роботу на лекції 1 бал.
Календарний контроль
На першій атестації (8-й тиждень) студент отримує «зараховано», якщо його поточний рейтинг не менший ніж 15 балів. На другій атестації (14-й тиждень) студент отримує «зараховано», якщо його поточний рейтинг не менший ніж 30 балів.
Максимальна сума вагових балів контрольних заходів протягом семестру складає:
R=7*rлаб+1*rмкр=7*10+1*30=100.
Залік:
Сума стартових балів і балів за модульну контрольну роботу переводиться до залікової оцінки згідно з таблицею:
Бали | Оцінка |
---|---|
95-100 | відмінно |
85-94 | дуже добре |
75-84 | добре |
65-74 | задовільно |
60-64 | достатньо |
Менше 60 | незадовільно |
Невиконання семи лабораторних робіт та виконання МКР на оцінку «незадовільно» | не допущено |
Додаткова інформація з дисципліни (освітнього компонента)
перелік теоретичних питань, які виносяться на семестровий контроль наведено в Додатку 1;
на початку семестру викладач аналізує існуючі курси по тематиці дисципліни та пропонує пройти відповідні безкоштовні курси студентам. Після отриманням студентом сертифікату проходження дистанційних чи онлайн курсів за відповідною тематикою, викладач закриває відповідну частину курсу (лабораторні чи лекції) за попередньою домовленістю з групою.
Робочу програму навчальної дисципліни (Силабус):
Складено професор, д.т.н., Корнієнко Богдан Ярославович
Ухвалено кафедрою ІСТ (протокол № 16 від 12.06.2024 р.)
Погоджено Методичною комісією факультету[1] (протокол № 10 від 21.06.2024 р.)
Додаток 1
Перелік теоретичних питань на екзамен
Дайте визначення мобільних обчислювальних пристроїв.
Яка архітектура класів, що забезпечують з'єднання мобільних пристроїв з мережею?
Навіть типи та опишіть особливості меню Android-програми.
У чому переваги використання мобільних пристроїв?
За допомогою якого механізму реалізується робота з даними?
Назвіть основні віджети Android.
Які типи мобільних пристроїв існують?
Як називається основний профіль для мобільних пристроїв? Які його властивості?
Які операційні системи використовуються в мобільних пристроях?
Опишіть структуру Android-програми.
Які типи пам'яті застосовуються в мобільних пристроях? У чому полягають їхні переваги і недоліки?
Яка конфігурація була розроблена для мобільних пристроїв з невеликою пам'яттю?
Вкажіть типи компонентів для Android-програм.
Які інструменти необхідно встановити, щоб проектувати мобільні програми для платформи Android?
Які об'єкти можуть використовуватися для розробки користувальницького інтерфейсу?
Що таке емулятор мобільної програми, чому і навіщо він використовується?
Що таке керуючий файл в програмі Android?
Дайте визначення мобільних обчислювальних пристроїв.
З яких компонентів складається Android-програма?
Опишіть архітектуру мобільних прикладних програм.
Яка архітектура класів, що забезпечують з'єднання мобільних пристроїв з мережею?
У чому переваги використання мобільних пристроїв?
Назвіть основні особливості віртуального пристрою для Android (AVD).
За допомогою якого механізму реалізується робота з даними?
Які типи мобільних пристроїв існують?
Опишіть архітектуру платформи Android.
Як називається основний профіль для мобільних пристроїв? Які його властивості?
Які операційні системи використовуються в мобільних пристроях?
Назвіть покоління мережних мобільних технологій.
Які типи пам'яті застосовуються в мобільних пристроях? У чому полягають їхні переваги і недоліки?
Назвіть особливості організації оперативної пам`яті мобільних пристроїв.
Здійсніть класифікацію мобільних пристроїв.
Навіть типи та опишіть особливості меню Android-програми.
Назвіть основні технічні характеристики мобільних пристроїв.
Назвіть основні віджети Android.
Які операційні системи використовуються в мобільних пристроях?
Які особливості конструкції мобільних пристроїв?
Опишіть архітектуру Android GUI.
За допомогою якого механізму реалізується робота з даними?
Назвіть основні типи процесорів мобільних пристроїв.
Опишіть структуру Android-програми.
Які типи пам'яті застосовуються в мобільних пристроях? У чому полягають їхні переваги і недоліки?
Назвіть особливості організації оперативної пам`яті мобільних пристроїв.
Вкажіть типи компонентів для Android-програм.
Які об'єкти можуть використовуватися для розробки користувальницького інтерфейсу?
Назвіть покоління мережних мобільних технологій.
Назвіть основні особливості віртуального пристрою для Android (AVD).
У чому переваги використання мобільних пристроїв?
Назвіть основні характеристики технології передачі даних IEEE 802.11.
Опишіть архітектуру мобільних прикладних програм.
Що таке емулятор мобільної програми, чому і навіщо він використовується?
Опишіть архітектуру платформи Android.
Вкажіть основні переваги та недоліки Java 2 Micro Edition.
Які типи мобільних пристроїв існують?
Наведіть основні параметри операційних систем реального часу.
Дайте характеристику часу реакції системи на переривання.
Поясніть значення параметра операційних систем реального часу «час перемикання контексту».
Наведіть приклади розміру ядра операційних систем реального часу.
Дайте характеристику механізмів реального часу.
Що розуміємо під ідеальною операційною системою реального часу?
Які параметри вказуються у кожному описнику операційних систем реального часу?
Які алгоритми планування операційних систем вам відомі? Дайте їхню характеристику.
Дайте характеристику механізмів міжзадачної взаємодії операційних систем реального часу.
Які базові концепції операційних систем реального часу знаєте?
Дайте характеристику монолітної архітектури операційних систем реального часу. Намалюйте її модель.
Перерахуйте основні переваги та недоліки монолітної архітектури.
Які недоліки має ОС РЧ модульної архітектури на основі мікроядра?
Як здійснюється взаємодія між компонентами системи та користувачами в об'єктній архітектурі на основі об'єктів-мікроядер?
Дайте характеристику ОС РЧ об'єктної архітектури на основі об'єктів.мікроядер.
Чому про QNX часто говорять мережева ОС?
Що таке мережевий протокол FLEET? 10. Які функції реалізує ядро QNX?
Розкажіть про основні механізми, які є та QNX для організації розподілених обчислень.
[1] Методичною радою університету – для загальноуніверситетських дисциплін.