Пояснительная записка (1206295), страница 4
Текст из файла (страница 4)
Рисунок 2.4 – Контекстная диаграмма автоматов
Примечание: closeApp() – закрытие программы.
После инициализации программа переходит в стартовое состояние – работа не авторизованного пользователя. Далее может быть осуществлен переход в состояние авторизация, где необходимо ввести логин и пароль, после чего произойдет провека подлинности пользователя и определение его прав доступа, на основе которых осуществляется переход в одно из трех состояний, каждое из которых представляет собой особый режим работы системы. В соответствии с разграничением полномочий, в зависимости от типа зарегистрированного пользователя возможны три режима работы:
-
работа клиента в системе;
-
работа администратора в системе;
-
работа менеджера в системе.
На рисунке 2.5 изображена диаграмма декомпозиции варианта использования – инициализация модуля для менеджера, которая отображает работу менеджера в системе. После инициализации программы, менеджер может выбрать один из четырех подсистем: заявки, туры, отзывы и справочники. В обязанности менеджера входит:
-
работа с объектами: категории тура, способы передвижения, местоположения;
-
добавление тура;
-
изменение текущей информации о туре;
-
просмотр заявок, отсортированных по статусу;
-
изменение статуса заявки;
-
просмотр отзывов, отсортированных по статусу;
-
изменение статуса отзыва.
Рисунок 2.5 – Диаграмма автоматов «Инициализация модуля для менеджера»
Диаграмма декомпозиции автомата - инициализация модуля для клиента визуализирована на рисунке 2.6. Для того чтобы выбрать тур, клиенту нужно определить критерии поиска, после чего будет отображен список с результатами. Далее можно просмотреть информацию о конкретном туре, добавить его в закладки. Для бронирования тура клиенту нужно обязательно пройти регистрацию. Так же есть функция написания отзыва
Рисунок 2.6 – Диаграмма автоматов «Инициализация модуля для клиента
2.2.2 Разработка информационной модели
Диаграмма классов анализа служит для представления статической структуры модели системы. Существует три вида классов анализа: граничный; управляющий; сущности. На рисунке 2.7 представлена диаграмма классов анализа для системы. Внизу сосредоточены, в основном, классы сущности, которые представляют прототип структуры базы данных. А сверху используются граничные классы, отображающие прототип структуры пользовательского интерфейса, а также интерфейсов взаимодействия с другими системами.
Рисунок 2.7 – Диаграмма классов анализ
Разработка логической и физической моделей системы в виде диаграмм классов занимает важное место в объектно-ориентированном программировании.
Диаграмма классов служит для представления статической структуры модели системы. Диаграмма классов может отражать различные взаимосвязи между отдельными сущностями предметной области (объекты и подсистемы), а также описывать их типы отношений внутреннюю структуру.
Перед началом проектирования физической и логической модели данных проектируемой системы, построим структуру БД.
Таблица Categories (таблица 2.1) содержит список категорий туров c именами файлов изображений и путями к ним.
Таблица 2.1 – Categories – список категорий
| Название | Код | Тип | Примечание |
| Id | Id | Числовой (smallint) | Идентификатор категории |
| Название | Name | Текстовый (nvarchar(100)) | Название категории |
| Имя_файла | NameFile | Текстовый (nvarchar(max)) | Имя файла изображения |
| Путь | Path | Текстовый (nvarchar(max))) | Путь к файлу с изображением |
Таблица CategoryTours (таблица 2.2) содержит информацию о присвоении конкретному туру конкретной категории. Она связана по полю Category_Id c таблицей Categories и по полю Tour_Id с таблицей Tours.
Таблица 2.2 – CategoryTours – категории тура
| Название | Код | Тип | Примечание |
| Категория_Id | Category_Id | Числовой (smallint) | Ссылка на категорию |
| Тур_Id | Tour_Id | Числовой (int) | Ссылка на тур |
Таблица Seasons (таблица 2.3) предоставляет информацию о временах года.
Таблица 2.3 – Seasons – список сезонов
| Название | Код | Тип | Примечание |
| Id | Id | Числовой (tinyint) | Идентификатор сезона |
| Название | Name | Текстовый (nvarchar(10)) | Название сезона |
Таблица SeasonTours (таблица 2.4) содержит информацию о присвоении конкретному туру конкретного сезона. Она связана по полю Season_Id c таблицей Seasons и по полю Tour_Id с таблицей Tours.
Таблица 2.4 – SeasonTours – сезоны тура
| Название | Код | Тип | Примечание |
| Сезон_Id | Season_Id | Числовой (tinyint) | Ссылка на сезон |
| Тур_Id | Tour_Id | Числовой (int) | Ссылка на тур |
В таблицу MoveTypes (таблица 2.5) входят названия способов передвижения по маршруту тура с именами файлов изображений и путями к ним.
Таблица 2.5 – MoveTypes – список способов передвижения
| Название | Код | Тип | Примечание |
| Id | Id | Числовой (smallint) | Идентификатор способа передвижения |
| Название | Name | Текстовый (nvarchar(100)) | Название способа передвижения |
| Имя_файла | NameFile | Текстовый (nvarchar(max)) | Имя файла изображения |
| Путь | Path | Текстовый (nvarchar(max)) | Путь к файлу с изображением |
Таблица Cities (таблица 2.6) хранит список населенных пунктов, их тип может быть определен как город, село или другое местоположение. Каждый населенный пункт относится к определенному региону, связь осуществляется по полю Region _Id c таблицей Regions.
Таблица 2.6 – Cities – список населенных пунктов
| Название | Код | Тип | Примечание |
| Id | Id | Числовой (int) | Идентификатор населенного пункта |
| Название | Name | Текстовый (nvarchar(100)) | Название населенного пункта |
| Тип | Type | Текстовый (nvarchar(50)) | Тип населенного пункта |
| Регион_Id | Region_Id | Числовой (smallint) | Ссылка на регион |
В таблице Regions (таблица 2.7) содержаться регионы. Каждый регион относится к определенной стране, связь осуществляется по полю Country _Id c таблицей Countries.
Таблица 2.7 – Regions – список регионов
| Название | Код | Тип | Примечание |
| Id | Id | Числовой (smallint) | Идентификатор региона |
| Название | Name | Текстовый (nvarchar(100)) | Название региона |
| Страна_Id | Country_Id | Числовой (smallint) | Ссылка на страну |
В таблице Resorts (таблица 2.8) заключены курорты. Каждый курорт относится к определенной стране, связь осуществляется по полю Country _Id c таблицей Countries.
Таблица 2.8 – Resorts – список курортов
| Название | Код | Тип | Примечание |
| Id | Id | Числовой (smallint) | Идентификатор курорта |
| Название | Name | Текстовый (nvarchar(100)) | Название курорта |
| Страна_Id | Country_Id | Числовой (smallint) | Ссылка на страну |
Таблица Countries (таблица 2.9) включает в себя список стран, присутствующих в системе.
Таблица 2.9 – Countries – список стран
| Название | Код | Тип | Примечание |
| Id | Id | Числовой (smallint) | Идентификатор страны |
| Название | Name | Текстовый (nvarchar(100)) | Название страны |
Таблица StatusUniversals (таблица 2.10) предоставляет информацию о статусах, она связана с таблицами Tours (таблица 2.17) и Feedbacks (таблица 2.16) по StatusUniversals_Id.
Таблица 2.10 – StatusUniversals – список универсальных статусов
| Название | Код | Тип | Примечание |
| Id | Id | Числовой (tinyint) | Идентификатор статуса |
| Название | Name | Текстовый | Название статуса |
Таблица Images (таблица 2.11) хранит список имен файлов и путей к ним. Любой тур может содержать несколько фотографий, поэтому связь с таблицей Tours (таблица 2.17) по Tour_Id.
Таблица 2.11 –Images – список изображений
| Название | Код | Тип | Примечание |
| Id | Id | Числовой (int) | Идентификатор изображения |
| Имя_файла | NameFile | Текстовый (nvarchar(max)) | Имя файла изображения |
| Путь | Path | Текстовый (nvarchar(max)) | Путь к файлу с изображением |
| Тур_Id | Tour_Id | Числовой (int) | Ссылка на тур |
Таблица StatusPays (таблица 2.12) включает в себя список статусов оплаты, которые могут быть возможны в заявке, а таблица StatusOrders (таблица 2.13) список статусов самой заявки.
Таблица 2.12 – StatusPays – список статусов оплаты
| Название | Код | Тип | Примечание |
| Id | Id | Числовой (tinyint) | Идентификатор статуса оплаты |
| Название | Name | Текстовый (nvarchar(max)) | Название статуса оплаты |
Таблица 2.13 – StatusOrders – список статусов заявок
| Название | Код | Тип | Примечание |
| Id | Id | Числовой (tinyint) | Идентификатор статуса заявки |
| Название | Name | Текстовый (nvarchar(max)) | Название статуса заявки |
Таблица Causes (таблица 2.14) имеет список причин, по которым менеджер мог бы перенести заявку в архив.














