• Analyse external interfaces for risk, technology, business value and other factors.
  • Use the context to gain overview of the System within its business or technical environment.
  • Identify risks or problems in the immediate vicinity of the System.

Terminology

We distinguish the following terms in context analysis:

Business Context
Adjacent organizations, applications, users or interfaces either requiring or providing services or data from or to the System. The business context can be used to describe the overall business process(es) the System is involved in.
Technical Context
Adjacent hardware or technical infrastructure, either required by the System or providing data or events to it. When the System can be used or operated in different hardware infrastructures, there might exist several different technical contexts.

Description

Context analysis shall help identify issues associated with external interfaces, e.g. interfaces that:

  • influence critical quality requirements of the system (e.g. reliability, security, throughput, runtime performance, operation cost)
  • are overly complex
  • are brittle or fragile
  • are implemented with unsuitable technology
  • are underdocumented or poorly understood
  • transport critical data (important, sensitive, insecure)
  • transport especially huge amounts of data
  • have high operational effort
  • have high usage cost (e.g. cost-per-request or similar)
  • have high cost-of-change or high maintenance costs
  • are difficult or impossible to modify/enhance/change
  • suffer from operational failures or production issues

Note that user interfaces often belong to the context, especially with respect to the kind of data or events exchanged with users or user groups. Due to the importance of this topic, aim42 devotes an own section to it.

Example

In the context diagram example of fig. Example of Context View you see some user roles and some external systems. The context diagram is accompanied by a tabular description of the elements and/or relationships. Example taken from the HtmlSanityCheck (HtmlSC) open source project.

Example of Context View

Business Context

Neighbor Description
user documents software with toolchain that generates HTML. Wants to ensure that links within this HTML are valid.
build system  
local HTML files HtmlSC reads and parses local HTML files and performs sanity checks within those.
local image files HtmlSC checks if linked images exist as (local) files.
external web resources HtmlSC can be configured to optionally check for the existence of external web resources. Due to the nature of web systems, this check might need a significant amount of time and might yield invalid results due to network and latency issues.

In this example, the complete check has to be completed within 5 seconds (a quality requirement). As access to external websites or resources might be hindered by network latency or even failures, the external interface responsible for this requirement will likely contain risks.