Crear, importar, enlazar y justificar requisitos de forma programática
Puede utilizar la API de Requirements Toolbox™ para crear, importar, enlazar y justificar requisitos de forma programática. La API ofrece una alternativa a realizar estar acciones interactivamente en Requirements Editor. Para obtener más información sobre cómo crear, importar, enlazar y justificar requisitos interactivamente, consulte Utilizar requisitos para desarrollar y verificar funciones de MATLAB.
Los elementos que se pueden crear, ver y editar en Requirements Editor, como requisitos, enlaces y justificaciones, también tienen objetos equivalentes a los que puede acceder de forma programática en la ventana de comandos de MATLAB® usando la API de Requirements Toolbox.
Este ejemplo muestra cómo crear requisitos, importar requisitos adicionales de Microsoft® Word y, después, enlazar y justificar los requisitos de forma programática. Solo puede ejecutar este ejemplo en plataformas de Microsoft Windows®.
Crear requisitos
Cree un conjunto de requisitos para contener los requisitos utilizando la función slreq.new
.
myReqSet = slreq.new("MyRequirementSet");
La función devuelve el objeto de conjunto de requisitos como un objeto slreq.ReqSet
. Añada un requisito principal al conjunto de requisitos pasando el objeto slreq.ReqSet
como una entrada al método add
.
parentReq1 = add(myReqSet);
El método devuelve el requisito como un objeto slreq.Requirement
. Añada texto a las propiedades Summary
y Description
. Acceda a estas propiedades usando notación de puntos.
parentReq1.Summary = "Parent Requirement 1"; parentReq1.Description = "This is the first parent requirement in the requirement set.";
Añada un segundo requisito principal al conjunto de requisitos. Especifique las propiedades Summary
y Description
cuando añada el requisito.
parentReq2 = add(myReqSet,Summary="Parent Requirement 2", ... Description="This is the second parent requirement in the requirement set.");
Añada dos requisitos secundarios al primer requisito principal pasando el objeto slreq.Requirement
como una entrada al método add
.
childReq1 = add(parentReq1,Summary="Child Requirement 1.1"); childReq2 = add(parentReq1,Summary="Child Requirement 1.2");
Devuelva un arreglo de requisitos principales para el conjunto de requisitos pasando el objeto slreq.ReqSet
como una entrada al método children
.
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
Devuelva un arreglo de requisitos secundarios para el primer requisito principal pasando el objeto slreq.Requirement
como una entrada al método children
.
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
Guarde el conjunto de requisitos.
save(myReqSet)
Importar requisitos
La especificación de requisitos MyRequirementSpecification.docx
es un documento de Microsoft Word que contiene seis requisitos dispuestos en una jerarquía básica.
Importe los requisitos como referencias a los requisitos externos, denominados requisitos referenciados, utilizando la función slreq.import
. Importar requisitos como requisitos referenciados permite seguir gestionando los requisitos en Microsoft Word.
[count,filePath,myImportedReqSet] = slreq.import("MyRequirementSpecification.docx", ... AsReference=true);
La función devuelve el número de requisitos referenciados importados, la ruta de archivo al conjunto de requisitos y el objeto slreq.ReqSet
para el conjunto de requisitos. Obtenga un identificador para el nodo de importación del conjunto de requisitos pasando el objeto slreq.ReqSet
como una entrada al método children
.
topRef = children(myImportedReqSet);
El nodo de importación se devuelve como un objeto slreq.Reference
. Devuelva un arreglo de requisitos principales del conjunto de requisitos pasando el objeto slreq.Reference
como una entrada al método children
.
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
El método devuelve los requisitos referenciados en el nodo de importación como objetos slreq.Reference
.
Abra el documento de Word.
winopen("MyRequirementSpecification.docx")
En Parent Requirement 1
, reemplace el texto existente por este texto: This is the first parent requirement in the requirement set.
Guarde el documento de Word y, después, ciérrelo.
Compruebe que el documento de Word asociado al nodo de importación haya cambiado desde que se importó el documento.
tf = hasNewUpdate(topRef)
tf = logical
1
Actualice el conjunto de requisitos.
[status,changeList] = updateReferences(myImportedReqSet,topRef)
status = 'Update completed. Refer to Comments on Import1.'
changeList = 'Updated: Parent Requirement 1. Properties: description '
Guarde el conjunto de requisitos.
save(myImportedReqSet)
Crear enlaces
Cree un enlace entre los dos requisitos que tienen el resumen Parent Requirement 1
utilizando la función slreq.createLink
.
parentRef1 = parentRefs(1); myLink = slreq.createLink(parentRef1,parentReq1);
La función devuelve el enlace como un objeto slreq.Link
.
Cuando crea enlaces usando la interfaz de Requirements Editor, Requirements Toolbox determina cuál elemento es el origen y cuál el destino. Cuando crea enlaces usando la función slreq.createLink
, debe indicar cuál elemento es el origen y cuál el destino. Cuando cree enlaces entre requisitos y elementos de diseño o prueba, establezca el requisito como el destino. Requirements Toolbox determina el tipo de enlace.
Devuelva el objeto de conjunto de enlaces para el enlace pasando el objeto slreq.Link
como una entrada al método linkSet
.
myLinkSet1 = linkSet(myLink);
La función devuelve el objeto de conjunto de enlaces como un objeto slreq.LinkSet
.
Guarde el conjunto de enlaces.
save(myLinkSet1);
Justificar requisitos
Si los requisitos del conjunto de requisitos no están destinados a implementarse ni verificarse, puede justificar su exclusión del estado de implementación y verificación.
Justifique el requisito que tiene el resumen Parent Requirement 1
para la implementación.
Añada una justificación al conjunto de requisitos MyRequirementSet
pasando el objeto slreq.ReqSet
como una entrada al método addJustification
. Cree un enlace del tipo Implement
entre el requisito y la justificación usando el método justifyImplementation
.
jt1 = addJustification(myReqSet); implLink = justifyImplementation(parentReq1,jt1);
El método addJustification
devuelve la justificación como un objeto slreq.Justification
. Cuando añade justificaciones de forma programática, Requirements Toolbox almacena la justificación en una justificación principal. Si no existe ninguna justificación principal, el software la crea. Devuelva la justificación principal pasando el objeto slreq.Justification
como una entrada al método parent
.
parentJust = parent(jt1);
A continuación, justifique el requisito que tiene el resumen Parent Requirement 1
para la verificación.
Añada una justificación al conjunto de requisitos MyRequirementSet
utilizando el método addJustification
. Cree un enlace del tipo Implement
entre el requisito y la justificación usando el método justifyVerification
.
jt2 = addJustification(myReqSet); verifLink = justifyVerification(parentReq1,jt2);
Guarde el conjunto de requisitos.
save(myReqSet)
Devuelva el conjunto de enlaces para el enlace y, después, guárdelo.
myLinkSet2 = linkSet(verifLink); save(myLinkSet2);
Encontrar objetos de Requirements Toolbox cargados
Puede encontrar objetos de Requirements Toolbox cargados buscando todos los objetos cargados o buscando objetos en un conjunto de requisitos o de enlaces.
Encuentre los conjuntos de requisitos cargados usando la función 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
Encuentre los requisitos cargados usando la función slreq.find
. Luego, encuentre los requisitos cargados en el conjunto de requisitos MyRequirementSet
pasando el objeto slreq.ReqSet
como una entrada al método find
. Compare los resultados.
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
Los resultados son los mismos porque el conjunto de requisitos MyRequirementSet
es el único conjunto de requisitos cargado que contiene objetos slreq.Requirement
.
Encuentre los enlaces cargados usando la función slreq.find
. Después, encuentre los enlaces cargados en el segundo conjunto de enlaces pasando el objeto slreq.LinkSet
como una entrada al método find
. Compare los resultados.
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
Los resultados son diferentes porque ambos objetos slreq.LinkSet
contienen objetos slreq.Link
.
Borrar y cargar conjuntos de requisitos y de enlaces
Puede borrar conjuntos de requisitos individuales de la memoria. Cierre el conjunto de requisitos MyRequirementSpecification
pasando el objeto slreq.ReqSet
como una entrada al método close
.
close(myImportedReqSet)
Cuando se cierra un conjunto de requisitos, Requirements Toolbox también cierra sus conjuntos de enlaces registrados, a menos que algún otro artefacto que contenga orígenes o destinos de enlaces para el conjunto de enlaces siga cargado. Busque los conjuntos de enlaces que sigan cargados.
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
No puede borrar conjuntos de enlaces individuales de la memoria. En su lugar, borre todos los conjuntos de requisitos y de enlaces cargados usando la función slreq.clear
. Confirme que los conjuntos de enlaces se hayan borrado de la memoria usando la función slreq.find
.
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
Cuando se borran los requisitos y los enlaces de la memoria, las variables que permanecen en el área de trabajo ya no se pueden usar. Borre el área de trabajo usando clear
.
clear
Cargue el conjunto de requisitos MyRequirementSet
utilizando la función slreq.load
.
myReqSet = slreq.load("MyRequirementSet");
Cargar el conjunto de requisitos también carga los conjuntos de enlaces registrados para el conjunto de requisitos.
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
Consulte también
Clases
slreq.ReqSet
|slreq.Requirement
|slreq.Reference
|slreq.Justification
|slreq.LinkSet
|slreq.Link