Введение 5
1. Постановка задачи 7
2. Обзор 8
2.1. Обзор существующих решений 8
2.1.1. Мобильные приложения страховых компаний ... 8
2.1.2. Сервисы для оплаты штрафов и налогов 9
2.1.3. Приложения для анализа трат 10
2.1.4. Сервисы, связанные с историей автомобиля .... 10
2.1.5. Вывод 11
2.2. Архитектура iOS-приложений 12
2.2.1. MVC 12
2.2.2. MVVM 13
2.2.3. MVP 14
2.2.4. VIPER 15
2.3. Использованные технологии 17
3. Требования к сервису 19
3.1. Функциональные требования 19
3.2. Нефункциональные требования 20
4. Проектирование архитектуры сервиса 21
4.1. Требования к архитектуре 21
4.2. Архитектура сервиса 22
5. Реализация сервиса 25
5.1. Процесс разработки сервиса 25
5.2. Особенности реализации 27
6. Тестирование сервиса 31
Заключение 33
Список литературы
В последнее время стремительно растёт процент, который занимают смартфоны в мировом трафике интернета. На 2019 год он составлял 53% и уже на тот момент обгонял долю персональных компьютеров. В России ситуация похожа на мировую, ведь, согласно аналитической платформе gfk [1], уже к началу 2019 года 61% населения России пользовались Интернетом с мобильных устройств. Компании также понимают данную тенденцию, и сейчас уже редко встретишь продукт крупной компании, не имеющий, помимо интернет сайта, также и мобильного приложения.
Тем временем, согласно федеральной службе государственной статистики, в России постоянно растёт количество автомобилей на душу населения [2]. В 2020 году на 1000 россиян приходилось 309 машин [3], что почти на 50% выше, чем аналогичный показатель 10 лет назад. Учитывая степень автомобилизации населения, с каждым годом данная цифра будет лишь расти.
Стоит отметить, что по закону Российской Федерации автомобиль обязательно должен быть застрахован, владение им облагается налогом. Автомобилисту необходимо обслуживать свой автомобиль на станциях технического обслуживания, оплачивать при возникновении штрафы. Существует много отдельных приложений, позволяющих отслеживать налоги на автомобиль, страховать его, сообщать о дорожно-транспортных происшествиях. Однако было бы намного удобнее объединить все данные возможности и создать единый сервис, доступный на смартфоне, который всегда под рукой. Сервис, в котором можно добавить свой автомобиль, забронировать визит на станцию технического обслуживания, оплатить штрафы, налоги, купить страховку, посмотреть уже оформленные ранее страховые полисы и многое другое. И при этом можно отследить все затраты на автомобиль, что облегчает планирование бюджета.
Данный курс рынка заметила компания Тинькофф, которая является первопроходцем в России в области супераппов — приложений, отличающихся наличием собственной экосистемы, объединяющих несколько областей, таких как финансы, лайфстайл, досуг и другие. То есть приложение является порталом в другие сервисы и приложения, а его главная задача — как можно дольше удерживать пользователей.
В рамках данной работы компанией была поставлена задача рас-ширить суперапп и реализовать в мобильном банке сервис «Мой Автомобиль», собирающий в единое целое и покрывающий большинство потребностей автомобилиста, тем самым значительно упрощая клиенту процесс владения автомобилем. В данной работе пойдёт речь о всех стадиях разработки данного сервиса. Начиная от анализа требований, заканчивая тестированием и релизом.
В данной работе были достигнуты следующие результаты:
• проанализированы существующие приложения и сервисы, связанные с автомобилями;
• выявлены требования к сервису;
• спроектирован сервис и его интеграция в мобильном банке;
• сервис реализован на платформе iOS;
• сервис покрыт UI и юнит-тестами.
Сервис вошёл в релиз приложения Тинькофф Мобильный банк [23], в версию 5.14.5.