h

Hotel Management System ANALYSIS AND DESIGN MODELS
prepared by Team 1 Sandra Busik Susan Le Peter Lockwood Pradeep Miglani Reita Sikka Kai Zhang

1

TABLE OF CONTENTS
1 ANALYSIS MODEL............................................................................................................................................................................................................................................................3 1.1 STATIC MODEL............................................................................................................................................................................................................................................................3 1.2ATTRIBUTES OF THE CLASSES ON THE STATIC MODEL...................................................................................................................................................................................4 1.3 STATE CHARTS............................................................................................................................................................................................................................................................5 1.4 COLLABORATION DIAGRAMS (ONE FOR EACH USE CASE) & MESSAGE SEQUENCE DESCRIPTIONS.................................................................................................................8 2 DESIGN MODEL.................................................................................................................................................................................................................................................................8 2.1 CONSOLIDATED COLLABORATION DIAGRAMS & MESSAGE SEQUENCE DESCRIPTIONS .....................................................................................................................8 2.1.1 CONSOLIDATED COLLABORATION DIAGRAMS...............................................................................................................................................................................................9 2.1.2 MESSAGE SEQUENCE DESCRIPTIONS FOR CONSOLIDATED COLABORATION DIAGRAMS..................................................................................................................11 2.2 DISTRIBUTED SOFTWARE ARCHITECTURE DOCUMENT...............................................................................................................................................................................13 DESCRIPTION OF HOW THE SYSTEM IS DECOMPOSED INTO COMPONENT-BASED SUBSYSTEMS & CONCURRENT COLLABORATION DIAGRAM...........................13 2.2.2 DESIGN OF RELATIONAL DESIGN DATABASE...............................................................................................................................................................................................15 2.3 SUBSYSTEM SOFTWARE ARCHITECTURE..........................................................................................................................................................................................................16 2.3.1 OVERVIEW DESCRIPTION OF SUBSYSTEM SOFTWARE ARCHITECTURE..................................................................................................................................................16 2.3.2 TASK ARCHITECTURE........................................................................................................................................................................................................................................17 2.4 INFORMATION HIDING CLASSES..........................................................................................................................................................................................................................19

2

1 STATIC MODEL B ill/P ay m ent bills S c heduler c a nc el s R es ervati on R eport proc es s e s proc es s es c reates /m odifies /deletes generates HM S c om pletes E m ploy e e proc es s es HM S Int erfac e up dates R oom has proc es s e s proc es s es C us tom er A dm inis tration D i sc ount 3 .1 ANALYSIS MODEL 1.

1.2 ATTRIBUTES OF THE CLASSES ON THE STATIC MODEL D is c o u n t S c h e d u le r H M S I nt e rf a c e D atabas e c u s t o m e rID c u s t o m e rID c u s to m e r ID c u s t o m e rID s q lS t ri n g re s e rva t io n ID re s e rva t io n ID la s t N a m e la s t N a m e d is c o u n t T y p e ro o m R a t e fi rs t N a m e m id d le N a m e d is c o u n t A m o u n t c h a rg e R o o m m i d d le N a m e a d d re s s t im e C h a rg e F o rN o S h o w d is c o u n tT y p e R oom c it y d is c o u n tA m o un t s ta te ro o m N u m b e rt im e C h a rg e F o rA d d it io n a lD a y A dm n c o n firm a t io n N u m b e r ro o m S t a t u s t im e C h a rg e F o rG u a ra n t e e d R o oi mis tr a t io n z ip e m p l oy e e ID r es e r va t io n ID firs t N a m e it e m I D c o n firm a t io n N u m b reoo m N u m b e r r r oo m N u m b e r fo o d It e m s HM S E m plo y ee fo o d A m ou n t s e m p lo y e e ID e m p lo y e e ID d is c o u n tT y p e R e s e rva t io n e m p lo y e e L o g In S t a t u s B ill/ P a y m e n t d is c o u n tA m o un t u s e rID re s e rva t io n ID u s e rID p a s s w o rd c u s t o m e rID c u s t o m e rID p a s s w o rd re s e rva t io n ID ro o m N u m b e r pa y m e ntA m o u nt ro o m A va ilS t a t u s R e p o rt c re d it A m o u n t ro o m S t a t u s r ep o r tT y p e C u s to m er M enu m e n u It e m 4 .

