Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МиСПрИС_КР_Петрова_Романова_Заболотников_9373.docx
Скачиваний:
11
Добавлен:
20.06.2023
Размер:
1.95 Mб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра информационных систем

отчет

по курсовой работе

по дисциплине «Методы и средства проектирования ИС»

Тема: Разработка пользовательского интерфейса классификатора изделий

Студент гр. 9373

Заболотников М.Е.

Студент гр. 9373

Петрова С.В.

Студент гр. 9373

Романова Е.С.

Преподаватель

Дубенецкий В.А.

Санкт-Петербург

2022

Постановка задачи.

Разработать каркас для процесса «Работа с классификатором изделий». Функциональные требования к работе:

1. Схема классификатора должна сохраняться в базе данных.

2. Обеспечить:

  • добавление новой вершины (терминальной, промежуточной);

  • перемещение вершины (смена родителя);

  • изменение порядка размещения потомков в списке вывода;

  • удаление вершины.

3. Обеспечить указание базовой единицы измерения количества.

Анализ исходных данных.

В качестве исходных данных был выбран вариант 6: Собственный источник. Для этого был выбран интернет-магазин книг «Лабиринт». Ссылка на источник: https://www.labirint.ru

В качестве исходных данных для работы был использован классификатор книг. Первым классом будет являться класс «Книги». На него уже будут ссылаться жанры, для примера были выбраны «Фэнтези», «Приключения», «Детективы». Тогда изделия/продукты в виде определённых книг будут являться листами дерева классификатора, ссылаясь на определённые жанры книг.

Фрагмент классификатора:

Книги1

Фэнтези2

Большая телега­­3

Держи марку!4

Кровь эльфов5

Детективы6

Слоны умеют помнить7

Настоящий британский детектив8

Менталист9

Приключения10

Изгнанники11

Айвенго12

Красное божество13

Диаграмма классов фрагмента предметной области представлена на рисунке ниже (см. Рис. 1).

Рис. 1 – Диаграмма классов фрагмента предметной области.

Разработка функциональных требований к системе.

Классы будут использоваться двумя ролями: Пользователем и ответственным(администратором).

Администратор должен иметь управляющие функции: должен уметь добавить класс в структуру, удалить его оттуда, а также изменить структуру. Например, сменить родителя какого-то подкласса.

Пользователю будут доступны лишь функции вывода (просмотра данных) и поиска этих данных.

Диаграмма вариантов использования представлена ниже (см. Рис. 2).

Рис.2 – Диаграмма вариантов использования.

Разработка модели классов.

Диаграмма классов с опциями и атрибутами представлена на рис.3.

Рис.3 – Диаграмма классов

Описание компонентов диаграммы:

Класс изделия — это метакласс для спецификации классификатора изделий. Его элементами являются различные подклассы базового класса Изделия. Объекты этого класса могут ссылаться сами на себя, то есть они могут иметь родителя из этого же класса. Примером такой связи служит жанр Приключения, который ссылается на объект Книги. Оба эти объекта являются классом изделия. Из ассоциации класса видно, что потомок может иметь одного родителя, либо не иметь его вообще.

  • Изделие – класс-сущность, который описывает всё множество изделий (книг в данном случае), которые есть в магазине. Класс изделия имеет ассоциацию зависимости от Класса Изделия. Потому что у каждого изделия есть класс, на который оно ссылается. Также при удалении класса, очевидно, должны удалиться и все объекты, ссылающиеся на этот класс.

  • Единица измерения — это класс для описания различных единиц измерения. Ассоциация ЕИ количества указывает единицу измерения количества для любого изделия текущего класса. У класса изделия может быть единица измерения, а может и не быть.

Разработка модели хранения.

ER-диаграмма представлена ниже (см. Рис. 4).

Рис.4 – ER-диаграмма.

В данной модели представлены три сущности, описанные ранее. Для выполнения задания для таблицы классов необходимо поле id_class, которое однозначно определяет класс, аналогичные поля также созданы и в двух других таблицах (id_product, id_uom). Они соответственно однозначно определяют продукт и единицу измерения. Эти поля являются первичными ключами таблиц.

Также в каждой таблице есть поле name (name_class, name_product, name_uom). Оно нужно для описания объектов для пользователя на «человеческом» языке. Также для более краткого наименования в таблице Unit_of_Measure есть поле short_name_uom.

Для реализации связи между объектами класса в таблице Product_class создано поле parent_class_id. Это поле является внешним ключом и ссылается на объект из той же таблицы.

Для реализации связи между классом и единицей измерения создано поле id_uom, оно является внешним ключом и ссылается на поле id_uom из таблицы Unit_of_Measure.

Для реализации связи между продуктом и классом в таблице Product было создано поле id_class, которое является внешним ключом и ссылается на поле id_class в таблице Product_Class.

Создание базы данных.