Table 'system_articles_sessions' is marked as crashed and should be repaired ПРОЕКТИРОВАНИЕ АИС «ТУРИСТИЧЕСКАЯ ФИРМА» - X Студенческий научный форум - 2018
     
 
X Международная студенческая научная конференция
«Студенческий научный форум» - 2018
 
     

ПРОЕКТИРОВАНИЕ АИС «ТУРИСТИЧЕСКАЯ ФИРМА»
Путивльская И.Ю.
Текст научной работы размещён без изображений и формул.
Полная версия научной работы доступна в формате PDF


ВВЕДЕНИЕ

Развитие рыночных отношений в экономике и научно-технический прогресс ускорили темпы внедрения во все сферы социально-экономической жизни общества последних достижений в области информационных технологий. Темпы роста информатизации всех областей производства и управления в последние годы заметно повысили свое практическое значение, становясь определяющим фактором развития и тесно переплетаясь с процессом производства товаров и услуг. Информация в современном мире превратилась в один из наиболее важных ресурсов, а информационные системы стали необходимым инструментом практически во всех сферах деятельности человека. Информационная система стала неотъемлемой частью функционирования практически любой организации, поэтому нет необходимости обсуждать вопрос актуальности разработки и внедрения информационных систем. Однако вопрос системности подходов к ее проектированию и качества разработки до сих пор является актуальным [1].

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

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

Объектом исследований курсовой работы является туристическое агентство.

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

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

Задачи курсовой работы:

1) рассмотреть специальную литературу по данной теме;

2) разработать техническое задание;

3) разработать модели для проектирования;

4) реализовать программу;

5) проверить функционал разработанной информационной системы.

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

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

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

В третьем разделе произведена программная реализация автоматизированной информационной системы.

Данная курсовая работа состоит из 48 страниц, 28 рисунков, 3 таблицы.

1 Аналитическая часть

Проектирование информационной системы охватывает три основные области: проектирование объектов данных, которые будут реализованы в базе данных; проектирование программ, экранных форм, отчетов, которые будут обеспечивать выполнение запросов к данным; техническое проектирование с учетом конкретной среды [3].

  1.  
    1. Анализ предметной области

Информационная система (ИС) всегда специализируется на информации из определенной области реального мира.

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

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

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

В предметном подходе объекты предметной области определяются с таким расчетом, чтобы их можно было использовать при решении множества разнообразных, заранее не определенных задач [4].

В курсовой работе будем использовать комбинацию этих двух подходов.

Опишем предметную область – функционирование туристической фирмы.

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

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

После выбора всего вышеперечисленного и оплаты клиентом путёвки, вся информация заносится в базу данных, и клиент отправляется домой до отправки его на отдых. Компания контактирует к с компаниями-перевозчиками, так и с гостиничными комплексами на местах отдыха, а также непосредственно с самим клиентом, поэтому в процессе отдыха клиента компания контролирует весь процесс передвижения клиента: доставку клиента на курорт, устройство клиента в гостиницу, доставку обратно домой [1].

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

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

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

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

Таким образом, разобравшись с основным понятием и предметной областью данной работы необходимо разработать АИС «Туристическая фирма». Следующим этапом является моделирование разрабатываемой АИС.

  1.  
    1. Построение модели IDEF0

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

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

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

Для построения контекстной диаграммы информационной системы использовался инструмент AllFusion Process Modeler r7 (BPwin) — CASE-средство для описания бизнес-процессов [7]. На рисунке 1 представлена контекстная диаграмма всей системы в целом.

Рисунок 1 – Контекстная диаграмма системы

На данной диаграмме:

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

– Обращение клиента;

– Данные о клиенте.

2. Управление (Control) – правила, стратегии, процедуры или стандарты, которыми руководствуется работа.

– Документы, регламентирующие отношения с туристами;

– Бухгалтерские и статические документы;

– Прайс-листы туров;

– Правила предоставления гостиничный услуг в РФ.

3. Выход (Output) – материалы или информация, которые производятся работой.

– Оформленная путёвка клиента;

– Отчеты.

4. Механизм (Mechanism) – ресурсы, которые выполняют работу.

– Сотрудники

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

