A SysML Requirements Model
Requirements engineering is a fundamental aspect of a systems engineering model. The discipline focuses on eliciting, analyzing and managing customer requirements early in the process. Once the requirements are understood, trade studies can be conducted to formally assess design options, typically using weighted choices. The requirements are managed as first class citizens and are formally allocated to development items and verification methods.
Enterprise Architect has extensive functionality to assist the modeler with every aspect of the requirements engineering discipline, including elicitation, modeling, management and testing. High quality engineering documentation can be generated out-of-the-box using a wide range of built-in templates, carefully crafted to extract the information in the models and present it in visually compelling and high quality documentation in a wide range of formats, including docx, pdf and html. The documentation engine is highly configurable, and documentation to match any engineering or organizational standard can be generated by creating templates and setting generation options.
The SysML Requirements Model provides the system requirements, the expected abstract behavior and the operating constraints that the designed system must conform to. This diagram shows an example requirements model for a Portable Audio Player.
In this example, each of the child Packages contains child models that capture aspects of the system's requirements:
- The Specifications Package contains SysML Requirements describing the overall expectations of the designed system
- The Use Cases Package contains SysML Use Cases that describe the general interaction between the system and its users
- The Interactions Package contains SysML Interactions that describe a detailed sequence of interactions between the system and its users
- The StateMachines Package contains SysML StateMachines that describe each of the operational states the designed system has
- The Constraint Blocks Package contains SysML ConstraintBlocks that describe the expected performance and operating boundaries of the system