3 STATE CHARTS Bill/Payment Statechart Recieve & add item Open Adjust Bill Generate Bill Generated Record Payment 5 .1.

no. past check in Customer check out Rm.Room State Chart RROOMoom Statechart Vacant Rm No entered when customer checks in Five hrs. entered Occupied Room number entered when customer check in Reserved 6 .

m . B illing C om plete Tim e is 6:00 p.m. S c hedu ler R unn ing B illing A dditiona l D ay B illing Com ple te S y s tem S top ped Tim e is 6:3 0 p. B illin g G u aran teed Res ervat ions R es er vat io ns Canc eled C anc elling N o n-gua ranteed R es e rvatio ns 7 .m .Scheduler Statechart R etrieve Tim e S y s tem S tarted Tim e is 1:00 p.

1.4 COLLABORATION DIAGRAMS (one for each use case) & MESSAGE SEQUENCE DESCRIPTIONS We have done individual collaboration diagrams (one for each use case).1 and 2. they are not required to be turned in.1.1. respectively. Per Dr. 2 DESIGN MODEL 2.2. Please see Consolidated Collaboration Diagrams and Message Descriptions for Consolidated Collaboration Diagrams in section 2. Wu.1 CONSOLIDATED COLLABORATION DIAGRAMS & MESSAGE SEQUENCE DESCRIPTIONS 8 .

CheckOut (Trans Data) Get Reserv ation Data Update Bill/Pay ment Data : Reservation Report Generated GenerateReport (PendingCheckOutRpt. Credit Pay ment Pay ment made. CheckIn.1.2. Pay ment credited : Bill/Payment Display Info Display Inf o CSR Input Manager Input Room/FoodService Bill Get Room/FoodService Bill Data <<subsystem>> : Room/Food Services System : Customer ServiceRep : Manager 9 . Dates) Set RoomAvailability Update/Retriev e data Update/Retriev e Customer Inf o Customer Inf o Create/Update/Retriev e Customer Inf o Customer Inf o Cancel Non-Guaranteed reserv ation Generate Bill Charge Bill Credit Bill Reserv ation Inf o Create/Retriev e/Update Reserv ation.1 CONSOLIDATED COLLABORATION DIAGRAMS CONSOLIDATED COLLABORATION DIAGRAM FOR RESERVATION & BOOKING SYSTEM : Report Get Pending CheckOut Data Pending CheckOutData returned : Hotel Database Get Discount : Discount Update / Retrieve Room Availabili ty Info : Room Room Availability Info Data returned Apply Discount Av ailability Status CheckRoomAv ailability (Ty pe. ReportParameters) : Customer Reserv ation Data returned : Scheduler Scheduler Ev ents Bill No-Show Bill Additional Day Bill Guaranteed Reserv ation : <<External Timer>> Digital Clock <<user interface>> : HMSInterface Make Pay ment.

CONSOLIDATED COLLABORATION DIAGRAM FOR MANAGEMENT SERVICES SYSTEM : Report Get Report Data : Hotel Database Update/Get Info on Room & Rate Report Data : Room Info on Room & Rate Employee Info Update/Get Employee Info Add/Modi fy/Delete Info on Room & Rate Report Generated GenerateReport (ReportT ype. ReportParameters) : Administration Add/Modi fy/Delete Empl oyee Profile Administer User Profile Administer Info on Room & Rate <<user interface>> : HMSInterface : Employee Manager Input Display Info : Manager 10 .

