Hauptinhalt

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.

There is a requirement specification with two parent requirements. Each parent requirement has two child requirements.

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

Funktionen

Themen