E-JUST University - Computer Science and Information Technology Programs – General Division Module: Software Engineering (CSC211) SE-COURSE PROJECT (PHASES 1 & 2 COVER SHEET) Discussions Scheduled for Week 14 (Monday | Tuesday) o Print 1 copies of this cover sheet and attach both to a printed copy of the documentation (SRS, … etc.). You must submit a CD including softcopies of all your documents and Project implementation. o Please write all your names in English. o Please make sure that your students’ IDs are correct. o Handwritten Signatures for the attendance of all team members should be filled in the cover sheet copy before the discussion. o Please attend the discussion on time (announced separately), late teams will lose 3 grades. Project Name: 5 Seasons Project Leader Name: Ayman Hamdy Metwaly Team Information (typed not handwritten, except for the attendance signature): 1 ID Full Name Attendance [Ordered by ID] [In English] [Handwritten Signature] 320220056 Final Grade Ayman Hamdy Metwaly 2 320220057 Hamed Ahmed Daoud 3 320220041 Youssef Walid Arafa 4 5 6 Grading Criteria: Actual Grade Items Functional Requirements 1 Non-Functional Requirements 1 Use-Case Diagram(s) including general use-cases for the system, 1 and the detailed use-cases description Page 1 of 19 Notes E-JUST University - Computer Science and Information Technology Programs – General Division Module: Software Engineering (CSC211) Activity Diagram(s) 1 Database Specification (ERD, Tables) 1 System Architecture – including applied Architectural Pattern(s) 1 Sequence Diagram(s) 3 System Sequence Diagrams (SSDs) 2 Collaboration/Communication Diagram(s) 3 Class Diagram (2 versions) 1) An initial version based on the requirements and Use4 Case/Activity diagrams. 2) An intermediate version based on the interaction diagrams. Object Diagrams (Including object diagrams that illustrate the 2 preconditions and the post-conditions of selected functions) Package Diagram(s) 2 Self-Study Component 1: State-Machine Diagrams (for selected 0.5 state-dependent objects) Self-Study Component 2: Deployment diagram(s) 0.5 Front End Design for all Functions Desk-Top or (HTML, 2 Bootstrap). Implementation based on the submitted Requirements & Design. Should include at least 4 of the following modules (in addition of course to modules specific to your individual projects): 1) User Role Management Module. 2) User manipulation Module (Login, Add / Delete / Update / 6 Search, List). 3) Controlling Resources Module (Rooms, Orders, Products, ... etc.). 4) Reservation and Rescheduling Module. 5) Generating Reports Module (PDFs, … etc.). 6) Sending Emails or Notifications Module. Presentation Skills 1 per module 2 Teaching-Assistant’s Signature: ____________________ 33 Page 2 of 19 E-JUST University - Computer Science and Information Technology Programs – General Division Module: Software Engineering (CSC211) 1-Functional Requirements: 1. Signup and Login: The system provides sign up and info validation to ensure uniqueness. the user can log in to view his data and information 2. Room Booking: Showing all available rooms. Check availability of rooms at certain dates. showing the reservation history for the user. Guest must be able to select a room and enter guest information. System must display reservation details to the guest. The system provides a payment page 3. Guest Check-In/Check-Out: Guest must be able to check in by providing reservation ID. Staff must be able to verify guest information and assign a room. System must update room availability and guest status upon check-in. //Guest must be able to check out by providing room number. 4. Inventory Management: System must track room availability based on reservations. the system keeps track of the number of users and the number of reservations. 5. Payment Processing: Accepting credit card payment Generating bill upon check out 6. Billing: System must automatically generate bills for guests upon check-out. 7. Reporting: System must generate reports on number of reservations, number of users, revenue and average rating. Staff must be able to export reports in PDF Page 3 of 19 E-JUST University - Computer Science and Information Technology Programs – General Division Module: Software Engineering (CSC211) 2. Non-functional Requirements: 1. Performance: System must respond to user requests within 2 seconds. System must be able to handle a high volume of concurrent users. 2. Security: System must use secure encryption to protect guest data. 3. Usability: User interface must be easy to use and navigate. 4. Reliability: System must be available for 99.9% of the time. System must recover quickly from failures. 5. Maintainability: System must be well-documented and easy to maintain. System must be flexible to accommodate future changes and upgrades. Page 4 of 19 E-JUST University - Computer Science and Information Technology Programs – General Division Module: Software Engineering (CSC211) 3. Use case diagram: Use Case: User Registration (Signup) Actors: User Description: 1. Preconditions: o The user navigates to the signup page. o The system is operational and accessible. 2. Main Flow: o User provides necessary information (e.g., name, email, password). o System validates the provided data for uniqueness and correctness. o Upon successful validation, the system creates a new user account. o Confirmation message or email is sent to the user for account verification. 3. Post-conditions: o User account is created and stored in the system database. o User can proceed to log in with the registered credentials. Page 5 of 19 E-JUST University - Computer Science and Information Technology Programs – General Division Module: Software Engineering (CSC211) 4. Alternate Flow: o If the provided information is invalid or incomplete, the system prompts the user to correct the errors. o If the system encounters technical issues, it displays an error message and suggests retrying later. Use Case: User Login Actors: User Description: 1. Preconditions: o User accesses the login page. o A registered user account exists in the system. 2. Main Flow: o User inputs their registered email/username and password. o The system authenticates the provided credentials against stored data. o Upon successful authentication, the system grants access to the user account. 3. Post-conditions: o User gains access to their account dashboard with personalized information and options. 4. Alternate Flow: o If the credentials entered are incorrect, the system prompts the user to re-enter the information. o In case of technical issues, the system displays an error message and suggests retrying later. Use Case: Room Booking Actors: User Description: 1. Preconditions: o User is logged into their account. o The system displays the room booking interface. 2. Main Flow: o User browses available rooms, filtered by dates and preferences. o User selects a room and inputs guest details (number of guests, additional requests, etc.). o System checks room availability for the selected dates and guest count. o Upon availability confirmation, the system reserves the room for the specified period. 3. Post-conditions: o Room is booked and marked as reserved in the system database. o Reservation details, including costs, are displayed to the user. o The system redirects the user to a payment page for confirmation and payment processing. 4. Alternate Flow: o If the selected room is unavailable or there's an issue during booking, the system informs the user and suggests alternative options. o Technical errors prompt the system to display an error message and recommend retrying later. Use Case: Guest Check-In Page 6 of 19 E-JUST University - Computer Science and Information Technology Programs – General Division Module: Software Engineering (CSC211) Actors: Receptionist, Guest Description: 1. Preconditions: o Guest arrives at the hotel and approaches the reception. o The receptionist has access to the system and is logged in. 2. Main Flow: o Guest provides the reservation ID or relevant details for identification. o Receptionist verifies the guest's reservation and assigns an available room. o The system updates room availability and marks the guest as checked-in. 3. Post-conditions: o Guest receives room keys/access cards and settles additional services if required. o Room status changes to occupied in the system's inventory. 4. Alternate Flow: o If the guest's reservation details are incorrect or unavailable, the receptionist assists in resolving the issue. o Technical issues prompt the system to display an error message and suggest retrying later. Page 7 of 19 E-JUST University - Computer Science and Information Technology Programs – General Division Module: Software Engineering (CSC211) 4. Activity diagram: Page 8 of 19 E-JUST University - Computer Science and Information Technology Programs – General Division Module: Software Engineering (CSC211) Page 9 of 19 E-JUST University - Computer Science and Information Technology Programs – General Division Module: Software Engineering (CSC211) 5. Database specification: Page 10 of 19 E-JUST University - Computer Science and Information Technology Programs – General Division Module: Software Engineering (CSC211) 6. System Architecture: 1. User Management Module: o Responsible for user registration, authentication, and account management. o Handles user data validation and storage in the user database. o Includes functionalities for signup, login, and user profile management. 2. Booking Management Module: o Manages room booking functionalities and reservation processes. o Interacts with the room inventory to check room availability. o Handles the creation, modification, and cancellation of reservations. 3. Room Inventory Module: o Keeps track of available rooms, their types, and status (occupied, available). o Updates room availability based on reservations and check-in/check-out statuses. o Provides information to the booking module regarding available rooms. 4. Check-In/Check-Out Module: o Handles guest check-in and check-out processes. o Interacts with the room inventory to assign rooms upon check-in and update room statuses upon check-out. 5. Payment Processing Module: o Manages payment transactions and billing functionalities. o Integrates with external payment gateways for credit card processing. o Generates bills and handles financial transactions upon check-out. 6. Reporting Module: o Collects data from various modules for generating reports. o Processes information on reservations, users, revenue, and ratings. o Provides functionalities for staff to generate and export reports in PDF format. Page 11 of 19 E-JUST University - Computer Science and Information Technology Programs – General Division Module: Software Engineering (CSC211) 7. Sequence diagram: Page 12 of 19 E-JUST University - Computer Science and Information Technology Programs – General Division Module: Software Engineering (CSC211) 8. SSD: Page 13 of 19 E-JUST University - Computer Science and Information Technology Programs – General Division Module: Software Engineering (CSC211) 9. Communication diagram: Page 14 of 19 E-JUST University - Computer Science and Information Technology Programs – General Division Module: Software Engineering (CSC211) 10. class diagram: Initial version: Intermediate version: Page 15 of 19 E-JUST University - Computer Science and Information Technology Programs – General Division Module: Software Engineering (CSC211) 11. Object diagram: Page 16 of 19 E-JUST University - Computer Science and Information Technology Programs – General Division Module: Software Engineering (CSC211) 12. Package Diagram: Page 17 of 19 E-JUST University - Computer Science and Information Technology Programs – General Division Module: Software Engineering (CSC211) 13. State machine diagram: Page 18 of 19 E-JUST University - Computer Science and Information Technology Programs – General Division Module: Software Engineering (CSC211) 14. Deployment Diagram: Page 19 of 19