Advertisement

Evolutionary Database Design: Enhancing Data Abstraction Through Database Modularization to Achieve Graceful Schema Evolution

Conference paper
  • 710 Downloads
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9827)

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.

Keywords

Evolutionary database design Schema evolution Database evolution Agile methods 

References

  1. 1.
    Ambler, S., Sadalage, P.J.: Refactoring Databases: Evolutionary Database Design. Addison Wesley, Upper Saddle River (2006)Google Scholar
  2. 2.
    Batini, C., Ceri, S., Navathe, S.B.: Conceptual Database Design: An Entity-Relationship Approach. Addison Wesley, California (1991)zbMATHGoogle Scholar
  3. 3.
    Sommerville, I.: Software Engineering. Addison-Wesley, Harlow (2007)zbMATHGoogle Scholar
  4. 4.
    Beck, K., et al.: Manifesto for Agile Software Development (2001). http://agilemanifesto.org. Accessed 2 Mar 2015
  5. 5.
    Wells, D.: Extreme Programming: A Gentle Introduction (1999). http://www.extremeprogramming.org. Accessed 2 Mar 2015
  6. 6.
    Beck, K., Andres, C.: Extreme Programming Explained: Embrace Change, 2nd edn. Addison-Wesley, Boston (2004)Google Scholar
  7. 7.
    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)Google Scholar
  8. 8.
    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)Google Scholar
  9. 9.
    Navathe, S.B., Fry, J.P.: Restructuring for large databases: three levels of abstraction. ACM Trans. Database Syst. 1, 138–158 (1976)CrossRefGoogle Scholar
  10. 10.
    Sockut, G.H., Goldberg, R.P.: Database reorganization-principles and practice. ACM Comput. Surv. 11(4), 371–395 (1979)CrossRefGoogle Scholar
  11. 11.
    Codd, E.F.: A relational model of data for large shared data banks. Commun. ACM 13(6), 377–387 (1970)CrossRefzbMATHGoogle Scholar
  12. 12.
    Ambler, S.: Agile Database Techniques: Effective Strategies for the Agile Software Developer. Wiley, New York (2003)Google Scholar
  13. 13.
    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)CrossRefGoogle Scholar
  14. 14.
    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)CrossRefGoogle Scholar
  15. 15.
    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)Google Scholar
  16. 16.
    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)Google Scholar
  17. 17.
    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)Google Scholar
  18. 18.
    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)Google Scholar
  19. 19.
    Ambler, S.: Agile/Evolutionary Data Modeling: From Domain Modeling to Physical Modeling (2004). http://www.agiledata.org/essays/agileDataModeling.html. Accessed 2 Mar 2015

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.Federal Institute of São PauloHortolândiaBrazil
  2. 2.University of CampinasLimeiraBrazil

Personalised recommendations