Я новичок в IBM DOORS, и мне нужна подсказка или помощь в этом, возможно, основном вопросе.
У меня есть Модуль А, который содержит некоторые требования, и другой Модули B,C,D и т.д., который соответствует конкретному поставщику, отвечающему на требования, исходящие из модуля A. Поэтому, если требование изменяется (т.е. текст), я бы хотел, чтобы это изменение автоматически отображалось в модулях. Б, С Д...
Модуль А (Атрибуты)
Req_code (текст)
Req_type
Req_text
Req_owner
[...]
Модуль Б,С.. (Атрибуты)
Req_code (текст)
Поставщик
Base_option
Req_answer
Req_comments
[...]
Идея состоит в том, чтобы каким-то образом связать Код_запроса в модуле A и Код_запроса из других модулей (один ко многим), чтобы я мог создать полное представление с атрибутами из двух модулей.
Я искал в Интернете, но обнаружил, что это можно сделать только с помощью сценария dxl. Есть ли другой способ сделать это, не связанный с программированием? Я попытался создать модуль связи, но не получил того, что хотел.
Заранее спасибо,
Билбинайт
Вы захотите изучить инструмент «Ссылка по атрибуту» в меню «Ссылка — Дополнительно». Это в DOORS 9.6.1.10, хотя в большинстве 9.x должно быть то же самое.
Вы сможете создавать ссылки между двумя модулями, сопоставляя определенный атрибут, а затем повторяя процесс для каждого последующего модуля, на который вам нужно установить ссылку.
Я думаю, то, что вы хотите, на самом деле является компаньоном ссылки по атрибуту; Ссылка > Дополнительно > Создать ссылки..., но сначала давайте создадим небольшую архитектуру.
Я предполагаю, что B, C и т. д. будут создавать ответы на A и, как таковые, будут связываться с объектами в A по мере того, как они отвечают. С помощью этой информации мы можем создать модуль A с Req_code (используйте «Идентификатор объекта»), Req_type (Тип: строка или перечисляемый список), Req_text (Используйте «Текст объекта»), Req_owner (Тип: строка) и т. д.
Аналогичным образом создайте модули B и C с атрибутами, необходимыми для описания содержащейся в них информации. наконец, создайте модуль ссылок "L", чтобы содержать наборы ссылок для B->A и C->A. обратите внимание, что модуль ссылок содержит только наборы ссылок, а не фактические ссылки. ссылки хранятся в исходных модулях, то есть в модулях B и C.
На всякий случай я бы также перешел в «Файл»> «Свойства модуля» ... выберите вкладку «Наборы ссылок» и установите наборы ссылок в каждом из B и C на A через модуль ссылки L. Сделайте обязательным и разрешить только исходящие ссылки ... внизу.
Теперь мы готовы создавать объекты в A (Insert > Object). Создайте некоторый текст требования в атрибуте «Текст объекта» или любых других атрибутах, которые вы хотите отображать в других модулях.
перейдите к B и создайте объект. Link > Start Link перейдите к объекту в A, на который вы хотите создать ссылку, и выберите Link > Make Link from Start. (В первый раз он может спросить, хотите ли вы создать набор ссылок, просто скажите «Да».) Маленький оранжевый исходящий и желтый входящий треугольники появятся на каждом соответствующем объекте.
наконец, в B-анализе > Мастер... выберите только исходящие ссылки, только ссылки DOORS; Далее> (поскольку у нас все равно есть только один) выберите Все (формальные) модули и Все (связные) модули; Далее> (выберите атрибуты, которые вы хотите отобразить из другого модуля) Далее> (убедитесь, что Рекурсивный анализ не отмечен) и Готово.
Это создаст еще один столбец в модуле B с атрибутами, которые вы хотите отобразить из модуля A.
Теперь вы можете перейти в «Просмотр» > «Сохранить как...» и присвоить представлению имя, и в любое время просмотреть связанную информацию из модуля B.
Единственный DXL, который был написан здесь, был DXL, который вы написали, когда запускали Wizard.
УХ ТЫ! Целый бесплатный обучающий модуль по использованию DOORS!
Дон Фаулер, большое спасибо за ваше время, я очень ценю ваше объяснение (ясное и легкое для понимания). Только одни вопросы. 1) Я хотел бы, чтобы Req_code был установленным мной числом. Я думаю, что если я использую идентификатор объекта, это число является автоинкрементным, и я не могу определить его так, как хочу. Есть ли возможность связать оба модуля по текстовому атрибуту, отличному от идентификатора объекта
Да, атрибут просто должен быть уникальным. ABC-123 должен встречаться только один раз в подключаемом модуле. вы можете связать несколько объектов с ABC-123, просто чтобы он был уникальным. -- Просто любопытно, почему вы не хотите использовать атрибут Абсолютного числа, который гарантированно будет уникальным. Обычно причиной использования другого атрибута является наследство. был создан документ с сгенерированными вручную номерами требований, и их нужно было сохранить на века.
В модуле A Req_code (например, ABC-001, ABC-002...) будет уникальным. Вместо этого в модуле B один Req_code может появляться более одного раза. Я думал, что, поскольку объекты вставляются в модуль B и каждой строке присваивается идентификатор объекта, не было проблемы повторения Req_code и использования его в качестве компоновщика для модуля A. Но когда я пытаюсь это сделать, он говорит, что ссылка может этого не сделать, потому что ABC-001 не был найден в модуле A (я думаю, потому что DOORs ищет ABC-001 в атрибуте идентификатора объекта модуля A, а не в Req_Code).
Я только что посмотрел, и да, вы правы. Готовая ссылка по атрибуту ищет текстовый атрибут в модуле B с абсолютным номером объекта в модуле A. То, что вы хотите сделать, можно сделать в DXL, в основном переписав инструмент для искать в другом атрибуте, но потребует от 20 до 30 строк кода. Я написал аналогичный код, но я бы порекомендовал просто отметить атрибут Absolute Number в модуле A и поместить его в текстовый атрибут в модуле B или, что еще лучше, создать ссылку по ходу работы, чтобы избежать ошибок.
Да, я бы поступил именно так. Еще раз спасибо за ваше время и вашу поддержку =)
Спасибо за ответ, Рассел. Да, я нашел этот вариант, но я не уверен, должны ли оба модуля быть заполнены объектами, чтобы выполнить связь, или это возможно сделать, даже если объект не вставлен ни в один из модулей. Я исхожу из SQL и DOORS для меня не так понятен.