Nirmalya Ghosh: The Unified Data Modeling
A Fresh Look Into Data Modeling Practice Optimization And Automation
Why There Is A Need For Data Modeling Practice Optimization And Automation
Data modeling is one of the important building blocks in any enterprise system development. A flexible, consistent data model leads to a stable application, even in the face of changing data requirements. There are numerous data modeling tools available to create the conceptual, logical and physical data models. The learning curve for these tools is short; however achieving excellence in data modeling practice takes time. The situation may be worse if the data modeler doesn’t focus on issues beyond tools – such as standards, procedures, policies, and governance. Frequently, a serious lack of standards, policies, guidelines and governance can cause higher system development time and cost. Learning through real life scenarios reveals that a low focus on data requirements at the early stage of a project reduces the completeness of data elements present in a data model. Industry standard data modeling tools focus more on organizing data than on applying standards for data management. However there are fewer attempts from the industry to identify and validate data requirements.
In general, data modeling is viewed in the industry as the mechanism of identifying entities, attributes and relationships in which a modeler takes the data model through course of normalization and de-normalization. The quality of the data model depends significantly on the completeness and correctness of data requirements required by the processes in the application. A project team creates several requirements documents focusing on business requirements, user requirements, functional and non-functional requirements. Those requirements documents form the foundation of the architecture, design and development of the application. Application plus database makes a system. In most cases, a data modeler or database designer doesn’t start with a data requirements document while designing the database, they start with a “blank slate”. A data modeler looks for data requirements which are loosely recorded in business requirements, user requirements, and functional requirements. The lack of completeness and correctness of data requirements at the beginning results in an incomplete data model.
What Is Unified Data Modeling?
Experience with data modeling suggests that data modeler should focus on identifying and validating data requirements first before diving into the process of modeling data. Unified Data Modeling is the first of a new generation of data modeling processes that ensure the correctness and completeness of a data model and targets the development of a data model that is stable, flexible to changing business practices, and extensible to changing business needs. Unified Data Modeling is a practice optimization and automation in data modeling that gives the solution to the dimensions of process, technology and people in the data modeling function.
The Unified Data Modeling is a process improvement over more conventional approaches:
- Focus on data requirements first before modeling data
In any system development project that deals with data, one must pay critical attention to the following points: (1) Know your data (2) Organize the data. “Know your data” is concerned with identifying and validating data requirements, while “Organize data” is modeling data for a system’s use. Conventional data modeling focuses mainly on organizing data only. However the Unified Data Modeling approach improves the productivity and reduces the system rework by combining the two critical points. - Connect use cases to data requirements to database and establish forward and backward traceability
Data requirements may not be provided clearly and concisely in business requirements, user requirements, functional and non-functional requirements. The Unified Data Modeling approach forms the bridge from use cases to data requirements to database and helps to establish forward and backward traceability among them. - Ensure completeness of database design based on data requirements
Unified Data Modeling is a bottom-up approach where the journey starts with identifying all the data elements (attributes) required by the processes, then grouping them into data structures (entities). This is opposite to the top-down approach followed in conventional methods. The bottom-up approach ensures that the database has all the data elements required by the application and thus provides completeness of database design that is based on data requirements.
The Unified Data Modeling is a better technology solution over conventional approaches:
- Integrate data modeling methods for stability, flexibility and re-usability
Using the Unified Data Modeling, data modeling methods for stability, flexibility and re-usability are not dependent on specific analysts. In general the quality of a data model depends on the skill and maturity of the data modeler. Unified Data Modeling can be used with most modeling tools like CA Erwin or Sybase PowerDesigner or IBM Data Architect etc. Data modeling methods for stability, flexibility and re-usability are integrated in the process found in Unified Data Modeling. - Follow normalization and de-normalization principles
Usual normalization and de-normalization principles and the related software engineering aspects are followed in the Unified Data Modeling method.
Unified Data Modeling involves people more appropriately than in conventional approaches:
- Involve the customer early in the process in reviewing data requirements
through to the data model’s completion.
In the Unified Data Modeling method, the customer is involved starting from reviewing the data requirements to finalizing the data model. The customer is involved in the development of the model and not only finalizes the completed data model, but also decides the data access requirements, data structure requirements, data integration requirements, data retention requirements, and data storage requirements. - Involve the team of business analyst, data modeler, process modeler and reviewer
in a disciplined framework.
The Unified Data Modeling method is a team activity where business analyst, process modeler, and reviewer are equally involved with the data modeler.
The Unified Data Modeling Is A Bottom-Up Approach
The Unified Data Modeling follows a basic principle where at the first step
a data modeler thinks of a database as a black box that contains all the data
elements required by the application and then structures the data elements in
several groups as entities. This method is opposed to the top-down approach
followed in conventional data modeling, where first the modeler identifies the
entities and then fills them with attributes.
What Is The Benefit Of Using The Unified Data Modeling?
Unified Data Modeling shows the results of mature processes used in a disciplined
framework –Unified Data Modeling brings the process maturity while using a robust
modeling product fills the gap of a data requirements management and traceability
tool in data modeling.
The result is:
- High productivity, faster turnaround than conventional approaches
- Quality data model from a quality process methodology and automation
- Little or no rework required
- Next generation standards used by the enterprise
In conclusion, the use of the Unified Data Modeling approach can provide benefits
to an organization for the discovery, documentation and implementation of process
requirements as well as data requirements.
About The Author
Nirmalya Ghosh serves as the Senior Architect for Cognizant (http://www.cognizant.com) and leads the Technology Consulting Group that provides technology leadership to banking and financial services (BFS) clients and project teams. Nirmalya has over 14 years of progressive technology and data architecture experience, coupled with excellent program management experience, in delivering large scale and complex enterprise-level solutions to Fortune 100 clients. He has earned dual bachelor’s degrees in Physics and Computer Science and has a Master of Science in Software Engineering. Nirmalya has a strong focus in research and development in various functional areas of Information Management and contributes his thoughts at international seminars and in publications. Nirmalya can be reached at NIRMALYA.GHOSH@COGNIZANT.COM