EDUCE Overview Copyright 2009 Nikolas S. Boyd.
All rights reserved.

Stable Concept

Intent

Capture and describe an important domain concept and its characteristics, actions, relationships, and qualities.

Motivation

Several kinds of stakeholders serve as official information sources, especially for software solution requirements. Many of these stakeholders only use natural language to describe their problems, concerns, and objectives. So, their knowledge and ideas often take the form of natural language statements.

Simple sentences help people communicate more effectively. Simple sentences increase the likelihood that people will actually duplicate and construe them similarly. The nuclear sentence structure provides readers with a consistent way to parse and construe sentences. Such simplicity reduces ambiguity (or makes it more obvious) and contributes to a better understanding of a subject while retaining (sometimes even revealing) essential meaning.

The statements stakeholders use to describe their problems, concerns, and objectives include terms (often jargon) that are either critical, central, or peripheral to their business. Each distinct business term can be considered a candidate domain element or concept. The number of statements that relate to a given concept can be used as a measure of its stability and its centrality to the business.

Applicability

Use stable concept when

Considerations

The relations and actions of a subject are expressed through predicates, verbs and verb phrases that relate the subject to other domain elements. The predicates that surround a domain element help establish and stabilize the domain element as a concept.

Consider the following examples of stable concepts that were extracted from a sample problem description as part of a sample domain vocabulary.

drum
contains a hazardous chemical
has a volume capacity (quantity + unit of measure)
drum contents
is a hazardous chemical
has a category (hazard type)
has a volume (quantity + unit of measure)
has a weight (quantity + unit of measure)
drum identifier
identifies a drum in the system
drum identification label
identifies a drum within the depot premises
indicates the drum identifier
indicates the drum contents, measurement(s) and hazard type

Consequences

When you find a stable concept, you can organize the concept and its associated predicates as an entry in a domain vocabulary. All software solution stakeholders must participate in the review and approval of the resulting terminology and definitions in order for a consensus language to emerge and become ubiquitous.

Stable concepts are often the richest source of candidate classes and interfaces for object-oriented designs, especially those concepts that are critical or central to a business problem description.

Traditionally, object-oriented analysis considers domain concepts that are relatively obvious and concrete. Concrete domain concepts provide clues about business and industrial elements without necessarily identifying enduring business themes.

Unlike traditional forms of object-oriented analysis, EDUCE considers business themes in addition to the more obvious business and industrial elements. Enduring business themes are most often expressed in business policy statements, which typically identify mission critical and mission central quality concerns. Business policy statements also often dictate contraints on business operations and the criteria for determining and measuring operational policy compliance.