Contenido principal

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.

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

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

Funciones

Temas