Data Modeling and Functional Modeling – Which Comes First?.
By Peretz Shoval
February 2012: In the analysis phase of the information system development (ISD), the users’ requirements are studied and defined. In most ISD methodologies, the requirements are defined by two models: a conceptual data model in form of e.g. an entity-relationship (ER) diagram or a class diagram; and a functional model in form of e.g. data flow diagrams (DFD) or use cases. Different ISD methodologies prescribe different orders of carrying out these modeling activities but there is no commonly agreed order for performing them.
In order to find out whether the order of analysis activities makes any difference, and which order leads to better results, we have conducted two independent comparative experiments in laboratory settings. The subjects in the two experiments were asked to create data models and functional models of a certain system while working in the two opposite orders. In each experiment we used a different ISD methodology and different subjects, but assigned the same modeling tasks. The main results of the experiments are that the data models are of better quality when created as the first modeling task, and that analysts prefer to first create the data model and then the functional model. The results of the two experiments have been reported in Shoval & Kabeli (2005) and in Shoval et al. (2009). This paper provides an overview of the two studies.