CIS016-1_CIS096-1 – Assessment 2 Report Template 2023-2024 (1)

CIS016-1_CIS096-1 - Assessment 2 Report Template 2023-2024 (1)

CIS016-1 – Principles of Programming

CIS096-1 – Principles of Programming and Data Structures 2022-2023

Assignment 2 – Hotel Online Customer Booking and Management System

GROUP / INDIVIDUAL REPORT

Group XXX

Student ID: XXXXX Full Name XXXXXX

Student ID: XXXXX Full Name XXXXXX

Student ID: XXXXX Full Name XXXXXX

Student ID: XXXXX Full Name XXXXXX

OR
INDIVIDUAL WORK

Student ID: XXXXX Full Name XXXXXX

Table of Contents

List of Group Members (if Group Work)…………………………………………….…………3

Introduction / Overview………………………………………………………………………… 3

Task Description………………………………………………………………………………… 3

Project Plan / Schedule….

Tasks:

Requirements Analysis

Overview of Functional, Technical (Non-Functional) and Usability Requirements

Design:

  • UML Diagrams
  • Use Case Diagrams
    • Use Case Specifications/Description
    • Use Case Scenario
  • Activity Diagrams
  • Class Diagram
  • Database Design
  • Entity Relationship Model
    • ERM Diagram
    • List of Entities
  • Physical Database Design (including Data Dictionary)
    • Skeleton Tables
    • Data Dictionary
  • User Interface Design

Implementation

Testing

List of Group Members – Roles and Responsibilities (if Group Work)

Discussion / Reflection / Critical Analysis

Conclusion

References

Appendix

  • Complete code with comments and class / filenames.

You will need to complete the Table of Contents and Page Nos manually

PLEASE NOTE THAT THIS IS A PROFESSIONAL REPORT

ALL SCREENSHOTS, DIAGRAMS, etc SHOULD BE GIVEN A FIGURE NUMBER, A CAPTION AND A EXPLANATION

CIS016-1 – Principles of Programming 2022-2023
CIS096-1 – Principles of Programming and Data Structures 2022-2023
Assignment 2 – Hotel Online Customer Booking and Management System

List of Group Members

Include University IDs and Full Names

University ID XXXXX Fullname XXXX XXXXX

University ID XXXXX Fullname XXXX XXXXX

University ID XXXXX Fullname XXXX XXXXX

Introduction/Overview

Why are you doing this work? What you were asked to do? What you did? Were you successful? This should be an overview of the problem for which a solution is required, and an overview of your proposed solution.

Task Description

This is basically a description of the task as on the Assignment brief. You can paraphrase what is written in the Assignment 2 brief. LOOK AT THE ASSIGNMENT BRIEF AND SEE WHAT YOU CAN INCLUDE.

Project Plan/Schedule

Week No.

Tasks

Priority

Submit Group Report, Project Code, and Individual Reflective Report, Video Recording

Project Presentation

Overview of Functional, Technical (Non-Functional Requirements) and Usability Requirements

[Example ONLY – Adjust as necessary]

Functional Requirements

Req. No

Requirement

Priority*

1

As student must be able to register on the HBS

MUST

2

A student must be able to log in to the HBS

MUST

3

A student must be able to log out of the HBS

COULD

4

An administrator must be able log in to the HBS

SHOULD

5

An administrator must be able to log out of the HBS

COULD

6

An administrator must be able to grant Organiser rights to a student

SHOULD

7

An administrator must be able to revoke Organiser rights from a student

SHOULD

8

A student must be able to search events

SHOULD

9

A student must be able to view all events

MUST

10

A student must be able to book an event

MUST

11

A student must be able to view his/her bookings

MUST

12

A student must be able to cancel a booking

MUST

13

An organiser must be able to post an event

MUST

14

An organiser must be able to view all his/her events

SHOULD

15

An organiser must be able to edit an event

SHOULD

16

An organiser must be able to cancel an event

SHOULD

17

An administrator must be able to view all events

SHOULD

18

An administrator must be able to search all events

COULD

19

An administrator must be able to cancel an event

SHOULD

20

An administrator must be able to view all bookings

SHOULD

21

An administrator must be able to cancel a booking

SHOULD

22

An administrator must be able to confirm a booking

SHOULD

Non-Functional / Technical / Operational Requirements

Req. No

Requirement

Priority*

1

The HBS should process input and return results within 10 seconds

2

The HBS should run on a range of devices from PCs to mobile phones

3

The HBS design should be sufficiently scalable and flexible to allow for further future enhancements

