Agile Software Development of Information Systems in Support of Object Databases

Abstract

The use of agile development practices can have profound impact when used for the development of information systems. For example the frequent software release can result in the need for frequent database evolution in cases where the customer chooses to adapt most software releases. The thesis starts with a case-study on the ‘Herschel’ project of the European Space Agency on which we could identify such issues and potential lack of associated research, with a focus on object-databases. In order to investigate and solve these issues, we developed the AgileIS framework for agile iterative model-driven development of information systems. One notable aspect of the framework is its built-in adaptivity, which allows it automatically propose different database schema mappings depending on the complexity of the application data model. Another aspect is the framework’s capability of generating optimised sequences of database evolution operations, in particular considering data evolution operations. Finally, the framework includes a database profiler (for which we extended the open-source ODBMS ZooDB), which performs profiling on the level of the conceptual data model. This not only allows optimisation of the conceptual model of an application but can even be used to detect certain kinds of conceptual modelling mistakes and semantic misunderstandings of the problem domain.