Programmgesteuertes Erstellen, Importieren, Verknüpfen und Begründen von Anforderungen
Mit der Requirements Toolbox™-API können Sie Anforderungen programmgesteuert erstellen, importieren, verknüpfen und begründen. Die API bietet eine Alternative zur interaktiven Ausführung dieser Aktionen im Requirements Editor. Weitere Informationen zum interaktiven Erstellen, Importieren, Verknüpfen und Begründen von Anforderungen finden Sie unter Verwenden der Anforderungen zum Entwickeln und Verifizieren von MATLAB-Funktionen.
Elemente, die Sie im Requirements Editor erstellen, anzeigen und bearbeiten können, wie Anforderungen, Verknüpfungen und Begründungen, verfügen auch über entsprechende Objekte, auf die Sie programmgesteuert im MATLAB®-Befehlsfenster mithilfe der Requirements Toolbox-API zugreifen können.
Dieses Beispiel veranschaulicht, wie Sie Anforderungen erstellen, zusätzliche Anforderungen aus Microsoft® Word importieren und anschließend programmgesteuert verknüpfen und begründen können. Dieses Beispiel kann nur auf Microsoft Windows®-Plattformen ausgeführt werden.
Erstellen von Anforderungen
Erstellen Sie mithilfe der Funktion slreq.new einen Anforderungssatz, der die Anforderungen enthält.
myReqSet = slreq.new("MyRequirementSet");Die Funktion gibt das Anforderungsset-Objekt als slreq.ReqSet-Objekt zurück. Fügen Sie dem Anforderungsset eine übergeordnet Anforderung hinzu, indem Sie das Objekt slreq.ReqSet als Eingabe an die Methode add übergeben.
parentReq1 = add(myReqSet);
Die Methode gibt die Anforderung als slreq.Requirement-Objekt zurück. Fügen Sie den Eigenschaften Summary und Description Text hinzu. Greifen Sie auf diese Eigenschaften mithilfe der Punktnotation zu.
parentReq1.Summary = "Parent Requirement 1"; parentReq1.Description = "This is the first parent requirement in the requirement set.";
Fügen Sie dem Anforderungsset eine zweite übergeordnete Anforderung hinzu. Legen Sie beim Hinzufügen der Anforderung die Eigenschaften Summary und Description fest.
parentReq2 = add(myReqSet,Summary="Parent Requirement 2", ... Description="This is the second parent requirement in the requirement set.");
Fügen Sie der ersten übergeordneten Anforderung zwei untergeordnete Anforderungen hinzu, indem Sie das Objekt slreq.Requirement als Eingabe an die Methode add übergeben.
childReq1 = add(parentReq1,Summary="Child Requirement 1.1"); childReq2 = add(parentReq1,Summary="Child Requirement 1.2");
Geben Sie ein Array der übergeordneten Anforderungen für das Anforderungsset zurück, indem Sie das Objekt slreq.ReqSet als Eingabe an die Methode children übergeben.
parentReqs = children(myReqSet)
parentReqs=1×2 Requirement array with properties:
Type
Id
Summary
Description
Keywords
Rationale
CreatedOn
CreatedBy
ModifiedBy
IndexEnabled
IndexNumber
SID
FileRevision
ModifiedOn
Dirty
Comments
Index
Geben Sie ein Array der untergeordneten Anforderungen für die erste übergeordnete Anforderung zurück, indem Sie das Objekt slreq.Requirement als Eingabe an die Methode children übergeben.
childReqs = children(parentReq1)
childReqs=1×2 Requirement array with properties:
Type
Id
Summary
Description
Keywords
Rationale
CreatedOn
CreatedBy
ModifiedBy
IndexEnabled
IndexNumber
SID
FileRevision
ModifiedOn
Dirty
Comments
Index
Speichern Sie den Anforderungssatz.
save(myReqSet)
Importieren von Anforderungen
Die Anforderungsspezifikation MyRequirementSpecification.docx ist ein Microsoft Word-Dokument, das sechs Anforderungen in einer grundlegenden Hierarchie enthält.

