A basic Requirement is an AbstractRequirement

Click on the image to view it full size
Apart from carrying an 'id' and 'text', the main purpose of AbstractRequirement is to integrate with the many supporting relationships and their operations (queries). These Properties are all derived from queries over the model: /derived, /derivedFrom, /master, /satisfiedBy, /verifiedBy, /refinedBy, /tracedTo:

In the Magic Model Analyst® (Cameo Simulation Toolkit®) tool (or in MagicDraw SysML Plugin if you have the Requirements plugin) you can initially just use the basic normative Requirement, or you can use one of the non-normative requirement types (more on those later):

In the tool you can also easily convert (refactor) a basic Requirement into one of the out-of-the box "extended" requirements at any stage.

If the non-normative "extended" requirements don't fully meet your needs - or dare I say your "requirements" - you can extend those in turn to further customise them, or roll you own Requirements extensions, but any custom Requirements must similarly extend AbstractRequirement.

If you are just using the tool you'll never deal with AbstractRequirement directly.

Using just the basic Requirement type, we are going to explore next the relationships in the SysML requirements system.

Up next
Snippets (quotes/extracts)
Visit also
Visit also (backlinks)
Related slides (includes other tutorials)
Related slides (backlinks, includes other tutorials)