Write My Paper Button

WhatsApp Widget

ICT340: Application Analysis and Design Read the following negotiated statement of requirements (NSR) and answer the questions that follow. easy book is a new hotel booking company which has started its operations recently. It offers a centralized service to customers who wish to book a local hotel for a short getaway. On the other hand, it markets its service to hotels that require assistance in filling up its rooms. Hence, i

ICT340: Application Analysis and Design

Read the following negotiated statement of requirements (NSR) and answer the questions that follow.

easy book is a new hotel booking company which has started its operations recently. It offers a centralized service to customers who wish to book a local hotel for a short getaway. On the other hand, it markets its service to hotels that require assistance in filling up its rooms. Hence, it offers hotel rooms according to the type of hotel that the customer wants to have a stay in.

In order to meet the needs of its guests who want a staycation or guests who require to be quarantined due to the ongoing pandemic, EasyBook has decided to invest in a web solution to expand its business. It is envisaged that the new website should be capable to handle 1 million users at any time. The system need not be perfect but it should serve its purpose.

In addition, the system should have plug-and-play features that can be easily added or removed. As EasyBook has a small budget, a request has been made to the development team to use an open-source programming language. The system development team decided to use the Agile approach and GO programming language as most of its members are well versed in these.

Guests are required to register with EasyBook by providing: a name, personal identification (either passport or NRIC number), contact number and an email address. EasyBook assigns an identification number to each registered guest and all users are assigned a user id and password.

The ICA (Immigration and Checkpoints Authority of Singapore) has an account in the system and authorized personnel from ICA login to this account to register guests who require to be immediately quarantined. The default period of stay is 14 days.

The various hotels that sign up with EasyBook are categorized under various themes such as luxury hotel, family-friendly hotel, themed hotel, city hotel, or budget hotel. Each hotel, identified by its name, has different types of facilities such as swimming pool, spa, restaurant, etc. and different types of rooms with details such as the type of bed, whether breakfast is served, the maximum number of guests, and the cost for a night’s stay.

The facilities in each room are also made known. The hotel may also specify whether vouchers are allowed. Guests may book a hotel stay by browsing the various hotels and choosing a check-in date and a check-out date for a specific hotel. He may also wish to use the search feature available and specify the guest’s budget, hotel theme, star rating, location, and hotel facilities.

The booking is immediately confirmed after the guest has fully paid. This is because each hotel has reserved an agreed number of rooms with EasyBook. Once a guest has made a booking, EasyBook would contact the hotel concerned to inform the hotel. This is usually done one day before the guest’s check-in date. Guests can check in any time after 2 pm and check out before 12 pm for their hotel booking. This is done when they arrive at the hotel.

Vouchers that are issued by third parties such as SGDiscovers may be used when making a booking. As long as the voucher has not expired, the amount may be used to offset the payment for the booking. From time to time, EasyBook works with credit cards to offer discounts and these will be applied when a booking is made.

Guests may cancel their booking two days before their check-in date. In this case, the amount paid for the booking would be credited to the guest’s account. The guest may use this balance to pay for another booking. Vouchers used in the canceled booking will also be stored in the guest’s account for use in a future booking.

Question 1

Analyze the NSR and select FIVE (5) requirements, each of which falls under ONE (1) of the following classification:

  • Functional requirement
  • Non-functional requirement
  • Design directive
  • Implementation directive
  • Platitude

Justify your classification.

State clearly if no requirement is found for a particular classification.

Question 2

(a) Develop a structural model for the system design, by submitting the class description for the application.

Your answer should identify the classes, their attributes and any hierarchical relationship(s), omitting any foreign key associations.

(b) Complete the structural model for the system design, by appraising the associations among the set of classes in your solution to Question 2(a).

Construct the class association diagram in UML as your answer. Any derived association should be labeled, but you need not give the derivation.

Question 3

the EasyBooking system, the following additional requirement is given:

  • After each stay, guests can rate the hotel from 1 to 5 stars based on their stay experience. Guests can also give comments (compliments or complaints) by writing a short review. From this, we extract the following information:
  • Given a hotel name, display details (date, rate, comments, and name of the guest who gave the review) of all reviews associated with this hotel. The details should be displayed in order of the most recent review date.

From this, we can identify the use case: List Review History, with the following specification: Given A hotel (identified by its name)

Goal: The following have to be returned, for each review and in order of the most recent review date:

  • the date of the review
  • the review rate
  • the review comments
  • the name of the guest that gave the review.

Figure Q3 shows a fragment of the class-association diagram which is relevant to this case:

(a) Using the ICT340 convention, add an OrchestratingClass to the class association diagram in Figure Q3 and show the navigation required to locate the required object at the start of the walk-through.

Your solution should show the OrchestratingClass, the association name, navigation arrow with multiplicities clearly.

(b) Construct a dynamic model of the system, by writing the complete walkthrough for the use case, List Review History, using the following template:

Objective: To display, for a given hotel name, …

Given: …
1. Locate …
2. Locate …
2.1 For each such instance, …
2.1.1 Retrieve …
2.1.2 Locate …
2.1.3 Retrieve …

(Result: For each hotel name, and in the order of the most recent review, display: the date, rate, comments and name of the guest who gave the review). Note: Assume that once an attribute value is retrieved, it is displayed.

(c) Appraise the associations among the set of classes, by using the tabular format in Table Q3(c) below:

(d) Develop a dynamic model of the system, by constructing a sequence diagram based on the walkthrough depicted in Q3(b).

(e) Consider the following messages as depicted in the sequence diagram in Q3(d):

(i) the message sent to the orchestrating object;
(ii) the message sent by the orchestrating object to the aHotel object.
Implement the dynamic model, by coding the methods corresponding to these TWO (2) messages. Name the classes that should own the respective methods.

CLAIM YOUR 30% OFF TODAY

X
Don`t copy text!
WeCreativez WhatsApp Support
Our customer support team is here to answer your questions. Ask us anything!
???? Hi, how can I help?