Автоматизированная система управления таксомоторного парка
Анализ деятельности таксомоторного парка. Выбор жизненного цикла автоматизированной информационной системы. Построение структуры базы данных системы и разработка понятного интерфейса. Характеристика процессов, протекающих в автоматизированных системах.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 06.06.2013 |
Размер файла | 1,5 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
final String formattedAddress = location.getString(«formatted_address»);
System.out.println(formattedAddress);// итоговыйадрес
Данные получение методами, описанными выше используются в методе вычисления длины маршрута между точками.
GoogleDirections API - это служба, которая вычисляет маршруты между пунктами с помощью HTTP-запроса. В службе Directions пункты отправления и назначения могут указываться в виде текстовых строк (например, «Чикаго, Иллинойс» или «Дарвин, Новый Южный Уэльс, Австралия») либо как координаты широты и долготы. Служба Directions API может возвращать составные маршруты в виде последовательности путевых точек.
Реализация метода представлена ниже:
finalStringbaseUrl = «http://maps.googleapis.com/maps/api/directions/json»;// путь к Geocoding API по
// HTTP
final Map<String, String>params = Maps.newHashMap();
params.put(«sensor», «false»);// указывает, исходит ли запрос на геокодирование от устройства с датчиком
params.put(«language», «ru»);// язык данные на котором мы хотим получить
params.put(«mode», «walking»);// способперемещения, можетбыть driving, walking, bicycling
params.put(«origin», «Россия, Москва, улица Поклонная, 12»);// адрес или текстовое значение широты и
// отправного пункта маршрута
params.put(«destination», «Россия, Москва, станция метро Парк Победы»);// адрес или текстовое значение широты и// долготы
// долготы конечного пункта маршрута
finalStringurl = baseUrl + '?' + encodeParams(params);// генерируем путь с параметрами
System.out.println(url); // Можем проверить что вернет этот путь в браузере
finalJSONObjectresponse = JsonReader.read(url);// делаем запрос к вебсервису и получаем от него ответ
// как правило наиболее подходящий ответ первый и данные о координатах можно получить по пути
// //results[0]/geometry/location/lngи //results[0]/geometry/location/lat
JSONObject location = response.getJSONArray(«routes»).getJSONObject(0);
location = location.getJSONArray(«legs»).getJSONObject(0);
final String distance = location.getJSONObject(«distance»).getString(«text»);
final String duration = location.getJSONObject(«duration»).getString(«text»);
System.out.println(distance + «\n» + duration);
Данные полученные в результате работы данного метода, также используются для нахождения ближайшего к месту посадки клиента водителя. Текущие координаты водителя передаются при помощи приложения, разработанного для операционной системы Android 2.2. Для работы приложения нужно активное соединение с Интернет. В начале смены водитель включает данное приложение. Приложение каждые 30 секунд связывается с сервером и передает ему свои координаты.
4. Инструкция по работе с приложением
4.1 Инструкция пользователя «Диспетчер»
Для входа в систему необходимо:
-Выберите режим работы «Диспетчер»;
-Введите свой индивидуальный логин и пароль и нажмите «Вход». Окно входа в систему отображено на рисунке 8.
Рисунок 8 - Окно входа в систему
Появиться окно, которое называется «Рабочее место диспетчера», в этом окне предстоит работать. На этом окне расположены кнопки: «Новый заказ», «Заказ выполнен», «Заказ отмен», «Ошибка в статусе» - для работы с заказами. «Фиксировать» и «Удалить» - для регистрации водителей. «Завершить смену» для выхода и печати отчетов. Пример на рисунке 9.
Для начала необходимо добавить водителей прибывших на смену, для этого необходимо:
- В нижней части формы находиться таблица, в которой фиксируются водители на смене. Нажмите кнопку «Фиксировать», появится окно с списком всех водителей работающих в данном таксопарке;
- Выберите водителя и нажмите «Принять»;
- Водитель появиться в той таблице. После этого можно регистрировать заказы.
Рисунок 9 - Рабочее место диспетчера
Чтобы принять заказ нажмите «Новый заказ», появиться карточка заказа, заполните ее и нажмите «Принять». Заказ отобразиться в таблице заказов. Пример добавления нового заказа продемонстрирован на рисунке 10.
Если заказ выполнен, нажмите «Заказ выполнен», статус заказа изменится на «Выполнен», а строка заказа подсветится зеленым цветом.
Если заказ отменен, нажмите «Заказ отменен», статус заказа изменится на «отмене», а строка заказа подсветится красным цветом.
Если вы по ошибке изменили, статус заказа нажмите на «Ошибка в статусе» и статус вернется по умолчанию.
По кнопке «завершить смену» появится диалоговое окно с вопросом «Вы действительно заканчиваете смену?». При нажатии «Да» откроется форма с тремя кнопками.
При нажатии «Отмена» Вы вернетесь на форму «Рабочее место диспетчера».
При нажатии на «Генерировать в Word», отчет за смену отправиться в Word и кнопка «Выход» станет активной, и вы сможете выйти из программы.
Рисунок 10 - Окно добавления нового заказа
В разделе «Помощь» есть пункт «Карта». При нажатии на данную кнопку появится вспомогательная утилита с картой и двумя полями ввода: «Пункт отправления» и «Пункт назначения». Диспетчер вводит данные заказа в поля ввода и утилита просчитает маршрут и выведет примерную стоимость заказа.
4.2 Инструкция пользователя «Администратор»
Для добавления водителя необходимо:
- Выбрать вкладку «Водители»;
- Нажать кнопку «Добавить», появится окно с реквизитами водителя. Пример представлен на рисунке 11.
Заполните эту карточку и нажмите «Принять».
Рисунок 11 - Окно добавления нового водителя
Этот водитель сразу отобразиться в таблице на вкладке «Водители».
Для добавления диспетчера необходимо:
- Выбрать вкладку «Диспетчеры»;
- Нажать кнопку «Добавить», появится окно с реквизитами диспетчера. Пример на рисунке 12;
- Заполните эту карточку и нажмите «Принять».
Этот диспетчер сразу отобразиться в таблице на вкладке «Диспетчеры».
Рисунок 12 - Окно добавления нового диспетчера
Для печати отчетов необходимо выполнить следующее.
Для сводного отчета по работе диспетчеров:
- Зайти «Отчеты»- «Отчет по работе диспетчеров», появится окно;
- На форме выберите начало и конец временного промежутка, за который необходимо предоставить сведения;
- Нажмите кнопку «Генерировать в Word»;
- После этого можно распечатать средствами Word. Пример окна составления отчета на рисунке 13.
Рисунок 13 - Форма отчета по диспетчерам
Для сводного отчета по работе водителя:
- Зайти «Отчеты»-«Отчет по работе водителя», появится окно;
- На окне выберите начало и конец временного промежутка, за который необходимо предоставить сведения, а также фамилию водителя;
- Нажмите кнопку «Печать».
После этого можно распечатать отчет средствами Word. Пример отображен на рисунке 14.
Рисунок 14 - Форма отчета по водителю
Для формирования «Чёрного списка»:
- Зайти «Отчеты» - «Черный список», появится форма;
- Нажмите кнопку «Генерировать в Word»;
- После этого можно распечатать средствами Word.
Заключение
Данная программа предназначена для автоматизации рабочего места диспетчера такси, с целью уменьшить долю ручного труда и количества бумажных документов и наглядно демонстрировать занятость водителей.
Программный продукт «Автоматизированная система управления таксомоторного парка» решает следующие задачи:
- Разделение рабочих мест на два режима: «Администратор» и «Диспетчер»;
- Вход по логину и паролю в двух режимах;
- Заполнение карточки водителя и диспетчера, только в режиме администратора;
- Печать сводных отчетов по диспетчерам, по водителю, формирование «черного списка», только в режиме администратора;
- Заполнение карточки заказа, только в режиме диспетчера;
- Изменение статуса заказа, только в режиме диспетчера;
- Регистрация прибывших на смену водителей, только в режиме диспетчера;
- Печать отчета за смену, только в режиме диспетчера;
Диспетчер и администратор должны ответственно относится к заполнению данных: очень большую роль играет человеческий фактор, при халатном ведении базы данных заказов и введение некорректных данных могут забить базу названиями не существующих улиц, некорректными именами водителей и диспетчеров.
Список использованных источников
1 Балуев, Д. Секреты приложений Google / Д. Балуев. - Альпина, 2010. - 287 с.
2 Давыдов, С. IntelliJ IDEA. Профессиональное программирование на Java / С. Давыдов. - BHV, 2005. - 800 с.
3 Лафоре, Р. Структуры данных и алгоритмы в Java / Р. Лафоре. - Питер, 2012. - 704 с.
4 Милк, Б. Программирование под Android / Б. Милк. - СПб.: Санкт-Петербург, 2012. - 496 с.
5 Мезенцев, К. Автоматизированные информационные системы / К. Мезенцев. - Academia, 2010. - 176 с
6 Николаев, А. Автоматизированные системы управления на автомобильном транспорте / А. Николаев. - Academia, 2012. - 288 с.
7 Селько, Д. SQL для профессионалов. Программирование / Д. Селько. - Лори, 2009. - 442 с.
8 Соломон, М. Oracle. Программирование на языке Java / М. Соломон. - Лори, 2010. - 512 с.
9 Флэнаган, Д. Java в примерах. Справочник/ Д. Флэнаган. - Символ, 2004. - 664 с.
10 Флэнаган, Д. Java. Справочник / Д. Флэнаган. - Символ, 2012. - 1040с.
11 Хорстманн, К. Java 2. Том II. Тонкости программирования. Библиотека профессионала / К. Хорстманн. - Вильямс, 2012. - 992 с.
Приложение. Листинг класса JsonReader.java
publicclassJsonReader {
privatestaticStringreadAll(finalReaderrd) throws IOException {
finalStringBuildersb = new StringBuilder();
intcp;
while ((cp = rd.read()) != -1) {
sb.append((char) cp);
}
returnsb.toString();
}
public static JSONObject read(
final String url) throws IOException, JSONException {
finalInputStream is = new URL(url).openStream();
try {
finalBufferedReaderrd =
newBufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));
final String jsonText = readAll(rd);
finalJSONObjectjson = new JSONObject(jsonText);
returnjson;
} finally {
is.close();
}
}
private static String encodeParams(final Map<String, String>params) {
final String paramsUrl = Joiner.on('&').join(// получаемзначениевида key1=value1&key2=value2...
Iterables.transform(params.entrySet(), new Function<Entry<String, String>, String>() {
@Override
public String apply(final Entry<String, String> input) {
try {
finalStringBuffer buffer = new StringBuffer();
buffer.append(input.getKey());
// получаемзначениевидаkey=value
buffer.append('=');
buffer.append(URLEncoder.encode(input.getValue(), "utf-8"));
// кодируем строку в соответствии со стандартом HTML 4.01
returnbuffer.toString();
}
catch (final UnsupportedEncodingException e) {
throw new RuntimeException(e);
}
}
}));
returnparamsUrl;}}
Размещено на Allbest.ru
Подобные документы
Понятие и этапы жизненного цикла информационной системы. Классификация и характеристика бизнес-процессов. Проектирование архитектуры автоматизированной системы управления документооборотом и баз данных. Разработка интерфейса пользовательской части.
дипломная работа [549,9 K], добавлен 09.02.2018Информационные и автоматизированные системы управления технологическими процессами на промышленных предприятиях. Базы данных в автоматизированных системах управления. Системы планирования ресурсов предприятия, сбора и аналитической обработки данных.
контрольная работа [486,7 K], добавлен 29.10.2013Разработка и внедрение автоматизированной информационной системы. Изучение основных процессов, протекающих в предметной области. Создание базы данных. Исследование средств защиты информации от несанкционированного доступа и идентификации пользователей.
курсовая работа [487,2 K], добавлен 17.03.2014Выбор методологии проектирования и разработка информационной системы "Расчёт зарплаты" для предприятия ОАО РТП "Авторемонтник". Архитектурное проектирование базы данных информационной системы и разработка её интерфейса. Тестирование программного модуля.
дипломная работа [2,3 M], добавлен 25.05.2014Анализ проектирования автоматизированной информационной системы компьютерного магазина "Джей". Разработка базы данных на языке Transact-SQL в системе управления базами данных Microsoft SQL Server 2000. Расчет себестоимости и цены программного продукта.
курсовая работа [2,3 M], добавлен 16.08.2012Функциональная модель предметной области на примере базы данных автоматизированной информационной системы "Общежития". Ведение информационной базы об общежитиях, комнатах и сотрудниках, хранение информации о студентах, специальностях и факультетах.
курсовая работа [2,7 M], добавлен 10.04.2014Основы визуального программирования интерфейса. Архитектура программных систем. Проектирование базы данных. Анализ предметной области и связей между сущностями. Построение модели "сущность-связь". Разработка автоматизированной информационной системы.
курсовая работа [4,4 M], добавлен 16.11.2014Понятие базы данных и системы управления данными (СУБД). Ее функции: ввод и хранение информации, создание таблиц, графиков, отчетов. Разработка программного продукта для автобусного парка - автоматизированной системы "Автопарк" с использованием MySQL.
курсовая работа [3,7 M], добавлен 04.02.2013Выбор и описание автоматизируемых функций: учет кадров, инцидентов, парка компьютерной техники, заказа расходных материалов, комплектующих и ремонта техники. Первичное описание информационного обеспечения. SQL-код для создания таблиц базы данных.
курсовая работа [424,3 K], добавлен 10.04.2011Общие сведения об автоматизированных информационных системах библиотек. Разработка графического макета, интерфейса и дизайна информационной системы. Требования к функциональной части системы. Создание программных модулей. Алгоритмы обработки данных.
дипломная работа [1,7 M], добавлен 04.11.2016