РАЗРАБОТКА СУПЕРПРИЛОЖЕНИЯ TSU.INTIME
|
Аннотация
1 Анализ проблемы и поиск решения 7
1.1 Анализ проблемы 7
1.2 Возможности будущей платформы 13
1.3 Анализ мобильного приложения TSU.InTime 2.1 16
1.4 Анализ серверной части приложения TSU.InTime 2.1 18
1.5 Анализ веб-приложения расписания 19
1.6 План развития системы 21
2 TSU.InTime 3.0 23
2.1 Переход на новую архитектуру системы 23
2.2 Добавление функции бронирования аудиторий 26
2.3 Обратная связь 29
3 TSU.InTime 3.5 31
3.1 Модификация модели предметной области 31
3.2 Внутреннее устройство мини-приложений 31
3.3 Реализация мобильной части суперприложения на примере платформы iOS . . 33
3.4 Библиотеки для разработчиков 37
3.5 Аутентификация мини-приложений 39
3.6 Разрешения и права доступа мини-приложения 44
3.7 Публикация мини-приложений 44
3.8 Компоненты системы TSU.InTime 3.5 46
3.9 Разработка промо-страницы для платформы мини-приложений 47
3.10 Сбор аналитики в мобильных приложениях 50
4 Особенности проекта, возникшие проблемы и их решения 56
4.1 Контроль качества кода с помощью код-ревью 57
4.2 Синхронизация работы команды разработчиков, работающих удаленно 60
4.3 Переход к собственному решению для автоматизации синхронизации
работы команды 62
4.4 Метод разработки и система управления проектами для команды с
неполным рабочим днем 64
5 Проектирование версии 4.0 69
5.1 Проектирование новой архитектуры серверной части 69
5.2 Интеграция с системной управления обучением Moodle 74
5.3 Конструктор 2.0 75
1 Анализ проблемы и поиск решения 7
1.1 Анализ проблемы 7
1.2 Возможности будущей платформы 13
1.3 Анализ мобильного приложения TSU.InTime 2.1 16
1.4 Анализ серверной части приложения TSU.InTime 2.1 18
1.5 Анализ веб-приложения расписания 19
1.6 План развития системы 21
2 TSU.InTime 3.0 23
2.1 Переход на новую архитектуру системы 23
2.2 Добавление функции бронирования аудиторий 26
2.3 Обратная связь 29
3 TSU.InTime 3.5 31
3.1 Модификация модели предметной области 31
3.2 Внутреннее устройство мини-приложений 31
3.3 Реализация мобильной части суперприложения на примере платформы iOS . . 33
3.4 Библиотеки для разработчиков 37
3.5 Аутентификация мини-приложений 39
3.6 Разрешения и права доступа мини-приложения 44
3.7 Публикация мини-приложений 44
3.8 Компоненты системы TSU.InTime 3.5 46
3.9 Разработка промо-страницы для платформы мини-приложений 47
3.10 Сбор аналитики в мобильных приложениях 50
4 Особенности проекта, возникшие проблемы и их решения 56
4.1 Контроль качества кода с помощью код-ревью 57
4.2 Синхронизация работы команды разработчиков, работающих удаленно 60
4.3 Переход к собственному решению для автоматизации синхронизации
работы команды 62
4.4 Метод разработки и система управления проектами для команды с
неполным рабочим днем 64
5 Проектирование версии 4.0 69
5.1 Проектирование новой архитектуры серверной части 69
5.2 Интеграция с системной управления обучением Moodle 74
5.3 Конструктор 2.0 75
В Томском государственном университете существует большое количество цифровых информационных ресурсов и сервисов, и с каждым годом их число возрастает. Необходимость в них особенно возросла после 2020 года в связи с карантинными ограничениями, когда учебные процессы были полностью переведены в онлайн-формат. В этот период основными инструментами для проведения учебной и внеучебной деятельности стали онлайн- сервисы, такие как Moodle [1], ТГУРасписание, Flamingo [2] и другие.
Удобный доступ к этим ресурсам важен как для студентов, так и для преподавателей ТГУ Однако, существовали проблемы связанные с тем, что большинство сервисов существуют обособленно. К тому же, многие не адаптированы для работы на мобильных платформах. Это затрудняет доступ пользователей к необходимым ресурсам, а некоторые из них могут быть неизвестны для студентов и сотрудников.
При первичной оценке проблемы возникает идея создания универсального сервиса, который включал бы в себя все необходимые образовательные ресурсы Томского государственного университета и позволял бы пользователям получать необходимые информацию и услуги, не выходя за пределы одной системы.
Однако, создавать для этих целей ещё одно приложение было бы неразумно. Поскольку у университета есть несколько популярных приложений, которые уже распространены среди пользователей, наиболее удачным вариантом было бы выбрать одно из них, и на его базе создать новое суперприложение [3]. Поскольку наибольшее количество пользователей имеет приложение для просмотра расписания TSU.InTime [4], оно и было выбрано в качестве базового.
Версия TSU.InTime, существовавшая на тот момент, имела ряд проблем с точки зрения архитектурных решений, что не позволяло доработать ее до суперприложения. Поэтому, в первую очередь было необходимо спроектировать систему таким образом, чтобы была возможность расширять и добавлять новые функции помимо тех, что касаются просмотра расписания.
Данный проект играет важную роль в учебном процессе Томского государственного университета, поэтому проблемы с работоспособностью TSU.InTime могут нанести серьезный ущерб. При этом, помимо плановых доработок, могут возникнуть запросы от учебного управления на добавление новых функциональных возможностей. Поэтому работа над приложением должна быть организована гибко, как с точки зрения процессов разработки, так и с точки зрения архитектуры системы. С учетом неопытности части команды, которая состоит из стажеров, нужно проанализировать возможные проблемные места и принять соответствующие практики с целью их устранения.
Реализуемая в рамках данной работы версия системы не является финальной, поэтому необходимо продумать путь дальнейшего развития, выбрать сервисы университета, интеграция с которыми будет реализована в первую очередь.
В данном проекте автор выполнял роль тимлида, iOS-разработчика, дизайнера и архитектора, поэтому часть рассмотренных в работе компонентов была спроектирована автором, но разработана другими членами команды.
Целью данной работы является разработка суперприложения и сопутствующих сервисов для студентов и сотрудников университета на базе приложения для просмотра расписания. Для достижения поставленной цели необходимо решить следующие задачи.
1. Анализ проблем существующих приложений университета.
2. Проектирование суперприложения и сопутствующих сервисов.
3. Реализация суперприложения.
Проектирование версии TSU.InTime 4.0.
Удобный доступ к этим ресурсам важен как для студентов, так и для преподавателей ТГУ Однако, существовали проблемы связанные с тем, что большинство сервисов существуют обособленно. К тому же, многие не адаптированы для работы на мобильных платформах. Это затрудняет доступ пользователей к необходимым ресурсам, а некоторые из них могут быть неизвестны для студентов и сотрудников.
При первичной оценке проблемы возникает идея создания универсального сервиса, который включал бы в себя все необходимые образовательные ресурсы Томского государственного университета и позволял бы пользователям получать необходимые информацию и услуги, не выходя за пределы одной системы.
Однако, создавать для этих целей ещё одно приложение было бы неразумно. Поскольку у университета есть несколько популярных приложений, которые уже распространены среди пользователей, наиболее удачным вариантом было бы выбрать одно из них, и на его базе создать новое суперприложение [3]. Поскольку наибольшее количество пользователей имеет приложение для просмотра расписания TSU.InTime [4], оно и было выбрано в качестве базового.
Версия TSU.InTime, существовавшая на тот момент, имела ряд проблем с точки зрения архитектурных решений, что не позволяло доработать ее до суперприложения. Поэтому, в первую очередь было необходимо спроектировать систему таким образом, чтобы была возможность расширять и добавлять новые функции помимо тех, что касаются просмотра расписания.
Данный проект играет важную роль в учебном процессе Томского государственного университета, поэтому проблемы с работоспособностью TSU.InTime могут нанести серьезный ущерб. При этом, помимо плановых доработок, могут возникнуть запросы от учебного управления на добавление новых функциональных возможностей. Поэтому работа над приложением должна быть организована гибко, как с точки зрения процессов разработки, так и с точки зрения архитектуры системы. С учетом неопытности части команды, которая состоит из стажеров, нужно проанализировать возможные проблемные места и принять соответствующие практики с целью их устранения.
Реализуемая в рамках данной работы версия системы не является финальной, поэтому необходимо продумать путь дальнейшего развития, выбрать сервисы университета, интеграция с которыми будет реализована в первую очередь.
В данном проекте автор выполнял роль тимлида, iOS-разработчика, дизайнера и архитектора, поэтому часть рассмотренных в работе компонентов была спроектирована автором, но разработана другими членами команды.
Целью данной работы является разработка суперприложения и сопутствующих сервисов для студентов и сотрудников университета на базе приложения для просмотра расписания. Для достижения поставленной цели необходимо решить следующие задачи.
1. Анализ проблем существующих приложений университета.
2. Проектирование суперприложения и сопутствующих сервисов.
3. Реализация суперприложения.
Проектирование версии TSU.InTime 4.0.
В результате было реализовано суперприложение для Томского государственного университета, которое предоставляет студентам и сотрудникам доступ к наиболее важным сервисам.
Работа проводилась в несколько этапов: проектирование новой версии приложения TSU.InTime, реализация функциональности расписания с учетом новой архитектуры, проектирование и реализация суперприложения, поддержка и проектирование следующей версии. Помимо этого, был реализованы новые сопутствующие функции, например, бронирование аудиторий.
Поэтапный переход от мобильного приложения для отображения расписания к суперприложению позволил сохранить способность приложения к добавлению новых возможностей на всем протяжении процесса разработки. Переход от кроссплатформенного фреймворка к нативным инструментам помог существенно уменьшить количество аварийных завершений работы приложения. Средняя оценка мобильных приложений в магазинах выросла с 4,1 до 4,8 (Google Play), с 4,0 до 4,9 (App Store). Кроме того, Android-версия приложения была опубликована в магазине RuStore.
Во время работы над проектом команда сталкивалась с различными проблемами, касающимися как технической реализации, так и процессов разработки. Чтобы решить возникшие проблемы и избежать появления новых в будущем, внутри команды был принят к использованию ряд практик.
Задачи проекта были успешно достигнуты, система введена в эксплуатацию, ей активно пользуются студенты и сотрудники ТГУ Реальный график работ имел расхождения с планируемым в объеме четырех месяцев, поскольку в начале 2022 года от служб университета поступил запрос на добавление возможности бронирования аудиторий, в связи с чем часть работ была отложена на более поздний срок.
Текущая версия системы не является финальной, в рамках данной работы было рассмотрено проектирование функций, которые планируется взять в разработку в ближайшее время. Принятые архитектурные решения способствуют тому, чтобы добавление этих функций и доработка системы были проще с точки зрения разработки.
Также планируется расширение перечня доступных мини-приложений, в связи с чем будет существенно расширен перечень используемых внешних систем, а также добавлены новые разрешения пользователей и возможности по взаимодействию мини-приложений с суперприложением.
Работа проводилась в несколько этапов: проектирование новой версии приложения TSU.InTime, реализация функциональности расписания с учетом новой архитектуры, проектирование и реализация суперприложения, поддержка и проектирование следующей версии. Помимо этого, был реализованы новые сопутствующие функции, например, бронирование аудиторий.
Поэтапный переход от мобильного приложения для отображения расписания к суперприложению позволил сохранить способность приложения к добавлению новых возможностей на всем протяжении процесса разработки. Переход от кроссплатформенного фреймворка к нативным инструментам помог существенно уменьшить количество аварийных завершений работы приложения. Средняя оценка мобильных приложений в магазинах выросла с 4,1 до 4,8 (Google Play), с 4,0 до 4,9 (App Store). Кроме того, Android-версия приложения была опубликована в магазине RuStore.
Во время работы над проектом команда сталкивалась с различными проблемами, касающимися как технической реализации, так и процессов разработки. Чтобы решить возникшие проблемы и избежать появления новых в будущем, внутри команды был принят к использованию ряд практик.
Задачи проекта были успешно достигнуты, система введена в эксплуатацию, ей активно пользуются студенты и сотрудники ТГУ Реальный график работ имел расхождения с планируемым в объеме четырех месяцев, поскольку в начале 2022 года от служб университета поступил запрос на добавление возможности бронирования аудиторий, в связи с чем часть работ была отложена на более поздний срок.
Текущая версия системы не является финальной, в рамках данной работы было рассмотрено проектирование функций, которые планируется взять в разработку в ближайшее время. Принятые архитектурные решения способствуют тому, чтобы добавление этих функций и доработка системы были проще с точки зрения разработки.
Также планируется расширение перечня доступных мини-приложений, в связи с чем будет существенно расширен перечень используемых внешних систем, а также добавлены новые разрешения пользователей и возможности по взаимодействию мини-приложений с суперприложением.





