Teaching Responsibility
LJMU Schools involved in Delivery:
LJMU Partner Taught
Learning Methods
Online
Practical
Module Offerings
5502SDLBHG-JAN-PAR
Aims
To investigate the underpinnings of object orientated systems.
To develop object oriented systems using the unified modelling language and object oriented program code.
To apply principles and patterns to improve the flexibility and maintainability of object oriented systems, with test driven development and source control playing a supporting role.
To investigate the various architectures that object oriented systems may embrace.
Learning Outcomes
1.
Specify object oriented designs using the unified modelling language.
2.
Develop object oriented designs using object oriented program code.
3.
Apply principles and patterns to improve the flexibility and maintainability of object oriented designs & program code.
4.
Employ test driven development and source control in software engineering.
Module Content
Outline Syllabus:OOAD & OOP
-Compositions, Aggregations & Associations
-Inheritance & Polymorphism
-Collections & Generics
-Interfaces
-Multi-Threading
Principles & Patterns
-e.g. Inversion of Control, Dependency Inversion, Factory, Strategy
-Applying SOLID
Object Relational Mapping
-Architectures
-e.g. event / data driven vs. responsibility driven
Test Driven Dev.
-Source Control
Additional Information:The module begins by exploring the object oriented paradigm from analysis and design through implementation and testing to maintenance. The UML (Unified Modelling Language) is employed alongside OOP (Object Oriented Programming) to demonstrate key concepts, resulting in mature, fully functioning object oriented systems. The module continues by applying principles and patterns to object oriented systems with test driven development and source control playing a supporting role. The module concludes by exploring the various architectures that object oriented systems may embrace. This module thusly represents the logical follow-on to 4000SDLBHG Introduction to Programming module.