Рисунок 2 – Декомпозиция контекстной диаграммы системы

Далее была произведена декомпозиция четырёх блоков соответственно, так как содержат в себе дополнительные составляющие. На рисунке 3 показана декомпозиция блока «Обработка обращений клиента», которая включает следующие процессы:

1) «предоставление перечня услуг» – клиенту предоставляются всевозможные туры;

2) «предоставление консультации» – менеджер по работе с клиентами консультирует клиента.

3) «Приём данных клиента» – регистрация клиента (добавление клиента в базу данных);

4) «Выявление требований» – клиент оповещает менеджера по продажам о критериях тура.

Рисунок 3 – Детализация блока «Обработка обращений клиентов»

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

Рисунок 4 – Детализация блока «Подбор туров»

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

На рисунке 6 показана декомпозиция блока «Приём оплаты», в котором описываются процессы, связанные с оплатой тура клиентом, после которого клиент получает чек за плату и билеты. Результат процесса – оформленная путёвка.

Рисунок 5 – Детализация блока «Оформление документов»

Рисунок 6 – Детализация блока «Приём оплаты»

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

Диаграммы потоков данных (DFD) показывают, как каждый процесс преобразует свои входные данные в выходные, и выявляют отношения между этими процессами. DFD представляет моделируемую систему как сеть связанных работ. Построенная схема бизнес-процесса, показывает материальные и информационные потоки [8].

  1. Проектирование информационной системы

Ранее было выявлено, что для рационального и продуктивного управления туристической фирмы необходимо произвести её автоматизацию. После выявление основных процессов по данной теме, необходимо разработать техническое задание [9].

  1.  
    1. Техническое задание

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

  1. Основания для разработки

Данное программное изделие разрабатывается на основании задания на курсовую работу по дисциплине «Методы и средства проектирование информационных систем и технологий».

  1. Назначение разработки

Основным назначением является организация системы управления туристической фирмы.

  1. Требования к программе или к программному изделию

  1.  
    1. Требования к функциональным характеристикам

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

– регистрация клиентов;

– регистрация туристических путёвок;

– принятие /увольнение сотрудников;

– выбор клиентом тура;

– заключение договора.

Входной информацией системы является:

– информация о турах в туристической фирме;

– информация о сотрудниках туристической фирмы;

– информация о клиентах туристической фирмы и их заказах.

Выходной информацией системы является:

– информация о сроке действия договора клиента с туристической фирмой;

– информация об оплате клиентом выбранного тура

– отчеты, минимальный перечень формируемых в системе отчетов следующий:

  1. список возможных туров;

  2. список сотрудников;

  3. список клиентов.

  1.  
    1. Требования к надежности

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

  • отсутствие ошибок;

  • устойчивость к возможным ошибкам;

  • автосохранение вводимой информации;

  • обеспечивать целостность данных.

  1.  
    1. Условия эксплуатации

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

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

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

  • проверка баз данных на наличие ошибок и неисправностей в конце рабочего дня;

  • чистка оборудования;

  • температура воздуха в помещении +20 …+25°С;

  • проветривание помещения;

  • уборка помещения.

3.4. Требования к составу и параметрам технических средств

Настоящая система должна работать на компьютерах IBM PC. Оперативная память на каждом компьютере, не менее 128 Мб. Свободное место на жестком диске не менее 10 Гб. Монитор, мышь, клавиатура и принтер на ЭВМ клиента.

  1.  
    1. Требования к информационной и программной совместимости

Система должна работать под управлением семейства операционных систем Win 32 и Win 64. Среда разработки программного приложения MS Visual Studio 2017, СУБД SQLite.

4.Требования к программной документации

Программная документация должна содержать следующие документы (см. ГОСТ 19.101-77):

1.Программные документы:

– Спецификация (ГОСТ 19.202-78);

– Текст программы (ГОСТ 19.401-78);

– Описание программы (ГОСТ 19.402-78);

– Пояснительная записка (ГОСТ 19.404-79);

2.Эксплуатационные документы:

– Ведомость эксплуатационных документов (ГОСТ 19.507-79);

– Формуляр (ГОСТ 19.501-78);

