Conceptual Models

Interaction (sequence and collaboration) diagrams help us to understand how modeling elements dialog with each other to achieve functionality. It is a good modeling practice to start the design process by developing a conceptual diagram that represents our knowledge of the application domain expressed through concepts, abstractions, and their relationships. Conceptual diagrams are the result of an activity that is referred to as conceptual modeling. Conceptual modeling can be defined as the process of organizing our knowledge of an application domain into hierarchical rankings or orderings of abstractions, in order to obtain a better understanding of the phenomena of concern [Tai96]. Conceptual modeling makes heavy use of abstraction and the object-oriented approach, and unlike other programming paradigms, provides direct support for the principle of abstraction. Any entity or concept in a problem domain is conceived as an object provided with a certain state and behavior to play a well-defined role.

Conceptual diagrams have the advantage of presenting the concepts and their relationships in an abstract way, independent of any computing platform or programming language that may be used for their implementation. During this phase, the focus is on depicting the concepts of the system and providing them with the right data and behavior. Experience shows that implementation technologies change constantly. Therefore, it is highly desirable that the model we are about to develop be expressed in an abstract and logical manner resilient to changes.

UML allows for designing a Platform Independent Model (PIM) that presents many advantages. First, PIM allows for representing models using a high level of abstraction. Details of the models can be expressed clearly and precisely in UML as it does not use any particular formalism. UML is semantically very rich, richer than any programming language. The conversion of a UML diagram into code in a particular programming language comes with loss of information. Therefore, the intellectual capital invested in building models will be insulated from changes in the implementation technologies.

After a PIM is developed, then the issue of selecting a particular implementation environment can be addressed. Next, a Platform Specific Model (PSM) will be developed by mapping a PIM to a particular computer platform and a specific programming environment. The transformation of a PIM to a PSM is realized using a mapping process. This two-layer concept, a PIM and a corresponding PSM, separates the scientific model from the implementation technologies. Usually, the science behind the model has a much longer life than the implementation technologies. Changes and evolution of the implementation technologies should not affect the logic of the scientific model. Conceptual diagrams are an important tool for software design. They help to structure the system and a well-structured system is easy to develop, maintain, and reuse. Therefore, it is important to start with a conceptual diagram that presents the core elements and the interactions between them. It is a good modeling practice to name participating elements and their relationships with meaningful names. Meaningful names for concepts and their relationships make the model easier to understand; users can use the conceptual model as a discussion platform where business issues are addressed.

Was this article helpful?

0 0

Post a comment