Application Design


This module develops students’ understanding and experience in the design and implementation of object-oriented software and relational databases. In both of these contexts, students will review existing designs, develop their own designs to meet stated requirements, critically evaluate these designs and create example implementations from these designs.


The aim of this module is to provide the student with the ability to review, develop, critically evaluate and implement designs in the contexts of object-oriented software and relational databases.

Learning Outcomes

By the end of this module the student should be able to:

1.  create entity relationship models reflecting the requirements of application domains;

2.  develop and implement OO designs incorporating relevant inheritance, composition and interface relationships that reflect application requirements;

3.  develop database designs with associated SQL to meet application data requirements;

4.  compare and contrast different software development methodologies, designing and implementing an application within one specific such methodology.

Indicative Content

1 Entity relationship (ER) modelling:

identifying entities; 1-1, 1-many and many-many relationships; design notation; ER in OO software and database design.

2 Relational database design:

Using primary and foreign keys to realise 1-1 and 1-many relationships; link tables for many-many relationships; designing to meet application data requirements; normalisation.

3 SQL:

SQL as a programming language; basic relational algebra; expressing unions and joins; selecting, extracting, editing and inserting data; writing SQL to meet functional requirements.

4 OO software and SQL:

including SQL into OO software; integrating OO software and database designs; realising designs in code.

5 Development methodologies:

the role of a methodology; review different methodologies such as waterfall, RAD, agile, TDD; appraise the role of design within different methodologies.

Statement on Teaching, Learning and Assessment

The module is taught using a combination of lectures and practical sessions each week, which introduce theoretical material and put it into practice through guided lab exercises. Students demonstrate their attainment of the learning outcomes through a project which includes design and implementation of an application and a report.

Teaching and Learning Work Loads

Total 200
Lecture 12
Tutorial/Seminar 0
Supervised Practical Activity 28
Unsupervised Practical Activity 0
Assessment 80
Independent 80

Guidance notes

Credit Value – The total value of SCQF credits for the module. 20 credits are the equivalent of 10 ECTS credits. A full-time student should normally register for 60 SCQF credits per semester.


We make every effort to ensure that the information on our website is accurate but it is possible that some changes may occur prior to the academic year of entry. The modules listed in this catalogue are offered subject to availability during academic year 2019/10 , and may be subject to change for future years.