Register now for our CAO Open Day.

Module Overview

Software Engineering

This module focuses on an engineering approach to systems’ development. The module studies systems analysis and design in the context of object oriented development. On successful completion of the course, students are expected to be able to apply object oriented analysis and design techniques. Students are also expected to appreciate and understand the different approaches to object oriented design and testing.

The aims of this module are to:

  • Give the student a sound understanding and competence in the principles and application of Object Oriented Requirements Specification, Analysis and Design using an appropriate development process.

  • Ensure the student has a good understanding of the principal models and techniques used in Object Oriented Analysis and Design.

  • Provide the student with practical experience of applying these techniques to a case study and gain competence in the use of a CASE tool in the development of the models.

  • Teach the principal testing strategies and techniques in Object Oriented Development.

Module Code

CMPU 3037

ECTS Credits

10

*Curricular information is subject to change
  • Software Development Process: Introduction to an Object Oriented iterative process: Inception, Elaboration, Construction and Transition.

  • Review of requirements gathering techniques. Object Oriented Requirements and Analysis Modelling: Use Cases, Use Case Specifications, Business Class Diagrams including inheritance, attributes, methods, messaging and associations. Activity Diagrams

  • Analysis and Design Techniques: Refining the Requirements Model, adding Attributes, Operations and their specifications to the classes. Further class modelling including Encapsulation, Abstraction, Objects Instances, Polymorphism with reference to Object Oriented OO language implementations where appropriate.

  • Object interaction and Collaboration, Messages modelled on the Sequence Diagram. State Machine Diagram.

  • Systems Design and Implementation: Adding Association, Boundary and Control Classes. Simple Subsystems. Reusable Design Patterns. Architectures, Frameworks, Components and Reuse. Three-tier and Model-View-Controller models. Introduction to relevant technologies. Packages and Deployment Diagrams.

  • Mapping persistent classes to a Relational Database Model.

  • Forward and Reverse Engineering between models and code.

  • Testing Object Oriented Systems: Testing Analysis and Design Specifications and the built system.

This module can be delivered either through standard delivery or blended delivery. 

In standard delivery this module is delivered through a series of lectures with associated practical assignments. 

In blended delivery this module is delivered through a series of live and recorded lectures with associated laboratory work and practical assignments. 

Both blended and standard delivery have the same overall number of teaching and self-directed learning hours. 

Module Content & Assessment
Assessment Breakdown %
Formal Examination60
Other Assessment(s)40