Importieren Sie die Anforderungen mithilfe der Funktion slreq.import als Verweise auf die externen Anforderungen, die als referenzierte Anforderungen bezeichnet werden. Durch das Importieren von Anforderungen als referenzierte Anforderungen können Sie die Anforderungen weiterhin in Microsoft Word verwalten.
[count,filePath,myImportedReqSet] = slreq.import("MyRequirementSpecification.docx", ... AsReference=true);
Die Funktion gibt die Anzahl der importierten referenzierten Anforderungen, den Dateipfad zum Anforderungssatz und das Objekt slreq.ReqSet für den Anforderungssatz zurück. Rufen Sie den Importknoten des Anforderungssatzes ab, indem Sie das Objekt slreq.ReqSet als Eingabe an die Methode children übergeben.
topRef = children(myImportedReqSet);
Der Importknoten wird als Objekt slreq.Reference zurückgegeben. Geben Sie ein Array der übergeordneten Anforderungen im Anforderungssatz zurück, indem Sie das Objekt slreq.Reference als Eingabe an die Methode children übergeben.
parentRefs = children(topRef)
parentRefs=1×2 Reference array with properties:
Id
CustomId
Artifact
ArtifactId
Domain
UpdatedOn
CreatedOn
CreatedBy
ModifiedBy
IsLocked
Summary
Description
Rationale
Keywords
Type
IndexEnabled
IndexNumber
SID
FileRevision
ModifiedOn
Dirty
Comments
Index
Die Methode gibt die referenzierten Anforderungen unter dem Importknoten als Objekte slreq.Reference zurück.
Öffnen Sie das Word-Dokument.
winopen("MyRequirementSpecification.docx")Ersetzen Sie unter Parent Requirement 1 den vorhandenen Text durch folgenden Text: This is the first parent requirement in the requirement set. Speichern Sie das Word-Dokument und schließen Sie es anschließend.
Überprüfen Sie, ob sich das mit dem Importknoten verknüpfte Word-Dokument seit dem Import geändert hat.
tf = hasNewUpdate(topRef)
tf = logical
1
Aktualisieren Sie den Anforderungssatz.
[status,changeList] = updateReferences(myImportedReqSet,topRef)
status = 'Update completed. Refer to Comments on Import1.'
changeList =
'Updated: Parent Requirement 1. Properties: description
'
Speichern Sie den Anforderungssatz.
save(myImportedReqSet)
Erstellen von Verknüpfungen
Erstellen Sie eine Verbindung zwischen den beiden Anforderungen mit der Zusammenfassung Parent Requirement 1 mithilfe der Funktion slreq.createLink.
parentRef1 = parentRefs(1); myLink = slreq.createLink(parentRef1,parentReq1);
Die Funktion gibt die Verknüpfung als Objekt slreq.Link zurück.
Wenn Sie über die Benutzeroberfläche des Requirements Editor Verknüpfungen erstellen, ermittelt die Requirements Toolbox, welches Element die Quelle und welches das Ziel ist. Wenn Sie mithilfe der Funktion slreq.createLink Verknüpfungen erstellen, müssen Sie angeben, welches Element die Quelle und welches das Ziel ist. Wenn Sie Verknüpfungen zwischen Anforderungen und Design- oder Testelementen erstellen, legen Sie die Anforderung als Ziel fest. Die Requirements Toolbox bestimmt den Verknüpfungstyp.
Geben Sie das Verknüpfungsset-Objekt für die Verknüpfung zurück, indem Sie das Objekt slreq.Link als Eingabe an die Methode linkSet übergeben.
myLinkSet1 = linkSet(myLink);
Die Funktion gibt das Verknüpfungsset-Objekt als Objekt slreq.LinkSet zurück.
Speichern Sie den Verknüpfungssatz.
save(myLinkSet1);
Begründen von Anforderungen
Wenn Anforderungen in Ihrem Anforderungssatz nicht implementiert oder verifiziert werden sollen, können Sie deren Ausschluss aus dem Implementierungs- und Verifikationsstatus begründen.
Begründen Sie die Anforderung, die die Zusammenfassung Parent Requirement 1 für die Implementierung enthält.
Fügen Sie eine Begründung für die Anforderung MyRequirementSet hinzu, indem Sie das Objekt slreq.ReqSet als Eingabe an die Methode addJustification übergeben. Erstellen Sie eine Verknüpfung vom Typ Implement zwischen der Anforderung und der Begründung, indem Sie die Methode justifyImplementation verwenden.
jt1 = addJustification(myReqSet); implLink = justifyImplementation(parentReq1,jt1);
Die Methode addJustification gibt die Begründung als Objekt slreq.Justification zurück. Wenn Sie Begründungen programmgesteuert hinzufügen, speichert die Requirements Toolbox die Begründung unter einer übergeordneten Begründung. Wenn keine übergeordnete Begründung vorhanden ist, erstellt die Software eine. Geben Sie die übergeordnete Begründung zurück, indem Sie das Objekt slreq.Justification als Eingabe an die Methode parent übergeben.
parentJust = parent(jt1);
Begründen Sie anschließend die Anforderung, die die Zusammenfassung Parent Requirement 1 zur Verifikation enthält.
Fügen Sie eine Begründung für die mit der Methode addJustification festgelegte Anforderung MyRequirementSet hinzu. Erstellen Sie eine Verknüpfung vom Typ Implement zwischen der Anforderung und der Begründung, indem Sie die Methode justifyVerification verwenden.
jt2 = addJustification(myReqSet); verifLink = justifyVerification(parentReq1,jt2);
Speichern Sie den Anforderungssatz.
save(myReqSet)
Geben Sie den Verknüpfungssatz für die Verknüpfung zurück und speichern Sie ihn anschließend.
myLinkSet2 = linkSet(verifLink); save(myLinkSet2);
Suchen von geladenen Requirements Toolbox-Objekten
Sie können geladene Requirements Toolbox-Objekte finden, indem Sie alle geladenen Objekte durchsuchen oder nach Objekten in einem Anforderungssatz oder Verknüpfungssatz suchen.
Suchen Sie die geladenen Anforderungssätze mithilfe der Funktion slreq.find.
loadedReqSets = slreq.find(Type="ReqSet")loadedReqSets=1×2 ReqSet array with properties:
Description
Name
Filename
Revision
Dirty
CustomAttributeNames
CreatedBy
CreatedOn
ModifiedBy
ModifiedOn
Show all accessible properties of ReqSet
Suchen Sie die geladenen Anforderungen mithilfe der Funktion slreq.find. Suchen Sie anschließend die geladenen Anforderungen im Anforderungssatz MyRequirementSet, indem Sie das Objekt slreq.ReqSet als Eingabe an die Methode find übergeben. Vergleichen Sie die Ergebnisse.
loadedRequirements1 = slreq.find(Type="Requirement")loadedRequirements1=1×4 Requirement array with properties:
Type
Id
Summary
Description
Keywords
Rationale
CreatedOn
CreatedBy
ModifiedBy
IndexEnabled
IndexNumber
SID
FileRevision
ModifiedOn
Dirty
Comments
Index
Show all accessible properties of Requirement
loadedRequirements2 = find(myReqSet,Type="Requirement")loadedRequirements2=1×4 Requirement array with properties:
Type
Id
Summary
Description
Keywords
Rationale
CreatedOn
CreatedBy
ModifiedBy
IndexEnabled
IndexNumber
SID
FileRevision
ModifiedOn
Dirty
Comments
Index
Show all accessible properties of Requirement
Die Ergebnisse sind identisch, da der Anforderungssatz MyRequirementSet der einzige geladene Anforderungssatz ist, der Objekte vom Typ slreq.Requirement enthält.
Suchen Sie die geladenen Verknüpfungen mithilfe der Funktion slreq.find. Suchen Sie anschließend die geladenen Verknüpfungen im zweiten Verknüpfungssatz, indem Sie das Objekt slreq.LinkSet als Eingabe an die Methode find übergeben. Vergleichen Sie die Ergebnisse.
loadedLinks1 = slreq.find(Type="Link")loadedLinks1=1×3 Link array with properties:
Type
Description
Keywords
Rationale
CreatedOn
CreatedBy
ModifiedOn
ModifiedBy
Revision
SID
Comments
Show all accessible properties of Link
loadedLinks2 = find(myLinkSet2)
loadedLinks2=1×2 Link array with properties:
Type
Description
Keywords
Rationale
CreatedOn
CreatedBy
ModifiedOn
ModifiedBy
Revision
SID
Comments
Show all accessible properties of Link
Die Ergebnisse sind unterschiedlich, da beide slreq.LinkSet-Objekte vom Typ slreq.Link enthalten.
Löschen und Laden von Anforderungssätzen und Verknüpfungssätzen
Sie können einzelne Anforderungssätze aus dem Speicher löschen. Schließen Sie den Anforderungssatz MyRequirementSpecification, indem Sie das Objekt slreq.ReqSet als Eingabe an die Methode close übergeben.
close(myImportedReqSet)
Wenn Sie einen Anforderungssatz schließen, schließt die Requirements Toolbox auch die zugehörigen Verknüpfungssätze, es sei denn, ein anderes Artefakt, das Verknüpfungsquellen oder -ziele für den Verknüpfungssatz enthält, ist noch geladen. Suchen Sie nach den Verknüpfungssätzen, die noch geladen sind.
loadedLinkSets = slreq.find(Type="LinkSet")loadedLinkSets=1×2 LinkSet array with properties:
Description
Filename
Artifact
Domain
Revision
Dirty
CustomAttributeNames
Show all accessible properties of LinkSet
Einzelne Verknüpfungssätze können nicht aus dem Speicher gelöscht werden. Löschen Sie stattdessen alle geladenen Anforderungssätze und Verknüpfungssätze mithilfe der Funktion slreq.clear. Vergewissern Sie sich, dass die Verbindungssätze mit der Funktion slreq.find aus dem Speicher gelöscht wurden.
slreq.clear
loadedLinkSets = slreq.find(Type="LinkSet")loadedLinkSets =
0×0 LinkSet array with properties:
Description
Filename
Artifact
Domain
Revision
Dirty
CustomAttributeNames
Show all accessible properties of LinkSet
Wenn Sie die Anforderungen und Verknüpfungen aus dem Speicher löschen, können die im Workspace verbleibenden Variablen nicht mehr verwendet werden. Löschen Sie den Workspace mithilfe von clear.
clear
Laden Sie den Anforderungssatz MyRequirementSet mithilfe der Funktion slreq.load.
myReqSet = slreq.load("MyRequirementSet");Beim Laden des Anforderungssatzes werden auch die registrierten Verknüpfungssätze für den Anforderungssatz geladen.
loadedLinkSets = slreq.find(Type="LinkSet")loadedLinkSets=1×2 LinkSet array with properties:
Description
Filename
Artifact
Domain
Revision
Dirty
CustomAttributeNames
Show all accessible properties of LinkSet
Siehe auch
Klassen
slreq.ReqSet|slreq.Requirement|slreq.Reference|slreq.Justification|slreq.LinkSet|slreq.Link