This assignment introduces a realistic scenario that you should analyse first and then design and evaluate a solution using an object oriented analysis and design approach. You should use Unified Modelling Language (UML) for specifying, visualizing, constructing, and documenting the proposed systems. Your assignment consists of two pieces of coursework. Both pieces are to be done individually.
Coursework 1 relates to the analysis and design of a system (worth 60% of the total marks of the assignment). This part of the assessment will assess learning outcomes 1, 2 & 3.
Coursework 2 is an evaluation report consisting of a critical commentary on coursework 1 (worth 40% of the total marks of the assignment). This part will assess learning outcome 4.
Harlow college has 300 rooms available for teaching staff and students to run different events. The college director has decided to create a digital room reservation system instead of the available manual one.
1. Managing user accounts for both, teaching staff and students, who are allowed to make room reservations? The system will maintain relevant information about the users such as user name, email, address and mobile phone number.
2. It should be possible to view, change and create new user accounts by admins only. All other users can view their account details and should be able to change their contact details only. However, in order to perform any of these activities, all users should login to the system first.
3. Managing rooms by their level, room number and capacity. The campus building has five levels and each level has more than one room. The standard cost for all rooms between levels 1 and 3 is £35 per day, whereas rooms on levels 4 and 5 cost £50.
4. Every user of the system should be able to view the room details, but only an administrator can change, delete and create new rooms and make them available for reservation.
5. Managing a room reservation should include a particular user, room, booking date, start and end time. Also, users, should be able to cancel a room reservation. However, whenever a booking/cancellation takes place, a notification system should send a confirmation message to the specific user.
6. All users will be charged 20% as soon they book a room. If full payment is not received within 24 hours of the reservation time/date, then an automatic cancellation of the room reservation will occur, and a 10% penalty fee will be deducted. A notification by email will also be sent automatically to the user.
You are required to analyse the requirements of the new system and design the main components (e.g. overall system use case, class diagrams, interaction, sequence and collaboration diagrams) for a reservation system. You should demonstrate a broad understanding of Object Oriented design principles and UML techniques, and apply them to the design of the following components:
a. Show one use case diagram with all primary use cases for the Harlow Room Reservation System, which should show all actors involved and contain all primary use cases such as create room, register student, update details etc.
b. Detailed use case description for two primary use cases stated in your overall case diagram, such as reserve room or cancel reservation.
c. Brief description for 10 primary use cases.
a. Show conceptual classes (e.g. user class), associations (e.g. composition), main functions (e.g. register), and significant attributes e.g. in user class you would have a username and email.
b. Show generalisation, specialisation, multiplicities, and associations including composition and aggregation if applicable.
c. Provide a brief description of all conceptual classes.
a. Sequence a diagram for specific activity, such as how to reserve a room.
b. Collaboration diagram for specific activities, such as how to cancel a reservation.
c. Activity diagram for a primary use case such as confirm reservation.
d. Briefly describe the proposed designs and justify your decisions.