Загрузил ITE TE

VKR Bronirovanie nomerov

реклама
НЕГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ ЧАСТНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ОБРАЗОВАНИЯ
«МОСКОВСКИЙ ФИНАНСОВО-ПРОМЫШЛЕННЫЙ УНИВЕРСИТЕТ
«СИНЕРГИЯ»
Колледж «Синергия»
Специальность
09.02.04
Департамент
(код)
ЦЭ
(аббревиатура)
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА –
ДИПЛОМНЫЙ ПРОЕКТ
На тему
АВТОМАТИЗАЦИЯ ПРОЦЕССА БРОНИРОВАНИЯ
НОМЕРОВ В ГОСТИНИЦЕ НА ПРИМЕРЕ ООО "ТОРБЕЕВО ОЗЕРО"
Обучающийся
Руководитель
Идрисов Кемран Феликсович
_____________
(Ф.И.О. полностью)
(подпись)
Бенин Дмитрий Михайлович
(Ф.И.О. полностью)
МОСКВА 2024 г.
(подпись)
Факультет онлайн обучения
ЗАДАНИЕ
на выпускную квалификационную работу – дипломный проект обучающемуся
Идрисову Кемрану Феликсовичу
1. Тема выпускной квалификационной работы – дипломного проекта:
Автоматизация процесса бронирования номеров в гостинице на примере ООО
"Торбеево озеро"
2. Структура ВКР – дипломного проекта:
Введение
Глава 1. Аналитическая часть
1.1. Технико-экономическая характеристика предметной области и предприятия.
Анализ деятельности «КАК ЕСТЬ»
1.1.1. Характеристика предприятия и его деятельности
1.1.2. Организационная структура управления предприятием
1.1.3. Программная и техническая архитектура ИС предприятия
1.2. Характеристика комплекса задач, задачи и обоснование необходимости
автоматизации
1.2.1. Выбор комплекса задач автоматизации и характеристика существующих
бизнес процессов
1.2.2. Определение места проектируемой задачи в комплексе задач и ее описание
1.2.3. Обоснование необходимости использования вычислительной техники для
решения задачи
1.2.4. Анализ системы обеспечения информационной безопасности и защиты
информации
1.3. Анализ существующих разработок и выбор стратегии автоматизации «КАК
ДОЛЖНО БЫТЬ»
1.3.1. Анализ существующих разработок для автоматизации задачи
1.3.2. Выбор и обоснование стратегии автоматизации задачи
1.3.3. Выбор и обоснование способа приобретения ИС для автоматизации задачи
Глава 2. Проектная часть
2.1 Обоснование проектных решений
2.1.1 Обоснование проектных решений по информационному обеспечению
2.1.2 Обоснование проектных решений по программному обеспечению
2.1.3 Обоснование проектных решений по техническому обеспечению
2.2 Разработка проекта автоматизации
2.2.1 Этапы жизненного цикла проекта автоматизации
2.2.2 Характеристика нормативно-справочной, входной и оперативной информации
2.2.3 Характеристика результатной информации
2.3 Программное обеспечение задачи
2.3.1 Общие положения (дерево функций и сценарий диалога)
2.3.2 Характеристика базы данных
2.3.3 Структурная схема пакета (дерево вызова программных модулей)
2.3.4 Описание программных модулей
2.4 Контрольный пример реализации проекта и его описание
Глава 3. Обоснование экономической эффективности проекта
3.1 Выбор и обоснование методики расчёта экономической эффективности
3.2 Расчёт показателей экономической эффективности проекта
Заключение
6
Список использованной литературы
Приложения
3. Основные вопросы, подлежащие разработке:
Введение. Во «Введении» необходимо обосновать актуальность выбранной темы
дипломной работы, сформулировать ее цель и задачи. Сформулировать объект, предмет,
научную и информационную базу работы. Перечень задач целесообразно отразить по главам,
т.е. указать какие задачи будут решаться в рамках каждой главы.
В главе 1 необходимо представить обоснование актуальности выбора
автоматизируемой задачи, проектных решений по информационному, программному и
аппаратному обеспечению, дать ее развернутое описание, отразить взаимосвязь с другими
задачами, изложить используемую стратегию автоматизации и способ приобретения
информационной системы.
В разделе 1.1 необходимо привести краткое описание компании и таблицу
показателей ее деятельности, рисунок организационной структуры и его описание, рисунки
программной и технической архитектуры, а также их описание.
В разделе 1.2 следует обосновать актуальность выбора автоматизируемой задачи, для
этого необходимо провести анализ организационной, программной и технической
архитектуры с целью определения перечня задач, которые необходимо автоматизировать и
выбора наиболее приоритетной из них. С целью определения информационных потоков
выбранной задачи необходимо привести соответствующие IDEF диаграммы. Далее
необходимо привести рисунок, отражающий документооборот автоматизируемой задачи,
таблицу прагматических характеристик соответствующих документов (периодичность, время
на обработку и так далее) и определить комплекс программно-аппаратных средств,
обеспечивающих информационную безопасность и защиту информации в рамках решаемой
задачи.
В разделе 1.3 необходимо провести анализ готовых программных решений
автоматизируемой задачи (в виде сравнительной таблицы наиболее интересных решений),
определить стратегию автоматизации и способ приобретения информационной системы.
В главе 2 необходимо представить проектные решения в соответствии с выбранной
стратегией автоматизации и разработки информационной системы и моделью жизненного
цикла: начиная с анализа и выбора стратегии внедрения и заканчивая примером ее опытной
эксплуатации.
В разделе 2.1 необходимо провести анализ и обосновать выбор средств, используемых
для автоматизации задачи: технического обеспечения (компьютеры и периферия, сетевое
оборудование, офисная техника, дополнительные устройства), программного обеспечения
(операционная система, СУБД, среда разработки, другое прикладное ПО), информационного
обеспечения (классификаторы, справочники, документы, информационные базы).
В разделе 2.2 необходимо провести выбор стандарта и модели жизненного цикла,
соответствующих автоматизируемой задаче, а также стратегии внедрения проектируемой
информационной системы. После этого следует провести анализ нормативно-справочной,
входной, оперативной информации и результатной информации: документы, файлы, экранные
формы, алгоритмы расчета результатных показателей и так далее.
Раздел 2.3 отражает процесс проектирования программного обеспечения задачи и
должен содержать:
 рисунки дерева функций и сценария диалога, а также их описание;
 рисунок ER – модели (обязательно указание ключевых полей и связей между
таблицами), описание структуры записей каждой таблицы;
 рисунок дерева вызова программных модулей, а также таблицу с перечнем и
назначением модулей;
7
 блок-схема основного/ расчетного модуля, описание блок-схем алгоритмов
основных расчетных модулей.
В разделе 2.4 следует представить экранные формы, демонстрирующие работу
системы (не менее 7) и их описание.
В главе 3 приводится методика расчета показателей экономической эффективности и
расчеты, сделанные в соответствии с изложенной методикой. Расчетные данные следует
представить в виде таблиц и диаграмм, отражающие сравнение базового и предлагаемого
вариантов.
Заключение.
В «Заключении» необходимо подвести итоги дипломного проектирования, кратко
описать основные проектные решения. Раскрыть содержание основных выводов, сделанных
дипломником, представить краткую характеристику результатов, полученных в ходе решения
поставленных во «Введении» задач и, тем самым, ответить на основной вопрос работы: о
степени достижимости поставленной в дипломной работе цели.
Список использованной литературы.
В «Список использованной литературы» приводятся только те информационные
источники, которые автор лично использовал при написании данного дипломного проекта.
Причем ссылки на данную литературу и информационные источники обязательны по всему
тексту работы. Заимствованные чужие тексты в обязательном порядке заключаются в
кавычки, как принадлежащие другому автору. Сноски приводятся постранично нарастающим
итогом от №1 до № N. Сноски, используемые дипломником, должны быть отражены в списке
использованной литературы в конце работы.
Приложение обязательно должно содержать фрагмент листинга программного кода
(на исходном языке программирования отлаженных основных расчетных модулей – около 400
операторов языка высокого уровня или адаптированных программных средств,
использованных в работе), также могут быть приведены:
 схемы или таблицы из основной части дипломного проекта;
 результаты выполнения контрольного примера;
 диаграммы потоков данных, демонстрирующих существующую технологию
решения задач («КАК ЕСТЬ»);
 диаграммы потоков данных, демонстрирующих предлагаемую технологию
решения задач («КАК ДОЛЖНО БЫТЬ»);
 схемы документооборота;
 примеры классификаторов;
 формы первичных и результатных документов;
 распечатки меню, экранных форм ввода, получаемых отчетов в разработанной
системе;
 а также другие материалы ВКР, кроме текстов договоров с клиентами и иных
