Загрузил feda523

8977

реклама
Курсовая работа
ПРОЕКТИРОВАНИЕ АИС «ТУРИСТИЧЕСКАЯ ФИРМА»
Путивльская И.Ю
Белгородский государственный национальный исследовательский
университет / Belgorod National Research University
Белгород, Россия
Course work
DESIGNING AIS "TOURIST FIRM»
Putivlskaya I.Yu.
Belgorod National Research University
Belgorod, Russia
2
ПЛАН КУРСОВОЙ РАБОТЫ
По дисциплине «Методы и средства проектирование информационных
систем и технологий»
на тему: «Проектирование АИС «Туристическая фирма»»
1
Анализ предметной области
2
Проектирование
3
Программная реализация и проверка функциональности системы
Исполнитель __________________________________Путивльская И.Ю.
Руководитель _________________________________
3
Содержание
ВВЕДЕНИЕ ................................................................................................................ 4
1 Аналитическая часть .............................................................................................. 6
1.1 Анализ предметной области ........................................................................... 6
1.2 Построение модели IDEF0 .............................................................................. 8
2 Проектирование информационной системы ..................................................... 14
2.1 Техническое задание ...................................................................................... 15
2.1 Разработка модели использования ............................................................... 19
2.3 Создание концептуальной модели базы данных ........................................ 21
2.4 Создание диаграммы классов ....................................................................... 23
3 Программная реализация информационной системы и проверка
функциональности .................................................................................................. 25
ЗАКЛЮЧЕНИЕ ....................................................................................................... 36
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ ................................................... 37
ПРИЛОЖЕНИЕ А ................................................................................................... 39
ПРИЛОЖЕНИЕ Б .................................................................................................... 42
4
ВВЕДЕНИЕ
Развитие рыночных отношений в экономике и научно-технический
прогресс ускорили темпы внедрения во все сферы социально-экономической
жизни
общества
последних
достижений
в
области
информационных
технологий. Темпы роста информатизации всех областей производства и
управления в последние годы заметно повысили свое практическое значение,
становясь определяющим фактором развития и тесно переплетаясь с
процессом производства товаров и услуг. Информация в современном мире
превратилась в один из наиболее важных ресурсов, а информационные
системы
стали необходимым инструментом практически во всех сферах
деятельности человека. Информационная система стала неотъемлемой частью
функционирования
практически
любой
организации,
поэтому
нет
необходимости обсуждать вопрос актуальности разработки и внедрения
информационных систем. Однако вопрос системности подходов к ее
проектированию и качества разработки до сих пор является актуальным [1].
Туризм – прибыльная и доходная сфера, тесно взаимодействующая со
многими другими отраслями и способствующая их развитию. Повышение
качества
обслуживания
невозможно
без
разработки,
внедрения
и
функционирования современных систем автоматизации деятельности [2].
Актуальность работы – разработка автоматизированной системы работы
с
клиентами
турфирмы,
что
предопределит
успешную
реализацию
качественного туристского продукта потребителю.
Объектом исследований курсовой работы является туристическое
агентство.
Предметом исследования курсовой работы – задачи, связанные с
приемом и обработкой заявок на приобретение путевок.
Целью курсовой работы является разработка и программная реализация
автоматизированной информационной системы для туристической фирмы, а
5
также закрепления знаний, полученных при изучении дисциплины и
получение практических навыков проектирования информационных систем с
использованием современных технологий и инструментальных средств.
Задачи курсовой работы:
1) рассмотреть специальную литературу по данной теме;
2) разработать техническое задание;
3) разработать модели для проектирования;
4) реализовать программу;
5) проверить функционал разработанной информационной системы.
Разработка
и
информационных
туристического
внедрение
систем
в
производство
повысит
эффективность
агентства,
обеспечив
автоматизированных
оперативность
труда
и
сотрудников
достоверность
выполнения всех работ.
Первый раздел посвящен анализу предметной области и моделированию
данной системы.
Во втором разделе описано проектирование системы, что включает в
себя разработки технического задания, модели использования, схемы базы
данных и диаграммы классов.
В
третьем
разделе
произведена
программная
реализация
автоматизированной информационной системы.
Данная курсовая работа состоит из 48 страниц, 28 рисунков, 3 таблицы.
6
1 Аналитическая часть
Проектирование информационной системы охватывает три основные
области: проектирование объектов данных, которые будут реализованы в базе
данных; проектирование программ, экранных форм, отчетов, которые будут
обеспечивать выполнение запросов к данным; техническое проектирование с
учетом конкретной среды [3].
1.1 Анализ предметной области
Информационная система (ИС) всегда специализируется на информации
из определенной области реального мира.
Часть реального мира, отображаемая в ИС, называется предметной
областью. Основная задача информационных систем заключается в том, чтобы
соответствующий субъект мог в нужный момент получить из определенных
источников
систематизированную
и
должным
образом
обработанную
информацию по интересующему его вопросу.
При выборе состава и структуры предметной области возможны два
подхода: функциональный и предметный.
Функциональный подход реализует принцип движения «от задач» и
применяется, когда определен комплекс задач, для обслуживания которых
создается информационная система. В этом случае можно выделить
минимальный необходимый набор объектов предметной области, которые
должны быть описаны.
В предметном подходе объекты предметной области определяются с
таким расчетом, чтобы их можно было использовать при решении множества
разнообразных, заранее не определенных задач [4].
В курсовой работе будем использовать комбинацию этих двух подходов.
Опишем предметную область – функционирование туристической
фирмы.
Туристическая компания предоставляет свои услуги по обеспечению
7
отдыха клиентам на определённый период времени на предлагаемых
компанией
курортах
на
территории
различных
стран.
Предлагается
рассмотреть типичную туристическую компанию, предоставляющую свои
услуги клиентам на наиболее популярных курортах в различных странах мира.
Предоставление услуг клиенту начинается с его регистрации. При
регистрации клиент предоставляет необходимые документы, обговаривается
период отдыха, заполняются некоторые анкетные данные. При выборе места
отдыха клиентом, ему предоставляется соответствующая информация о
предлагаемых компанией путёвках и об их стоимости. После выбора места
отдыха и путёвки, оговаривается период отдыха клиента.
После выбора всего вышеперечисленного и оплаты клиентом путёвки,
вся информация заносится в базу данных, и клиент отправляется домой до
отправки
его
на
отдых.
Компания
контактирует
к
с
компаниями-
перевозчиками, так и с гостиничными комплексами на местах отдыха, а также
непосредственно с самим клиентом, поэтому в процессе отдыха клиента
компания контролирует весь процесс передвижения клиента: доставку клиента
на курорт, устройство клиента в гостиницу, доставку обратно домой [1].
В результате видно, что в туристической фирме протекает множество
процессов, которые выполняя вручную займут много времени. Но в настоящее
время информационные технологии широко используются в деятельности
практически всех организаций разного уровня. Соответственно можно
автоматизировать работу туристической фирмы [5].
Цель рационального управления заключается в повышении качества
обслуживания клиентов за счет сокращения сроков обслуживания на всех
этапах, начиная с подбора подходящего тура и заканчивая оформлением
документов, а также за счет сокращения ошибок персонала. Все это, в
конечном итоге, должно привести к увеличению прибыли предприятия.
Информационная система «Туристическая фирма» позволит упорядочить
выполняемую работу.
Автоматизированная информационная система (АИС) - совокупность
8
программно-аппаратных
средств,
предназначенных
для
автоматизации
деятельности, связанной с хранением, передачей и обработкой информации.
Таким образом, в данной курсовой работе АИС представляет собой
совокупность различных средств, предназначенных для сбора, подготовки,
хранения, обработки и предоставления информации, удовлетворяющей
информационные потребности пользователей.
Таким образом, разобравшись с основным понятием и предметной
областью данной работы необходимо разработать АИС «Туристическая
фирма». Следующим этапом является моделирование разрабатываемой АИС.
1.2 Построение модели IDEF0
Функциональная модель предназначена для описания существующих
бизнес-процессов на предприятии и идеального положения вещей. Также
функциональная модель позволяет идентифицировать все информационные
объекты, которыми оперирует предприятие в своей деятельности.
Для того чтобы разработать информационную систему необходимо
понимать процессы и функции, происходящие в ней. Таким образом,
смоделировав систему туристической фирмы, будут выявлены главные
функциональные блоки, которые облегчат программную реализацию.
Наиболее удобным языком моделирования бизнес-процессов является
IDEF0,
в
котором
система
представляется
как
совокупность
взаимодействующих работ или функций [6].
Для построения контекстной диаграммы информационной системы
использовался инструмент AllFusion Process Modeler r7 (BPwin) — CASEсредство для описания бизнес-процессов [7]. На рисунке 1 представлена
контекстная диаграмма всей системы в целом.
9
USED AT: AUTHOR: Путивльская
PROJECT: Оформление заказа в
туристической фирме
NOTES: 1 2 3 4 5 6 7 8 9 10
DATE: 10.10.2017
REV: 01.11.2017
Документы,
регламентирующие
отношения с туристами
Бухгалтерские
или
статистические
документы
WORKING
DRAFT
RECOMMENDED
PUBLICATION
READER
Агентский
договор
Прайс-листы
туров
DATE CONTEXT:
TOP
Правила
предоставления
гостиничных услуг
в РФ
Обращение
клиента
Отчеты
Функционирование
туристической фирмы
Данные о клиенте
Оформленная путёвка клиента
0 р.
0
Сотрудники
NODE:
TITLE:
Функционирование туристической фирмы
NUMBER:
A-0
Рисунок 1 – Контекстная диаграмма системы
На данной диаграмме:
1.
Вход (Input) – материал или информация, которые используются
или преобразуются работой для получения результата (выхода).
– Обращение клиента;
– Данные о клиенте.
2. Управление (Control) – правила, стратегии, процедуры или стандарты,
которыми руководствуется работа.
– Документы, регламентирующие отношения с туристами;
– Бухгалтерские и статические документы;
– Прайс-листы туров;
– Правила предоставления гостиничный услуг в РФ.
3. Выход (Output) – материалы или информация, которые производятся
работой.
– Оформленная путёвка клиента;
– Отчеты.
10
4. Механизм (Mechanism) – ресурсы, которые выполняют работу.
– Сотрудники
Произведем
декомпозицию
контекстной
диаграммы,
которая
представлена на рисунке 2. Было выделено 5 функциональных блоков:
обработка обращений клиентов, подбор туров, оформление документов, приём
оплаты и формирование отчета.
USED AT: AUTHOR: Путивльская
PROJECT: Оформление заказа в
туристической фирме
NOTES: 1 2 3 4 5 6 7 8 9 10
Обращение
клиента
Обработка обращений
клиентов
0 р.
1
Данные о
клиенте
DATE: 15.10.2017
REV: 01.11.2017
Документы, регламентирующие
отношения с туристами
WORKING
DRAFT
RECOMMENDED
PUBLICATION
READER
DATE CONTEXT:
A-0
Прайс-листы
туров
Бухгалтерские или
статистические
документы
Агентский договор
Правила
предоставления
гостиничных
услуг в РФ
Отчеты
требования
клиента
Формирование
отчета
0 р.
5
Подбор туров
0 р.
2
выбранный
тур
оплаченный тур
Оформление
документов
0 р.
3
подписанный
договор
Приём оплаты
0 р.
4
Оформленная путёвка клиента
Сотрудники
NODE:
TITLE:
Функционирование туристической фирмы
NUMBER:
A0
Рисунок 2 – Декомпозиция контекстной диаграммы системы
Далее была произведена декомпозиция четырёх блоков соответственно,
так как содержат в себе дополнительные составляющие. На рисунке 3
показана декомпозиция блока «Обработка обращений клиента», которая
включает следующие процессы:
1) «предоставление перечня услуг» – клиенту предоставляются
всевозможные туры;
11
2) «предоставление консультации» – менеджер по работе с клиентами
консультирует клиента.
3) «Приём данных клиента» – регистрация клиента (добавление клиента
в базу данных);
4) «Выявление требований» – клиент оповещает менеджера по
продажам о критериях тура.
USED AT: AUTHOR: Путивльская
PROJECT: Оформление заказа в
туристической фирме
NOTES: 1 2 3 4 5 6 7 8 9 10
DATE: 15.10.2017
REV: 29.10.2017
WORKING
DRAFT
RECOMMENDED
PUBLICATION
Обращение клиента
0 р.
DATE CONTEXT:
A0
Документы,
регламентирующие
отношения с туристами
Прайс-листы туров
Предоставление
перечня услуг
READER
пожелания клиента
1
Предоствление
консультации
0 р.
2
Данные о клиенте
выбор клиента
Приём данных
клиента
0 р.
3
данные клиента
требования
клиента
Выявление
требований
0 р.
4
Сотрудники
NODE:
TITLE:
Обработка обращений клиентов
NUMBER:
A1
Рисунок 3 – Детализация блока «Обработка обращений клиентов»
На рисунке 4 показана декомпозиция блока «Подбор туров», которая
содержит такие блоки: поиск туров по предъявленным требованиям; выбор
диапазона дат туров; формирование списка туров, удовлетворяющих
требованиям; выбор тура в процессе общения с клиентом. Данная диаграмма
отражает как происходит поиск тура по требованиям клиента, в результате
которого формируется готовый (выбранный) тур.
12
USED AT: AUTHOR: Путивльская
PROJECT: Оформление заказа в
туристической фирме
NOTES: 1 2 3 4 5 6 7 8 9 10
требования
клиента
DATE: 15.10.2017
REV: 29.10.2017
WORKING
DRAFT
RECOMMENDED
PUBLICATION
Агентский
договор
Поиск по предъявленным
требованиям туров
0 р.
1
READER
DATE CONTEXT:
A0
Прайс-листы туров
Документы,
регламентирующие
отношения с
туристами
Результаты поиска
Выбор диапозона
дат туров
0 р.
Результаты выбора
2
Формирование списка
туров, удовлетворяющих
требованиям
0 р.
3
список туров
выбранный тур
Выбор тура в процессе
общения с клиентом
Сотрудники
NODE:
TITLE:
Подбор туров
0 р.
4
NUMBER:
A2
Рисунок 4 – Детализация блока «Подбор туров»
На рисунке 5 показана декомпозиция блока «Оформление документов»,
главной задачей которого является составление и подписание договора между
клиентом и туристической фирмой, который будет являться результатом
данного процесса.
На рисунке 6 показана декомпозиция блока «Приём оплаты», в котором
описываются процессы, связанные с оплатой тура клиентом, после которого
клиент получает чек за плату и билеты. Результат процесса – оформленная
путёвка.
13
USED AT:
AUTHOR: Путивльская
PROJECT: Оформление заказа в
туристической фирме
NOTES: 1 2 3 4 5 6 7 8 9 10
DATE: 15.10.2017
REV: 29.10.2017
Правила предоставления
гостиничных услуг в РФ
WORKING
DRAFT
RECOMMENDED
PUBLICATION
READER
DATE CONTEXT:
A0
Документы,
регламентирующие
отношения с туристами
выбранный тур Бронирование отеля
и полёта
Бухгалтерские или
статистические
документы
1 Забронированный
полёт и отель
0 р.
Составление договора
Данные о клиенте
0 р.
2
составление договора
подписанный договор
Подписание договора
клиентом
0 р.
3
Сотрудники
NODE:
TITLE:
NUMBER:
Оформление документов
A3
Рисунок 5 – Детализация блока «Оформление документов»
Документы,
регламентирующие
отношения с туристами
подписанный договор
выбранный
вид оплаты
Предоставление
выбора оплаты
0 р.
Бухгалтерские или
статистические
документы
1
Процесс оплаты
0 р.
2
оплаченная
путевка
Выдача чека
0 р.
чек
3
оплаченный тур
Выдача билетов
0 р.
4
Оформленная путёвка клиента
Сотрудники
NODE:
TITLE:
Приём оплаты
NUMBER:
A4
Рисунок 6 – Детализация блока «Приём оплаты»
Таким образом, в результате была смоделирована информационная
система «Туристическая фирма» используя нотацию IDEF0, что позволило
14
понять логику и взаимодействие процессов туристической фирмы. Было
установлено, что входит в систему, а что рассматривается как внешнее
воздействие. Далее была произведена декомпозиция выбранных блоков для
рассмотрения
внутренних
процессов.
Модель
представляет
собой
совокупность иерархически упорядоченных и взаимосвязанных диаграмм.
Диаграммы, созданные нотацией DFD помещены в приложение А.
Диаграммы потоков данных (DFD) показывают, как каждый
процесс преобразует свои входные данные в выходные, и выявляют
отношения между этими процессами. DFD представляет моделируемую
систему
как
сеть
связанных
работ.
Построенная
схема
процесса, показывает материальные и информационные потоки [8].
бизнес-
15
2
Проектирование информационной системы
Ранее было выявлено, что для рационального и продуктивного
управления туристической фирмы необходимо произвести её автоматизацию.
После выявление основных процессов по данной теме, необходимо
разработать техническое задание [9].
2.1 Техническое задание
Данное
техническое
задание
распространяется
на
разработку
программного изделия, применяемого для организации услуг в сфере
туристической фирмы. Основная задача данного программного изделия –
автоматизация учета и управление туристической фирмой.
1 Основания для разработки
Данное программное изделие разрабатывается на основании задания на
курсовую работу по дисциплине «Методы и средства проектирование
информационных систем и технологий».
2 Назначение разработки
Основным назначением является организация системы управления
туристической фирмы.
3 Требования к программе или к программному изделию
3.1 Требования к функциональным характеристикам
Программное изделие должно выполнять следующие функции:
16
– регистрация клиентов;
– регистрация туристических путёвок;
– принятие /увольнение сотрудников;
– выбор клиентом тура;
– заключение договора.
Входной информацией системы является:
– информация о турах в туристической фирме;
– информация о сотрудниках туристической фирмы;
– информация о клиентах туристической фирмы и их заказах.
Выходной информацией системы является:
– информация о сроке действия договора клиента с туристической
фирмой;
– информация об оплате клиентом выбранного тура
– отчеты, минимальный перечень формируемых в системе отчетов
следующий:
1)
список возможных туров;
2)
список сотрудников;
3)
список клиентов.
3.2 Требования к надежности
Разрабатываемая
система
должна
соответствовать
надежности обеспечение устойчивого функционирования:

