Module Overview

Software Development 2

The Aim of this subject is to give the student the necessary skills and knowledge to allowthe student to design, implement and test programs written in a high level object orientedlanguage, such as the C++ language. It aims to build on the outcomes of EngineeringSoftware 1, using more advanced techniques .

Module Code

ENSW H4002

ECTS Credits

5

*Curricular information is subject to change

Object Oriented Concepts:

Objects. Classes. Methods. Instances. Abstraction. Inheritance. Polymorphism

Link Lists using classes:

Intro to data structures using classes

Overloading and Composition:

Polymorphism by parameter: Function Overloading and Operator Overloading.Friend Functions/Classes. Composition, Association and Aggregations.

Inheritance and Polymorphism:

Inheritance and classification hierarchies. Protected class members. Overridingand dominating inherited member Functions/Data. Method polymorphism.Virtual functions. Run-time polymorphism and dynamic binding. VirtualDestructors and Abstract base classes.

Fundamentals of Object Oriented Design:

A case study using the UML: Derive initial problem statement, Determine UseCases, Identify Candidate Objects, Identify Associations, Generate ClassDiagram and Data Dictionary, Model the Use Case Scenarios.

Module Content & Assessment
Assessment Breakdown %
Other Assessment(s)50
Formal Examination50