Скачиваний:
5
Добавлен:
03.06.2024
Размер:
290.4 Кб
Скачать

ГУАП

КАФЕДРА № 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.

Диаграммы классов были созданы для представления структуры системы в терминах классов и объектов, их атрибутов, методов и взаимосвязей. Диаграммы классов демонстрируют не только структуру данных, но и возможные действия, которые могут быть выполнены пользователями системы.

Диаграммы компонентов были разработаны для визуализации физической структуры системы, включая различные программные компоненты и их связи. Эти диаграммы показывают, как компоненты взаимодействуют друг с другом для обеспечения функциональности системы онлайн-обучения, предоставляя ценное представление о модульности системы, её расширяемости и поддержке.

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

Соседние файлы в папке Шахомиров ПР