Проектирование модели данных




ПРИМЕР ПРОЕКТИРОВАНИЯ ИНФОЛОГИЧЕСКОЙ И ЛОГИЧЕСКОЙ МОДЕЛЕЙ БД

Построение функциональной модели предметной области

Первым этапом функционального моделирования системы является этап анализа поведения системы. Для построения функциональной модели ресурса использовался метод DFD-диаграмм (от англ. – Data Flow Diagrams – диаграммы потоков данных, диаграммы «вход – выход»). Для построения использовался программный пакет Erwin Process Modeler 7.3, нотация IDEF0.

На основе анализа функционального поведения системы построены диаграммы уровня А–0 (рисунок ПА.1) и детализированные диаграммы уровня А0, А1 и А2 (рисунки ПА.2-ПА.4). На диаграммах представлены модели процессов выполнения заданий, управления профилями пользователей и управления лабораторными заданиями. [s1]

Функциональное поведение системы на уровне действующих лиц (категорий пользователей) представлено на диаграмме прецедентов на рисунке 2.1.

Рисунок 2.1 – Диаграмма прецедентов

Определение входных и выходных данных

Исходной информацией для формирования входных и выходных данных ресурса являются персональные данные пользователей и описание лабораторных заданий по отобранной тематике.

Таким образом, входными данными являются данные, хранящиеся в базе данных ресурса:

– персональные данные пользователей системы (обучающихся, преподавателей, администраторов);

– данные, необходимые для регистрации и авторизации пользователей (логин, пароль);

– описание лабораторных заданий, включающее общее описание задания, набор ip-адресов для индивидуальных вариантов, логин и пароль для подключения клиентского ПК к серверу, набор ключевых слов–эталонов для проверки корректности выполненных заданий (для каждого варианта).

Выходными данными являются результаты выполнения заданий, на основании которых формируется статистика для преподавателя и обучающихся.

Проектирование модели данных

Первым этапом моделирования БД является этап анализа данных и семантического моделирования, на котором формируется инфологическая модель данных. При построении инфологической модели данных использовался метод «сущность-связь» (метод ER-диаграмм Питера Чена, комбинированная нотация Питера Чена и Мартина, https://www.mstu.edu.ru/study/materials/zelenkov/ch_2_4.html).

Анализ входных и выходных данных показал, что в предметной области можно выделить следующие сущности:

1. Пользователь (User) (атрибуты: идетификатор (id-st – первичный ключ), ФИО (fio), имя_учетной записи (login), пароль_к_ учетной записи (password), студенческая_группа (st_gr), статус (status));

2. Лабораторная_работа (labs) (атрибуты: идентификатор_ лабораторной_работы (id-lab – первичный ключ), заголовок работы (head_lab), текст работы (text_lab));

3. Вариант_лабораторной_работы (var_lab) (атрибуты: идентификатор_варианта_лабораторной_работы (id_varlab – первичный ключ), ip-адрес_варианта_лабораторной_работы (ip_address), ключевое_слово (key_word), идентификатор_лабораторной_работы (id_vl – внешний ключ));

4. Выполнение (study) (атрибуты: идентификатор (id_st - первичный ключ), результат (result), статус (status), пользователь (user), вариант_лабораторной_работы (var_lab), дата_выполнения (date_st).

Сущности «Пользователь» и «Вариант_лабораторной_работы» являются стержневыми.

Сущность «Лабораторная_работа» является обозначающей для сущности «Вариант_лабораторной_работы».

Сущность «Выполнение» является ассоциацией между сущностями «Пользователь» и «Вариант_лабораторной_работы».

Инфологическая модель данных представлена на рисунке 2.7. На этапе логического проектирования БД использовался универсальный язык моделирования UML. [30]

На основе инфологической модели разработана логическая схема проектируемой БД, представленная диаграммой классов на рисунке 2.8, которая также отражает поведение системы. Для построения диаграммы классов использовался программный пакет MS Visio 2010.

Рисунок 2.7 – Инфологическая модель данных

Рисунок 2.8 – Диаграмма классов БД

Для каждого из классов определены следующие операции:

1. Для класса user (пользователь):

– Registration() – регистрация;

– Authorization() – авторизация;

2. Для класса lab (лабораторная работа):

– addLab() – добавление/удаление/редактирование лабораторной работы;

3. Для класса var_lab (вариант_лабораторной_работы):

– addVarLab() – добавление/удаление/редактирование варианта лабораторной работы;

4. Для класса study (выполнение_лабораторной_работы):

– getVarLab() – получить вариант лабораторной работы;

– sendResult() – отправить результат для проверки на сервере;

– stayStatus() – установить статус выполнения задания;

– setStatisticForStudent() – просмотр статистики студентом;

– setStatisticForTeacher() – просмотр статистики преподавателем.

 

[s1]Здесь не представлено



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-01-11 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: