ITx Rutherford 2019 Programme

Jump to: Wednesday 9th | Thursday 10th | Friday 11th

Using a mobile device?
Visit programme on mobile site

The ITx Rutherford 2019 Programme may change without notice

A Good Case Study to Teach all OOP Principles in a Single Solution and Expansion to solve Problems

Wednesday 11:40am - 12:10pm, CITRENZ (Catalyst Room 5)

Object-oriented programming (OOP) is a paradigm of software programming that focuses on the creation of classes/objects and the interaction between them.

Teaching OOP is considered challenging mostly because it requires a new way of thinking about problem analysis, solution design and coding style. It can be easy for novice students to learn theoretical object-oriented concepts but most of them find it difficult when it comes to solving real-world problems.

Students struggle to apply all those four object-oriented principles together in a single solution. This paper presents a good case study – development of a library management system in Java, which can be used in practical session, to help students not only gain a better understanding of OOP principles but also apply effectively them all to create a complete application.

This paper also shows the best practices to figure out candidate classes and their relationship to draw a tightly encapsulated, loosely coupled and highly cohesive class diagram as a guideline for coding phase. The paper concludes in demonstrating how to customize this solution to solve three other different problems that have the similar solution pattern: development of online bookstore software, creation of an online rental car system, and implementation an online hotel room booking application.


Daniel Dang


PhD. Daniel Dang, ICT lecturer at school of computing at EIT. He is currently teaching all papers related to software design and development, web app development and database management systems.

His research interests are Energy Efficiency in the digital world, Emerging technologies in Mobile App & Web App.