Whether you work with function requirements, design requirements or implementation in a specific system architecture, SystemWeaver provides an ideal collaborative environment and a variety of tools and views to support the entire requirements process. This article demonstrates the use of SystemWeaver to create function requirements along with the views to support your work. For the purpose of this demonstration, function requirements have been configured in advance and are meant as an example. The model can be customized to meet the needs of your organization's processes. This article assumes some familiarity with SystemWeaver concepts such as Items, Parts and Attributes, and also with the GUI and common operations of the swExplorer. 

Viewing Function Specifications

Within a given system architecture, the function specifications are defined in a function requirements List. Once the list is in place, users can view a general description of a specification by selecting the specification in the structure tree and opening the item Overview. The screenshot below is showing the Overview of the function specification called Adaptive cruise control.

The Description field is used to describe the properties of the specification using formatted text and pictures. Activate the Description field's advanced editor by double-clicking in the field.


Your updates are saved automatically.

Creating a New Function Specification

New function specifications can easily be added to a function requirements list. In the below example, a new specification in the SystemWeaver demo architecture is being created by right-clicking the function requirements structure item and selecting New > Function requirements container

The New Function requirements container dialog displays:

The Library Access will be predefined for you to mirror the same access as the other parts in the architecture. You simply select the Item Type 'Function Specification', enter a Name for the new specification and click OK. The new item will display in the function requirements list. 

Note: The capability exists to organize function specifications in the model using a function structure, i.e., another abstract layer. However, keep in mind that every level of structure that you create adds additional items to the model and all items have their own versioning. This could create more versioning work for you down the road. 

Organizing Function Requirements

Once you have a specification added, you are ready to add the requirements for the specification. A requirement section can be useful to add first as a way of organizing requirements. For example, some may be functional and others may be non-functional. In the below example, a new requirements section is being created for the Adaptive cruise control function specification by simply right-clicking on the specification to create a new Requirement section

Adding a New Function Requirement

When a new requirement is identified for a specification, the steps for adding it are basically the same as those for adding new specifications. A new function requirement is added by right-clicking the requirement section and choosing New > Requirement. In the below example, a new requirement is being added for the Adaptive cruise control function specification. 

The new requirement will display in the structure tree in the selected requirements section. 

Default Attributes

When viewing an Overview of a requirement, you can view the requirement's default attributes, such as ID and Rationale in the example. ID is an unique identifier for the requirement. In this example, the ID attribute is set up to automatically generate a readable id when the requirement is created. Rationale can be used to provide background into why the requirement exists. Attributes here describe properties of the requirements in a way that is more structured. They are defined in the meta model in the SystemWeaver server and can be used to filter, sort and analyze requirements when using views, generating reports and grids, etc. 

Function Specification Report

You can easily print the contents of all of the function specifications by generating a Functions Specification report. This is done by selecting the function requirements list and clicking the Functions Specification menu option:


Tip: This is an example of a report that can be generated with one click via a menu option configured by a system Architect. Other reports that suit your needs can also be defined and added to the Items tab ribbon for easy access.

Impact Analysis View - Assess Impact of a Requirement Change

When a function requirement is selected, it is possible to use the Impact Analysis view to see the effects of the requirement in the system. This can, for example, be an efficient way of assessing the impact a change of that requirement would have on design requirements and test specifications.

To focus in on particular, direct relationships in larger graphs, you can right-click on the graph and select Neighborhood. Then, select an item of interest in the graph and the Neighborhood pane will display only the directly connected relationships for the selected item. Just as with the graph, you can print from the neighborhood pane. In the below example, the design requirement 'Emergency braking under 30 kph' is selected.

Tip: This is an example of a report that can be generated with one click. Other reports that suit your needs can also be defined and added to the Items tab ribbon for easy access.

What's Next?

Once function specifications and requirements have been defined as demonstrated in this article, the next step is to work on the design level. See Working on the Design Level.