Мониторинг общественного транспорта с помощью смартфона

Характеристика задач разработки программного комплекса для мониторинга общественного транспорта за счёт мобильных устройств. Разработка программного комплекса и составление диаграммы компонентов. Разработка руководства пользователя программного продукта.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 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

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.