"шаблонных документов" (в тех случаях, когда для их существенных реквизитов
проектируется форма, а по результатам ввода и сохранения в информационную базу имеется
возможность распечатки документа "по шаблону").
В одном приложении нельзя размещать различные по смыслу таблицы или рисунки.
Не допускается дублирование в приложении материала, размещенного в основной части
дипломного проекта.
С детальным рассмотрением содержания каждого пункта, а также примерами схем и
таблиц необходимо ознакомиться в «Методических рекомендациях по выполнению
выпускной квалификационной работы (дипломного проекта)».
8
4. Исходные данные по ВКР – дипломному проекту:
Основная литература:
1. Шандриков А.С. Информационные технологии: учебное пособие: [12+] /
А.С. Шандриков. – Минск: РИПО, 2015. – 444 с: ил. – Режим доступа: по подписке. –
URL: http://biblioclub.ru
2. Куль Т.П. Основы вычислительной техники: учебное пособие: [12+] / Т.П. Куль. –
Минск: РИПО, 2018. – 244 с.: ил., табл., схем. – Режим доступа: по подписке. –
URL: http://biblioclub.ru
3. Потапова А.Д. Прикладная информатика: учебно-методическое пособие: [12+] /
А.Д. Потапова. – Минск: РИПО, 2015. – 252 с: ил. – Режим доступа: по подписке. –
URL: http://biblioclub.ru
Дополнительная литература:
4. Шандриков А.С. Стандартизация и сертификация программного обеспечения:
учебное пособие: [12+] / А.С. Шандриков. – Минск: РИПО, 2014. – 304 с.: схем., ил. – Режим
доступа: по подписке. – URL: http://biblioclub.ru
5. Рак И.П. Основы разработки информационных систем: учебное пособие /
И.П. Рак, А.В. Платёнкин, А.В. Терехов; Министерство образования и науки Российской
Федерации, Федеральное государственное бюджетное образовательное учреждение высшего
профессионального образования «Тамбовский государственный технический университет».
– Тамбов: Издательство ФГБОУ ВПО «ТГТУ», 2017. – 99 с.: ил. – Режим доступа: по
подписке. – URL: http://biblioclub.ru
6. Лежебоков А.А. Программные средства и механизмы разработки
информационных систем: учебное пособие / А.А. Лежебоков; Министерство образования и
науки РФ, Южный федеральный университет, Инженерно-технологическая академия. –
Таганрог: Издательство Южного федерального университета, 2016. – 85 с.: схем., ил. –
Режим доступа: по подписке. – URL: http://biblioclub.ru
7. Масягин В.Б. Математическое моделирование и информационные технологии при
проектировании: учебное пособие / В.Б. Масягин, Н.В. Волгина; Минобрнауки России,
Омский государственный технический университет. – Омск: Издательство ОмГТУ, 2017. –
167 с.: табл., схем., ил. – Режим доступа: по подписке. – URL: http://biblioclub.ru/
8. Исакова А.И. Основы информационных технологий: учебное пособие /
А.И. Исакова; Министерство образования и науки Российской Федерации. – Томск: ТУСУР,
2016. – 206 с.: ил. – Режим доступа: по подписке. – URL: http://biblioclub.ru
9. Бова В.В. Основы проектирования информационных систем и технологий:
учебное пособие / В.В. Бова, Ю.А. Кравченко; Министерство образования и науки
Российской Федерации, Федеральное государственное автономное образовательное
учреждение высшего образования «Южный федеральный университет», Инженернотехнологическая академия. – Ростов-на-Дону; Таганрог: Издательство Южного федерального
университета, 2018. – 106 с.: ил. – Режим доступа: по подписке. – URL: http://biblioclub.ru
10. Вичугова А.А. Инструментальные средства информационных систем: учебное
пособие / А.А. Вичугова; Министерство образования и науки Российской Федерации,
Федеральное государственное автономное образовательное учреждение высшего
образования «Национальный исследовательский Томский государственный университет». –
Томск: Издательство Томского политехнического университета, 2015. – 136 с.: ил., табл.,
схем. – Режим доступа: по подписке. – URL: http://biblioclub.ru
11. Методы и средства проектирования информационных систем и технологий:
учебное пособие / авт.-сост. Е.В. Крахоткина; Министерство образования и науки
Российской Федерации, Федеральное государственное автономное образовательное
учреждение высшего профессионального образования «Северо-Кавказский федеральный
университет». – Ставрополь: СКФУ, 2015. – 152 с.: ил. – Режим доступа: по подписке. –
9
URL: http://biblioclub.ru
12. Технологии защиты информации в компьютерных сетях / Н.А. Руденков,
А.В. Пролетарский, Е.В. Смирнова, А.М. Суровов. - 2-е изд., испр. - М.: Национальный
Открытый Университет «ИНТУИТ», 2016. – 369 с.
Официальные издания:
1. Собрание законодательства Российской Федерации: официальное
издание/Администрация Президента Российской Федерации
Другие периодические издания:
1. Международный научно-практический журнал «Программные продукты и
системы» http://www.swsys.ru/
2. Научно-практический журнал «Прикладная информатика»
http://www.appliedinformatics.ru/
Справочно-библиографические издания:
1. Новая российская энциклопедия: в 12 т. / гл. ред. А. Д. Некипелов. — М.:
Энциклопедия, 2003. — Т. 1: Россия.
2. Российский гуманитарный энциклопедический словарь. В 3 т.
Современные профессиональные базы данных и информационные ресурсы сети
Интернет:
№
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Наименование портала
(издания, курса, документа)
Описание стандартов IDEF
Аналитическая информация
Стандарты проектной
документации
Грекул И.В. курс
«Проектирование
информационных систем»
Сайт компании
«КонсультантПлюс»
компьютерной справочной
правовой системы
Сайт Банковские ИС
Современный
учебник
JavaScript
Форум программистов
Клуб программистов
Портал по программированию
Руководитель:
Ссылка
http://www.idef.ru/idef.php
http://citforum.ru/
http://www.rugost.com/
http://www.intuit.ru/department/se/devis/
http://www.consultant.ru
http://www.bis.ru
https://learn.javascript.ru/
https://programmersforum.ru/
http://www.programmersclub.ru/
http://www.opennet.ru/
Бенин Д.М.
подпись
расшифровка
Обучающийся задание получил: «17» апреля 2024 г.
Обучающийся:__________________________ _
подпись
расшифровка
10
Оглавление
ВВЕДЕНИЕ ................................................................................................................ 13
Глава 1. Аналитическая часть .................................................................................. 15
1.1.
Технико-экономическая
характеристика
предметной
области
и
предприятия. Анализ деятельности «КАК ЕСТЬ» ............................................ 15
1.1.1. Характеристика предприятия и его деятельности ............................... 15
1.1.2. Организационная структура управления предприятием .................... 15
1.1.3. Программная и техническая архитектура ИС предприятия ............... 17
1.2. Характеристика комплекса задач, задачи и обоснование необходимости
автоматизации........................................................................................................ 19
1.2.1.
Выбор
комплекса
задач
автоматизации
и
характеристика
существующих бизнес процессов ................................................................... 19
1.2.2. Определение места проектируемой задачи в комплексе задач и ее
описание ............................................................................................................. 21
1.2.3. Обоснование необходимости использования вычислительной техники
для решения задачи ........................................................................................... 22
1.2.4. Анализ системы обеспечения информационной безопасности и
защиты информации ......................................................................................... 24
1.3. Анализ существующих разработок и выбор стратегии автоматизации
«КАК ДОЛЖНО БЫТЬ» ...................................................................................... 25
1.3.1. Анализ существующих разработок для автоматизации задачи ......... 25
1.3.2. Выбор и обоснование стратегии автоматизации задачи ..................... 28
1.3.3. Выбор и обоснование способа приобретения ИС для автоматизации
задачи.................................................................................................................. 30
Глава 2. Проектная часть .......................................................................................... 32
2.1. Обоснование проектных решений................................................................ 32
11
2.1.1. Обоснование проектных решений по информационному обеспечению
............................................................................................................................. 32
2.1.2. Обоснование проектных решений по программному обеспечению . 33
2.1.3. Обоснование проектных решений по техническому обеспечению ... 34
2.1. Разработка проекта автоматизации .............................................................. 35
2.1.1. Этапы жизненного цикла проекта автоматизации .............................. 35
2.2.1. Характеристика нормативно-справочной, входной и оперативной
информации ....................................................................................................... 38
2.2.2. Характеристика результатной информации ......................................... 41
2.3. Программное обеспечение задачи ................................................................ 42
2.3.1
Общие положения (дерево функций и сценарий диалога) ............. 42
2.3.2. Характеристика базы данных ................................................................ 43
2.3.3. Структурная схема пакета (дерево вызова программных модулей) . 45
2.3.4. Описание программных модулей .......................................................... 45
2.4. Контрольный пример реализации проекта и его описание ....................... 47
Глава 3. Обоснование экономической эффективности проекта .......................... 53
3.1. Выбор и обоснование методики расчёта экономической эффективности
................................................................................................................................. 53
3.2. Расчёт показателей экономической эффективности проекта .................... 58
ЗАКЛЮЧЕНИЕ ......................................................................................................... 65
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ ............................................... 67
ПРИЛОЖЕНИЕ ......................................................................................................... 69
12
ВВЕДЕНИЕ
В настоящее время компьютерные технологии все глубже входят в нашу
жизнь. За последние несколько лет производительность персональных
компьютеров возросла в несколько раз, а стоимость, наоборот снизилась. Такие
изменения
создают
информационных
оптимальные
технологий.
условия
Сейчас
для
персональные
распространения
компьютеры
есть
практически в каждом доме, скорость вычислений компьютеров достигает
миллионов операций в секунду. Помимо широчайшего распространения ITтехнологий в частной сфере, они оказывают значительное влияние и на другие
сферы
деятельности
человека,
например,
производственную,
предпринимательскую.
На рынке программных продуктов существует множество готовых
решения для автоматизации деятельности предприятий любой отрасли и любого
размера, однако покупать готовое решение не каждому предприятию выгодно, а
часто и нецелесообразно в виду особенностей организации бизнес-процессов
предприятия или ограничений используемого ПО.
Целью данной работы является автоматизация бизнес-процессов
бронирования номеров в парк-отеле «Торбеево Озеро» Для достижения
поставленной цели необходимо решить следующие задачи:
1. Провести анализ предметной области.
2. Обосновать необходимость автоматизации документооборота в
компании ООО «Инженерные технологии».
3. Выбрать проектные решения проекта автоматизации по видам
обеспечения.
4. Разработать проект автоматизации.
5. Реализовать информационную систему и описать контрольный пример
реализации проекта.
6. Обосновать экономическую эффективность предлагаемого проекта
автоматизации документооборота в компании ООО «Инженерные технологии».
13
Объектом исследования данной работы является компания ООО
«Торбеево Озеро».
Предметом исследования является процессы бронирования номеров
парк-отеля.
В
работе
использовались
следующие
методы
исследования:
моделирование, анализ, синтез, сравнение, тестирование.
Основная часть работы состоит из трех глав. В первой выполняется
анализ предметной области, постановка задачи автоматизации и обоснование ее
необходимости, обоснование проектных решений. Во второй главе описана
разработка проекта автоматизации и прототипа программной подсистемы для
автоматизации процессов бронирования номеров в парк-отеле «Торбеево озеро»,
в третьей главе ВКР проведены расчеты для обоснования экономической
эффективности предлагаемого проекта автоматизации.
14
Глава 1. Аналитическая часть
1.1. Технико-экономическая характеристика предметной области и
предприятия. Анализ деятельности «КАК ЕСТЬ»
1.1.1. Характеристика предприятия и его деятельности
Парк-отель «Торбеево озеро» – это по-настоящему комфортабельное
место для отдыха взрослых и детей, готовое к приему гостей круглый год.
Расположен пар-отель в деревне Березняки Сергиево-Посадского района,
Московской области.
К услугам любителей активного отдыха летом – аренда катамаранов,
лодок, а также волейбольная площадка, площадка для мини-футбола и
теннисные столы, бадминтон и бильярд. Для детей оборудована игровая
площадка с многочисленными забавами, включающими в себя песочницу,
качалки, спортивные снаряды. Зимой – прокат лыж, коньков, трансфер на
горнолыжный центр «Лоза». Предпочитающим тихий отдых – шахматы, шашки,
нарды, настольный теннис и русский бильярд.
У озера расположился шатер «Парус», где посетители могут заказать
напитки, легкие закуски, пиццу собственного приготовления и многочисленные
блюда, приготовленные на мангале.
Парк-отель «Торбеево Озеро» – это совершенно уникальный проект.
Место, в котором воедино сошлись транспортная доступность и беззаботная
атмосфера загородного курорта.
В таблице 1 представлены общие показатели деятельности компании за
2022 год.
Таблица 1
Общие показатели деятельности за 2022 г.
№
1
2
Наименование показателя
Выручка, млн. руб.
Чистая прибыль, млн. руб.
2022 г.
439,5
17,2
1.1.2. Организационная структура управления предприятием
На рисунке 1 приведена схема организационной структуры компании.
15
Рисунок 1 – Организационная схема компании
Во главе компании ООО «Торбеево Озеро» стоит директор. У него в
подчинении находятся все структурные подразделения компании и ее
сотрудники.
Имеются следующие отделы, во главе каждого из которых стоит
руководитель:

отдел по работе с клиентами: стойка ресепешн;

отдел сервиса: обслуживание номеров, территории парк-отеля;

отдел закупок: взаимодействие с поставщиками компании;

бухгалтерия: финансовый учет работы компании, оплата счетов,
подготовка отчетности;

отдел кадров: поиск и подбор сотрудников на открытые вакансии;

юридический
отдел:
обеспечение
юридической
безопасности
предприятия;

служба безопасности: охрана территории парк-отеля, обеспечение
порядка;

ИТ-отдел: обеспечение работоспособности всей используемой
компьютерной техники на предприятии;

отдел маркетинга: разработка и реализация рекламных мероприятий.
16
1.1.3. Программная и техническая архитектура ИС предприятия
Архитектура информационной системы – концепция, определяющая
модель, структуру, выполняемые функции и взаимосвязь компонентов
информационной системы [13].
Аппаратная архитектура предприятия отображена на рисунке 2.
Рисунок 2 – Аппаратная архитектура предприятия
Все компьютеры в организации объединены в единую локальную сеть с
помощью маршрутизатора и двух коммутаторов. Выход в интернет из локальной
сети контролируется сервером. В роли сервера выступает системный блок с
процессором Intel Core i7-8600 с частотой 2.8ГГц (4 ядра, 8 потоков) и объемом
оперативной
памяти
8
Гб.
Основная
задача
сервера
–
обеспечение
бесперебойного доступа в интернет, а также фильтрация входящего и
исходящего трафика. Кроме того, на нем установлено серверные части
используемого в компании программного обеспечения. Для обеспечения
бесперебойного питания используется ИБП – ACP Smart-UPS 1500.
17
Пользовательские ПК оснащены преимущественно процессорами Intel,
начиная от Core i3 и выше. Минимальный объём ОЗУ – 4Гб. Минимальный
объём жёсткого диска – 250Гб. Технические требования к рабочим станциям
устанавливаются в зависимости от задач, которые будут на них выполняться. По
необходимости производится модернизация оборудования.
Так же, в зависимости от задач, подбираются периферийные устройства.
Преимущественно используется техника производителей Canon и Xerox.
Программная архитектура включает совокупность всех программных
продуктов, технологий, интерфейсов, которые используются на предприятии для
выполнения бизнес-процессов [16].
Программная архитектура компании приведена на рисунке 3.
Рисунок 3 – Программная архитектура предприятия
Сервер компании работает под управлением серверной операционной
системы (ОС) Microsoft Windows Server 2019. Выбор данной ОС обусловлен
перечнем решаемых задач: функционала данной ОС достаточно для выполнения
требуемых в данной локальной сети функций. На всех рабочих компьютерах
конечных пользователей установлены операционные системы от компании
Microsoft: Windows 10.
18
В качестве прикладного программного обеспечения на всех рабочих
станциях пользователей установлено: пакет офисных программ Microsoft Office
2016, веб-браузер Google Chrome, антивирус от лаборатории Касперского. В
зависимости от конкретных решаемых задач тем или иным сотрудником на его
рабочий компьютер устанавливаются соответствующие программные продукты.
Для учета деятельности компании используется программная система
«Парус», она позволяет вести финансовый учет по закупочной деятельности, по
оказанию услуг, а также кадровый учет на предприятии. Для ведения расписания
бронирований номеров, учета заселений, выселений и обслуживания номеров
используется информационная система «Гостиница», которая была разработана
специально для предприятия, оно разработано с использованием языка PHP и
работает в виде веб-приложения.
1.2. Характеристика комплекса задач, задачи и обоснование
необходимости автоматизации
1.2.1. Выбор комплекса задач автоматизации и характеристика
существующих бизнес процессов
Для того, чтобы более полно охарактеризовать существующую
организацию процессов документооборота в компании была построена
структурно-функциональная модель по стандарту IDEF0 [3].
Согласно
принципам
этого
стандарта,
каждый
бизнес-процесс
обозначается в виде прямоугольника, а входные и выходные потоки
обозначаются
соответственно
входящими
и
выходящими
из
этого
прямоугольника стрелками. Всего в данном стандарте выделяют три типа входа:
первый так и называется вход, второй – управлением, а третий – механизмами.
С помощью «Входа» показывают те данные и материальные объекты, которые
преобразуются в ходе выполнения бизнес-процесса, с помощью «Управления» –
правила, регламентирующие выполнение бизнес-процесса, а с помощью
«Механизмов» – исполнителей бизнес-процесса и их инструменты [9].
19
Модель в стандарте IDEF0 – это совокупность связанных друг с другом
диаграмм, или чертежей, которые показывают моделируемую систему с разным
уровнем детализации.
Сначала вся деятельность представляется в виде одного функционального
блока, эта диаграмма контекстного уровня (Рисунок 4).
Рисунок 4 – Контекстная диаграмма исследуемой деятельности
В качестве входных данных для исследуемых бизнес-процессов
бронирования номеров в парк-отеле выступают заявка клиента, данные
номерного фонда, расписание бронирований номеров.
Результатом бизнес-процессов являются детали нового бронирования
какого-то номера (или номеров), а также обновленное расписание бронирования.
Исследуемую деятельность осуществляют администраторы с помощью ИС
«Гостиница».
20
Следующий этап моделирования бизнес-процессов – декомпозиция
контекстной диаграммы на блоки, составляющие моделируемую деятельность
[11].
Диаграмма декомпозиции приведена на рисунке 5.
Рисунок 5 – Диаграмма декомпозиции
Бронирование номеров выполняется в три этапа:

выяснение потребностей клиента (заявки поступают по телефону);

подбор подходящего варианта;

фиксирование бронирования номеров.
1.2.2. Определение места проектируемой задачи в комплексе задач и ее
описание
Текущая организация бизнес-процессов бронирования номеров в паркотеле «Торбеево озеро» имеет ряд недостатков:
21

высокая
загруженность
администратора:
телефонные
звонки
отнимают большое количество рабочего времени сотрудника;

не все звонки завершаются бронированием, часто люди лишь
уточняют свободны ли номера на определенную дату, а также их стоимость,
наличие скидок и прочее, из-за этого часть своего времени сотрудник тратит на
то, чтобы отвечать на одни и те же вопросы;

возможность
бронирования
номеров
только
по
телефону
гипотетически может привести к тому, что потенциальный клиент не сможет
получить возможность выполнить бронирование из-за того, что администратор
в это время занят другим звонком или общением с клиентом.
Автоматизация процессов бронирования позволит снизить нагрузку на
администратора, и, потенциально, увеличить загрузку номеров, так как клиенты
смогут в любой момент времени самостоятельно не только проверить наличие
свободных номеров на интересующие их даты, но и забронировать их без
необходимости взаимодействовать с сотрудниками гостиницы.
1.2.3. Обоснование необходимости использования вычислительной
техники для решения задачи
На рисунке 6 представлена схема документооборота при текущей
организации бизнес-процессов бронирования номеров в парк-отеле.
22
Рисунок 6 – Текущая организация документооборота
На рисунке 7 приведена схема документооборота после автоматизации
бизнес-процессов бронирования номеров в парк-отеле.
Рисунок 7 – Схема документооборота после автоматизации
Основное изменение – клиент сможет самостоятельно выбрать
подходящий ему номер и даты въезда-выезда, администратор будет тратить свое
рабочее время только на подтверждение брони.
23
В таблице 2 приведены оценочные характеристики трудозатрат на
исполнение бизнес-процессов при их текущей организации.
Таблица 2
Оценочные характеристики трудозатрат
Действие
Выяснение потребностей клиента
Подбор варианта
Внесение бронирования в расписание
ИТОГО ЗА МЕСЯЦ
Трудозатраты, час в месяц
35
35
8
78
После автоматизации процессов бронирования номеров планируется
снижение трудозатрат (Таблица 3).
Таблица 3
Оценочные временные характеристики трудозатрат после автоматизации
Действие
Подтверждение бронирования по телефону
Отметка о подтвержденном бронировании
ИТОГО ЗА МЕСЯЦ
Трудозатраты, час в месяц
8
8
16
1.2.4. Анализ системы обеспечения информационной безопасности и
защиты информации
Компания ООО «Торбеево озеро» работает с персональными данными
своих клиентов, поэтому вопросы информационной безопасности стоят на
высоком уровне. В компании имеется целый ряд специальных документов,
главным из которых является «Политика информационной безопасности» [12].
Он регламентирует следующие моменты:

суть и задачи, а также совокупную стратегию построения
полноценной системы поддержания ИБ, базовые требования и подходы к их
реализации, особо важные ресурсы и требования по их защите;

доступ сотрудников к служебной информации, составляющей
коммерческую тайну;

доступ к использованию программного обеспечения, которое
настроено и сконфигурировано специально под требования предприятия;
24

регламенты использования ресурсов локальной вычислительной
сети, сети Интернет и электронной почты.
Ответственным за информационную безопасность является системный
администратор.
В
перечень
должностных
обязанностей
ответственного
входит
мониторинг возможных угроз информационной безопасности компании.
В список потенциальных угроз входит утечка данных, вирусы, действия
злоумышленников
аппаратные
сбои,
(хакеров),
халатное
хищение
оборудования,
отношение
программные
сотрудников
к
и
правилам
информационной безопасности, установленными в компании и т.д.
1.3. Анализ существующих разработок и выбор стратегии
автоматизации «КАК ДОЛЖНО БЫТЬ»
1.3.1. Анализ существующих разработок для автоматизации задачи
В настоящее время на рынке готовых программных продуктов
представлено большое количество разнообразных решений, предназначенных
для автоматизации бизнес-процессов гостиниц. Были рассмотрены три
программных продукта:

Контур.Отель [17];

TL: WebPMS [18];

Максибукинг [19].
Первый программный продукт – система Контур.Отель. Основные
функциональные возможности программы:

регистрация гостей в МВД;

все бронирования в одном окне;

настройка тарифов через календарь;

управление номерным фондом;

управление прямыми продажами;

расчет курортного сбора;
25

кассовый модуль.
Стоимость использования сервиса – от 51 000 рублей в год (в зависимости
от количества номеров).
Пример интерфейса системы Контур.Отель приведен на рисунке 8.
Рисунок 8 – Скриншот интерфейса системы Контур.Отель
Следующий программный продукт – система TL: WebPMS.
Ключевые особенности продукта:

весь отель в одном личном кабинете. Заселение гостей, сбор
информации о них, формирование закрывающих документов и отчетов в едином
экстранете, главные данные о загрузке и состоянии номеров всегда на виду;

быстрое создание брони. создание брони прямо во время разговора с
гостем по телефону или у стойки;

контроль за порядком в номерах. Номера разделяются по статусам:
«Грязно», «Убрано», «Проверено», «Ремонт»;

автозаполнение
документов.
Готовые
документы
можно
отредактировать, если это необходимо.
Стоимость системы TL: WebPMS – от 3000 рублей в месяц.
Скриншот интерфейса системы TL: WebPMS приведен на рисунке 9.
26
Рисунок 9 – Скриншот системы TL: WebPMS
Следующий программный продукт, который будет рассмотрен МаксиБукинг.
Облачная система для управления отелями, апартаментами, хостелами и
другими объектами сферы гостеприимства. Представляет собой готовое решение
– сайт и программу для отелей на единой платформе. Интуитивно простой
интерфейс управления содержит все необходимые модули для успешной работы:

модуль бронирования и оплат;

синхронизацию с интернет-порталами по бронированию отелей;

интерактивную «шахматку»;

учет номерного фонда, клиентской базы;

возможность настройки гибких тарифов;

учет расчетов;

блок отчетов и аналитики.
Стоимость программы – от 1500 рублей в месяц (зависит от количества
номеров и срока подписки).
Скриншот интерфейса системы МаксиБукинг приведен на рисунке 10.
27
Рисунок 10 – Скриншот системы МаксиБукинг
Несмотря на хороший функционал, рассмотренные программные
продукты не могут быть использованы для решения поставленной задачи не
только в виду их большой стоимости, но и из-за наличия многих функций,
которые не нужны. То есть использование этих программных продуктов будет
заменять уже используемую ИС «Гостиница», а этого не требуется.
Поэтому необходимо разработать новый программный продукт, который
бы учел все достоинства исследованных программ и содержал только
необходимый функционал подсистемы бронирования номеров для размещения
ее на сайте компании.
1.3.2. Выбор и обоснование стратегии автоматизации задачи
Выделяют четыре возможных варианта стратегии автоматизации
предприятия [4]:

кусочная (или хаотичная) автоматизация;

автоматизация по участкам;

автоматизация по направлениям;
28

комплексная автоматизации.
Кусочная автоматизация характеризуется отсутствием единой стратегии
автоматизации предприятия. Какие-то процессы и работы автоматизируются
хаотически, отдельными фрагментами различных информационных систем и
программных продуктов, что в последствии приводит к значительным затратам
для корректировки результатов такой хаотичной автоматизации.
Автоматизация по участкам предполагает автоматизацию отдельных
производственных участков организации, имеющих общее функциональное
значение, или выполняющих сходный набор функций. Данный вариант
автоматизации выбирают, если внедрение информационных технологий на
каком-то участке производства даст значительный экономический эффект
(устранение потерь при производстве, сокращение количества сотрудников и
т.д.).
Автоматизация
по
направлениям
предполагает
автоматизировать
отдельные направления деятельности предприятия. Данная стратегия схожа со
стратегией «По участкам», но затрагивает сразу несколько бизнес-процессов и
гораздо большее количество сотрудников.
Комплексная автоматизация подразумевает полную автоматизацию всех
подразделений и всех направлений деятельности организации.
Для данного проекта была выбрана стратегия автоматизации по участкам.
Основная причина – четкое выделение границ автоматизируемого бизнеспроцесса. Кроме того, данная стратегия автоматизации, по сравнению с другими,
лучше всего подходит: кусочная автоматизация сама по себе носит негативный
характер из-за своей хаотичности, автоматизация по направлениям невозможна
по той причине, что бронирование номеров – это не направление деятельности
организации, а один из бизнес-процессов. Комплексная автоматизация также не
подходит для автоматизации рассматриваемого бизнес-процесса, исходя из её
определения.
29
1.3.3. Выбор и обоснование способа приобретения ИС для автоматизации
задачи
Под способами приобретения информационных систем понимают
действия от момента принятия решения о необходимости автоматизации задачи
с помощью ИС до момента, пока информационная система не будет внедрена на
предприятии. Существует несколько способов приобретения информационных
систем [15]:

покупка готовой информационной системы;

разработка (самостоятельная и заказная);

покупка + доработка (самостоятельная или заказная);

аренда.
Покупка готовой информационной системы с точки зрения временных
затрат на автоматизацию является самым выгодным способом приобретения ИС.
Однако, для того, чтобы купить готовое решение, необходимо его выбрать.
Выбранное решение должно полностью соответствовать не только требованиям,
диктуемым организацией автоматизированной задачи, но и общей структуре
бизнес-процессов всей организации. Данный вариант возможен, однако в
большинстве случаев будет выбран программный продукт, который будет
перегружен ненужным функционалом (который также будет включен в
стоимость покупки).
Заказ разработки программного продукта автоматизации выбранной
задачи у сторонних разработчиков позволит устранить проблему, описанную
выше,
и
будет
приобретена
информационная
система,
полностью
удовлетворяющая структуре бизнес-процессов организации. Однако, при
изменении
и
реинжиниринге
бизнес-процессов
в
будущем
возможно
потребуется переработка ИС, что выльется в итоговое увеличение стоимости
приобретения ИС. Кроме того, если разработчик будет использовать редкие
технологии для разработки ИС, то в дальнейшем поддержка ее работы и развитие
будет значительно дороже. Самостоятельная разработка ИС позволяет выбрать
30
средства и технологии разработки, наиболее подходящие для дальнейшей
работы с ИС.
Покупка и доработка возможна, если требуется небольшой объем
доработки, однако, стоит иметь в виду, что расширить функционал покупаемой
системы можно только в тех пределах, которые были изначально предусмотрены
разработчиком системы.
У варианта аренды ИС можно выявить следующие преимущества:

улучшает инновационные возможности предприятия за счет
взаимодействия и партнерства с поставщиками мирового уровня, имеющими
большой интеллектуальный потенциал и богатый инновационный опыт;

снижает затраты, необходимые на поддержание работы ИС за счет
использования аппаратного обеспечения поставщика ПО;

позволяет сосредоточиться на тех операциях, которые эффективно
выполняются силами предприятия, и тех, которые стратегически целесообразно
сохранить под ее контролем.
Однако, аренда ПО часто ставит деятельность компании в зависимость от
стабильности работы поставщика, что может поставить под угрозу не только
информационную безопасность данных компании, но и возможность ведения
операционной деятельность вообще.
Поэтому в рамках данного проекта информационная система для
автоматизации процессов бронирования номеров будет разрабатываться в
формате индивидуального проекта под требования, диктуемые организацией
бизнес-процессов компании.
31
Глава 2. Проектная часть
2.1. Обоснование проектных решений
2.1.1. Обоснование проектных решений по информационному обеспечению
Описание проектных решений по информационному обеспечению ИС
включает описание способа организации хранения информации, а также
описание входных и выходных данных для ИС.
В качестве способа организации хранения информации была выбрана
реляционная модель. Согласно ее основной идее, объекты предметной области и
взаимосвязи между ними представляются в виде таблиц. При этом все операции
над информацией, хранимой в базе данных, сводится к манипулированию
таблицами, а точнее, записями в них [5].
На этой модели данных базируются почти все современные СУБД для
ПЭВМ. Существенными преимуществами реляционной модели данных
являются простота представления данных, так как таблицы являются для этого
привычной формой, естественный характер формирования запросов, и высокая
степень независимости данных, так как интерфейс пользователя не связан с
деталями физической структуры памяти и стратегий доступа [6].
Входными данными для проектируемой информационной системы
выступают данные бронирований номеров.
При бронировании номера указываются следующие данные:

контактная информация клиента;

номер, которые бронируется;

дата въезда;

дата выезда;

источник перехода клиента на сайт.
Часть условно-постоянной информации была вынесена в отдельные
справочники:

сотрудники (они же пользователи ИС);

номера;
32

клиенты.
Выходными данными информационной системы являются данные о
бронированиях (расписание доступности номеров для бронирования), а также
автоматически отправляемые подсистемой письма.
Для каждого входного документа и справочных данных используются
классификаторы, предназначенные для идентификации каждой записи.
Описание используемых классификаторов приведено в таблице 4.
Таблица 4
Используемые идентификаторы
Наименование кодируемого множества
объектов
«Пользователи»
«Бронирования»
«Номера»
«Клиенты»
Значность
кода
4
4
4
4
Мощность
кода
9999
9999
9999
9999
Система
кодирования
Порядковая
Порядковая
Порядковая
Порядковая
2.1.2. Обоснование проектных решений по программному обеспечению
Программное обеспечение – это совокупность программ для реализации
целей
и
задач
информационной
системы,
а
также
нормального
функционирования комплекса технических средств.
В качестве языка программирования для реализации подсистемы
бронирования был выбран язык php, основная причина: в компании уже
используется этот язык, веб-сайт написан с использованием этого языка и ИС
«Гостиница» тоже.
PHP (PersonalHomePageTools – «Инструмент для создания персональных
web-страниц») – является скриптовым языком программирования общего
пользования, используемый для создания веб-приложений. В данный момент
времени его поддерживают подавляющие большинство хостинг-провайдеров, и
он стал одним из ведущих языком программирования, использующихся для
разработки динамических веб-сайтов.
Популярность языка в создании веб-сайтов определяется наличием
большого набора средств, предназначенных для разработки веб-приложений.
Основные из них:
33

автоматическое извлечение GET и POST-параметров, а также
переменных окружения веб-сервера в предопределённые массивы;

взаимодействие с очень большим количеством разных СУБД;

автоматическая отправка HTTP-заголовков;

работа с HTTP-авторизацией;

работа с сессиями и cookies;

работа с удалёнными и локальными файлами, сокетами;

обработка файлов, загруженных на сервер.
В качестве системы управления базой данных была выбрана СУБД
Microsoft SQL Server, которая также используется в компании для организации
работы ИС «Гостиница».
Выбор уже используемого ПО для разработки позволит сократить
возможные издержки на покупку, установку и поддержание работы ПО в
будущем.
2.1.3. Обоснование проектных решений по техническому обеспечению
Техническое
предназначенных
обеспечение
для
работы
–
комплекс
информационной
технических
системы,
средств,
а
также
соответствующая документация на эти средства и технологические процессы. В
первую очередь это вычислительные машины, периферийное оборудование,
аппаратура, каналы передачи данных и линий связи. Документацией
оформляются предварительный выбор технических средств, организация их
эксплуатации, технологический процесс обработки данных, технологическое
оснащение.
Разрабатываемая подсистема автоматизации бронирования номеров
будет выполнена в виде веб-приложения, которое расширит функционал
текущего веб-сайта компании. Поэтому для работы в системе необходимыми
условиями являются наличие доступа к сети интернет на компьютере и
установленная программа для обзора интернет страниц (веб-браузер).
34
Минимальные значения технических характеристик компьютера:

тактовая частота процессора не менее 1,8 ГГц;

объем оперативной памяти не менее 4 Гб;

периферийные устройства: VGA-монитор с разрешением не менее
1280х800 пикселей, клавиатура, мышь;

подключение к сети на скорости не менее 10 Мб/с.
2.1. Разработка проекта автоматизации
2.1.1. Этапы жизненного цикла проекта автоматизации
Жизненный цикл (ЖЦ) проекта автоматизации – это хронологический
порядок
периодов
информационной
создания
системы
общеупотребительных
и
использования
[7].
Существует
стандартов
описания
ЖЦ
автоматизированной
несколько
типов
автоматизированной
информационной системы – глобальные, описываемые отечественными и
международными нормами и отраслевые, описываемые принятыми в различных
отраслях
производства
программного
обеспечения.
Наиболее
распространёнными стандартами являются ГОСТ 34, ISO 12207, ISO 15288,
MSF, RUP, COBIT, Oracle CDM, XP.
Внутри них выделяют несколько моделей – каскадную, с промежуточным
контролем и спиральную [10].
Модели каскадная и с промежуточным контролем включают следующие
этапы ЖЦ ИС:

анализ;

проектирование;

реализацию;

внедрение;

сопровождение;

вывод из эксплуатации.
35
Каскадная
модель
непосредственно
обязывает
последовательное
выполнение вышеперечисленных этапов, без возможности возврата на
предыдущий этап жизненного цикла. Достоинства модели:

на каждом завершенном этапе ЖЦ формируется необходимый пакет
документов;

возможность планирования сроков каждого этапа и, соответственно,
достаточно точный расчет необходимых затрат.
Основной недостаток: частое несоответствие реальному процессу
создания ПО, который обычно не укладывается в жесткую схему и требует
возврата к предыдущим этапам до уточнения или пересмотра принятых
решений.
Модель с промежуточным контролем приближает жизненный цикл к
реальному процессу создания и применения ПО. В отличие от каскадной модели,
она допускает возврат каждого этапа жизненного цикла на любой предыдущий
этап для выполнения межэтапной корректировки. При этом обеспечивается
большая надежность ПО, но вместе с тем увеличивается длительность периода
разработки.
Спиральная модель жизненного цикла позволяет устранить недостатки
предыдущих моделей. Основной упор в ней делается на начальные этапы: анализ
и проектирование. На них реализуемость технических решений проверяется с
помощью создания прототипов.
При спиральной схеме разработки неполное завершение работ на
очередном этапе позволяет переходить на следующий этап. Незавершенная
работа может выполняться на следующем витке спирали. Тем самым
обеспечивается возможность предъявить пользователям системы ее некоторый
работоспособный вариант для уточнения требований.
Основным нормативным документом, регламентирующим жизненный
цикл данного проекта, был выбран ГОСТ Р ИСО/МЭК 57193-2016 [1], на его
36
основании построим каскадную модель, со следующими выделенными этапами
ЖЦ:

анализ;

проектирование;

реализацию;

внедрение;

