В этом примере показано, как использовать Simulink ® Requirements™ API для создания набора требований с пользовательской иерархией и пользовательскими типами требований. Набор требований создается как .slreqx
файл.
Набор требований, созданный в этом примере, содержит два родительских требования верхнего уровня и родительские обоснования для реализации и верификации. Набор потребностей следует этой иерархической структуре.
Перейдите в папку, в которой необходимо создать набор требований. Создайте набор требований my_New_Req_Set
с указателем myReqSet
при помощи функции slreq.new ().
myReqSet = slreq.new('my_New_Req_Set');
Добавьте требование контейнера верхнего уровня для системных требований к набору требований
myParentReq1 = add(myReqSet,'Id','R1', ... 'Summary','System Requirements', ... 'Type', 'Container');
Создайте дочерние требования для R1
.
childReqR11 = add(myParentReq1,'Id','R1.1'); childReqR12 = add(myParentReq1,'Id','R1.2');
Создайте дочерние требования для R1.1
.
childReqR111 = add(childReqR11,'Id','R1.1.1'); childReqR112 = add(childReqR11,'Id','R1.1.2'); childReqR113 = add(childReqR11,'Id','R1.1.3');
Создайте дочернее требование для R1.1.3
.
childReqR1131 = add(childReqR113,'Id','R1.1.3.1');
Добавьте требование безопасности верхнего уровня к набору требований. Требования безопасности носят информационный характер и не способствуют сводным данным по статусу реализации и верификации. В этом примере вы задаете пользовательский тип требования, который расширяет тип информационного требования с помощью sl_customization.m
файл.
Обновите индивидуальные настройки, чтобы добавить тип требования безопасности в список типов требований.
sl_refresh_customizations;
Создайте родительское требование безопасности.
myParentReq2 = add(myReqSet,'Id','R2', ... 'Summary','Safety Requirements', ... 'Type','Safety');
Создайте дочерние требования для R2
.
childReqR21 = add(myParentReq2,'Id','R2.1'); childReqR22 = add(myParentReq2,'Id','R2.2');
Создайте дочерние требования для R2.2
.
childReqR221 = add(childReqR22,'Id','R2.2.1'); childReqR222 = add(childReqR22,'Id','R2.2.2'); childReqR223 = add(childReqR22,'Id','R2.2.3');
Создайте родительское выравнивание.
myParentJustification = addJustification(myReqSet,'Id','J', ... 'Summary','Requirement Justifications');
Добавьте дочерние обоснования к родительскому обоснованию J
обоснование требований к реализации
childJust1 = add(myParentJustification,'Id','J1', ... 'Summary','Implementation Justifications');
Добавьте дочерние обоснования к родительскому обоснованию J
для обоснования требований к верификации
childJust2 = add(myParentJustification,'Id','J2', ... 'Summary','Verification Justifications');
save(myReqSet);
Закройте все открытые наборы требований.
slreq.clear;