
- •Задание на работу
- •1.1. Разработать проект каркаса для работы со спецификациями изделий
- •1.2. Содержание работы
- •1.3. Исходные данные для задачи
- •1.4. Рекомендуемые инструменты
- •1.5. Рекомендуемые источники
- •Аннотация
- •1. Анализ исходных данных
- •2. Разработка функциональных требований к подсистеме
- •3. Разработка проектной модели классов
- •4. Разработка модели хранения
- •5. Разработка процедур поддержки работы со спецификациями
- •6. Подготовка примера спецификации изделия
- •7. Тестирование процедур работы со спецификацией изделия
- •Список используемых источников
- •Приложение 1. Скрипты метаданных для задачи 6
2. Разработка функциональных требований к подсистеме
Для разработки концептуального проекта будем использовать редактор StarUML.
Продолжим работу в проекте Лаб.
Создадим диаграмму вариантов использования с именем Работа со спецификацией изделий с вариантами исполнения.
Рис. 1. Расширение модели прецедентов для решения задач по работе со конфигурациями изделий.
Добавлены прецеденты Формирование параметров конфигурации и Описание правил управления конфигурацией.
Рис. 2. Модель классов для описания спецификаций изделий примера
Рассматривается конкретное типовое изделие КОРПУС:Иделие, для которого выделено два параметра конфигурации. Для этих параметров введены два перечисления Количество проушин, Количество распорок. Конкретный вариант исполнения КОРПУС)01:Вариант исполнения создается на основе элемента КОРПУС:Иделие.
В соответствии с данными таблицы 1 для управления конфигурацией изделия примера необходимы следующие функции управления:
(Кпр=0 and Кр=0) or (Кпр=0 andКр=2) or (Кпр=1 and Кр=0) для материала M3
(Кпр=1 and Кр=2) or (Кпр=2 and Кр=2) для материала M2
(Кпр=2 and Кр=4) для материала M1
(Кпр=1 and Кр=0) or (Кпр=1 and Кр=2) для строки с количеством проушин 1
(Кпр=2and Кр=2) or (Кпр=1 and Кр=4) для строки с количеством проушин 2
Кр=2 для строки с количеством распорок 2
(Кпр=2and Кр=4) для строки с количеством распорок 4
Недопустимые варианты задаются функцией:
(Кпр=0 and Кр=4) or (Кпр=1 and Кр=4) or ( Кпр=2 and Кр=0)
3. Разработка проектной модели классов
Расширенная модель классов для прецедента Ведение спецификации изделий представлена на рис. 3.
Рис. 3. Модель классов для прецедента Ведение спецификации изделий
В модель включен класс Функция конфигурации и ассоциация с ролью Подключение.
При наличии функции у позиции спецификации эта позиция подключается только, если соответствующая функция принимает значение true для заданных значений параметров конфигурации.
Модель классов для прецедента Описание правил управления конфигурации представлена на рис. 4.
Рис. 4. Модель классов для описания функций конфигурирования
Функция конфигурации представляется в СДНФ. Класс Предикат позволяет описывать простые предикаты с указанием тройки (Параметр, Оператор, Допустимое значение).
Каждая конъюнкция описывается как список предикатов (класс Конъюнкция, ассоциативная сущность Элемент конъюнкции и ассоциация AND). Каждая функция описывается в виде списка конъюнкций (класс Конъюнкция, ассоциация OR).
4. Разработка модели хранения
Для разработки диаграммы ERвоспользуемся редактором ERWin. На рис. 5 представлена диаграмма, описывающая сущности и связи модели хранения.
Рис. 5. ERD для прецедента Формирование правил управления конфигурацией
Сущность ФУНКЦИЯ моделирует класс Функция. Ассоциативная сущность ТЕЛО_ФУНКЦИИ позволяет хранить список дизъюнкций (НОМЕР_ДИЗ) и включенных в них предикатов, объединенных в конъюнкции (НОМЕР_КОН). Сущность ПРЕДИКАТ включает в себя ссылку на параметр (ИД_ПАРМЕТР (FK)), указание на значение перечисления (ИД_ПЕРЕЧИСЛЕНИЯ (FK), НОМЕР(FK)).
5. Разработка процедур поддержки работы со спецификациями
Скрипты метаданных представлены в Приложении 1