Автоматизированная система управления таксомоторного парка

Тип работы:
Дипломная
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Министерство образования Республики Беларусь

Учреждение образования «Гомельский государственный университет имени Франциска Скорины»

Математический факультет

Кафедра математических проблем управления

Дипломная работа

Автоматизированная система управления таксомоторного парка

Исполнитель А.Г. Ярош

Научный руководитель А.В. Клименко

Рецензент В.С. Давыдов

Гомель 2013

Содержание

Сокращения

Введение

1. Основные теоретические сведения

1.1 Понятие автоматизированной системы

1.2 Процессы, протекающие в автоматизированных системах

1.3 Классификация автоматизированных систем

1.4 Виды обеспечения автоматизированных систем

2. Теоретические основы создания автоматизированной системы управления таксомоторного парка

2.1 Анализ деятельности таксомоторного парка

2.2 Анализ существующих автоматизированных систем управления таксомоторного парка

2.3 Выбор жизненного цикла автоматизированной информационной системы

2.4 Выбор системы управления базами данных

3. Разработка автоматизированной системы управления таксомоторного парка

3.1 Анализ требований

3.2 Проектирование автоматизированной системы управления таксомоторного парка

3.3 Создание приложения «Автоматизированная система управления таксомоторного парка»

4. Инструкция по работе с приложением

4.1 Инструкция пользователя «Диспетчер»

4.2 Инструкция пользователя «Администратор»

Заключение

Список использованных источников

Приложение

Сокращения

АИС — автоматизированная информационная система.

АС — автоматизированная система.

АСУ — автоматизированная система управления.

АСУП — автоматизированная система управления предприятием.

БД — база данных.

СУБД — система управления базами данных.

Введение

Основой жизнеобеспечения любого города является пассажирский транспорт. Если говорить о массовом пассажирском транспорте, таком как маршрутный транспорт (автобусы, троллейбусы), то основные критерии контроля и управления так или иначе связаны с конкретным маршрутом, «пиковыми» нагрузками на маршрут или его участки. Однако стоит уделить отдельное внимание такому виду транспорта как такси, где нет конкретного маршрута следования, остановочных пунктов, расписания и т. п.

Любой программный продукт, призванный автоматизировать систему управления службой такси, является узким, специализированным отраслевым программным продуктом. Это связано не только со спецификой такого вида транспорта как такси, но и с наличием «посредника» в оказании транспортной услуги — диспетчера.

Изучая и анализируя возможности создания средств автоматизации работы диспетчерских служб такси, следует отметить, что уже разработано множество автоматизированных систем управления, как в СНГ, так и за рубежом.

Анализ доступных автоматизированных систем управления диспетчерской службой такси выявил, что основная масса (около 70 процентов) АСУ являются бесплатными или условно бесплатными. Однако основным недостатком этих решений является отсутствие должной техподдержки в совокупности с низким качеством данных программных продуктов. Также дальнейшая разработка и сопровождение этих программ были остановлены достаточно давно.

Остальные 30 процентов предлагаемых рынку программных продуктов в конечном развертывании оказываются слишком затратными, особенно для небольших диспетчерских служб такси.

Любой диспетчерской службе такси для первоначального запуска работы требуется полная информация о водителях, работающих в этой диспетчерской службе, их статусе, их местоположении. Эта информация нужна диспетчеру, даже если он будет вести работу по журналу вызовов, заполняя его вручную. Концептуально, составление этих баз данных является первым объектом автоматизации.

Сбор данных о водителях может существенно отличаться в разных системах автоматизации. В большинстве случаев данные о местоположении и статусе водителя вводятся в программу вручную диспетчером или водителями. Общие же данные о водителе и его автомобиле вводятся в базу данных при его добавлении в систему. И здесь ручного ввода данных не избежать. Анализируя факт ввода большого количества информации вручную, следует отметить, что при данном методе ввода информации присутствует человеческий фактор — риск ввода ошибочной информации. Следовательно, можно сделать вывод, что момент создания баз данных о водителях и их статусах является не только концептуально первым объектом автоматизации, но и концептуально первым объектом оптимизации.

Данные о местоположении водителей могут автоматически собираться с GPS устройств, установленных непосредственно в автомобилях такси, и передаваться в клиентское приложение диспетчера. В данном случае диспетчер имеет актуальную информацию о статусах и местоположениях всех водителей службы такси в режиме on-line.

Также, в некоторых АСУ предлагается более экономичный вариант, без использования GPS-навигаторов, — передача данных о точке нахождения водителя осуществляется через мобильное Java-приложение при помощи GPRS канала в клиентское приложение диспетчера. Однако в данном случае водитель может указать не точную информацию, чем внесет путаницу в назначение и выполнение заявки.

Вторым объектом автоматизации работы диспетчерской службы такси является прием заявок и назначение водителя ее выполняющего. С позиции клиента-пассажира такси все достаточно просто: диспетчер принимает по телефону заявку, назначает автомобиль, а таксист выполняет заявку и принимает оплату. Для автоматизации и оптимизации процесса приема заявки диспетчеру службы такси потребуются уже собранные данные о статусе и местоположении водителя, а также данные о клиентах, улицах города, адресах популярных мест и некоторые другие.

Основным уникальным идентификационным номером в системе автоматизации является номер телефона клиента. В данном случае имеется возможность ведения:

— истории заявок по номеру телефона;

— истории действий по заявкам;

— черного списка телефонов, адресов, клиентов;

— раздельного приема заявок от частных лиц, контрагентов, корпоративных клиентов.

Добавляя заявку клиента в систему, диспетчер для ее выполнения выбирает «свободных» водителей такси, находящихся на оптимальном расстоянии от текущей точки заявки. Именно в процессе поиска водителя для выполнения заявки в уже существующих АСУ имеются важные недочеты. Поговорим о них подробнее.

