SpecIF Class Definitions
To define the semantics for SpecIF, a collection of data types and class definitions is defined and part of the SpecIF standard.
The class definitions, provided as SpecIF files, are available here: https://github.com/GfSE/SpecIF-Class-Definitions.
It is strongly recommended to use exactly the data type and class definitions described here to get a SpecIF file or SpecIF data set that follows the official SpecIF standard. Of course you can define your own data types and classes to extend the standardized SpecIF semantics with your own domain-specific definitions. Nevertheless, try to reuse the standardized types as often as possible or use the concept of inheritance to define your own types based on existing and standardized ones. This ensures compatibility with the SpecIF standard and allows a semantically correct interpretation of your data by tools supporting SpecIF.
Domains
The definition of SpecIF classes is organized in application domains. This allows the definition of releases for some domains at the same time, while other domains are still under discussion and development and will be released at a later date.
For SpecIF 1.1 three domains are selected to be part of the first release:
- 01 - Base Definitions,
- 02 - Requirements Engineering,
- 03 - Model Integration.
The other domains are still under discussion and not yet part of an official SpecIF release. It is planned to release them in the future.
Domain types
The following list shows the currently defined domains and their IDs:
Domain ID | Domain | Description | Release status |
---|---|---|---|
01 | Base definitions | Common definitions relevant for all domains (e.g. primitive data types). | Released in 1.1 |
02 | Requirements Engineering | Classical requirements engineering following the IREB definitions. | Released in 1.1 |
03 | Model Integration | SpecIF mapping for the Fundamental Modeling Concepts approach usable to integrate system modeling data. | Released in 1.1 |
04 | Automotive Requirements Engineering | Automotive-specific requirements engineering extensions (VDA). | Unreleased |
05 | Agile Requirements Engineering | Requirements engineering for agile development (e.g. epics and user stories). | Unreleased |
06 | UML/SysML Integration | Deprecated. Covered by domain 03-Model Integration. | Deprecated |
07 | Issue Management | Issue and Task management. | Unreleased |
08 | BOM | Bill of materials. | Unreleased |
09 | Variant Management | Feature model-based variant management. | Unreleased |
10 | Vocabulary Definition | Resources to define Vocabularies (e.g. SpecIF Vocabulary). | Unreleased |
11 | Testing | Testing domain according to ISTQB definitions. | Unreleased |