Friday, 6 October 2017

Wednesday, 4 October 2017

UML Class Diagrams in a Nutshell

...A really small nutshell.

This webpage contains a nice, short and sweet explanation and side-be-side comparison between a class diagram and its corresponding Java code. Priceless.


Sunday, 10 September 2017

Get back the command prompt in Windows 10

If you've updated your Windows 10 system to the Creators Update (or newer), you may have noticed that the contextual menu (shift+right click) inside a folder has changed.

PowerShell has replaced the command prompt by default, which was an issue for me as I (still) rely heavily on the old command line interface.
The instructions I followed to fix this issue can be found at

Hope you find this as useful as I did.

Tuesday, 6 June 2017

Class Relationships

Please read these two resources to have a better understanding of class relationships
For more resources on the principles of OOP and UML diagrams, click here.

OOP Principles and UML

These are my favourite explanations (so far) regarding the principles of OOP: Abstraction, Encapsulation, Inheritance and Polymorphism. They are most important to understand and remember, so study and practice them well. The links have page names (at the end of the link) that are self-explanatory.
UML provides so many tools, that it can be overwhelming. So it is always useful to narrow it down and focus on what is useful for a specific task. The following resources are on UML class diagrams. You are also recommended to look into use-case diagrams, which are great for conceptual designs.
In terms of class relationships, you should know (according to the IBO syllabus content)
  • dependency (“uses”)
  • aggregation (“has a”) and
  • inheritance (“is a”).
You may find the following links useful to revise these concepts. Just focus on what IBO requires among all the detailed information provided.


A couple of good resources on testing, including alpha, beta, white and black box testing: