EDUCE Overview | Copyright 2009 Nikolas S. Boyd. All rights reserved. |
Capture and describe an important domain concept and its characteristics, actions, relationships, and qualities.
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.
Use stable concept when
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
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.