Тип работы:
Предмет:
Язык работы:


МОДЕРНИЗАЦИЯ IOS-ПРИЛОЖЕНИЯ TSU.INTIME

Работа №182767

Тип работы

Бакалаврская работа

Предмет

программирование

Объем работы50
Год сдачи2024
Стоимость4500 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
13
Не подходит работа?

Узнай цену на написание


АННОТАЦИЯ 3
ВВЕДЕНИЕ 5
1 Анализ новых возможностей системы 7
1.1 Новые функциональности отображения расписания 7
1.2 Бесконечная прокрутка 8
1.3 Расширение перечня доступной информации о сотруднике 8
1.4 Виджет главного экрана 9
1.5 Live Activity 10
1.6 Получение геолокации 11
1.7 Управление функциональностью приложения 11
2 Анализ текущих недостатков приложения 12
2.1 Архитектура версии 3.0 12
2.2 Проблема переиспользования кода в разных модулях конфигурации сборки 12
2.3 Устаревший инструмент для работы с асинхронным кодом 13
3 Исправление недостатков приложения 14
3.1 Разделение на модули 14
3.2 Новый механизм асинхронного кода 16
4 Реализация новой функциональности приложения 19
4.1 Изменения функциональности приложения без изменения исходного кода 19
4.1.1 Сторонее решение 20
4.1.2 Собственное решение 20
4.1 Реализация экрана расписания 24
4.1.1 Кэширующая система 25
4.1.2 Недельное расписание 27
4.1.3 Объединенное расписание 29
4.1.4 Бесконечная прокрутка 31
4.2 Виджет 34
4.3 Live-Activity 36
4.4 Получение геолокации 38
4.5 Debug-меню 39
4.6 Учебная нагрузка преподавателя 41
Заключение 44
Список литературы 45

Мобильные приложения в наши дни играют важную роль в повседневной жизни людей. Они предоставляют простой и удобный способ получения информации и взаимодействия с другими людьми, организациями и сервисами. В сфере бизнеса и оказания услуг мобильные приложения также стали неотъемлемой частью работы многих крупных компаний, помогая им оптимизировать процессы и улучшать свои услуги. С помощью мобильного приложения можно легко и быстро получить нужную информацию или воспользоваться услугами в любое удобное время и в любом месте, где есть доступ к интернету. Более того, мобильные приложения обеспечивают более личное и индивидуальное взаимодействие с пользователями, что позволяет улучшать качество услуг и повышать уровень удовлетворенности клиентов.
Эффективное управление временем - ключевая проблема для занятых людей, особенно в образовательных учреждениях. Здесь студенты и сотрудники нуждаются в своевременном доступе к расписанию занятий. Непредвиденные изменения могут вызвать хаос, поэтому полезен инструмент для формирования и отображения расписания с функцией уведомления о изменениях, указанием места проведения занятий и имен преподавателей. Это будет полезно как для студентов, так и для преподавателей и административного персонала университета.
В любой момент может возникнуть потребность в таком инструменте, и на помощь придет мобильное устройство. Смартфон стал неотъемлемым элементом жизни для большинства людей. Приложение с описанным функционалом уже запущено в Томском государственном университете. TSU.InTime - мобильное приложение, которые позволяет пользователям просматривать расписание занятий студентов или преподавателей, а также проверять занятость аудиторий на заданный период. Кроме того, приложение предоставляет дополнительные возможности, такие как ознакомление с картой кампусов, возможность отмечать расписание как избранное для быстрого доступа, и в последней версии приложение стало SuperApp-ом, что позволяет запускать в нем мини-приложения, реализованные на React, такие как заказ справки или новости университета.
Во время использования приложения заказчиком - ТГУ, появилась потребность в добавлении новых функциональных возможностей. Однако в процессе анализа этих функциональности были выявлены недостатки в текущей реализации приложения. С связи с чем стало необходимо провести рефакторинг кода в проекте.
Рефакторинг представляет собой процесс изменения исходного кода приложения без изменения его внешнего вида и поведения для пользователя, с целью облегчить понимание кода приложения для разработчика. С течением времени у проекта появляются новые возможности, которые могут усложнять понимание исходного кода. Также часто необходимо изучить и изменить старый код для добавление новых функциональных возможностей в проект. В случае с приложение TSU.InTime необходимо провести рефакторинг для расширения приложения и добавления новых функциональных возможностей, иначе добавление некоторых возможностей становится невозможной.
Таким образом, было принято решение провести рефакторинг текущей версии приложения и добавить новые функциональные возможности в приложение. Целью данной работы является модернизация iOS-приложения TSU.InTime. Для достижения которой были выделены следующие задачи:
1) изучить новые возможности системы;
2) проанализировать текущие недостатки;
3) исправить текущие недостатки;
4) спроектировать новые возможности системы;
5) реализовать новые функциональные возможности.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В результате проделанной работы было модернизировано iOS-приложение TSU.InTime, улучшен пользовательский опыт. Проведенный рефакторинг кода позволил повысить его читаемость, поддерживаемость и уменьшить технический долг. Эти изменения обеспечили более стабильную и эффективную работу приложения, что будет способствовать дальнейшему развитию платформы.
Работа над развитием iOS-приложения TSU.InTime продемонстрировала важность системного подхода к разработке и поддержке мобильных приложений, а также показала значимость регулярного обновления функциональности и устранения технических долгов. Дальнейшие шаги по развитию платформы включают мониторинг пользовательских отзывов и потребностей, внедрение передовых технологий и методов разработки, что позволит сохранять высокие стандарты качества и удовлетворять растущие ожидания пользователей.
Цели работы достигнуты, все задачи выполнены.



