Abstract
Software systems are not immutable through time, especially in modern development methods such as agile ones. Therefore, a software system is constantly evolving. Besides coding, the database schema design also plays a major role. Changes in requirements will probably affect the database schema, which will have to be modified to accommodate them. In a software system, changes to the database schema are costly, due to application’s perspective, where data semantics needs to be maintained. This paper presents a process to conduct database schema evolution by extending the database modularization to work in an evolutionary manner. The evolutionary database modularization process is executed during conceptual design, improving the abstraction capacity of generated data schema and results in loosely coupled database elements, organized in database modules. Finally, we present the process execution in an agile project.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Ambler, S., Sadalage, P.J.: Refactoring Databases: Evolutionary Database Design. Addison Wesley, Upper Saddle River (2006)
Batini, C., Ceri, S., Navathe, S.B.: Conceptual Database Design: An Entity-Relationship Approach. Addison Wesley, California (1991)
Sommerville, I.: Software Engineering. Addison-Wesley, Harlow (2007)
Beck, K., et al.: Manifesto for Agile Software Development (2001). http://agilemanifesto.org. Accessed 2 Mar 2015
Wells, D.: Extreme Programming: A Gentle Introduction (1999). http://www.extremeprogramming.org. Accessed 2 Mar 2015
Beck, K., Andres, C.: Extreme Programming Explained: Embrace Change, 2nd edn. Addison-Wesley, Boston (2004)
Ferreira, J.E., Busichia; G.: Database modularization design for the construction of flexible information systems. In: Proceedings of the 1999 International Symposium on Database Engineering & Applications (IDEAS 1999), pp. 415–422. IEEE Computer Society, Montreal (1999)
Guedes, G.B., Busichia, G., Moraes, R.L.O.: Database modularization applied to system evolution. In: Sixth Latin American Symposium on Dependable Computing (LADC 2013), Rio de Janeiro, Brazil, pp. 81–82 (2013)
Navathe, S.B., Fry, J.P.: Restructuring for large databases: three levels of abstraction. ACM Trans. Database Syst. 1, 138–158 (1976)
Sockut, G.H., Goldberg, R.P.: Database reorganization-principles and practice. ACM Comput. Surv. 11(4), 371–395 (1979)
Codd, E.F.: A relational model of data for large shared data banks. Commun. ACM 13(6), 377–387 (1970)
Ambler, S.: Agile Database Techniques: Effective Strategies for the Agile Software Developer. Wiley, New York (2003)
Cleve, A., Hainaut, J.-L.: Co-transformations in database applications evolution. In: Lämmel, R., Saraiva, J., Visser, J. (eds.) GTTSE 2005. LNCS, vol. 4143, pp. 409–421. Springer, Heidelberg (2006)
Cleve, A., Brogneaux, A.-F., Hainaut, J.-L.: A conceptual approach to database applications evolution. In: Parsons, J., Saeki, M., Shoval, P., Woo, C., Wand, Y. (eds.) ER 2010. LNCS, vol. 6412, pp. 132–145. Springer, Heidelberg (2010)
Papastefanatos, G., Anagnostou, F., Vassiliou, Y., Vassiliadis, P.: Hecataeus: a what-if analysis tool for database schema evolution. In: Proceedings of the 2008 12th European Conference on Software Maintenance and Reengineering (CSMR 2008), pp. 326–328. IEEE Computer Society, Washington (2008)
Curino, C.A., Moon, H.J., Ham, M., Zaniolo, C.: The PRISM workwench: database schema evolution without tears. In: Proceedings of the 2009 IEEE International Conference on Data Engineering (ICDE 2009), pp. 1523–1526. IEEE Computer Society, Washington (2009)
Busichia, G., Ferreira, J.E.: Sharing of heterogeneous database modules by integration objects. In: Eder, J., Rozman, I., Welzer, T. (eds.) Proceedings of the Third East European Conference on Advances in Databases and Information Systems (ADBIS 1999), pp. 1–8. Institute of Informatics, Faculty of Electrical Engineering and Computer Science, Smetanova 17, IS-2000 Maribor, Slovenia (1999)
Busichia, G., Ferreira, J.E.: Compartilhamento de Módulos de Bases de Dados Heterogêneas através de Objetos Integradores. In: Simpósio Brasileiro de Banco de Dados (SBBD), pp. 395–409. SBC, Florianpolis (1999)
Ambler, S.: Agile/Evolutionary Data Modeling: From Domain Modeling to Physical Modeling (2004). http://www.agiledata.org/essays/agileDataModeling.html. Accessed 2 Mar 2015
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Guedes, G.B., Baioco, G.B., de Oliveira Moraes, R.L. (2016). Evolutionary Database Design: Enhancing Data Abstraction Through Database Modularization to Achieve Graceful Schema Evolution. In: Hartmann, S., Ma, H. (eds) Database and Expert Systems Applications. DEXA 2016. Lecture Notes in Computer Science(), vol 9827. Springer, Cham. https://doi.org/10.1007/978-3-319-44403-1_22
Download citation
DOI: https://doi.org/10.1007/978-3-319-44403-1_22
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-44402-4
Online ISBN: 978-3-319-44403-1
eBook Packages: Computer ScienceComputer Science (R0)