RED: Requirements EDitor

Our main tool is RED, a classic stand-alone desktop application that serves as a Requirements Engineer's workstation. It aspires to complete and coherent in concepts and notations, and offers advanced features straight from the lab that are not usually found in commercial tools. In that sense, RED is also a work bench for RE researchers that want to implement their latest ideas in a realisitc setting so that they would become validatable on large case studies.

RED is implemented in JAVA, and is built on the Eclipse Rich Client Platform, using, among others AgileGrid, JFaces, EMF, and GEF2.

RED is available as open source software under the Apache 2.0 license.

Concepts

As we have said before, the most important yet least prominent feature of the RED tool is its alignment with the accompanying lecture material of DTU course 02264. Both present the same material and thus offer alternative approaches to learning. The alignment is implemented as a coherent and comprehensive meta-model underlying RED. And what the user sees on the UI is exactly what the model contains.

More specifically, RED provides a comprehensive set of specification concepts, as illustrated by the following figure.

RED Specifcation Concepts

Fig. 1 - RED Specifcation Concepts (concepts under development are greyed out).

REQ

Classic Textual Requirements

The single most widely used way of specifying requirements is by prose. RED supports rich prose descriptions with all necessary management, cost/benefit, and tracing attributes.

TERMS

Technical Terminology

RED also supports conventional glossaries of technical terminology. Glossaries allow definitions in terms of cross-referencing descriptions, synonymy, antonyms, aggregation and taxonomic hierarchies. The next version of this plugin will allow multiple language

GORE

Goal Oriented Requirements Engineering

The very basic concepts of GORE are provided, including visions and assumptions, and of course goals and stakeholders. Most other GORE concepts overlap heavily with other approaches to specification and modeling and are covered there.

REL

Release Planning

Based on other concepts like use cases and systems, requirement engineers can create release plans to interactively balance cost and delivery dates. Release plans may be visualized.

AML

Architectural Modeling

Architecture is the dual twin of RE, and many software architectural concepts are also classic RE concepts, such as system context and actors. The AM plugin provides also connectors and configurations to complete the conceptual coverage. Behavioral details are covered in the forthcoming software modeling plugin.

AUX

Auxialiary Concepts

For housekeeping, there are also representations of projects, files, and folders, and external documents that may be integrated into a RED project.

IxD

Interaction Design

An effecitve way of specifying UI-heavy systems is by iteratively sketching out the user interface and validating it. Typical concepts used in this approach are personas, scenarios, and casts. Scenarios appear also in other contexts, such as use case modelign and are covered there.

UCM

Use Case Modeling

Use Cases are one of the most popular ways of specifying features. They are half way between classic textual requirements and more specific modeling, e.g., UML-type specifications.

MuML

Software Modeling

Software modeling a la UML is important not just for the more technical later stages, but also to enrich architectural and use case modeling to become more useful. It comprises notions of state, event, data, and association. This plugin is expected in Q3/2016.

top

Features

All of the specification concepts explained above have a forms-based editor with extensive management and tracing support. Many of them also provide visual editors.Beyond that, RED offers a number of practical tools for requirements specification.

RED Specifcation Tools

Fig. 2 - RED Specifcation Tools (tools under development are greyed out).

Tracing

Tracing

A simple yet powerful tracing interface allows bidirectional tracing of any elements according to a multitude of dimensions. Visual tracing is presently missing.

Stitching

Stitching

Overlapping diagrams representing model fragments may be stitched together to validate the (sets of) requirements that are illustrated by the fragments and to support the transitoin from analysis to design.

Aggregation

Aggregation

Quantitative aspects like cost, benefit, risk, latency, duration and so on may be aggregated over sets of elements so as to allow informed decisions i npriorituzatio nand planing.

Estimation

Estimation

Cost and benefit estimation are important sources of inforamtion for management decisions. Beyond manual estimation methods, RED also offers to apply the Use Case Point method in order to automatically derive estimates from sufficiently detailed specifications.

Reporting

Reporting

Requirements specifications may be compiled into reports that are suitable for sharing online as HTML, or for being included as appendices to contractual documents.

Merging

Merging

In order to accommodate for conflicting versions arising from concurrent projects, RED allows to split specification across multiple files, and provides a merge feature to mitigate conflicts interactively.

Enactment

Enactment

Scenarios may be enacted and converted to speech output in order to facilitate validation of scenarios. Complex operators lke loop, call, exception, and parallel execution allow arbitrary scenarios. Scenarios may be textual or visual in nature.

Inspection

Inspection Support

Special facilities are added to support spcification inspections. In particular, parts of a specification may be password-protected against accidental changes.

Diagrams

Visual Modeling

Many specification concepts allow a natural visualisation, and visual modeling. Specification and visual elements are both treated as first class citizens: they can be specified separately or together, where the connection between them can be established and severed at any time.

Metrics

Planguage Identifiers

The user can identify elements by proper names that may be rather long and descriptive. For practical purposes, he can also provide a short label, suich as an abbreviation, acronym, or "nick name". RED automatically aggregates these (and the element type) into Planguage-style composite names.

Checking

Folder Aggregation

Folders are much than just boxes of random elements. In a special folder view, batch edits, additions, and deletions can be done in an efficient way. Also, aggregation and sorting of qualtitative aspects of elements can be done.