ReqSuite® Requirements Manager (RM)
Content Categories

The goal of content modeling by means of a project template is to identify and configure all relevant content types (also called content categories or categories for short) and their relationships to each other as well as partly necessary help structures such as enumerations and notations. The resulting project configuration addresses these structures in the context of your projects that are based on the corresponding template. With the help of a detailed content model as described below, a template can be prepared for project use.

For this purpose, the following basic blocks of a project configuration can be defined in the “Category” view (see Figure 1 for Project Template Designer on the left):

  • Categories: In principle, these are generalizations of logical or physical objects in the real world, such as use cases, business processes, or systems, that you want to describe, analyze, or define in the context of your project. The instances of such content types (also called content elements) are in turn their concrete manifestations, that is, digital abstractions of worldly objects, such as a concrete business process or an existing or to be built system.
    To add a content category, click on the “plus” symbol in the list header of the “Categories” list. An input window will open (see Figure 1 on the left) in which an input for the main properties of a category marked with an asterisk is mandatory:
    • 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 be a logical part of the application domain to be mapped.
    • 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 could possibly have the same name.

Note: When naming content types, do not use nouns that describe an activity or a state.

The following details are optional properties that can be additionally provided:

    • 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 “Deutsch” as 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” or “Green” (see HTML Color Codes for details).
    • Definition: A concise detailed description of this content type providing information about its intended use.
    • Detail Graphic: A graphic that shall be associated with elements of this category. It is defined by a notation element that needs to be created before it is available for selection from the drop-down field. The selection of a notation via the selection menu links the document stored for the notation with the elements of the content category. This means that this document can be called up via the plug-in to support the creation of a detailed graphical description of individual content elements of this type. In this context, this selection also opens up the possibility of assigning a detailed description created with the help of this document (e.g. flowchart) to individual content elements of this type in the plug-in.
    • Overview Graphic: A graphic that shall be associated with this category. It is defined by a notation element that needs to be created before it is available for selection from the drop-down field. The selection of an overview notation via the selection menu is analogous to the selection of a notation. The difference is that the document stored for the notation is intended for the creation of a detailed graphical description of the relationships between all content elements of a content type. The resulting graphical detail description (e.g. UML class diagram) can then be assigned to this content category instead of the individual content elements in the plug-in.
    • Model Representation: The modeling artifact representation in Enterprise Architect (EA) that shall be associated with this category. You can choose from diverse BPMN, SysML, and UML diagrams as per pre-defined drop-down field. This is only usable in conjunction with the ReqSuite® EA Add-In.
    • Workflow: The pattern of activity in terms of a work process that shall be associated with this category. It is defined by states and transitions making up a workflow .

Also optional is the activation of five initially deactivated content type properties by checkboxes, which have the following influence on the handling of the category in the course of concrete project work via the plug-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.
    • “Ignore in Work Suggestions”: If this property is enabled, work suggestions for this content type are completely omitted even if a assignments of responsibilities exists for a user in the project.
    • “Ignore in ReqIF Export”: Enabling this property ignores this content type in the export of a ReqIF-formatted interchange file.
    • “Grant read permission only for responsible persons (secure mode)”: A category within the secure mode shows up in the content bar only to project administrators and project users which are responsible for this category.

To edit an existing content category, select it in the appropriate list and click the “pencil icon” in the list header. An editing window will be opened that is similar to the previously discussed input window for adding a content category in terms of content and functionality (see Figure 1, center). You can irrevocably delete a category from the system by selecting it in the corresponding list, clicking on the “trash can symbol” in the list header and clicking on the “Delete” button in the query dialog that appears (see Figure 1, top right). Each of the previously mentioned operations can be aborted by clicking on “Cancel” in the respective dialog box (see Figure 1).

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

Note: Insufficient information in the definition of any data structures in the Designer is marked with a red border of affected input fields and a red font color of the corresponding identifier. In addition, the “Save” button cannot be clicked and has a blue background that turns green as soon as obligatory entries are complete.

For the purpose of detailing categories, the default meta attributes “ID” and “Name” of each content type can be supplemented with additional attributes as required. Select an existing content category in the corresponding list of the “Categories” view and click on the “Attributes” tab button to load a list of all previously defined attributes of this content type (see Figure 2).

Figure 2. Detailing of categories with regard to attributes (below) and manuals and checklists (above)
  • To add an attribute to a category, first select it in the “Categories” list and click the “Attributes” tab button to load a list of existing attributes of that content type. After clicking on “Add” in the header of this list, an input window opens in which you must specify the identifier of the attribute to be added under “Name” and its data type under “Type” (see Figure 2).

Note: The following data types are initially available for typing content type attributes: TEXT (character string), INTEGER (integer), DOUBLE (floating point number), CURRENCY (currency), BOOLEAN (binary number), DATETIME (date). You can supplement these basic data types by defining enumerations of data types with user-defined value ranges.

  • To edit a category attribute, first select the corresponding list entry under “Categories”, click on the “Attributes” tab button followed by a click on the attribute to be changed in the loaded attribute list. After clicking on “Edit” a editing window opens in which you can make the required adjustments (see Figure 2).
  • You can irrevocably delete a category attribute from the system by selecting it in the corresponding attribute list for the category concerned, clicking on the “trash can symbol” in the list header and clicking the “Ok” button in the query dialog that appears (see Figure 2).
  • Each of the above mentioned operations can be aborted by clicking on “Cancel” in the respective dialog (see Figure 2).

Attribute Formulas

  • For the two attribute data types DOUBLE and CURRENCY, you can define a formula in the optional field “Calculation formula” of the attribute editing window in addition to a name and a description. The permitted components of such formulas include:
  • 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>]
  • Example of a valid calculation formula:

3 * AMOUNT– count[WORKPACKAGE.EFFORT] + 5 / PROJECT.MEMBERS

Similar to the procedure for specifying notations, you also have the option of storing documents for their specification when detailing categories. You can assign both a manual and a checklist to each content type as follows (see Figure 2 above):

  • To save a document to a content type, to replace an already saved document, first select the corresponding list entry in the “Categories” list and click on “Select manual” or “Select checklist” under “Manuals and checklists”. A file selection dialogue opens in which you can select the desired document from your file system.
  • You can irrevocably delete a document stored for a content type from the system by selecting the content type in the corresponding list and clicking on the “Delete” button next to the listed name of the document.

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