Разработка информационной системы туристического агентства
Borland Delphi и Borland С++ Builder — следующий шаг в развитии RAD-систем. Выглядят совершенно одинаково. Основное отличие состоит в том, что Delphi базируется на языке Pascal, а Builder на языке C++, более мощном и богатом по своим возможностям. Borland C++ Builder достаточно устойчиво занимает свою нишу, это обусловлено меньшей требовательностью к аппаратным ресурсам при разработке приложений… Читать ещё >
Разработка информационной системы туристического агентства (реферат, курсовая, диплом, контрольная)
Тема: «Разработка информационной системы туристического агентства».
ВВЕДЕНИЕ
1. ТЕХНИЧЕСКОЕ ЗАДАНИЕ
1.1 Назначение программного продукта
1.2 Основание для разработки
1.3 Требования к квалификации пользователя
1.4 Требования к функционированию
1.4.1 Разработка спецификации функций
1.4.2 Качественные требования
1.4.3 Требования к быстродействию
1.4.4 Минимальные технические требования для работы с программным продуктом
1.5 Требования к условиям выполнения работ по проектированию
1.6 Порядок контроля и проверки системы
1.6.1 Требования к приемо-сдаточным испытаниям
1.6.2 Требования к составу и содержанию работ по установке программного продукта на ПК.
1.7 Требования к документированию
2. ТЕХНОЛОГИЧЕСКИЙ РАЗДЕЛ
2.1 Выбор методов реализации
2.2 Выбор среды и языка программирования
2.3 Выбор технологии программирования
3. ЭСКИЗНЫЙ ПРОЕКТ
3.1 Разработка частного технического задания
3.1.1 Требования к функционированию
3.1.2 Расчет нормирования работы на создание программного продукта с учетом частного технического задания.
3.1.3 Расчет затрат времени на разработку частного технического задания
3.2 Проектирование структуры программы
3.2.1 Нормализация таблиц при проектировании базы данных
3.3 Декомпозиция задачи
3.4 Разработка структуры хранения данных
3.5 Инфологическая модель структуры хранения данных
3.6 Разработка интерфейса программы
3.6.1 Разработка общего интерфейса
3.6.2 Форма «Каталог стран»
3.6.3 Форма «Каталог туров»
3.6.4 Форма «Бронирование туре»
3.6.5. Форма «Добавление / редактирование сведений о турах»
3.6.6 Форма «О клиентах»
3.6.7 Форма «Подбор тура»
3.6.8 Форма «Запрос на в диапазоне дат»
3.6.9 Форма «Запрос на выборку в диапазоне цен»
3.6.10 Форма «Отчет о бронировании туров»
3.6.11 Форма «Туристическая путевка»
3.6.12 Компоненты интерфейса
4. ТЕХНИЧЕСКИЙ ПРОЕКТ
4.1 Разработка технического проекта
4.2 Разработка рабочего проекта
5. ОРГАНИЗАЦИОННО-ЭКОНОМИЧЕСКИЙ РАЗДЕЛ
5.1 Определение трудозатрат на разработку программного продукта
5.1.1 Общие положения
5.1.2 Расчет нормирования работы на создание программного продукта
5.1.3 Расчет затрат времени на разработку дипломного проекта
5.2 Расчет себестоимости разработки проекта
5.2.1 Затраты на заработную плату
5.2.2 Отчисления в фонд социального страхования и обеспечения
5.2.3 Накладные расходы
5.2.4 Затраты на работу ЭВМ
5.2.5 Составление сметы затрат
6 БЕЗОПАСНОСТЬ ЖИЗНЕДЕЯТЕЛЬНОСТИ
6.1 Анализ потенциально-опасных и вредных факторов разработчика электронного офиса и пользователя
6.2 Разработка мероприятий производственной санитарии и безопасности жизнедеятельности разработчика и пользователя
6.2.1 Требования к ПЭВМ
6.2.2 Требования к помещениям для работы с ПЭВМ
6.2.3 Требования к рабочему месту для работы с ПЭВМ
6.2.4 Общие требования к работе с ПЭВМ
6.3 Разработка мероприятий противопожарной безопасности рабочего помещения
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ
ПРИЛОЖЕНИЕ А
ВВЕДЕНИЕ
Информатизация — одна из наиболее ярких черт системы общественных отношений развитых стран. Человечество вступило в такой этап развития цивилизации, в котором информация, знания играют определяющую роль во всех сферах деятельности людей. При этом информация становится в современном обществе важнейшим фактором экономического роста.
Темой разрабатываемого дипломного проекта является «Разработка программы по формированию заказа по требованию клиента для автоматизированной системы управления продажами путевок туристического агентства».
Влияние информационных технологий на управление туристической компанией огромно. Ни во многих других областях бизнес настолько не привязан к информации. Ведь, по большей степени, туристическая фирма продает информацию, а турист ее покупает. Таким образом, автоматизация напрямую влияет на повышение эффективности работы, как отдельных менеджеров, так и всей компании в целом. Автоматизация и широкое применение электронной техники становятся одной из актуальнейших задач в отрасли туризма.
Под туристской деятельностью понимается деятельность туристской организации по формированию (производству), продвижению и продаже туристского продукта, оказание услуг по туристскому обслуживанию, а также иная деятельность в сфере туризма. Туристская путевка является письменным акцептом оферты туристской организации на производство и продажу туристского продукта и неотъемлемой частью договора, а также документом первичного учета у туристской организации. Автоматизация работы турагентств сводится к оперативному учету заказанных туристами туров, оформление платежей с клиентами и партнерами, печати всех необходимых документов.
Существует немного других отраслей, в которых сбор, обработка, применение и передача информации были бы настолько же важны для ежедневного функционирования, как в туристической индустрии.
Целью создания программного продукта является сбор, хранение и предоставление информации о туристических маршрутах, контроль продаж туристических путевок, учет клиентов, формирование и печать форм выходной информации.
Основным предназначением системы является автоматизация ввода, вывода и хранение данных, а также поиск, выборка необходимых данных из общего набора данных, вывода их на экран монитора, а так же на печать.
Программа позволяет добавлять новые данные в общий набор данных, изменять их или удалять.
Результатом дипломного проекта является автоматизированная программа, которая позволяет хранить и предоставлять информацию о туристических маршрутах, вести контроль продаж туристических путевок, вести учет клиентов, осуществлять формирование и печать форм выходной информации.
1. Техническое задание
1.1 Назначение программного продукта.
Готовый программный продукт «Информационная система туристического агентства» предназначен для использования менеджерами туристических агентств для: работы с клиентами, подбора туристических маршрутов и оформления туров, подготовки заказов клиентов, бронирование выбранных туров. Программа позволяет ускорить работу менеджера туристического агентства за счет автоматизации большого количества задач, отнимающих большую часть времени, что непременно влечет за собой повышение качества обслуживания клиентов.
1.2 Основание для разработки.
Основанием для разработки является задание на дипломное проектирование.
1.3 Требования к квалификации пользователя.
Для работы с данным программным продуктом пользователь должен уметь работать с ПК на уровне оператора ЭВМ.
1.4 Требования к функционированию.
В целях наиболее полного учета факторов, влияющих на проектирование программного продукта, были изучены и проанализированы основные функции по работе с базой данных.
Разрабатываемая программа должна выполнять следующие функции:
1. Хранение и доступ к данным о стране назначения.
2. Хранение и доступ к данным о турах.
3. Хранение и доступ к данным о клиентах.
4. Хранение и доступ к данным об отелях.
5. Хранение и доступ к данным о забронированных билетах.
6. Осуществлять выборку данных в указанном диапазоне дат или цен.
7. Фильтровать данные о турах по различным параметрам.
8. Предоставлять сведения о клиентах.
9. Осуществлять выборку данных по различным параметрам.
10. Определять количество путевок проданных за период (месяц / квартал / полугодие / год).
11. Определять количество стран, по которым продано больше всего путевок.
12. Определять количество постоянных клиентов.
13. Определять количество мало востребованных туров.
14. Определять величину прибыли за прошедший период (месяц / квартал / полугодие / год).
15. Предоставлять список клиентов забронировавших билеты на указанный вид транспорта.
16. Формировать отчеты.
1.4.1 Разработка спецификации функций После определения общего числа функций необходимо разработать спецификацию каждой функций и сформулировать набор входной и выходной информации.
1. Хранение и доступ к данным о стране назначения. Спецификация функции представлена на рисунке 1.1.
Рисунок 1.1.
Входной информацией является письменный документ, содержащий сведения о названии страны, описание страны в виде текста, фотографии.
Выходной информацией является представление на экране дисплея списка стран с описанием в виде текста и фотографией, расчет минимальной стоимости тура для страны, печать представленных данных.
2. Хранение и доступ к данным о турах. Спецификация функции представлена на рисунке 1.2.
Рисунок 1.2.
Входной информацией является письменный документ, содержащий сведения о наименовании тура, виде тура, названии отеля, дате заезда, длительности пребывания, стоимости путевки, количестве путевок, названии страны содержащейся в наборе данных.
Выходной информацией является представление на экране дисплея списка туров для страны с указанием наименования тура, вида тура, названия отеля, даты заезда, длительности пребывания, стоимости путевки, количества путевок.
Производится расчет числа туров и расчет свободных путевок, а также организован вывод данных на печать.
3. Хранение и доступ к данным о клиентах. Спецификация функции представлена на рисунке 1.3.
Рисунок 1.3.
Входной информацией являются:
1) данные загранпаспорта — фамилия, имя, отчество, номер и серия загранпаспорта, возраст, пол, дата рождения, дата окончания действия загранпаспорта;
2) контактная информация — номер телефона, номер мобильного телефона, адрес электронной почты;
3) сведения о туре содержащейся в наборе данных — наименование страны, наименование тура, вида тура, название отеля, дата заезда, длительность пребывания, стоимость путевки;
Выходной информацией является:
1) представление на экране дисплея списка клиентов забронировавших тур с указанием: фамилии, имени, отчества, номера и серии загранпаспорта, возраста, пола, даты рождения, даты окончания действия загранпаспорта, номера телефона, номера мобильного телефона, адреса электронной почты;
2) оформление путевки, куда входит: номер заказа, сведения о туре, данные о клиенте: фамилия, имя, отчество, номер и серия загранпаспорта, возраст, пол, дата рождения, дата окончания действия загранпаспорта; данные о билете: вид транспорта, пункт отправления, дата и время отправления, номер рейса / поезда / парома / автобуса, пункт назначения, дата и время прибытия,;
3) расчет тура для группы клиентов. Для каждой возрастной группы значение скидки постоянно и неизменно (взрослый — полная стоимость, ребенок (5 — 10 лет) — скидка 20%, ребенок (11−16 лет) — скидка 5%);
4) сохранение данных о турах и клиентах в файл;
5) предоставление списка клиентов с учетом забронированного билета;
6) бронирование билетов на пассажирский транспорт дальнего следования, осуществляющий доставку туристов до места назначения указанном в путевке;
7) организация вывода данных на печать.
4. Хранение и доступ к данным об отелях. Спецификация функции представлена на рисунке 1.4.
Рисунок 1.4.
Входной информацией является письменный документ, содержащий сведения о наименовании отеля, описании отеля в виде текста, фотографии.
Выходной информацией является:
1) представление на экране дисплея списка отелей с описанием в виде текста и фотографией;
2) организация возможности быстрого поиска по наименованию отеля.
5. Хранение и доступ к данным о забронированных билетах. Спецификация функции представлена на рисунке 1.5.
Рисунок 1.5.
Входной информацией является письменный документ или иной источник информации (файл, данные полученные по информационной сети (например, Internet), или др.), содержащий сведения о виде транспорта, пункте отправления, дате и времени отправление, пункте назначения, дате и времени прибытия, номере транспорта (номер рейса / поезда / парома / автобуса / самолета).
Выходной информацией является представление на экране дисплея сведений о введенных данных о билете: номер транспорта (номер рейса / поезда / парома / автобуса / самолета), вид транспорта, пункт отправления, дата и время отправления, пункт назначения, дата и время прибытия для клиентов забронировавшего тур.
6. Выборка данных в указанном диапазоне дат или цен. Спецификация функции представлена на рисунке 1.6.
Рисунок 1.6.
Входной информацией являются сведения о начальной и конечной дате заезда, либо о начальной и конечной стоимости тура.
Выходной информацией является представление на экране дисплея списка туров, содержащего информацию, удовлетворяющую заданным параметрам с указанием: наименования тура, вида тура, названия отеля, даты заезда, длительности пребывания, стоимости путевки, количества путевок.
7. Фильтрация данных о турах по различным параметрам. Спецификация функции представлена на рисунке 1.7.
Рисунок 1.7.
Входной информацией являются сведения о турах, содержащиеся в наборе данных, включающие: наименование тура, вид тура, название отеля, дата заезда, длительность пребывания, стоимость путевки, количество путевок.
Выходной информацией является представление на экране дисплея списка туров упорядоченного в соответствии с выбранным параметром, содержащий: наименование тура, вид тура, название отеля, дату заезда, длительность пребывания, стоимость путевки, количество путевок.
8. Предоставление сведений о клиентах. Спецификация функции представлена на рисунке 1.8.
Рисунок 1.8.
Входной информацией для функции являются данные, содержащиеся в наборе данных — о наименовании страны, о наименовании тура.
Выходной информацией является:
1) представление на экране дисплея списка клиентов, содержащего: номер заказа, наименование страны, наименование тура, ФИО клиента, пол, возраст, дату рождения, номер и серию загранпаспорта, срок действия загранпаспорта, телефон, мобильный телефон, адрес электронной почты клиента;
2) организация вывода данных на печать.
9. Выборка данных по виду тура, по срокам, по длительности пребывания, по стоимости путевки, по стране назначения. Спецификация функции представлена на рисунке 1.9.
Рисунок 1.9.
Входной информацией являются данные, содержащиеся в наборе данных о наименовании страны, сведения о турах с указанием: наименования тура, вида тура, названия отеля, даты заезда, длительности пребывания, стоимости путевки, количества путевок.
Выходной информацией является представление на экране дисплея списка туров упорядоченного в соответствии с выбранными параметрами, содержащего: наименование тура, вид тура, название отеля, дату заезда, длительность пребывания, стоимость путевки, количество путевок.
10. Определение количества путевок проданных за месяц / квартал / полугодие / год. Спецификация функции представлена на рисунке 1.10.
Рисунок 1.10.
Входной информацией являются данные, содержащиеся в наборе данных о наименовании страны, сведения о турах.
Выходной информацией является:
1) представление на экране дисплея диаграммы (зависимость — страна / количество туров) продаж путевок в зависимости от выбранных параметров (параметры — месяц / квартал / полугодие / год);
2) организация вывода диаграммы на печать.
11. Определение количества стран, по которым продано больше всего путевок. Спецификация функции представлена на рисунке 1.11.
Рисунок 1.11.
Входной информацией являются данные о наименовании страны содержащихся в наборе данных, при этом необходимо предварительно рассчитать общее число туров для страны и общее число клиентов забронировавших тур.
Выходной информацией является представление на экране дисплея диаграммы продаж туров. Организация вывода данных на печать.
12. Определение числа постоянных клиентов. Спецификация функции представлена на рисунке 1.12.
Рисунок 1.12.
Входной информацией являются сведения о клиентах содержащиеся в наборе данных.
Выходной информацией является представление на экране дисплея списка клиентов с указанием: ФИО, пола, возраста, даты рождения, номера и серии загранпаспорта, срока действия загранпаспорта, телефона, мобильного телефона, адреса электронной почты.
13. Определение количества мало востребованных туров. Спецификация функции представлена на рисунок 1.13.
Рисунок 1.13.
Входной информацией являются сведения о турах, сведения о клиентах содержащиеся в наборе данных.
Выходной информацией является:
1) представление на экране дисплея списка сведений о турах упорядоченных в соответствии с указанными параметрами, содержащего: наименование тура, вид тура, название отеля, дату заезда, длительность пребывания, стоимость путевки, количество путевок;
2) количество свободных путевок, которые предварительно необходимо вычислить.
14. Определение прибыли за прошедший месяц / квартал / полугодие / год. Спецификация функции представлена на рисунке 1.14.
Рисунок 1.14.
Для формирования входной информации необходимо рассчитать общее число всех туров содержащихся в наборе данных.
Выходная информация представляет собой диаграмму на основании информации полученной на входе.
15. Предоставление списка клиентов забронировавших билеты на указанный вид транспорта. Спецификация функции представлена на рисунке 1.15.
Рисунок 1.15.
Входной информацией является наименование страны, наименование тура содержащиеся в наборе данных. Для формирования списка клиентов необходимо указать номер заказа и выбрать из предложенного вариант отбора, т. е. вид транспорта.
Выходной информацией является список клиентов, включающий: наименование страны, наименование тура, номер заказа, вид транспорта, ФИО, пол, возраст, дату рождения, номер и серию загранпаспорта, срок действия загранпаспорта, телефон, мобильный телефон, адрес электронной почты.
16. Формирование отчетов. Спецификация функции представлена на рисунке 1.16.
Рисунок 1.16.
В качестве входной информации используются сведения о странах, турах, клиентах содержащиеся в наборе данных.
Выходная информация представляет собой отчет, сформированный в зависимости от требований пользователя. Вид отчетов следующий:
— «страна / тур / сведения о туре / сведения о туристах»;
— «номер заказа / страна / тур / вид тура / отель / дата заезда / длительность пребывания / стоимость / вид транспорта / номер транспорта / пункт отправления / пункт назначения / дата и время отправления / дата и время прибытия / сведения о клиенте»;
— «страна / описанние страны / фото».
Таким образом, проект системы предполагает 18 разновидностей форм входной информации и 13 разновидностей форм выходной информации.
1.4.2 Качественные требования.
Надежность Одной из основных составляющих качества системы является надежность. Под надежностью понимают свойство системы или ее отдельного элемента удовлетворять на определенном интервале времени некоторым, заранее установленным, требованиям при соблюдении заданных режимов и условий эксплуатации.
Разрабатываемый программный продукт должен соответствовать следующим критериям надежности:
1. Неразрешенные манипуляции пользователя не должны приводить к сбоям работы программы и зависанию системы.
2. Работа не должна зависеть от вариантов загрузки.
3. Предсказуемые ошибки и сбои во время выполнения программы (отсутствие файла, деление на ноль и т. д.) должны обрабатываться и передавать сообщение пользователю.
Дружественность.
1. Удобный и понятный для пользователя интерфейс.
2. Количество манипуляций производимых пользователем должно быть сведено к минимуму.
3. Управление программой должно быть удобным и интуитивно понятным.
4. Наличие «всплывающих» подсказок.
5. Наличие инструкции по работе с программным продуктом.
1.4.3 Требования к быстродействию.
1. Скорость реализации действий не должна зависеть от качеств ПК..
2. Скорость работы программы должна быть соизмерима с адекватным реагированием человека.
1.4.4 Минимальные технические требования для работы с программным продуктом.
1. Программный продукт должен работать на ПК типа IBM PC с процессором, поддерживающим платформу WIN32.
2. Оперативная память — не менее 128 Мб.
3. Дисковое пространство — от 100 Мб.
4. Монитор с установленным разрешением не менее 1024×768 пикселей.
5. Манипулятор типа «мышь».
6. Дисковод 3.5″ или привод для чтения CD-ROM.
7. Операционная система Windows 9x, Windows 2000, Windows ХР, Windows Vista.
1.5 Требования к условиям выполнения работ по проектированию.
Исполнитель должен представить программный продукт в срок до 25 мая 2010 года.
1.6 Порядок контроля и проверки системы.
1.6.1 Требования к приемо-сдаточным испытаниям Программный продукт может приниматься по всем задачам сразу или по комплексам задач или задачам по мере их создания. Система или комплексы задач должны пройти следующие основные виды испытаний:.
1) предварительные испытания;.
2) опытная эксплуатация;.
3) приемочные испытания..
Испытание программного продукт должно осуществляться путем его тестирования в целях выявления возможных ошибок и недостатков.
Проверяется работоспособность программного обеспечения и соответствие выполняемых функций системы требованиям документа «Техническое задание». Заканчиваются предварительные испытания оформлением акта приемки в опытную эксплуатацию.
Опытная эксплуатация проводится с целью проверки технологичности реализованного процесса, проверки функционирования системы в целом, правильности выполнения поставленных задач и реализованных функций.
В процессе опытной эксплуатации должен вестись журнал, в котором будут фиксироваться результаты выполненных работ, замечания по работе программного обеспечения и предложения по изменению работы программного обеспечения.
В процессе опытной эксплуатации разработчики проводят доработку программного обеспечения по полученным замечаниям и предложениям, утверждают техническую документацию.
Результаты опытной эксплуатации отражаются в Акте о завершении опытной эксплуатации. Решение о вводе системы в постоянную эксплуатацию принимает комиссия, назначаемая распоряжением о проведении приемочных испытаний.
Комиссии предъявляется доработанную по результатам опытной эксплуатации версию программного продукта (программы и документации). Комиссия проверяет полноту выполненных доработок, комплектность и качество технической документации. На основании анализа выполненных работ и журнала проведения опытной эксплуатации, комиссия принимает решение о принятии системы в постоянную эксплуатацию.
1.6.2 Требования к составу и содержанию работ по установке программного продукта на ПК.
Установка программы производится путем инсталляции программы с компакт-диска изготовителя на жесткий диск компьютера. Перенос программы на другие машины без разрешения изготовителя запрещен.
1.7 Требования к документированию.
Изготовитель программного продукта обязан предоставить следующие документы:
1. Инструкцию пользователя программы;
2. Руководство по установке.
Эти документы должны быть включены в состав справочной системы программы.
2. Технологический раздел
2.1 Выбор методов реализации [2].
Проектирование схемы базы данных должно решать задачи минимизации дублирования данных и упрощения процедур их обработки и обновления.
В качестве методов реализации выбранной темы рассматривались несколько вариантов:
— иерархическая модель данных;
— сетевая модель данных;
— реляционная модель данных.
Иерархическая модель данных (ИМД), основана на понятии деревьев, состоящих из вершин и ребер. Вершине дерева ставится в соответствие совокупности атрибутов данных, характеризующих некоторый объект. Вершины и ребра дерева как бы образуют иерархическую древовидную структуру, состоящую из n уровней. Данный метод реализации выбранной темы не приемлем, так как операции в ИМД имеют нелогичный позаписный характер. Механизмы доступа к данным и перемещения по структуре данных в таких моделях достаточно сложны и существенным образом опираются на концепцию текущего состояния механизма доступа. Отношение «многие-ко-многим» реализуется очень сложно, дает громоздкую структуру и требует хранения избыточных данных, иерархическая упорядоченность усложняет операции удаления и добавления, доступ к любой вершине возможен только через корневую вершину, что увеличивает время доступа, сложно осуществить поиск и сортировку данных.
В сетевой модели данных больше внимания уделяется структуризации данных, чем развитию ее операционных возможностей. Наборы отношений и структуру записей необходимо задавать наперёд. Изменение структуры базы данных обычно ведет к перестройке всей базы данных. Конечно, сетевая модель имеет рад преимуществ: гибкость, стандартизация, быстродействие.
В данной дипломной работе использована реляционная модель данных. Реляционной называется база данных, в которой все данные, доступные пользователю, организованны в виде таблиц, все операции над данными сводятся к операциям над этими таблицами. Данная модель представления данных обладает радом неоспоримых преимуществ:
1) доступ к данным свободен от двусмысленности;
2) автоматически поддерживается целостность данных;
3) перенос базы данных на другой компьютер не оказывает влияния на приложение;
4) удобно использовать для хранения любого количества любых данных, особенно если данные однородные;
5) полная независимость данных;
6) возможна выборка по заданным условиям;
7) легко осуществить поиск данных.
2.2 Выбор среды и языка программирования.
Бурное развитие вычислительной техники, потребность в эффективных средствах разработки программного обеспечения привели к появлению систем программирования, ориентированных на «быструю разработку». В основе систем быстрой разработки или RAD-систем (Rapid Application Development) лежит технология визуального проектирования и событийного программирования. Ее суть заключается в том, что среда разработки берет на себя большую рутинной работы, оставляя программисту работу по конструированию окон и созданию функций обработки событий повышая этим производительность работы программиста.
Разработчики приложений баз данных выдвигают требования к инструментам, при помощи которых такие приложения можно создавать, которые в общем виде можно сформулировать как: «быстрота, простота, эффективность, надежность» .
Рынок программных продуктов предлагает множество сред для автоматизации программирования, самыми популярными из которых являются MS Access, Visual C++, Borland Delphi, Borland С++ Builder. В большинстве случаев языки программирования нельзя сравнивать между собой без связи с решаемыми задачами. Кратко рассмотрим их особенности:
1) MS Access — реляционная СУБД корпорации Microsoft. Имеет широкий спектр функций, включая связанные запросы, сортировку по разным полям, связь с внешними таблицами и базами данных. Благодаря встроенному языку VBA, в самом Access можно писать приложения, работающие с базами данных. В MS Access используется язык программирования Visual Basic for Applications (VBA), существенным недостатком которого является невозможность создания выполняемых файлов (.EXE). В плане поддержки целостности данных Access отвечает только моделям БД небольшой и средней сложности. В отношении защиты информации и разграничения доступа Access не имеет надежных стандартных средств.
2) Visual C++ — хотя в названии и фигурирует заявка на «визуальность», не позволяет впрямую создавать визуально-графические компоненты. Их приходится создавать с помощью классов, набирая код на клавиатуре, что способствует совершению множества ошибок и увеличивает время, затраченное не на разработку программ, а на создание интерфейса. В тоже время Visual C++ позволяет создавать программы минимального размера по сравнению с RAD-системами.
3) Borland Delphi и Borland С++ Builder — следующий шаг в развитии RAD-систем. Выглядят совершенно одинаково. Основное отличие состоит в том, что Delphi базируется на языке Pascal, а Builder на языке C++, более мощном и богатом по своим возможностям. Borland C++ Builder достаточно устойчиво занимает свою нишу, это обусловлено меньшей требовательностью к аппаратным ресурсам при разработке приложений, большей легкостью в освоении и применении средств системы для разработки приложений различной степени сложности. Borland C++ Builder позволяет создавать приложения с помощью инструментальных программных средств, визуально подготавливать, а также непосредственно писать SQL-запросы к базам данных.
Принимая во внимание все выше изложенное и связи с тем, что язык Borland C++ Builder 5 для меня является более знакомым языком программирования, в качестве среды разработки выбираем Borland С++ Builder версии 5.
2.3 Выбор технологии программирования.
Традиционная технология программирования складывалась в условиях, когда основными потребителями программ были научные учреждения, вычислительные ресурсы были ограниченны. Кризис программного обеспечения привел к новой технологии программирования, которая была названа структурным программированием.
Главное требование, которому должна удовлетворять программа — работать в полном соответствии с поставленной задачей и адекватно реагировать на любые действия пользователя. Кроме этого, программа должна быть выпущена точно к заявленному сроку и допускать оперативное внесение необходимых изменений и дополнений. Объем занимаемой памяти и эффективность алгоритмов при этом, к сожалению, отходят на второй план. Иными словами, современные критерии качества программы — это, прежде всего, надежность, а также возможность точно планировать производство программы и ее сопровождение. Для достижения этих целей программы должна иметь простую структуру, быть хорошо читаемой и легко модифицируемой. Структурное программирование — это технология создания программ, позволяющая путем соблюдения определенных правил уменьшить время разработки и количество ошибок, а также облегчить возможность модификации программы. Структурный подход охватывает все стадии разработки проекта: спецификацию, проектирование, собственно программирование и тестирование.
Система Builder производства корпорации Borland полностью удовлетворяет этим требованиям. Интегрированная среда Borland С++ Builder 5 обеспечивает скорость визуальной разработки, продуктивность повторно используемых компонент в сочетании с мощью языковых средств C++, усовершенствованными инструментами и разномасштабными средствами доступа к базам данных.
К несомненным достоинствам Borland Builder можно отнести следующие особенности:
1) Интегрированная среда разработки объединяет редактор форм, инспектор объектов, палитру компонент и полностью интегрированные редактор кода и отладчик — инструменты быстрой разработки программных приложений, обеспечивающие полный контроль над кодом и ресурсами.
2) Профессиональные средства языка C++ интегрированы в визуальную среду разработки. Borland Builder предоставляет быстродействующий компилятор с языка Borland C++, эффективный инкрементальный загрузчик и гибкие средства отладки как на уровне исходных инструкций, так и на уровне ассемблерных команд — в расчете удовлетворить высокие требования программистов-профессионалов.
3) Конструирование по способу «drag-and-drop «позволяет создавать приложение простым перетаскиванием захваченных мышью визуальных компонент из Палитры на форму приложения. Инспектор объектов предоставляет возможность оперировать со свойствами и событиями компонент, автоматически создавая заготовки функций обработки событий, которые наполняются кодом и редактируются в процессе разработки.
4) Мастер инсталляции руководит созданием унифицированных дистрибутивных пакетов для разработанных приложений.
5) Отрытые инструменты API могут быть непосредственно интегрированы в визуальную среду системы. Есть возможность подключения привычного текстового редактора или создания собственного мастера для автоматизации выполнения повторяющихся процедур.
Все приведенные выше достоинства среды C++ Builder говорят в пользу его использования при написании пакета программ.
В качестве используемых пользователем операционных систем были выбраны системы семейства Windows, поскольку именно они чаще всего используются для работы.
3. Эскизный проект
3.1 Разработка частного технического задания.
3.1.1 Требования к функционированию.
Из перечисленного набора функций, представленных в пункте 1.4 данного дипломного проекта, для разработки частного технического задания оставим следующий набор функций и составим спецификацию каждой функций.
1. Хранение и доступ к данным о стране назначения. Спецификация функции представлена на рисунке 3.1.
Рисунок 3.1.
Входной информацией является письменный документ, содержащий сведения о наименовании страны, описании страны в виде текста, фотографию.
Выходной информацией является:
1) представление на экране дисплея списка стран с описанием и фотографией,.
1) расчет минимальной стоимости тура для страны.
2. Хранение и доступ к данным о турах. Спецификация функции представлена на рисунке 3.2.
Рисунок 3.2.
Входной информацией является:
1) письменный документ, содержащий сведения о наименовании туров, виде туров, наименовании отелей, дате заезда, длительности пребывания, стоимости путевки, количестве путевок;
2) наименование страны, содержащейся в наборе данных.
Выходной информацией является:
1) представление на экране дисплея списка туров для страны с указанием: наименования тура, вида тура, названия отеля, даты заезда, длительности пребывания, стоимости путевки, количества путевок;
2) расчет числа туров;
3) расчет числа свободных путевок.
3. Хранение и доступ к данным о клиентах. Спецификация функции представлена на рисунке 3.3.
Рисунок 3.3.
Входной информацией являются:
1) данные загранпаспорта — ФИО клиента, номер и серия загранпаспорта, возраст клиента, пол клиента, дата рождения, дата окончания действия загранпаспорта;
2) контактная информация — номер телефона;
3) сведения о туре — наименование страны, наименование тура, вида тура, наименование отеля, дата заезда, длительность пребывания, стоимость путевки содержащейся в наборе данных.
Выходной информацией является:
1) представление на экране дисплея списка клиентов забронировавших тур с указанием: ФИО, пола, возраста, даты рождения, номера и серии загранпаспорта, срока действия загранпаспорта, телефона.
2) оформление путевки представляет собой отчет, куда входит: номер заказа, сведения о туре, данные о клиенте, данные о билете.
3) расчет тура для группы клиентов. Для каждой возрастной группы значение скидки постоянно и неизменно (взрослый — полная стоимость, ребенок (5 — 10 лет) — скидка 20%, ребенок (11−16 лет) — скидка 5%).
4. Хранение и доступ к данным об отелях. Спецификация функции представлена на рисунке 3.4.
Рисунок 3.4.
Входной информацией является письменный документ, содержащий сведения о наименовании отеля, описание отеля в виде текста, фотографию.
Выходной информацией является:
1) представление на экране дисплея списка отелей с описанием в виде текста и фотографией;
2) организация возможности быстрого поиска по наименованию отеля.
5. Хранение и доступ к данным о забронированных билетах. Спецификация функции представлена на рисунке 3.5.
Рисунок 3.5.
Входной информацией является письменный документ или иной источник информации (файл, данные полученные по информационной сети (например, Internet), или др.), содержащий сведения о виде транспорта, пункте отправления, дате и времени отправление, пункте назначения, дате и времени прибытия, номере транспорта (рейс / поезд / паром / автобус / самолет).
Выходной информацией является представление на экране дисплея сведений о введенных данных о билете — номер транспорта (номер рейса / поезда / парома / автобуса / самолета), вид транспорта, пункт отправления, дата и время отправления, пункт назначения, дата и время прибытия.
6. Выборка данных в указанном диапазоне дат или цен. Спецификация функции представлена на рисунке 3.6.
Рисунок 3.6.
Входной информацией являются сведения о начальной и конечной дате заезда, либо о начальной и конечной стоимости тура.
Выходной информацией является представление на экране дисплея списка туров удовлетворяющих заданным параметрам, содержащего: наименование тура, вид тура, наименование отеля, дату заезда, длительность пребывания, стоимость путевки, количество путевок.
7. Фильтрация данных о турах по различным параметрам. Спецификация функции представлена на рисунке 3.7.
Рисунок 3.7.
Входной информацией являются данные о турах, содержащиеся в наборе данных.
Выходной информацией является представление на экране дисплея списка туров, содержащего наименование тура, вид тура, наименование отеля, дату заезда, длительность пребывания, стоимость путевки, количество путевок упорядоченного в соответствии с выбранным параметром.
8. Предоставление сведений о клиентах забронировавших тур. Спецификация функции представлена на рисунке 3.8.
Рисунок 3.8.
Входной информацией для функции являются данные о наименовании страны, наименовании тура, содержащихся в наборе данных.
Выходной информацией является представление на экране дисплея списка клиентов, содержащего: номер заказа, наименование страны, наименование тура, ФИО клиента, пол клиента, возраст клиента, дату рождения, номер и серию загранпаспорта, срок действия загранпаспорта, телефон.
9. Выборка данных по виду, по срокам, по длительности, по стоимости, по стране. Спецификация функции представлена на рисунке 3.9.
Рисунок 3.9.
Входной информацией являются данные о наименовании стран, сведения о турах содержащиеся в наборе данных.
Выходной информацией является представление на экране дисплея списка туров упорядоченных в соответствии с выбранными параметрами, содержащего: наименование тура, вид тура, наименование отеля, дату заезда, длительность пребывания, стоимость путевки, количество путевок.
10. Составление отчетов. Спецификация функции представлена на рисунке 3.10.
Рисунок 3.10.
В качестве входной информации используются сведения о стране, туре, клиентах содержащихся в наборе данных.
Выходная информация представляет собой два отчета, сформированные в зависимости от требований пользователя. Вид отчетов следующий:
1) «Отчет о бронировании туров» представляет собой: название страны, название тура, сведения о клиентах — номер заказа, ФИО клиента, пол, возраст, дата рождения, номер и серия загранпаспорта, контактная информация — телефон.
2) «Туристическая путевка» представляет собой: номер заказа, название страны, название тура, вид тура, название отеля, дата заезда, длительность пребывания, стоимость путевки, вид транспорта, номер транспорта (номер рейса / поезда / парома / автобуса / самолета), пункт отправления, дата и время отправления, пункт назначения, дата отправления и время прибытия, сведения о туристе — ФИО, пол, возраст, дата рождения, номер и серия загранпаспорта".
3.1.2 Расчет нормирования работы на создание программного продукта с учетом частного технического задания.
Определим трудоемкость и численность исполнителей при разработке дипломного проекта «Разработка информационной системы туристического агентства» с учетом внешних спецификаций, определенных в пункте 3.1.1.
Планируемый срок разработки — 120 дней.
Исходные данные:
Количество разновидностей форм входной информации — 10;
в том числе:
банка данных (БД) — 8;
нормативно-справочной информации (НСИ) — 2;
Количество разновидностей форм выходной информации — 5;
Степень новизны — Г (привязка типовых проектных решений).
Сложность алгоритма — 3, алгоритмы, реализующие стандартные методы решения, а также не предусматривающие применения сложных численных и логических методов.
Объем входной информации — не превышает 50 тысяч документострок.
Сложность организации контроля входной информации — 11, входные данные и документы разнообразного формата и структуры; контроль осуществляется перекрестно, т. е. учитывается связь между показателями различных документов.
Сложность организации контроля выходной информации — 22, печать документов сложной многоуровневой структуры разнообразной формы и содержания.
Проект разрабатывается с учетом обработки информации в режиме работы в реальном времени (РВ).
Язык программирования — Borland C++ Builder5.
Для определения трудоемкости разработки задачи следует пользоваться поправочными коэффициентами [3].
При использовании информации различных видов поправочный коэффициент на стадиях «Технический проект» и «Рабочий проект» рассчитывается по формуле:
(3.1).
где.
Кn — поправочный коэффициент;
К1, К2, К3 — поправочные коэффициенты согласно табл. 1.1 и 1.2) «Типовые нормы времени на программирование задач для ЭВМ», Москва. Экономика. 1989 г.).
m — количество наборов данных переменной информации (ПИ);
n — количество наборов данных нормативно-справочной информации (НСИ);
p — количество наборов данных информации при использовании банка данных.
Определяем поправочные коэффициенты:
Согласно таблице 1.1 [2] поправочный коэффициент для определения трудоемкости работ на стадии «Технический проект»:
К1 = 0 К2 = 0.43 К3 = 1.25 m=0 n=2 p=8.
(3.2).
Кп = 1.08.
Согласно таблице 1.2 [2] поправочный коэффициент для определения трудоемкости работ на стадии «Рабочий проект»:
К1 =0 К2 = 0,29 К3 = 0,24 m=0 n=2 p=8.
(3.3).
Кп = 0.25.
В случае применения нескольких коэффициентов общий поправочный коэффициент (Кобщ) определяется как произведение всех применяемых коэффициентов по следующей формуле:
(3.4) где К1 х К2 х … Кn — поправочные коэффициенты, учитывающие влияние качественных факторов на изменение затрат времени при выполнении конкретной стадии проектирования;
Кобщ — общий поправочный коэффициент (i-го вида работы).
3.1.3 Расчет затрат времени на разработку дипломного проекта с учетом частного технического задания.
Таблица 3.1 — Определение затрат времени по стадиям разработки проекта с учетом частного технического задания.
Стадия разработки проекта. | Затраты времени. | Поправочный коэффициент. | Затраты времени с учетом поправочного коэффициента. | |||
Значение чел. Дней. | основание. | значение. | основание. | |||
Разработка технического задания. | ||||||
1.1. Затраты времени разработчика постановки задачи. | Таблица 4.1. норма Е5. | 0,65. | Примечание. к таблице 4.1. | 19.5. | ||
1.2.Затраты времени разработчика программного обеспечения. | 0,35. | 10.5. | ||||
2. Разработка эскизного проекта. | ||||||
2.1. Затраты времени разработчика постановки задачи. | Таблица 4.2. норма Е5. | 0,7. | Примечание. к таблице 4.2. | 24.5. | ||
2.2.Затраты времени разработчика программного обеспечения. | 0,3. | 10.5. | ||||
3. Разработка технического проекта. | ||||||
3.1. Затраты времени разработчика постановки задачи. | Таблица 4.5. норма — Г10. | К2 = 0.43. К3 = 1.25. Кп = 1.08. К4 = 1.0. К5 = 1.26. Кобщ =1.36. | п. 1.7 (таблица 1.1). п. 1.7 (таблица 1.1). Кп=(К1m*К2n*К3*p)/(m+n+p). п. 1.7 (таблица 1.3). п. 1.9 (таблица 1.5). Кобщ = Кп * К4 * К5. | 148.2. | ||
3.2.Затраты времени разработчика программного обеспечения. | Таблица 4.6. норма — Г10. | 48.96. | ||||
4. Разработка рабочего проекта. | ||||||
4.1. Затраты времени разработчика постановки задачи. | Таблица 4.31. норма — Г10. | К2= 0.29. К3= 0.24. Кп= 0.25. К4=1.00. К5 = 1.07. К6 = 1.32. К7 = 0.8. Кобщ= 0.28. | п. 1.7(таблица 1.1). п. 1.7(таблица 1.2). Кп =(К1m*К2n*К3*p)/(m+n+p). п. 1.7(таблица 1.3). п. 1.8(таблица 1.4). п. 1.9(таблица 1.5). п. 1.11. Кобщ=Кп * К4 * К5 * К6 * К7. | 18.2. | ||
4.2. .Затраты времени разработчика программного обеспечения. | Таблица 4.32. норма — Г10. | 56.84. | ||||
5. Внедрение. | ||||||
5.1. Затраты времени разработчика постановки задачи. | Таблица 4.57. норма — Г10. | К1=1.07. К2=1.21. К3=1.1. Кобщ=1.4. | п. 1.8(таблица 1.4). п. 1.9(таблица 1.5). п. 1.16. Кобщ = К1 * К2 * К3. | 81.2. | ||
5.2.Затраты времени разработчика программного обеспечения. | Таблица 4.58. норма — Г10. | 75.6. | ||||
ИТОГО. | ||||||
Расчет общей трудоемкости разработки проекта (Тоб) производится по формуле:
(3.5).
где.
t — трудоемкость работ по стадиям проектирования (от 1 до n).
Тоб = 494 чел/дней в соответствии с таблицей 3.1.
Полученную общую трудоемкость разработки проекта разделим на 5.
Следовательно, для разработки потребуется 100 дней, что укладывается в срок отведенный на разработку дипломного проекта.
При разработке дипломного проекта необходимо выполнить пункты 1 — 10 функциональных требований частного технического задания согласно пункта 3.1.
3.2 Проектирование структуры программы [4].
База данных — совокупность связанных данных, организованных по определенным правилам, предусматривающим общие принципы описания, хранения и манипулирования, независимая от прикладных программ. База данных является информационной моделью предметной области.
При разработке дипломного проекта по архитектуре организации хранения данных используется локальная база данных Paradox 7. Данные локальной базы данных (файлы данных) находятся на одном (локальном) устройстве, в качестве которого может выступать диск компьютера или сетевой диск (диск другого компьютера, работающего в сети). Локальные базы данных полезны для развития тех приложений, которые распространены среди многих пользователей, каждый из которых поддерживает отдельную базу данных. Каждый пользователь такого приложения манипулирует своими собственными данными на своем компьютере. Пользователю нет необходимости иметь доступ к данным любого другого пользователя, так что отдельная база данных здесь вполне приемлема.
Приложения, которые работают с локальными базами данных, называются одноярусными, так как и приложение и база данных расположены на одном и том же компьютере (ярусе).
3.2.1 Нормализация таблиц при проектировании базы данных [4].
При проектировании структуры таблиц базы данных уделяется особенное внимание нормализации базы данных.
Процесс трансформации данных в реляционную форму называется нормализацией. Нормализация — это удаление избыточных данных из каждой таблицы в базе данных. У нормализации двойная цель — удалить лишние копии данных и обеспечить максимальную гибкость, как в структурах таблиц, так и в интерфейсных приложениях на случай возможных будущих изменений в базах данных.
О нормализации таблиц в базе данных нужно заботиться на раннем этапе проектирования приложения. Иногда процесс нормализации порождает добавочные таблицы, которые были не включены в первоначальный проект. Узнав об этом как можно раньше, не придется зря тратить силы на их разработку.
Нормализация обычно подразделяется на пять форм или стадий — от первой нормальной формы до пятой нормальной формы. Каждая последующая стадия строится на предыдущей. Формально существует пять форм, но на практике, как правило, используется только первые три. Последние две считаются слишком специальными, чтобы их применять к проектным базам данных.
Первая нормальная форма Для того чтобы таблица считалась нормализованной к первой нормальной форме, каждое из ее полей должно быть неделимым и не должно содержать никаких повторяющихся групп.
Поле считается неделимым, если оно содержит только один элемент данных. Чтобы соответствовать первой нормальной форме, такие столбцы должны быть разбиты на несколько полей.
Повторяющаяся группа — это поле, которое повторяется внутри определения записи с целью хранения нескольких значений для атрибута.
Вторая нормальная форма Для того чтобы привести таблицу ко второй нормальной форме, нужно, чтобы все не ключевые поля полностью зависели от первичного ключа таблицы и от каждого поля в первичном ключе, если последний состоит из нескольких полей. Это значит, что каждое не ключевое поле должно уникально определяться первичным ключом и полями, его составляющими.
Третья нормальная форма Для того чтобы таблица была приведена к третьей нормальной форме, нужно, чтобы все не ключевые поля полностью зависели от первичного ключа таблицы и не зависели друг от друга. Таким образом, к квалификации второй нормальной формы добавляется требование независимости каждого не ключевого поля таблицы от других не ключевых полей.
Четвертая нормальная форма Четвертая нормальная форма запрещает хранить независимые элементы в одной и той же таблице, когда между этими элементами существуют взаимоотношения типа многие-ко-многим. Четвертая нормальная форма требует, чтобы запомнили такие элементы в отдельных таблицах и создали таблицу отношений для организации связей между таблицами, характеризующихся взаимоотношениями типа многие-ко-многим.
Конечно же, поскольку два столбца находятся во взаимоотношении многие-ко-многим, то они уже не являются независимыми, и тем самым уже нарушают третью нормальную форму. По этой причине четвертая нормальная форма рассматривается больше теоретически, т.к. частично она перекрывается третьей нормальной формой.
Пятая нормальная форма Пятая нормальная форма требует, чтобы вы имели возможность перестраивать свои данные в нормализованных таблицах, в которые они были переведены. Это значит, что если вы начинаете с ненормализованных таблиц, то у вас не должно быть препятствий к вырезке и вставке данных и после нормализации. Это осуществимо, если есть гарантия, что в процессе нормализации не будет потери данных. На практике идея сохранения всех элементов в базе данных в процессе нормализации воплощается интуитивно.
3.3 Декомпозиция задачи.
Существуют два основных подхода к проектированию базы данных: нисходящий и восходящий. При восходящем подходе работа начинается с самого нижнего уровня атрибутов (т.е. свойств сущностей и связей), которые на основе анализа существующих между ними связей группируются в отношения, представляющие типы сущностей и связи между ними. Процесс нормализации представляет собой вариант восходящего подхода при проектировании баз данных. Восходящий подход в наибольшей степени приемлем для проектирования простых баз данных с относительно небольшим количеством атрибутов.
Для проектирования сложных баз данных используется нисходящий подход. Начинается этот подход с разработки моделей данных, которые содержат несколько высокоуровневых сущностей и связей, затем работа продолжается в виде серии нисходящих уточнений низкоуровневых сущностей, связей и относящихся к ним атрибутов.
Нисходящий подход демонстрируется в концепции модели «сущность-связь». В этом случае работа начинается с выявления сущностей и связей между ними.
Цель декомпозиции состоит в определении модулей и процедур низшего уровня, на основании которых может быть построена функциональная система, в максимальной степени использующая принцип сборки программ из готовых модулей. Такой подход отражает общую концепцию современной технологии программирования, выраженную так:
Проектирование — «сверху вниз».
Программирование — «снизу вверх».
Структуризация программ выполняется в первую очередь для удобства разработки, программирования, отладки и внесения изменений в программный продукт.