The Fundamental Principles of EDUCE

Nik Boyd

EDUCE = Essential Domain + Usage Concept Extraction

Essential means that EDUCE focuses on essential information, but also that such rigor is essential for quality software development.

Domain means that EDUCE focuses on understanding and describing problem domains rather than solutions.

Usage means that EDUCE focuses on the essential uses to which a problem solution may be put rather than the particulars of how a solution will be implemented and manifested through user interfaces.

Concept means that EDUCE produces sharable conceptual models in both graphical and narrative forms.

Extraction means that EDUCE extracts all the usable information from a problem domain and its essential uses.

The primary goal of EDUCE is the introduction of commonality into the software development process. Commonality is the shared understanding of a problem domain and how to use the problem solutions. Commonality is achieved if people actually share a common understanding of a problem and its usefulness. Commonality provides value to quality by insuring that the people involved in solving a problem share an understanding of the problem. Without commonality, the likelihood of developing a satisfactory and usable problem solution is drastically reduced.

EDUCE is founded on the following principles:

These principles are the RULER or yardstick by which EDUCE results are produced and measured.

The Principle of Conceptual Relativity

Concepts only have meaning within the context of other related concepts - i.e., together they constitute a problem domain. Each concept has a web of associations with other related concepts. Conceptual models make concepts and their relationships explicit through graphs and narratives. Such formal analytic treatment makes the models sharable and comparable, leading to commonality.

The Principle of Conceptual Utility

Conceptual models serve as the foundation for commonality and development. Commonality exists when people share similar ideas of a domain and its usage. Quality software development requires commonality. Conceptual models provide a formal mechanism for sharing and comparing the constructions people make internally - i.e., their mental models.

The Principle of Conceptual Limitation

Conceptual models focus on selected relationships between selected concepts. Conceptual models are convenient and valuable within a limited domain and for a limited time - i.e., until more elegant and complete models are developed. Renovations in conceptual models are normal. Renovations can be expected until our understanding and models of a problem domain mature. Even after our understanding of a domain has stabilized and then matured, occasional revolutions can occur. Such conceptual revolutions are often the result of paradigm shifts.

The Principle of Conceptual Equivalence

There is a property of words analogous to the wave - particle duality that exists in physics. In physics, it's simply a point of view and interaction whether a physical entity behaves like a wave or a particle. Similarly, an essential concept can be expressed as (and in the form of) a noun, a verb or a descriptive adjective. In other words, under each set of semantically related noun - verb - adjective tuples lies an essential concept.

When examined, we find that each essential concept has a root expression as a noun, a verb, or an adjective. The expression of a concept begins in one of these three word classes. However, by appending appropriate suffixes, each of these three word classes can be transformed into another. Thus, the underlying concept can be said to be independent of any specific word class. Alternatively, we could say that all three word classes (noun, verb, and adjective) taken together provide the fullest expression of an essential concept.

This principle has significance for OO conceptual modeling. We want to find useful (usable) subjects and objects - i.e., domain objects with usable faces. The principle of conceptual equivalence allows us to reshape statements until they are usable for building conceptual models, especially models that focus on objects (nouns) and their associated faces (verbs).

The Principle of Conceptual Relevance

Every word in a statement can contribute value to a conceptual model. Therefore, none of the words in a statement should be eliminated arbitrarily. Every word should be considered.