Мониторинг общественного транспорта с помощью смартфона
Характеристика задач разработки программного комплекса для мониторинга общественного транспорта за счёт мобильных устройств. Разработка программного комплекса и составление диаграммы компонентов. Разработка руководства пользователя программного продукта.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 19.02.2017 |
Размер файла | 326,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
КУРСОВОЙ ПРОЕКТ
по дисциплине «Технология разработки программного обеспечения»
на тему «Мониторинг общественного транспорта с помощью смартфона»
Содержание
- Введение
- 1. Постановка и анализ задачи
- 2. Анализ данных
- 3. Программная реализация
- 4. Диаграмма компонентов
- 5. Техническое задание
- 5.1 Введение
- 5.2 Требования к функциональным характеристикам
- 5.3 Требования к надежности
- 5.4 Требования к составу и параметрам технических средств
- 5.5 Требования к информационной и программной совместимости
- 5.6 Требования к программной документации
- 6. Руководство пользователяЗаключение
- Список использованных источников
- Приложение
Введение
В последнее время в крупных городах стали появляться сервисы для мониторинга общественного транспорта, что позволяет людям удобно планировать время. Также сервисы упрощают работу предпринимателю, т.к. они позволяют видеть, где едут его водителив реальном времени. Есть и недостатки: все они работают за счет GPS-трекеров, установка которых на каждый транспорт, обходится владельцу в крупную сумму.
Целью данного курсового проекта является разработка программного комплекса для мониторинга общественного транспорта, который будет работать с помощью смартфона, тем самым, позволяя предпринимателям сэкономить на закупке GPS-трекеров, и, который предоставит им полный отчет о передвижениях его водителей.
1. Постановка и анализ задачи
Каждому человеку удобно планировать перемещения по городу и продумывать маршруты. Можно подождать, зная, что автобус подъедет к остановке через 5 минут, если же мы понимаем, что его не будет и в течение 40 минут, то тогда не стоит ждать и вместо бесперспективной потери времени на остановке, следует выбрать альтернативные варианты перемещения -- такси или пешком.
Сейчас все чаще в каждом городе появляются сервисы для отслеживания общественного транспорта. Все они работают за счет установленного в транспорт GPS-трекера. Средняя стоимость одного устройства составляет
6 000 (шесть тысяч) рублей. Следовательно, если предприниматель, в автопарке которого 50 машин, захочет обзавестись данным сервисом, то ему придется затратить приблизительно 300 000 (триста тысяч) рублей только на устройства. Также, будет необходимо ежемесячно затрачивать 300 (триста) рублей для работы трекеров; и это только на одно устройство. То есть предпринимателю придется каждый месяц отдавать еще по 10 000 (десять тысяч) рублей, за 50 машин. Зачастую, именно из-за дорогостоящего оборудования многие отказываются в их установке.
Поэтому целью данного проекта является разработка эффективного и недорогого программного комплекса для мониторинга общественного транспорта за счёт мобильных устройств.
Главные преимущества, данного проекта:
1) недорогостоящий вариант;
2) общение между водителями;
3) полный отчет для предпринимателей.
Так же, каждый водитель будет видеть на устройстве своих коллег, за счет чего он сможет скорректировать свое движение.
Полные возможности программного комплекса отображены на диаграмме вариантов использования, рисунок 1.
Рисунок 1 - Диаграмма вариантов использования
Для разработки мобильной части под Android было выбрано официальное средство, находящееся в свободном доступе, AndroidStudio.Данная среда обеспечивает удобный набор для построения приложений.
Например, AndroidStudioсодержит систему мгновенного запуска, которая позволяет при запущенном приложение вставлять новый код или ресурсы. Это позволяет без перезагрузки приложения увидеть добавленный эффект. Так же время написание кода сокращает интеллектуальный редактор кода. Редактор кода помогает лучше писать код, работать быстрее и быть более продуктивным, предлагая прогрессивное завершение кода, рефакторинга и анализа кода. По мере ввода AndroidStudioпредлагает варианты завершения в выпадающем списке [1].
Отладку можно быстро производить как на виртуальном устройстве, так и на физическом.
Серверная часть, содержащая API (интерфейс программирования приложений), была написана при помощи языка Javaи фреймворкаSpring, используя архитектурный стиль REST.
В качестве языка программирования был выбран язык Java. Java -- строго типизированный объектно-ориентированный язык программирования. Приложения Java обычно транслируются в специальный байт-код, поэтому они могут работать на любой компьютерной архитектуре, с помощью виртуальной Java-машины.Достоинством подобного способа выполнения программ является полная независимость байт-кода от операционной системы и оборудования, что позволяет выполнять Java-приложения на любом устройстве, для которого существует соответствующая виртуальная машина. Другой важной особенностью технологии Java является гибкая система безопасности, в рамках которой исполнение программы полностью контролируется виртуальной машиной. Любые операции, которые превышают установленные полномочия программы (например, попытка несанкционированного доступа к данным или соединения с другим компьютером), вызывают немедленное прерывание [2].
Выбранный дополнительно фреймворкSpring обеспечивает решения многих задач, с которыми сталкиваются Java-разработчики и организации, которые хотят создать информационную систему, основанную на платформе Java. Из-за широкой функциональности трудно определить наиболее значимые структурные элементы, из которых он состоит. Spring не всецело связан с платформой JavaEnterprise, несмотря на его масштабную интеграцию с ней, что является важной причиной его популярности.
Spring, вероятно, наиболее известен как источник расширений (features), нужных для эффективной разработки сложных бизнес-приложений вне тяжеловесных программных моделей, которые исторически были доминирующими в промышленности. Ещё одно его достоинство в том, что он ввел ранее неиспользуемые функциональные возможности в сегодняшние господствующие методы разработки, даже вне платформы Java.
Этот фреймворк предлагает последовательную модель и делает ее применимой к большинству типов приложений, которые уже созданы на основе платформы Java. Считается, что Spring реализует модель разработки, основанную на лучших стандартах индустрии, и делает её доступной во многих областях Java[4].
В качестве архитектуры был выбран стиль REST. Он представляет собой согласованный набор ограничений, учитываемых при проектировании распределённой гипермедиа-системы. В определённых случаях это приводит к повышению производительности и упрощению архитектуры. В широком смысле компоненты в REST взаимодействуют наподобие взаимодействия клиентов и серверов во Всемирной паутине.
В сети интернет, вызов удалённой процедуры представляетсяобычным HTTP-запрос (обычно «GET» или «POST»; такой запрос называют «REST-запрос»), а необходимые данные передаются в качестве параметров запроса [3].
2. Анализ данных
Вся основная информация о маршрутах, водителях и транспорте хранится в базе данных. Для простоты и безопасности работа с базой данных производится за счет APIна сервере. При первом подключение приложение отправляет на сервер свой токен для электронного удостоверения приложения, если у данного токена есть права на доступ, то ему дается доступ.
Для хранения данных о пользователях в базе данных используется таблица 1.
Таблица 1 - Пользователь
Поле |
Тип |
Размер |
Описание |
|
id |
Счетчик |
Внутренний номер пользователя |
||
lastname |
Текстовый |
30 |
Фамилия пользователя |
|
firstname |
Текстовый |
20 |
Имя пользователя |
|
patronymic |
Текстовый |
30 |
Отчество пользователя |
|
login |
Текстовый |
30 |
Логин пользователя |
|
password |
Текстовый |
30 |
Парольпользователя |
|
group |
Числовой |
Номер группы пользователя |
Информация об общественном транспорте содержит в себе основное описание, таблица 2.
Таблица 2 - Транспорт
Поле |
Тип |
Размер |
Описание |
|
id |
Счетчик |
Внутренний номер транспорта |
||
model |
Текстовый |
30 |
Модельтранспорта |
|
type |
Числовой |
Тип транспорта |
||
color |
Текстовый |
30 |
Цвет транспорта |
|
number |
Текстовый |
30 |
Гос. номертранспорта |
|
route |
Числовой |
Маршрут транспорта |
||
driver |
Числовой |
Код водителя |
||
boss |
Числовой |
Код хозяина |
Для разграничения прав доступа на сайте, используется таблица 3, в которой перечислены возможные виды доступа.
Таблица 3 - Группы
Поле |
Тип |
Размер |
Описание |
|
id |
Счетчик |
Внутренний номер группы |
||
name |
Текстовый |
30 |
Имя группы |
Так как виды общественного транспорта могут изменяться, то они выделены отдельно в таблицу 4.
Таблица 4 - Тип транспорта
Поле |
Тип |
Размер |
Описание |
|
id |
Счетчик |
Внутренний номер типа |
||
name |
Текстовый |
30 |
Имя типа |
Чтобы узнать какой транспорт активен в данный момент, делается запрос к таблице 5, активный транспорт.
Таблица 5 - Активный транспорт
Поле |
Тип |
Размер |
Описание |
|
id |
Счетчик |
Внутренний номер активного транспорта |
||
Транспорт |
Числовой |
Код активного транспорта |
||
Долгота |
Числовой |
20 |
Долгота на которой находится транспорт |
|
Широта |
Числовой |
20 |
Широта на которой находится транспорт |
Таблица 6 - Маршрут
Поле |
Тип |
Размер |
Описание |
|
id |
Счетчик |
Внутренний номер маршрута |
||
Начало |
Текстовый |
20 |
Начальная точка маршрута |
|
Конец |
Текстовый |
20 |
Конечная точка маршрута |
|
Тип |
Числовой |
20 |
Тип маршрута |
|
Номер |
Числовой |
20 |
Номер маршрута |
3. Программная реализация
При выборе пользователем маршрута, на экране отображается окно с картой, на которой по маршруту перемещаются транспортные средства. Так как постоянно запрашивать координаты транспорта не имеет смысла (это лишняя нагрузка на сервер и трата интернет трафика пользователя), координаты запрашиваются раз в 20 секунд. В то время, пока данные загружаются, у пользователя на экране будет отображаться перемещение транспорта. Это реализовано с помощью вычисления скорости транспортного средства. По двум последним координатам высчитывается расстояние, которое он проехал за 20 секунд, по следующей формуле:
Где:
L - расстояние;
- это широта первой координаты;
- широта второй координаты;
долгота первой координаты;
- долгота 2 координаты.
После того как рассчитано расстояние, находится скорость перемещения транспорта, путем деления расстояния на время, то есть на 20 секунд. С полученной скоростью транспорт будет перемещаться по карте, до того момента, пока не получит новые данные.
4. Диаграмма компонентов
Диаграмма компонентов - статическая структурная диаграмма, показывает разбиение программной системы на структурные компоненты и связи (зависимости) между компонентами. Диаграмма компонентов разработанного программного комплекса представлена на рисунке 2.
Рисунок 2 -Диаграмма компонентов
Описание компонент представлено в таблице 4.
Таблица 4 - Используемые компоненты
Название компоненты |
Описание |
|
PublicTransportation.apk |
файл, запускающий программу |
|
RouteService |
файл, класс отправляющий httpзапросы на сервер |
|
APIController |
класс определяющий вид запроса |
|
Service |
класс отвечающий за бизнес логику |
|
DatabaseService |
класс для работы с базой данных |
5. Техническое задание
5.1 Введение
При работе с общественным транспортом очень важно отслеживать машины. Эта очень полезная информация как для пассажиров, так и для предпринимателей.Программный комплекс позволяет отслеживать весь транспорт при помощи смартфона. Позволяя пользователям планировать время, а предпринимателям вести отчетность о работе.
5.2 Требования к функциональным характеристикам
Для пользователя программный продукт должен предоставлять следующие возможности: программный мобильный транспорт пользователь
1) возможность выбора типа интересующего его транспорта;
2) выбор маршрута;
3) отображение на карте всего активного транспорта по данному маршруту;
4) отображение информации о транспортном средстве;
Для водителей приложение должно выполнять следующие функции:
1) возможность авторизоваться;
2) просмотр личных данных;
3) отображение своего местоположения;
4) отображение всех водителей на карте, находящихся на одном маршруте.
5.3 Требования к надежности
В программе должна присутствовать проверка входной информации на соответствие типов, принадлежность диапазону допустимых значений и соответствие структурной корректности. В случае возникновения ошибок предусмотреть возможность вывода информативных диагностических сообщений.
5.4 Требования к составу и параметрам технических средств
Минимальные требованиядля серверного приложения: персональный компьютер, с установленной на нем ОС Windows или Linux,не менее 512 Мб оперативной памяти, клавиатура, мышь.
Для оптимальной работы необходимо 20 Мб свободной памяти на жестком диске, также оперативной памяти не менее 512Мб.
Минимальные требования для мобильного приложения: операционная система Android, не ниже 4.2, постоянное подключение к интернету.
5.5 Требования к информационной и программной совместимости
Сервер должен функционировать под управлением ОС семейства Windowsили Linux.
Mобильное приложение должно работать на любом смартфоне с ОС Androidс версией не ниже 4.2.
5.6 Требования к программной документации
Документация к программе должна содержать руководство пользователя.
6. Руководство пользователя
Для запуска клиентского приложения на смартфоне необходимо сначала установить его при помощи файла «PublicTransportationClient.apk», после чего в меню добавится ярлык для запуска приложения «Общественный транспорт». При клике изначально появится первоначальное окно (рисунок 3).
Рисунок 3 - Начальное окно
На начальном окне отображается информация о том, сколько в данный момент активного транспорта. Для продолжения нужно коснуться экрана. Далее откроется окно для выбора общественного транспорта(рисунок 4).
Рисунок 4 - Выбор общественного транспорта
В верхней часть отображены вкладки с видами общественного транспорта, остальная часть -- это меняющийся список, который зависит от выбранной вкладки. После того, как нужный маршрут был найден, его нужно выбрать для того, чтобы открылось следующее окно с картой (рисунок 5).
Рисунок 5 - Карта
В текущем окне отображается полная карта города, на которой выделен весь путь маршрутного средства. Также будет виден весь активный общественный транспорт по выбранному маршруту, помеченный красным маркером.
Заключение
Мобильное приложение клиента имеет следующие функциональные возможности:
1) просмотр возможных видов транспорта;
2) выбор любого маршрута;
3) мониторинг активного транспорта по выбранному маршруту.
Водители, в свою очередь, смогут воспользоваться следующим функционалом:
1) авторизация в системе;
2) просмотр личных данных;
3) начать/закончить смену;
4) обзор всего общественного транспорта на его маршруте.
Для предпринимателей реализован сайт, который позволяет управлять своим автопарком:
1) добавлять/редактировать/удалять транспорт;
2) добавлять/редактировать/удалять водителей;
3) назначать/ снимать водителей с транспортного средства;
4) смотреть положение своего активного транспорта.
В дальнейшем планируется реализовать больше функционала для предпринимателей, который позволит вести различную отчетность о перемещении его водителей. Для водителей будет создан чат, позволяющий в экстренных ситуациях отправить сообщение всем коллегам, работающих у одного предпринимателя. Так же будет введена система оценки водителей, т. е. каждый клиент сможет оценить работу любого водителя.
Список использованных источников
1. AndroidStudio [Электронный ресурс] / AndoidStudio. - Режим доступа: https://developer.android.com/studio/index.html. - Загл. c экрана.
2. Java [Электронный ресурс] / Java. - Режим доступа: https://www.java.com/ru/about/whatis_java.jsp. - Загл. c экрана.
3. WallsC. Spring in Action / Б. Эккель. - Manning Publication: Baldwin Road, 2015. - 626с.
4. Spring [Электронный ресурс] / Spring. - Режим доступа: https://spring.io/docs. - Загл. c экрана.
5. Эккель Б. Философия Java / Б. Эккель. - Санкт-Петербург: Питер, 2017. - 640 с.
Размещено на Allbest.ru
...Подобные документы
Общая характеристика автоматизированной системы мониторинга и учета электроэнергии на фидерах контактной сети. Сравнение с современными автоматизированными системами коммерческого учета электроэнергии. Разработка модели и алгоритма программного комплекса.
дипломная работа [2,0 M], добавлен 28.06.2015Разработка программного комплекса и описание алгоритма. Разработка пользовательского интерфейса. Анализ тестовых испытаний программного блока. Защита пользователей от воздействия на них опасных и вредных факторов. Режимы работы программного комплекса.
дипломная работа [1,7 M], добавлен 14.03.2013Архитектура программного продукта и требования к платформе, обоснование выбора разработки. Закономерности и основные этапы алгоритмизации и программирования, а также отладка и тестирование продукта. Разработка и содержание руководства пользователя.
дипломная работа [2,3 M], добавлен 19.01.2017Обзор и анализ существующих методик управления проектами и оценки трудоемкости. Разработка алгоритма задания параметров и вычисления трудоемкости и стоимости программного продукта. Отладка и тестирование продукта. Разработка руководства пользователя.
дипломная работа [2,5 M], добавлен 18.11.2017Проектирование серверного компонента, исполняющегося на узле кластера EMC Centera. Протокол взаимодействия компонентов, способный восстанавливаться после разрыва соединения между компонентами. Графический интерфейс пользователя для программного комплекса.
дипломная работа [1,1 M], добавлен 18.07.2014Результаты предпроектного обследования завода. Разработка и реализация программного комплекса "Subсontraсting". Информационное и программное обеспечение продукта. Технико-экономическое обоснование внедрения проекта, его безопасность и экологичность.
дипломная работа [5,4 M], добавлен 22.06.2011Разработка программного продукта, который позволяет формировать отчет о мобильных телефонах во всем мире. Реализация функций добавления, редактирования, поиска и вывода на печать отчета. Проектирование интерфейса пользователя. Описание рабочих модулей.
курсовая работа [6,6 M], добавлен 11.01.2017Порядок создания автоматизированной информационной системы (АИС) для Министерства промышленной политики, транспорта и связи Омской области на базе Webmin/Alterator. Руководство пользователя Webmin. Оценка затрат труда на разработку программного продукта.
дипломная работа [767,6 K], добавлен 10.07.2010Анализ предметной области разрабатываемого программного продукта. Разработка интерфейса пользователя и структурной схемы игровой программы "Крестики-нолики". Отладка и тестирование. Проведение исследования компонентов программной среды Borland Delphi 6.0.
курсовая работа [660,4 K], добавлен 08.03.2015Особенности алгоритмов, критерии качества. Создание и применение программного продукта на языке Delphi. Тип операционной системы. Внутренняя структура программного продукта. Руководство пользователя и программиста, расчет себестоимости и цены программы.
дипломная работа [1,5 M], добавлен 12.06.2009Характеристика программного продукта и стадий разработки. Расчет затрат на разработку и договорной цены, эксплуатационных расходов, связанных с использованием нового программного продукта. Оценка конкурентоспособности. Изучение, оценка рыночного спроса.
курсовая работа [139,0 K], добавлен 22.09.2008Создание электронной интерактивной карты общественного транспорта г. Ижевска, позволяющей выполнять над ней различные манипуляции. Разработка основы для привязки всех остановок и маршрутов. Реализация программного и пользовательского интерфейса карты.
контрольная работа [1,3 M], добавлен 13.12.2014Знакомство с проблемами обнаружения вредоносного программного обеспечения для мобильных устройств. Анализ функций антивирусного пакета Kaspersky Mobile Security 8.0. Характеристика наиболее распространенных антивирусных программ для мобильных устройств.
реферат [55,1 K], добавлен 11.01.2017Анализ методов реализации интеллектуальных игр в системе человек-робот. Разработка архитектуры программного комплекса, выбор языка программирования. Алгоритм преобразования данных. Тестирование программного комплекса, редактирование и исправление ошибок.
дипломная работа [2,6 M], добавлен 27.10.2017Проектирование структуры информационной базы и разработка программного комплекса, позволяющего автоматизировать процесс учета налогоплательщиков. Разработка конфигурации и создание интерфейса базы данных, форм и отчетов в программе "1С Предприятие".
дипломная работа [3,2 M], добавлен 21.06.2015Анализ возможностей утечки информации, неавторизованного и несанкционированного доступа к ресурсам ЛВС сельскохозяйственного комплекса. Ознакомление с антивирусными программы и брандмауэрами. Разработка программного комплекса для защиты информации.
дипломная работа [3,6 M], добавлен 17.04.2010Разработка программного обеспечения для автоматизированной системы калибровки и поверки комплекса технических средств ПАДК "Луг-1". Аналитический обзор аналогов. Проектирование пользовательского интерфейса. Средства разработки программного обеспечения.
дипломная работа [1,4 M], добавлен 17.12.2014Разработка программного продукта, предназначенного для поиска туров, транспорта, мест проживания и расчета стоимости тура, а так же для работ с клиентской базой туристической фирмы. Тестирование программного продукта в среде Borland Developer Studio 2006.
курсовая работа [2,5 M], добавлен 08.11.2012Проектирование программного комплекса на языке С++ с использованием принципов объектно-ориентированного программирования. Разработка разных меню, помогающих пользователю работать с программой. Описание процесса формирования статистики по памятникам.
курсовая работа [799,9 K], добавлен 01.12.2016Проектирование структур данных и пользовательского интерфейса. Разработка руководства системного программиста и пользователя. Основные элементы организации работы менеджера по работе с клиентами. Характеристика программного обеспечения ООО "Доминион+".
курсовая работа [1,7 M], добавлен 14.10.2012