4

The HBS users should not experience critical system failures. 99.99% ‘uptime’ should be achieved.

Usability Requirements

Req. No

Requirement

Priority*

1

The HBS should incorporate a user-centric design

2

The design should demonstrate evidence of a good understanding of interface design issues – for example, a consistent design for each form, layout of content, use of colour schemes and images, navigational methods, usability when viewed at various screen resolutions and various monitor dimensions.

3

All data entry forms should be short and easy to complete and there should be entry validation.

4

The HBS short have clear and intuitive navigation

5

The HBS should comply with WW3 Web Accessibility Standards (WCAG)

Text easy to read and language and language style should be appropriate with absence of grammar / spelling errors

There should be a clear layout which remains consistent throughout the application. Style, layout and content should be appropriate for the purpose of the application.

*MOSCOW Notation:

M = MUST

S = SHOULD

C = COULD

W = WON’T

Design

  • Uses Case Diagrams(s)

Diagram Description automatically generated

Fig 1: Hotel Online Customer Booking and Management System – Use Case Diagram (Sea Level)

Use Case Specifications/Description

EXAMPLE

Allocate Accommodation

A specific room is allocated to each guest.

Change Booking

An unguaranteed booking may become guaranteed on provision of credit card details. Other changes (for example to the composition of the party or to the dates booked) may be made on the customer’s request.

Calculate Bill Total

The total bill for a room comprises the cost of the room plus any items charged to it (for example, from the minibar, hotel bar or restaurant and any additional services provided) plus the appropriate rate of VAT.

Cancel Booking

A customer may cancel a booking any time before checking in. The booked accommodation is de-allocated.

Charge Item to Room

A guest may use items from the minibar in the room, make external telephone calls, make purchases from the hotel bar or restaurant or order additional services such as laundry. These items are charged to the guest’s room. An external service ordered by the guest may also be charged to their room (although some services, such as taxis, will be paid for directly by the guest).

Check In Guest

When a party (one or more guests) arrives at the hotel each guest is checked in and the booking becomes registered. Details of all the guests are confirmed, or if they have not been given at the time of booking they are recorded. The method of payment (by which guest(s) or whether to be charged to a corporate account) is confirmed. Accommodation is allocated if not already done at the time of booking and special requests are recorded.

Check Out Guest

Before the guest leaves the hotel they need to check out and the booking becomes completed. The receptionist provides them with the total room bill, which an individual customer must pay. If the bill is to be charged to a corporate customer the guest is asked to check and sign the bill, it is then added to the appropriate corporate account.

Make a Booking

When a customer contacts the receptionist with a booking request the receptionist checks the room occupancy for the required period and if the customer’s needs can be met, makes a booking.

A guaranteed booking is only made for corporate customers or for individual customers who supply credit card details.

Accommodation may be allocated at this stage; alternatively where it is a group booking (for example, for 6 twin-bedded rooms) the allocation of each guest in the party to a specific room may be done on checking in. Either way, occupancy records are updated to avoid double booking.

Order External Service

Services not offered by the hotel itself can be ordered, once their availability has been checked. The guest name, room number and details of the service required are taken when the service is ordered.

Provide Guest with Current Bill

On request a guest may be provided with the current total of their bill.

  • Activity Diagram(s)
  • Class Diagram(s)

This COULD be a screen shot from BlueJ. This is not ideal but a compromise.

  • Database Design
    • Entity Relationship Model (ERM)
    • ERM Diagram
    • List of Entities

An Entity Relationship Model consists of a Entity Relationship Diagram (ERD) and a list of Entities with their attributes, Primary Key and Foreign Keys.

Example:

Booking(BookingID, CustomerID*, RoomiD*, ManagerID*, DateBooked, ArrivalDate, DepartureDate, BookingStatus, Paid)

Primary and Foreign Keys and other attributes for each entity should be included in this list.

You are STRONGLY ADVISED to use VISUAL PARADIGM CE to create your ERM. Visual Paradigm Community Edition software is a free download. You should not use Visio or equivalent software.

YOU HAVE ALREADY BEEN PROVIDED WITH AN EXAMPLE ENTITY RELATIONAL DIAGRAM. SEE ‘THAT SPECIAL FOLDER’

Your ER Diagram should include all identified entities and the relationships between them. Relationship should include consideration of both cardinality and optionality, and a textual description of each relationship should be included.

  • Physical Database Design (including Data Dictionary)

At this point you will have decided what database platform (RDMS) you will use – ie. Oracle, MySQL, SQLite.

