Более того, возможно привлечь денежные средства в виде грантов или инвестиций следующим образом:
.Фонд «Бортника».
. ФРИИ.
. Сколково.
. ИТ-инкубаторы [17].
Стоит отметить, что в данном случае существует
высокая вероятность получения денежных средств без обязательного их
возвращения, в то время как получить обычный кредит в банке под только что созданный
бизнес является трудным и далеко не всегда результативным вариантом.
2.2 Проектирование мобильного приложения
.2.1 Постановка задачи
Мобильное приложение «Агрегатор коммерческих парковок» предполагает предоставление пользователям информации о платных парковочных местах в городе Перми. Пользователь после регистрации в приложении имеет возможность просмотреть расположение на карте платных парковок. Далее, выбрав конкретную платную парковку, посмотреть основную информацию о ней: режим работы, адрес, общая вместимость, цену за час и сутки. Для того, чтобы добраться до парковки более коротким путем, пользователь использует функцию «маршрут». В данном случае система осуществляет поиск наиболее короткого маршрута до выбранной парковки.
Наряду с просмотром и выбором платной парковки, пользователь имеет возможность просмотреть отзывы о парковке, а также написать свой. В случае возникновения неполадок или неточностей в предоставленной информации, пользователь может написать письмо в службу поддержки. Также, пользователь имеет возможность просматривать рекламу, которая монетизирует приложение, и отключать её.
Функциональные требования:
Для доступа к карте парковок, пользователь заходит в приложение и регистрируется или авторизуется, если осуществлял регистрацию ранее.
Пользователь может выбрать определенную парковку и увидеть основную информацию о ней: режим работы, стоимость, адрес.
Для просмотра отзывов, пользователь нажимает переходит в соответствующее окно через блок информации о конкретной парковке.
Пользователь имеет возможность оставить свой собственный отзыв.
Пользователь может проложить наиболее короткий путь к выбранной парковке.
В случае возникновения технических проблем,
пользователь отправляет письмо в службу поддержки и ожидает ответ на указанный
им e-mail. С целью визуализации структуры системы и понимания работы программы
изнутри, используются UML диаграммы, поскольку они достаточно просты и понятны,
а также позволяют охватить множество различных аспектов поведения системы.
.2.2 Построение UML диаграмм
Диаграмма вариантов использования отражает
отношение между актерами, ролями, а также прецедентами, последовательностью
действий, что позволяет описать систему на концептуальном уровне. Диаграмма
вариантов использования представлена на рисунке 2.7.
Рисунок 2.7. Диаграмма вариантов использования
Каждый прецедент описан с помощью документально зафиксированного потока событий. Данное документирование представлено далее в приложении А.
Для того, чтобы отразить разложение деятельности
на составные части, осуществлено построение диаграмм деятельности. Таким
образом, регистрация пользователя осуществляется только в том случае, если он
первый раз использует устройство для входа в данное приложение. Регистрация
осуществляет посредством выбора страны и ввода номера телефона. Более того,
если данный номер уже был зарегистрирован в системе, то возможно восстановить
данные, имя пользователя. Данная диаграмма для регистрации пользователя
представлена на рисунке 2.8.
Рисунок 2.8. Диаграмма активности «Регистрация
пользователя»
Для того чтобы авторизоваться,
зарегистрированному пользователю необходимо ввести логин и пароль, если они не
верны, то повторить свои действия. Данная диаграмма активности представлена на
рисунке 2.9.
Рисунок 2.9. Диаграмма активности «Авторизация
пользователя»
Зарегистрированный пользователь имеет
возможность просмотреть расположение всех платных парковок на карте города
(рис.2.10.).
Рисунок 2.10. Диаграмма активности «Просмотр
всех парковок»
Пользователь имеет возможность определить свою
геопозицию, чтобы найти расположение ближайших парковок. Если геопозиция не
определяется автоматически, то пользователь вводит ближайший адрес, что
представлено на рисунке 2.11.
Рисунок 2.11. Диаграмма активности «Определение
текущего местоположения»
Пользователь имеет возможность искать
определенную парковку. Вводит название парковки (адрес), если информация
введена верно, то выводится основная информация, при неправильном вводе -
пользователь повторяет попытку. Данная диаграмма представлена на рисунке 2.12.
Рисунок 2.12. Диаграмма активности «Поиск
конкретной парковки»
После просмотра основной информации о конкретной
парковке, пользователь имеет возможность просмотреть отзывы о ней, а затем
написать свой. Данная диаграмма активности отображена на рисунке 2.13.
Рисунок 2.13. Диаграмма активности «Оставить
отзыв»
Также, при просмотре основной информации о
конкретной парковке, пользователь может проложить до нее короткий путь. Если
геопозиция автомобилиста определена верно, то он запускает функцию определения
короткого маршрута, в противном случае, автомобилист вводит адрес своего
местонахождения. Данная диаграмма отображена на рисунке 2.14.
Рисунок 2.14. Диаграмма активности «Поиск
наикратчайшего пути»
Автомобилист, в случае возникновения технических
неисправностей в мобильном приложении или в случае обнаруженных ошибок, имеет
возможность написать в службу поддержки при этом указав свой e-mail для
получения ответа. Диаграмма активности представлена на рисунке 2.15.
Рисунок 2.15. Запрос в службу поддержки
Пользователь в любое время может просмотреть
рекламу либо отказаться от её просмотра. Данная диаграмма представлена на
рисунке 2.16.
Рисунок 2.16. Диаграмма активности «Просмотр
рекламы»
Далее, созданные диаграммы последовательностей
отражают временную последовательность действий и представлены ниже. В диаграмме
последовательности для функции «регистрация пользователя» внешний субъект -
пользователь принимает решение о регистрации в мобильном приложении. Сообщение
с вводом номера отправляется в сервер приложения. Номер сохраняется в БД (база
данных) приложения. Пользователь получает код регистрации, вводит его, а БД
проверяет правильность введения кода. Затем пользователь вводит логин и пароль
в сервер приложения и результат сохраняется в БД, что отображено ниже
(рис.2.17.).
Рисунок 2.17. Диаграмма последовательности
функции «Регистрация пользователя»
Диаграмма последовательности для функции
«Авторизация пользователя» представлена на рисунке 2.18. Пользователь ввод
логин и пароль, которые проверяются в сервере БД приложения. Результат проверки
отправляется в сервер, откуда результат авторизации отправляется к
пользователю.
Рисунок 2.18. Диаграмма последовательности для
функции «Авторизация пользователя»
Диаграмма последовательности для функции
«Просмотр всех парковок» представлена на рисунке 2.19. Внешний субъект -
пользователь принимает решение о просмотре всех платных парковок. Сообщение
«Авторизация» отправляется в сервер приложения. Проверка логина и результат
проверки осуществляется в сервере БД приложения. Также пользователь делает
запрос на показ всех платных парковок в сервер приложения, а в сервере БД
приложения осуществляется обработка запроса и выводится результат запроса в
сервер. Затем результат отправляется пользователю.
Рисунок 2.19. Диаграмма последовательности
функции «Просмотр всех парковок»
Диаграмма последовательности для функции «Поиск конкретной парковки» представлена на рисунке 2.20. Пользователь производит авторизацию и отправляет запрос с адресом парковки в сервер приложения, откуда запрос отправляется в БД. Если парковка с таким адресом существует, то в сервер выводится сообщение с данными о парковке, в противном случае, сообщение об отсутствии парковки с указанными координатами. Затем и сервера, сообщение отправляется пользователю.
Рисунок 2.20. Диаграмма последовательности
функции «Поиск конкретной парковки»
Диаграмма последовательности для функции
«Оставить отзыв» представлена на рисунке 2.21. После авторизации пользователь
пишет отзыв, который отправляется в сервер приложения, проверяется, и
публикуется через сервер БД приложения. Затем из сервера БД приложения
поступает информация о публикации отчета в сервер приложения. Так, пользователь
получает сообщение об успешной публикации отзыва.
Рисунок 2.21. Диаграмма последовательности
функции «Оставить отзыв»
Диаграмма последовательностей для функции «Поиск кратчайшего пути» представлена на рисунке 2.22. Пользователь вводит адрес необходимой ему парковки. Из сервера приложения данная информация отправляется в БД, где информация обрабатывается и выводится в сервер приложения, либо сообщение с координатами, либо сообщение с ошибкой. В случае, если парковка была найдена в БД, то сервер приложения отправляет запрос в сервер определения геопозиции и указывается текущая геопозиция пользователя. На уровне сервера приложения определяется кратчайший путь и информация отображается пользователю.
Рисунок 2.22. Диаграмма последовательности
функции «Поиск кратчайшего пути»
Диаграмма последовательностей для функции
«Запрос в службу технической поддержки» представлена на рисунке 2.23.
Пользователь отправляет запрос в сервер приложения, на уровне которого он
проверяется и запрос отправляется в сервер БД приложения. Далее сервер БД
приложения отправляет отчет об отправке запроса в сервер приложения и
пользователь получает сообщение об успешной отправке запроса.
Рисунок 2.23. Диаграмма последовательности
функции «Запрос в службу технической поддержки»
Диаграмма последовательностей для функции
«Просмотр рекламы» представлена на рисунке 2.24. Пользователь отправляет в
сервер приложения запрос о включении или отключении рекламы. В свою очередь, сервер
рекламных объявлений отправляет содержимое рекламы в сервер приложения и
реклама показывается пользователю.
Рисунок 2.24. Диаграмма последовательности
функции «Просмотр рекламы»
Диаграмма последовательностей для функции
«Определение текущего местоположения» представлена на рисунке 2.25.
Пользователь деле запрос на поиск местоположения, через сервер отправляется
запрос в сервер геолокации и результат, в виде текущей геопозиции отправляется
на сервер и к пользователю.
Рисунок 2.25. Диаграмма последовательности
функции «Определение текущего местоположения»
Далее было осуществлено моделирование классов,
которые определяют сущность информационной системы. Диаграмма классов представлена
на рисунке 2.26.
Рисунок 2.26. Диаграмма классов
Класс Users содержит информацию о пользователях системы, такую как: логин и пароль.
Класс Zapros содержит информацию о запросах: текст запроса, изображение - которые могут оставлять пользователи в службу технической поддержки.
Класс Otzivi содержит информацию об отзывах: текст запроса, изображение - которые могут оставлять пользователи о любой парковке.
Информация о парковках хранится в классе Parkovki, которые содержит: название парковки, стоимость часа, стоимость суток, количество мест, время начала работы, время окончания работы.
В классе Goroda хранится информация о городе: название города, число парковок. В нашем случае хранится информация об одном городе Пермь.
Для города доступна своя реклама - класс Reklama, который содержит: текст рекламы, изображение, дата публикации.
Диаграмма развертывания, представляющая
графическое изображение процессов, устройств и связей между ними, представлена
на рисунке 2.27.
Рисунок 2.27. Диаграмма развертывания
Далее было выполнено проектирование базы данных.
При проектировании используется нормализация, которая подразумевает
преобразование отношений базы к виду, который отвечает нормальным формам. На
основе поставленной задачи и описания предметной области, выявлены атрибуты
базы данных. Для того, чтобы привести базу к первой нормальной форме (1НФ)
необходимо избавиться от неатомарных, неделимых, данных, выбрать первичный
ключ, однозначно определяющего запись. База в первой нормальной форме
представлена в таблице 2.6., а первичные ключевые поля выделены цветом.
Таблица 2.6 - Первая нормальная форма
|
Атрибут |
Данные № 1 |
Данные №2 |
|
Код города |
01 |
02 |
|
Название города |
Пермь |
Пермь |
|
Код парковки |
101 |
102 |
|
Число парковок |
120 |
120 |
|
Название парковки |
Автомобильная парковка №101 |
Автомобильная парковка №102 |
|
Адрес |
Монастырская, 10 |
Екатерининская, 109а |
|
Цена за час |
15 руб |
15 руб |
|
Цена за сутки |
90 руб |
90 руб |
|
Количество мест |
300 |
250 |
|
Врем открытия |
8:30 |
8:30 |
|
Время закрытия |
19:30 |
19:30 |
|
Код отзыва |
110 |
111 |
|
Описание отзыва |
Много доступных мест. |
Близко к дому, дружелюбный охранник. |
|
Код пользователя |
1 |
2 |
|
Логин |
Артем |
Юрий |
|
Пароль |
1111 |
1202 |
|
|
hgf@mai.ru |
hkdhfkj@mail.ru |
|
Номер телефона |
7912885353 |
79194513903 |
|
Код запроса |
1000 |
1001 |
|
Текст запроса |
Не правильно отображена информация о парковке. |
Не могу проложить маршрут. Функция не работает. |
|
Код рекламы |
999 |
998 |
|
Название рекламы |
Магазин посуды |
Магазин строительных инструментов |
|
Описание рекламы |
Реклама столовых приборов. |
Реклама новой техники |
|
Дата публикации |
11.06.2017 |
11.06.2017 |
|
Тип рекламы |
Банерная реклама |
Полноэкранная реклама |
|
Длительность |
1 день |
3 часа |
|
Количество просмотров |
399 |
420 |
|
Количество кликов |
33 |
101 |
|
Стоимость |
3000 |
4000 |
|
Код рекламодателя |
10001 |
10002 |
|
ФИО |
Сергеев Сергей Сергеевич |
Петров Петр Петрович |
|
Название |
«Кружки - ложки» |
«Строим дом» |
|
Организационная форма |
ООО |
ИП |
|
Телефон |
+79191919198 |
+793665389 |
|
|
kruzhki@yandex.ru |
Dom@mail.ru |