– Описание применения (ГОСТ 19.502-78);

– Руководство системного программиста (ГОСТ 19.503-79);

– Руководство программиста (ГОСТ 19.504-79);

– Руководство оператора (ГОСТ 19.505-79);

Требования к перечисленным документам не отличаются от требований, определенных в ЕСПД [4].

5.Технико-экономические показатели

Затраты на разработку сведены в таблицу 1.

Таблица 1 – Смета затрат на разработку ПО

Смета затрат на разработку ПО

Элементы затрат

Стоимость, руб.

Компьютер Pentium G4400

25000

Хозяйственный инвентарь (мебель)

10000

Амортизация оборудования и инструментальные средства

4000

Хоз. материалы

1000

Продолжение таблицы 1

Элементы затрат

Стоимость, руб.

Ремонт оборудования

2000

Итого

42000

6.Стадии и этапы разработки

Общая продолжительность разработки и внедрения системы составляет 5 месяцев с 10/02/2017 по 10/07/2017. Общая стоимость работ составляет 42000,00 руб. График реализации проекта представлен в таблице 2.

7.Порядок контроля и приемки

По завершении работы разработчик предоставляет заказчику выполненную работу с актом приемки-сдачи работ и с приложением к нему отчетных документов [5].

Таблица 2 – график реализации проекта

Этапы реализации проекта

месяцы

1

2

3

4

5

1 Разработка ПО.

         

1.1 Техническое задание.

         

1.2 Эскизный проект.

         

1.3 Технический проект.

         

1.4 Рабочий проект.

         

1.5 Внедрение.

         

2 Покупка ЭВМ, оборудования и инструментальных средств для заказчика (осуществляется за средства заказчика).

         

3 Обучение персонала (осуществляется за средства заказчика, согласно отдельному договору).

         

4 Эксплуатация АРМ (пробная эксплуатация сотрудниками заказчика под контролем разработчика).

         
2.1 Разработка модели использования

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

Прецеденты удовлетворяют функциональные требования за счет предоставления субъекту полезного результата. Прецедент наглядно показывает варианты использования системы.

Диаграмма прецедентов – это наглядное графическое представление субъектов и прецедентов и их взаимодействий в системе вместе с любыми дополнительными определениями и спецификациями. Она представляет собой не просто некую схему, а является полностью документированной моделью предполагаемого поведения системы [10]. Диаграмма прецедентов для моделируемой системы представлена на рисунке 7.

Субъекты – клиент, менеджер по работе с клиентами, турагент и туроператор.

Рисунок 7 – Диаграмма вариантов использования

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

Таблица 3 - Распределение требований по субъектам и прецедентам

п/п

Требование

Субъект

Прецедент

1

Клиент регистрируется на обслуживание, менеджер вносит данные клиента в базу

Клиент, Менеджер

Регистрация клиента

2

Клиент оплачивает работу, менеджер принимает оплату

Клиент, Менеджер

Оплата

3

Менеджер принимает заказ

Менеджер

Приём заказа

5

Турагент заказывает новые туры и регистрирует их в базе данных

Турагент

Регистрация туров

6

Туроператор поставляет новые туры

Туроператор, Турагент

Поставка туров

7

Турагент ведет учет туров

Турагент

Учет туров

8

Клиент предъявляет требования для тура

Турагент, Клиент

Подбор тура

9

Туроператор заказывает тур

Туроператор

Заказ тура

10

Турагент обеспечивает билетами на самолет и в гостинице, выдает готовый тур, клиент принимает

Турагент, Клиент

Обслуживание

  1.  
    1. Создание концептуальной модели базы данных

В разрабатываемой системе множество входной информации, которую нужно где-то хранить и обрабатывать, то есть в данном случае использовать удобно базу данных [7]. Для проектирования БД было использовано CASE средство ERwin [8].

