Abstract
In today's dynamic environments, evolvability of information systems is an increasingly important characteristic. We investigate evolvability at the analysis level, i.e. at the level of the conceptual models that are built of information systems (e.g. UML models). More specifically, we focus on the influence of the level of abstraction of the conceptual model on the evolvability of the model. Abstraction or genericity is a fundamental principle in several research areas such as reuse, patterns, software architectures and application frameworks. The literature contains numerous but vague claims that software based on abstract conceptual models has evolvability advantages. Hypotheses were tested with regard to whether the level of abstraction influences the time needed to apply a change, the correctness of the change and the structure degradation incurred. Two controlled experiments were conducted with 136 subjects. Correctness and structure degradation were rated by human experts. Results indicate that, for some types of change, abstract models are better evolvable than concrete ones. Our results provide insight into how the rather vague claims in literature should be interpreted.
Similar content being viewed by others
References
Abbatista, F., Lanubile, F., Mastelloni, G.,and Vissagio, G. 1994. An experiment on the effect of design recording on impact analysis. In Proceedings of the International Conference on Software Maintenance, pp. 253–259.
Adelson, B., and Soloway, E. 1985. The role of domain experience in software design. IEEE Transactions on Software Engineering 11(11): 1351–1360.
Arisholm, E., and Sjoberg, D. I. K. 2004. Evaluating the effect of a delegated versus centralized control style on the maintainability of object-oriented software. IEEE Transactions on software engineering 30(8): 521–534.
Assenova, P.,and Johannesson, P. 1996. Improving quality in conceptual modelling by the use of schema transformations. In Proceedings of the International Conference on the Entity Relationship approach (ER'96), pp. 277–291.
Barker, R. 1989. CASE*Method: Entity Relationship Modelling. Addison Wesley.
Batini, C., Ceri, S., and Navathe, S. B. 1992. Conceptual Database Design: An Entity-Relationship Approach. Benjamin/Cummings.
Batra, D., and Davis, J. G. 1992. Conceptual data modelling in database design: similarities and differences between expert and novice designers. International Journal of Man-Machine Studies 37: 83–101.
Briand, L. C., Bunse, C., Daly, J., and Differding, C. 1997. An experimental comparison of the maintainability of object-oriented and structured design documents. Journal of Empirical Software Engineering 2(3): 291–312.
Briand, L. C., Bunse, C., and Daly, J. W. 2001. A controlled experiment for evaluating quality guidelines on the maintainability of object-oriented designs. IEEE Transactions on Software Engineering 27(6): 513–530.
Cline, M. P. 1996. The pros and cons of adopting and applying design patterns in the real world. Communications of the ACM 39(10): 47–49.
Codenie, W., De Hondt, K., Steyaert, P., and Vercammen, A. 1997. From custom applications to domain-specific frameworks. Communications of the ACM 40(10): 71–77.
Costello, R. J., and Liu, D.-B. 1995. Metrics for requirements engineering. Journal of Systems and Software 29: 39–63.
Cronbach, L. J. 1951. Coefficient alpha and the internal structure of tests. Psychometrika 16(3): 297–334.
Daly, J., Brooks, A., Miller, J., Roper, M., and Wood, M. 1996. Evaluating inheritance depth on the maintainability of object-oriented software. Journal of Empirical Software Engineering 1: 109–132.
Davis, A. M., Overmyer, S., Jordan, K., Caruso, J., Dandashi, F., Dinh, A., Kincaid, G., Ledeboer, G., Reynolds, P., Sitaram, P., Ta, A., and Theofanos, M. 1993. Identifying and measuring quality in a software requirements specification. In Proceedings of the 1st International Software Metrics Symposium, pp. 141–152.
Dikel, D., Kane, D., Bass, L., Ornburn, S., Loftus, W., and Wilson, J. 1997. Applying software product-line architecture. IEEE Computer 30(8): 49–55.
Ecklund, E. F., Delcambre, L. M. L., and Freiling, M. J. 1996. Change cases: use cases that identify future requirements. In Proceedings of the Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA'96), pp. 342–358.
Fayad, M. and Schmidt, D. G. 1997. Object-oriented application frameworks. Communications of the ACM 40(10): 32–38.
Garlan, D. and Perry, D. E. 1995. Introduction to the special issue on software architecture. IEEE Transactions on Software Engineering 21(4): 269–274.
Genero, M., Poels, G., Piattini, M. 2003. Defining and validating metrics for assessing the maintainability of entity-relationship diagrams. Working paper 2003/199, University of Ghent (Belgium).
Genero, M., Piatini, M., Manso, E. 2004. Finding “early” indicators of UML class diagrams understandability and modifiability. In Proceedings of the 2004 International Symposium on Empirical Software Engineering, pp. 207–216.
Guindon, R. 1990. Knowledge exploited by experts during software system design. International Journal of Man-Machine Studies 33: 279–304.
Harrison, W. 1996. Change-prone modules, limited resources and maintenance. In Proceedings of the 1st International Workshop on Empirical Studies of Software Maintenance (WESS'96), pp. 145–150.
Hay, D. C. 1995. Data model patterns: Conventions of thought. Dorset House.
Helm, R. 1995. Patterns in practice, In Proceedings of the Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA'95), pp. 337–341.
Hirschheim, R., Klein, H. K., and Lyytinen, K. 1995. Information Systems Development and Data Modeling: Conceptual and Philosophical Foundations. Cambridge University Press.
IEEE. 1994. IEEE Standard 610.12-1990: IEEE Standard glossary of software engineering terminology. IEEE standards collection: Software Engineering.
Jeffries, R., Turner, A. A., Polson, P. G., and Atwood, M. E. 1981. The processes involved in designing software. In J. R. Andersen (ed.), Cognitive Skills and Their Acquisition. Erlbaum, pp. 255–283.
Johnson, P. E., Zualkernan, I., and Garber, S. 1987. Specification of expertise. International Journal of Man-Machine Studies 26: 161–181.
Kao, D., and Archer, N. P. 1997. Abstraction in conceptual model design. International Journal of Man-Machine Studies 46: 125–150.
Kemerer, C. F. 1995. Software complexity and software maintenance: A survey of empirical research, In O. Balci, (ed.), Annals of Software Engineering. Baltzer Science Publisher, pp. 1–22.
Kesh, S. 1995. Evaluating the quality of entity relationship models. Information and Software Technology 37(12): 681–689.
Larsen, T. J., and Naumann, J. D. 1992. An experimental comparison of abstract and concrete representations in systems analysis. Information and Management 22: 29–40.
Levitin, A., and Redman, T. 1995. Quality dimensions of a conceptual view. Information Processing and Management 31(1): 81–88.
Lientz, P. B., Swanson, E. B. 1980. Software Maintenance Management. Addison-Wesley.
Liu, L. 1995. Adaptive schema design and evaluation in an object-oriented information system. In Proceedings of the International Conference on Entity-Relationship approach (ER'95), pp. 21–31.
Lubars, M., Meredith, G., Potts, C., Richter, C. 1992. Object oriented analysis for evolving systems. In Proceedings of the International Conference on Software Engineering (ICSE'92), pp. 173–185.
Marche, S. 1991. Models of Information: The Feasibility of Measuring the Stability of Data Models. PhD Dissertation, London School of Economics and Political Science, 184 p.
Marche, S. 1993. Measuring the stability of data models. European Journal of Information Systems 2(1): 37–47.
Mili, H., Mili, F., and Mili, A. 1995. Reusing software: issues and research directions. IEEE Transactions on Software Engineering 21(6): 528–561.
Moody, D. L., Shanks, G. 1994. What makes a good data model? Evaluating the quality of entity relationship models. In Proceedings of the 13th International Entity Relationship Conference (ER'94), pp. 94–111.
Parnas, D. L. 1979. Designing software for ease of extension and contraction. IEEE Transactions on Software Engineering 5(2): 128–138.
Parsons, J., and Wand, Y. 1997. Choosing classes in conceptual modeling. Communications of the ACM 40(6): 63–69.
Prechelt, L., Unger, B., Tichy, W. F., Brossler, P., and Votta, L. G. 2001. A controlled experiment in maintenance comparing design patterns to simpler solutions. IEEE Transactions on Software Engineering 27(12): 1134–1144.
Prieto-Diaz, R. 1990. Domain Analysis: an introduction. ACM SIGSOFT Software Engineering Notes 15(2): 47–54.
Rettig, M. 1993. Extended Objects. Communications of the ACM 36(8): 19–24.
Rolland, C., and Cauvet, C. 1992. Trends and perspectives in conceptual modelling, In Loucopoulos, P. and Zicari, R. (eds.), Conceptual Modelling, Databases and CASE: An Integrated View of Information Systems Development. Wiley.
Roman, G.-C. 1985. A taxonomy of current issues in requirements engineering. IEEE Computer 18(4): 14–22.
Rosson, M. B., and Alpert, S. R. 1990. The cognitive consequences of object-oriented design. Human-Computer Interaction 5(4): 345–379.
Rowe, D., Leaney, J., Lowe, D. 1998. Defining systems evolvability-a taxonomy of change. In Proceedings of the 11th International Conference on the Engineering of Computer Based Systems (ECBS'98).
Schmid, H. A. 1997. Systematic framework design by generalization. Communications of the ACM 40(10): 48–51.
Shanks, G. 1997. Conceptual data modelling: an empirical study of expert and novice data modellers. Australian Journal of Information Systems 4(2): 63–73.
Shaw, M., and Garlan, D. 1996. Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall.
Simsion, G. C. 1994. Data Modeling Essentials: Analysis, Design and Innovation. International Thompson Publishing.
Storey, V. C., Thompson, C. B., and Ram, S. 1995. Understanding database design expertise, Data and Knowledge Engineering 16: 97–124.
Takang, A. A., and Grubb, P. A. 1996. Software Maintenance: Concepts and Practice. International Thomson Computer Press.
Tracz, W. 1995. DSSA (Domain-Specific Software Architecture) Pedagogical Example. ACM SIGSOFT Software Engineering Notes 20(3): 49–62.
Van Der Sanden, W., Campschroer, J. and Dejel, F. 1997. Flexibele systemen met generieke software. Informatie 39(1): January, pp. 40–47.
Veldwijk, R. J., Boogaard, M., and Spoor, E. R. K. 1994. Assessing the software crisis: why information systems are beyond control. Information Sciences 81(1–2): 103–116.
Vessey, I., and Conger, S. A. 1993. Learning to specify information requirements: the relationship between application and methodology. Journal of Management Information Systems 10(2): 177–201.
Wand, Y., and Weber, R. 2002. Information systems and conceptual modeling–a research agenda. Information Systems Research 13(4): 363–376.
Wand, Y., Monarchi, D. E., Parsons, J., and Woo, C. C. 1995. Theoretical foundations for conceptual modelling in information systems development. Decision Support Systems 15: 285–304.
Yeh, R. T. 1990. An alternative paradigm for software evolution. In P. A. Ng, R. T. Yeh, (eds.), Modern Software Engineering. Van Nostrand Reinhold, pp. 7–22.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Verelst, J. The Influence of the Level of Abstraction on the Evolvability of Conceptual Models of Information Systems. Empir Software Eng 10, 467–494 (2005). https://doi.org/10.1007/s10664-005-3863-0
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10664-005-3863-0