Introduction 3 System Functionality 3 Object Oriented Approach 3 Objects and Classes 4 Packaging 5 Inheritance 5 Class Inheritance 5 Interface Inheritance (Multiple Inheritances) 6 Encapsulation 6 Polymorphism 7 Design Patterns Implemented 8 The Strategy Pattern 8 Strategy for Success Pattern 11 UML Modeling 12 Use Case Diagram (Admin) 13 Specifications 14 Use Case Diagram (Staff and Admin) 16 Specifications 17 Class Diagram 19 Activity Diagram 20 Future Enhancements 21 Conclusion 21 References 22
Introduction
Java programming language has developed and become increasingly popular in the past few years due to its rich compatibility which allows it to operate on various types of machines and the object oriented approach implemented by the language. The concentration of the following project is based on the use of object oriented programming techniques combined with the implementation of design patterns in order to develop robust applications using the java platform. Secondly the project also focuses on unified modeling language design (UML) elements which form the core of java systems development, the report contains actual UML designs that have been utilized for the development of the following project. These include use case diagrams, class diagrams, activity diagrams and sequence diagrams.
System Functionality
The functionalities of the system included in this project are as followed: * Allow admin to add/delete user (Staff) * Allow admin to add room type * Allow admin to view financial report * Allow admin/staff to add customer * Allow admin/staff to add rooms * Allow admin/staff to make reservations (Check in) * Allow admin/staff to check out and collect payment
Object Oriented Approach
Object oriented programming paradigm gives the freedom to developers to take advantage of variety of tools in order to develop more user friendly and reliable applications.
References: Charles Barton, 2000 “Mapping UML Designs to Java” [Online] Available from: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.94.9170&rep=rep1&type=pdf [Accessed at 12 Jan 2013] David Geary, 2001 “The Strategy Pattern” [Online] Available from: http://www.javaworld.com/javaworld/jw-10-2001/jw-1012-designpatterns.html?page=3 [Accessed at 15 Jan 2013] David Geary, 2002 “Strategy For Success” [Online] Available from: http://www.javaworld.com/javaworld/jw-04-2002/jw-0426- designpatterns.html?page=2 [Accessed at 25 Jan 2013] Greg Lavender, 2003 “Inheritance in Java” [Online] Available from: http://www.cs.utexas.edu/~lavender/courses/tutorial/java-06.pdf [Accessed at 28 Jan 2012] Jedi, 2001 “Polymorphism” [Online] Available from: http://www.javacup.co.in/java/javapolymorphism.pdf [Accessed at 8 Feb 2013] jGuru, 2003 “Object Oriented Programming Basics With Java” [Online] Available from: http://www.cs.usfca.edu/~parrt/doc/java/OOProgWithJava-notes.pdf [Accessed at 9 Feb 2013]