В базе данных «Туристическая фирма» было выбрано 11 сущностей:

  1. «Клиент» – содержит данные о клиентах салона;

  2. «Должность» – содержит информацию о существующих должностях салона;

  3. «Сотрудник» – содержит данные о работниках и о занимаемых ими должностях;

  4. «Заявка» – содержит информацию о требованиях конкретного клиента;

  5. «Заказ» – содержит данные о клиентах сотрудниках, которые будут обслуживать клиентов;

  6. «Место назначение» – содержит данные о странах и городах;

  7. «Место поездки» – содержит данные о месте поездки и стоимость;

  8. «Транспорт» – содержит информацию видах транспортах и стоимости;

  9. «Место размещения» – содержит информацию о всевозможных местах проживания и стоимости;

  10. «Путёвка» – содержит информацию о комплексном туре;

  11. «Договор» –информация о клиенте, сотруднике и путёвке.

На рисунке 8 представлена схема базы данных.

Рисунок 8 – Схема базы данных

Было принято решение использовать базу данных – SQLite. Это компактная встраиваемая реляционная база данных [13]. Было создано 11 таблиц и 3 представления для удобного просмотра таблиц. Таблицы показаны на рисунке 9.

Таким образом, на данном этапе была спроектирована схема базы данных и реализована в SQLite.

Рисунок 9 – таблицы и представления

2.4 Создание диаграммы классов

Диаграмма классов - определение внутреннего состояния системы. Она иллюстрирует обобщенное визуальное представление обо всех элементах модели.Класс (class) - это описание группы объектов с общими свойствами (атрибутами), поведением (операциями), отношениями с другими объектами и семантикой. Таким образом, класс представляет собой шаблон для создания объекта. К элементам, принимающим участие в моделировании классов, относятся сами классы их атрибуты и операции, ассоциации, агрегации и композиции, а также обобщения [14]. Диаграмма классов для системы «Туристическая фирма» представлена на рисунке 10. Таким образом, была создана диаграмма классов для информационной системы «Туристическая фирма».

Рисунок 10 – Диаграмма классов

  1. Программная реализация информационной системы и проверка функциональности

В качестве средства разработки программы используется язык программирования C# и среда Visual Studio 2017 [15]. Фрагменты исходного кода расположены в приложении Б.

При запуске приложения появляется стартовая страница (рисунок 11), которая даёт возможность работать в таких режимах как клиент, сотрудники и администратор. Это было реализовано для удобного выполнения обязанностей и экономии времени.

Рисунок 11 – Стартовая страница

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

Вышеописанное показано на рисунке 12.

Рисунок 12 – Добавление нового клиента

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

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

Рисунок 13 – Неверный вход сотрудника

Рисунок 14 – Выбор клиента из базы данных фирмы

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

Рисунок 15 – Выбор клиента из базы данных фирмы

После выполнения вышеперечисленных действий последней задачей остаётся составление договора. Это обеспечивает переход на вкладку «Составление договора». Выбирается дата на момент составления договора. Далее необходимо нажать на кнопку «Вывести информацию». В текстовые поля заносятся данные клиента, сотрудника и сумма, которую необходимо оплатить. Результат изображен на рисунке 16. При нажатии на кнопку «Заключить» договор сохраняется в туристической фирме.

Рисунок 16 – Вывод информации в договор

Заключение договора показано на рисунке 17. Рядом можно просмотреть отчет данного договора. Можно также воспользоваться кнопкой «Печать договора», в результате чего появится предварительный просмотр для печати документа. Это отображено на рисунке 18.

Рисунок 17 – Заключение договора

Рисунок 18 – Предварительный просмотр отчета

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

Рисунок 19 – вкладка «Статистика»

На вкладке «Отчетность» можно просмотреть такие отчеты как договоры, путёвки и клиенты, то есть какими данными владеет туристическая фирма. Также есть возможность их распечатать. Данный результат показан на рисунке 20.

Ранее было сказано, что вход могут осуществлять сотрудники, которые обслуживают клиентов, также есть в системе администратор, который выполняет функции добавления в базу данных фирмы новых путёвок и сотрудников. Вход показан на рисунке 21. На рисунке 22 изображено добавление новой путёвки. Есть возможность изменить цену выбранной путевки, что показано на рисунках 23 – 24. Также для удобного поиска можно отфильтровать все путёвки по выбранной стране.

Рисунок 20 – Вкладка «отчетность»

Рисунок 21 – Вход администратора

Рисунок 22 – Добавление новой путёвки

Рисунок 23 – Изменение цены путёвки

Рисунок 24 – Изменение цены путёвки

Следующая вкладка «Принятие на работу/увольнение» показана на рисунке 25, в которой осуществляется добавление нового сотрудника в базу данных. Изменение должности изображено на рисунке 26. Увольнение продемонстрировано на рисунке 27. Поиск показан на рисунке 28.

Рисунок 25 – Добавление нового сотрудника

Рисунок 26 – Изменение должности

Рисунок 27 – Увольнение сотрудника

Рисунок 28 – Поиск сотрудника

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

Проанализировав выше представленные результаты, можно убедится, что данная программа работает правильно и готова к дальнейшему использованию. Процесс проверки представлен скриншотами экрана с вводом исходных данных и полученными результатами, которые удовлетворили правильность работы программы [16].

ЗАКЛЮЧЕНИЕ

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

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

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

В процессе разработки курсовой работы были получены навыки работы и программирования приложений на языке Си# в среде Visual Studio 2017 В результате работы получена работоспособная программа, реализующая информационную систему «Туристическая фирма». Информационные системы становятся всё больше актуальными из-за большого количества информации, поэтому необходимо искать эффективные и надёжные разработки для её создания.

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ
  1. Грекул В. И., Денищенко Г. Н., Коровкина Н. Л. Проектирование информационных систем //Интернет-университет информационных технологий-ИНТУИТ. ру. – 2005.

  2. Рубцова Н. В. Социально-экономическая эффективность туристской деятельности. Теория, методология, практика. – 2015.

  3. Коваленко, В.В. Проектирование информационных систем: учеб. пособие для вузов / В.В. Коваленко. – М.: Форум, 2012.

  4. Кобайло А. С. Проектирование информационных систем. – 2014.

  5. Крутик А. Б. Особенности конкурентной среды на рынке туристических услуг и конкурентоспособность туристических фирм //Научно-технические ведомости Санкт-Петербургского государственного политехнического университета. Экономические науки. – 2014. – №. 1. – С. 98-104.

  6. Ким С. Н., Чан К. Х. Проектирование анализ производительности и IDEF0 для моделирования предприятия в РРП //Международный журнал производственной экономики. – 2002. – Т. 76. – №. 2. – С. 121-133.

  7. Рябова Ю. С., Пирогов С. П. Моделирование бизнес-процессов производственной компании. – 2007.

  8. Репин В. В., Елиферов В. Г. Процессный подход к управлению //Моделирование бизнес-процессов. – 2004. – Т. 20.

  9. «Техническое задание на создание автоматизированной системы» / – М.: ГОСТ 34.602 – 89, 1990.

  10. Буч Г., Якобсон И., Рамбо Д. Язык UML. Руководство пользователя. – Litres, 2017.

  11. Кузнецов С. Д. Базы данных //Модели и языки. М.: Бином пресс. – 2008.

  12. Губина Е. А., Ирзаев Г. Х., Адеева М. Г. Проектирование информационной системы на основе связывания CASE-инструментария и реляционной базы данных //Наука и бизнес: пути развития. – 2014. – №. 4. – С. 75-79.

  13. Оуэнс М., Аллен Г. На SQLite. – Пресс-ЛВ 2010.

  14. Диаграммы классов [Электронный ресурс]. – Режим доступа: https://studfiles.net/preview/6214574/page:2/#5

  15. Леоненков, А. В. Объектно-ориентированный анализ и проектирование с использованием UML и IBM Rational Rose / А.В. Леоненков. - М.: Бином. Лаборатория знаний, Интернет-университет информационных технологий, 2006. - 320 c.

  16. Ларман, Крэг Применение UML 2.0 и шаблонов проектирования. Введение в объектно-ориентированный анализ, проектирование и итеративную разработку / Крэг Ларман. - М.: Вильямс, 2013. - 736 c.

  17. Попов Н. Проектирование информационных систем. – 2009.

  18. Аверина А. Е. Проектирование информационных систем //Проблемы современной науки и образования. – 2015. – №. 12. – С. 83.

  19. Гвоздева Т. В., Баллод Б. А. Проектирование информационных систем: учебное пособие //Современные проблемы науки и образования. – 2009. – №. 1.

