
Шахомиров ПР / рспсит3
.docxГУАП
КАФЕДРА № 41
ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ
ПРЕПОДАВАТЕЛЬ
Канд.техн.наук. |
|
|
|
А.В. Шахомиров |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ОТЧЕТ О ПРАКТИЧЕСКОЙ РАБОТЕ №3 |
ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ АНАЛИЗ И ПРОЕКТИРОВАНИЕ НА ПРИМЕРЕ ДИАГРАММ ЯЗЫКА UML (ЧАСТЬ 3) |
по курсу: Разработка и стандартизация программных средств и информационных технологий |
|
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ гр. № |
|
|
|
|
|
|
|
|
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург 2023
Цель работы: построение диаграмм классов и диаграмм компонентов для прецедентов, проектирование реляционной БД.
Ход работы:
Диаграмма классов определяет типы классов системы и различного рода
статические связи, которые существуют между ними. На диаграмме классов изображаются также атрибуты классов, операции классов и ограничения, которые накладываются на связи между классами.
Диаграммы компонентов показывают, как выглядит модель на физическом уровне. На них изображены компоненты программного обеспечения и связи между ними.
Выбрана модель приложения для онлайн обучения, администратор добавляет и редактирует курсы, управляет пользователями, ученик может просматривать материалы курса и выполнять задания, учитель может добавлять материалы в курс и проверять выполненные задания учеников.
На рисунке 1 представлена диаграмма прецендентов.
Рисунок 1 – Диаграмма прецендентов
Прецедент «Вход в систему»
Для прецедента «Вход в систему» построена диаграмма классов (Рисунок 2)
Рисунок 2 – Диаграмма классов для прецедента
«Вход в систему»
Пользователь и система взаимодействуют при входе в систему. Пользователь использует метод запросВхода, а класс Система обрабатывает данные входа.
Прецедент «Управление пользователями»
Для прецедента «Управление пользователями» построена диаграмма классов (Рисунок 3).
Рисунок 3 – Диаграмма классов для прецедента
«Управление пользователями»
Администратор имеет возможность добавлять, удалять и редактировать пользователей. Класс Пользователь содержит личные данные.
Прецедент «Создание курса»
Для прецедента «Создание курса» построена диаграмма классов (Рисунок 4).
Рисунок 4 - Диаграмма классов для прецедента «Создание курса»
Класс Курс имеет атрибуты для названия и описания, а также метод для его создания. Администратор имеет метод добавитьКурс, который связан с классом Курс.
Прецедент «Просмотр курса»
Для прецедента «Просмотр курса» построена диаграмма классов (Рисунок 5).
Рисунок 5 – Диаграмма классов для прецедента «Просмотр курса»
Класс Ученик может использовать метод просмотретьКурс, чтобы получить доступ к материалам курса. Класс Курс включает в себя все необходимые материалы.
Прецедент «Выполнение заданий»
Для прецедента «Выполнение заданий» построена диаграмма классов (Рисунок 6).
Рисунок 6 – Диаграмма классов для прецедента «Выполнение заданий»
Ученик может использовать метод выполнитьЗадание для отправки выполненного задания. Класс Задание включает описание и срок сдачи.
Прецедент «Проверка задания»
Для прецедента «Проверка задания» построена диаграмма классов (Рисунок 7).
Рисунок 7 – Диаграмма классов для прецедента «Проверка задания»
Учитель проверяет и оценивает задания, используя методы проверитьЗадание и выставитьОценку. Класс ОтветСтудента содержит ответ ученика и его оценку.
Прецедент «Добавление материалов»
Для прецедента «Добавление материалов» построена диаграмма классов (Рисунок 8).
Рисунок 8 – Диаграмма классов для прецедента «Добавление материалов»
Учитель имеет возможность добавлять учебные материалы в курс с использованием метода добавитьМатериал. Класс МатериалКурса содержит название и содержимое материала.
Диаграммы компонентов
Были построены диаграммы компонентов для работы приложения со стороны сервера, администратора, ученика и учителя (Рисунок 9 - 12).
Рисунок 9 – Диаграмма компонентов для сервера
Сервер приложений состоит из веб-сервера, сервера базы данных и компонента бизнес-логики. Веб-сервер маршрутизирует запросы через API Gateway, который в свою очередь взаимодействует с бизнес-логикой. Бизнес-логика выполняет запросы к базе данных, которая также может взаимодействовать с компонентом управления сессиями.
Рисунок 10 – Диаграмма компонентов для администратора
Администратор взаимодействует с системой через панель управления, которая включает компоненты для управления пользователями и курсами. Эти компоненты взаимодействуют с базой данных для выполнения операций чтения и записи.
Рисунок 11 – Диаграмма компонентов для учителя
Учитель использует интерфейс, который содержит компоненты для управления материалами курса и панель оценок. Эти компоненты взаимодействуют с базой данных для обновления материалов курса и оценок учеников.
Рисунок 12 – Диаграмма компонентов для ученика
Ученик взаимодействует с обучающим модулем для доступа к материалам курса и модулем заданий для отправки выполненных заданий. Эти компоненты связаны с базой данных, которая хранит данные курсов и обратную связь по заданиям.
Генерация описания БД на SQL
По диаграмме классов системы онлайн-обучения (Рисунок 13), был сгенерирован код для создания БД на языке SQL (Листинг 1).
Рисунок 13 – Диаграмма классов
Листинг 1 – Код для создания БД
CREATE TABLE Administrators (
AdministratorID INT PRIMARY KEY AUTO_INCREMENT,
);
CREATE TABLE Courses (
CourseID INT PRIMARY KEY AUTO_INCREMENT,
Name VARCHAR(255) NOT NULL,
Description TEXT
);
CREATE TABLE UserManagement (
UserID INT PRIMARY KEY AUTO_INCREMENT,
);
CREATE TABLE Students (
StudentID INT PRIMARY KEY AUTO_INCREMENT,
);
CREATE TABLE Teachers (
TeacherID INT PRIMARY KEY AUTO_INCREMENT,
);
CREATE TABLE Assignments (
AssignmentID INT PRIMARY KEY AUTO_INCREMENT,
CourseID INT,
Description TEXT,
FOREIGN KEY (CourseID) REFERENCES Courses(CourseID)
);
CREATE TABLE CourseMaterials (
MaterialID INT PRIMARY KEY AUTO_INCREMENT,
CourseID INT,
Content TEXT,
FOREIGN KEY (CourseID) REFERENCES Courses(CourseID)
);
CREATE TABLE AssignmentChecks (
CheckID INT PRIMARY KEY AUTO_INCREMENT,
AssignmentID INT,
TeacherID INT,
FOREIGN KEY (AssignmentID) REFERENCES Assignments(AssignmentID),
FOREIGN KEY (TeacherID) REFERENCES Teachers(TeacherID)
);
Вывод
В ходе выполнения практической работы были разработаны диаграммы классов и диаграммы компонентов для прецедентов системы онлайн обучения, а также сгенерирован код для создания БД на SQL.
Диаграммы классов были созданы для представления структуры системы в терминах классов и объектов, их атрибутов, методов и взаимосвязей. Диаграммы классов демонстрируют не только структуру данных, но и возможные действия, которые могут быть выполнены пользователями системы.
Диаграммы компонентов были разработаны для визуализации физической структуры системы, включая различные программные компоненты и их связи. Эти диаграммы показывают, как компоненты взаимодействуют друг с другом для обеспечения функциональности системы онлайн-обучения, предоставляя ценное представление о модульности системы, её расширяемости и поддержке.
Созданные диаграммы предоставляют фундамент для следующих этапов разработки, включая детальное проектирование, реализацию и тестирование системы онлайн-обучения.