ReqSuite® Requirements Manager (RM)
Categories & Attributes

Categories represent different types of information to be managed in a project (e.g. requirements, test cases, components, etc.). In ReqSuite® RM, every required category can be defined in a project template which makes ReqSuite® RM applicable for a very high range of different application areas and industries.

Categories (also called content types, content categories, or simply categories) are the core of any project template, as they define what to manage in the derived projects. In principle, categories are generalizations of logical or physical objects in the real world, such as use cases, business processes, or systems, which are to be described, analyzed, or defined in the context of a project. The instances of such content types (called content elements or items) are in turn their concrete manifestations such as a concrete business process or an existing or to be built system.

Meta data and attributes can be defined for each category. While the meta data describe the overall properties of the category itself (e.g. the name and symbol to represent the category in the tool), the attributes are the single information that can be specified for every element of the category in a project (e.g. name, description, priority or the source of requirement).

Meta Data

The meta data of each category can be edited after opening the property window of a category in the designer (see Figure 1).

Figure 1. Dialog windows for adding (left), editing (center) and deleting (right) a content category
Name

The unique identifier of the category, which should be oriented to the logical or physical objects of the real world to be represented. For example, a “business process model” cannot be a content type in itself, but the generalized object “business process” can.

Name in Plural

The plural form of the category name which is used in automatically generated formulations for the sake of grammatical correctness.

Abbreviation

The short form notation of the category name which serves as a prefix within the project for the unique identification of content elements of the same type, which might have the same name.

Gender / Article

The gender-specific article to use for the category in the German language including “der”, “die”, and “das”. The declaration of the article via the selection menu is necessary for the grammatical correctness of automatically generated formulations like the plural form of the category name, which only applies to project templates created with German language.

Icon

An icon that is shown next to the name of this category in the Content Bar. It is defined by a Font Awesome tag, e.g., “fas fa-edit” (see Font Awesome Icons for details)

Color

The color of the icon, that is shown next to the name of this category in the Content Bar. It is defined by a HTML color code, e.g. “#00B3B3” (see HTML Color Codes for details).

Definition

A concise, detailed description of this content category providing information about its intended use (shown as tooltip to the project users).

Detail Graphic

A graphic to be associated with each element of this category (e.g. a graphic to illustrate a specific business process). The graphic is defined by a notation element that needs to be created before it is available for selection in the drop-down field.

Overview Graphic

A graphic to be associated with this category (e.g. a graphic to illustrate how different use cases of the system are related). The graphic is defined by a notation element that needs to be created before it is available for selection in the drop-down field. The selection of an overview notation via the selection menu is analogous to the selection of a notation.

Model Representation

The desired representation of elements from this category in external modeling tools such as Enterprise Architect (EA). You can choose from diverse BPMN, SysML, and UML diagrams in the given drop-down field. This is currently only applicable in conjunction with the ReqSuite® EA Add-In.

Category requires specialization (abstract category)

A content type defined as abstract can be used to define relationships between categories for the inheritance of attributes and relations to specialized content categories.

Allow only one item of this category per project (singleton)

For categories with this property enabled, only one content instance is allowed in the project, i.e. once an element of this type has been created, no further elements can be added to this category.

Workflow

The pattern of activity in terms of a workflow that shall be associated with this category. It is defined by states an element from the category can be in and the valid transitions between them making.

Ignore in Work Suggestions

If this property is enabled, work suggestions for this content type are completely omitted even if an assignment of responsibility exists for a user in the project.

Ignore in ReqIF Export

This property, if enabled, ignores the content type and its elements in the export of a ReqIF file.

“Grant read permission only for responsible persons (secure mode)”

A category within the secure mode shows up elements of this category only to project administrators and project users, which are responsible for this category or a corresponding element.

Attributes

For the purpose of describing the actual elements of a category, attributes are necessary. By default, every category in ReqSuite® RM has the attributes “ID” and “Name”. All other attributes can be defined individually. The attributes of each category can be edited when clicking first on the categorie’s name in the designer and then on the corresponding tab “Attributes”.

