Requirement Models

Topics:

Topic

Detail

See also

Introduction

This section describes the Enterprise Architect Requirements Management facilities, and discusses:

  • What requirements are
  • How requirements are generated and organized
  • How Enterprise Architect supports and simplifies Requirements Management

White Paper (Requirements Management with Enterprise Architect)

What is a Requirement?

Requirements are essentially what the system, application or business process is required to do

A requirement can be:

  • Broad and high level, defining - for example - that a process is necessary to update a particular database
  • More specialized and detailed, recording the expectation that - for example - a system call must always be acknowledged by return

Detailed requirements can be organized into a hierarchy culminating in a high-level requirement, so that satisfying each of the detailed requirements results in meeting the higher-level requirements and ultimately the top-level requirement

This hierarchical structure helps manage the complexity of large systems with thousands of requirements and many processes being developed to implement the requirements

 

Gathering Requirements

Gathering requirements is typically the first step in developing a solution, be it for developing a system or a process. Requirements are gathered from all parties expected to use, maintain or benefit from the solution, and are organized into groups, functional areas and hierarchies as necessary. They can be transcribed into a spreadsheet or a requirements gathering or management tool, or they can be created in an integrated modeling tool such as Enterprise Architect.

 

Requirements Management and Enterprise Architect

The management of requirements is one of the more problematic disciplines in software development, for reasons such as:

  • Diverse group input into the requirements
  • Organizational boundary divisions
  • Tool boundary divisions
  • Volatility of requirements
  • Imprecision and ambiguity in natural languages

These can cause issues with:

  • Traceability and
  • Integration with change and configuration management systems

Enterprise Architect can reduce or eliminate these problems in Requirements Management; it is one of the few UML tools that integrate Requirements Management with other software development disciplines in the core product, by defining requirements within the model. Within Enterprise Architect, you can:

  • Create and view requirements as entities and properties directly in the model
  • Collate the requirements in an external CSV file and then import them into your model
  • Detail use cases and scenarios directly in the model
  • Enter standard attributes (properties) for each requirement, such as difficulty, status and type, and define your own attributes (properties)
  • Trace requirements to Use Cases, business rules, test cases and analysis artifacts (using, for example, the Relationship Matrix)
  • Trace and view the impact of changes on requirements (through, for example, the Traceability window) and review the changes themselves
  • Create customer-quality MS Word and HTML reports on requirements

Create Requirements

View Requirements

Import Requirements Using CSV

Model Requirements

Requirement Properties

Extend Requirement Properties

Trace Use Of Requirements

Relationship Matrix

Traceability Window

Manage Requirement Changes

Report on Requirements

Notes:

  • All of these features are illustrated by examples in the EAExample.eap model, provided as part of your Enterprise Architect installation in the Enterprise Architect Program Files directory:
     
    ..\Program Files\Sparx Systems\EA