Specifying the Product

In this part of the tutorial, we will go through one of the primary user flows that can get you started using Requirements Portal:

  • Gather and write requirements

  • Breakdown requirements

  • Review and improve requirements

  • Approve and release specifications

Creating a New Project

  1. Click the Project drop-down menu at the top left and click the  button.

  2. On the project setup page that opens, enter a suitable (and unique) project name (e.g., Valifan) into the Project name field and then click the  button.

Defining Stakeholder Requirements

Most system design and development follow the V cycle. The first process in a V cycle is understanding the business needs and identifying the needs of stakeholders. These stakeholder needs are then converted to stakeholder requirements that can be directly created, imported through CSV/XLSX, or even created through the AI-powered ValiAssistant. For this part of the tutorial, we will focus on the import method.

  1. Download the following CSV file that contains stakeholder requirements:

    Valifan_stakeholder_Requirements.csv

  2. If not already, navigate to the Requirements Module by clicking the Requirements entry in the project tree on the left.

  3. Click the  button on the page that opens and select Import Requirements from the menu that appears.

  4. In the Document Importer window that opens, click the open the legacy importer here link.

  5. The Import Requirements wizard will open. In the Create a specification region, define the Name of the specification (e.g.,Stakeholder_requirements) and then click the  button.

  6. The next step is to upload the CSV so that the import wizard can read and import the file. Drag and drop the downloaded CSV file into the Drop file region of the Import Requirements wizard (or click the region to upload the file using a dialog).

     Click  to proceed.

  7. On the next step, make sure that data columns from the CSV file are correctly mapped to column in Requirements Portal. If required, use Map To drop-downs at the top of the table. 

    Click  to proceed.

  8. The next page of the wizard will notify you about successful import. Click the Check now control at the top of the window to convert values and units into parameters (valis), following a data driven system engineering approach.

  9. In the Valify Requirements window that opens, you will be notified that the five requirements are going to be valified. Click  to proceed and get a notification that two valis has been found. Click  to proceed and then click .

  10. As you can see, 50 dB and 50 W have been transformed from a pure text into valis that we can use later.

    Close the Valify Requirements window to proceed. All requirements have been added, and all detected values have been transformed into valis. Valis are highlighted in the requirements.

In the import process shown above, a feature called Valify was used. This feature allows you to convert numerical values to requirement valis automatically. Valis are technical parameters of blocks, requirements, or analyses which can be used in calculations and documentation. You can compare the requirement valis with the design valis in the Blocks Module in the future as the project progresses.

For more information about the Valify feature, refer to the Valify Requirements page.

Adding System Requirements

In a typical system engineering flow, system requirements are created using stakeholder requirements. Most technical designs must adhere to strict requirements, such as requirements to mass, power usage, and cost. Requirements Portal provides a comprehensive view of how well a design meets all these requirements.

Now, we will create some system requirements manually.

  1. Right-click the Requirements entry in the project tree at the left and select Create Specification from the menu that appears. In the Create new specification window, enter Fan_Specs in the Name field and click .

  2. Click the entry of the newly created specification in the project tree. When in this specification, click the  button and select Create Requirement from the menu that appears.

  3. The Create new requirement window will open. In this window:

    1. In the Specification field, make sure that the correct specification is selected (Fan_Specs).

    2. In the Identifier field, enter a unique identifier, e.g., R-Fan-001.

    3. In the Requirement text field, enter The Mass of the fan shall not exceed 300g.

    4. Make sure that the Check for possible Valis option is enabled.

      When this option is enabled, numeric values within the requirement are checked and converted directly into valis through the Valify feature.

    5. Click the  button.

  4. In the Valify Requirements window that appears, click the  button. A vali will be found in the requirement. Click the  button to convert the value to a vali, then click the  button to proceed, and then click the  button to complete the process.

  5. Similarly, add another requirement with an identifier R-Fan-002 and the requirement text The Mass of the propeller shall not exceed 50g, but this time, disable the Check for possible Valis option (a vali will be manually created from a value within this requirement later).

  6. The added requirements will be listed when the Fan_Specs specification is selected. Note that while R-Fan-001 has a vali, R-Fan-002 does not have a vali yet.

Creating Requirement Valis within a Requirement

Now, we will manually create a new vali inside the requirement text field.

  1. Double-click the cell in the Text column of the requirement R-Fan-002 and delete the 50g text.

  2. Type $ to show a popup with a list of valis/objects inside the project. On the top right of the popup, click the  button to create a vali.

  3. In the Create new window that opens. On the Vali tab of the window, enter the following data for the new vali:

    1. Name: Req_Mass_Propeller

    2. Formula and unit: 50g

    3. Display unit: g

      The Display unit field is optional. If left empty, it will get the unit from the Formula and unit field.

  4. Click the  button to create a new vali and insert it into the Text field of the requirement.

  5. Now, the 50g text appears differently from the regular text, which indicates a vali. This vali can now be used in different parts of the project (e.g., reports, Blocks Module, verification etc.).

