Автоматизация продажи железнодорожных билетов( Характеристика предприятия и его деятельности)
Содержание:
Введение
Компьютерные системы прошли большой исторический путь становления и развития. Рынок компьютерных систем начал формироваться с конца 80-х годов. Сегодня существует большое число разнообразных программных средств автоматизации: от средств автоматизации локальной задачи до
полнофункциональных компьютерных систем в составе информационных средств предприятия.
Иногда настаёт время глобальных изменении, такое время настало и для компании ООО “МосЛинии”. Старые технологии уже не могут сравнится с новыми более эффективными, поэтому необходимо с нуля разработать информационную систему, которая будет автоматизировать бизнес-процессы, учитывая современные технологии, их надёжность, проверенность и скорость.
В начале курсовой работы я проведу изучение компании в которой будет проводится автоматизация бизнес-процесса, будет создана организационная структура, модель IDEF0, декомпозиция процесса, диаграмма прецедентов и затем будет создана диаграмма деятельности.
Затем, когда будет решено с методом реализации информационной системы – будет создана техническая архитектура, выбраны необходимые характеристики для оборудования и спроектирована база данных. Следуя международному опыту, техническая архитектура будет показана с использованием инструмента Microsoft Visio. Структура базы данных будет показана с помощью ER-диаграммы. После чего – будет описание модулей, реализованных в информационной системе.
В конце будет продемонстрирована итоговая система, автоматизирующая продажу железнодорожных билетов.
В первую очередь необходимо разработать информационную систему, с которой можно работать как через персональный компьютер или ноутбук – так и с помощью переносных устройств, такие как телефон и планшет.
Следует изучить опыт уже разработанных информационных систем других предприятий, определить какие решения пользуются популярностью, какие методы разработки можно использовать для сокращения расходов при разработке и поддержке выпущенной системы.
Пользователями данной информационной системы будут в большей части клиенты предприятия и в меньшей – работники этого предприятия, так как цель информационной системы – автоматизировать процесс и уменьшить напряженность трудового процесса, а в идеале – убрать. При разработке информационной системы необходимо сделать её удобной и понятной для пользователей и для будущей поддержки, а также правильно спроектировать её структуру, в целях экономии времени если будет необходимо дополнить или как-то изменить систему без необходимости в полном переписываний. Основными задачами работы являются:
- Практическое овладение современными методологиями проектирования;
- Применение на практике современных CASE-средств проектирования;
- Практическое овладение технологией формализации прикладных задач, построения математических моделей и разработки алгоритмов их решения;
- Приобретение навыков разработки и оформления проектной документации в соответствии с требованиями государственных стандартов;
-
1. Технико-экономическая характеристика предметной области и предприятия.
1.1 Характеристика предприятия и его деятельности
Компания ООО «МосЛинии» молодая, независимая компания осуществляет продажу железнодорожных билетов физическим лицам, а также возможна перевозка любых грузов по соглашению. Компания имеет свой веб-сайт, созданный по европейским стандартам «moslines.ru». Доступна только российская версия сайта
Предприятие начало свою деятельность в 2010 году, в Московской области в городе Балашиха и на данный момент совершает перевозки далеко за пределы самой области.
Основной доход идёт с продажи билетов физическим лицам на железнодорожные поезда. Есть чуть более меньший источник дохода с перевозки грузов, который появился не так давно и сейчас только осваивается.
Технико-экономические показатели объекта управления Таблица 1
№ п\п |
Наименование характеристики (показателя) |
Значение показателя на определённую дату либо за период |
1 |
Проданных билетов |
123 тысячи за 2018 год |
2 |
Перевезено грузов |
580 тонн за 2018 год |
3 |
Количество поездов |
33 поезда на 2018 год |
4 |
Количество рабочих |
120 рабочих на 2018 год |
5 |
Количество офисов |
4 офиса на 2018 год |
6 |
Доход |
18 740 000 рублей за 2018 год |
Рисунок 1 организационная структура предприятия
Руководство, менеджер, IT-отдел, отдел кадров и маркетинговый отдел находятся в главном офисе компании “МосЛинии” в Московской области. Обслуживающий персонал расположены на станциях и в главном офисе. Персонал поезда в основном находится в поезде и на станциях.
1.2 Выбор комплекса задач автоматизации и характеристика существующих бизнес-процессов
На диаграмме прецедентов, рисунок 2, отражено отношение между клиентом и работниками предприятия.
Рисунок 2 диаграмма прецедентов
В качестве задачи для автоматизации бизнес-процесса была выбрана продажа железнодорожных билетов, как самая важная и трудоёмкая для ручной работы задача.
Сам бизнес-процесс продажи билетов делится на: просмотр всех доступных рейсов клиентом и выбор необходимого, получение дополнительной информации о рейсе, заполнение необходимой информации и совершение платежа. Все эти процессы можно довольно легко и просто автоматизировать с помощью веб-приложения, благодаря чему можно совершать покупку билетов с любой точки Земли. Потоки информации также автоматизированы, история покупок, список всех клиентов, поездов и рейсов хранится в базе данных, и необходимая информация может быть быстро отсортирована и получена.
Благодаря автоматизации данного бизнес-процесса можно избавиться от ручной работы и, следовательно, человеческой ошибки со стороны компании: при оформлении покупки, сортировке и получении информации.
Бизнес-процесс, который требуется автоматизировать показан с помощью IDEF на рисунке 3, декомпозиция данного бизнес-процесса отображена на рисунке 4.
Рисунок 3 IDEF0
- Входные потоки:
- Данные о клиенте (ФИО, индивидуальный документ, льготы)
- Данные о рейсе (Номер поезда, дата отправления и прибытия)
- Управляющие потоки:
- Законодательство РФ (ГОСТы, законы, указы)
- Ресурсные потоки:
- Клиент
- Выходные данные:
- Обработанный заказ
Рисунок 4 декомпозиция бизнес-процессов
На рисунке 5 показана диаграмма деятельности, где отображена процедура покупки билета.
Рисунок 5 диаграмма деятельности
2 Техническое и программное обеспечение
2.1 Структура и состав комплекса технических средств и конфигурации сети
Каждый отдел в компании имеет компьютеры, факс, VOIP и МФУ, все отделы и сервер соединены в одну сеть. Веб-сервер и сервер базы данных работают на одном физическом сервере.
Рисунок 6 Техническая архитектура организации
Названия устройства |
Характеристика |
---|---|
Сервер “HPE ProLiant DL380 GEN 10” |
Процессор: Intel Xeon Scalable 8100 Оперативная память: 32Gb 2x Жесткий диск: Dell 1x2.4TB |
Компьютеры IT-отдела |
Процессор: Intel Core I5 6500 Видеокарта: Palit NVIDIA GeForce GT1030 2Gb Оперативная память: Apacer 8Gb 1866MHz CL11 Материнская плата: Gigabyte B150M Жёсткий диск: Seagate Barracuda 500Gb 7200 RPM 64Mb Cash Операционная система: Windows 10 Pro |
Компьютера отдела маркетинга |
Процессор: Intel Core I7 7700K Видеокарта: NVIDIA GeForce GTX1070 8GB Оперативная память: HyperX 16Gb 24000MHz CL16 Материнская плата: Asus TUF Z370 PLUS Жёсткий диск: Seagate Barracuda 500GB 7200 RPM 64Mb Cash Операционная система: Windows 10 Pro |
Компьютеры отдела кадров |
Процессор: Intel Core I3 7100 Видеокарта: NVIDIA GeForce GT 710 2GB Оперативная память: Crucial 8GB Материнская плата: Gigabyte H110 Жёсткий диск: Seagate Barracuda 500Gb 7200 RPM 64Mb Cash Операционная система: Windows 10 Pro |
Компьютеры руководства |
Процессор: Intel Core I5 6500 Видеокарта: NVIDIA GeForce GT1030 2Gb Оперативная память: Crucial 8Gb 1866MHz CL11 Материнская плата: Gigabyte B150 Жёсткий диск: Western Digital 500Gb 7200 RPM 64Mb Cash Операционная система: Windows 10 Pro |
VOIP |
Yealink SIP-T27G |
Факс |
Philips Laserfax 5125 |
МФУ |
Brother DCP-L 2560 DWR |
Маршрутизатор |
Ubiquiti UniFi Security Gateway USG |
Характеристика устройств Таблица 2
2.2 Характеристика базы данных
Для разработки ИС необходимо было выбрать СУБД и разработать базу данных в ней. В качестве СУБД была выбрана MySQL которая:
- Бесплатная.
- Открытый исходный код.
- Отлично подходит для малых и средних приложений.
В качестве подсистемы был сделан выбор в пользу InnoDB, данная подсистема имеет механизм транзакции и внешних ключей.
Был спроектирован минимальный набор сущностей для функционирования ИС:
- Пассажир – для хранения информации о клиентах.
- Билет – для хранения информации о купленных билетах.
- Рейс – для хранения информации о рейсах.
- Станция – для хранения информации о станциях.
- Город – для хранения информации о городах.
- Страна – для хранения информации о странах.
- Поезд – для хранения информации о поезде.
Вся база данных была нормализована до 3 уровня.
В сущности “Пассажир” хранится минимальный набор информации о клиенте который хотя бы раз купил билет.
В сущности “Билет” хранится информация в виде внешнего ключа о клиенте (пассажире) и о рейсе, также есть поле указывающее на дату покупки билета и пустое поле указывающее на дату использования билета.
В сущности “Рейс” хранится информация о поезде (внешний ключ), о датах прибытия/отбытия и о станциях прибытия/отбытия, также здесь указана стоимость.
В сущности “Станция” хранится название станции и внешний ключ на город в котором она находится.
В сущности “Город” хранится название города, координаты в виде полей “широта” и “долгота”, а также внешний ключ на страну. Координаты города были добавлены для возможности реализации показа в Веб-Приложении карты.
В сущности “Страна” хранится просто название страны.
В сущности “Поезд” хранится название поезда и вместимость.
Таким образом, в БД отсутствует дублирование данных, вся информация разделена на достаточное количество полей (Имя, фамилия клиента) и можно очень просто найти, например, список всех купленных билетов по первичному ключу сущности “Пассажир” и т.д.
Рисунок 7 ERD
Сущность “Пассажир” Таблица 3.1
Наименование поля |
Идентификатор поля |
Тип поля |
Длина поля |
Прочее |
Идентификатор |
_id |
Счетчик |
10 |
Первичный ключ |
Имя |
first_name |
Короткий текст |
20 |
|
Фамилия |
last_name |
Короткий текст |
20 |
|
Пол |
sex |
Короткий текст |
3 |
|
Дата рождения |
birthdate |
Дата |
Сущность “Билет” Таблица 3.2
Наименование поля |
Идентификатор поля |
Тип поля |
Длина поля |
Прочее |
Идентификатор |
_id |
Счетчик |
5 |
Первичный ключ |
Идентификатор рейса |
ride |
Число |
5 |
Внешний ключ |
Идентификатор пассажира |
passenger |
Число |
5 |
Внешний ключ |
Дата покупки |
buy_time |
Дата |
||
Дата использования |
use_time |
Дата |
Сущность “Рейс” Таблица 3.3
Наименование поля |
Идентификатор поля |
Тип поля |
Длина поля |
Прочее |
---|---|---|---|---|
Идентификатор |
_id |
Счетчик |
10 |
Первичный ключ |
Идентификатор поезда |
train |
Число |
5 |
Внешний ключ |
Время прибытия |
arrival_time |
Дата |
||
Время отбытия |
departure_time |
Дата |
||
Идентификатор станции прибытия |
arrival_station |
Число |
5 |
Внешний ключ |
Идентификатор станции отбытия |
departure_station |
Число |
5 |
Внешний ключ |
Стоимость билета |
cost |
Число |
5 |
Сущность “Поезд” Таблица 3.4
Наименование поля |
Идентификатор поля |
Тип поля |
Длина поля |
Прочее |
Идентификатор |
_id |
Счетчик |
5 |
Первичный ключ |
Название |
name |
Короткий текст |
1 |
|
Вместимость |
capacity |
Число |
3 |
Сущность “Станция” Таблица 3.5
Наименование поля |
Идентификатор поля |
Тип поля |
Длина поля |
Прочее |
Идентификатор |
_id |
Счетчик |
5 |
Первичный ключ |
Название |
name |
Короткий текст |
45 |
|
Идентификатор города |
city |
Число |
3 |
Внешний ключ |
Сущность “Город” Таблица 3.6
Наименование поля |
Идентификатор поля |
Тип поля |
Длина поля |
Прочее |
Идентификатор |
_id |
Счетчик |
5 |
Первичный ключ |
Название |
name |
Короткий текст |
20 |
|
Широта |
lat |
Вещественное число |
||
Долгота |
long |
Вещественное число |
||
Идентификатор страны |
country |
Число |
5 |
Внешний ключ |
Сущность “Страна” Таблица 3.7
Наименование поля |
Идентификатор поля |
Тип поля |
Длина поля |
Прочее |
Идентификатор |
_id |
Счетчик |
5 |
Первичный ключ |
Название |
name |
Короткий текст |
40 |
Рисунок 8 Сценарии диалога
2.3 Описание программных модулей
ИС состоит из 2 модулей: серверная часть и клиентская часть.
Серверная часть прямо отвечает за работу Веб-Сервера NodeJS:
- Перенаправление на страницы.
- Отправка запросов к БД.
- Обработка запросов от пользователя и БД.
Клиентская часть отвечает за:
- Изменение и отображение HTML.
- Интерфейс для работы с БД.
- Покупка билетов.
- Сортировка и проверка получаемой информации от БД или пользователя.
Серверная часть написана с использованием языка JavaScript и библиотек:
- Express – работа с HTTP запросами.
- Mysql – Работа с запросами к БД.
- Html-pdf – Создание PDF файла из HTML страницы.
- Crypto – Шифрование и дешифрование текста.
Клиентская часть написана с использование языка TypeScript, фреймворка Angular 7.
Фреймворк Angular 7 - JavaScript-фреймворк с открытым исходным кодом. Предназначен для разработки одностраничных приложений. Его цель — расширение браузерных приложений на основе MVC-шаблона, а также упрощение тестирования и разработки.
Фреймворк работает с HTML, содержащим дополнительные пользовательские атрибуты, которые описываются директивами, и связывает ввод или вывод области страницы с моделью, представляющей собой обычные переменные JavaScript. Значения этих переменных задаются вручную или извлекаются из статических или динамических JSON-данных.
Angular 7 написан на язык TypeScript, который требуется для использования Angular.
TypeScript — язык программирования, представленный Microsoft в 2012 году и позиционируемый как средство разработки веб-приложений, расширяющее возможности JavaScript.
Для работы сайта требуется поддержка HTML5.
2.4 Контрольный пример реализации и его описание
На странице “Покупка билетов” Веб-Приложения расположен список рейсов в виде таблицы.
Нажатие на заголовок колонки позволяет отсортировать всю таблицу по убыванию или возрастанию.
Нажатие на строку в таблице перенаправляет на страницу с детальной информацией по полёту, см. рисунок 8.2.
Рисунок 9.1 Пример страницы “Покупка билетов” Веб-Приложения
Адрес страницы “Покупка билетов” выглядит как: http://moslines.ru/rides.
Адрес страницы с информацией о рейсе выглядит как:
http://moslines.ru/ride/id, где: id – номер рейса.
Например: http://moslines.ru/ride/1.
Рисунок 9.2 Информация о рейсе
На странице с информацией о рейсе можно вернуться на страницу со списком рейсов или купить билет. При нажатии на кнопку “Купить билет” происходит перенаправление на адрес http://moslines.ru/buy/id, где: id – номер рейса. Например: http://moslines.ru/buy/1.
Рисунок 9.3 Покупка билета
На странице покупка билета необходимо ввести персональные данные:
- Имя
- Фамилия
- Пол
- Дата рождения
При вводе осуществляется проверка данных. Если какое-либо поле не введено: оно выделяется красным, см. рисунок 8.4.
При нажатии на кнопку “Оплатить” также происходит проверка введенных данных и, если какое-либо поле отсутствует – будет показано предупреждение.
Рисунок 9.4 Ошибка ввода
Если данные прошли проверку на сайте – они отправляются на Веб-Сервер, где обязательно проходят повторную проверку и если есть ошибка – возвращается код и описание ошибки. В случае если ошибки не обнаружено – сервер делает запрос к БД и ищет на наличие уже купленного билета на данный рейс данным клиентом. Если билет на рейс уже куплен – возвращается ответ клиенту о том, что билет был куплен. Если билет не был куплен ранее – в БД заносится новая запись в таблицу “Билет”.
После успешных запросов к БД, сервер шифрует комбинацию персональных данных и информацию о билете и тем самым создаёт уникальный хэш купленного билета, по которому можно идентифицировать его.
Шифрование необходимо для усложнения перебора запросов к серверу в целях получения билетов клиентов. Обычный хэш билета выглядит так: “ 72f195e837148c39c841521cb0dce56975d5bca9967320e63c2ecc6f056e3942e73260e4a5ace6454414e0cb8c2a1d75”
После получения хэша на сервере – он возвращает его клиенту и переводит на страницу http://moslines.com/ticket/hash, где: hash – хэш билета. Например:
http:// moslines.com/ticket/ 72f195e837148c39c841521cb0dce56975d5bca9967320e63c2ecc6f056e3942e73260e4a5ace6454414e0cb8c2a1d75
Уникальный номер билета такого вида очень и очень сложно подбирать, в качестве шифрования используется алгоритм AES-192, используемый США для шифрования данных. К нему добавляется пароль, который также требуется для шифрования и дешифрования хэша.
При переходе на страницу билета – выдаётся PDF файл, который можно напечатать и использовать как билет. Вёрстка билета была выполнена очень минималистично и в чёрно-белых цветах в целях доступности печати без траты красок.
Ниже верхней части билета расположена информация, которая получается с помощью хэша билета и поэтому может быть отрезана. Необходимо только знание хэша.
Весь билет помещается на лист A4.
Рисунок 9.4 Пример билета
Заключение
В ходе курсовой работы была создана ИС в виде Веб-приложения автоматизирующая продажу железнодорожных билетов. Для ИС была разработана база данных с использованием MySQL и был продемонстрирован пример реализации данной ИС.
Перед созданием ИС были проанализированы различные СУБД и возможные способы реализации системы. Было решено что MySQL является надёжной и проверенной СУБД, а Веб-приложение – современный и удобный способ автоматизировать бизнес-процессы.
Веб-приложение позволяет предоставить пользовательский интерфейс клиентам без необходимости устанавливать дополнительное программное обеспечение, для работы с ИС требуется любой современный браузер, без которого современный пользователь не обходится. Нет нужды покупать или устанавливать дорогое или ресурсоёмкое приложение как клиенту – так и компании. MySQL и веб-сайт занимают совсем небольшое пространство на диске и не требуют много ресурсов, но позволяют взаимодействовать с ИС большому количеству людей а также разделять полномочии между сотрудниками.
Для создания данной ИС не требовалось большого количества времени благодаря уже разработанной СУБД, веб-серверу NodeJS и фреймворку Angular.
Веб-сервер NodeJS также был выбран благодаря бесплатности, открытому коду и огромной популярности среди разработчиков по всему миру. Для NodeJS было создано огромное количество библиотек и фреймворков, которые позволяют решить любую проблему без необходимости в собственной реализации и тестирований.
Фреймворк Angular, как и веб-сервер, имеет огромную известность и популярность среди разработчиков, в основном благодаря тому – что авторами фреймворка являются работники компании Google.
Единственный возможный недостаток связан с использованием фреймворка Angular – он требует язык TypeScript, который является производным от JavaScript, но он не сложен в освоении и схож с JavaScript.
Также, для СУБД был изучен язык запросов, с помощью которого осуществляются все манипуляции с базой данных, метод создания ERD, проектирование и создание таблиц, их нормализация, создание внешних ключей, создание запросов.
Была изучена процедура настройки сервера и маршрутизации при создании веб-сервера.
Стоит упомянуть, что использование такого набора инструментов имеет собственное название – “стэк MEAN”. Стэк MEAN подразумевает под собой создание Веб-приложения с помощью языка JavaScript на всех уровнях информационной системы. Если раньше на уровне веб-сервера необходимо было использовать язык PHP, а на уровне клиентской части – JavaScript, то сейчас нет необходимости изучать два языка, можно использовать только один – JavaScript. Кроме этого – в стэк MEAN входит:
- Библиотека Express – для серверной части.
- Фреймворк Angular – для клиентской части.
- MongoDB – как база данных.
- NodeJS – как веб-сервер.
Стэк MEAN не требует всех вышеперечисленных технологии. В данной реализации информационной системы вместо MongoDB была использована СУБД MySQL с использованием одного языка – JavaScript. Также могут быть использованы другие библиотеки и фреймворки. Стэк MEAN в главную очередь подразумевает использование единого языка JavaScript, чем использование определенных технологии.
В более крупных компаниях, команда разработчиков веб-приложения делится на серверную и клиентскую часть. В данной курсовой работе оба модуля были реализованы одним человеком. Следовательно, кроме всего вышеперечисленного, была изучена реализация всех частей любого современного Веб-приложения.
Список литературы
- Грекул В.И., Денищенко Г.Н., Коровкина Н.Л. Проектирование информационных систем – М.: ИУИТ, 2012 – 300 с.
- Гущин А.Н. Базы данных: учебник. - М.: Директ-Медиа, 2014. - 266с
- Методология функционального моделирования IDEF0, Руководящий документ, Госстандарт России
- Абрамова Л.В. Инструментальные средства информационных систем: учебное пособие. - Архангельск: САФУ, 2013. - 118 с.
- Заботина Н.Н. Проектирование информационных систем: учебное пособие. – М.: ИНФРА-М, 2013. - 331с.
- Золотов С.Ю. Проектирование информационных систем: учебное пособие. - Томск: Эль Контент, 2013. - 88 с.
- Методы и средства проектирования информационных систем и технологий: учебное пособие / авт.-сост. Е.В. Крахоткина. - Ставрополь: СКФУ, 2015. - 152 с.
- Проектирование информационных систем. Проектный практикум: учебное пособие / А.В. Платёнкин, И.П. Рак, А.В. Терехов, В.Н. Чернышов. - Тамбов: Издательство ФГБОУ ВПО «ТГТУ», 2015. - 81 с.
- Советов Б.Я. Базы данных: учебник / Б.Я. Советов, В.В. Цехановский, В.Д.г
- Черноусова А.М Создание и использование баз данных: учебное пособие/ А.М Черноусова. – Оренбург: ГОУ ОГУ 2009г 244c 1. Атре Ш. Структурный подход к организации баз данных. - М.: Финансы и статистика, 1983. - 320 с.
- Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. - М.: Финансы и статистика, 1999. - 351 с.
- Голицина О.Л., Максимов Н.В., Попов И.И. Базы данных: Учебное пособие. - М.: ФОРУМ: ИНФРА-М, 2009. - 352 с.
- Джексон Г. Проектирование реляционных баз данных для использования с микроЭВМ. -М.: Мир, 1991. - 252 с.
- Карпова Т.С. Базы данных: модели, разработка, реализация. - СПб.: Питер, 2008. - 304 с.
- Корнеев И.К., Машурцов В.А. Информационные технологии в управлении. - М.: ИНФРА-М, 201-. - 158 с.
- Мартин Дж. Планирование развития автоматизированных систем. - М.: Финансы и статистика. - 196 с.
- К.Дж. Дейт Введение в системы баз данных -- 8-е изд. -- М.: «Вильямс», 2011 -- С. 1328.
- Разработка устава проекта (Теоретические аспекты определения устава проекта)
- Автоматизация продажи авиабилетов (Технико-экономическая характеристика предметной области и предприятия)
- Менеджмент профессионального спортивного клуба на примере ХК «Автомобилист»
- Кредит: сущность и содержание. Развитие кредитных отношений в рыночной экономике (КРЕДИТ: СУЩНОСТЬ И СОДЕРЖАНИЕ)
- Управление финансами организации
- Организация бухгалтерского учета на предприятии (Организации бухгалтерского учета на предприятии)
- Отладка и тестирование программ: основные подходы и ограничения (Проектирование программы)
- Кредиты банка России коммерческим банкам: формы,виды,способы отражения на балансе
- Системный подход к менеджменту (Основные характеристики системного подхода к менеджменту)
- Автоматизация учета инвестиций и ценных бумаг
- Система управления качеством проектом: составление плана управления качеством (Теоретические аспекты управления качеством проекта)
- Заинтересованные стороны проекта (Общие сведения о заинтересованных сторонах проекта)