сопровождение.
На
этапе
«анализ»
необходимо
собрать
информацию
об
автоматизируемых бизнес-процессах.
На этапе «проектирование» происходит проектирование структуры
приложения, клиентской и серверной части, разработка структуры базы данных,
форм и видов печатных отчетов и обработок.
На этапе «реализация» происходит непосредственное написание
программного кода для реализации ИС в соответствии с данными, полученными
на предыдущих этапах, по спроектированной структуре приложения.
Этап внедрения информационной системы в производственный процесс
является одним из наиболее важных в жизненном цикле ИС, т.к. от его
проведения и результатов выполнения зависит эффективность дальнейшего
использования и эксплуатации информационной системы, а значит и
эффективность всего проекта автоматизации. По этой причине, этап внедрения
разработанной информационной системы чаще всего рассматривают как
отдельный проект.
Выделяют
четыре
основных
стратегии
внедрения
ИС
в
производственную деятельность предприятий [14].
Первая стратегия – параллельная. Она характеризуется тем, что
внедрение выполняется постепенно и некоторый промежуток старый вариант
организации деятельности и автоматизированный работают параллельно. Затем
их результаты сравниваются, и если автоматизированный более предпочтителен
37
по замеряемым показателям, то старый вариант исполнения бизнес-процессов
прекращают.
Вторая стратегия – «скачок». При данной стратегии внедрение
происходит быстро и отказ от предыдущего способа выполнения работы
осуществляется резко, практически «одномоментно». Данную стратегию
рекомендуют применять в том случае, если внедрение затрагивает малое
количество сотрудников и бизнес-процессов, в противном случае возможно
резкое снижение производительности труда сотрудников.
Третья стратегия – «Пилотный проект». Похожа на «скачок», но
применяют ее к наиболее продвинутому структурному подразделению, которое
выразило желание использовать новый способ и готово помогать в его внедрении
и настройке.
Последняя, четвертая, стратегия внедрения – «Узкое место». При данной
стратегии автоматизации подвергается только тот участок производственного
процесса, который имеет непосредственное отношение к автоматизируемым
бизнес-процессам. При такой стратегии повышение производительности труда,
точности данных и качества работы будет наблюдаться только на этом участке
производственного цикла.
Для реализации данного проекта автоматизации бронирования номеров
была выбрана стратегия параллельная стратегия внедрения, то есть варианты
бронирования номеров с помощью разработанной подсистемы и с помощью
телефонных звонков будут работать параллельно, результаты их выполнения
будут сохранены в единой базе данных.
2.2.1. Характеристика нормативно-справочной, входной и оперативной
информации
В информационной системе используются три справочника, их
характеристики приведены в таблице 5.
38
Таблица 5
Справочники информационной системы
Название
справочника
Ответственный
за ведение
Сотрудники
Клиенты
Номера
Администратор
Администратор
Администратор
Средний
объём
справочника
в записях
100
10
50
Средняя
частота
актуализации
Средний объем
актуализации,
%
1 раз в день
1 раз в год
1 раз в неделю
10
10
10
Реквизитный состав каждого справочника представлен в таблице 6.
Таблица 6
Реквизитный состав справочников информационной системы
Название справочника
Сотрудники
Клиенты
Номера
Редактирование
Перечень реквизитов
ФИО;
пароль;
электронная почта;
статус;
ФИО
Телефон
Электронная почта
Название
Описание
Стоимость за сутки, руб
Статус
и
ввод
новых
записей
во
все
справочники
осуществляется с помощью специальных форм ИС «Гостиница». На рисунке 11
приведен макет формы «Сотрудник».
Рисунок 11 – Макет формы «Сотрудник»
39
Формы для работы с записями других справочников имеют аналогичный
вид (Рисунки 12 и 13).
Рисунок 12 – Макет формы «Клиент»
Рисунок 13 – Макет формы «Номер»
Входные данные для ИС: данные бронирования, форма бронирования
номера приведена на рисунке 14.
40
Рисунок 14 – Форма бронирования номера
Данные, введенные в формы, которые приведены выше, сохраняются в
базе данных и используются для формирования выходных данных (результатной
информации).
2.2.2. Характеристика результатной информации
Результатная информация (выходные данные) информационной системы
включает:
1.
Электронные письма с уведомлениями сотрудников и клиентов.
2.
Расписание доступности номеров для бронирования на сайте.
Подробное описание выходных данных в таблице 7.
Таблица 7
Описание результатной информации
Наименование
Реквизиты
Письмо «Новое
бронирование»
ФИО клиента
Номер
Стоимость
Даты
бронирования
Таблицы, на
основе
которых
формируется
Номера
Клиенты
Бронирования
41
Частота
формирования
Способ
доставки
По мере
необходимости
Электронное
письмо
Письмо
«Бронирование
получено»
Письмо
«Бронирование
подтверждено»
Расписание
доступности
номеров для
бронирования
ФИО клиента
Номер
Стоимость
Даты
бронирования
ФИО клиента
Номер
Стоимость
Даты
бронирования
Номер
Стоимость
Статус
доступности
Номера
Клиенты
Бронирования
По мере
необходимости
Электронное
письмо
Номера
Клиенты
Бронирования
По мере
необходимости
Электронное
письмо
Номера
Бронирования
По мере
необходимости
Htmlстраница
2.3. Программное обеспечение задачи
2.3.1 Общие положения (дерево функций и сценарий диалога)
Базовый набор функций разработанной подсистемы можно изобразить в
виде дерева, приведенного на рисунке 15.
Рисунок 15 – Дерево функций программы
Сценарий диалога с пользователем представлен на рисунке 16.
42
Рисунок 16 – Сценарий диалога
2.3.2. Характеристика базы данных
Для работы подсистемы автоматизации бронирования номеров в паркотеле была использована уже имеющая база данных, которая используется в ИС
«Гостиница», на рисунке 17 приведена схема той части базы данных, которая
имеет непосредственное отношение к бронированию номеров.
Бронирование
Сотру дник
Код
ФИО
Email
Пароль
Стату с
Код
Дата въез да
Дата выез да
Примечание
Код клиента (FK)
Код сотру дника (FK)
Код номера (FK)
Стоимость
Стату с
Номер
Код
Наименование
Описание
Цена з а су тки
Стату с
Клиент
Код
ФИО
Номер телефона
Адрес э лектронной почты
Рисунок 17 – ER-модель базы данных
Описание все таблиц базы данных представлены в таблицах 8-16.
43
Таблица 8
Таблица User (Сотрудник)
Наименование поля
Код
ФИО
Пароль
Email пользователя
Статус
Идентификатор поля
Тип поля
user_id
fio
password
email
status
integer
varchar
varchar
varchar
boolean
Длина
поля
11
120
120
120
1
Прочее
AI
Таблица 9
Таблица Room (Номер)
Наименование поля
Код
Наименование
Описание
Цена за сутки
Статус
Идентификатор поля
Тип поля
id
caption
description
price
status
integer
varchar
text
decimal
boolean
Длина
поля
11
120
65255
12
1
Прочее
AI
Таблица 10
Таблица Client (Клиент)
Наименование поля
Код
ФИО
Телефон
Email
Идентификатор поля
Тип поля
id
fio
phone
email
integer
varchar
varchar
varchar
Длина
поля
11
120
120
120
Прочее
AI
Таблица 11
Таблица booking (Бронирование)
Наименование поля
Код
Дата въезда
Дата выезда
Примечание
Код клиента
Код сотрудника
Код номера
Стоимость
Статус
Дата и время создания
Идентификатор поля
Тип поля
doc_id
start_date
end_date
comment
client_id
user_id
room_id
total
status
createdat
integer
date
date
comment
integer
integer
integer
decimal
int
datetime
44
Длина
поля
11
11
11
11
11
12
1
-
Прочее
AI
NULL
FK
FK
FK
2.3.3. Структурная схема пакета (дерево вызова программных модулей)
Для реализации требуемых функций по автоматизации бронирования
номеров были разработаны 3 модуля, каждый из которых отвечает за
выполнение определенного функционала. Подробное описание назначения
программных модулей представлено в таблице 12.
Таблица 12
Список программных модулей
Наименование модуля
ApiController.php
config.php
booking.php
schedule.php
Описание
Модуль обработки запросов подсистемы к ИС «Гостиница»
Содержит настройки подсистемы
Модуль бронирования выбранного номера
Модуль просмотра расписания доступности модулей для
бронирования
Дерево вызова программных модулей представлено на рисунке 18.
Рисунок 18 – Дерево вызова программных модулей
2.3.4. Описание программных модулей
Алгоритм работы модулей построен на обработке HTTP-запросов. При
получении этого запроса, модуль, в зависимости от полученных параметров в
запросе, выполняет те или иные действия (чаще всего – выполнение запроса к
БД, обработка результатов выполнения запросов, отправка ответа).
На веб-сайте гостиницы была создана отдельная страница, на котором
вставлен код для вызова модуля бронирования или модуля просмотра
расписания доступности номеров для бронирования. При загрузке этой страницы
формируется соответствующая форма.
Модули
бронирования
и
расписания
отправляют
запросы
непосредственно к модулю ApiController.php. Важно отметить, что запросы
45
высылаются по зашифрованному протоколу HTTPS, что необходимо для
соблюдения требований информационной безопасности, установленных в
компании. Также для повышения безопасности запросов выполняется
прописывание всех запросов закрытым ключом.
В зависимости от того, какой результат запроса получен, модуль
ApiController.php возвращает результат, которые отображается пользователю на
сайте на странице бронирования.
Блок-схема алгоритма выполнения бронирования приведена на рисунке
19.
Рисунок 19 – Блок-схема алгоритма бронирования номера
Исходный код программных модулей приведен в приложении.
46
2.4. Контрольный пример реализации проекта и его описание
После перехода в раздел «Бронирование» на веб-сайте парк-отеля
открывается соответствующая форма (Рисунок 20).
Рисунок 20 – Форма бронирования: выбор номера
При клике на даты в верхнем левом углу открывается форма, на которой
можно указать желаемые даты заезда, также количество гостей в номере
(Рисунок 21).
47
Рисунок 21 – Выбор дат и количества гостей
После выбора номера из доступных на указанные даты открывается шаг
выбора тарифов размещения в номере. Тариф зависит от количества дней, на
которые размещаются гости: чем больше дней, тем дешевле цена. Данный шаг
нужен для того, чтобы клиент по желанию мог увеличить или уменьшить время
пребывания в парк-отеле, если это кардинально отразится на цене. Также на
данном шаге могут отобразится наиболее выгодные цены на этот номер на
другие даты, либо на другой аналогичный номер. Форма бронирования на этапе
выбора тарифа приведена на рисунке 22.
48
Рисунок 22 – Форма бронирования: выбор тарифа
После выбора тарифа клиенту необходимо ввести свои данные в форму.
Так
как
все
бронирования
проходят
обязательное
подтверждение
администратором (в дальнейшем планируется подключить предоплату), то в
заявке достаточно только указать контактные данные для связи и ФИО клиента
(Рисунок 23).
49
Рисунок 23 – Форма бронирования: ввод данных клиента
После того, как клиент ввел свои данные и отправил форму, ему на почту
приходит письмо с подтверждением того, что компанией успешно получено и
зарегистрировано его бронирование. Одновременно и приходит уведомление и
на корпоративный адрес электронной почты о том, что было получено новое
бронирование
через
веб-сайт.
Клиенту
сообщение (Рисунок 24).
50
отображается
соответствующее
Рисунок 24 – Форма бронирования: результат бронирования
На второй вкладке страницы бронирования посетители веб-сайта могут
посмотреть календарь доступности номеров для бронирования (Рисунок 25).
51
Рисунок 25 – Форма просмотра расписания доступности номеров для
бронирования
52
Глава 3. Обоснование экономической эффективности проекта
3.1. Выбор и обоснование методики расчёта экономической
эффективности
Само понятие «оценка экономической эффективности информационной
системы» включает в себя понимание, определение и измерение того, насколько
эффективной в экономическом плане будет, или уже стала, оцениваемая
информационная система. При этом экономическая польза рассматривается
чаще всего в плане изменений какого-то показателя, выраженного в денежных
единицах (чаще всего доходы или расходы, или и то, и другое), которые
произошли после внедрения информационной системы.
Метод оценки эффективности информационной системы в общем
понимании это способ проведения оценки эффекта от внедрения ИС в
производственный процесс [2]. Имеются разные способы оценки этого эффекта,
которые могут включать различные процедур, как формальные, так и не
формальные. В этом случае под неформальными процедурами понимают те
процедуры оценки, которые включает субъективные показатели и больше
качественную оценку, нежели количественную эффекта от внедрения ИС.
Формальные
же
количественных
процедуры,
наоборот,
показателей,
которые
стремятся
основаны
к
на
использованию
объективных
и
недвусмысленных числовых показателях.
Внедрение информационных системы в деятельность предприятий
весьма затратное занятие, и чем более крупное предприятие, тем более
затратным оно является. Однако, несмотря на требуемые обязательные затраты,
внедрение современных информационных технологий является чуть ли не
обязательным
требованием
для
сохранения
конкурентоспособности
на
современно рынке. Поэтому предприятия очень серьезно подходят к оценке
эффекта от внедрения ИС, ведь понесенные затраты обязательно должны
окупиться, иначе внедрение ИС невыгодно для фирмы.
53
И хотя задача по оценке экономического эффекта кажется весьма
простой, она является весьма сложной и трудоемкой для крупных предприятий,
ведь там нужно учесть большое количество факторов, что требует наличия
определенных экономических компетенций от разработчика или руководителя
проекта автоматизации предприятия.
Так как предприятия очень внимательно относятся к показателям
эффективности от внедрения ИС, то продвижение на рынке любого
программного
продукта,
предназначенного
для
автоматизации
бизнес-
процессов, потребует проведение расчетов по экономической эффективности
предлагаемого продукта.
Часто из-за пренебрежения этапом оценки экономической эффективности
весь проект оказывался убыточным. Поэтому задача предварительной
экспертизы предлагаемого проекта должна входить в обязательные этапы по
разработке проекта автоматизации.
Специалисты в области разработке информационных системы должны
уметь не только считать затраты на разработку ПО, но и соотносить их с
ожидаемым экономическим эффектом для конкретного предприятия. Иначе
может оказаться так, что разработка по ее завершению, будет уже никому не
нужна.
Задачу оценки экономической эффективности ИС принято делить на
несколько этапов.
Первый этап подразумевает классическую оценку как разницу между
затратами и получаемыми доходами. Второй этап заключается в расчете
совокупной стоимости владения программных продуктом (ведь на поддержание
его работоспособности также нужны ресурсы). Третий этап – оценка внедрения
ИС как инвестиционного проекта (за какой период времени окупятся вложения
и какую доходность стоит ожидать в заданный промежуток времени). Четвертый
этап – разработка нужной системы показателей для расчета и демонстрации
экономического эффекта в конкретной ситуации.
54
Тем не менее, существует ряд общих для всех проектов принципов,
которых нужно придерживаться при оценке их экономической эффективности:

проект необходимо рассматривать в течение всего ЖЦ;

необходимо моделировать денежные потоки;

учитывать фактор времени;

учитывать только те затраты и доходы, которые непосредственно
связаны с проектом;

необходимо проводить сравнение двух вариаций: с проектом и без

по возможности проводить сравнение с уже имеющимися аналогами
него;
и другими проектами;

оценку проводить в несколько этапов;

учитывать наличие различных участников проекта;

учитывать все существенные последствия;

учитывать инфляцию;

проводить оценку с учетом возможных рисков.
Коммерческая эффективность проекта исходя из своего определения
отражает
его
финансовые
последствия
для
предприятия.
Финансовые
последствия могут выражаться в нескольких ключевых показателях, например:

чистый доход;

чистый дисконтированный доход;

внутренняя норма доходности;

индексы доходности затрат и инвестиций;

срок окупаемости.
Подводя итог вышесказанному можно сделать вывод, что оценка
экономической эффективность проектов автоматизации предприятий является
весьма нетривиальной задачей, и подходит к этому процессу нужно
индивидуально в каждом конкретном случае. Тем не менее, нужно
55
придерживаться общепринятых методик и основных принципов оценки
экономической эффективности.
В данном случае экономическая эффективность проекта внедрения
информационной системы будет рассчитана исходя из снижения издержек на
выполнение автоматизируемой деятельности.
Сначала будет выполнен расчет затрат предприятия на обеспечение
базового варианта деятельности, а затем автоматизированного. При чем затраты
будут оцениваться в двух аспектах: финансовые затраты и трудовые затраты.
При расчете изменения трудовых затрат на обработку информации
используется следующая система показателей:
1. Абсолютный показатель снижения трудовых затрат на обработку
информации
Т=Т0-Т1
(1)
где Т0 – годовая трудоемкость обработки информации при базисном
варианте;
Т1 – годовая стоимость обработки информации при проектируемом
варианте.
2. Коэффициент снижения трудовых затрат
Kт=(Т/Т0)*100 (%)
(2)
3. Индекс снижения трудовых затрат, который показывает рост
производительности труда при обработке информации.
Yт=Т0/Т1в
56
(3)
К
стоимостным
показателям
относятся:
абсолютное
снижение
стоимостных затрат (C), коэффициент относительного снижения стоимостных
затрат (КC) индекс снижения стоимостных затрат (YC):
1. Показатель снижения стоимостных затрат
С=С0-С1
(4)
где С0 – годовая стоимость обработки информации при базисном
варианте;
С1 – годовая стоимость обработки информации при проектируемом
варианте.
2. Коэффициент эффективности по затратам:
Kc=(С/С0)*100 (%)
(5)
3. Индекс изменения стоимостных затрат
Yc=С0/С1
(6)
Помимо рассмотренных показателей целесообразно также рассчитать
расчетный коэффициент эффективности капитальных затрат:
Ер = C / КП
(7),
где КП - затраты на создание проекта (проектирование и внедрение).
А также срок окупаемости затрат на внедрение проекта автоматизации
(Ток), рассчитываемые в годах, долях года или в месяцах года:
Ток =1 / Ер
57
(8)
3.2. Расчёт показателей экономической эффективности проекта
Расчеты затрат на выполнение автоматизируемых бизнес-процессов
документооборота будут выполнены для двух вариантов организации бизнеспроцессов: как есть сейчас, и после завершения автоматизации.
Затраты в базовом варианте включают материальные затраты на
расходные материалы (в данном случае это канцелярские принадлежности,
бумага для печати и пр.) и затраты на оплату труда сотрудников.
Материальные затраты в среднем в месяц составляют 1000 рублей.
Соответственно на год потребуется:
1000 х 12 = 12000 руб.
Затраты на оплату труда сотрудников будут равны произведению
затрачиваемому количеству часов и средней часовой ставки сотрудников в
компании. Годовые затраты на заработную плату:
250 руб./час. х 78 часов х 12 месяцев = 234 000 руб/год
Таким образом, суммарные годовые затраты при базовом варианте
организации бизнес-процессов составят:
С1 = 234 000 + 12 000 = 246 000 руб.
Затраты по проектному варианту после автоматизации включают также
материальные затраты на расходные материалы, оплату труда, амортизационные
отчисления на вложения в разработку и внедрение ИС.
Материальные затраты на расходные материалы не уменьшаться и
составят также 1000 рублей в месяц. Соответственно на год потребуется сумма:
1000 х 12 = 12 000 руб.
Затраты на оплату труда уменьшаться за счет снижения трудовых затрат:
250 руб./час. х 16 час х 12 месяцев = 48 000 руб/год
Срок действия проекта – 2 года, тогда амортизационные отчисления
составят 50% (100% / 2) от капитальных вложений на разработку и внедрение
системы.
В состав затрат на разработку системы (КР) входят:

затраты на заработную плату разработчиков, FCзп, руб.;
58

затраты на материалы (без НДС), FCМР, руб.;

затраты на электроэнергию (без НДС), FCЭР, руб.;

амортизационные отчисления, FАt, руб.;

накладные расходы, FCНР;
Для определения затрат на заработную плату необходимо составить
перечень
работ, из
которых
будет
складываться
процесс
разработки
информационной системы. После этого необходимо определить ожидаемую
трудоёмкость каждого этапа в чел. днях.
При опросе специалисты, выступающие в качестве экспертов, дали две
оценки трудоемкости работ:

min
–
минимальная
трудоемкость
работы
при
наиболее
трудоемкость
работы
при
наиболее
благоприятных условиях;

max
–
максимальная
неблагоприятных условиях ее выполнения.
После этого следует определить ожидаемую трудоемкость выполнения i-й
работы:
i = (3min + 2max)/5,
(9)
Ожидаемая трудоемкость представлена в таблице 13.
Таблица 13
Ожидаемая трудоемкость работ
min,
чел. дни
1,2
0,5
0,7
4
1
1
5
1
1
1
1
1
-
Наименование работ
I. Анализ объекта автоматизации
1. Исследование предметной области
2. Постановка задач на разработку ИС
II. Разработка программы
4. Проектирование
5. Выбор средств разработки
6. Реализация программного кода
7. Написание руководства пользователя
III. Внедрение системы
8. Установка системы
9. Обучение пользователей
10. Тестирование на контрольном примере
ИТОГО
59
max,
чел. дни
2
1
1
7
1
2
8
2
2
2
2
2
-
i,
чел. дни
1,52
0,7
0,82
10
1
1,4
6,2
1,4
4,2
1,4
1,4
1,4
15,72
На основании таблицы 13 рассчитываются состав, трудоемкость и
продолжительность работ (Таблица 14).
Продолжительность работ рассчитывается по формуле:
t
 i  (1   )
Ri  k В
,
(10)
где  – доля дополнительных работ, выполняемых данной группой
исполнителей, данный коэффициент может принимать значения от 0 до 0,4;
Ri
– число исполнителей i–й работы, человек (определяется по
фактическим данным, результаты заносятся в таблицу);
k в – коэффициент использования разработчиками сменного времени,
k в = Кр.д. /Кк.д. = 247/365= 0,68.
Таблица 14
Состав, трудоемкость и продолжительность работ
i,
чел. дни
1,52
0,7
0,82
10
1
1,4
6,2
1,4
4,2
1,4
1,4
1,4
-
Наименование работ
I. Анализ объекта автоматизации
1. Исследование предметной области
2. Постановка задач на разработку ИС
II. Разработка программы
4. Проектирование
5. Выбор средств разработки
6. Реализация программного кода
7. Написание руководства пользователя
III. Внедрение системы
8. Установка системы
9. Обучение пользователей
10. Тестирование на контрольном примере
ИТОГО
Ri,
чел.
1
1
1
1
1
1
1
1
1
1
1
1
-
ti ,
дни
3,13
1,44
1,69
20,59
2,06
2,88
12,76
2,88
8,65
2,88
2,88
2,88
32,36
Согласно тарифной ставке программиста один час его работы стоит 250
рублей, тогда затраты на заработную плату разработчикам составят:
FCзп = 250 *8*32,36 = 64720 рублей,
Затраты на материалы и технические средства в таблице 15.
60
Таблица 15
Затраты на материалы и технические средства
№
Наименование материалов
1
Канцелярия
Итого FC M
Наименование технических средств,
№
стоимостью менее 40 тыс. руб.
1
Ноутбук разработчика
Итого FC ТС
Итого FCмр = FCм + FCтс
Кол-во,
единиц
1
Цена,
руб./ед.*
270
Кол-во,
единиц
1
Цена,
руб./ед.*
31390
Сумма,
рублей
270
270
Сумма,
рублей
31390
31390
31660
Затраты на потребляемую электроэнергию во время разработки
представлены в виде таблицы 16.
Таблица 16
Затраты на потребляемую электроэнергию
Наименование работ
I. Анализ объекта автоматизации
1. Исследование предметной области
2. Постановка задач на разработку ИС
II. Разработка программы
4. Проектирование
5. Выбор средств разработки
6. Реализация программного кода
7. Написание руководства пользователя
III. Внедрение системы
8. Установка системы
9. Обучение пользователей
10. Тестирование на контрольном примере
ИТОГО
Время
выполнения
работы, ч
3,13
1,44
1,69
20,59
2,06
2,88
12,76
2,88
8,65
2,88
2,88
2,88
-
Потребляемая
мощность, кВт/ч
WЭi tчi
кВт
0
0,06
0,06
0,06
0,06
0,06
0,06
0,06
0,06
-
0,81
0,00
0,81
9,88
0,99
1,38
6,13
1,38
4,15
1,38
1,38
1,38
14,84
При тарифе 6 руб/Квт*час затраты на электроэнергию составят:
FCэр = 14,84*6 = 89,04 рублей
При разработке информационной системы технические средства
стоимостью более 40 тысяч рублей не использовались, поэтому амортизацию
технических средств закладывать не нужно, т.е. FАt=0 рублей.
Накладные расходы при разработке:
FC нр = 0,3* (FCмр + FCэр +1,3* FCзп)
FC нр =0,3*(31660+89,04+1,3* 64720) = 34765,51 рублей
61
Общие затраты на разработку ИС представлены в таблице 17.
Таблица 17
Затраты на разработку ИС
№
п/п
Статьи затрат
1
Затраты на заработную плату разработчиков
2
Затраты на материалы
3
Затраты на электроэнергию
4
Амортизационные отчисления
5
Накладные расходы
Итого затрат на разработку
Условные
обозначени
я
FCзп
FCмр
FCэр
FАt
FCнр
КР
Сумма
затрат, руб
64720
31660
89,04
0
34765,51
131234,55
Затраты на внедрение ИС включают:

затраты на приобретение дополнительного оборудования для
внедрения ИС;

затраты на приобретение дополнительных производственных
площадей для внедрения ИС, руб.;

