ИПР_2_В5 / ИПР _2
.pdfБЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ
Кафедра программного обеспечения информационных технологий
Факультет ФКСиС Специальность ПОИТ
Индивидуальная практическая работа №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 Склад (КодСклада); |