Как уже упоминалось выше, данные о местоположении водителей могут собираться с навигационного оборудования водителей и передаваться в клиентское приложение диспетчера службы такси. Очень часто встречается вариант, в котором программа автоматизации диспетчерской службы такси не имеет навигационной карты, а лишь призвана вести историю заявок. В этом случае можно лишь сказать об автоматизации журнала вызовов. Так как в данной ситуации диспетчер постоянно обращается к программе ведения заявок, к карте, к телефону и, возможно, к рации для связи с водителем.

В некоторых решениях автоматизации службы такси реализован список основных контрольных точек и районов города с указанием количества водителей (их позывных), которые отметили свое местонахождение на данных точках. Также некоторые разработчики программных решений добавляют возможность отображения текущего местоположения водителей на web-карте (для использования сотрудниками диспетчерской), а данную карту можно просмотреть через любой браузер. Однако и здесь есть важный минус — модуль зачастую выполнен в виде отдельной программы, привязан к официальному сайту компании-диспетчерской.

В большинстве случаев программное обеспечение диспетчерской службы такси не имеет доступа к трекинг системам, позволяющим автоматически отслеживать местоположение и текущий статус водителей, — а это в свою очередь вносит путаницу в учет и работу диспетчерской службы такси.

При развертывании диспетчерской службы такси в рамках таких программных продуктов требуются значительные денежные вложения при закупке оборудования:

— компьютеры рабочих мест диспетчеров,

— сервер (возможно еще один сервер к основному для обеспечения IP-телефонии),

— навигаторы водителей.

Для обеспечения работы АСУ требуется дорогостоящее серверное и клиентское программное обеспечение.

Еще одним важным недостатком существующих систем автоматизации диспетчерских служб такси является отсутствие удаленного доступа директоров и управленцев в систему автоматизации для осуществления должного контроля.

Целью дипломной работы была разработка автоматизированной системы управления таксомоторного парка.

Задачи, поставленные в ходе дипломной работы: исследовать сферу деятельности таксопарка, проанализировать существующие аналоги автоматизированных систем управления таксомоторного парка, построить структуру базы данных системы и разработать понятный интерфейс, разработать автоматизированную систему

Дипломная работа разделена на 4 части.

В первой части собраны основные теоретические сведения об автоматизированных системах.

Во второй части проводится анализ работы таксомоторного парка, сравнительный анализ приложений автоматизации работы таксопарка и выбираются технологии при помощи которых будет разрабатываться приложение.

В третьей части проводится проектирование приложения и его БД, описывается структура БД приложения. Описываются основные технологии, примененные при разработке.

В четвертой части размещена инструкция по использованию.

1. Основные теоретические сведения

1. 1 Понятие автоматизированной системы

Система (system — целое, составленное из частей; греч.) — это совокупность элементов, взаимодействующих друг с другом, образующих определенную целостность, единство.

Архитектура системы — совокупность свойств системы, существенных для пользователя.

Элемент системы — неделимая элементарная часть системы. Совокупность элементов, имеющих определенное функциональное назначение и состоящих из взаимосвязанных элементов, называют подсистемой.

Организация системы — внутренняя упорядоченность, согласованность взаимодействия элементов системы, проявляющаяся, в частности, в ограничении разнообразия состояния элементов в рамках системы.

Структура системы — состав, порядок и принципы взаимодействия элементов системы, определяющие основные свойства системы. Если отдельные элементы системы разнесены по разным уровням и характеризуются внутренними связями, то говорят об иерархической структуре системы.

Автоматизированная система: система, состоящая из персонала и комплекса средств автоматизации его деятельности, реализующая информационную технологию выполнения установленных функций.

В зависимости от вида деятельности выделяют, например, следующие виды АС: автоматизированные системы управления, системы автоматизированного проектирования (САПР), автоматизированные системы научных исследований (АСНИ) и др. В зависимости от вида управляемого объекта (процесса) АСУ делят, например, на АСУ технологическими процессами (АСУТП), АСУ предприятиями (АСУП) и т. д.

Дадим более развернутое определение. АС — совокупность персонала, технических и программных средств, математических методов и организационных комплексов, обеспечивающих рациональное управление сложным объектом или процессом в соответствии с заданной целью.

В составе АС выделяют:

— основную часть, в которую входят информационное, техническое и математическое обеспечение; и

— функциональную часть, к которой относятся взаимосвязанные программы, автоматизирующие конкретные функции управления.

В современном понимании автоматизированная система немыслима без персонала, взаимодействующего с компьютерами и телекоммуникациями.

1. 2 Процессы, протекающие в автоматизированных системах

Информационный процесс — процесс создания, сбора, обработки, накопления, хранения, поиска, распространения и потребления информации.

Информационный ресурс — это отдельные документы и отдельные массивы документов, документы и массивы документов в различных видах автоматизированных систем.

В нормативно-правовом аспекте документ определяется как зафиксированная на материальном носителе информация с реквизитами, позволяющими ее идентифицировать.

Процесс документирования превращает информацию в информационные ресурсы.

Процессы, обеспечивающие работу автоматизированной системы любого назначения, условно можно представить состоящими из следующих этапов:

— обработка входной информации и представление ее в удобном (требуемом) виде;

— хранение информации в виде баз данных, информационных массивов, файлов;

— вывод информации для представления потребителям или передачи в другую систему;

— передачу информации по каналам связи от источника потребителю;

— изменение входной информации по требуемому закону.

Процессы реализуются с помощью процедур, реализующих тот или иной механизм переработки входной информации в конкретный результат.

Различают следующие типы процедур:

— Полностью формализуемые, при выполнении которых алгоритм переработки информации остается неизменным и полностью определен (поиск, учет, хранение, передача информации, печать документов, расчет на моделях, алгоритм управления исполнительным устройством).

— Неформализуемые процедуры, при выполнении которых создается новая уникальная информация, причем алгоритм переработки исходной информации неизвестен (формирование множества альтернатив выбора, выбор одного варианта из полученного множества).

— Плохо формализованные процедуры, при выполнении которых алгоритм переработки информации может изменяться и полностью не определен (задача планирования, оценка эффективности вариантов и т. п.).

Информационные процессы реализуются с помощью информационных процедур, реализующих тот или иной механизм переработки входной информации в конкретный результат.

Процессы создания и поддержки автоматизированных систем: разработка и настройка системы на выполнение определенного класса задач, администрирование (поддержка службы доступа, прав пользователей), обработка запросов; поддержание целостности и сохранности информации; периодическая ревизия информации; автоматизация индексирования информации. В целом автоматизированные системы определяется следующими свойствами:

— при построении автоматизированной системы необходимо использовать системный подход;

— любая автоматизированная система может быть подвергнута анализу, построена и управляема на основе принципов теории систем;

— в автоматизированную систему должен быть заложен принцип дальнейшего развития и расширения (расширяемость, масштабируемость);

— выходной продукцией автоматизированной системы является информация, на основе которой принимаются решения;

— автоматизированную систему следует рассматривать как человеко-машинную систему обработки информации и управления.

Использование автоматизированных систем может служить для эффективного решения следующих основных задач:

— получение более рациональных вариантов решения задач управления за счет внедрения математических методов;

— освобождение работников от рутинной работы за счет ее автоматизации;

— повышение достоверности информации, на основе которой принимаются решения;

— уменьшение в целом затрат на производство продукции.

Следует сказать, что разработка и внедрение автоматизированных систем, особенно на первых этапах, требуют значительных материальных ресурсов. Это связано с закупкой средств вычислительной техники и программного обеспечения, набором обслуживающего персонала или повышением его квалификации, повышением общей культуры производства и его подготовкой к задачам информатизации и многих других факторов. Все это в значительной степени сдерживает внедрение современных компьютерных технологий на большинстве отечественных предприятий и организаций.

1. 3 Классификация автоматизированных систем

Системы управления делятся на два больших класса: системы автоматического управления (САУ) и автоматизированные системы управления (АСУ). В САУ управление объектом или системой осуществляется без непосредственного участия человека автоматическими устройствами. Это замкнутые системы. Основные функции САУ: автоматический контроль и измерения, автоматическая сигнализация, автоматическая защита, автоматические пуск и остановка различных двигателей и приводов, автоматическое поддержание заданных режимов работы оборудования, автоматическое регулирование. В отличие от САУ в АСУ в контур управления включен человек, на которого возлагаются функции принятия наиболее важных решений и ответственности за принятые решения. Под АСУ обычно понимают человеко-машинные системы, использующие современные экономико-математические методы, компьютерные технологии, средства связи, а также новые организационные принципы для отыскания и реализации на практике наиболее эффективного управления объектом (системой).

Классификация АСУ может осуществляться по различным признакам: функциональному, структурному, по сфере применения, по характеру используемой информации и др.

По сфере применения различают:

— управления предприятием (АСУП);

— производственные системы;

— административные системы (человеческих ресурсов);

— финансовые и учетные системы;

— системы маркетинга;

— системы научных исследований;

— автоматизации проектирования;

— системы моделирования;

— проблемно-ориентированные.

Производственные системы подразделяются:

— автоматизированные системы управления производством;

— автоматизированные системы управления технологическими процессами (АСУ ТП);

— автоматизированные системы управления техническими средствами.

— АСУ предприятием предназначены для автоматизации функций управленческого персонала. К этому классу относятся информационные системы управления, как промышленными фирмами, так и непромышленными объектами: гостиницами, банками, торговыми фирмами и др. Эти системы ориентированы как на стратегические, так и на тактические функции, обеспечивающие широкий спектр управленческих и производственных задач.

АСУ технологическими процессами служат для автоматизации функций производственного персонала. Они контролируют и используют данные, определяющие состояние технологического оборудования и обеспечивают требуемый режим протекания технологических процессов. Именно эти системы называют системами промышленной автоматизации. В состав АСУТП вводят систему SCADA (Supervisory Control and Data Acquition). Непосредственное программное управление технологическим оборудованием осуществляют с помощью системы CNC (Computer Numerical Control) на базе контроллеров (специализированных компьютеров, называемых промышленными), которые встроены в технологическое оборудование.

Системы автоматизированного проектирования (САПР) предназначены для автоматизации функций инженеров-проектировщиков, конструкторов, архитекторов, дизайнеров при создании новой техники или технологии. Основными функциями подобных систем являются: инженерные расчеты, создание графической документации (чертежей, схем, планов), создание проектной документации, моделирование проектируемых объектов.

Интегрированные (корпоративные) АСУ используются для автоматизации основных функций предприятия, охватывая весь цикл работ от планирования производства и проектирования продукции до сбыта и возможно утилизации продукции. Создание таких систем весьма затруднительно, поскольку требует системного подхода с позиций главной цели, например получения прибыли, завоевания рынка сбыта и т. д. Такой подход может привести к существенным изменениям в самой структуре предприятия, на что может решиться не каждый управляющий.

По способу организации архитектуры компьютеров групповые и корпоративные АСУ подразделяются на следующие классы:

— системы на основе архитектуры файл-сервер;

— системы на основе архитектуры клиент-сервер;

— системы на основе многоуровневой архитектуры;

