Traditionally, data models have been built during the analysis and design phases of a project to ensure that the requirements for a new application are fully understood and correctly captured before the actual database is created. There are, however, other uses for modeling than simply building databases. Among the uses are the following:

·         To understand an existing application. The data model provides a simple and precise picture of the concepts within an application. We can derive a data model from an existing application by examining the application’s database and building a data model of its structures. The technical term for the process of building data models from existing applications is ‘reverse engineering’. The trend in many industries is to buy more packaged software and to build less internally; therefore our roles as modelers are expanding and changing. Instead of modeling a new application, the data modeler may capture the information in existing systems, such as packaged software. In fact, modeling of existing systems frequently takes place because originally, when the application was built, no modeling was done and therefore, the system is running with an inferior design that few people understand. Recently, a manufacturing organization needed to move a 25 year old application to a new database platform. This was a very large application, so to understand its structures, we built a data model of it.

·         To perform impact analysis. A data model can capture the concepts and interactions that are impacted by a development project or program. What is the impact of adding or modifying structures for an application already in production? How many of an application’s structures are needed for archival purposes? Many organizations today purchase software and then customize it. One example of impact analysis would be to use data modeling to determine what impact modifying its structures would have on the purchased software.

·         To understand a business area. As a prerequisite to a large development effort, it usually is necessary to understand how the business works before you can understand how the applications that support the business will work. Before building an order entry system, for example, you need to understand the order entry business process. Data modeling provides a formal process for learning how part of the business works. The completed model will describe the business area. That is, the completed data model becomes a wayfinding tool for the order data entry area.

·         To educate team members. When new team members need to come up to speed or developers need to understand requirements, a data model is an effective explanatory medium. A picture is worth a thousand words, and a data model is a picture that can convey information at different levels of detail. Whenever a new person joined our area, I spent some time walking through a series of high-level data models to educate the person on concepts and rules as quickly as possible.

Find someone in your organization who is a data model non-believer and try to convert him or her.

What obstacles did you run into? Did you overcome them?

 

 

Key Points

·         The two main benefits of a data model are communication and precision.

·         Communication occurs both during the building of the data model and after its completion.

·         Data model precision can be compromised by weak definitions, dummy data, and vague or missing labels.

·         Communication and precision make a data model an excellent tool for building new applications.

·         Other uses for data models include understanding existing applications and business areas, performing impact analysis, and educating team members.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset