ИПР_2_В5 / ИПР _2
.docxБЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ
Кафедра программного обеспечения информационных технологий
Факультет ФКСиС
Специальность ПОИТ
Индивидуальная практическая работа №2
по дисциплине «Технологии разработки программного обеспечения»
Вариант 5
Выполнил студент: Бордон Е.С.
группа 991051
Зачетная книжка № 99105004
Минск 2021
Задание:
1) в среде CASE-средства ERwin разработать следующие уровни IDEF1X-модели предметной области, соответствующей варианту индивидуального задания:
– Логический уровень модели.
* В модели должны быть определены имена всех сущностей, атрибутов,
связей (прямых и обратных).
* Должны быть определены мощности всех связей, назначены первичные
ключи для каждой сущности.
* Должна быть выполнена нормализация всех сущностей и доказано, что
каждая сущность логической модели находится в третьей нормальной
форме.
– Физический уровень модели.
* В модели должны быть определены типы всех атрибутов и их значения
по умолчанию.
2) выполнить генерацию отчетов в среде ERwin по разработанной IDEF1X-
модели.
Вариант: Программное средство учета товаров магазина автозапчастей
Решение:
Работа выполнена в программной среде ERwin Data Modeler. Модель построена сразу в логически-физическом режиме в БД MySQL. Файлы исходники приложены к отчету в архиву ИПР_2.rar.
По рекомендации IDEF1X на логическом уровне в самом начале строится концептуальная модель (упрощенная, только сущности, не раскрывая их атрибуты).
Рис1. Концептуальная модель
Следующим шагом является построение атрибутивной логической модели. Главным в такой модели являются первичные ключи:
Рис2. Атрибутивная логическая модель
На физическом уровне начинаем заполнять полную атрибутивную модель с их типами:
Рис3. Физическая модель
Рис4. Выбранные мной параметры для генерации отчета
Результаты генерации отчета:
Entity |
Entity |
|
Name |
Definition |
Склад |
|
Строчка ТЧ ТТН |
|
Товар |
|
ТТН |
|
Entity |
Entity |
Name |
Склад |
Строчка ТЧ ТТН |
Товар |
ТТН |
Attribute(s) of "Склад" Entity |
|||
Name |
Datatype |
Definition |
Note |
КодСклада |
CHAR(35) |
|
|
Дата_регистрации |
DATE |
|
|
Тип |
CHAR(35) |
|
|
Attribute(s) of "Строчка ТЧ ТТН" Entity |
|||
Name |
Datatype |
Definition |
Note |
КодТовара |
INTEGER |
|
|
НомерТТН |
INTEGER |
|
|
Количество |
INTEGER |
|
|
Attribute(s) of "Товар" Entity |
|||
Name |
Datatype |
Definition |
Note |
КодТовара |
INTEGER |
|
|
Название |
CHAR(35) |
|
|
Цена |
FLOAT |
|
|
Attribute(s) of "ТТН" Entity |
|||
Name |
Datatype |
Definition |
Note |
НомерТТН |
INTEGER |
|
|
КодСклада |
INTEGER |
|
|
Дата |
DATE |
|
|
Relationship |
|
Relationship |
|
Cardinality |
|
Zero-or-One-to-Zero-One-or-More |
|
One-to-Zero-One-or-More |
|
One-to-Zero-One-or-More |
|
Скрипт MySQL:
CREATE TABLE Склад
(
КодСклада CHAR(35) NOT NULL,
ДатаРегистрации DATE NULL,
Тип INTEGER NULL
);
ALTER TABLE Склад
ADD PRIMARY KEY (КодСклада);
CREATE TABLE Строчка_ТЧ_ТТН
(
КодТовара CHAR(35) NOT NULL,
НомерТТН CHAR(35) NOT NULL,
Количество INTEGER NULL
);
ALTER TABLE Строчка_ТЧ_ТТН
ADD PRIMARY KEY (КодТовара,НомерТТН);
CREATE TABLE Товар
(
КодТовара CHAR(35) NOT NULL,
Название CHAR(35) NULL,
Цена FLOAT NULL
);
ALTER TABLE Товар
ADD PRIMARY KEY (КодТовара);
CREATE TABLE ТТН
(
КодСклада CHAR(35) NULL,
НомерТТН CHAR(35) NOT NULL,
Дата DATE NULL
);
ALTER TABLE ТТН
ADD PRIMARY KEY (НомерТТН);
ALTER TABLE Строчка_ТЧ_ТТН
ADD FOREIGN KEY R_45 (КодТовара) REFERENCES Товар (КодТовара);
ALTER TABLE Строчка_ТЧ_ТТН
ADD FOREIGN KEY R_46 (НомерТТН) REFERENCES ТТН (НомерТТН);
ALTER TABLE ТТН
ADD FOREIGN KEY R_1 (КодСклада) REFERENCES Склад (КодСклада);