Data Modeling and Functional Modeling: Examining the Preferred Order of Using UML Class Diagrams and Use Cases

Data Modeling and Functional Modeling: Examining the Preferred Order of Using UML Class Diagrams and Use Cases

Peretz Shoval (Ben-Gurion University of the Negev, Israel), Mark Last (Ben-Gurion University of the Negev, Israel) and Avihai Yampolsky (Ben-Gurion University of the Negev, Israel)
DOI: 10.4018/978-1-60566-278-7.ch007
OnDemand PDF Download:


In the analysis phase of the information system development, the user requirements are studied, and analysis models are created. In most UML-based methodologies, the analysis activities include mainly modeling the problem domain using a class diagram, and modeling the user/functional requirements using use cases. Different development methodologies prescribe different orders of carrying out these 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, a comparative controlled experiment was carried out in a laboratory environment. The subjects were asked to create two analysis models of a given system while working in two opposite orders. The main results of the experiment are that the class diagrams are of better quality when created as the first modeling task, and that analysts prefer starting the analysis by creating class diagrams first.
Chapter Preview


The main goal of this research is to examine the better order of performing the two main activities in the analysis phase of UML-based software development processes: functional modeling with use cases, and domain (conceptual data) modeling with class diagrams. Though system development is usually an iterative process of refinement, the analysis stage of each iteration should be driven by a specific modeling activity, implying that activity ordering in iterative development is a legitimate and important question. As we show in the next section ‎of this chapter, existing development methodologies differ in a prescribed order of performing these activities: some recommend to start with identifying conceptual classes and continue with developing use cases, using the identified classes or objects, while others suggest to start with developing use cases and continue with building a class diagram based on the concepts appearing in the use cases.

Methodologies starting with creating a domain model by building a class diagram argue that the initial class diagram maps the problem domain and allows describing the functional requirements within a well-defined context. The entities in the class diagram serve as an essential glossary for describing the functional requirements and, since it is an abstraction of the part of the real world relevant for the system, it only rarely changes and can serve as a solid basis for other future systems as well. On the other hand, methodologies starting with creating use cases argue that the classes should be based on the functional requirements, and thus should be elicited from them. One reason for this argument is that creating a domain model before learning the functional requirements can lead to a class diagram that include entities that are out of the system’s scope.

We expect that creating a domain model prior to defining the functional requirements with use cases should yield better results, i.e. better class diagrams and use cases. This is because objects are more “tangible” than use cases; analysts can identify and describe more easily the objects they are dealing with and their attributes than the functions or use cases of the developed system. Use cases are not “tangible” and may be vague, since different users may define the expected system functionality in different terms. Repeating Dobing & Parsons (2000), the roles and values of use cases are unclear and debatable. Of course, conceptual data modeling is not trivial either; it is not always clear what is an object, how to classify objects into classes, what are the attributes and the relationships, etc. - but still the task of data modeling is more structured and less complex compared to the task of defining and describing use cases. Besides, the analyst has to create just one class diagram for the system rather than many use cases. While in domain modeling the analyst concentrates only on the data-related aspects, in use-case modeling, the analyst actually deals at the same time with more aspects. Use cases are not merely about functions; they are also about data, user-system interaction and the process logic. Because of the above, it seems to us that starting the analysis process with the more simple and structured task should be more efficient (in terms of time) and effective (in terms of quality of the analysis products). Not only that the first product (the conceptual data model) will be good, it will ease the creation of the following one (the uses cases) since creating use cases based on already defined classes reduces the complexity of the task. In the view of the above, we also expect that analysts would prefer working in that order, i.e. first create a class diagram and then use cases.

The above expectations and assumptions can be supported by both theory and previous experimental work. Shoval & Kabeli (2005) have studied the same issue in the context of the FOOM methodology. According to their experiment, analysts who start the analysis process with data modeling produce better class diagrams than those who start the process with functional modeling. They also found that analysts prefer working in this order. The current study can be viewed as an extension of Shoval & Kabeli (2005) to UML-based software development.

Complete Chapter List

Search this Book:
Editorial Advisory Board
Table of Contents
Chapter 1
Terry Halpin
When modeling information systems, one often encounters subtyping aspects of the business domain that can prove challenging to implement in either... Sample PDF
Enriched Conceptualization of Subtyping
Chapter 2
Alessandro Artale, C. Maria Keet
This chapter focuses on formally representing life cycle semantics of part-whole relations in conceptual data models by utilizing the temporal... Sample PDF
Essential, Mandatory, and Shared Parts in Conceptual Data Models
Chapter 3
Peter Bollen
In this chapter the authors extend the ORM conceptual modeling language with constructs for capturing the relevant parts of an application ontology... Sample PDF
Extending the ORM Conceptual Schema Language and Design Procedure with Modeling Constructs for Capturing the Domain Ontology
Chapter 4
Janis Stirna, Anne Persson
This chapter presents experiences and reflections from using the EKD Enterprise Modeling method in a number of European organizations. The EKD... Sample PDF
EKD: An Enterprise Modeling Approach to Support Creativity and Quality in Information Systems and Business Development
Chapter 5
Anders Carstensen, Lennart Holmberg, Kurt Sandkuhl, Janis Stirna
This chapter discusses how an Enterprise Modeling approach, namely C3S3P1, has been applied in an automotive supplier company. The chapter... Sample PDF
Integrated Requirement and Solution Modeling: An Approach Based on Enterprise Models
Chapter 6
John Krogstie, Frank Lillehagen
Innovative design is the most important competitive factor for global engineering and manufacturing. Critical challenges include cutting lead times... Sample PDF
Methodologies for Active Knowledge Modeling
Chapter 7
Peretz Shoval, Mark Last, Avihai Yampolsky
In the analysis phase of the information system development, the user requirements are studied, and analysis models are created. In most UML-based... Sample PDF
Data Modeling and Functional Modeling: Examining the Preferred Order of Using UML Class Diagrams and Use Cases
Chapter 8
Mauri Leppänen
A large number of strategies, approaches, meta models, techniques and procedures have been suggested to support method engineering (ME). Most of... Sample PDF
OntoFrame: An Ontological Framework for Method Engineering
Chapter 9
Patrick van Bommel, Stijn Hoppenbrouwers, Erik Proper, Jeroen Roelofs
A process-oriented framework (QoMo) is presented that aims to further the study of analysis and support of processes for modeling. The framework is... Sample PDF
Concepts and Strategies for Quality of Modeling
Chapter 10
John Erickson, Keng Siau
This chapter presents the basic ideas underlying Service Oriented Architecture as well as a brief overview of current research into the phenomena... Sample PDF
Service Oriented Architecture: A Research Review from the Software and Applications Perspective
Chapter 11
Vítor Estêvão Silva Souza, Ricardo de Almeida Falbo, Giancarlo Guizzardi
In the Web Engineering area, many methods and frameworks to support Web Information Systems (WISs) development have already been proposed.... Sample PDF
Designing Web Information Systems for a Framework-Based Construction
Chapter 12
Tony Elliman, Tally Hatzakis, Alan Serrano
This paper discusses the idea that even though information systems development (ISD) approaches have long advocated the use of integrated... Sample PDF
Business Process Simulation: An Alternative Modelling Technique for the Information System Development Process
Chapter 13
Leandro Dias da Silva, Elthon Allex da Silva Oliveira, Hyggo Almeida, Angelo Perkusich
In this chapter a formal agent based approach for the modeling and verification of intelligent information systems using Coloured Petri Nets is... Sample PDF
An Agent Based Formal Approach for Modeling and Verifying Integrated Intelligent Information Systems
Chapter 14
Jan vom Brocke
With the design of reference models, an increase in the efficiency of information systems engineering is intended. This is expected to be achieved... Sample PDF
Design Principles for Reference Modelling: Reusing Information Models by Means of Aggregation, Specialisation, Instantiation and Analogy
Chapter 15
Eleni Berki
Information systems development methodologies and associated CASE tools have been considered as cornerstones for building quality in an information... Sample PDF
Examining the Quality of Evaluation Frameworks and Metamodeling Paradigms of Information Systems Development Methodologies
About the Contributors