Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Автоматизация продажи железнодорожных билетов( Характеристика предприятия и его деятельности)

Содержание:

Введение

Компьютерные системы прошли большой исторический путь становления и развития. Рынок компьютерных систем начал формироваться с конца 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. Организационная структура управления предприятием

Рисунок 1 организационная структура предприятия

Руководство, менеджер, IT-отдел, отдел кадров и маркетинговый отдел находятся в главном офисе компании “МосЛинии” в Московской области. Обслуживающий персонал расположены на станциях и в главном офисе. Персонал поезда в основном находится в поезде и на станциях.

1.2 Выбор комплекса задач автоматизации и характеристика существующих бизнес-процессов

На диаграмме прецедентов, рисунок 2, отражено отношение между клиентом и работниками предприятия.

Рисунок 2 диаграмма прецедентов

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

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

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

Бизнес-процесс, который требуется автоматизировать показан с помощью IDEF на рисунке 3, декомпозиция данного бизнес-процесса отображена на рисунке 4.

Рисунок 3 IDEF0

  1. Входные потоки:
  • Данные о клиенте (ФИО, индивидуальный документ, льготы)
  • Данные о рейсе (Номер поезда, дата отправления и прибытия)
  1. Управляющие потоки:
  • Законодательство РФ (ГОСТы, законы, указы)
  1. Ресурсные потоки:
  • Клиент
  1. Выходные данные:
  • Обработанный заказ

Рисунок 4 декомпозиция бизнес-процессов

На рисунке 5 показана диаграмма деятельности, где отображена процедура покупки билета.

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

Техническое и программное обеспечение

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, чем использование определенных технологии.

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

Список литературы

  1. Грекул В.И., Денищенко Г.Н., Коровкина Н.Л. Проектирование информационных систем – М.: ИУИТ, 2012 – 300 с.
  2. Гущин А.Н. Базы данных: учебник. - М.: Директ-Медиа, 2014. - 266с
  3. Методология функционального моделирования IDEF0, Руководящий документ, Госстандарт России
  4. Абрамова Л.В. Инструментальные средства информационных систем: учебное пособие. - Архангельск: САФУ, 2013. - 118 с.
  5. Заботина Н.Н. Проектирование информационных систем: учебное пособие. – М.: ИНФРА-М, 2013. - 331с.
  6. Золотов С.Ю. Проектирование информационных систем: учебное пособие. - Томск: Эль Контент, 2013. - 88 с.
  7. Методы и средства проектирования информационных систем и технологий: учебное пособие / авт.-сост. Е.В. Крахоткина. - Ставрополь: СКФУ, 2015. - 152 с.
  8. Проектирование информационных систем. Проектный практикум: учебное пособие / А.В. Платёнкин, И.П. Рак, А.В. Терехов, В.Н. Чернышов. - Тамбов: Издательство ФГБОУ ВПО «ТГТУ», 2015. - 81 с.
  9. Советов Б.Я. Базы данных: учебник / Б.Я. Советов, В.В. Цехановский, В.Д.г
  10. Черноусова А.М Создание и использование баз данных: учебное пособие/ А.М Черноусова. – Оренбург: ГОУ ОГУ 2009г 244c 1. Атре Ш. Структурный подход к организации баз данных. - М.: Финансы и статистика, 1983. - 320 с.
  11. Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. - М.: Финансы и статистика, 1999. - 351 с.
  12. Голицина О.Л., Максимов Н.В., Попов И.И. Базы данных: Учебное пособие. - М.: ФОРУМ: ИНФРА-М, 2009. - 352 с.
  13. Джексон Г. Проектирование реляционных баз данных для использования с микроЭВМ. -М.: Мир, 1991. - 252 с.
  14. Карпова Т.С. Базы данных: модели, разработка, реализация. - СПб.: Питер, 2008. - 304 с.
  15. Корнеев И.К., Машурцов В.А. Информационные технологии в управлении. - М.: ИНФРА-М, 201-. - 158 с.
  16. Мартин Дж. Планирование развития автоматизированных систем. - М.: Финансы и статистика. - 196 с.
  17. К.Дж. Дейт Введение в системы баз данных -- 8-е изд. -- М.: «Вильямс», 2011 -- С. 1328.