Breaking Down Requirements with Parent and Child Relationships

  1. Click the Columns control at the right of the table and make sure that entries for the Parents and Children columns are checked so they are shown in the table.

    Click the Columns control again to hide the list.

  2. Double-click the cell in the Parent column of the requirement R-Fan-002 and select the requirement R-Fan-001 from the popup to link both requirements. Note that R-Fan-002 will automatically be added to the Children column of R-Fan-001.

     
  3. Click the Connections tab at the top of the requirements table to open a connection graph that shows the parent-child relationship of the selected specification.

    Blue boxes around the requirements indicated the specification they are in.

Generating Requirements Using ValiAssitant

To accelerate your requirement management process, you can generate requirements/breakdown requirements using an AI ValiAssistant feature. We will use it to create two safety requirements for the tutorial project.

ValiAssistant suggests different options of using the AI on the requirements, including generating requirements, breaking requirements down, creating summary, valifying requirements, finding inconsistencies, etc.

Note that the feature is powered by a Large Language Model (LLM) and results on the generated requirements may vary.

  1. Click the  button at the top right to open the ValiAssistant - Generate Requirements window. Make sure that the Generate Requirements option is selected in the drop-down and click the  button.

  2. On the next page, you can describe your product, system, subsystem and give as much information as possible so the AI can come up with the best requirements to your description. Since we are interested in safety requirements, ask for two safety requirements for our fan by entering the Create 2 safety requirements for designing a fan text into the field under the Generate Description heading.

    In the text field under the Prompt Extension heading, you can customize the prompt further. We are looking for INCOSE written requirements, enter the Apply the INCOSE guide to writing requirements text into the field.

    Click  to proceed.

  3. On the next page, the output of the AI will be presented, and you can review, change, and accept or reject any suggestions.

    Click  to proceed.

  4. Close the dialog that informs you about successful generating of requirements. The generated requirements will be shown in the table of the Fan_Spec specification.

Updating, Managing, and Reviewing Requirements

Throughout the development process, it's common for requirements to evolve and be updated based on various factors, such as stakeholder input and design constraints. In Requirements Portal, you can directly update requirements by double-clicking on the column fields or within the details section of the requirement, and all changes are recorded in the history for easy reference.

Note that any change increases the requirement by one or more minor versions.

For more information, refer to the Requirement Versioning and Releasing page.

  1. Enter editing mode for the text of the requirement R-Fan-003 or R-Fan-004 by double-clicking its cell in the Text column. Change the text to The fan shall include a protective guard with openings no larger than inches to prevent accidental contact with moving parts. and press Enter or click somewhere in the table outside of the cell to finish editing.

     
  2. Click the identifier of the changed requirement to open its detailed view from where you can adjust additional fields, subscribe, define owners, add a rationale, create parent/children, etc.

  3. Traceability is a key concept of Requirements Portal, and all changes are tracked in history of requirements and other objects. Click History to open a view that gives you information on versions, who and when made a change, fields and actions.

Validating Requirements

In the early stages of the product lifecycle, it is crucial to validate requirements before moving forward with the design process. Requirements Portal provides a convenient way to manage requirement states using the State column. By default, states like Draft, In Review, and Final are included, but you can add additional states based on their specific needs.

In this part of the tutorial, you will assign the Draft state to newly added requirements, ensuring a structured and organized workflow.

  1. When in the Fan_Spec specification, click the Columns control at the right of the table and make sure that the entry for the State column is checked so it is shown in the table.

  2. Check the box at the left of the Identifier column header to select all requirements within the specification.

  3. Double-click a cell of any requirement in the State column (if needed, scroll the table to the right to see the column) to open a drop-down with available options for the state. Select Draft in the drop-down and confirm the update. All requirements will have the Draft state.

     

You can also create an automatic transition of states from Final to Draft or In Review, whenever there is an edit to the requirement’s Identifier, Title, or Text field.

For more information, refer to the Requirements Settings page.

With requirements to the product specified, the next step is to design the system.

If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Feature Availability

The features available to you depend on which Altium solution you have – Altium Develop, an edition of Altium Agile (Agile Teams or Agile Enterprise), or Altium Designer (on active term).

If you don’t see a discussed feature in your software, contact Altium Sales to find out more.

Content