Beruflich Dokumente
Kultur Dokumente
TABLE OF CONTENTS
1
ANALYSIS MODEL.......................................................................................................................................................................................................................................................3
1.1
1.2
1.3
1.4
STATIC MODEL.......................................................................................................................................................................................................................................................3
ATTRIBUTES OF THE CLASSES ON THE STATIC MODEL.............................................................................................................................................................................4
STATE CHARTS.......................................................................................................................................................................................................................................................5
COLLABORATION DIAGRAMS (ONE FOR EACH USE CASE) & MESSAGE SEQUENCE DESCRIPTIONS.....................................................................................................8
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
2.2.1 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
1 ANALYSIS MODEL
1.1 STATIC MODEL
Static Diagram
Payment
Bill
Reservation
has
makes
processes
HMS
authenticates
Customer
has
Discount
User
has
authenticates
Login
uses
Room
Room
Availability
1.2
<<entity>>
Payment
paymentID : Integer
paymentType : String
paymentTypeDesc : String
CCNumber : String
CCExp : String
CCOwner : String
paymentAmount : String
paymentDate : Date
<<entity>>
Room
roomID : Integer
roomNumber : Integer
roomType : String
roomStatus : String
roomDesc : String
roomRate : String
numBeds : String
isAvailable : Boolean
<<entity>>
Report
reportType : string = ""
<<entity>>
Reservation
reservationID : int = 0
customerID : int = 0
reservationDate : Date = 0
ExpCheckinDt : Date
expCheckoutDt : Date
AnticipatedArrTime
NumGuests
ToomTypeID
RoomRate
Smoking
Preferences
Guaranteed
Comments
PaymentType
BedType
Discount
<<entity>>
User
userID : Integer
loginName : String
password : String
roleID : Integer
userFirstName : String
userMName : String
userLastName : String
userContactInfo : String
<<<<entity>>>>
RoomAvailability
roomAvailabilityID : Integer
roomTypeID : Integer
Date : Date
NumAvailable : Integer
<<entity>>
Discount
discountID : Integer
discountName : String
discountPercent : String
discountExp : Date
discountAmount : Integer
description : String
Room Statechart
Not Available
Five hrs. past check in
Customer checks in
Customer checks in
Occupied
Bill/Payment Statechart
Open
Adjust Bill
Generate Bill
Generated
Record Payment
Scheduler Statechart
Retrieve Time
System Started
Time is 1:00 p.m.
Scheduler Running
Billing Complete
System Stopped
Time is 6:30 p.m.
Reservations Canceled
Billing Complete
Time is 6:00 p.m.
1.4
COLLABORATION DIAGRAMS (one for each use case) & MESSAGE SEQUENCE DESCRIPTIONS
We have done individual collaboration diagrams (one for each use case). Per Dr. Wu, they are not required to be turned in. Please see
Consolidated Collaboration Diagrams and Message Descriptions for Consolidated Collaboration Diagrams in section 2.1.1 and 2.1.2,
respectively.
2 DESIGN MODEL
2.1
<<entity>>
: Customer
: Report
Customer data
Report
<<control>>
: CustRecord
CSR Input
Report request
<<control>>
: GenerateReport
: Customer
ServiceRep
'Customer Record' selected
Display Inf o
<<periodic timer>>
: Scheduler
Manager
Input
Cancel non-guaranteed
Bill no-show
Bill additional day
'Checkin' selected
<<control>>
: Checkin
<<control>>
: ReservationControl
Apply /Remov e discount
Set Room
Status
Set Room
Status
<<entity>>
Generate Bill
: Room
Av ailability
inf o
Update
Reserv ation
Reserv ation
Inf o
<<entity>>
Apply /Remov e
discount
Check av ailability
Update av ailability
Av ailability
inf o
: Scheduler
(Timer)
'Checkout' selected
: Manager
Scheduler Ev ents
Bill data
<<entity>>
Apply /Remov e Discount
Check Av ailability
Update Av ailability
:RoomAvailability
<<control>
:Discount
: Bill
: Reservation
<<subsystem>>
:Room Services/Food
Subsystem
Report
Report Request
<<control>>
: GenerateReport
Manager Input
Display Info
<<user interface>>
: HMSInterface
<<control>>
: HMSControl
Information Displayed
: Manager
Room Info
<<entity>>
: Room
<<control>>
: UserAdmin
<<entity>>
: User
10
HMS Interface sends Make Payment (or Credit Payment) message along with customer's payment information to Bill/Payment.
Bill/Payment sends a Payment Made (or Payment Credited) acknowledgment message to HMSInterface.
Bill/Payment sends an Update Bill/Payment request to HotelDatabase.
HMS Interface sends GenerateReport request along with ReportType, ReportParameters to Report.
Report sends Get Pending Checkout Data message to HotelDatabase.
HotelDatabase sends Pending Checkout Data to Report.
Report sends Report generated to HMSInterface.
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.
Administration sends a Add/Modify/Delete Info on Room & Rate request along with room information inputted to Room.
Room sends an Update/Get info on Room & Rate request to HotelDatabase.
HotelDatabase sends an Info on Room & Rate response to Room.
HMS Interface sends GenerateReport request along with ReportType, ReportParameters to Report.
Report sends Get Report Data message to HotelDatabase.
HotelDatabase sends Report Data to Report.
Report sends Report generated to HMSInterface.
12
13
<<system>>
:Hotel Management System
<<subsystem>>
:Reservation &
Booking
<<subsystem>>
:Room & Food
Services
<<subsystem>>
:Management
Services
bill generated
<<user interface>>
:Hotel Management
System Interface
14
15
ODBC
ODBC
: Report
Pending CheckOutData
: Discount
<<Coordinator>> : <<Access
HotelDatabase
DB>>
: HotelDatabase
Get Discount
: Room
Data returned
Apply
Discount
Availability
Status
Update/Retrieve data
Update Bill/Payment
Customer Info
: Reservation
: Customer
Customer Info
GenerateReport (PendingCheckOutRpt,
Report Generated
ReportParameters)
Cancel Non-Guaranteed
Reservation
Generate Bill
Charge Bill
CreditBill
Reservation Info
<<Periodic>> : Scheduler
<<External Timer>>
Timer Events
Bill No-Show
Bill Additional Day
Bill GuaranteedReservation
<<User Interface>>
: Bill/Payment
: HMSInterface
: DigitalClock
<<Subsystem>> : FoodService
Manager Input
Display Info
CSR Input
Generate Bill
Display Info
Bill Data returned
: Customer
ServiceRep
: Manager
17
ODBC
ODBC
: Report
: HotelDatabase
Report Data
Update/Get Info on Room & Rate
: Room
Update/Get
Employee Info
GenerateReport (ReportType,
ReportParameters)
: Administration
Add/Modify/Delete Employee Profile
<<User Interface>>
Manager Input
: Employee
: HMSInterface
Display Info
: Manager
18
<<entity>>
Customer
customerID : int = 0
fName : string = ""
lName : string = ""
mName : string = ""
Street : string = ""
city : string = ""
state : string = ""
zip : string = ""
zip4 : int = 0
Country : type = initval
homePhone
WorkPhone
Email
Preferences
LastVisited
CCNum
CCExp
CCExpYr
CCHolder
getFName()
getCustomerID()
getLastDateVisited()
getEmail()
getPreferences()
getMName()
getLName()
getStreet()
getState()
getZip()
getZip4()
getCountry()
getHomePhone()
getWorkPhone()
getCCNum()
getCCExp()
getCCxpYr()
getCCholder()()
setFName()
setCustomerID()
setLastDateVisited()
setEmail()
setPreferences()
setMName()
setLName()
setStreet()
setState()
setZip()
setZip4()
setCountry()
setHomePhone()
setWorkPhone()
setCCNum()
setCCExp()
setCCxpYr()
setCCholder()
<<<<control>>>>
Checkin
sReservation : String = ""
sReservationDate : String = ""
sFirstName : String = ""
sMI : String = ""
sLastName : String = ""
sStreet : String = ""
sCity : String = ""
sState : String = ""
sZip : String = ""
sHomePhone : String = ""
sWorkPhone : String = ""
sEmail : String = ""
sCheckinDt : String = ""
sComments : String = ""
sPreferences : String = ""
sArrivalTime : String = ""
sGuests : String = ""
sCheckinDate : String = ""
sCheckoutDate : String = ""
sRoomRate : String = ""
sCCHolder : String = ""
sPayment : String = ""
sCCNumber : String = ""
sExpMonth : String = ""
sCheckinID : String = ""
sRoomID : String = ""
sAmtPaid : String = ""
sRoomNumber : String = ""
sCheckinID : String = ""
sRoomID : String = ""
sRoomType : String = ""
sRoomTypeID : int = ""
sPaymentID : String = ""
sPaymentTypeID : Stirng = ""
sReservationID : String = ""
customerID : int
sDiscount : String = ""
clearAll()
populateCombos()
CheckOut()
jbInit()
btnDiscount_actionPerformed()
btnClear_actionPerformed()
btnClose_actionPerformed()
btnRetrieve_actionPerformed()
insertReservation()
checkFrontEndValidations()
btnCheckIn_actionPerformed()
btnRoomNbr_actionPerformed()
insertCustomer()
updateReservation()
getData()
PopulateRecord()
<<<<control>>>>
Checkout
sReservation : String = ""
sReservationDate : String = ""
sFirstName : String = ""
sMI : String = ""
sLastName : String = ""
sStreet : String = ""
sCity : String = ""
sState : String = ""
sZip : String = ""
sHomePhone : String = ""
sWorkPhone : String = ""
sEmail : String = ""
sCheckinDt : String = ""
sComments : String = ""
sPreferences : String = ""
sArrivalTime : String = ""
sGuests : String = ""
sCheckinDate : String = ""
sCheckoutDate : String = ""
sRoomRate : String = ""
sCCHolder : String = ""
sPayment : String = ""
sCCNumber : String = ""
sExpMonth : String = ""
sCheckinID : String = ""
sRoomID : String = ""
sAmtPaid : String = ""
sRoomNumber : String = ""
sCheckoutID : String = ""
sDiscount : String = ""
nBillID : int
nBillSum : int
sHtlBal : int
nBillItemAmt : int
clearAll()
populateCombos()
CheckOut()
jbInit()
btnDiscount_actionPerformed()
btnClear_actionPerformed()
btnClose_actionPerformed()
btnRetrieve_actionPerformed()
checkFrontEndValidations()
btnPayment_actionPerformed()
btnCheckout_actionPerformed()
checkFrontEndValidation()
getData()
PopulateRecord()
19
20
<<entity>>
Payment
paymentID : Integer
paymentType : String
paymentTypeDesc : String
CCNumber : String
CCExp : String
CCOwner : String
paymentAmount : String
paymentDate : Date
getRoomNumber()
getRoomType()
getRoomStatus()
getRoomDesc()
getNumBeds()
isAvailable()
setRoomNumber()
setRoomStatus()
setRoomRate()
setRoomDesc()
setNumBeds()
makeAvailable()
getPaymentType()
getPaymentTypeDesc()
getCCNumber()
getCCExp()
getCCOwner()
getPaymentAmount()
getPaymentDate()
setPaymentType()
setPaymentTypeDesc()
setCCNumber()
setCCExp()
setCCOwner()
setPaymentAmount()
setPaymentDate()
<<entity>>
Report
reportType : string = ""
generateReport()
<<entity>>
Reservation
reservationID : int = 0
customerID : int = 0
reservationDate : Date = 0
ExpCheckinDt : Date
expCheckoutDt : Date
AnticipatedArrTime
NumGuests
ToomTypeID
RoomRate
Smoking
Preferences
Guaranteed
Comments
PaymentType
BedType
Discount
getReservationID()
getCustomerID()
getReservationDt()
getExpCheckinDt()
getExpCheckoutDt()
getAnticipatedArrTime()
getNumGuests()
getRoomTypeID()
getRoomRate()
getSmoking()
getPreferences()
getComments()
getPaymentType()
getBedType()
getDiscount()
setReservationID()
setCustomerID()
setReservationDt()
setExpCheckinDt()
setExpCheckoutDt()
setAnticipatedArrTime()
setNumGuests()
setRoomTypeID()
setRoomRate()
setSmoking()
setPreferences()
setComments()
setPaymentType()
setBedType()
setDiscount()
<<entity>>
User
userID : Integer
loginName : String
password : String
roleID : Integer
userFirstName : String
userMName : String
userLastName : String
userContactInfo : String
getUserID()
getLoginName()
getPassword()
getRoleID()
getUserFirstName()
getUserMName()
getUserLastName()
getUserContactInfo()
setUserID()
setLoginName()
setPassword()
setRoleID()
setUserFirstName()
setUserMName()
setUserLastName()
setUserContactInfo()
21
<<<<control>>>>
RoomAvailability
myCheckin : Checkin
roomAvailabilityID : Integer
roomTypeID : Integer
Date : Date
NumAvailable : Integer
RoomAvailability()
RoomAvailability()
jbInit()
populateRoomType()
btnClose_actionPerformed()
btnSearch_actionPerformed()
doSearch()
validateInput()
btnClear_actionPerformed()
checkAvailability()
showAvailability()
decrementRoom()
IncrementRoom()
makeOccupied()
makeAvailable()
btnOK_actionPerformed()
<<<<control>>>>
UserAdmin
userID : Integer
loginName : String
password : String
roleID : Integer
userFirstName : String
userMName : String
userLastName : String
userContactInfo : String
aUser : User
<<<<control>>>>
RoomAdmin
roomID : Integer
roomNumber : Integer
roomTypeID : Integer
roomStatusID : Integer
description : String
smoking : String
roomRate : Double
numberOfBeds : Integer
findUser()
updateUserInfo()
addUser()
deleteUser()
findRoom()
updateRoomInfo()
addRoom()
deleteRoom()
updateRoomTypeInfo()
applyDiscount()
removeDiscount()
22
<<<<control>>>>
GenerateReport
btnCancel : JButton
btnClear : JButton
btnExceptions : JButton
btnOccupancy : JButton
btnPending : JButton
btnPendingCO : JButton
btnRevenue : JButton
txtBeginDate : String
txtEndDate : String
btnCancel_actionPerformed()
btnClear_actionPerformed()
btnExceptions_actionPerformed()
btnOccupancy_actionPerformed()
btnPendingCO_actionPerformed()
btnRevenue_actionPerformed()
verifyBeginEndDate()
verifyDate()
<<<<control>>>>
ReservationControl
sReservationDate : String
sFName : String
sMI : String
sLName : String
sStreet : String
sCity : String
sState : String
sZip : type
sZip4 : String
sHomePhone : String
sWorkPhone : String
sEmail : String
sCheckinDt : String
sCheckoutDt : String
nRoomType : int
sArrivalTime : String
sGuests : String
sRoomRate : String
sPaymentType : String
sBedType : String
sCCHolderName : String
sSmoking : String
sCCNumber : String
sCCExpMo : String
sCCExpYr : String
sComments : String
sPreferences : String
sGuaranteed : String
sDiscount : String
isNewCust : boolean
jbInit()
populateCombos()
btnClose_actionPerformed()
getDate()
btnSave_actionPerformed()
btnRetrieve_actionPerformed()
insertCustomer()
updateCustomer()
insertReservation()
updateReservation()
populateRecord()
btnClear_actionPerformed()
btnDiscount_actionPerformed()
btnCancel_actionPerformed()
cmbRoomType_actionPerformed()
opname()
23