Building the SBS


Introduction

The system breakdown structure (SBS) is best built dynamically by creating and allocating components to requirements during the requirements analysis. The best place to allocate requirements to components is in the allocation tab of the requirements view.

Allocation view

To allocate a component to a requirement: select the requirement in the left hand table and then press the allocate button (+) next to the desired component in the right hand table.

To deallocate a component from a requirement: select the requirement in the left hand table and then press the deallocate button (-) next to the desired component in the right hand table.

Allocation and deallocation

Requirements can also be allocated to components in the requirements tab of the requirements view.

Requirements view

To allocate a component to a requirement: press the allocate button (») next to the requirement and select the desired component.

Allocation in the requirements table

Both of these methods rely on the components already existing in the system structure. If a new component is needed then it needs to be created in the structure view first, before it can be allocated to the requirement. See Creating Components for how to do this.

Elements which have specifications are indicated by the presence of a solid list icon either in the lower right hand corner of the shape representing the element in diagrams or in the specification column of a table.

Element with specification

Specifications can be viewed by hovering over or tapping the solid list icon.

Specification Popover

The most efficient way to build the SBS while analysing the requirements is to open the structure diagram in a separate browser tab or window next to the allocation view. If you have two monitors then having the requirements on one and the structure diagram on the other works perfectly. See Working With Multiple Browser Tabs And Windows for how to do this.

Side-by-side views

Checking progress

You can check your progress in the overview tab of the requirements view.

Allocation progress

The allocation chart shows the number of system requirements that are allocated to components.

The components chart shows the number of components that are specified by at least one system requirement. The components chart distinguishes between leaf and non-leaf components. As long as all leaf level components are specified by at least one requirement, there are no unecessary components in the system.

Using filters to focus

There are a number of “show only” filters at the top of the tables in the requirements and allocation views. These can be used to focus on specific areas of interest, for example, unallocated requirements and/or unspecified components.

"Show only" filters

Additional filters can be set on individual columns using the table filter controls.

Table filter controls

Searching for specifics

Search inputs can be used to search for specific text in the visible columns of that table. These search inputs are preserved when switching between view tabs but they are not duplicated across browser tabs or windows. This is conveniant because it means that you can have different model views showing different search results in multiple browser tabs and windows.

Search for multiple items at once by entering a semicolon separated list of terms.

Search

Search inputs are applied after filters. Therefore, if, for example, the “Show only unallocated requirements” filter has been appplied in the requirements table, then allocated requirements will not be included in the search results.

Showing and hiding table columns

Tables only have a limited amount of space available for showing a lot of information and, while large monitors are useful because they provide more virtual real estate for tables to fill, there are always limits. Therefore it is sometimes necessary to show and/or hide columns in tables, according to the needs of the task you are trying to accomplish.

Table column controls

Doing things quickly with spreadsheets

Sometimes it will simply be faster to do things with spreadsheets. If, for example, you discover that you need to create twenty new functions and/or twenty new components, and they can all be named using a pattern,then a spreadhseet with a drag formula feature will be the most efficient way to achieve this.

Creating twenty new requirements and components

Unfortunately, it is not yet possible to import the allocation relationship between requirements and components from a spreadsheet. However, this feature is on the roadmap and will be available sometime in the future.

As another example, if you decide that a set of twenty requirements all need to have the same verification method, then it may be quicker to simply export the requirements to a spreadsheet, apply the changes by dragging a formula across the affected cells, and then reimport the updated values.

Updating twenty requirements

Remember: importing from a spreadsheet will update requirements and components that already exist in the model.