Hide menu

Model Based Database Application Development

Lectures:

16 h

Recommended for

All ECSEL students. Final year C and D undergraduate students.

The course was last given:

New course

Goals

Provide a theory, a method and practical skills to develop large domain specific database applications and maintain them over long time, using small manpower resources. Provide an understanding of the long-term maintenance problems and challenges. Develop skills in analysing a software architecture, extract the design patterns and implement model driven source code generators for automatic model based software implementation. Develop skills in writing declarative SQL-based source code generators. Exercise different roles of model based database application development within a project team which implements a practically useful database application. During the course, students are encouraged to test their new skills and tools on modeling and implementing a database application supporting one of their own research areas.

Prerequisites

ECSEL Graduate Course: Fundamentals of Modern Database Systems, or Undergraduate database course TDDB38. Related Courses Object-Oriented Development of Usable Systems, basic course.

Organization

16 h lectures, 10 h labs. Team based programming project of 1-2 full time weeks per student.
2 h project presentation seminars and 4 h experience sharing seminars held by the teams.

Examination

Written examination (1p). Teamwise mandatory deliverables from programming projects and participation in team lead seminars (4p).

Contents

Introduction and motivation, including the challenge to develop and maintain database software support for complex enterprise- and research area specific know-how for which commercial software is not available. Outline of model based development and long term maintenance of domain specific software. Mapping of Entity-Relationship models to UML. Object-oriented domain modeling. Practical skills in an UML-compatible CASE-tool. Overview of the client-server & 3-tier software architectures. Hands-on experience with one benchmark database application implementation for each of the of the two architectures. Design patterns for basic functionalities within a client-server and a 3-tier architecture. Design pattern extraction from benchmark database applications. One, two and 3 step SQL-based source code generators. Laborations for acquaintance and preparations for the project. Source code generator maintenance. Baselines and configurations. Considerations for production database system upgrades. How do we use this knowledge to leverage our own research! Project presentations by teams. Experience sharing on seminars leads by the project teams.

Projects

Projects are chosen by teams of 3-6 students. Within each team, students can focus on one or several roles of their particular interest. For instance; 1) manage project, 2) develop an object-oriented information model for a particular domain, 3) research architectures/platforms-, 4) implement-, 5) validate-, 6) performance test-, source code generator baselines for one the following :

UML -> Database implementation in SQL99.

UML -> Enterprise Java Beans business logic for the application server layer in a 3-tier architecture.

UML -> Basic form based JavaBeans GUI s.

The projects are validated and confirmed with tests on a benchmark UML-model in a realistic database production environment. Designs, interesting implementation decisions, benchmarking results and experiences are presented by the participants at seminars. A rich set of sample source code generators and supporting software modules are available for study and reuse in the team projects. Teams are encouraged to cooperate to create a larger whole.

Literature

Collection of papers and a compendium. Sample software for study.

Teachers

Olof Johansson (ojo@ida.liu.se) and invited speakers.

Examiner

Olof Johansson

Schedule

Spring 2001.

Examination

Written examination (1p). Team wise mandatory deliverables from programming projects and participation in team lead seminars (4p).

Credit

5 credits.


Page responsible: Director of Graduate Studies