Module details for Software Design


This module complements the programming modules that students take at Level 7 by introducing – in a practical rather than theoretical way – some of the fundamental ideas of software engineering, enabling students to develop and communicate designs for small and large scale software systems.


The aim of this Module is to Introduce the ideas, tools and languages of software design.

Learning Outcomes

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

1.  Communicate the ideas and languages of software design in a professional manner.

2.  Confidently break down design problems using problem-solving techniques.

3.  Develop, understand and communicate designs for software projects using object-oriented design techniques.

4.  Develop, understand and communicate designs for databases using relational database design techniques.

5.  Select appropriate modelling techniques for an application.

Indicative Content

1 Problem-solving

Capturing requirements, general problem-solving techniques, testing, the idea of a non-programming language

2 Classes and Objects:

Develop software using class definitions, methods, data, constructors and instantiation. Create basic class inheritance structures within a software solution using two classes.

3 Security

Encapsulating objects using public and private access modifiers. Constructors.

4 OO Analysis Design and Implementation:

Identify objects in a system and structure data and information in class definitions. Mapping object oriented design principles to programming constructs.

5 Abstraction:

Understand how to work with complexity by using code abstraction, code blocks and control flows

6 Class modelling:

Introduction to UML class diagrams

7 Data design – an OO approach

Modelling using object-oriented techniques, drawing informal and formal diagrams to describe information and behaviour (including UML), design patterns

8 Data design – a relational approach

Modelling using relational techniques, theoretical and practical design concerns, constructing and querying a database using basic SQL; Modelling using relational techniques, theoretical and practical design concerns, constructing and querying a database using basic SQL

Teaching and Learning Work Loads

Teaching and Learning Method Hours
Lecture 12
Tutorial/Seminar 0
Practical Activity 40
Assessment 80
Independent 68
Total 200

Guidance notes

SCQF Level - The Scottish Credit and Qualifications Framework provides an indication of the complexity of award qualifications and associated learning and operates on an ascending numeric scale from Levels 1-12 with SCQF Level 10 equating to a Scottish undergraduate Honours degree.

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 2021/22 , and may be subject to change for future years.