This includes:

    • Skeleton Tables

List of tables with their attributes, Primary Key and Foreign Keys.

Example:

Booking(BookingID, CustomerID*, RoomiD*, ManagerID*, DateBooked, ArrivalDate, DepartureDate, BookingStatus, Paid)

    • Data Dictionary (for each table)

Example:

Customer

Description: Customer details

Field Name

Datatype

Length

Index

Null

Default

Validation rule

Description

custid (Primary)

int (11)

unsigned

11

PK

No

Autoincremented
Uniquely identifies every customer

firstname

varchar (30)

30

No

First name of customer

lastname

varchar (30)

30

No

Last name of customer

email

varchar (100)

100

No

Must be email format containing an @ and a ‘.’

Regex expression used

Email of customer

password

varchar (30)

30

No

Customer password

Indexes

Keyname

Type

Unique

Column

Null

PRIMARY

BTREE

Yes

custid

No

For each table, for each attribute show the datatype, length, and other properties. You may want to include any other information such as data entry constraints.

Take care with the datatypes as these vary from database system to database system.

Read the assignment brief for more details.

  • User Interface Design

Sketches of your GUI interfaces

Interactive prototypes could be created using the Balsimiq Mockups 3 / Wireframe Prototyping tool (https://balsamiq.com/) or a suitable online prototyping tool

The University has a current license for Balsamiq. You should see information about this in Announcements

You could use Balsamiq Wireframes (see under Announcements) or an online prototyping tool (for example, https://marvelapp.com/) or (https://www.figma.com/).

Implementation

You should discuss YOUR application. How was the program created?

You should describe the development stages.

Explain how you manged the implementation. How did you ensure all group members actively contributed to writing code? How did you distribute the workload? Was it successful?

What Integrated Development Environment (IDE) did you use? Justify your choice of IDE, Java Framework (if used), packages / libraries.

Did you embed SQL in your client application or did you implement a Client-Server (Sockets Programming architecture). Justify you chosen method, and discuss the advantages and disadvantages of both.

What problems did you encounter during the coding, and explain how you overcame these?

Include snippets of code here – that either caused problems or show original, novel approaches.

What rDBMS did you use? Justify your choice of database system.

Did you use WAMP / XAMPP / MAMP or an equivalents stack on your own PC?

Detailed discussion of your experience coding is required here.

Did you incorporate any novel approaches to coding and meeting the Assignment requirements?

Testing

Include evidence of detailed and robust testing.

There are various ways to document this…

Test Log (tabular format) with test number, date, purpose of test, input data, expected output, actual output, pass/fail and screen shot of result.

OR

Documentation of each test – one after the other

You need to include:

  • Test No
  • Test Date
  • Purpose of test
  • Input data or action
  • Expected result
  • Actual result
  • Pass/Fail
  • Screenshot of output

Group Member Contribution List

Student ID

Student Name

Role / Contribution

Discussion / Refection / Critical Analysis

  • What went well and what went wrong?
  • What would you have done differently?
  • How would you improve your web application in the future?

This part is very important. You must discuss the project, group work or individual work, and time management skills.

Basically, you are evaluating what you have done. Did you achieve all the required specification of the Assignment brief? If not, why not? Discuss the problems you encountered and how you overcame them.

What stopped you achieving what you had hoped to achieve and to the standard you know you are capable of achieving? Remote learning, lack of access to BREO, COVID, lack of suitable devices remotely, Internet connection issues etc.

Did you give yourselves enough time to accomplish this work? Was it harder than you expected? What have you learned from tackling this Assignment?

If working as a group, did your group work well together? What did you learn about the dynamics of group work?

Did this work enhance your understanding of the Java programming language? Did it motivate you to learn more Java, and other programming languages?

If you had to undertake this or something similar again, would you tackle it differently?

What improvements or enhancements would you recommend for a future iteration of this project?

Conclusion

What were you asked to do? Did you achieve it?

References

Use the Harvard Referencing System. Any reference must be cited in text – otherwise it should go in a Bibliography section.

Appendix

You MUST include:

Complete project code

Include file/class names

Make sure you code is fully commented and well presented with correct indentation and colour coding.

You could include:

Details of you database/table structure and content

Screen shots from PHPMyAdmin.

Screenshots of you database / table structure / table data (PHPMyAdmin).

Screen shots of your GUI interfaces.

Anything else that you might want to include that does not fit well into the main report body.

Leave a Reply

Your email address will not be published. Required fields are marked *