A data model essentially attempts to describe a real life system in simplistic and logical terms with data at its heart. Every system has rules on how data moves and is used but these rules are open to interpretation based on the involvement in the system of the person in question and their own logic and understanding. Modelling gives us a framework to understand complex relationships and data use based on characteristics (types, sizes, validity, etc.) and has evolved the components of attributes and relationships.
Well thought out data modelling cannot be emphasised enough in the success of information system development as the designer has to consider all system users and uses, which is a task requiring both technical, process and communication skills. Data is viewed differently by users of the system (e.g. the CEO and the receptionist) yet the system is built upon the same (business) rules so must cater for all users to be effective. As a result the information system designer uses multiple data modelling techniques, depending on the size and complexity of the system (Amber (2009)), to ensure that all uses and viewpoints are considered to produce a useful design that can be understood by all involved. Without such considerations in the design process, it is highly likely that problems will occur in the resulting information system.
O’Neill (2001) also suggests that overcoming communications difficulties during development phases can mean the difference between system success and failure. The system designer must be able to communicate with all levels of users and it is important that a common vocabulary is used by the developer. From my experience I cannot agree more with this sentiment having had off shoring project issues due to communication differences between developers and users. It is commonly experienced in the industry that developers, when communicating with other developers use vocabulary that is not accessible to non-technical, but extremely important for success, system users whose agreement of suitability is generally required upon hand over of any development.
In conclusion, as stated by Coronel, Morris & Rob (2009), “you are [equally] unlikely to create a good database without first creating an appropriate data model”.
Ambler, S (2009) Data Modeling 101 [Online]. Available at http://www.agiledata.org/essays/dataModeling101.html (Accessed 4 April 2010).
Coronel, Morris & Rob (2009) Database Systems: Design, Implementation, and Management (9th Edition). Cengage Learning.
O’Neill, E (2001) Distinguished Dissertations: User-Developer Cooperation in Software Development. Springer.