The following is an excerpt from a report dated 24-June-1994, titled: Analysis of Automated Requirements Management Capabilities developed in support of Advanced System Engineering Automation (ASEA) CSC-2.7 Requirements/Design Manager (Contract No. F30602-93-C-0123) Prepared for Rome Laboratory, Air Force Materiel Command C3CB 525 Brooks Rd. Griffiss AFB, NY 13441 by Software Productivity Solutions, Inc. 122 4th Ave. Indalantic, FL 32903.
The development of large, complex systems presents many challenges to system engineers. Foremost among these are the ability to ensure that final system satisfies the needs of the users and provide for easy maintenance and enhancement of these systems during their deployed lifetime These systems often change and evolve throughout their life cycle, make it difficult to tract the implemented system against original and evolving user requirements.
Requirements establish an understanding of the user's needs, and also provide the final yardstick against which implementation success is measured. Requirements management consists of information capture, information storage, and management, and information dissemination. Information management is at the heart of the requirements management problem and includes organization, traceability, analysis and visualization. Key to the success of any requirements management process is requirements traceability. Requirements traceability is a technique used to provide relationships between requirements, design and implementation of a system in order to manage the effect of change and ensure the success of the delivered systems. A recent survey of INCOSE members identified improved support for requirements traceability as the most critical need to be addressed by automated systems engineers tools. For requirement traceability to be effective, it is necessary to associate requirements with information stored in a variety of system engineering tools.
As recently as two decades ago, system engineers used tools such as pencil and paper to keep track of the requirements and system design of many complex systems. These elementary tools were relied upon to design and develop complex communication, transportation, space, military and medical systems. Although these tools were the best available at the time, managing the hundreds of complex requirements and design decisions during system engineering consumed much of the systems engineer's time, leaving little opportunity to explore alternatives or perform analyses. During the 1980's, system engineers used word processors, spreadsheets, databases and graphics packages as their tools for designing and developing complex systems. These tools provide a vast improvement over their predecessors, but still paced limitations on system engineers. Until very recently, it was not possible to transfer data from one tool to another, or from on system engineering environment to another. The tools did no support the ability to view requirements information at any level abstraction. Most were design to support a signal user, and were no readily transitioned to support the large, teamed system development environment common in many organizations.
Today, several specialized automated system engineering tools are available. These tools have been made possible by improvements in computer technology including grater storage capacity and faster processing speeds. With these improvements, computer technology is now able to support the complex processes necessary for automation of system engineering. Along with the technology improvements, system engineering as a discipline has matured and become a definable process. Among the emerging automated tools are specialized requirements management tools. These tools concentrate on capturing requirements, managing, and producing requirement specifications. However, even these specialized tools have limitations. It is still difficult to relate the information stored within one tool to information stored in another. Many of the tools have automated an existing, document driven system engineering process, rather than improving the process to support alternative abstraction and visualization mechanisms.
The automated tools available today focus primarily on the information management aspect of requirements management of requirements management, namely traceability and organization (with a few emerging exceptions). The tools vary in their level of support for these activities. Most of the tools provide a text-oriented view of requirements management (such as DOORS, RTM, Document Director and others). A few of the tools take a model-oriented view of requirements management (these include CORE and RDD-100). Another emerging approach is to capture the design (rather than documents describing the design or models describing the functions) from all of its different perspectives and flow down requirements through the various implementation alternatives (making documentation a by-product of the design capture--SLATE is an example of this approach).
The term traceability is used to denote a relationship between a requirement and any other element of the system engineering process such as a design component or specification document. Many of the tools support traceability links between requirements and design elements, allocation of requirements to design elements and traceability between specification documents.
Organizational capabilities of the tools include grouping of functional requirements and assignment of keywords and attributes to requirements and links to facilitate searching for sets of requirements.
Other characteristics available in requirements management tools include generation of customized reports and interfaces with other system engineering and software engineering tools. Many of the tools also provide a graphical, multi-windowed user interface.
There are many definitions of traceability. Traceability has become a key driver for defining and developing government sponsored software. Traceability provides a relations between requirements, design and final implementation of a system. Traceability supports maintenance and provides the ability to discover the history of every system feature.
There are many relationships that exist between requirements, design ;components and other products and processes of system engineering process. Managing these relationships is critical to providing a comprehensive requirements management capability supporting the system engineering life cycle. Traceability is the term commonly used to refer to the collective set of requirements based relationships.
If traceability (i.e. the complete set of requirements relationships) has been consistently used throughout system development, it may be used to answer the following questions:
Return to INCOSE Home
Content Owner: TDWG Chair
Contact us at info@incose.org
Copyright 1998-2004 International Council on Systems Engineering
Last Modified: September 22, 2004