ПРИЛОЖЕНИЕ А

Диаграммы DFD

Рисунок А.1 – Контекстная диаграмма

Рисунок А.2 – Декомпозиция контекстной диаграммы

Рисунок А.3 – Декомпозиция блока «Обработка обращений клиентов»

Рисунок А.4 – Декомпозиция блока «Подбор туров»

Рисунок А.5 – Декомпозиция блока «Оформление документов»

Рисунок А.6 – Декомпозиция блока «Приём оплаты»

ПРИЛОЖЕНИЕ Б

Фрагмент исходного кода

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Data.SQLite;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.Drawing;

using System.Windows.Forms;

using System.Windows.Forms.DataVisualization.Charting;

using tur.classes;

namespace tur

{

public partial class Form3 : Form

{

private static Users user;

private Tour tur = new Tour();

private Client cl = new Client();

public Form3(Users u)

{

InitializeComponent();

user = u;

this.Text = "Обслуживание клиента";

}

//public Form3(Tour t)

//{

// tur = t;

//}

public void loadTour() {

List l1 = Tour.load();

DataTable dt = new DataTable();

DataColumn dc;

dc = new DataColumn("№", typeof(string));

dt.Columns.Add(dc);

dc = new DataColumn("Страна", typeof(string));

dt.Columns.Add(dc);

dc = new DataColumn("Город", typeof(string));

dt.Columns.Add(dc);

dc = new DataColumn("Транспорт", typeof(string));

dt.Columns.Add(dc);

dc = new DataColumn("Место размещения", typeof(string));

dt.Columns.Add(dc);

dc = new DataColumn("Сумма", typeof(string));

dt.Columns.Add(dc);

for (int i = 0; i < l1.Count; i++)

{

dt.Rows.Add(new Object[] { l1[i].id, l1[i].country, l1[i].city, l1[i].transport, l1[i].placement, l1[i].sum });

}

dataGridView2.DataSource = dt;

}

private void Form3_Load(object sender, EventArgs e)

{

label4.Text = user.login;

dataGridView1.DataSource = loadClient(false, "");

load_order();

loadTour();

loadContract();

comboBox1.Items.Add("Россия");

comboBox1.Items.Add("Грузия");

comboBox1.Items.Add("Франция");

comboBox1.Items.Add("Германия");

comboBox1.Items.Add("Турция");

comboBox1.Items.Add("Китай");

}

public static string getFIO()

{

Database db = Database.getInstance();

string FIO = "";

string s = "SELECT name FROM employee WHERE login='" + user.login + "'";

SQLiteDataReader read = db.select(s);

while (read.Read())

{

FIO = read["name"].ToString();

}

db.close();

return FIO;

}

public void load_order() {

List l1 = Orders.load();

DataTable dt = new DataTable();

DataColumn dc;

dc = new DataColumn("№", typeof(string));

dt.Columns.Add(dc);

dc = new DataColumn("ФИО клиента", typeof(string));

dt.Columns.Add(dc);

dc = new DataColumn("ФИО сотрудника", typeof(string));

dt.Columns.Add(dc);

for (int i = 0; i < l1.Count; i++)

{

dt.Rows.Add(new Object[] { l1[i].id, l1[i].surn_c + " " + l1[i].nam_c + " " + l1[i].patr_c, l1[i].name_e });

}

dataGridView3.DataSource = dt;

}

private void loadContract()

{

List l = Contract.load();

DataTable dt = new DataTable();

DataColumn dc = new DataColumn("№", typeof(int));

dt.Columns.Add(dc);

dc = new DataColumn("Дата", typeof(string));

dt.Columns.Add(dc);

dc = new DataColumn("Фамилия клиента", typeof(string));

dt.Columns.Add(dc);

dc = new DataColumn("ФИО сотрудника", typeof(string));

dt.Columns.Add(dc);

dc = new DataColumn("Страна", typeof(string));

dt.Columns.Add(dc);

dc = new DataColumn("Город", typeof(string));

dt.Columns.Add(dc);

dc = new DataColumn("Сумма", typeof(int));

dt.Columns.Add(dc);

for (int i = 0; i < l.Count; i++)

dt.Rows.Add(new Object[] { l[i].id, l[i].data, l[i].sur_c, l[i].name_e, l[i].country, l[i].city, l[i].summa });

}

dataGridView4.DataSource = dt;

}

private DataTable loadClient(bool search, string par)

{List l = Client.load_client_search(search, par);

DataTable dt = new DataTable();

DataColumn dc = new DataColumn("№", typeof(int));

dt.Columns.Add(dc);

dc = new DataColumn("Фамилия", typeof(string));

dt.Columns.Add(dc);

dc = new DataColumn("Имя", typeof(string));

dt.Columns.Add(dc);

dc = new DataColumn("Отчество", typeof(string));

dt.Columns.Add(dc);

dc = new DataColumn("Телефон", typeof(string));

dt.Columns.Add(dc);

dc = new DataColumn("Паспортные данные", typeof(string));

dt.Columns.Add(dc);

for (int i = 0; i < l.Count; i++)

{

dt.Rows.Add(new Object[] { l[i].id, l[i].surname, l[i].name, l[i].patronymic, l[i].phone, l[i].passport });

}

return dt;

}

private void button7_Click(object sender, EventArgs e)

{

string data_cont = dateTimePicker1.Text;

int summa = Contract.getSum();

textBox12.Text = summa.ToString();

textBox10.Text = Client.getFIO();

textBox11.Text = getFIO();

}

private void button2_Click(object sender, EventArgs e)

{

int rowindex1 = dataGridView1.CurrentCell.RowIndex;

int id = Int16.Parse(dataGridView1.Rows[rowindex1].Cells[0].Value.ToString());

Client.id_c = id;

int id_r = Request.search(id);

Database db = Database.getInstance();

string s = "INSERT INTO orders(id_request,id_employee) VALUES(" + id_r + "," + user.id + ")";

string s2 = "SELECT id from orders WHERE id_request=" + id_r;

//MessageBox.Show(id_r.ToString() + ", " + user.id.ToString());

db.query(s);

SQLiteDataReader read = db.select(s2);

while (read.Read())

{

Contract.ord = Int16.Parse(read["id"].ToString());

}

db.close();

load_order();

MessageBox.Show("Клиент выбран!");

}

private void button1_Click(object sender, EventArgs e)

{

string g = comboBox1.SelectedItem.ToString();

List l1 = Tour.filtr_tour(g);

DataTable dt = new DataTable();

DataColumn dc;

dc = new DataColumn("№", typeof(string));

dt.Columns.Add(dc);

dc = new DataColumn("Страна", typeof(string));

dt.Columns.Add(dc);

dc = new DataColumn("Город", typeof(string));

dt.Columns.Add(dc);

dc = new DataColumn("Транспорт", typeof(string));

dt.Columns.Add(dc);

dc = new DataColumn("Место размещения", typeof(string));

dt.Columns.Add(dc);

dc = new DataColumn("Сумма", typeof(string));

dt.Columns.Add(dc);

for (int i = 0; i < l1.Count; i++)

{

dt.Rows.Add(new Object[] { l1[i].id, l1[i].country, l1[i].city, l1[i].transport, l1[i].placement, l1[i].sum });

}

dataGridView2.DataSource = dt;

}

private void button5_Click(object sender, EventArgs e)

{

int rowindex1 = dataGridView2.CurrentCell.RowIndex;

int id = Int32.Parse(dataGridView2.Rows[rowindex1].Cells[0].Value.ToString());

Tour.id_t = id;

// textBox2.Text = Tour.id_t.ToString();

if (Tour.id_t.ToString() != "")

{ MessageBox.Show("Путёвка успешно выбрана!"); }

}

private void button4_Click(object sender, EventArgs e)

{

loadTour();

}

private void button9_Click(object sender, EventArgs e)

{

string data_cont = dateTimePicker1.Text;

int summa = Contract.getSum();

textBox12.Text = summa.ToString();

Contract contr = new Contract(data_cont, summa, Contract.ord, Tour.id_t);

contr.save();

loadContract();

richTextBox2.Text = "t Договор n" + "Дата: " + dateTimePicker1.Text + "n" + "Клиент: " + textBox10.Text + "n" + "Сотрудник: " + textBox11.Text + "n" + "Сумма: " + textBox12.Text+"n"+"Место поездки: "+ get_name_tour()+"n ";

richTextBox2.Text += "____________________________________________________ n Dream tour,2017";

}

public List graf()

{

int[] mas = null;

int i = -1, j = 0;

List res = new List();

Database db = Database.getInstance();

foreach (string s in comboBox1.Items)

{

// string str = "select count(tour.id_travel_location) as kol from tour,travel_location,destination where tour.id_travel_location = travel_location.id and travel_location.id_destination = destination.id and destination.country ='"+s+"'";

string str = "select count(country) as par from сontract_view WHERE country='" + s + "'";

SQLiteDataReader s1 = db.select(str);

res.Add(Int32.Parse(s1["par"].ToString()));

}

db.close();

return res;

}

private void button3_Click(object sender, EventArgs e)

{

textBox3.Text = Client.count_clients();

textBox4.Text = Contract.count_contract();

textBox5.Text = Tour.avg_tour();

textBox6.Text = Contract.sum_contract();

List list = new List();

foreach (string s in comboBox1.Items)

{

list.Add(s);

}

List str = graf();

// int [] mas_g = Convert.ToInt32(str.Split(' '));

//string[] m = {"Россия","Франция","Китай","Австралия","Грузия"};

this.chart1.Series["Посещение стран"].Points.DataBindXY(list, str);

}

private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)

