Requirements Reuse

The concept of reusing artifacts of a system development process has been written about in many papers and text books but has traditionally been confined to software components. In more recent years the notion of reusing specifications including requirements has started to get traction. The reuse is particularly important where organizations create a family of products with similar features or where there is a community of users within an industry or domain. Other types of requirements such as security and regulatory requirements will typically apply to a number of projects. Business Rules and Stakeholders Concerns will also typically apply across many projects and are best catalogued outside individual projects structures. Enterprise Architect provides a number of sophisticated mechanisms for managing the reuse of elements across projects including structuring the repository for reuse, importing requirements from other sources and a Reusable Asset Service.

Mechanism for requirements reuse

Mechanism

Description

Structuring the repository for requirements reuse

When you set up a repository you have the choice of structuring it for a single project or for multiple projects, which in turn could be organized by a number of programs of work. Enterprise Architect gives the modeler complete control on how the repository is structured allowing Packages to be set up above the level of projects where some requirements such as Business, Regulatory and Architectural Requirements can be added.

Creating a base model

When you create a new repository in Enterprise Architect a modeler has the option of creating a blank model, using the Model Wizard to help setup a repository structure or using a base model which acts as a template for the new model. The base model is a good place to store reusable assets such as Business, Regulatory and Architectural Requirements and also Policies and Business Rules. A base model can be created using the 'Save Project As...' option under the 'File Management' icon ().

Importing requirements from other models

It is quite common to have a number of Enterprise Architect Repositories in an organization and it is very easy to copy and reuse requirements (or any other elements) from one model to another. This can be achieved by simply copying a selection of requirements or an entire Package from one repository to another or even from one project to another in the same repository. Enterprise Architect works like any other windows program, simply copying the selection to the clipboard and then allowing it to be pasted in another location in the same model or another open repository.

Using the Reusable Asset Service

The Reusable Asset Service (RAS) is particularly useful for distributed teams and provides a simple and convenient mechanism for modelers to distribute or download reusable model structures and elements such as Requirements through a shared repository, accessible via a Cloud Service connection. Enterprise or organizational level Requirements could be stored in the RAS and different teams could incorporate them into their models, governance of the assets would typically be managed by the owner of the asset (register) at the Reusable Asset Service level.