Введение 4
1 Спецификация требований к системе 5
1.1 Анализ аналогов 5
1.1.1 Журналы преподавателя на Google Play 5
1.1.2 Выпускные работы студентов СФУ 6
1.2 Функциональные требования 8
1.3 Анализ приложений с открытым исходным кодом 13
1.4 Макеты интерфейса и текстовое описание прецедентов 14
1.5 Модель предметной области 34
1.6 Выводы по главе 34
2 Проектирование 35
2.1 Диаграммы пригодности 35
2.1.1 Прецедент "Войти в программу" 35
2.1.2 Прецедент "Добавить группу" 36
2.1.3 Прецедент "Редактировать студента" 37
2.1.4 Прецедент "Удалить дисциплину" 38
2.1.5 Прецедент "Отметить успеваемость студента" 39
2.1.6 Прецедент "Импорт студентов и групп" 40
2.2 Диаграммы последовательности 41
2.3 Диаграммы классов 42
2.4 Диаграмма базы данных 47
2.5 Выводы по главе 48
3 Реализация и тестирование 49
3.1 Выбор инструментов 49
3.2 Реализация 49
3.2.1 Графический интерфейс 49
3.2.2 Модель-представление 50
3.2.3 База данных 51
3.2.4 Работа с сетью 52
3.2.5 Уведомления 52
3.3 Документация 55
3.3.1 Инструкция пользователя 55
3.3.2 Инструкция разработчика 55
3.4 Тестирование 55
3.5 Выводы по главе 57
Заключение 58
Список сокращений 59
Список использованных источников 60
ПРИЛОЖЕНИЕ А Диаграммы последовательности 63
ПРИЛОЖЕНИЕ Б Настройка Qt Creator для разработки под платформу Android 67
ПРИЛОЖЕНИЕ В Сертификат участника в конференции 68
Каждый преподаватель ВУЗа обязан в том или ином виде вести журнал успеваемости студентов. Есть ряд операций, которые регулярно проводятся с данными журнала, например: оценка текущей успеваемости; вычисление студентов, не посетивших ни одного занятия за последний месяц, и тому подобное. При этом, результаты таких расчетов обычно требуются в электронном виде.
Целью работы является создание мобильного приложения "Электронный журнал преподавателя СФУ" с открытым исходным кодом, позволяющего автоматизировать описанные операции, а также обеспечить ряд дополнительных функций - таких как интеграция с сервисом расписания СФУ, оповещения о текущих занятиях и так далее.
Электронный журнал можно вести в различных формах: на платформе Moodle, в системах типа Excel, с помощью специализированных программ. Ряд аналогичных программ уже разрабатывался в СФУ, однако их анализ, приведенный в первой главе работы, показал, что они не обладают необходимым функционалом. Системы, разработанные для других учебных заведений, не интегрируются с сервисом расписания СФУ - поэтому не рассматривались. Отсутствие аналогичного мобильного приложения, пригодного для использования, обосновывает актуальность и практическую значимость работы.
По результатам анализа аналогов, в первой главе работы сформулированы требования к функциональным характеристикам разрабатываемой программы. Во второй главе - описан процесс проектирования, а в третьей - реализации и тестирования.
В результате проделанной работы были проанализированы:
- проблемы разработки электронного журнала;
- аналогичные приложения, их сильные и слабые стороны;
- вид информации, которая экспортируется из Moodle.
Подготовлены сценарии для построения Docker образов, с помощью которых можно осуществить сборку разработанного приложения, а также других приложений с использованием библиотеки Qt под платформу Andorid. Кроме того составлена инструкция разработчика по настройке Qt Creator для разработки под платформу Android
Для удобства использования приложения были разработаны удобные элементы управления, в частности ввод сведений о посещении текущего (выбирается автоматически, по расписанию) занятия.
Разработано приложение в соответствии со спецификацией требований «Электронный журнал преподавателя СФУ» исходный код которого доступен для скачивания с git-репозитория [37].
1. Журнал преподавателя // Google Play URL:
https://play.google.com/store/apps/details?id=com.drprog.sjoumal (дата
обращения: 07.01.2021).
2. Журнал преподавателя // Google Play URL: https://play.google.com/store/apps/details?id=com.teacher_journal_pro (дата обращения: 07.01.2021).
3. Teacher Grade Book - Grades for Students & Parents // Google Ply URL: https://play.google.com/store/apps/details?
id=com.cougarstech.teacherdiary&hl=ru&gl=RU (дата обращения: 07.01.2021).
4. Выпускные квалификационные работы бакалавров и специалистов //
Сибирский федеральный университет URL:
http://elib.sfu-kras.ru/handle/2311/26348 (дата обращения: 07.01.2021).
5. Тарасов М. Н. Разработка мобильного приложения для ведения журнала успеваемости студентов [Электронный ресурс] : выпускная квалификационная работа бакалавра: 09.03.02. - Красноярск, СФУ, 2019. - 44 с. URL: http://elib.sfu- kras.ru/handle/2311/135007 (дата обращения: 07.01.2021).
6. Дьяченко А. В. Электронный журнал преподавателя [Электронный ресурс] : выпускная квалификационная работа бакалавра: 09.03.01. - Красноярск, СФУ, 2020. - 60 с. URL: http://elib.sfu-kras.ru/handle/2311/136596 (дата обращения: 07.01.2021).
7. Черепнев В. В. Разработка электронного журнала/дневника [Электронный ресурс] : выпускная квалификационная работа бакалавра: 09.03.02. - Красноярск, СФУ, 2016. - 52 с. URL: http://elib.sfu-kras.ru/handle/2311/27341 (дата обращения: 07.01.2021).
8. Пушкарев А. В. Разработка мобильного приложения электронный журнал
[Электронный ресурс] : выпускная квалификационная работа бакалавра: 09.03.01. - Красноярск, СФУ, 2017. - 32 с. URL:
http://elib.sfu-kras.ru/handle/2311/34912 (дата обращения: 07.01.2021).
9. Qt (программное обеспечение) - Qt (software) Qt (программное обеспечение). [Электронный ресурс]. - Режим доступа: https://ru.other.wiki/wiki/Qt(software). (дата обращения: 07.01.2021)
10. Приложение «TeachersJournal» с открытым исходным кодом. [Электронный ресурс]. - Режим доступа: https://github.com/PIacid/TeachersJournal. (дата обращения: 07.01.2021)
11. СТО 4.2-07-2010 "Система менеджмента качества. Общие требования к построению, изложению и оформлению документов учебной деятельности".
12. Процесс разработки программного обеспечения ICONIX. [Электронный ресурс]. - Режим доступа: https://pro-prof.com/archives/tag/iconix/. (дата обращения 05.05.2021).
13. Процесс ICONIX. Диаграммы пригодности. [Электронный ресурс]. - Режим доступа: https://pro-prof.com/archives/2723. (дата обращения 05.05.2021).
14. CRUD, четыре базовые функции, используемые при работы с базами данных. [Электронный ресурс]. - Режим доступа: https://ru.wikipedia.org/wiki/CRUD. (дата обращения 05.05.2021).
15.SOLID принципы. Рефакторинг. [Электронный ресурс]. - Режим доступа: https://pro-prof.com/archives/1914. (дата обращения 05.05.2021)...40