Пояснительная записка (1209632), страница 2
Текст из файла (страница 2)
Рисунок 2.4 – Диаграмма вариантов использования «Управление абонементами»
2.2 Разработка информационной модели
Информационная модель позволяет отобразить наборы данных, используемых в системе. Первый этап разработки данной модели – концептуальное проектирование. На рис.2.5 представлена диаграмма классов анализа, которая описывает систему на концептуальном уровне.
На данной диаграмме отображены три типа класса — сущности, граничный и управляющий. Классы сущности – это классы базы данных. Они располагаются в правой части диаграммы. Слева расположены граничные классы, представляют собой интерфейс приложения.
От главного интерфейса наследуются два – для Администратора и для Директора. Они отличаются по функционалу, который должен быть доступен в разной степени для различных пользователей. Управляющие классы отвечают за выполнение сложных вычислений и управление другими объектами. Например, класс «Отчеты» отвечает за формирование отчетов о клиентах, абонементах или расписании.
Рисунок 2.5 – Диаграмма классов анализа
Следующим этапом разработки информационной модели является логическое и физическое проектирование базы данных информационной системы. Определим структуру таблиц базы данных.
Таблица 2.1 содержит личные данные об инструкторах: ФИО, информацию о паспорте, адресе, санитарной книжке, а также особую информацию.
Таблица 2.1 – Instructor – Инструктор
| Наименование поля | Тип | Описание |
| InstructorID | int | Идентификатор инструктора |
| Surname | nvarchar(20) | Фамилия инструктора |
| Name | nvarchar(20) | Имя инструктора |
| Patronimic | nvarchar(20) | Отчество инструктора |
| Pasport | int | Серия и номер паспорта |
| PasportPlace | nvarchar(100) | Место выдачи паспорта |
| PasportDate | date | Дата выдачи паспорта |
| BirthDay | date | День рождения инструктора |
| SanitaryBook | int | Номер санитарной книжки |
| CityID | int | Идентификатор города |
| StreetID | int | Идентификатор улица |
| HomeID | nvarchar(10) | Номер дома |
| PhoneNumber | nvarchar(20) | Номер телефона |
| InstructorInfo | nvarchar(500) | Информация об инструкторе |
| SNP | nvarchar(20) | Фамилия И.О. |
Таблица 2.2 содержит личные данные о ребенке и об одном родителе, а также особую информацию (заметки).
Таблица 2.2 – Client – Клиент
| Наименование поля | Тип | Описание |
| ClientID | int | Идентификатор клиента |
| Surname | nvarchar(20) | Фамилия клиента |
Окончание таблицы 2.2
| Наименование поля | Тип | Описание |
| Name | nvarchar(20) | Имя клиента |
| Patronimic | nvarchar(20) | Отчество клиента |
| ParentName | nvarchar(50) | ФИО родителя |
| ParentPasport | int | Серия и номер паспорта родителя |
| ParentPasportPlace | nvarchar(100) | Место выдачи паспорта родителя |
| ParentPasportDate | date | Дата выдачи паспорта родителя |
| BirthDay | date | День рождения клиента |
| | nvarchar(20) | Адрес электронной почты |
| CityID | int | Идентификатор города |
| StreetID | int | Идентификатор улица |
| HomeID | nvarchar(10) | Номер дома |
| PhoneNumber | nvarchar(20) | Номер телефона |
| Notes | nvarchar(500) | Особая информация |
Таблица 2.3 содержит информацию об абонементах всех клиентов. Имеет связь с таблицей 2.4 для определения типа абонемента.
Таблица 2.3 – Abonement – Абонемент
| Наименование поля | Тип | Описание |
| AbonementID | int | Идентификатор абонемента |
| ClientID | int | Идентификатор клиента |
| TypeOfAbonementID | int | Идентификатор типа абонемента |
| DateOfPurchase | date | Дата покупки абонемента |
| Active | bit | Активность абонемента |
Таблица 2.4 содержит описание действующих в студии типов абонементов. Типы абонементов различаются количеством занятий в абонементе.
Таблица 2.4 – TypeOfAbonement – Тип абонемента
| Наименование поля | Тип | Описание |
| TypeOfAbonementID | int | Идентификатор типа абонемента |
| CountOfClass | int | Количество занятий в абонементе |
| NameOfAbonement | nvarchar(20) | Название абонемента |
| Notes | nvarchar(100) | Описание |
Таблица 2.5 – это справочник городов. Нужна для описания адресов инструкторов и клиентов.
Таблица 2.5 – City– Город
| Наименование поля | Тип | Описание |
| CityID | int | Идентификатор города |
| CityName | nvarchar(30) | Название города |
Таблица 2.6 – это справочник улиц. Нужна для описания адресов инструкторов и клиентов.
Таблица 2.6 – Street – Улица
| Наименование поля | Тип | Описание |
| StreetID | int | Идентификатор улицы |
| StreetName | nvarchar(30) | Название улицы |
Таблица 2.7 – это справочник бассейнов. Нужна для описания бассейнов студии.
Таблица 2.7 – Waterpool – Бассейн
| Наименование поля | Тип | Описание |
| WaterpoolID | int | Идентификатор бассейна |
| WaterpoolName | nvarchar(30) | Название бассейна |
Таблица 2.8 – это справочник времени занятий.
Таблица 2.8 – Time – Время
| Наименование поля | Тип | Описание |
| TimeID | int | Идентификатор времени |
| TimeString | nvarchar(10) | Время |
Таблица 2.9 хранит все записи клиентов и представляет собой расписание занятий.
Таблица 2.9 – Schedule – Расписание
| Наименование поля | Тип | Описание |
| RecordID | int | Идентификатор записи |
| WaterpoolID | int | Идентификатор бассейна |
| TimeID | int | Идентификатор времени |
| ClientID | int | Идентификатор клиента |
| InstructorID | int | Идентификатор инструктора |
| AbonementID | int | Идентификатор абонемента |
| Date | date | Дата занятия |
| Notes | nvarchar(100) | Примечания |
Таблица 2.10 необходима для хранения информации о записях постоянного расписания.
Таблица 2.10 – ConstantSchedule – Постоянное расписание
| Наименование поля | Тип | Описание |
| RecordID | int | Идентификатор записи |
| WaterpoolID | int | Идентификатор бассейна |
| TimeID | int | Идентификатор времени |
| ClientID | int | Идентификатор клиента |
| InstructorID | int | Идентификатор инструктора |
| DayNum | int | День занятия |
Окончание таблицы 2.10
| Наименование поля | Тип | Описание |
| Notes | nvarchar(100) | Примечания |
Таблица 2.11 содержит данные о пользователях системы. Имеет связь с таблицей 2.12, определяющую информацию о должности пользователя.
Таблица 2.11 – Users – Пользователи
| Наименование поля | Тип | Описание |
| UserID | int | Идентификатор пользователя |
| PostID | int | Идентификатор должности |
| Surname | nvarchar(20) | Фамилия пользователя |
| Name | nvarchar(20) | Имя пользователя |
| Patronimic | nvarchar(20) | Отчество пользователя |
| Login | nvarchar(20) | Логин |
| Password | nvarchar(20) | Пароль |
Таблица 2.12 хранит в себе данные о должностях, представленных в студии.
Таблица 2.12 – Post – Должность
| Наименование поля | Тип | Описание |
| PostID | int | Идентификатор должности |
| PostName | nvarchar(30) | Название должности |
Для данного проекта были разработаны диаграммы классов базы данных: логическая и физическая (рис. 2.6 и рис. 2.7). Данные диаграммы описывают структуру базы данных приложения. Логическая диаграмма классов базы данных определяет сущности, их состав, атрибуты и взаимосвязи между ними. Физическая диаграмма классов базы данных описывает реализацию объектов логической модели на уровне объектов конкретной базы данных, то есть определяет конечный состав таблиц, их столбцы и связи между таблицами.
Рисунок 2.6 – Логическая диаграмма классов базы данных











