Thinking at the Conceptual LevelCategory: General
Reviewed by: artificer
Reviewed on: Jun 02 2007
» Discuss this topic ( Posts)
To verify semantics in any business domain, business rules need to be validated with domain experts. The problem is that software developers usually present these rules in the form of a database schema, something almost all domain experts will fail to understand. In the previous article, I discussed briefly the importance of giving semantics to data being stored in a system, but how should we communicate the structure of that data to someone who knows nothing about databases? The answer is to verbalize their business rules at a conceptual level, a language-agnostic approach that most people should have no trouble understanding. This level is very user-friendly because it describes the Universe of Discourse in natural human concepts and strives to union semantics and data to create a concrete understanding of the data and how it is being used. This article focuses on thinking at a conceptual level and verbalizing information at that level.
There are two main components of the conceptual level of information: the conceptual schema and the conceptual database. The conceptual schema houses the structure of the UoD (which includes objects and the roles they play along with particular constraints that include these roles). The conceptual database instead indicates what content fills the structure specified by the conceptual schema. If you're familiar with implementing a database, you'll know that the logical schema looks like a table structure with foreign key relationships between those tables, and the logical database is the actual data that populates those tables. In these respects, the conceptual level and the logical level are homologous, but there is another component in the conceptual level: the conceptual information processor. The CIP controls updates to both the conceptual schema and conceptual database by serving as the mediator between humans (such as a domain expert) and the knowledge base (a combination of the conceptual schema and database). An illustrative example is provided by the diagram to the left.
It is important to remember that the CIP does not specify the conceptual schema, but merely interprets it. The modeler is the one who actually defines the conceptual schema. Of course in some small systems one person may play both of these roles, but it is good practice to distinguish them. Next we'll take a look at what composes the conceptual schema and what work the CIP does.