2.              CSR or Manager actor inputs screen selection and information to HMS Interface.  If the customer record is already in the system. Scheduler sends Bill No-Show. Bill GuaranteedReservation request to Bill/Payment. Scheduler sends a Get Reservation Data request to HotelDatabase. check-out date to Room to search for a vacant room. HMS Interface sends the CSR's or Manager's reservation & booking transaction inputs to Reservation.1. Reservation sends Create Customer Info request along with customer info to Customer to create a customer record. HotelDatabase sends a Room Availability Info response to Room. HMS Interface sends Make Payment (or Credit Payment) message along with customer's payment information to Bill/Payment. Reservation sends a Check Room Availability request along with information on room type. Bill/Payment sends Get Room/FoodService Bill Data message to Room/Food Services System. Room sends Availability Status to Reservation. Customer sends Customer Info to Reservation. Reservation sends a Generate Bill. Room sends a Retrieve Room Availability request to HotelDatabase to get room availability information. Reservation sends Update Customer Info request along with updated info to Customer. Discount sends Get Discount message to HotelDatabase to obtain discount data. and Room/Food Services System sends Room/FoodService Bill Data to Bill/Payment. Reservation sends a Retrieve Customer Info request along with customer's name to Customer to search for the customer record.2 MESSAGE SEQUENCE DESCRIPTIONS FOR CONSOLIDATED COLABORATION DIAGRAMS Message Sequence Description for Consolidated Collaboration Diagram of Reservation and Booking System The message sequence description below addresses the messages on the Consolidated Collaboration Diagram for Reservation and Booking System. HotelDatabase returns Reservation Data to Scheduler. Timer sends Scheduler Events to Scheduler. Reservation sends an Update/Retrieve Data request to HotelDatabase to update/retrieve reservation&booking data. Bill Additional Day. Charge Bill (or Credit Bill) request along with balance due information to Bill/Payment. Customer sends Add/Update/Retrieve Customer Info message to HotelDatabase. Bill/Payment sends a Payment Made (or Payment Credited) acknowledgment message to HMSInterface. Reservation sends an Apply Discount request to Discount. check-in date. Scheduler sends a Cancel Non-Guaranteed Reservation request to Reservation. 11       .  If the customer record is not yet in the system. and HotelDatabase sends reservation&booking data to Reservation.

HMS Interface sends GenerateReport request along with ReportType. ReportParameters to Report. Room sends an Update/Get info on Room & Rate request to HotelDatabase. HotelDatabase sends Pending Checkout Data to Report. HotelDatabase sends an Employee Info response to Employee. 12 . Report sends Report generated to HMSInterface.              Manager actor inputs screen selection and information to HMS Interface.      Bill/Payment sends an Update Bill/Payment request to HotelDatabase. HMS Interface sends Administer User Profile (or Administer Info on Room & Rate) message along with the information inputs to Administration. Report sends Get Report Data message to HotelDatabase. HMS Interface sends GenerateReport request along with ReportType. HMSInterface sends DisplayInfo message to display information to CSR or Manager actor. Administration sends a Add/Modify/Delete Info on Room & Rate request along with room information inputted to Room. Administration sends a Add/Modify/Delete Employee Profile request along with employee information inputted to Employee. HotelDatabase sends an Info on Room & Rate response to Room. Report sends Get Pending Checkout Data message to HotelDatabase. HMSInterface sends DisplayInfo message to display information to Manager actor. HotelDatabase sends Report Data to Report. Employee sends an Update/Get Employee Info request to HotelDatabase. ReportParameters to Report. Message Sequence Description for Consolidated Collaboration Diagram of Management Services System The message sequence description below addresses the messages on the Consolidated Collaboration Diagram for Management Services System. Report sends Report generated to HMSInterface.

