Requirements:
You are required to produce a Java software application that meets the universities requirement specification in Appendix 1 of this assignment. This application should follow the Model-View-Controller (MVC) pattern. In addition your data model design must use at least two other software design patterns from this list:
• Strategy Pattern
• State Pattern
• Observer Pattern
• Command Pattern
• Decorator Pattern
• Factory Pattern
• Singleton Pattern
You are required to use test driven development (TDD) to create your solution to the scenario. Your solution should be implemented in the Java programing language using the NetBeans IDE.
The implementation should contain two NetBeans projects as follows:
1. A Java Class Library containing the implementation of your data model as per your UML Class diagram. This project should also include the set of JUnit tests used to create your data model. The data model should have a full set of documentation generated for it using the Javadoc tool. It is not sufficient to simply mark-up your classes you MUST GENERATE the Javadoc web site. A 5% marking penalty will be applied if this is not done.
2. A Java NetBeans project which provides a graphical user interface (GUI). This project MUST make use of the classes in your Java Class Library (see 1 above). The GUI should provide the following functionality:
a. Allows the user to see and change the current operating mode for every room and building on the university campus.
b. Allows the user to view an alphabetical list of campus users.
c. Allows the user to add / remove people from the list of campus users
d. Allows the user to add / remove roles from people on the list of campus users
e. Allows the user to "simulate" a person on the list of campus users "swiping into a room on campus". This should generate the appropriate log entry.
f. Allows the user to view the current log file.
g. Allows the user to save / load the campus data model and log file.
In addition to the software you are also required to write a short reflection on the design and implementation of your solution. There is no minimum word count for this section. You are not expected to write more than 1000 words. The reflection should cover the following:
• How your design meets good design criteria?
• How your design has evolved during implementation?
Attachment:- class diagram.rar