- •Задание на работу
- •1.1. Разработать проект каркаса для работы со спецификациями изделий
- •1.2. Содержание работы
- •1.3. Исходные данные для задачи
- •1.4. Рекомендуемые инструменты
- •1.5. Рекомендуемые источники
- •Аннотация
- •1. Описание выполненной работы
- •1.1. Анализ исходных данных
- •1.2. Разработка функциональных требований к подсистеме
- •1.3. Разработка модели классов
- •1.4. Разработка модели хранения в среде субд данных классификатора изделий
- •1. Разработка er-диаграммы
- •2. Подготовка скриптов метаданных
- •1.5. Разработка основных процедур
- •1.6. Тестирование разработки
1.6. Тестирование разработки
Скрипты заполнения единиц измерения для тестирования:
SELECT AddUnitOfMeasurement('милиметры', 'мм'); SELECT AddUnitOfMeasurement('сантиметры квадратные', 'см2'); SELECT AddUnitOfMeasurement('килограмм', 'кг');
Рис. 5. Пример заполнения таблицы с единицами измерения.
Процедура работает корректно.
Скрипты заполнения классификатора для тестирования:
SELECT AddClass('Изделие', NULL); SELECT AddClass('Стальной прокат', 'Изделие'); SELECT AddClass('Сталь горячекатанная', 'Стальной прокат'); SELECT AddClass('Балки двутавровые', 'Сталь горячекатанная'); SELECT AddClass('Балки двутавровые ГОСТ 8239-72', 'Балки двутавровые'); SELECT AddClass('Балки двутавровые ГОСТ 8239-89', 'Балки двутавровые'); SELECT AddClass('Швеллеры', 'Сталь горячекатанная'); SELECT AddClass('Швеллеры с уклоном внутренних полок ГОСТ 8240-72', 'Швеллеры'); SELECT AddClass('Швелеры ГОСТ 8240-97', 'Швеллеры'); SELECT AddClass('Сталь прокатная', 'Стальной прокат'); SELECT AddClass('Угловая равнополочная', 'Сталь прокатная'); SELECT AddClass('Угловая равнополочная ГОСТ 8509-72', 'Угловая равнополочная'); SELECT AddClass('Угловая равнополочная ГОСТ 8509-93', 'Угловая равнополочная'); SELECT AddClass('Угловая неравнополочная', 'Сталь прокатная'); SELECT AddClass('Угловая неравнополочная ГОСТ 8510-72', 'Угловая неравнополочная'); SELECT AddClass('Угловая неравнополочная ГОСТ 8510-86', 'Угловая неравнополочная'); SELECT AddClass('Трубы', 'Стальной прокат'); SELECT AddClass('Трубы ГОСТ 10704-91', 'Трубы'); SELECT AddClass('Прямоугольные трубы ТУ 67-2287-80', 'Трубы'); SELECT AddClass('Квадратные трубы ТУ 3602287-80', 'Трубы');
Рис. 6. Пример заполнения классификатора.
Процедура работает корректно.
Скрипты заполнения изделиями для тестирования:
SELECT AddProduct('D25x3', 'см2', 'Трубы ГОСТ 10704-91'); SELECT AddProduct('D28x4', 'см2', 'Трубы ГОСТ 10704-91'); SELECT AddProduct('D42x6', 'см2', 'Трубы ГОСТ 10704-91'); SELECT AddProduct('100x60x3', 'кг', 'Прямоугольные трубы ТУ 67-2287-80'); SELECT AddProduct('160x120x4', 'кг', 'Прямоугольные трубы ТУ 67-2287-80'); SELECT AddProduct('200x160x6', 'кг', 'Прямоугольные трубы ТУ 67-2287-80'); SELECT AddProduct('80x3', 'кг', 'Квадратные трубы ТУ 3602287-80'); SELECT AddProduct('140x6', 'кг', 'Квадратные трубы ТУ 3602287-80'); SELECT AddProduct('160x8', 'кг', 'Квадратные трубы ТУ 3602287-80');
Рис. 7. Пример заполнения таблицы с конечными изделиями.
Процедура работает корректно.
Тестирование функции изменения предка.
SELECT ChangeParent('80x3', 'Прямоугольные трубы ТУ 67-2287-80');
Рис. 8. Изменение таблицы после выполнения функции.
Тестирование функции изменения порядка потомков.
SELECT SwapRows('D42x6', 'D25x3');
Рис. 8. Изменение таблицы после выполнения функции.
Тестирование функции удаления.
SELECT RemoveNode('160x8');
Рис. 9. Изменение таблицы после выполнения функции.
Выводы
1. Процедуры добавления метаданных (классификатор) и данных работают корректно.
2. Процедура смены родителя заданного класса работает корректно.
3. Процедура изменения порядка размещения потомков в списке вывода работает корректно.
4. Процедура удаления вершины работает корректно.
Заключение
Задание лабораторной работы выполнено.