{

if (richTextBox1.Text != "") e.Graphics.DrawString(richTextBox1.Text, new Font("Arial", 14), new SolidBrush(Color.Black), new PointF(100, 100));

}

private void textBox1_TextChanged(object sender, EventArgs e)

{

if (textBox1.Text != "")

dataGridView1.DataSource = loadClient(true, textBox1.Text);

else

dataGridView1.DataSource = loadClient(false, "");

}

private void button8_Click(object sender, EventArgs e)

{

List l = Contract.load();

string str = "";

for (int i = 0; i < l.Count; i++)

{

str += l[i].id + ") " + l[i].data + " - " + l[i].country + " - " + l[i].city + " - " + l[i].sur_c +" - "+ l[i].summa + " руб. - " + "n";

}

richTextBox1.Text = str;

}

private void button10_Click(object sender, EventArgs e)

{

if (printPreviewDialog1.ShowDialog() == DialogResult.OK) printDocument1.Print();

}

private void button11_Click(object sender, EventArgs e)

{

if (printPreviewDialog2.ShowDialog() == DialogResult.OK) printDocument2.Print();

}

private void printDocument2_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)

{

if (richTextBox2.Text != "")

e.Graphics.DrawString(richTextBox2.Text, new Font("Arial", 14), new SolidBrush(Color.Black), new PointF(100, 100));

}