1. Live Activity // Apple Developer Documentation [сайт], URL: https://developer.apple.com/design/human-interface-guidelines/live-activities
(дата обращения: 05.04.2024)
2. Dynamic Island // Apple Developer Documentation [сайт], URL: https://developer.apple.com/documentation/widgetkit/dynamicisland
(дата обращения: 05.04.2024)
3. Яндекс Go // App Store [сайт], URL: https://apps.apple.com/ru/app/id472650686 (дата обращения: 05.04.2024)
4. React // Документация [сайт], URL: https://ru.legacy.reactjs.org/
(дата обращения: 05.04.2024)
5. Разработка суперприложения TSU.InTime // Научная библиотека Томского Государственного университета [магистерская диссертация], URL: https://vital.lib.tsu.ru/vital/access/manager/Repository/vital:18598
(дата обращения: 05.04.2024)
6. Swift // SwiftBook [сайт], URL: https://swiftbook.ru/content/swift-tour/about-swift/ (дата обращения: 05.04.2024)
7. Understanding Dependency Injection: A Powerful Design Pattern for Flexible and
Testable Code // Medium.com [сайт], URL:
https://medium.com/@sardar.khan299/understanding-dependency-injection-a-powerful-design- pattern-for-flexible-and-testable-code-5e1161dd37dd
(дата обращения: 25.04.2024)
8. Promises // Документация [сайт], URL:
https ://mxcl. dev/Promi seKit/reference/v6/Clas ses/Promi se. html
(дата обращения: 25.04.2024)
9. Swift Concurrency // Apple Developer Documentation [сайт], URL: https://developer.apple.com/documentation/swift/concurrency/
(дата обращения: 25.04.2024)
10. UIKit // Apple Developer Documentation [сайт] URL: https://developer.apple.com/documentation/uikit
(дата обращения: 25.04.2024)
11. Foundation // Apple Developer Documentation [сайт], URL: https://developer.apple.com/documentation/foundation/
(дата обращения: 25.04.2024) 

https ://mxcl. dev/Promi seKit/reference/v6/index. html (дата обращения: 25.04.2024)
13. Actor // Apple Developer Documentation [сайт], URL: https://developer.apple.com/documentation/swift/actor
(дата обращения: 02.05.2024)
14. Firebase // Документация [сайт] URL: https://firebase.google.com/docs (дата обращения: 02.05.2024)
15. AppMetrica // Документация [сайт], URL: https://appmetrica.yandex.ru/docs/ru/ (дата обращения: 02.05.2024)
...29


Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