For every attribute, the following properties can be defined.

Name

The unique identifier of the attribute, e.g., description. The name does not to be the same as the label in the import form.

Attribute is optional

If this property is enabled, empty attribute fields on certain elements of the category will not be found by the quality check.

Monitor description quality

If this property is enabled (only possible for attribute of data type TEXT and RICHTEXT) the quality check in ReqSuite® RM will analyze the description quality (e.g., if weak statements are used, etc.) of the content entered in the corresponding elements of the category. Furthermore, the ReqSuite® RM similarity check will only work on attributes having with this property.

Description

A concise detailed description of this attribute type providing information about its intended use (shown as tooltip to the project users).

Data Type

The data type of this attribute restricting the possible values / content to be entered for the corresponding elements of the category. By default, ReqSuite® RM supports TEXT (character string without formatting), RICHTEXT (character strings with ormatting), INTEGER (integer), DOUBLE (floating point number), BOOLEAN (binary number), and DATETIME (date). Furthermore, any self-defined enumeration can be used as an attribute’s data type.

Calculation Formula

If data type DOUBLE is chosen, a calculation formula can be defined. In a concrete project, ReqSuite® RM is then able to dynamically calculate the value of this field based on the values of other fields or/and static values. The following operations are supported:

  • Normal arithmetic operators: “+” (addition), “-” (subtraction), “*” (multiplication) and “/” (division)
  • Brackets: “(” (bracket open) and “)” (bracket closed)
  • Attributes of the same type: <ATTRIBUTE>
  • Attributes of the first related element of a different type: <TYPE.ATTRIBUTE>
  • Static numerical values: Integers or decimal numbers, whereby the position separation format for the latter must be selected with a comma “,” (German) or a dot “.” (English) depending on the configuration language.
  • Special operators: Concern directly linked but also hierarchically or transitively linked elements
    • min, max: Calculates the minimum or maximum value of two given numbers, variables or other formulas according to the following syntax:
      • min[<A>,<B>] or max[<A>,<B>] respectively
    • avg, sum: Calculates the average or sum of the attribute values of all linked elements of a particular type that optionally satisfy a filter according to the following syntax:
      • sum[<TYPE>.<ATTRIBUTE>(|FILTER)]
    • count: Counts the number of all linked elements of the specified type that optionally satisfy a filter according to the following syntax:
      • count[<TYPE>(|FILTER)]
    • percentage: Calculates the percentage value of the attribute of the current element under the total value of the same attribute of all elements of the current type that optionally satisfy a filter according to the following syntax:
      • percentage[<ATTRIBUTE1>(|<ATTRIBUTE2>)]
    • duration: Calculates the time interval between two attributes of data type DATETIME in the unit “number of days”:
      • duration[<ATTRIBUTE1>,<ATTRIBUTE2>]
Default Value

If neither a calculation formula nor a value condition has been defined, a default value can be defined. So, when a new element of this category is created in a project based on this project template, the default value is automatically set as the value of the attribute.

Edit Condition

This property allows defining a condition under which the attribute is editable for users in a project. If the condition is not fulfilled, the field is readonly. Conditions can include the values of other attributes of the category or of its state (if a workflow is attached), and can be combined with AND or OR, e.g. “NAME=Test OR STATUS<>End”. Currently, this property restricts only the user interface but does not apply to any other interfaces, such as REST API, Excel, etc.

Value Condition

This attribute allows defining conditions that restrict which values a user can pick from a given enumeration depending on conditions (similar to edit condition). Entries in this field must follow the syntax: “IF condition1 THEN ONLY (pickable enum values)”. If necessary, additional conditions can be attached with “ELSE IF condition2 THEN ONLY (pickable enum values)”. Currently, this property restricts only the user interface but does not apply to any other interfaces, such as REST API, Excel, etc.

For more hands-on details on content types in ReqSuite, please take a look at the following tutorial video: