Extensión de nombre de archivo | .reqif .reqifz |
---|---|
Desarrollado por | Grupo de gestión de objetos |
Último lanzamiento | 1.7.2016 |
Tipo de formato | formato de archivo de intercambio |
Contenedor para | Requisitos |
Extendido desde | XML |
¿ Formato abierto ? | Sí |
Sitio web | Sitio web de OMG |
RIF/ ReqIF ( Requirements Interchange Format ) es un formato de archivo XML que se puede utilizar para intercambiar requisitos, junto con sus metadatos asociados, entre herramientas de software de diferentes proveedores. El formato de intercambio de requisitos también define un flujo de trabajo para transmitir el estado de los requisitos entre socios. Aunque se desarrolló en la industria automotriz, ReqIF es adecuado para el intercambio de requisitos sin pérdidas en cualquier industria.
En 2004, HIS (Herstellerinitiative Software), un consorcio de fabricantes de automóviles alemanes, definió un formato genérico de intercambio de requisitos llamado RIF.
El formato fue entregado en 2008 a ProSTEP iViP eV para su posterior mantenimiento. Un grupo de proyecto responsable de la estandarización internacional siguió desarrollando el formato y entregó una versión revisada a Object Management Group (OMG) como "Solicitud de comentarios" en 2010. [1]
Como el acrónimo RIF tenía un significado ambiguo dentro del OMG, se introdujo el nuevo nombre ReqIF para separarlo del Formato de Intercambio de Reglas del W3C .
En abril de 2011, OMG adoptó la versión 1.0.1 de ReqIF como especificación formal (Número de documento de OMG: formal/2011-04-02).
En octubre de 2013 se publicó la versión 1.1 (Número de documento OMG: formal/2013-10-01). Los cambios se limitan al texto de la norma, el esquema XML y el modelo subyacente no han cambiado. Por lo tanto, los archivos .reqif de la versión 1.1 y la 1.0.1 son equivalentes.
En julio de 2016 se publicó la versión 1.2 (Número de documento OMG: formal/2016-07-01). Al igual que en las versiones anteriores, los cambios se limitan al texto de la norma, el esquema XML y el modelo subyacente no han cambiado. Por lo tanto, los archivos .reqif de las versiones 1.2, 1.1 y 1.0.1 son equivalentes.
ReqIF es un formato de archivo de intercambio para intercambiar requisitos, atributos, archivos adicionales (por ejemplo, imágenes) a lo largo de una cadena de fabricantes, proveedores, subproveedores y similares. Un GUID garantiza la identificación única del contenido a lo largo de la cadena de procesos.
Los requisitos suelen solicitarse durante la fase inicial del desarrollo del producto. Esta es la principal aplicación de ReqIF, ya que el desarrollo entre organizaciones se produce cada vez con más frecuencia. ReqIF permite compartir requisitos entre socios, incluso si se utilizan diferentes herramientas. A diferencia de formatos como Word, Excel o PDF, ReqIF permite un intercambio sin pérdidas.
Los fabricantes de automóviles fueron los pioneros en utilizar ReqIF, ya que empezaron a exigir el uso de ReqIF, en particular para el desarrollo de controladores integrados.
ReqIF también se utiliza como modelo de datos subyacente para las implementaciones de herramientas. Esto es particularmente cierto para la implementación de referencia de ReqIF ( Eclipse RMF ), que está siendo utilizada por un foro de implementadores [2] que tiene como objetivo garantizar la interoperabilidad de varias implementaciones de ReqIF. ReqIF Server [3] es otra herramienta que utiliza ReqIF de forma nativa.
RIF/ReqIF es un metamodelo estandarizado, definido por un esquema XML. Dichos archivos deben cumplir con el esquema y contener la descripción del modelo (los tipos de datos), así como los datos. Un intercambio de datos exitoso entre varias herramientas solo se logra si todas las partes están de acuerdo en un modelo de datos común . El foro de implementadores mencionado anteriormente está trabajando en un modelo común de este tipo y también organiza pruebas con herramientas de los fabricantes participantes, para garantizar la interoperabilidad futura.
Un archivo OMG ReqIF consta de XML con el elemento raíz REQ-IF , que contiene información sobre el archivo en sí, así como los tipos de datos y requisitos contenidos.
Los contenedores de requisitos en ReqIF se denominan objetos de especificación ( SpecObject ), que tienen atributos definidos por el usuario. Cada atributo tiene un tipo de datos, que puede ser Boolean , Integer , Real , String , Enumeration (con valores definidos por el usuario) y XHTML, que también se utiliza para texto formateado y objetos incrustados, incluidas las imágenes. Algunos tipos de datos se pueden restringir aún más, por ejemplo, el rango de valores numéricos.
Las relaciones entre objetos se representan como SpecRelations , que también pueden tener atributos.
Por último, los árboles jerárquicos crean una vista estructurada de SpecObjects, denominada Especificaciones . Se permiten múltiples referencias al mismo SpecObject.
La estructura de ReqIF se describe en detalle en la especificación. [4] También hay disponible una referencia gratuita de una página del modelo de datos [5].