затраты на подготовку персонала для работы с ИС, руб.
Дополнительное оборудование для внедрения ИС, стоимость более 40
тыс. рублей не приобретается.
Для работы с ИС необходимо подготовить 3 сотрудников, стоимость
подготовки одного специалиста составляет 1000 рублей. Таким образом, затраты
на подготовку персонала равны: FC пп = 3 х 1000 = 3000 рублей
Итоговые затраты на внедрение ИС представлены в таблице 18.
Таблица 18
Затраты на внедрение системы
№
Статьи затрат
1
Затраты на амортизируемое оборудование
2
Затраты на помещения
3
Затраты на подготовку персонала
Итого
Сумма, руб.
0
0
3000
3000
Таким образом, затраты на разработку и внедрение информационной
системы составят:
К = 131234,55+ 3000 = 134234,55 рублей
62
Таким образом, ежегодные амортизационные отчисления составят:
134234,55 х 50% = 67117,28 рублей.
Всего затраты после внедрения ИС в год составят:
С2 = 48000 + 12000 + 67117,28  127117 руб.
Расчёт значений стоимостных показателей:
Абсолютное снижение стоимостных затрат(∆С) в соответствии с (4):
∆С = 246000 – 127117 = 118883 руб.
Коэффициент относительного снижения стоимостных затрат (Кс) в
соответствии с (5):
Кс = 118883 / 246000*100% = 48 %
Индекс изменения стоимостных затрат (Yc) в соответствии с (6):
Yc = 246000 / 127117 = 1,93
Эффективность капитальных затрат определяется сроком окупаемости
(Т) дополнительных капитальных затрат на разработку и внедрение ИС, в
соответствии с (7):
Т = 134234,55 / 118883 = 1,13 года
После получения всех необходимых расчетных показателей для
обеспечения
наглядности
были
составлены
графические
диаграммы,
представленные на рисунках 26 (сравнительная диаграмма трудовых затрат) и 27
Трудозатраты, час (в мес)
(сравнительная диаграмма стоимостных затрат).
90
80
70
60
50
40
30
20
10
0
Базовый вариант
Автоматизированный
вариант
Изменение
Рисунок 26 – Сравнительная диаграмма трудовых затрат
63
Стоимость, руб. (в год)
300000
250000
200000
150000
100000
50000
0
Базовый вариант
Автоматизированный
вариант
Изменение
Рисунок 27 – Сравнительная диаграмма стоимостных затрат
64
ЗАКЛЮЧЕНИЕ
В ходе проделанной работы были решены следующие задачи:
1)
Была изучена деятельность ООО «Торбеево озеро», в ходе изучения
была исследована организационная структура управления предприятием, а
также его программная и техническая архитектура.
2)
Была исследована и проанализирована текущая организация бизнес-
процессов бронирования номеров. Основной выделенный недостаток –
повышенные трудозатраты администраторов на консультацию клиентов по
звонкам и бронирование номеров. Было принято решение разработать
подсистему автоматизации бронирования номеров на веб-сайте парк-отеля.
3)
Был
проведен
анализ
существующих
разработок
решения
выявленных проблем и выбрана стратегия автоматизации задачи автоматизации
бронирования номеров.
4)
Были обоснованы проектные решения по информационному,
техническому и программному обеспечению. В качестве способа хранения
информации была выбрана реляционная база данных (СУБД – MySQL), языком
программирования был выбран объектно-ориентированный язык веб-разработки
php.
5)
Были разработан проект автоматизации. В процессе разработки был
выбран стандарт и модель организации жизненного цикла проекта, выделены его
основные этапы, для каждого из которых обозначены цель, ключевые участники,
требования к входной информации и получаемые результаты, также были
описаны возможные риски реализации проекта и действия для снижения
вероятности возникновения рисков, возможные пути устранения последствий.
6)
Была реализована информационная система, для которой были
составлены дерево функций и сценарий диалога, база данных, структурная схема
пакета, приведено описание программных модулей.
7)
Приведен контрольный пример реализации проекта и описание
работы разработанной подсистемы бронирования номеров.
65
8)
Была выбрана методика расчета экономической эффективности и
производен расчет в соответствии с выбранной методикой, срок окупаемости
проекта автоматизации менее двух лет (1 год и 10 месяцев)
Таким образом, все задачи, поставленные перед данным дипломным
проектом, выполнены, а значит и основная цель по созданию информационной
системы для автоматизации процессов бронирования номеров в парк-отеле
«Торбеево озеро» выполнена.
66
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1.
ГОСТ Р 57193-2016 Системная и программная инженерия. Процессы
жизненного цикла систем.
2.
ГОСТ
24.702-85
Эффективность
автоматизированных
систем
функционального
моделирования
IDEF0.
управления.
3.
Методология
Руководящий документ. Издание официальное. – М.: ИПК Издательство
стандартов, 2000. – 75 с.
4.
Гайфуллин Б.Н., Обухов И.А., Автоматизация систем управления
предприятиями стандарта ERP-MRPII. – М:Интерфейс-пресс, 2020. – 114 c.
5.
Волк, В.К. Базы данных. Проектирование, программирование,
управление и администрирование / В.К. Волк. – М. : Лань, 2020. – 244 с.
6.
Григорьева, И.И. Проектирование информационных систем / И.И.
Григорьева. – М. : Юрайт, 2021. – 318 с.
7.
Душкин, А.В. Проектирование информационных систем / А.В.
Душкин. – М. : Горячая Линия-Телеком, 2019. – 248 с.
8.
Ипатова,
проектирования
Э.Р.
Методологии
информационных
систем.
и
технологии
Учебник/
Ю.А.
системного
Родичев.
–
СПб.:Питер, 2019. – 315 с.
9.
Лобова Г. Моделирование и анализ бизнес-процессов SADT. – М.:
LAP Lambert Academic Publishing, 2019. – 352 c.
10. Макаров, С.В. Проектирование информационных систем / С.В.
Макаров. – М. : Лань, 2020. – 264 с.
11. Маклаков, С. В. Моделирование бизнес-процессов с AllFusion
Process Modeler (BPwin 4.1) / С.В. Маклаков. – М.: ДИАЛОГ-МИФИ, 2020. – 340
c.
12. Мельников В. П. Информационная безопасность и защита
информации / В. П. Мельников. – М.: Академия, 2018, – 336 стр.
13. Остроух, А.В. Проектирование информационных систем / А.В.
Остроух. – М. : Лань, 2019. – 164 с.
67
14. Тельнов, Ю.Ф. Информационные системы и технологии. Information
System and Technologies: науч. издание под ред. Тельнова Ю. Ф. – М: ЮнитиДана, 2019. – 303 с.
15. Фуфаев
Д.Э.
Фуфаев
Э.В.
Разработка
и
эксплуатация
автоматизированных информационных систем: учебник дя студ. – М.:
Издательский центр «Академия», 2018. – 304 с.
16. Цай, Д. Проектирование информационных систем / Д. Цай. – М. :
Фолиант, 2019. – 320 с.
17. Официальный сайт системы Контур.Отель [Электронный ресурс].
URL: https://kontur.ru/hotel (дата обращения 01.05.2023)
18. Официальный сайт системы TL: WebPMS [Электронный ресурс].
URL: https://www.travelline.ru/products/webpms/ (дата обращения 01.05.2023)
19. Официальный сайт системы Максибукинг [Электронный ресурс].
URL: https://maxi-booking.ru/ (дата обращения 01.05.2023)
68
ПРИЛОЖЕНИЕ
Исходный код программных модулей
<?php
namespace AppBundle\Controller;
use AppBundle\Entity\TypeTask;
use AppBundle\Entity\Role;
use AppBundle\Entity\Staff;
use AppBundle\Entity\User;
use AppBundle\Form\Type\DepartmentForm;
use AppBundle\Form\Type\RoleType;
use AppBundle\Form\Type\StaffFormType;
use AppBundle\Form\Type\UserFormType;
use AppBundle\Entity\Role;
class SpravController extends InitializableController
{
/**
* @return RedirectResponse|Response
* @Config\Route("/typetasks", name = "site_typetasks_index")
*/
public function typetaskindexAction()
{
$typetasks
=
$this->getRepository('Typetask')>createQueryBuilder('k')
->orderBy('k.caption')->getQuery()->getResult();
$this->view['typetasks'] = $typetasks;
$this->navigation = array('active' => 'sprav');
return
$this>render('AppBundle:Sprav:typetaskindex.html.twig');
}
/**
* @return RedirectResponse|Response
* @Config\Route("/typetasks/add", name = "site_typetasks_add")
*/
public function typetaskaddAction()
{
$typetask = new Typetask();
$this->manager->persist($typetask);
$this->manager->flush();
$this->addNotice('success',
'sprav.html.twig',
array('notice' => 'typetask_added', 'caption'
=> $typetask->getCaption())
);
return $this->redirectToRoute('site_typetasks_index');}
$this->forms['typetask'] = $form->createView();
$this->view['typetask'] = null;
$this->navigation = array('active' => 'sprav');
return $this->render('AppBundle:Sprav:typetask.html.twig');
}
/**
* @param Typetask $typetask
69
* @return RedirectResponse|Response
*
@Config\Route("/typetasks/{typetask}/edit",
name
=
"site_typetasks_edit")
* @Config\ParamConverter("typetask", options = {"mapping":
{"typetask": "id"}})
*/
public function typetaskeditAction(Typetask $typetask)
{
$this->manager->flush();
$this->addNotice('success',
'sprav.html.twig',
array('notice' => 'typetask_changed', 'caption'
=> $typetask->getCaption())
);
return
$this>redirectToRoute('site_typetasks_index');
}
$this->forms['typetask'] = $form->createView();
$this->view['typetask'] = $typetask;
$this->navigation = array('active' => 'sprav');
return $this->render('AppBundle:Sprav:typetask.html.twig');
}
/**
* @param Typetask $typetask
* @return RedirectResponse|Response
*
@Config\Route("/typetasks/{typetask}/remove",
name
=
"site_typetasks_remove")
* @Config\ParamConverter("typetask", options = {"mapping":
{"typetask": "id"}})
*/
public function typetaskremoveAction(Typetask $typetask)
{
$this->manager->remove($typetask);
$this->manager->flush();
$this->addNotice('error',
'sprav.html.twig',
array('notice'
=>
'typetask_removed',
'caption'
=>
$typetask->getCaption())
);
return $this->redirectToRoute('site_typetasks_index');
}
/**
* @return RedirectResponse|Response
* @Config\Route("/roles", name = "site_roles_index")
*/
public function roleindexAction()
{
$roles
=
$this->getRepository('Role')>createQueryBuilder('t')
->orderBy('t.caption')->getQuery()->getResult();
$this->view['roles'] = $roles;
$this->navigation = array('active' => 'sprav');
70
return
$this>render('AppBundle:Sprav:roleindex.html.twig');
}
/**
* @return RedirectResponse|Response
* @Config\Route("/roles/add", name = "site_roles_add")
*/
public function roleaddAction()
{
$role = new Role();
$this->manager->persist($role);
$this->manager->flush();
$this->addNotice('success',
'sprav.html.twig',
array('notice' => 'role_added', 'caption' => $role>getCaption())
);
return $this->redirectToRoute('site_roles_index');
}
$this->forms['role'] = $form->createView();
$this->view['role'] = null;
$this->navigation = array('active' => 'sprav');
return $this->render('AppBundle:Sprav:role.html.twig');
}
/**
* @param Role $role
* @return RedirectResponse|Response
*
@Config\Route("/roles/{role}/edit",
name
=
"site_roles_edit")
* @Config\ParamConverter("role", options = {"mapping": {"role":
"id"}})
*/
public function roleeditAction(Role $role)
{
$this->manager->persist($role);
$this->manager->flush();
$this->addNotice('success',
'sprav.html.twig',
array('notice' => 'role_changed', 'caption' =>
$role->getCaption())
);
return $this->redirectToRoute('site_roles_index');
}
$this->forms['role'] = $form->createView();
$this->view['role'] = $role;
$this->navigation = array('active' => 'sprav');
return $this->render('AppBundle:Sprav:role.html.twig');
}
/**
* @param Role $role
* @return RedirectResponse|Response
71
*
@Config\Route("/roles/{role}/remove",
name
=
"site_roles_remove")
* @Config\ParamConverter("role", options = {"mapping": {"role":
"id"}})
*/
public function roleremoveAction(Role $role)
{
$this->manager->remove($role);
$this->manager->flush();
$this->addNotice('error',
'sprav.html.twig',
array('notice' => 'role_removed', 'caption' => $role>getCaption())
);return $this->redirectToRoute('site_roles_index');}
/**
* @return RedirectResponse|Response
* @Config\Route("/categories", name = "site_categories_index")
*/
public function staffindexAction()
{
$categories
=
$this->getRepository('Staff')>createQueryBuilder('rs')
->orderBy('rs.caption')->getQuery()->getResult();
$this->view['categories'] = $categories;
$this->navigation = array('active' => 'sprav');
return
$this>render('AppBundle:Sprav:staffindex.html.twig');
}
/**
* @return RedirectResponse|Response
*
@Config\Route("/categories/add",
name
=
"site_categories_add")
*/
public function staffaddAction()
{
$staff = new Staff();
$this->manager->persist($staff);
$this->manager->flush();
$this->addNotice('success',
'sprav.html.twig',
array('notice' => 'staff_added', 'caption' =>
$staff->getCaption())
);
return $this->redirectToRoute('site_categories_index');
}
$this->forms['staff'] = $form->createView();
$this->view['staff'] = null;
$this->navigation = array('active' => 'sprav');
return $this->render('AppBundle:Sprav:staff.html.twig');
}
/**
* @param Staff $staff
72
* @return RedirectResponse|Response
*
@Config\Route("/categories/{staff}/edit",
name
=
"site_categories_edit")
*
@Config\ParamConverter("staff",
options
=
{"mapping":
{"staff": "id"}})
*/
public function staffeditAction(Staff $staff)
{
$this->manager->persist($staff);
$this->manager->flush();
$this->addNotice('success',
'sprav.html.twig',
array('notice' => 'staff_changed', 'caption' =>
$staff->getCaption())
);
return $this->redirectToRoute('site_categories_index');
}
$this->forms['staff'] = $form->createView();
$this->view['staff'] = $staff;
$this->navigation = array('active' => 'sprav');
return $this->render('AppBundle:Sprav:staff.html.twig');
}
/**
* @param Staff $staff
* @return RedirectResponse|Response
*
@Config\Route("/categories/{staff}/remove",
name
=
"site_categories_remove")
*
@Config\ParamConverter("staff",
options
=
{"mapping":
{"staff": "id"}})
*/
public function staffremoveAction(Staff $staff)
{
$this->manager->remove($staff);
$this->manager->flush();
$this->addNotice('error',
'sprav.html.twig',
array('notice' => 'staff_removed', 'caption' => $staff>getCaption())
);
return $this->redirectToRoute('site_categories_index');
}
}
<?php
namespace AppBundle\Controller;
use AppBundle\Form\Type\LoginFormType;
use AppBundle\Form\Type\ProfileFormType;
use AppBundle\Controller\InitializableController;
use AppBundle\Entity\Role;
use AppBundle\Entity\User;
use AppBundle\Form\Type\RegistrationFormType;
use AppBundle\Form\Type\RemindPasswordFormType;
use Sensio\Bundle\FrameworkExtraBundle\Configuration as Config;
73
use Symfony\Component\Form\FormError;
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoder;
use Symfony\Component\Security\Core\Security;
require('autoload.php');
class SecurityController extends InitializableController
{ /**
* @return RedirectResponse|Response
* @Config\Route("/login", name = "site_security_login")
*/
public function loginAction()
{
if
($this->authChecker->isGranted(Role::USER))
return
$this->redirectToRoute('homepage');
$error = null;
if
($this->request->attributes>has(Security::AUTHENTICATION_ERROR))
$error
=
$this->request->attributes>get(Security::AUTHENTICATION_ERROR);
else {
$error
=
$this->session>get(Security::AUTHENTICATION_ERROR, null);
$this->session>remove(Security::AUTHENTICATION_ERROR);
}
if (!is_null($error)) {
$this->addNotice('error',
'security_login.html.twig',
array('notice' => 'auth_error'));
}
return $this->render('AppBundle:Security:login.html.twig');
}
/**
* @throws NotFoundHttpException
*
@Config\Route("/login-check",
name
=
"site_security_login_check")
*/
public function loginCheckAction()
{
throw $this->createNotFoundException();
}
/**
* @throws NotFoundHttpException
* @Config\Route("/logout", name = "site_security_logout")
*/
public function logoutAction()
{
throw $this->createNotFoundException();
}
/**
* @return RedirectResponse|Response
* @Config\Route("/profile", name = "site_security_profile")
*/
public function profileAction()
74
{if (!is_null($form->get('password')->getData())) {
/** @var UserPasswordEncoder $encoder */
$encoder = $this->get('security.password_encoder');
$this->user->setSalt(User::generateSalt())
->setPassword($encoder->encodePassword($this>user, $this->user->getPassword()));
}
$this->manager->persist($this->user);
$this->manager->flush();
$this->addNotice('success',
'security_profile.html.twig',
array('notice' => 'user_changed')
);
return $this->redirectToRoute('homepage');
}
$this->forms['profile'] = $form->createView();
$this->navigation = array('active' => 'profile');
return
$this>render('AppBundle:Security:profile.html.twig');
}}
<?php
namespace AppBundle\Controller;
use AppBundle\Entity\TypeTask;
use AppBundle\Entity\Role;
use AppBundle\Entity\Staff;
use AppBundle\Entity\User;
use AppBundle\Form\Type\DepartmentForm;
use AppBundle\Form\Type\RoleType;
use AppBundle\Form\Type\StaffFormType;
use AppBundle\Form\Type\UserFormType;
use AppBundle\Entity\Role;
class SpravController extends InitializableController
{
/**
* @return RedirectResponse|Response
* @Config\Route("/typetasks", name = "site_typetasks_index")
*/
public function typetaskindexAction()
{
$typetasks
=
$this->getRepository('Typetask')>createQueryBuilder('k')
->orderBy('k.caption')->getQuery()->getResult();
$this->view['typetasks'] = $typetasks;
$this->navigation = array('active' => 'sprav');
return
$this>render('AppBundle:Sprav:typetaskindex.html.twig');
}
/**
* @return RedirectResponse|Response
* @Config\Route("/typetasks/add", name = "site_typetasks_add")
*/
public function typetaskaddAction()
75
{
$typetask = new Typetask();
$this->manager->persist($typetask);
$this->manager->flush();
$this->addNotice('success',
'sprav.html.twig',
array('notice' => 'typetask_added', 'caption'
=> $typetask->getCaption())
);
return
$this>redirectToRoute('site_typetasks_index');
}
$this->forms['typetask'] = $form->createView();
$this->view['typetask'] = null;
$this->navigation = array('active' => 'sprav');
return $this->render('AppBundle:Sprav:typetask.html.twig');
}
/**
* @param Typetask $typetask
* @return RedirectResponse|Response
*
@Config\Route("/typetasks/{typetask}/edit",
name
=
"site_typetasks_edit")
* @Config\ParamConverter("typetask", options = {"mapping":
{"typetask": "id"}})
*/
public function typetaskeditAction(Typetask $typetask)
{
$this->manager->flush();
$this->addNotice('success',
'sprav.html.twig',
array('notice' => 'typetask_changed', 'caption'
=> $typetask->getCaption())
);
return
$this>redirectToRoute('site_typetasks_index');
}
$this->forms['typetask'] = $form->createView();
$this->view['typetask'] = $typetask;
$this->navigation = array('active' => 'sprav');
return $this->render('AppBundle:Sprav:typetask.html.twig');
}
/**
* @param Typetask $typetask
* @return RedirectResponse|Response
*
@Config\Route("/typetasks/{typetask}/remove",
name
=
"site_typetasks_remove")
* @Config\ParamConverter("typetask", options = {"mapping":
{"typetask": "id"}})
*/
public function typetaskremoveAction(Typetask $typetask)
{
$this->manager->remove($typetask);
76
$this->manager->flush();
$this->addNotice('error',
'sprav.html.twig',
array('notice'
=>
'typetask_removed',
'caption'
=>
$typetask->getCaption())
);
return $this->redirectToRoute('site_typetasks_index');
}
/**
* @return RedirectResponse|Response
* @Config\Route("/roles", name = "site_roles_index")
*/
public function roleindexAction()
{
$roles
=
$this->getRepository('Role')>createQueryBuilder('t')
->orderBy('t.caption')->getQuery()->getResult();
$this->view['roles'] = $roles;
$this->navigation = array('active' => 'sprav');
return
$this>render('AppBundle:Sprav:roleindex.html.twig');
}
/**
* @return RedirectResponse|Response
* @Config\Route("/roles/add", name = "site_roles_add")
*/
public function roleaddAction()
{
$role = new Role();
$this->manager->persist($role);
$this->manager->flush();
$this->addNotice('success',
'sprav.html.twig',
array('notice' => 'role_added', 'caption' => $role>getCaption())
);
return $this->redirectToRoute('site_roles_index');
}
$this->forms['role'] = $form->createView();
$this->view['role'] = null;
$this->navigation = array('active' => 'sprav');
return $this->render('AppBundle:Sprav:role.html.twig');
}
/**
* @param Role $role
* @return RedirectResponse|Response
*
@Config\Route("/roles/{role}/edit",
name
=
"site_roles_edit")
* @Config\ParamConverter("role", options = {"mapping": {"role":
"id"}})
*/
public function roleeditAction(Role $role)
77
{
$this->manager->persist($role);
$this->manager->flush();
$this->addNotice('success',
'sprav.html.twig',
array('notice' => 'role_changed', 'caption' =>
$role->getCaption())
);
return $this->redirectToRoute('site_roles_index');
}
$this->forms['role'] = $form->createView();
$this->view['role'] = $role;
$this->navigation = array('active' => 'sprav');
return $this->render('AppBundle:Sprav:role.html.twig');
}
/**
* @param Role $role
* @return RedirectResponse|Response
*
@Config\Route("/roles/{role}/remove",
name
=
"site_roles_remove")
* @Config\ParamConverter("role", options = {"mapping": {"role":
"id"}})
*/
public function roleremoveAction(Role $role)
{
$this->manager->remove($role);
$this->manager->flush();
$this->addNotice('error',
'sprav.html.twig',
array('notice' => 'role_removed', 'caption' => $role>getCaption())
);
return $this->redirectToRoute('site_roles_index');
}
/**
* @return RedirectResponse|Response
* @Config\Route("/categories", name = "site_categories_index")
*/
public function staffindexAction()
{
$categories
=
$this->getRepository('Staff')>createQueryBuilder('rs')
->orderBy('rs.caption')->getQuery()->getResult();
$this->view['categories'] = $categories;
$this->navigation = array('active' => 'sprav');
return
$this>render('AppBundle:Sprav:staffindex.html.twig');
}
/**
* @return RedirectResponse|Response
*
@Config\Route("/categories/add",
name
=
"site_categories_add")
78
*/
public function staffaddAction()
{
$staff = new Staff();
$this->manager->persist($staff);
$this->manager->flush();
$this->addNotice('success',
'sprav.html.twig',
array('notice' => 'staff_added', 'caption' =>
$staff->getCaption())
);
return $this->redirectToRoute('site_categories_index');
}
$this->forms['staff'] = $form->createView();
$this->view['staff'] = null;
$this->navigation = array('active' => 'sprav');
return $this->render('AppBundle:Sprav:staff.html.twig');
}
/**
* @param Staff $staff
* @return RedirectResponse|Response
*
@Config\Route("/categories/{staff}/edit",
name
=
"site_categories_edit")
*
@Config\ParamConverter("staff",
options
=
{"mapping":
{"staff": "id"}})
*/
public function staffeditAction(Staff $staff)
{
$this->manager->persist($staff);
$this->manager->flush();
$this->addNotice('success',
'sprav.html.twig',
array('notice' => 'staff_changed', 'caption' =>
$staff->getCaption())
);
return $this->redirectToRoute('site_categories_index');
}
$this->forms['staff'] = $form->createView();
$this->view['staff'] = $staff;
$this->navigation = array('active' => 'sprav');
return $this->render('AppBundle:Sprav:staff.html.twig');
}
/**
* @param Staff $staff
* @return RedirectResponse|Response
*
@Config\Route("/categories/{staff}/remove",
name
=
"site_categories_remove")
*
@Config\ParamConverter("staff",
options
=
{"mapping":
{"staff": "id"}})
*/
public function staffremoveAction(Staff $staff)
{
79
$this->manager->remove($staff);
$this->manager->flush();
$this->addNotice('error',
'sprav.html.twig',
array('notice' => 'staff_removed', 'caption' => $staff>getCaption())
);
return $this->redirectToRoute('site_categories_index');
}
}
<?php
namespace AppBundle\Controller;
use AppBundle\Form\Type\LoginFormType;
use AppBundle\Form\Type\ProfileFormType;
use AppBundle\Controller\InitializableController;
use AppBundle\Entity\Role;
use AppBundle\Entity\User;
use AppBundle\Form\Type\RegistrationFormType;
use AppBundle\Form\Type\RemindPasswordFormType;
use Sensio\Bundle\FrameworkExtraBundle\Configuration as Config;
use Symfony\Component\Form\FormError;
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoder;
use Symfony\Component\Security\Core\Security;
require('autoload.php');
class SecurityController extends InitializableController
{
/**
* @return RedirectResponse|Response
* @Config\Route("/login", name = "site_security_login")
*/
public function loginAction()
{
if
($this->authChecker->isGranted(Role::USER))
return
$this->redirectToRoute('homepage');
$error = null;
if
($this->request->attributes>has(Security::AUTHENTICATION_ERROR))
$error
=
$this->request->attributes>get(Security::AUTHENTICATION_ERROR);
else {
$error
=
$this->session>get(Security::AUTHENTICATION_ERROR, null);
$this->session>remove(Security::AUTHENTICATION_ERROR);
}
if (!is_null($error)) {
$this->addNotice('error',
'security_login.html.twig',
array('notice' => 'auth_error'));
}
return $this->render('AppBundle:Security:login.html.twig');
}
/**
* @throws NotFoundHttpException
80
*
@Config\Route("/login-check",
name
=
"site_security_login_check")
*/
public function loginCheckAction()
{
throw $this->createNotFoundException();
}
/**
* @throws NotFoundHttpException
* @Config\Route("/logout", name = "site_security_logout")
*/
public function logoutAction()
{throw $this->createNotFoundException();}
/**
* @return RedirectResponse|Response
* @Config\Route("/profile", name = "site_security_profile")
*/
public function profileAction()
{
if (!is_null($form->get('password')->getData())) {
/** @var UserPasswordEncoder $encoder */
$encoder = $this->get('security.password_encoder');
$this->user->setSalt(User::generateSalt())
->setPassword($encoder->encodePassword($this>user, $this->user->getPassword()));
}
$this->manager->persist($this->user);
$this->manager->flush();
);
return $this->redirectToRoute('homepage');
}
$this->forms['profile'] = $form->createView();
$this->navigation = array('active' => 'profile');
return
$this>render('AppBundle:Security:profile.html.twig');
}}
81
Выпускная квалификационная работа – дипломный проект выполнен мной
совершенно самостоятельно. Все использованные в работе материалы и
концепции из опубликованной научной литературы и других источников имеют
ссылки на них. Выпускная квалификационная работа – дипломный проект
прошел проверку на корректность заимствования в системе «АНТИПЛАГИАТ».
Настоящим подтверждаю, что даю разрешение Университету «Синергия»
на размещение полного текста моей выпускной квалификационной работы –
дипломного проекта, отзыва на мою выпускную квалификационную работу –
дипломный
проект
в
электронно-библиотечной
системе
Университета
«Синергия».
_________ /_______________/
(Подпись)
« »
82
(Ф.И.О.)
2024 г.
Скачать