Введение 5
1. Исследовательский раздел 6
1.1. Анализ существующих решений 6
1.1.1. Исследование программного решения «Аудатэкс AudaEnterprise Gold» . 7
1.1.2. Исследование программного решения «Автонормы SmileGroup» 8
1.1.3. Исследование программного решения «Автонормы Atlib.ru» 8
1.1.4. Общее сравнение существующих решений 9
1.2. Выбор архитектуры МП КРА 10
1.3. Схема данных МП КРА 10
1.4. Алгоритм работы сервера 11
1.5. Алгоритм работы клиента 11
Выводы по исследовательскому разделу 12
2. Конструкторский раздел 16
2.1. Выбор языка программирования 16
2.1.1. Обзор возможностей языка C++ 16
2.1.2. Обзор возможностей языка Objective-C 17
2.1.3. Обзор возможностей языка Java 18
2.1.4. Обзор возможностей языка PHP 19
2.1.5. Обзор возможностей языка Python 21
2.1.6. Обзор возможностей языка C# 22
2.2. Выбор среды разработки 24
2.2.1. Обзор среды Visual Studio 25
2.2.2. Обзор среды Xamarin Studio 27
2.2.3. Обзор среды Sharp Develop 28
2.2.4. Обзор среды Geany 29
2.3. Разработка web-сервиса 32
2.3.1. Особенности технологии ASP.NET Core 32
2.3.2. Особенности технологии DNX 33
2.3.3. Разработка моделей 33
2.3.4. Разработка представлений 37
2.3.5. Разработка контроллеров 42
2.4. Разработка мобильного приложения 44
2.4.1. Разработка моделей 45
2.4.2. Разработка представлений 45
2.4.3. Разработка контроллеров 53
Выводы по конструкторскому разделу 55
3. Технологический раздел 56
3.1. Отладка web-сервиса 56
3.1.1. Отладка средствами Visual Studio 56
3.1.2. Отладка средствами Fiddler 57
3.2. Отладка мобильного приложения 58
3.2.1. Отладка средствами Windows Phone SDK 59
3.2.2. Отладка средствами ADB Logcat 61
3.2.3. Отладка средствами GDB 64
3.3. Тестирование web-сервиса 66
3.3.1. Модульное тестирование 66
3.3.2. Нагрузочное тестирование 68
3.4. Тестирование мобильного приложения 69
3.4.1. Модульное тестирование 70
3.4.2. Функциональное тестирование 72
Выводы по технологическому разделу 75
Заключение 76
Список литературы
Определение стоимости ремонта автомобиля представляет собой сложную задачу, для решения которой необходимы эксперты, обладающие знаниями в специфических областях автомобильного ремонта.
Во время прохождения практики в ООО «ДИМАВТО» было выявлено, что сложность определения стоимости ремонта «отпугивает» клиентов автосервиса. Для решения данной проблемы было принято решение о внедрении сервиса калькуляции ремонта автомобиля. Более того, особенностью данного сервиса должна была стать возможность потенциальных клиентов самостоятельно выполнять расчет, а уже затем, приняв решение воспользоваться автосервисом, записаться на обслуживание или договорится по телефону.
Данная задача возникает во многих автосервисах, однако в данном случае следовало принять во внимание основное направление деятельности ООО «ДИМАВТО» - ремонт топливной аппаратуры. Соответственно, должна присутствовать возможность дополнять перечень ремонтных работ, а также корректировать цены по сезонам.
Были изучены уже существующие программные решения других фирм и составлен перечень необходимых характеристик. Однако, исходя из поставленных требований, ни одно ныне существующее средство нельзя было назвать удовлетворительным решением обозначенной проблемы. В результате, актуальной является задача создания нового ПО, позволяющего оценить стоимость ремонта автомобиля и записаться на обслуживание непосредственно с мобильного устройства, в рамках ВКР бакалавра по направлению 09.03.04 «Программная инженерия» [1] (в соответствии с ГОСТ 19.701-90 [2], 19.505-78 [3] и 19.201-79 [4].
Пояснительная записка состоит из введения, трех разделов, заключения, списка литературы и двух приложений: руководства оператора и текста программы.
Исследовательский раздел включает в себя анализ существующих решений, выбор архитектуры МП КРА, схему данных МП КРА, алгоритм работы сервера и алгоритм работы клиента.
Конструкторский раздел содержит выбор языка программирования, выбор среды разработки, разработку web-сервиса, и разработку мобильного приложения.
Технологический раздел состоит из отладки web-сервиса, отладки мобильного приложения, тестирования web-сервиса и тестирования мобильного приложения.
В результате проведенной работы были изучены аналогичные решения от других фирм, актуальные языки программирования и среды разработки. В результате исследования возможностей программных средств других компаний, было принято решение о разработке собственного ПО, удовлетворяющего всем требованиям. Разработанное ПО позволяет потенциальным клиентам автосервиса ООО «ДИМАВТО» бесплатно загрузить мобильное приложение из Интернета и произвести необходимые расчеты самостоятельно, без помощи специалиста по автомобильному ремонту. Если помощь специалиста все-же потребуется, то в программе предусмотрена возможность вызова по телефону.
Разработанное ПО состоит из двух кроссплатформенных модулей: серверного и клиентского. Язык программирования C# был выбран в качестве основного, поскольку на нем было оптимально описывать как серверную, так и клиентскую часть приложения, минимизировав при этом возможные нестыковки. Для передачи данных между частями приложения используется формат JSON. Основным паттерном проектирования как в сервере, так и в клиенте является MVC.
Серверный модуль написан на языке C# с применением кроссплатформенной технологии ASP.NET Core, что позволяет подобрать оптимальный тарифный план хостинга, не взирая на ОС сервера. Клиентский модуль также написан на языке C#, но с применением технологии Xamarin, что дает возможность использовать данный модуль на современных мобильных платформах Windows, Android и iOS, тем самым максимально увеличив количество потенциальных клиентов.
Для работы с базами данных использовалось программное средство Entity Framework, благодаря чему удалось частично автоматизировать этап даталогического проектирования базы данных.
По итогам разработки было проведено модульное, функциональное и нагрузочное тестирование, по результатам которых, в программу были внесены необходимые исправления.