This project concerns the learning outcomes develop an object-oriented program by applying established guidelines for object-oriented architecture, design and programming and discuss the quality of a program referring to established guidelines for object-oriented architecture, design and programming.