Prev Next

Requirement Definition and Management

The field of Requirement Engineering is one of the most critical disciplines in the solution development lifecycle, and it has a documented impact on the success of projects. In the words of the renowned Twentieth Century physicist, Albert Einstein:

'If you define a problem carefully enough the solution will jump out at you.'

Enterprise Architect has an unparalleled range of tools for developing, managing, visualizing and documenting requirements, including tools to import or integrate and synchronize with external requirement management systems.

These tools implement all aspects of requirements that are defined in the SysML specification, but the tool features go far beyond this to create a sophisticated requirements platform replete with tools for all disciplines associated with the management and definition of requirements. Not only are the tools useful for those engineers or managers working directly with requirements, but there is a range of facilities such as the Traceability window that will assist any discipline, and that can be used by the Architecture and Design Teams who are responsible for ensuring the requirements are built into the designs, and consequently implemented into the delivered product or service. For more information see the The Requirements Model Help topic.

Developing Requirements

Requirement Development consists of all the activities and tasks associated with discovering, evaluating, recording, documenting and validating the requirements for a particular project. Requirements are discovered, analyzed, specified and verified. Enterprise Architect has a wide range of tools and features to assist the Systems Engineer as they develop requirements. The centerpiece for Requirement Development is the Specification Manager, through which the Engineer can enter, view and manage requirements in textual form as if in a spreadsheet or document. Requirement properties such as Status, Priority and Author can be edited in-line, and filters can be applied to restrict the display to particular requirements.

Defining requirements using the Specification Manager in Sparx Systems Enterprise Architect.

The Specification Manager can be used in conjunction with a platform of other tools such as diagrams, the Traceability window and the Discussions facility.

Managing Requirements

This consists of the activities to maintain a set of requirements that represent an accord or agreement between the project team and the customer. It also has a focus on ensuring that the requirements are acceptable to the Design and Development teams, and that they are sufficiently specific to be implemented into working business, software or hardware systems. Enterprise Architect is a sophisticated platform for managing requirements, and regardless of the domain, the size of the project or the method being followed, Enterprise Architect provides tools that make it easy to manage the largest of requirement repositories in complex projects.

Status chart - a Requirements Management Tool used in Sparx Systems Enterprise Architect.

Requirement Relationships

There is a rich set of requirement relationships that allow the Requirement elements to be connected to other modeling elements including other Requirements. The relationships include:

  • Containment
  • Trace
  • Copy
  • Derive
  • Verify
  • Refine
  • Satisfy

We will explore these relationships fully in the body of this topic.

Visualizing Requirements

The visualization of requirements is an important aspect of the requirements process as it is critical that the catalogue of requirements can be viewed by all stakeholders as they are specified, analyzed, developed and managed. The requirements represent an engineer's interpretation of the discussions, observations and articulations made by stakeholders concerning the problem or opportunity at hand. Enterprise Architect has a wide range of mechanisms not only to present these requirements to the stakeholder community but also to allow the requirements to be discussed, reviewed and curated.

Documenting Requirements

There are a number of documents that are commonly produced as part of the requirements engineering discipline such as the System Requirements Specification and Use Case Reports and these can be generated automatically from a requirements model using built-in templates or user defined templates. In addition a wide range of other documents can be produced using built-in or customized templates.

There is also the possibility of viewing the models in a web browser on a portable device such as a phone or tablet or a PC. This facility is available as part of the Pro Cloud Server product and provides an alternative to producing static documentation and allows an engineering team to communicate and collaborate with an extended audience outside the modeling environment without the need for any software installation or configuration.