These subsystems were determined through the use-case-based collaboration diagrams. The users will be able to administer Reservation & Booking services. The report on pending checkouts and the bill data generated from the Reservation & Booking subsystem will be able to be printed. The bill generated from the Room & Food Services subsystem will be able to be printed. Room & Food services.2 DISTRIBUTED SOFTWARE ARCHITECTURE DOCUMENT DESCRIPTION OF HOW THE SYSTEM IS DECOMPOSED INTO COMPONENT-BASED SUBSYSTEMS & CONCURRENT COLLABORATION DIAGRAM As shown on the Concurrent Collaboration Diagram below. Each of these subsystems also performs a major function. Concurrent Collaboration Diagram Documentation The Hotel Management System contains three subsystems. the printer. These three subsystems are composite subsystems because they all reside at the same location. Each subsystem controls a given aspect of the system. These are Reservation and Booking. and room availability. The external output device. The computers in the hotel will have printers available. They all have localized autonomy. Managers and customer service representatives to interact with the system. and a Management Services subsystem. The Management Services subsystem deals with the maintenance of the hotel services. This subsystem allows management to add. The communication between the three subsystems is loosely coupled asynchronous message communication. and Management services (for management only). a Room and Food Services subsystem. The Hotel Management System Interface will allow the users. The Hotel Management System component encompasses the three subsystems. and add employee profiles. Room and Food Services. billing for the customers' stay.2. the subsystems consist of a Reservation and Booking subsystem. The objects in the use-case-based collaboration diagrams that communicate frequently with each other. modify. room reservation. are related to each other. modify. This subsystem will also generate reports on these uses. and have high coupling were placed in the same subsystem. All of these components are logical and physical containers. The Hotel Management System is also a composite system. and delete information on rooms and rates and food menu items and prices. The reports of all subsystem data from the Management Services subsystem will be able to be printed. check out. The Room and Food Services subsystem allows the customer service representative to create the customers' food order and will generate a bill for the order. and Management Services. These subsystems can be allocated to a separate node in the distributed environment or can be executed on the same node as other subsystems. They encapsulate the objects they contain. which is relatively independent of the functionality provided by the other subsystems. The Reservation and Booking subsystem encompasses customer check in. is not part of the software to be created. It also encapsulates the objects it contains. The managers may delete. Management Services also may administer new employee user profiles for the HMS. Concurrent Collaboration Diagram below 13 .

CONCURRENT COLLABORATION DIAGRAM Concurrent Collaboration Diagram <<system>> :Hotel Management System <<subsystem>> :Reservation & Booking items added to cost room & customer info <<subsystem>> :Room & Food Services <<subsystem>> :Management Services menu item. price reports of all subsystems' data report pending checkout bill data generated HMS request HMS data requested <<user interface>> :Hotel Management System Interface bill generated <<external output device>> :Printer 14 .

2 DESIGN OF RELATIONAL DESIGN DATABASE 15 .2.2.

other than standard i/o (keyboard.2. This object will not be accessed concurrently. bolded borders are tasks. and printer) Identify system interfaces o Room and Food Service System o Reservation and Management subsystems Identify entity objects o See Information Hiding Classes Diagram Identify timer objects o Scheduler Identify state dependent control objects o No state dependent control objects that need to run in their own thread Identify coordinator objects o HotelDatabase object coordinates access to the database Identify business logic objects o The only business logic object in this stand-alone system is the Reservation object. A collaboration diagram is given for each subsystem.3. Identify algorithm objects o No substantial algorithms used in the problem domain 16 . The active objects are modeled as tasks and the other objects are modeled as information hiding classes. • • • • • • • • • • • Keep design simple by not having too many tasks Objects that execute concurrently can be made into tasks Identify user interface objects o HMS Interface Identify device interfaces o None. Here are the criteria used to determine which objects in each subsystem are active. Active objects execute concurrently and run in their own thread. Each client will have its own instance of the Reservation object. each class has been given a <<stereotype>> to reflect the type of class being shown.3 SUBSYSTEM SOFTWARE ARCHITECTURE 2. so it does not need to run in its own thread. In the Information Hiding Classes Diagram.1 OVERVIEW DESCRIPTION OF SUBSYSTEM SOFTWARE ARCHITECTURE The Hotel Management System is functionally decomposed into the Reservations and Management subsystems. mouse. monitor. The objects having the thicker. This section describes the criteria used to determine which objects are active and which are information-hiding classes.

