- •Задание на работу
- •1.1. Разработать проект каркаса для работы со спецификациями изделий
- •1.2. Содержание работы
- •1.3. Исходные данные для задачи
- •1.4. Рекомендуемые инструменты
- •1.5. Рекомендуемые источники
- •Аннотация
- •1. Анализ исходных данных
- •2. Разработка функциональных требований к подсистеме
- •3. Разработка проектной модели классов
- •4. Разработка модели хранения
- •5. Реализация
- •Процедура, создающая запись в таблице «func»:
- •Процедура, создающая запись в таблице «prod_spec»:
- •Процедура, создающая запись в таблице «predicate»:
- •Процедура, создающая запись в таблице «func_body»:
- •Процедура, вычисляющая допустимость данного варианта исполнения согласно спецификациями заданным для его типового изделия с конфигуратором:
- •Вспомогательная процедура(проверяет спецификацию для продукции конкретного экземпляра) для процедуры check_spec_obj_variant(obj_id_val: int)
- •6. Тестирование
6. Тестирование
create_operator()
create_operator("x меньше y", 'меньше', '<')
create_operator("x равно y", 'равно', '=')
результат:
create_param_value()
create_param_value(100.0, None, None)
create_param_value(70.0, None, None)
create_param_value(50.0, None, None)
create_param_value(1000.0, None, None)
create_param_value(2000.0, None, None)
create_param_value(4000.0, None, None)
результат:
create_func()
create_func('категория - столы', 3) # добавление функции для категории "столы" в таблицу func
результат:
create_obj_spec()
create_obj_spec(25, 1) # создание спецификации для стола "стол_arizone"
результат:
create_predicate()
create_predicate(9, 2, 10) # для '=' оператора для параметра='длина' и значения параметра=100
create_predicate(8, 3, 12) # для '<' оператора для параметра='ширина' и значения параметра=4000
результат:
create_func_body()
create_func_body(1, 1, 1, False) # для функции с id=1, для 1 элемента конъюнкции, для predicate с id=1 с inversio=False создать спецификацию
create_func_body(1, 2, 2, True) # для функции с id=1, для 2 элемента конъюнкции, для predicate с id=1 с inversio=False создать спецификацию
результат:
check_spec_obj_variant()
check_spec_obj_variant(27) # стол_arizone configurable_type=2, выводит True, как и ожидалось, так как параметры подходят под заданные значения
результат:
Выводы
1. Функции формирования параметров конфигурации работают корректно
2. Функции формирования варианта исполнения работают корректно
3. Функции формирования спецификации варианта исполнения работают корректно