public string get_name_tour()

{

Database db = Database.getInstance();

string s = "select c,cit from tour_view wherec"].ToString()+" " + read["cit"].ToString();

db.close();

return str;

}

private void button12_Click(object sender, EventArgs e)

{

List l = Tour.load();

string str = "tt Список путёвокn";

for (int i = 0; i < l.Count; i++)

{

str += l[i].id + ") " + l[i].country + " - " + l[i].city + " - " + l[i].transport + " - " + l[i].placement + " - " + l[i].sum + " руб. - " + "n";

}

richTextBox1.Text = str;

}

private void printDocument3_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)

{

if (richTextBox1.Text != "")

e.Graphics.DrawString(richTextBox2.Text, new Font("Arial", 14), new SolidBrush(Color.Black), new PointF(100, 100));

}

private void button13_Click(object sender, EventArgs e)

{

List l = Client.load();

string str = "tt Список клиентовn";

for (int i = 0; i < l.Count; i++)

{

str += l[i].id + ") " + l[i].surname + " - " + l[i].name + " - " + l[i].patronymic + " - " + l[i].phone + " - " + l[i].passport+ "n";

}

richTextBox1.Text = str;

}

private void Form3_FormClosed(object sender, FormClosedEventArgs e)

{

Form1 f = new Form1();

f.Show();

}

}

}