— системы на основе коммуникационных (интернет/интранет) технологий.

1. 4 Виды обеспечения автоматизированных систем

Системы автоматизированного управления являются сложными АС.

Общую структуру сложной системы можно рассматривать как совокупность подсистем независимо от сферы применения. В этом случае говорят о структурном признаке классификации, а подсистемы называют обеспечивающими.

Таким образом, структура любой сложной системы, в частности сложной системы автоматизированного управления, может быть представлена совокупностью обеспечивающих подсистем отображенной на рисунке 1, среди которых обычно выделяют:

— информационное,

— техническое,

— математическое и программное,

— организационное и правовое обеспечение.

Информационное обеспечение — совокупность единой системы классификации и кодирования информации, унифицированных систем документации, схем информационных потоков, циркулирующих в объекте автоматизации (предприятии, производстве, сложном объекте и т. п.), а также методология построения баз данных.

Назначение подсистемы информационного обеспечения состоит в своевременном формировании и выдаче достоверной информации для принятия управленческих решений на различных уровнях иерархии.

Техническое обеспечение — комплекс технических средств, обеспечивающих работу автоматизированной системы, документация на эти средства и технологические процессы.

Комплекс технических средств составляют:

— компьютеры (любых платформ);

— устройства сбора, накопления, обработки и вывода информации;

— устройства передачи/приема данных и линии связи;

— оргтехника и другие вспомогательные устройства;

— эксплуатационные и расходные материалы и др.

К настоящему времени сложились две основные формы организации технического обеспечения (формы использования технических средств) -- централизованная и частично или полностью децентрализованная.

Рисунок 1 — Структура системы автоматизированного управления

Централизованное техническое обеспечение базируется на использовании в автоматизированной системе больших компьютеров (мейнфреймов, суперЭВМ) и вычислительных центров.

Децентрализация технических средств предполагает реализацию функциональных подсистем сложной АС на рабочих станциях, персональных компьютерах, промышленных компьютерах непосредственно на рабочих местах.

Перспективным подходом следует считать, по-видимому, частично децентрализованный подход — организацию технического обеспечения на базе распределенных сетей, состоящих из персональных и больших компьютеров для хранения баз данных, общих для любых функциональных подсистем.

Для автоматизации сложных объектов или процессов территориально расположенных на ограниченном пространстве часто оказывается целесообразной централизованная структура.

Для объектов, распределенных на большой территории, например в различных зданиях, удаленных друг от друга филиалах, либо таких объектов как перекачивающие станции (газ, нефть), электрические сети и т. п. единственной целесообразной структурой оказывается децентрализованная структура.

Математическое и программное обеспечение — совокупность математических методов, моделей, алгоритмов и программ для реализации целей и задач автоматизированной системы, а также нормального функционирования комплекса технических средств.

К средствам математического обеспечения относятся:

— средства моделирования систем и процессов управления;

— типовые алгоритмы управления оборудованием и процессами;

-методы математической теории систем, системотехники, математической статистики, теории массового обслуживания, математического программирования и др.

В состав программного обеспечения входят общесистемные и специальные программные продукты, а также техническая документация, рисунок 2.

Рисунок 2 — Состав программного обеспечения

К общесистемному программному обеспечению относятся комплексы программ, ориентированных на пользователей и предназначенных для решения типовых задач обработки информации и управления. Они служат для расширения функциональных возможностей компьютеров, контроля и управления процессом обработки данных.

Специальное программное обеспечение представляет собой совокупность программ, разработанных при создании конкретной автоматизированной системы.

В его состав входят пакеты прикладных программ, реализующие разработанные модели разной степени адекватности, отражающие функционирование реального объекта.

Техническая документация на программные средства должна содержать описание задач, их алгоритмизацию, экономико-математическую модель задачи, контрольные примеры. Организационное обеспечение — совокупность методов и средств, регламентирующих взаимодействие работников с техническими средствами и между собой в процессе разработки и эксплуатации АСУ. Организационное обеспечение создается по результатам предпроектного обследования организации (предприятия, производства) и реализует следующие функции:

— анализ существующей системы управления объектом, где будет использоваться АСУ, и выявление задач, подлежащих автоматизации;

— подготовку задач к решению на компьютере, включая техническое задание на проектирование АСУ и технико-экономическое обоснование эффективности;

— разработку управленческих решений по составу и структуре организации, методологии решения задач, направленных на повышение эффективности.

Правовое обеспечение — совокупность правовых норм, определяющих создание, юридический статус и функционирование информационно-управляющих подсистем и систем в целом, регламентирующих порядок получения, преобразования и использования информации.

Главной целью правового обеспечения является укрепление законности. Оно базируется на законах, указах, постановлениях государственных органов власти, приказах, инструкциях и других нормативных документах министерств, ведомств, организаций, местных органов власти.

В правовом обеспечении можно выделить общую часть, регулирующую функционирование любой АСУ, как информационно-управляющей системы, так и локальную часть, регулирующую функционирование конкретной подсистемы.

Правовое обеспечение включает: статус системы, права и обязанности разработчика (поставщика) и заказчика, права, обязанности и ответственность персонала, правовые положения отдельных видов процесса управления, порядок создания и использования информации и др.

2. Теоретические основы создания автоматизированной системы управления таксомоторного парка

2.1 Анализ деятельности таксомоторного парка

Работа таксопарка осуществляется следующим образом: каждый водитель, заступая на смену, связывается с диспетчером, и тот вносит его в карточку работающих в данный момент. Сведения карточки отображаются на экране. Водители держат обратную связь по радио.

Заказы поступают по телефону к диспетчеру, он записывает необходимые данные в базу заказов. Дата и время поступления заказа диспетчер вводит сам или вводиться автоматически.

