Model Based Database Application DevelopmentLectures:16 h Recommended forAll ECSEL students. Final year C and D undergraduate students. The course was last given:New course GoalsProvide 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. PrerequisitesECSEL 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. ExaminationWritten examination (1p). Teamwise mandatory deliverables from programming projects and participation in team lead seminars (4p). ContentsIntroduction 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. LiteratureCollection of papers and a compendium. Sample software for study. TeachersOlof Johansson (ojo@ida.liu.se) and invited speakers. ExaminerOlof Johansson ScheduleSpring 2001. ExaminationWritten examination (1p). Team wise mandatory deliverables from programming projects and participation in team lead seminars (4p). Credit5 credits. |
Page responsible: Anne Moe