Электронный учебно-методический комплекс по учебной дисциплине «Разработка программного обеспечения для мобильных платформ» для специальностей 6-05-0612-01 «Программная инженерия», 6-05-0611-01 «Информационные системы и технологии»
.pdf
– языками программирования высокого уровня и, при необходимости, низкоуровневыми средствами. Освоение данной учебной дисциплины обеспечивает формирование следующей компетенции:
СК-11 Разрабатывать программное обеспечение для мобильных устройств с учетом особеннотей функционирования. Хранения информации и эксплуатации.
УК-1 Владеть основами исследовательской деятельности, осуществлять поиск, анализ и синтез информации
УК-5 Быть способным к саморазвитию и совершенствованию в профессиональной деятельности
УК-6 Проявлять инициативу и адаптироваться к изменениям в профессиональной деятельности
Согласно учебным планам на изучение учебной дисциплины отведено:
–для заочной (дистанционной) формы получения высшего образования всего 276, часов из них аудиторных 30 часов. На курсовой проект отведено 60 часов самостоятельной работы;
–для заочной (дистанционной) формы получения высшего образования, интегрированного со средним специальным образованием всего 274, часов из них аудиторных 30 часов. На курсовой проект отведено 60 часов самостоятельной работы.
Распределение аудиторных часов по курсам, семестрам и видам занятий приведено в таблицах 1 и 2.
|
|
|
|
|
|
Таблица 1. |
|
|
|
Заочная (дистанционная) форма получения высшего образования |
|||||
|
|
|
|
|
|
|
|
|
|
Лекции, |
Лабораторные |
Практические |
Форма |
Форма |
|
Курс |
Семестр |
текущей |
промежуточной |
||||
|
|
ч. |
занятия, ч. |
занятия, ч. |
аттетстации |
аттестации |
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
3 |
5 |
8 |
8 |
- |
Контрольная |
зачет |
|
работа |
|||||||
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
экзамен, |
|
3 |
6 |
6 |
8 |
- |
- |
защита курсового |
|
|
|
|
|
|
|
проекта |
|
|
|
|
|
|
|
|
|
131
ТРЕБОВАНИЯ К КУРСОВМУ ПРОЕКТУ
Всоответствии с учебным планом на выполнение курсового проекта отводится всего 60 часов самостоятельной работы.
Целью курсового проекта (КП) является применение теоретических и практических навыков, полученных в ходе обучения студентов по дисциплине «Разработка программоного обеспечения для мобильных платформ» и создание системного программного обеспечения для операционной системы.
Курсовой проект представляет собой логически завершенное и оформленное в виде текста произведение индивидуального научно теоретически-практического содержания, направленное на решение определенных проблем и задач в области изучаемой дисциплин.
Тема курсового проекта утверждается на соответствующей кафедре, а задание на
еевыполнение оформляется руководителем. Объектом проектирования является системное программное обеспечение для операционной системы. Задание на курсовой проект формируется так, чтобы студент получил навыки инженерной деятельности.
Курсовой проект должен соответствовать стандартам Единой системы конструкторской документации (ЕСКД), Единой системы технологической документации (ЕСТД), Единой системы программной документации (ЕСПД), другим действующим техническим нормативным правовым актам.
Всостав курсового проекта входят:
–пояснительная записка;
–графическая часть;
–работающее программное обеспечение.
Пояснительная записка должна отражать основные этапы разработки программного обеспечения.
132
Средства диагностики результатов учебной деятельности
Оценка уровня знаний студента производится по десятибалльной шкале в соответствии с критериями, утвержденными Министерством образования Республики Беларусь. Для оценки достижений студента рекомендуется использовать следующий диагностический инструментарий:
̶контрольная работа;
̶защита выполненных в рамках лабораторных занятий заданий;
̶сдача зачета;
̶защита курсового проекта;
̶экзамен.
ПЕРЕЧЕНЬ ТЕМ КУРСОВЫХ ПРОЕКТОВ Темы пользовательских приложений
1.Разработка приложения «Умный ежедневник» с поддержкой уведомлений и синхронизацией с календарём.
2.Создание мобильного приложения для учёта расходов и доходов с построением диаграмм.
3.Приложение для отслеживания физической активности и здоровья с использованием датчиков устройства.
4.Приложение «Гид по городу» с картой, геолокацией и рекомендациями по интересным местам.
5.Разработка клиентского приложения для онлайн-магазина с корзиной и системой заказов.
6.Приложение для изучения иностранных слов с карточками, тестами и статистикой прогресса.
7.Создание мобильного приложения для бронирования столиков в ресторанах.
8.Приложение «Умный будильник» с анализом фаз сна и датчиков движения.
9.Приложение для управления домашними задачами с семейным доступом.
10.Создание чат-приложения с регистрацией, хранением сообщений и pushуведомлениями.
Темы с акцентом на технологии и API
11.Интеграция Google Maps API в мобильное приложение для построения маршрутов.
12.Приложение с использованием Firebase для хранения данных и авторизации пользователей.
13.Разработка приложения с голосовым управлением (Speech-to-Text и Text-to- Speech).
14.Мобильное приложение для распознавания текста с камеры с помощью ML
Kit.
133
15.Приложение, использующее Bluetooth для обмена данными между устройствами.
16.Создание приложения с offline-кешированием данных из REST API. 17.Мобильное приложение с функцией сканирования QR-кодов и штрихкодов. 18.Приложение с распознаванием лиц с использованием OpenCV на Android. 19.Приложение с геозависимыми уведомлениями (геофенсинг).
20.Разработка мобильного приложения с поддержкой темной/светлой темы и адаптивного дизайна.
Темы для приложений с нативной частью (NDK, C/C++)
21.Приложение с нативной реализацией криптографических алгоритмов. 22.Разработка Android-приложения с встроенным игровым движком на C++
(например, SDL).
23.Интеграция собственных нативных библиотек для обработки изображений в Android-приложении.
24.Создание простого медиаплеера с использованием FFmpeg через JNI.
Темы прикладного уровня и автоматизации
25.Мобильное приложение для контроля умного дома (связь через MQTT или
HTTP API).
26.Разработка трекера задач с синхронизацией с облачными хранилищами
(Google Drive, Dropbox).
27.Приложение-ассистент для студентов: расписание, напоминания, хранение заметок.
28.Приложение для учёта времени, затраченного на задачи (тайм-трекер). 29.Приложение для чтения и организации электронных книг с локальным
хранилищем.
30.Разработка обучающего Android-приложения по программированию с пошаговыми заданиями.
Методические рекомендации по организации и выполнению самостоятельной работы студентов
При изучении дисциплины рекомендуется использовать следующие формы самостоятельной работы:
̶составление тематической подборки литературных источников;
̶проработка тем, вынесенных на самостоятельное изучение;
̶подготовка курсового проекта по индивидуальным заданиям.
134
УЧЕБНАЯ ПРОГРАММА 6-05-0612-01
Учебная программа по учебной дисциплине «Разработка программоного обеспечения для мобильных платформ» разработана для по специальности 6-05- 0612-01 «Программная инженерия». Учебная дисциплина «Разработка программного обеспечения для мобильных платформ» знакомит студентов с основными принципами проектирования, построения и функционирования мобильных операционных систем.
Подробно рассматриваются вопросы архитектуры мобильных платформ, особенности работы с ограниченными ресурсами и энергопотреблением, жизненный цикл мобильных приложений, управление процессами и потоками в мобильной среде. Изучаются методы межпроцессного взаимодействия, использование различных механизмов обмена данными, включая интенты, сервисы и контент-провайдеры.
Рассматриваются основы работы с файловой системой мобильного устройства, принципы управления памятью и особенностями обработки исключений в мобильных приложениях. Также затрагиваются вопросы создания
ииспользования библиотек, подключаемых во время выполнения и взаимодействия с системными сервисами.
Особое внимание уделено вопросам отладки и тестирования мобильных приложений. Даётся обзор современных инструментов анализа, профилирования
иустранения ошибок. Приводятся практические рекомендации по настройке отладчиков и логирования, рассматриваются типовые сценарии поиска и устранения дефектов.
Рассматриваются также методы анализа поведения мобильных приложений, перехвата сетевых и системных вызовов, мониторинга состояния устройства и управления потоками данных. Главной задачей данных тем является формирование у студентов глубокого понимания архитектуры мобильных приложений, механизмов передачи управления, работы с системными ресурсами и пользовательским интерфейсом. В рамках курса предусмотрены соответствующие лабораторные работы.
Цели учебной дисциплины «Разработка программного обеспечения для мобильных платформ»: изучение архитектуры и принципов функционирования мобильных операционных систем, а также освоение методов и инструментов разработки, отладки и сопровождения мобильного программного обеспечения Задачи учебной дисциплины:
–изучение архитектуры мобильных операционных систем;
–освоение принципов функционирования компонентов мобильной платформы и их взаимодействия;
135
–изучение возможностей платформенных API для создания эффективных, производительных и безопасных мобильных приложений;
–ознакомление со средами разработки, инструментами отладки и профилирования мобильных приложений.
В результате изучения учебной дисциплины студент должен:
знать:
–архитектуру и основные компоненты мобильной операционной системы;
–жизненный цикл мобильных приложений и его особенности;
–механизмы взаимодействия между компонентами приложений;
–методы работы с потоками и синхронизации в мобильной среде;
–особенности модели памяти и управления ресурсами в мобильной ОС;
–принципы работы с файловой системой и базами данных;
–основы сетевого взаимодействия в мобильных приложениях;
–подходы к обработке исключений в мобильных приложениях;
–методы обеспечения безопасности мобильных приложений и защиты пользовательских данных;
–типовые уязвимости мобильных приложений и способы их предотвращения;
–принципы отладки и тестирования мобильных приложений;
–методы перехвата системных вызовов (hooking) и анализа поведения приложений.
уметь:
–разрабатывать многопоточные мобильные приложения с учётом ограничений платформы;
–реализовывать взаимодействие между компонентами приложения и внешними сервисами;
–создавать приложения с сетевым взаимодействием и синхронизацией
данных;
–подключать и использовать сторонние библиотеки, в том числе нативные
(NDK);
–применять средства отладки, логирования, профилирования и устранения утечек памяти.
владеть:
–инструментами разработки и отладки мобильных приложений;
–современными средствами анализа и тестирования мобильного ПО;
–языками программирования высокого уровня и, при необходимости, низкоуровневыми средствами. Освоение данной учебной дисциплины обеспечивает формирование следующей компетенции:
136
СК-11 Разрабатывать программное обеспечение для мобильных устройств с учетом особеннотей функционирования. Хранения информации и эксплуатации.
УК-1 Владеть основами исследовательской деятельности, осуществлять поиск, анализ и синтез информации
УК-5 Быть способным к саморазвитию и совершенствованию в профессиональной деятельности
УК-6 Проявлять инициативу и адаптироваться к изменениям в профессиональной деятельности
Согласно учебным планам на изучение учебной дисциплины отведено:
–для заочной (дистанционной) формы получения высшего образования всего 276, часов из них аудиторных 30 часов. На курсовой проект отведено 60 часов самостоятельной работы;
–для заочной (дистанционной) формы получения высшего образования, интегрированного со средним специальным образованием всего 274, часов из них аудиторных 30 часов. На курсовой проект отведено 60 часов самостоятельной работы.
Распределение аудиторных часов по курсам, семестрам и видам занятий приведено в таблицах 1 и 2.
|
|
|
|
|
|
Таблица 1. |
|
|
|
Заочная (дистанционная) форма получения высшего образования |
|||||
|
|
|
|
|
|
|
|
|
|
Лекции, |
Лабораторные |
Практические |
Форма |
Форма |
|
Курс |
Семестр |
текущей |
промежуточной |
||||
|
|
ч. |
занятия, ч. |
занятия, ч. |
аттетстации |
аттестации |
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
3 |
5 |
8 |
8 |
- |
Контрольная |
зачет |
|
работа |
|||||||
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
экзамен, |
|
3 |
6 |
6 |
8 |
- |
- |
защита курсового |
|
|
|
|
|
|
|
проекта |
|
|
|
|
|
|
|
|
|
137
ТРЕБОВАНИЯ К КУРСОВМУ ПРОЕКТУ
Всоответствии с учебным планом на выполнение курсового проекта отводится всего 60 часов самостоятельной работы.
Целью курсового проекта (КП) является применение теоретических и практических навыков, полученных в ходе обучения студентов по дисциплине «Разработка программоного обеспечения для мобильных платформ» и создание системного программного обеспечения для операционной системы.
Курсовой проект представляет собой логически завершенное и оформленное в виде текста произведение индивидуального научно теоретически-практического содержания, направленное на решение определенных проблем и задач в области изучаемой дисциплин.
Тема курсового проекта утверждается на соответствующей кафедре, а задание на
еевыполнение оформляется руководителем. Объектом проектирования является системное программное обеспечение для операционной системы. Задание на курсовой проект формируется так, чтобы студент получил навыки инженерной деятельности.
Курсовой проект должен соответствовать стандартам Единой системы конструкторской документации (ЕСКД), Единой системы технологической документации (ЕСТД), Единой системы программной документации (ЕСПД), другим действующим техническим нормативным правовым актам.
Всостав курсового проекта входят:
–пояснительная записка;
–графическая часть;
–работающее программное обеспечение.
Пояснительная записка должна отражать основные этапы разработки программного обеспечения.
138
Средства диагностики результатов учебной деятельности
Оценка уровня знаний студента производится по десятибалльной шкале в соответствии с критериями, утвержденными Министерством образования Республики Беларусь. Для оценки достижений студента рекомендуется использовать следующий диагностический инструментарий:
̶контрольная работа;
̶защита выполненных в рамках лабораторных занятий заданий;
̶сдача зачета;
̶защита курсового проекта;
̶экзамен.
ПЕРЕЧЕНЬ ТЕМ КУРСОВЫХ ПРОЕКТОВ Темы пользовательских приложений
31.Разработка приложения «Умный ежедневник» с поддержкой уведомлений и синхронизацией с календарём.
32.Создание мобильного приложения для учёта расходов и доходов с построением диаграмм.
33.Приложение для отслеживания физической активности и здоровья с использованием датчиков устройства.
34.Приложение «Гид по городу» с картой, геолокацией и рекомендациями по интересным местам.
35.Разработка клиентского приложения для онлайн-магазина с корзиной и системой заказов.
36.Приложение для изучения иностранных слов с карточками, тестами и статистикой прогресса.
37.Создание мобильного приложения для бронирования столиков в ресторанах. 38.Приложение «Умный будильник» с анализом фаз сна и датчиков движения. 39.Приложение для управления домашними задачами с семейным доступом.
40.Создание чат-приложения с регистрацией, хранением сообщений и pushуведомлениями.
Темы с акцентом на технологии и API
41.Интеграция Google Maps API в мобильное приложение для построения маршрутов.
42.Приложение с использованием Firebase для хранения данных и авторизации пользователей.
43.Разработка приложения с голосовым управлением (Speech-to-Text и Text-to- Speech).
44.Мобильное приложение для распознавания текста с камеры с помощью ML
Kit.
139
45.Приложение, использующее Bluetooth для обмена данными между устройствами.
46.Создание приложения с offline-кешированием данных из REST API. 47.Мобильное приложение с функцией сканирования QR-кодов и штрихкодов. 48.Приложение с распознаванием лиц с использованием OpenCV на Android. 49.Приложение с геозависимыми уведомлениями (геофенсинг).
50.Разработка мобильного приложения с поддержкой темной/светлой темы и адаптивного дизайна.
Темы для приложений с нативной частью (NDK, C/C++)
51.Приложение с нативной реализацией криптографических алгоритмов. 52.Разработка Android-приложения с встроенным игровым движком на C++
(например, SDL).
53.Интеграция собственных нативных библиотек для обработки изображений в Android-приложении.
54.Создание простого медиаплеера с использованием FFmpeg через JNI.
Темы прикладного уровня и автоматизации
55.Мобильное приложение для контроля умного дома (связь через MQTT или
HTTP API).
56.Разработка трекера задач с синхронизацией с облачными хранилищами
(Google Drive, Dropbox).
57.Приложение-ассистент для студентов: расписание, напоминания, хранение заметок.
58.Приложение для учёта времени, затраченного на задачи (тайм-трекер). 59.Приложение для чтения и организации электронных книг с локальным
хранилищем.
60.Разработка обучающего Android-приложения по программированию с пошаговыми заданиями.
Методические рекомендации по организации и выполнению самостоятельной работы студентов
При изучении дисциплины рекомендуется использовать следующие формы самостоятельной работы:
̶составление тематической подборки литературных источников;
̶проработка тем, вынесенных на самостоятельное изучение;
̶подготовка курсового проекта по индивидуальным заданиям.
140
