Information Systems, Databases, and Models › Introduction › Data Modeling
Data Modeling
When created with the full participation of business and systems professionals, the data model can provide many benefits. These benefits generally fall into the following two classes:
- Effort
-
Those associated with the process of creating the model.
- Product of the Effort
-
Those primarily associated with the model.
Examples of Product Benefits
- A data model is independent of implementation, so it does not require that the implementation is in any particular database or programming language.
- A data model is an unambiguous specification of what is wanted.
- The model is business user-driven. The content and structure of the model are controlled by the business client rather than the system developer. The emphasis is on requirements rather than constraints or solutions.
- The terms used in the model are stated in the language of the business, not that of the system development organization.
- The model provides a context to focus discussions on what is important to the business.
Examples of Process Benefits
- During early project phases, model development sessions bring together individuals from many parts of the business and provide a structured forum where business needs and policies are discussed. During these sessions, it is often the case that the business staff, for the first time, meets others in different parts of the organization who are concerned with the same needs.
- Sessions lead to development of a common business language with consistent and precise definitions of terms used. Communication among participants is greatly increased.
- Early phase sessions provide a mechanism for exchanging large amounts of information among business participants and transferring much business knowledge to the system developers. Later phase sessions continue that transfer of knowledge to the staff who will implement the solution.
- Session participants are generally able to better see how their activities fit into a larger context. Also, parts of the project can be seen in the context of the whole. The emphasis is on cooperation rather than separation. Over time, this can lead to a shift in values, and the reinforcement of a cooperative philosophy.
- Sessions foster consensus and build teams.
Design of the data structures to support a business area is only one part of developing a system. Function modeling, the analysis of processes (function) is equally important. Function models describe how something is done. They can be presented as hierarchical decomposition charts, data flow diagrams, HIPO diagrams, and so on. You will find, in practice, that it is important to develop both your function models and data models at the same time. Discussion of the functions that the system will perform uncovers the data requirements. Discussion of the data normally uncovers additional function requirements. Function and data are the two sides of the system development coin.