отсутствие ошибок;

устойчивость к возможным ошибкам;

автосохранение вводимой информации;

обеспечивать целостность данных.
3.3 Условия эксплуатации
требованиям
17
Использовать
систему
будут
пользователи
средней
и
низкой
квалификации. Интерфейс системы должен быть максимально приближен к
интерфейсам подобных систем. Ввод информации должен осуществляться в
наиболее унифицированных формах.
Разрабатываемый программный продукт необходимо эксплуатировать в
следующих условиях:

регулярная
проверка
исправности
и
работоспособности
операционной системы и оборудования, переустановка и замена по
необходимости;

проверка баз данных на наличие ошибок и неисправностей в конце
рабочего дня;

чистка оборудования;

температура воздуха в помещении +20 …+25°С;

проветривание помещения;

уборка помещения.
3.4. Требования к составу и параметрам технических средств
Настоящая система должна работать на компьютерах IBM PC.
Оперативная память на каждом компьютере, не менее 128 Мб. Свободное
место на жестком диске не менее 10 Гб. Монитор, мышь, клавиатура и
принтер на ЭВМ клиента.
3.4 Требования к информационной и программной совместимости
Система должна работать под управлением семейства операционных
систем Win 32 и Win 64. Среда разработки программного приложения MS
Visual Studio 2017, СУБД SQLite.
4.Требования к программной документации
18
Программная документация должна содержать следующие документы
(см. ГОСТ 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
19
Продолжение таблицы 1
Элементы затрат
Стоимость, руб.
Ремонт оборудования
2000
Итого
42000
6.Стадии и этапы разработки
Общая продолжительность разработки и внедрения системы составляет
5 месяцев с 10/02/2017 по 10/07/2017. Общая стоимость работ составляет
42000,00 руб. График реализации проекта представлен в таблице 2.
7.Порядок контроля и приемки
По
завершении
работы
разработчик
предоставляет
заказчику
выполненную работу с актом приемки-сдачи работ и с приложением к нему
отчетных документов [5].
Таблица 2 – график реализации проекта
Этапы реализации проекта
1 Разработка ПО.
1.1 Техническое задание.
1.2 Эскизный проект.
1.3 Технический проект.
1.4 Рабочий проект.
1.5 Внедрение.
2 Покупка ЭВМ, оборудования и инструментальных
средств для заказчика (осуществляется за средства
заказчика).
3 Обучение персонала (осуществляется за средства
заказчика, согласно отдельному договору).
4 Эксплуатация АРМ (пробная эксплуатация
сотрудниками заказчика под контролем
разработчика).
1
2
месяцы
3
4
5
20
2.1 Разработка модели использования
Субъект (actor) — это некто или нечто взаимодействующее с системой.
Субъект взаимодействует с прецедентом, ожидая получить некий полезный
результат.
Прецеденты удовлетворяют функциональные требования за счет
предоставления
субъекту
полезного
результата.
Прецедент
наглядно
показывает варианты использования системы.
Диаграмма прецедентов – это наглядное графическое представление
субъектов и прецедентов и их взаимодействий в системе вместе с любыми
дополнительными определениями и спецификациями. Она представляет собой
не просто некую схему, а является полностью документированной моделью
предполагаемого поведения системы [10]. Диаграмма прецедентов для
моделируемой системы представлена на рисунке 7.
Субъекты – клиент, менеджер по работе с клиентами, турагент и
туроператор.
Учет туров
Регистрация туров
Обслуживание
Турагент
Клиент
Общение с турагентом
Заключение договора
Оплата
Поставка туров
Выдать билеты
Регистрация клиента
<<включить>>
<<включить>>
<<включить>>
Подбор тура
Занесение в БД клиента
Туроператор
<<включить>>
Менеджер
по работе с клиентами
<<расширить>>
<<расширить>>
Заказ тура
<<включить>>
Ввод/удаление данных
Приём заказа
Поиск по требовниям
Рисунок 7 – Диаграмма вариантов использования
21
В таблице 3 представлено описание представленных прецедентов, где
указаны требования, которое должны выполниться, чтобы участвовали те или
иные субъекты и выполнялся связанный с ними прецедент.
Таблица 3 - Распределение требований по субъектам и прецедентам
п/п
Требование
Субъект
Прецедент
1
Клиент регистрируется на
обслуживание, менеджер вносит
данные клиента в базу
Клиент,
Менеджер
Регистрация клиента
2
Клиент оплачивает работу,
менеджер принимает оплату
Клиент,
Менеджер
Оплата
3
Менеджер принимает заказ
Менеджер
Приём заказа
5
Турагент заказывает новые туры
и регистрирует их в базе данных
Турагент
Регистрация туров
6
Туроператор поставляет новые
туры
Туроператор
, Турагент
Поставка туров
7
Турагент ведет учет туров
Турагент
Учет туров
8
Клиент предъявляет требования
для тура
Турагент,
Клиент
Подбор тура
9
Туроператор заказывает тур
Туроператор
Заказ тура
10
Турагент обеспечивает билетами
на самолет и в гостинице, выдает
готовый тур, клиент принимает
Турагент,
Клиент
Обслуживание
2.2 Создание концептуальной модели базы данных
В разрабатываемой системе множество входной информации, которую
нужно где-то хранить и обрабатывать, то есть в данном случае использовать
удобно базу данных [7]. Для проектирования БД было использовано CASE
средство ERwin [8].
В базе данных «Туристическая фирма» было выбрано 11 сущностей:
1) «Клиент» – содержит данные о клиентах салона;
2) «Должность» – содержит информацию о существующих должностях
салона;
22
3) «Сотрудник» – содержит данные о работниках и о занимаемых ими
должностях;
4) «Заявка» – содержит информацию о требованиях конкретного клиента;
5) «Заказ» – содержит данные о клиентах сотрудниках, которые будут
обслуживать клиентов;
6) «Место назначение» – содержит данные о странах и городах;
7) «Место поездки» – содержит данные о месте поездки и стоимость;
8) «Транспорт» – содержит информацию видах транспортах и стоимости;
9) «Место размещения» – содержит информацию о всевозможных местах
проживания и стоимости;
10)
«Путёвка» – содержит информацию о комплексном туре;
11)
«Договор» –информация о клиенте, сотруднике и путёвке.
На рисунке 8 представлена схема базы данных.
Рисунок 8 – Схема базы данных
23
Было принято решение использовать базу данных – SQLite. Это
компактная встраиваемая реляционная база данных [13]. Было создано 11
таблиц и 3 представления для удобного просмотра таблиц. Таблицы показаны
на рисунке 9.
Таким образом, на данном этапе была спроектирована схема базы
данных и реализована в SQLite.
Рисунок 9 – таблицы и представления
2.4 Создание диаграммы классов
Диаграмма классов - определение внутреннего состояния системы. Она
иллюстрирует обобщенное визуальное представление обо всех элементах
модели.Класс (class) - это описание группы объектов с общими свойствами
(атрибутами), поведением (операциями), отношениями с другими объектами и
семантикой. Таким образом, класс представляет собой шаблон для создания
объекта. К элементам, принимающим участие в моделировании классов,
относятся сами классы их атрибуты и операции, ассоциации, агрегации и
композиции, а также обобщения [14].
Диаграмма классов для системы
«Туристическая фирма» представлена на рисунке 10. Таким образом, была
создана диаграмма классов для информационной системы «Туристическая
фирма».
24
Form
Form3
- user: Users
Form1
+ Form3(Users u)
+ loadTour()
- Form3_Load()
+ getFIO(): string
+ load_order()
- loadContract()
- loadClient:DataTable
-button1_Click()
-button2_Click()
- button7_Click()
- button4_Click()
-button5_Click()
-button9_Click()
+ graf(): List<int>
-button3_Click()
- printDocument1_PrintPage
-textBox1_TextChanged()
- button8_Click()
-button10_Click()
- button11_Click()
- printDocument2_PrintPage()
+ get_name_tour():string
- button12_Click()
-printDocument3_PrintPage()
-button13_Click()
+ Form1()
+ Form1_Load()
-button1_Click()
-button2_Click()
Form2
+ Form2()
-button1_Click_1()
-loadCategory()
-button2_Click_1()
Form4
- user: Users
+ Form4(Users u)
- button1_Click()
-loadUsers(bool search, string
par):DataTable
+ load_tur():List<Tour>
-button2_Click()
- button3_Click()
- Form4_Load()
+ get_post():List<string>
+loadTour()
- button4_Click()
- textBox12_TextChanged()
- button5_Click()
Database
-con:object
-cmd:object
-instance:object
+select()
+query()
+getInstance()
+close()
+surname:String
+name:String
+patronymic:String
+phone:String
+passport:String
+ id:int
+ id_c:int
+data_begin: String
+data_end: String
+ count_pers: int
+id_client: int
+ public Request(string data_begin, string
data_end,int count_pers,int id_client)
+save()
+search(int i):int
+surn_c:String
+nam_c:String
+patr_c:String
+name_e: String
+ id: int
+ public Orders(int id,string surn_c, string
nam_c, string patr_c, string name_e)
+ public Orders()
+load():List<Orders>
Users
Client
Request
Orders
+Client(string surname, string name,
string patronymic, string phone, string
passport)
+ Client()
+ save():int
+load():List<Client>
+getFIO():string
+load_client_search(bool search, string
pat): List<Client>
+count_clients():string
Contract
+ name: String
+login: String
+post: String
+password: String
+name_p: String
+log: String
+pas: String
+post_user: String
+id: int
+id_u: int
+id_p: int
+data: String
+sur_c: String
+name_e: String
+country: String
+city: String
+sum: int
+id_o: int
+id_t: int
+ord: int
+id: int
+summa: int
+Users(int id_u,string name_p, string log,
string pas, string post_user)
+Users()
Users( string name_p, string log, string
pas, int id_p)
+save_user(string name,string login,
string pas, int id_p )
+delete_user(int id)
+load(bool search, string
par):List<Users>
+isLogin(Users u):int
+equal(Users u):bool
+Contract(string data, int sum, int id_o,
int id_t)
+Contract(int id,string data,string sur_c,
string name_e, string country, string city,
int summa)
+Contract()
+getSum(): int
+save()
+ load():List<Contract>
+count_contract(): string
+sum_contract():string
Рисунок 10 – Диаграмма классов
Tour
+country: String
+city: String
+transport: String
+placement: String
+id:int
+id_t:int
+sum:int
+Tour(int id,string country, string city,
string transport, string placement, int
sum)
+Tour()
+filtr_tour(string c):List<Tour>
+load():List<Tour>
+add_destination(string country, string
city, int price_c, string name_t, int
price_t,string name_p, int price_p )
+avg_tour():string
25
3
Программная реализация информационной системы и проверка
функциональности
В
качестве
средства
разработки
программы
используется
язык
программирования C# и среда Visual Studio 2017 [15]. Фрагменты исходного
кода расположены в приложении Б.
При запуске приложения появляется стартовая страница (рисунок 11),
которая даёт возможность работать в таких режимах как клиент, сотрудники и
администратор. Это было реализовано для удобного выполнения обязанностей
и экономии времени.
Рисунок 11 – Стартовая страница
Кнопка «Клиент» предназначена для тех, кто не пользовался ещё
услугами туристической фирмы. При на её нажатие появляется окно для
добавления
нового
клиента.
некоторые
организационные
Запрашиваются
сведения.
персональные
Добавление
данные
происходит
и
при
соглашении на обработку персональных данных. Успешное добавление
26
оповещается сообщением. После этого данные клиента попадают в базу
данных туристической фирмы.
Вышеописанное показано на рисунке 12.
Рисунок 12 – Добавление нового клиента
Для входа в информационную систему сотрудникам фирмы необходимо
указать занимаемую должность, логин и пароль. Правильность вводимых
данных контролируется и проверяется. В противном случае сотруднику
выведется сообщение о некорректном логине или пароле, пример изображен
на рисунке 13.
Те сотрудники, которые работают с клиентом, то есть оказывают услугу
оформления путёвки, работают в отдельном окне, включающее в себя этапы
для обслуживания клиента. Данное окно появляется, после успешной
авторизации. Первый этап подразумевает выбор клиента из базы данных
фирмы, для быстрого нахождения можно воспользоваться поиском по
фамилии.
Выбор
клиента
оповещается
сообщением.
После
этого
автоматически формируется заказ, то есть указывается клиент и сотрудник,
27
который будет обслуживать. Ниже будет выведен список заказов. Описанная
реализация показана на рисунке 14.
Рисунок 13 – Неверный вход сотрудника
Рисунок 14 – Выбор клиента из базы данных фирмы
28
Далее необходимо выбрать интересующую путёвку. Для удобного
поиска места, удобно воспользоваться фильтрацией по стране. Выбор путёвки
также отображается сообщением. Результат показан на рисунке 15.
Рисунок 15 – Выбор клиента из базы данных фирмы
После выполнения вышеперечисленных действий последней задачей
остаётся составление договора. Это обеспечивает переход на вкладку
«Составление договора». Выбирается дата на момент составления договора.
Далее необходимо нажать на кнопку «Вывести информацию». В текстовые
поля заносятся данные клиента, сотрудника и сумма, которую необходимо
оплатить. Результат изображен на рисунке 16. При нажатии на кнопку
«Заключить» договор сохраняется в туристической фирме.
29
Рисунок 16 – Вывод информации в договор
Заключение
договора
показано
на
рисунке
17.
Рядом
можно
просмотреть отчет данного договора. Можно также воспользоваться кнопкой
«Печать договора», в результате чего появится предварительный просмотр для
печати документа. Это отображено на рисунке 18.
Рисунок 17 – Заключение договора
30
Рисунок 18 – Предварительный просмотр отчета
Таким образом, выбор путёвки клиента отображается формально в
договоре, которые хранятся в базе данных фирмы, по результатам которых
возможно выявить посещение стран. Для этого была реализована диаграмма,
которая отражает количество посетивших ту или иную страну. Её можно
увидеть на вкладке «Статистика», которая изображена на рисунке 19. Каждая
организация должна владеть статическими данными, чтобы быть в курсе её
текущего состояния. Некоторые данные также присутствуют на рисунке 19.
Рисунок 19 – вкладка «Статистика»
31
На вкладке «Отчетность» можно просмотреть такие отчеты как
договоры, путёвки и клиенты, то есть какими данными владеет туристическая
фирма. Также есть возможность их распечатать. Данный результат показан на
рисунке 20.
Ранее было сказано, что вход могут осуществлять сотрудники, которые
обслуживают клиентов, также есть в системе администратор, который
выполняет функции добавления в базу данных фирмы новых путёвок и
сотрудников. Вход показан на рисунке 21. На рисунке 22 изображено
добавление новой путёвки. Есть возможность изменить цену выбранной
путевки, что показано на рисунках 23 – 24. Также для удобного поиска можно
отфильтровать все путёвки по выбранной стране.
Рисунок 20 – Вкладка «отчетность»
32
Рисунок 21 – Вход администратора
Рисунок 22 – Добавление новой путёвки
33
Рисунок 23 – Изменение цены путёвки
Рисунок 24 – Изменение цены путёвки
Следующая вкладка «Принятие на работу/увольнение» показана на
рисунке 25, в которой осуществляется добавление нового сотрудника в базу
данных. Изменение должности изображено на рисунке 26. Увольнение
продемонстрировано на рисунке 27. Поиск показан на рисунке 28.
34
Рисунок 25 – Добавление нового сотрудника
Рисунок 26 – Изменение должности
35
Рисунок 27 – Увольнение сотрудника
Рисунок 28 – Поиск сотрудника
Таким образом, в данном разделе была осуществлена программная
реализация автоматизированной информационной системы «Туристическая
фирма», а также был проверен функционал, которая система должна
выполнять.
Функции
соответствую
техническому
заданию,
включены
стандартные операции с данными (добавление, изменение, удаление).
Проанализировав выше представленные результаты, можно убедится,
что данная программа работает правильно и готова к дальнейшему
использованию. Процесс проверки представлен скриншотами экрана с вводом
исходных данных и полученными результатами, которые удовлетворили
правильность работы программы [16].
36
ЗАКЛЮЧЕНИЕ
Поставленные перед началом разработки АИС требования были
успешно выполнены. Первоначальной задачей являлся анализ предметной
области, что давало возможность успешно приступить к последующим
стадиям работы. Так же были выделены определенные бизнес-процессы и
бизнес-функции, автоматизация которых и являлась первоочередной задачей в
работе. Разработка технического задания определила основные функции,
которая должна выполнять система. Успешное выполнение системы также
основывается на правильно сконструированной структуре базы данных,
применяемой в системе.
В результате проведенной работы была достигнута поставленная цель:
разработка автоматизированной информационной системы «Туристической
фирмы». Данное приложение не охватывает всю бизнес-логику этого бизнеса,
однако является прототипом, демонстрирующим работу в данной отрасли, и
может быть расширена для автоматизации не рассмотренных в рамках данной
курсовой работы концепций в предметной области «Туристическая фирма».
Создание данной программы, является демонстрацией умений и
навыков, полученных в результате работы, заключающейся в изучении
дисциплины. «Методы и средства проектирование информационных систем и
технологий»
В процессе разработки курсовой работы были получены навыки работы
и программирования приложений на языке Си# в среде Visual Studio 2017 В
результате работы получена работоспособная программа, реализующая
информационную
систему
«Туристическая
фирма».
Информационные
системы становятся всё больше актуальными из-за большого количества
информации,
поэтому
необходимо
разработки для её создания.
искать
эффективные
и
надёжные
37
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ
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-инструментария и
38
реляционной базы данных //Наука и бизнес: пути развития. – 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.
39
ПРИЛОЖЕНИЕ А
Диаграммы DFD
USED AT:
DATE: 31.10.2017
REV: 01.11.2017
AUTHOR: Путивльская И
PROJECT: Функционирование
т урист ической фирмы
NOTES: 1 2 3 4 5 6 7 8 9 10
WORKING
DRAFT
RECOMMENDED
PUBLICATION
READER
DATE CONTEXT:
TOP
документ
об
оплате
1
Клиент
данные
клиента
3
Туроперат ор
0 р.
0
пожелания
клиента
перечень
т уров
Обновление туров
Функциониров ание
т урист ической фирмы
реклама
т уры
счет
оформленная путёв ка
NODE:
Функционирование туристической фирмы
TITLE:
NUMBER:
A-0
Рисунок А.1 – Контекстная диаграмма
USED AT:
AUTHOR: Пут ивльская И
PROJECT: Функционирование
т урист ической фирмы
DATE: 31.10.2017
REV: 05.11.2017
NOTES: 1 2 3 4 5 6 7 8 9 10
данные
клиента
WORKING
DRAFT
RECOMMENDED
PUBLICATION
READER
DATE CONTEXT:
A-0
документ об оплате
0 р.
пожелания
клиента
1
реклама
перечень
туров
информация о
клиенте
Обработка обращений
клиент ов
Обновление туров
База
2 данных
туров
т уры
требования клиента
0 р.
данные о
клиенте
2
Подбор туров
1
Данные о
клиенте
3
выбранный тур
0 р.
3
счет
Оформление документов
необходимые
документы
подписанный
договор
0 р.
4
Приём оплаты
оформленная пут ёв ка
NODE:
Документы
фирмы
TITLE:
Функционирование туристической фирмы
NUMBER:
A0
Рисунок А.2 – Декомпозиция контекстной диаграммы
40
USED AT:
AUTHOR: Пут ивльская И
PROJECT: Функционирование
т урист ической фирмы
DATE: 01.11.2017
REV: 01.11.2017
NOTES: 1 2 3 4 5 6 7 8 9 10
0 р.
WORKING
DRAFT
RECOMMENDED
PUBLICATION
перечень т уров
1
Предост ав ление
перечня
услуг
READER
DATE CONTEXT:
A0
Список
4 т уров для
клиента
перечень туров
0 р.
пожелания клиента
2
Предост ав ление
консульт ации
реклама
информация о клиент е
1
выбор клиент а
0 р.
Данные о
клиенте
3
Приём данных
клиента
данные клиента
0 р.
4
т ребования клиента
Выяв ление требов аний
NODE:
Обработка обращений клиентов
TITLE:
NUMBER:
A1
Рисунок А.3 – Декомпозиция блока «Обработка обращений клиентов»
USED AT:
AUTHOR: Пут ивльская И
PROJECT: Функционирование
т урист ической фирмы
DATE: 01.11.2017
REV: 01.11.2017
NOTES: 1 2 3 4 5 6 7 8 9 10
т ребования
клиента
0 р.
READER
WORKING
DRAFT
RECOMMENDED
PUBLICATION
DATE CONTEXT:
A0
1
перечень т уров
Поиск по предъявленным
т ребов аниям туров
результаты поиска
0 р.
2
Выбор диапозона
дат туров
список туров
результаты выбора
4
0 р.
Список туров для
клиента
3
Формирование списка туров
удовл. требованиям
список туров
0 р.
4
Выбор тура в
процесс общения
с клиентом
NODE:
TITLE:
Подбор туров
NUMBER:
A2
Рисунок А.4 – Декомпозиция блока «Подбор туров»
выбранный т ур
41
USED AT:
AUTHOR: Пут ивльская И
PROJECT: Функционирование
турист ической фирмы
DATE: 01.11.2017
REV: 01.11.2017
WORKING
DRAFT
RECOMMENDED
PUBLICATION
NOTES: 1 2 3 4 5 6 7 8 9 10
READER
DATE CONTEXT:
A0
данные о клиенте
0 р.
выбранный т ур
1
Бронирование от еля
и полёт а
забронированный
полёт и от ель
информация о
отелях и
т ранспорт е
5
0 р.
2
необходимые документы
Сост авление договора
Отели и
т ранспорт
сост авленный
договор
0 р.
3
подписанный договор
Подписание договора
клиентом
счет
NODE:
Оформление документов
TITLE:
NUMBER:
A3
Рисунок А.5 – Декомпозиция блока «Оформление документов»
USED AT:
AUTHOR: Путивльская И
PROJECT: Функционирование
т уристической фирмы
DATE: 01.11.2017
REV: 01.11.2017
WORKING
DRAFT
RECOMMENDED
PUBLICATION
NOTES: 1 2 3 4 5 6 7 8 9 10
READER
DATE CONTEXT:
A0
данные о клиенте
подписанный
договор
0 р.
1
Предостав ление
выбора оплат ы
документ об оплате
выбранный
вид оплаты
0 р.
Процесс оплаты
2
оплаченная
путевка
0 р.
3
Выдача чека
чек
0 р.
оформленная путёв ка
NODE:
4
Выдача билетов
TITLE:
Приём оплаты
NUMBER:
A4
Рисунок А.6 – Декомпозиция блока «Приём оплаты»
42
ПРИЛОЖЕНИЕ Б
Фрагмент исходного кода
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<Tour> 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++)
{
43
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<Orders> 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<Contract> 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);
44
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<Client> 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())
{
45
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<Tour> 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 ";
46
richTextBox2.Text += "____________________________________________________ \n
tour,2017";
}
Dream
public List<int> graf()
{
int[] mas = null;
int i = -1, j = 0;
List<int> res = new List<int>();
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<string> list = new List<string>();
foreach (string s in comboBox1.Items)
{
list.Add(s);
}
List<int> 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<Contract> l = Contract.load();
47
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 where id=" +Tour.id_t;
db.select(s);
SQLiteDataReader read = db.select(s);
string str = read["c"].ToString()+" " + read["cit"].ToString();
db.close();
return str;
}
private void button12_Click(object sender, EventArgs e)
{
List<Tour> l = Tour.load();
string str = "\t\t Список путёвок\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)
{
48
List<Client> l = Client.load();
string str = "\t\t Список клиентов\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();
}
}
}
Скачать