Клиент может сразу у диспетчера узнать стоимость заказа, и только потом заказывать.

Потом из списка свободных водителей выбирает того, кто будет выполнять заказ (если в машинах встроены маяки выбирает того кто ближе к месту), или водитель сам отвечает по обратной связи, что примет заказ. После подтверждения водителем диспетчер ставит водителю статус «Занят», точнее это происходит автоматически, когда статус заказа «Выполняется», потому что в бланке каждого заказа ставиться исполнитель.

После выполнения заказа водитель по рации отчитывается перед диспетчером, тот ставит заказу статус «Выполнен» и у водителя меняется статус на «Свободен».

В случае, когда заказ отменяется, клиент попадает в «Чёрный список», то есть он не имеет право пользоваться услугами данного таксопарка. Диспетчер вносит имя того водителя, который должен был выполнять отмененный заказ в специальный список, который регламентирует по чьей вине заказ сорвался. Например: водитель опоздал на время назначенное клиентом, и вследствие услуги такси стали неактуальными, в таком случае водитель пишет объяснительную записку, но это не спасает его от взысканий. Может быть так, что клиент просто передумал, но не предупредил диспетчера, в таком случае водитель всё равно пишет объяснительную записку, но никаких взысканий к нему не применяется. В этих случаях водитель сам оповещает диспетчера о том, что заказ аннулирован.

Еще может быть случай, когда клиент передумал, но предупредил диспетчера, тот связывается с водителем и перенаправляет его на другой заказ. Во всех случаях статус заказа ставиться «Отменен».

После каждой смены диспетчер формирует отчет, который показывает, сколько заказов поступило, сколько выполнилось, сколько было отменено, и их общую стоимость.

Эти отчеты поступают к администратору, на основании этого всего администратор формирует общий отчет (сводный отчет) за определенную дату.

В конце месяца администратор, пользуясь своими отчетами, формирует отчет по итогам месяца и отправляет его высшему руководству таксопарка.

Еще администратор занимается кадрами.

Он формирует дела новых сотрудников, и вносит необходимые поправки в дела уже работающих на этом предприятии. На администраторе лежит ответственность за правильное формирование дел и их сохранность.

Проблемы, которые могут возникнуть при осуществлении данной деятельности такие:

— Потеря данных диспетчером, или неправильная их трактовка;

— Выбор не оптимального маршрута следования таксистов;

— Не корректная форма представления отчетов и т. д.

Пути решения этих проблем могут быть следующие:

— Использование стандартных форм для заполнения данных и ввода/вывода отчетов;

— Использование систем ГИС и математических формул для определения оптимальных маршрутов из пункта в пункт и их стоимости;

— Создание при помощи картографических средств перечня районов и улиц, с целью исключения ошибок диспетчера.

2. 2 Анализ существующих автоматизированных систем управления таксомоторного парка

Название: АРМ диспетчера такси 2.0.

Год выпуска: 2012.

Разработчик: Software 123.

Назначение: Для принятия заказов и их обработки с последующим оформлением отчетов.

Достоинства: Простота работы, низкие системные требования, простой интерфейс, не требующий специальной подготовки

Недостатки: сочетает в себе функции диспетчера и часть функций администратора, нет защиты данных (не поддерживает паролей), нет возможности сводных отчетов.

Цена: 500 $.

Название: Диспетчер такси Стандартная версия (1.0.0. 0)

Год выпуска: 2012

Разработчик: Баранов Андрей Fastsoft

Назначение: Для принятия заказов и их обработки с последующим оформлением отчетов, а так же более удобного ведения кадровых дел.

Достоинства: Удобный интерфейс, отображающий все нюансы заказов, поддержка паролей, возможность самому формировать отчеты, поддержка тарифов и автоматическое определение стоимости, возможность работы с разными базами данных

Недостатки: Функции диспетчера и администратора сочетаются в одном лице.

Цена: 1200 $.

Название: программный комплекс «Диспетчер такси»

Год выпуска: 2011

Разработчик: F-GroupSoftware

Назначение: Для автоматизации процессов приема, оформления заказов такси, управления водителями и формирования отчетности в таксопарках и диспетчерских службах такси

Достоинства: Многопользовательский режим, возможность работы по сети, возможность работать под разными профилями (администратор, диспетчер, руководитель, оператора), поддержка паролей, повышение эффективности работы за счет использования четких алгоритмов действий, четкое распределение функции между профилями, есть связь с готовыми картами.

Недостатки: Сложность работы, функциональная избыточность, сложный интерфейс.

Цена: 1лицензия -1500 $; 2лицензии-2900 $.

2.3 Выбор жизненного цикла автоматизированной информационной системы

Жизненный цикл АИС — это непрерывный процесс, начинающийся, с момента принятия решения о создании АИС и заканчивается, в момент его полного изъятия из эксплуатации.

Существует две модели жизненного цикла Автоматизированных систем: каскадная и спиральная модель.

Каскадная модель состоит из следующих этапов: анализ, проектирование, конструирование, тестирование сдача. На каждом этапе оформляется пакет документов и ошибки предыдущего этапа видны только на следующем. Достоинства в том, что надежность таких систем очень высокая, а недостаток то, что очень сложно вносить изменения в функциональность продукта. Спиральная модель или итерационная состоит из этапов: определение требований и анализ, проектирование, реализация и внедрение. Спиральная модель на каждом своём витке предоставляет новую версию продукта с доработками и возможными функциональными изменениями, то есть добавление новых функций. Достоинства легко вносить изменения, нет избыточной документации. Схема этапов спиральной модели изображена на рисунке 3.

Рисунок 3 — Спиральная модель

