- •2.7 Требования к надежности. 30
- •Введение
- •1 Системный анализ предметной области
- •1.1 Общие сведения о туристическом агентстве «Коми-тур»
- •1.2 Информационная система учета деятельности туристического агентства
- •1.3 Анализ данных
- •1.4 Исследование информационных потоков
- •1.5 Анализ существующих систем
- •1.6 Обоснование разработки новой системы
- •1.7 Анализ существующего программного обеспечения для разработки системы
- •2. Постановка задачи. Требование к системе.
- •2.1. Постановка задачи
- •2.2. Общесистемные требования
- •2.3 Требования к интерфейсу
- •2.4. Требования к составу и параметрам технических средств
- •3. Проектные решения
- •3.1. Решение по архитектуре системы и программному обеспечению
- •3.2. Решение по выбору технических средств
- •3.3 Решения по защите информации
- •3.4 Описание логической и физической модели данных
- •3.5 Описание структуры системы
- •3.6 Описание файлового состава системы
- •4 Экономическое обоснование разработки
- •4.1 Оценка размеров программного продукта
- •4.2 Оценка трудозатрат на разработку системы
- •4.3 Определение перечня работ
- •4.4 Планирование трудовых ресурсов
- •4.5 Расчет затрат на разработку системы
- •4.6 Расчет экономии живого и овеществленного труда
- •4.7 Расчет экономического эффекта от использования информационной системы
- •5 Экология и безопасность производства
- •5.1 Управление деятельностью.
- •5.2 Опасные производственные факторы
- •5.3 Способы защиты персонала
- •5.3.1 Организация работ с вычислительной техникой
- •5.3.2 Микроклимат помещения турагентства
- •5.3.3 Освещение рабочего места оператора эвм
- •5.3.4 Шум, вибрация и защита от воздействия электрического тока на пользователя эвм
- •5.3.5 Пожарная безопасность
- •5.4 Рекомендации по улучшению условий труда
- •Заключение
- •Список литературы
- •Приложение а Формы документов туристического агентства «Коми-тур»
- •Договор реализации туристского продукта
- •Предмет договора
- •2. Сведения о туроператоре
- •3. Порядок реализации турпродукта
- •4. Стоимость туристского продукта и порядок оплаты
- •5. Срок действия и порядок расторжения настоящего Договора.
- •6. Порядок и сроки предъявления туристом требований об уплате денежной суммы по банковской гарантии. Основания для осуществления выплат по банковской гарантии.
- •7. Порядок разрешения споров.
- •8. Особые условия.
- •9. Прочие условия.
- •10. Реквизиты и подписи сторон.
- •Приложение б Диаграмма dfd – модель потоков данных или диаграмма idef0 – модель бизнес-процессов “as is”?
- •Приложение к Листинг
3.4 Описание логической и физической модели данных
Хранилище данных представляет собой модель логического уровня и отображает логические связи между элементами данных безотносительно к их содержанию и среде хранения. Однако любая СУБД оперирует с допустимыми для нее логическими единицами данных, а также допускает использование определенных правил композиции логических структур более высокого уровня из составляющих информационных единиц более низкого уровня. Кроме того, многие СУБД накладывают количественные и иные ограничения на структуру базы данных.
На основании анализа входных и выходных данных предметной области опишем атрибуты сущностей, а также определим ключи: первичный - PK, внешний – FK (Таблица 3.2).
Таблица 3.2 – Определение ключей и принадлежность к типам
Имя сущности |
Атрибуты |
Тип |
Примеры значений |
1 |
2 |
3 |
4 |
Договор |
Код договора (PK) |
integer |
{1, 2, 3, …} |
Статус |
integer |
{1, 2, 3, …} |
|
Номер договора с туристом |
Varchar (10) |
{1, 2, 3, …} |
|
Дата договора |
Datetime (GetDate()) |
{01.01.09,…} |
|
№ туроператора(FK) |
integer |
{1, 2, 3, …} |
|
Номер БСО |
Varchar (10) |
{1, 2, 3, …} |
|
Дата оплаты |
Datetime |
{01.01.09,…} |
|
дата начала тура |
datetime |
{01.01.09,…} |
|
дата окончания тура |
datetime |
{01.01.09,…} |
|
дополнительные услуги(FK) |
integer |
{1,2,3…} |
|
общая стоимость |
integer |
{10 000,…} |
|
медицинская страховка(FK) |
integer |
{1,2,3…} |
|
Код типа тура (FK) |
integer |
{1,2,3…} |
|
Кредит |
bit |
Да/нет |
|
Заявка |
№ заявки (PK) |
integer |
{1, 2, 3, …} |
Статус(FK) |
integer |
{1, 2, 3, …} |
|
Дата начала отдыха |
datetime |
{01.01.09,…} |
|
Дата окончания отдыха |
datetime |
{01.01.09,…} |
|
Дата поступления заявки |
datetime GetDate() |
{01.01.09,…} |
|
Дополнительная информация |
varchar(100) |
{первая линия моря,…} |
|
Количество человек |
integer |
{1, 2, 3, …} |
|
Продолжение таблицы 3.2 |
|||
1 |
2 |
3 |
4 |
Заявка |
Маршрут отдыха |
varchar(100) |
{Турция Анталия отель Hilton 3*, …} |
Дети |
integer |
{1, 2, 3, …} |
|
Номер туриста(FK) |
integer |
{1, 2, 3, …} |
|
Желаемая стоимость путевки ДО |
money |
{10 000,15 000…} |
|
Желаемая стоимость путевки ОТ |
money |
{20 000,…} |
|
Тип тура
|
Номер типа тура (РK) |
integer |
{1,2,3…} |
Страна |
varchar(30) |
{Турция, Египет} |
|
Город |
varchar(30) |
{Анталия , Кемер, } |
|
категория места размещения (FK) |
integer |
{1,2,3…} |
|
Место размещения (FK) |
integer |
{1,2,3…} |
|
перевозка(FK) |
integer |
{1,2,3…} |
|
питание(FK) |
integer |
{1,2,3…} |
|
экскурсии(FK) |
integer |
{1,2,3…} |
|
Турист |
Номер туриста (PK) |
integer |
{1,2,3…} |
Фамилия |
varchar(35) |
{Вихляева,…} |
|
Имя |
varchar(25) |
{Екатерина,…} |
|
Отчество |
varchar(25) |
{Андреевна,…} |
|
№ паспорта российского |
varchar(4) |
{653731,…} |
|
серия паспорта российского |
varchar(6) |
{3302} |
|
№ и серия загран паспорта |
varchar(10) |
{3302 653731,…} |
|
Адрес(FK) |
integer |
{9021234567,…} |
|
Дата рождения |
datetime |
{01.01.09,…} |
|
Контактный телефон |
integer |
{9021234567,…} |
|
№ клубной карты |
varchar(8) |
{00001111,…} |
|
Продолжение таблицы 3.2 |
|||
1 |
2 |
3 |
4 |
Турист |
ICQ |
varchar(9) |
{591234567,…} |
varchar(50) |
{r@mail.ru,…} |
||
Реклама (FK) |
Integer |
{1,2,..} |
|
Туроператор |
Номер туроператора(PK) |
Integer |
{1,2,3…} |
№ агентского договора |
varchar(20) |
{1,2,3…} |
|
Дата агентского договора |
datetime |
{01.01.09,…} |
|
полное наименование |
varchar(100) |
{Coral-travel,…} |
|
сокращенное наименование |
varchar(20) |
{Корал,…} |
|
юридический адрес(FK) |
integer |
{1,2,3…} |
|
адрес местонахождения (FK) |
Integer |
{1,2,3…} |
|
Сайт |
varchar(50) |
{www.tour.ru,…} |
|
электронный адрес |
varchar(50) |
{name@name.ru,…} |
|
телефон |
varchar(10) |
{4951234567,…} |
|
№ договора страхования |
varchar(20) |
{09480В6000890,…} |
|
размер финансового обеспечения |
varchar(10) |
{10 000 000,…} |
|
реестровый номер |
varchar(12) |
{ВТ 011809,…} |
|
Логин |
varchar(20) |
{Alparus,…} |
|
Пароль |
varchar(20) |
{ВТ011809,…} |
|
Код страх. орг(FK) |
Integer |
{1, 2, 3, …} |
|
Тип номера |
Номер типа номера(PK) |
integer |
{1,2,3…} |
Название |
varchar(5) |
{DBL, SNGL…} |
|
Английской название |
varchar(5) |
{Single…} |
|
расшифровка |
varchar(50) |
{Одноместный,…} |
|
Продолжение таблицы 3.2 |
|||
1 |
2 |
3 |
4 |
Страховая организация |
Код страховой организации(PK) |
integer |
{1, 2, 3, …} |
Наимен орг-и фин обеспечения |
varchar(100) |
{Ингосстрах,…} |
|
Адрес орг-и фин обеспечения(FK) |
integer |
{1,2,3.…} |
|
Дата договора страхования |
datetime |
{01.01.09,…} |
|
срок договора страхования |
datetime |
{01.01.09,…} |
|
Тип питания |
Номер типа питания(PK) |
integer |
{1,2,3…} |
Название |
varchar(5) |
{ALL…} |
|
расшифровка |
varchar(50) |
{все включено,…} |
|
Английское название |
varchar(20) |
{ALL Inclusive,…} |
|
Реклама |
Номер вида рекламы(PK) |
integer |
{1,2,3…} |
Название рекламы |
varchar(50) |
{радио, ТВ,…} |
|
Доп услуги |
Номер доп услуги(PK) |
integer |
{1,2,3…} |
Название доп.услуги |
varchar(50) |
{такси, телефон в номере …} |
|
|
Номер мнения (PK) |
integer |
{1,2,3…} |
Мнение |
Мнение |
varchar(50) |
{хорошо! …} |
|
Код тура(FK) |
integer |
{1,2,3…} |
Вид страховки |
Номер страховки(PK) |
integer |
{1,2,3…} |
Название страховки |
varchar(50) |
{медицинская, …} |
|
Тип адреса |
Номер типа адреса(PK) |
integer |
{1,2,3…} |
Название типа |
varchar(15) |
{город, край, область} |
|
Данные адреса |
Номер (PK) |
integer |
{1,2,3…} |
Название |
varchar(20) |
{Чайковский, …} |
|
Родитель |
integer |
{1,2,3…} |
|
Код типа адреса (FK) |
integer |
{1,2,3…} |
|
Продолжение таблицы 3.2 |
|||
11 |
2 |
3 |
4 |
Место размещения |
Номер (PK) |
integer |
{1,2,3…} |
Название места размещения |
varchar(50) |
{Hotel Hilton 3 * …} |
|
Перевозка |
Номер (PK) |
integer |
{1,2,3…} |
Название перевозки |
varchar(50) |
{Москва-Анталия-Москва …} |
|
Экскурсии |
Номер (PK) |
integer |
{1,2,3…} |
Название экскурсии |
varchar(50) |
{нет, обзорная …} |
|
Статус |
Номер статуса(PK) |
integer |
{1,2,3…} |
Наименование |
varchar(50) |
{нет оплаты.,…} |
|
Адрес |
Код адреса (PK) |
integer |
{1,2,3…} |
Индекс |
varchar(6) |
{617760, …} |
|
Код города (FK) |
integer |
{1,2,3…} |
|
Код улицы (FK) |
integer |
{1,2,3…} |
|
Номер дома |
varchar(5) |
{1,2,3…} |
|
Номер квартиры |
varchar(5) |
{1,2,3…} |
|
Физическая модель данных представлена в Таблице 3.3 следующим образом:
Таблица 3.3 – Физическая модель данных
Имя сущности |
Атрибуты |
Тип |
Примеры значений |
1 |
2 |
3 |
4 |
Dogovor |
id_dog (PK) |
integer |
{1, 2, 3, …} |
N_dog_turist |
Varchar (10) |
{1, 2, 3, …} |
|
Date_dog_turist |
Datetime (GetDate()) |
{01.01.09,…} |
|
id_operator(FK) |
integer |
{1, 2, 3, …} |
|
Продолжение таблицы 3.3 |
|||
1 |
2 |
3 |
4 |
Dogovor |
N_BSO |
Varchar (10) |
{1, 2, 3, …} |
date_opl |
Datetime |
{01.01.09,…} |
|
credit |
bit |
Да/нет |
|
Sum |
money |
{10 000,…} |
|
Date_begin |
datetime |
{01.01.09,…} |
|
Date_end |
datetime |
{10.01.09,…} |
|
id_typetour (FK) |
integer |
{1,2,3…} |
|
Insurance(FK) |
integer |
{1,2,3…} |
|
status(FK) |
integer |
{1,2,3…} |
|
touristdog |
id |
integer |
{1, 2, 3, …} |
id_turist (FK) |
integer |
{1, 2, 3, …} |
|
id_dog(FK) |
integer |
{1, 2, 3, …} |
|
Zayavka |
id_zayavka (PK) |
integer |
{1, 2, 3, …} |
status |
integer |
{1, 2, 3, …} |
|
Z_date |
datetime |
{01.01.09,…} |
|
Z_date_end |
datetime |
{01.01.09,…} |
|
Z_date_begin |
datetime GetDate() |
{01.01.09,…} |
|
Z_deti |
integer |
{1,2,3…} |
|
Dop_info |
varchar(100) |
{первая линия моря,…} |
|
Z_kol_men |
integer |
{1, 2, 3, …} |
|
Z_marshrut |
varchar(100) |
{Турция Анталия отель Hilton 3*, …} |
|
N_turist (FK) |
integer |
{1, 2, 3, …} |
|
Z_sum_ot |
money |
{10 000,15 000…} |
|
Z_sum_do |
money |
{20 000,…} |
|
|
|||
Продолжение таблицы 3.3 |
|||
1 |
2 |
3 |
4 |
typetour |
id_typetour (РK) |
integer |
{1,2,3…} |
City(FK) |
integer |
{1,2,3…} |
|
type_placing(FK) |
integer |
{1,2,3…} |
|
Placing(FK) |
integer |
{1,2,3…} |
|
Transport(FK) |
integer |
{1,2,3…} |
|
Food(FK) |
integer |
{1,2,3…} |
|
Excursion(FK) |
integer |
{1,2,3…} |
|
Turist
|
id_turist (PK) |
integer |
{1,2,3…} |
Surname |
varchar(35) |
{Вихляева,…} |
|
Name |
varchar(25) |
{Екатерина,…} |
|
Secondname |
varchar(25) |
{Андреевна,…} |
|
N_pasport_rus |
varchar(6) |
{ 653731,…} |
|
seriaruspas |
varchar(4) |
{ 6537,…} |
|
N_pasport_zagr |
varchar(10) |
{3302 653731,…} |
|
Birthday date |
datetime |
{01.01.09,…} |
|
N_club_kart |
archar(8) |
{00001111,…} |
|
varchar(50) |
{r@mail.ru,…} |
||
id_rekl |
Integer |
{1,2,3…} |
|
Id_adres (FK) |
Integer |
{1,2,3…} |
|
ICQ |
varchar(9) |
{591234567,…} |
|
Insurianse |
id_ins (PK) |
integer |
{1, 2, 3, …} |
Name_ins |
varchar(100) |
{Ингосстрах,…} |
|
addressins(FK) |
varchar(150) |
{г.Чайковский, ул. Ленина, д1.кв1.…} |
|
Srok_dogins |
datetime |
{01.01.09,…} |
|
Date_dog_ins |
datetime |
{01.01.09,…} |
|
Продолжение таблицы 3.3 |
|||
1 |
2 |
3 |
4 |
operator
|
id_operator (PK) |
Integer |
{1,2,3…} |
N_agent_dog |
varchar(20) |
{1,2,3…} |
|
Date_agent_dog |
datetime |
{01.01.09,…} |
|
All_name |
varchar(100) |
{Coral-travel,…} |
|
Sokr_name |
varchar(20) |
{Корал,…} |
|
Post_address(FK) |
Integer |
{1,2,3…} |
|
Ur_adres(FK) |
Integer |
{1,2,3…} |
|
Site |
varchar(50) |
{www.tour.ru,…} |
|
E_mail |
varchar(50) |
{name@name.ru,…} |
|
Op_telephone |
varchar(12) |
{4951234567,…} |
|
N_dogins |
varchar(20) |
{09480В6000890,…} |
|
Financial_obesp |
Money |
{10 000 000,…} |
|
N_reestr |
varchar(12) |
{ВТ 011809,…} |
|
id_ins (FK) |
Integer |
{1, 2, 3, …} |
|
Login |
varchar(30) |
{abcdef,…} |
|
Password |
varchar(20) |
{bkd54,…} |
|
Nomera |
id_razm (PK) |
integer |
{1,2,3…} |
name_razm |
varchar(5) |
{DBL, SNGL…} |
|
englishname |
varchar(30) |
{single} |
|
rashifrovka |
varchar(50) |
{Одноместный,…} |
|
reklama |
id_rek(PK) |
integer |
{1,2,3…} |
name_rek |
varchar(50) |
{радио, ТВ,…} |
|
Food |
id_food(PK) |
integer |
{1,2,3…} |
type_food |
varchar(5) |
{ALL…} |
|
name |
varchar(50) |
{все включено,…} |
|
englishname |
varchar(20) |
{ALL Inclusive,…} |
|
Продолжение таблицы 3.3 |
|||
1 |
2 |
3 |
4 |
dop_usl |
id_dop(PK) |
integer |
{1,2,3…} |
name_dop |
varchar(50) |
{такси, телефон в номере …} |
|
Insur |
id_ins(PK) |
integer |
{1,2,3…} |
name_ins |
varchar(50) |
{медицинская, …} |
|
Adrtype |
id_adrtype(PK) |
integer |
{1,2,3…} |
name |
varchar(15) |
{город, край, область} |
|
adrdata |
id_adr (PK) |
integer |
{1,2,3…} |
name |
varchar(20) |
{Чайковский, …} |
|
parent |
integer |
{1,2,3…} |
|
id_type (FK) |
integer |
{1,2,3…} |
|
adres |
id_adres (PK) |
integer |
{1,2,3…} |
index |
varchar(6) |
{617760, …} |
|
id_city(FK) |
integer |
{1,2,3…} |
|
Id_street(FK) |
integer |
{1,2,3…} |
|
N_house |
varchar(5) |
{6А,2,3…} |
|
N_korpus |
varchar(5) |
{1,2,3…} |
|
N_flat |
varchar(4) |
{1,2,3…} |
|
hotel |
Id_hotel (PK) |
integer |
{1,2,3…} |
Namehotel |
varchar(50) |
{Hotel Hilton 3 * …} |
|
Mnenie |
id_mnenie(PK) |
integer |
{1,2,3…} |
mnenie |
varchar(50) |
{хорошо! …} |
|
id_tour(FK) |
integer |
{1,2,3…} |
|
Ex |
Id_ex (PK) |
integer |
{1,2,3…} |
nameex |
varchar(50) |
{да, нет, обзорная …} |
|
Dopdog |
Id_dop(FK) |
integer |
{1,2,3…} |
Id_dog(FK) |
integer |
{1,2,3…} |
|
Продолжение таблицы 3.3 |
|||
1 |
2 |
3 |
4 |
Transport |
Id_transport (PK) |
integer |
{1,2,3…} |
nametransp |
varchar(50) |
{Москва-Анталия-Москва …} |
|
status |
id_status |
integer |
{1,2,3…} |
namestat |
varchar(20) |
{нет оплаты …} |
|
Структура логической и физической модели отображена в Приложении Г.
В нашей модели предусмотрим следующие ограничения целостности:
а) правило на поле:
дата поступления заявки, дата заключения договора, дата оплаты тура – принимают текущую дату по умолчанию, но возможно ее редактирование;
количество человек в таблице «Заявка» не могут принимать значения равные 0;
Общая стоимость тура не может принимать значения равные 0.
б) правило на запись:
дата поступления заявки не может быть меньше даты начала отдыха;
дата заключения договора не может быть меньше даты начала отдыха;
дата начала отдыха не может быть больше даты окончания отдыха;
дата начала тура не может быть больше даты окончания тура;
дата оплаты отдыха не может быть больше даты начала отдыха;
опишите в терминах «раньше-позже»
предполагаемая стоимость путевки ОТ не может быть больше предполагаемой стоимости путевки ДО;
дата рождения туриста не может быть больше даты заключения договора.
в) триггеры аналогичны функциям проверки, но работают на уровне записи. Так как все проверки правильности введенных данных будут реализованы до внесения их в таблицу, то, я считаемю, что нет необходимости проверять данные в самой таблице. (общепринято не использовать местоимение «я»)
Возможные значения по умолчанию:
количество человек равно 2;
дата поступления заявки, дата заключения договора, дата оплаты тура – принимают текущую дату по умолчанию, но возможно ее редактирование.
