Understanding the requirements

The first activity during the development process is the establishment of the requirements. Here is a joke. It consists of the following phases:

Activities and Results of Domain Analysis

First activity: Analysis of the domain-as-it-is:

Second activity: External Design - Designing the domain-to-be, including the system-to-be-built

Here is an example of problem domain analysis (the Access Control System), also including the first phase of requirement analysis

Requirements analysis, modeling and specification: General considerations

What is a system ?

A system description has two purposes:

  1. To describe the functional behavior so that it can be fully understood
  2. To describe the realization so that the system may be produced

. . . and it has two aspects:

  1. The structure (static)
  2. The (dynamic) behavior

Methods for dealing with complexity

A system specification includes assumptions and guarantees

In general, a system specification has the following form: 

Theorem for component-based development: Given a specification S = AS implies GS (assumption implies guarantee) for a component within a given system structure and an implementation satisfying the specification I = AI implies GI . The implementation can be used for realizing this component iff AI is weaker than AS and GI is stronger than GS . - - One sometimes says that I “conforms to S.

Example: Given an implementation of a sorting program which satisfies the following Specification B: If the input list of integer numbers has less than 2000 entries, then the output list will contain the same integer numbers in ascending order, each number only once, even if the input list contains some number multiple times. This means:

Question: Can this implementation be used for the component specified to satisfy Specification A ?

Examples of specializations:

Requirements analysis, modeling and specification: Methodology

Example Access Control System (last section)

Example ATM

Distinction between functional and non-functional requirements


Course notes - Gregor v. Bochmann - University of Ottawa. Created: January 7, 2015 - Note: this page contains material copied from the Powerpoint slides used by Dr. Hussein Al Osman for this course in 2014