Payment credited <<Subsystem>> : FoodService Display Info CSR Input Display Info Manager Input Generate Bill Bill Data returned 17 : Customer ServiceRep : Manager .2. ReportParameters) : Customer <<Periodic>> : Scheduler Timer Events <<External Timer>> : DigitalClock Reservation Info Create/Retrieve/Update Reservation. Dates) Set Room Availability Update/Retrieve data Update/Retrieve Customer Info Customer Info Create/Update/Retrieve Customer Info Customer Info Cancel Non-Guaranteed Reservation Generate Bill Charge Bill CreditBill Get Reservation Data Reservation Data returned Update Bill/Payment : Reservation Report Generated GenerateReport (PendingCheckOutRpt. CheckOut (Trans Data) Bill No-Show Bill Additional Day Bill GuaranteedReservation Make Payment. Credit Payment <<User Interface>> : HMSInterface : Bill/Payment Payment made.3.2 TASK ARCHITECTURE TASK ARCHITECTURE DIAGRAM FOR RESERVATION & BOOKING SYSTEM : Report Get Pending CheckOut Data Pending CheckOutData ODBC ODBC <<Coordinator>> : HotelDatabase Get Discount <<Access DB>> : HotelDatabase : Discount Update / Retrieve Room Availability : Room Availability Status Room Availability Info Data returned Apply Discount CheckRoomAvailability (Type. CheckIn.

ReportParameters) : Administration Add/Modify/Delete Employee Profile Administer User Profile Administer Menu Item & Price Administer Info on Room & Rate <<User Interface>> : HMSInterface : Employee Manager Input Display Info : Manager 18 .ODBC TASK ARCHITECTURE DIAGRAM FOR MANAGEMENT SERVICES SYSTEM Get Report Data ODBC : Report Report Data Update/Get Info on Room & Rate <<Coordinator>> : HotelDatabase <<Access DB>> : HotelDatabase : Room Info on Room & Rate Employee Info Update/Get Employee Info Add/Modify/Delete Info on Room & Rate Report Generated GenerateReport (ReportType.

4 INFORMATION HIDING CLASSES <<entity>> Customer customerID : int = 0 lastName : string = "" middleName : string = "" address : string = "" city : string = "" state : string = "" zip : string = "" firstName : string = "" confirmationNumber : int = 0 createCustomer() modifyCustomer() deleteCustomer() <<entity>> Discount customerID : int = 0 reservationID : int = 0 discountType : string = "" discountAmount : int = 0 applyDiscount() removeDiscount() <<entity>> Reservation reservationID : int = 0 customerID : int = 0 roomNumber : int = 0 roomAvailStatus : string = "" roomStatus : string = "" createReservation() modifyReservation() deleteReservation() checkRoomAvailability() doCheckout() generateBill() assignRoom() doCheckin() <<User Interface>> HMS Interface customerID : int = 0 lastName : string = "" firstName : string = "" middleName : string = "" discountType : string = "" discountAmount : int = 0 confirmationNumber : int = 0 reservationID : int = 0 roomNumber : int = 0 foodItems : Vector = 0 foodAmounts : Vector = 0 discountType : string = "" discountAmount : int = "" doCheckin() doCheckout() createReservation() modifyReservation() deleteReservation() applyDiscount() removeDiscount() createOrder() modifyOrder() deleteOrder() applyDiscount() removeDiscount() <<entity>> Bill/Payment customerID : int = 0 reservat ionID : int = 0 paymentAm ount : int = 0 creditAm ount : int = 0 makePayment () generateBill() chargeBill() creditBill() creditPayment () <<Coordinator>> Database sqlString : string = "" update() retrieve() createConnection() close() <<entity>> Employee employeeID : int = 0 userID : string = "" password : string = "" login() <<entity>> Report reportType : string = "" generateReport() <<entity>> Room room Number : int = 0 room Stat us : string = " " changeRoom Stat us() <<entity>> Administration employeeID : int = 0 itemID : int = 0 roomNumber : int = 0 administerUserProfile() administerFoodService() administerHotelSystem() <<control>> Scheduler customerID : int = 0 reservationID : int = 0 roomRate : int = 0 chargeRoom : boolean = False timeChargeForNoShow : string = "" timeChargeForAdditionalDay : string = "" timeChargeForGuaranteedRoom : string = "" cancelNonGuarRes() billGuarRoom() billAddtlDay() billNoShows() <<entity>> HM S employeeID : int = 0 employeeLogInStatus : boolean = false userID : string = "" password : string = "" login() logout() 19 .2.

20 .

Sign up to vote on this title
UsefulNot useful