Requirements Analysis

Prerequisites

This is a more advanced presentation of requirements analysis. Readers should be familiar with the following topics:

UML

Functional Specifications

See the topic page for references and other presentations.

The Analysis Model

The analysis model consists of a class diagram and associated state chart and sequence diagrams.

The class diagram instantiates the Entity-Control-Boundary pattern. It consists of classes representing boundaries, controls, and entities.

Boundaries

Boundaries represent interfaces with actors. Control panels and gateways are examples.

Entities

Entities represent domain-specific events, types, roles, and objects. Account (object), AccountHolder (role), AccountType (type), and Transaction (event) are examples.

Controls

Controls execute commands issued by actors through boundaries. Controls must interact with entities to execute commands. Java action listeners are examples.

Sterotypes

The standard UML profile includes the <<entity>>, <<control>>, and <<boundary>> stereotypes together with special icons:

Control Logic

A system has two types of logic: domain logic (example: how to compute penalties for early withrawl from an IRA) and control logic (ordering the steps for transferring funds from one account to another).

Domain logic (also called business logic) is enacpsulated in entities. For example:

Control logic, which is generally much simpler than domain logic, is encapsulated by the controls.

Control logic can be expressed in two ways: by a statechart diagram representing the internal dynamics of a control, and/or by sequence diagrams representing the ways a control object interacts with the other objects in the analysis model.

External Dynamics

In the following scenario a user selects a command on the GUI (a boundary object) by pushing a button, selecting a menu item, etc.

The GUI asks the processor (a control object) to execute the command.

To do this, the processor may need to query and/or update several entities.

The GUI then redraws itself to reflect changes in the entitiy states. (For example, redraw a graph or chart.)

Internal Dynamics

Examples