Для программы «Автоматизированная система управления таксомоторного парка» была использована спиральная модель жизненного цикла, потому что в программе есть только базовый набор функций, который можно будет расширить в следующей версии программы

Процессы проектирования и разработки проходят быстрее, чем при использовании каскадной модели

Использования предыдущих итераций для создания новой версии, существенно облегчают созданий

2. 4 Выбор системы управления базами данных

База данных — это средство накопления и организации больших массивов информации об объектах некоторой предметной области. БД должна отображать текущие данные о предметной области, накапливать, хранить информацию и предоставлять различным категориям пользователей быстрый доступ к данным. Для этого данные в базе должны быть структурированы в соответствии с некоторой моделью, отражающей основные объекты ПО, их свойства и связи между ними.

Все данные в базах находятся в таблицах и разделены по смысловой нагрузке. Каждая таблица для описания содержимого атрибутов использует типы данных. Одна из самых популярных СУБД в современных интернет-технологиях MySQL. К основным плюсам MySQL можно отнести высокую скорость работы, быстроту обработки данных и оптимальную надежность. Немаловажно и то, что данная СУБД распространяется бесплатно и представляет собой программное обеспечение с открытым кодом.

MySQL — это один из множества ПО для работы с SQL базами данных.

SQL — это структурированный язык запросов, созданный для управления реляционными БД. Он обладает широким перечнем возможностей, например, создать таблицу, редактировать и удалять данные, производить запросы из таблиц и многое другое Данные в БД делятся на уникальные или неуникальные. Неуникальные — это имя, год рождения, время и т. д., в то время как уникальные — номер кредитки, договора хостинг услуг. Уникальные значения присутствуют в списках так называемого «уникального индекса» Большим достоинством MySQL является возможность работы с интерфейсом программного приложения API. API может обеспечить простой доступ из программы пользователя к СУБД. Пусть даже эти программы будут написаны на Perl, C и т. д. Самой популярной «связкой» для управления сайтами считается MySQL с языком PHP. В приложении будет использоваться «связка"MySQL с языком Java, при помощи JDBC. Существует множество СУБД поддерживающих SQL язык запросов: MySQL, mSQL, PostgreSQL, MSSQL и многие другие. Каждая из них имеет преимущества в определенной сфере. И все же именно MySQL завоевала широкое признание и популярность в Интернете благодаря своей гибкости и универсальности.

3. Разработка автоматизированной системы управления таксомоторного парка

3.1 Анализ требований

Программа «Автоматизированная система управления таксомоторного парка» разработана по спиральной модели жизненного цикла автоматизированных информационных систем.

На каждом этапе создания были проведены следующие действия.

Определение требований. В соответствии с техническим заданием были определены основные требования и методы реализации этих требований.

Основные требования к программе:

— Разделение рабочих мест на два режима: «Администратор» и «Диспетчер»;

— Вход по логину и паролю в двух режимах;

— Заполнение карточки водителя и диспетчера, только в режиме администратора;

— Печать сводных отчетов по диспетчерам, по водителю, формирование «черного списка», только в режиме администратора;

— Заполнение карточки заказа, только в режиме диспетчера;

— Изменение статуса заказа, только в режиме диспетчера;

— Регистрация прибывших на смену водителей, только в режиме диспетчера;

— Печать отчета за смену, только в режиме диспетчера;

— Анализ.

На этапе анализа были проведены:

— Анализ предметной области, где были выявлены необходимые функции для работы таксопарка. Анализ аналогов, где были проанализированы достоинства и недостатки продуктов, применяемых в данной предметной области. Пример интерфейса. Построена схема в BPWin, которая иллюстрирует все нюансы работы таксопарка.

3.2 Проектирование автоматизированной системы управления таксомоторного парка

В программе «Автоматизированная система управления таксомоторного парка» есть два режима работы: «Диспетчер» и «Администратор». Каждый режим выполняет свои действия в зависимости от специфики должности.

Диспетчер напрямую работает с клиентами, в его обязанности входит регистрация заказов с последующей передачей их водителям. После каждой смены диспетчер создает и помещает общую базу отчетов. Схема деятельности диспетчера представлена на рисунке 4.

Рисунок 4 — Деятельность диспетчера

К задачам администратора относится работа с соискателями на вакансии водителей и диспетчеров, а так же создание сводных отчетов для высшего руководства. Схема деятельности администратора представлена на рисунке 5.

База данных Taxi состоит из следующих таблиц: «Сотрудники», «Водители», «Диспетчеры», «Заказы», «Водители_Смены», «Диспетчеры_смены» и «admins».

Рисунок 5 — Схема деятельности администратора

Для детализации контекстных диаграмм нижнего уровня были использованы миниспецификации:

Для деятельности диспетчера:

А1:

Название: Генерация отчетов.

Входы: Данные из базы заказов.

Выходы: Отчеты; Запросы в базу заказов.

Алгоритм:

По завершению смены запросить сведения из БД заказы;

Генерировать отчет;

Занести отчет в базу.

А2:

Название: Обработка заказов.

Входы: заказы; отчеты от водителей.

Выходы: Обработанные заказы; записи в базу клиентов.

Алгоритм:

Принять заказ;

Выбрать водителя и передать заказ;

Занести заказ в базу;

Занести в базу информацию о клиентах;

Принять отчет от водителей, поставить статус заказу «отменен» или «выполнен».

Для деятельности администратора:

А1:

Название: Работа с кадрами.

Входы: Резюме соискателей.

Выходы: Ответ о принятии на работу/отказе; Записи в базу сотрудников.

Алгоритм:

Обработать резюме соискателей;

Если резюме соответствует, внести его в БД;

В случае поступления заявления об увольнении удалить сведения о сотрудниках из БД, выдать трудовую книжку.

А2:

Название: Подготовить отчет.

Входы: Отчеты.

Выходы: Запросы об отчетах, Сводные отчеты, Черный список.

Алгоритм:

Для подготовки отчета за период;

Запросить отчет из БД за период;

Формирование сводного отчета по полям: имя диспетчеров предоставивших отчет, общее количество заказов, сумма заказов;

Создать «Черный список» абонентов из числа тех, кто отменили заказ.

Схема связей базы данных Taxi, на рисунке 6 показывает какие сущности соединены между собой и по каким атрибутам.

Рисунок 6 — Схема базы данных Taxi

Каждая таблица необходима для выполнения конкретных функций.

В таблицу «Заказы» заносятся все сведения о поступивших заказах: когда и от кого прибыл, какой диспетчер принял, и какой водитель будет исполнять заказ, имя и контактный телефон абонента, места отправления и назначения, статус и стоимость. На основании данных этой таблицы формируются все отчеты данного приложения: сводный отчет по диспетчерам, сводный отчет по водителю, «Чёрный список» и отчет диспетчера за смену. Атрибуты и их описание показаны на таблице 1.

Таблица 1 — Заказы

Наименование атрибута

Тип данных

Описание

номер заказа

Счетчик

регистрирует порядковый номер заказа

дата и время поступления заказа

дата/Время

генерируется автоматически

дата и время назначения заказа

дата/Время

время, на которое назначен заказ

место отправления

Текстовый

вводиться вручную

место назначения

Текстовый

вводиться вручную

Абонент

Текстовый

вводиться вручную

телефон абонента

Тестовый

так как при заполнении используются знаки препинания

стоимость заказа

Денежный

стоимость заказа

позывной водителя

Текстовый

необходима для формирования сводных отчетов

Диспетчер

Текстовый

не отображается, но необходима для формирования сводных отчетов

Статус

Текстовый

принимает одно из трех значении: «Выполняется», «Выполнен», «Отменен»

Таблица «Сотрудники» хранит данные о всех сотрудниках, работающих в данном таксопарке. Атрибуты таблицы и их описания представлены в таблице 2.

Таблица 2 — Сотрудники

Наименование атрибута

Тип данных

Описание

ID сотрудника

числовой

идентификационный номер

Фамилия

текстовый

фамилия водителя

Имя

текстовый

имя водителя

Отчество

текстовый

отчество водителя

дата рождения

дата/время

дата рождения водителя

серия паспорта

числовой

серия паспорта водителя

номер паспорта

числовой

номер паспорта водителя

кем выдан паспорт

текстовый

УВД выдавшее паспорт

дата выдачи

дата/время

когда был выдан паспорт

Адрес

текстовый

где фактически проживает водитель

Таблицы «Водители» и «Диспетчеры» выполняют схожие функции — это хранение данных о сотрудниках, работающих в данном таксопарке, естественно данные различаются по специфике выполняемых операций. Например, у водителей существуют поля, в которых находятся сведения о транспортном средстве, а у диспетчеров наличие полей «Login» и «Password», так как они необходимы для входа в систему. Атрибуты таблиц «Водители», «Диспетчеры"и их описания представлены ниже в таблице 3 и таблице 4.

Таблица 3 — Водители

Наименование атрибута

Тип данных

Описание

Позывной

числовой

идентификационный номер

ID сотрудника

числовой

идентификационный номер сотрудника

марка автомобиля

текстовый

марка автомобиля водителя

номер автомобиля

текстовый

номер регистрации в ГАИ

Цвет

текстовый

Цвет автомобиля водителя

Таблица 4 — Диспетчеры

Наименование атрибута

Тип данных

Описание

Табельный номер

числовой

идентификационный номер

ID сотрудника

числовой

идентификационный номер сотрудника

Login

Текстовый

ник для входа в программу

Password

Текстовый

индивидуальный код для входа в программу

Таблица «Водители_Смены» необходима для регистрации водителей прибывших на смену, при начале работы диспетчер заносит в эту таблицу водителей прибывших на конкретную смену, из списка всех существующих водителей. Она состоит из двух атрибутов показанных на таблице 5.

Таблица 5 — Водители смены

Наименование атрибута

Тип данных

Описание

ID

Счетчик

номер смены

Позывной

Числовой

Идентификационный номер прибывшего на смену водителя

Данная таблица отображается в нижней части формы «Рабочее место диспетчера» и заполняется диспетчером в начале каждой смены.

Так же содержимое этой таблицы отображается на форме «Новый заказ» для выбора водителя который будет обслуживать заказ, из списка прибывших на смену.

Таблица «Диспетчеры_смены» предназначена для регистрации диспетчеров прибывших на работу. Запись о диспетчере в данную таблицу добавляется после входа диспетчера в систему. Таблица имеет два атрибута. Структура таблицы отображена в таблице 6.

Таблица 6 — Диспетчеры смены

Наименование атрибута

Тип данных

Описание

ID

Счетчик

номер смены

Диспетчер

Числовой

Идентификационный номер прибывшего на смену диспетчера

Пользовательский интерфейс режима «Администратор» представлен ниже на рисунке 7.

Рисунок 7 — Интерфейс режима «Администратор»

3.3 Создание приложения «Автоматизированная система управления таксомоторного парка»

таксомоторный парк автоматизированный информационный

Основная связь используемая в программе — это связь с базой данных по средствам технологии JDBC. Основное преимущество подобной связи в том, что через связь установленную JDBC средствами методов executeQuery () и prepareStatement (), можно вносить изменения в базу данных, и получать из нее необходимые данные, а так же проводить сравнивания данных и прочие операции. Примером этого является проверка логина и пароля методом executeQuery: в качестве параметра подается строка «SELECT * FROM admins WHERE Login=+ Login» и далее выполняется проверка. Если имя пользователя есть в базе данных и пароль, хранящий в базе данных, совпадает с введенным то запускается клиент администратора либо диспетчера, в зависимости от выбранного режима работы.

