Импортируйте Требования из Rational DOORS IBM при помощи API

Этот пример показывает вам, как импортировать требования из модуля IBM® Rational® DOORS® при помощи Simulink® Requirements™ API.

Сконфигурируйте Rational DOORS IBM

Чтобы взаимодействовать через интерфейс с Rational DOORS IBM, сконфигурируйте MATLAB®. В командной строке MATLAB введите:

rmi setup doors

Для получения дополнительной информации смотрите, Конфигурируют Сеанс Rational DOORS IBM.

Откройте проект DOORS

В этом примере вы будете использовать DemoRMI.dpa проект в Rational DOORS IBM, который содержит модули требований, которые описывают отказоустойчивую систему управления.

В Rational DOORS IBM создайте новый проект:

  1. Выберите File> New> Project.

  2. В диалоговом окне Нового проекта введите ExampleProject в Поле имени.

  3. В поле Description введите Example MATLAB/Simulink project.

  4. Выберите Use архив проекта.

  5. Нажмите Browse и выберите DemoRMI.dpa.

Импортируйте модуль требований

В этом примере вы импортируете все требования от FuelSys Requirements Specification модуль.

В Rational DOORS IBM откройте FuelSys Requirements Specification модуль и находит ID модуля. Для получения дополнительной информации смотрите, Как идентифицировать уникальный идентификатор для элемента в проводнике баз данных DOORS на веб-сайте IBM.

Используйте slreq.import импортировать модуль. Введите имя файла набора требования, укажите, что требования являются требованиями, на которые ссылаются, и должны использовать RTF-форматирование, назвать требование установите fuelSysReqSpec, и введите идентификатор модуля. Функция возвращает количество импортированных требований, на которые ссылаются, пути к файлу набора требования и объекта набора требования.

[refCount1,reqSetFilePath1,myReqSet1] = slreq.import("linktype_rmi_doors", ...
    AsReference=true,RichText=true,ReqSet="fuelSysReqSpec",DocID="000001c1")
Importing from 000001c1 of type linktype_rmi_doors ..
.. done.
refCount1 = 59
reqSetFilePath1 = 
'C:\Users\jdoe\MATLAB\Examples\ImportRequirementsFromIBMRationalDOORSByUsingTheAPIExample\fuelSysReqSpec.slreqx'
myReqSet1 = 
  ReqSet with properties:

             Description: ''
                    Name: 'fuelSysReqSpec'
                Filename: 'C:\Users\jdoe\MATLAB\Examples\ImportRequirementsFromIBMRationalDOORSByUsingTheAPIExample\fuelSysReqSpec.slreqx'
                Revision: 1
                   Dirty: 1
    CustomAttributeNames: {}
               CreatedBy: 'ahoward'
               CreatedOn: NaT
              ModifiedBy: 'ahoward'
              ModifiedOn: 12-Jul-2021 08:52:09

Импортируйте подмножество требований от модуля

Можно импортировать подмножество требований от FuelSys Design Description модуль appling фильтр. Откройте FuelSys Design Description модуль в Rational DOORS IBM.

Отфильтруйте модуль требований

Примените фильтр к модулю. Для получения дополнительной информации о применении фильтра к модулю требований смотрите фильтры Определения на веб-сайте IBM. В диалоговом окне Фильтрации:

  1. Set Attribute к Absolute Number.

  2. Установите условие к is less than or equal to.

  3. Рядом со Значением введите 10.

Модуль отображает только требования, которые совпадают с фильтром.

Когда вы применяете фильтр к своему модулю DOORS и импортируете модуль к Simulink Requirements, процесс импортирует только требования, которые совпадают с фильтром. Когда вы импортируете требования при помощи API, Simulink Requirements не хранит фильтр для будущего использования.

Импортируйте фильтрованный модуль требований

Чтобы импортировать отфильтрованный модуль требований, используйте slreq.import. Введите имя файла набора требования, укажите, что требования являются требованиями, на которые ссылаются, и должны использовать RTF-форматирование, назвать требование установите fuelSysDesignSpec, но не вводите идентификатор модуля. Если вы не задаете ID модуля, slreq.import функционируйте импортирует активный модуль требований.

Модуль содержит атрибут требований, названный Created Thru. Импортируйте атрибут наряду с требованиями как пользовательский атрибут. Функция возвращает количество импортированных требований, на которые ссылаются, пути к файлу набора требования и объекта набора требования.

[refCount2,reqSetFilePath2,myReqSet2] = slreq.import("linktype_rmi_doors",ReqSet="fuelSysDesignSpec",attributes={'Created Thru'})
Importing from FuelSys Design Description of type linktype_rmi_doors ..
 done.
refCount2 = 10
reqSetFilePath2 = 
'C:\Users\jdoe\MATLAB\Examples\ImportRequirementsFromIBMRationalDOORSByUsingTheAPIExample\fuelSysDesignSpec.slreqx'
myReqSet2 = 
  ReqSet with properties:

             Description: ''
                    Name: 'fuelSysDesignSpec'
                Filename: 'C:\Users\jdoe\MATLAB\Examples\ImportRequirementsFromIBMRationalDOORSByUsingTheAPIExample\fuelSysDesignSpec.slreqx'
                Revision: 1
                   Dirty: 1
    CustomAttributeNames: {'Created Thru'}
               CreatedBy: 'ahoward'
               CreatedOn: NaT
              ModifiedBy: 'ahoward'
              ModifiedOn: 12-Jul-2021 08:52:45

Simulink Requirements импортирует только первые 10 требований из модуля и сопоставляет Created Thru припишите новому пользовательскому атрибуту в наборе требования.

Если у вас есть пользовательские атрибуты, которые вы хотите импортировать как встроенные свойства Rationale или Keywords требования, можно использовать:

slreq.import("linktype_rmi_doors",keywords="Keyword DOORS Attribute",rationale="Rationale DOORS Attribute")

Для получения дополнительной информации о пользовательских атрибутах, смотрите, Настраивают Требования с Пользовательскими атрибутами.

Обновите фильтрованный набор требования

После того, как вы импортируете набор требования, можно обновить его. Для получения дополнительной информации смотрите Обновление Импортированные Требования.

В DOORS прикладное изменение, просачиваются FuelSys Design Description модуль.

В диалоговом окне Фильтрации:

  1. Set Attribute к Absolute Number.

  2. Установите условие к is less than or equal to.

  3. Рядом со Значением введите 15.

Найдите, что узел Импорта от требования установил myReqSet2. Обновите набор требования.

importNode = find(myReqSet2,Index="Import1");
status = updateFromDocument(importNode)
Importing from FuelSys Design Description of type linktype_rmi_doors ..
 done.
status = 
'Update completed. Refer to Comments on Import1.'

Simulink Requirements исправляет набор требования, чтобы содержать первые 15 требований.

В вашем модуле требований DOORS обновите фильтр снова. Для Значения введите 5. Найдите, что узел Импорта от требования установил myReqSet2. Обновите набор требования.

importNode = find(myReqSet2,Index="Import1");
status = updateFromDocument(importNode)
Importing from FuelSys Design Description of type linktype_rmi_doors ..
 done.
status = 
'Update completed. Refer to Comments on Import1.'

Simulink Requirements обрезает набор требования, чтобы только содержать первые 5 требований.

Очистка

Очистите открытые наборы требования.

slreq.clear;

Смотрите также

|

Похожие темы