Соединение и работа с базой данных происходит в несколько этапов. Прежде всего нужно соединиться с базой данных. Один из немногих реализованных в пакете Java. sql. package классов — это класс DriverManager. Он поддерживает список реализаций JDBC и обеспечивает создание соединений с базами данных на основе сообщаемых ему JDBC URL. URL для JDBC имеет вид jdbc: protocol: subprotocol. Он сообщает DriverManager, с какой СУБД нужно соединиться, и передает ему данные, необходимые для осуществления соединения.

Часть URL, обозначающая протокол, ссылается на конкретный драйвер JDBC. В случае MySQL и mSQL протоколами являются ту sql и msql соответственно. Субпротокол сообщает данные соединения, специфические для реализации. Для соединения с MySQL и mSQL требуются имя узла и имя базы данных. Дополнительно может потребоваться номер порта, если ядро базы данных запущено не как root. Поэтому полный URL для mSQL выглядит как, например, jdbc: msql://localhost: 1114/taxi. Он сообщает DriverManager о необходимости найти драйвер JDBC для mSQL и соединиться с базой данных taxi на localhost через порт 1114. Это делается путем единственного обращения к методу getConnection () интерфейса DriverManager.

Все методы JDBC могут возбуждать SQLException или один из подклассов этого класса, если что-то происходит при обращении к базе данных.

При закрытии соединения автоматически закрываются все связанные с ним команды и результирующие наборы.

Однако если вы намерены сохранить соединение открытым в течение некоторого времени, будет правильным поспешить закрыть все объекты statement, которые вы создали с использованием этого соединения, когда они вам больше не нужны.

Кроме драйвера JDBC в программе еще использовалась билиотекаSwing для создания графического интерфейса. Использовались следующие компоненты:

— JLabel. Все надписи, которые служат подсказками или появляющейся информацией, преимущество — пользователь не может изменить содержание.

— JButton. Все кнопки выполняющие действия закрытия, занесения данных в базу, переход между формами.

— JTextField. Поля ввода и редактирования данных.

— JFrame. Является контейнером, позволяющим добавлять к себе другие компоненты для их организации и предоставления пользователю.

— JComboBox. Комбинированный список является знакомым ниспадающим списком элементов, в котором пользователи могут либо выбрать ноль или один (и только один) элемент из списка. Используется бля выбора режима работы приложения.

— JTable. Таблицы, используемы для отображения списка заказов, списка водителей и списка диспетчеров.

Также в приложении для диспетчера разработана утилита для расчета расстояния между местом посадки клиента и местом доставки клиента. При помощи данной утилиты диспетчер может найти ближайшего свободного водителя, а также сообщить ориентировочную стоимость поездки. Утилита реализована при помощи службы GoogleMaps API WebServices. Данная служба возвращает данные в формате json и xml. Google рекомендует использовать json, так как он меньше и понятнее. Для работы с json будем использовать библиотеку org. json.

Для обращения в веб сервисами и получения ответа в json был реализован класс JsonReader. Листинг данного класса представлен в приложении А.

Для определения координат клиента на карте использовалось геокодирование.

Геокодирование — процесс преобразования адресов (таких как 1600 AmphitheatreParkway, MountainView, CA) в географические координаты (такие как широта 37,423 021 и долгота -122,83 739), которые можно использовать для размещения маркеров или позиционирования карты. Служба GoogleGeocoding API предоставляет прямой доступ к геокодеру посредством HTTP-запроса. Также эта служба позволяет выполнять обратное действие (перевод координат в адреса). Этот процесс называется «обратное геокодирование».

Геокодирование реализовано следующим способом:

finalStringbaseUrl = «http: //maps. googleapis. com/maps/api/geocode/json»;// путь к Geocoding API по HTTP

final Map< String, String> params = Maps. newHashMap ();

params. put («sensor», «false»); // исходит ли запрос на геокодирование от устройства с датчиком местоположения

params. put («address», «Россия, Москва, улица Поклонная, 12»); // адрес, который нужно геокодировать

final String url = 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 («results»). getJSONObject (0);

location = location. getJSONObject («geometry»);

location = location. getJSONObject («location»);

final double lng = location. getDouble («lng»);// долгота

final double lat = location. getDouble («lat»);// широта

System. out. println (String. format («%f,%f», lat, lng)); // итоговая широта и долгота

Листинг метода обратного геокодирования представлен ниже:

final String baseUrl = «http: //maps. googleapis. com/maps/api/geocode/json»;// путьк Geocoding API по HTTP

final Map< String, String> params = Maps. newHashMap ();

params. put («language», «ru»); // язык данных, на котором мы хотим получить

params. put («sensor», «false»); // исходит ли запрос на геокодирование от устройства с датчиком местоположения

// текстовое значение широты/долготы, для которого следует получить ближайший понятный человеку адрес, долгота и

// широта разделяется запятой, берем из предыдущего примера

params. put («latlng», myGeoPoint);

final String url = baseUrl + '?' + encodeParams (params); // генерируем путь с параметрами

System. out. println (url);// Путь, что бы можно было посмотреть в браузере ответ службы

finalJSONObjectresponse = JsonReader. read (url);// делаем запрос к вебсервису и получаем от него ответ

// как правило, наиболее подходящий ответ первый и данные об адресе можно получить по пути

// //results[0]/formatted_address

finalJSONObject location = response. getJSONArray («results»). getJSONObject (0);

ПоказатьСвернуть
Заполнить форму текущей работой