Documente Academic
Documente Profesional
Documente Cultură
System
Detail View
Action Items (cont)
: CancelReservation.aspx : Reservation : Database : ConfirmCancelReservation.aspx
: User
3: queryGetReservation(reservationNumber)
5: cancel
6: cancelReservation(reservationNumber)
7: queryCancelReservation(reservationNumber)
2: isValidUserName(userName)
3: queryIsValidUserName(userName)
5: queryInsertAccount()
The sequence diagram shows that the travel agent successfully applies to an account.
Operation Signature:
requestAccount(userName : String, email : String, password : String, companyName : String, status : String, phone : String, address : String, city : String, state : String,
zip : String) : Boolean
queryInsertAccount (userName : String, email : String, password : String, companyName : String, status : String, phone : String, address : String, city : String, state :
String, zip : String) : Boolean
Action Items (cont)
4: totalSales
5: salesCommussion(totalSales)
6: commussion
Action Items (cont)
Component Design
The diagram shows
3-tier type of
Clients
IIS 5.0 Server
ASP.NET
architecture.
Middle-Tier
CLR
Business Logic
Components
(C# Class
Library)
HRS
Database
MsSQL
Server
Component Design (cont)
Presentation tier
Hotel::FindHotel
#txtCity : TextBox
#lstState : DropDownList
#btnCalender1 : ImageButton
#btnCalander2 : ImageButton
#txtCheckIn : TextBox
#txtCheckOut : TextBox
#calDate1 : Calendar
#calDate2 : Calendar
#btnFind : Button
#RequiredFieldValidator1 : RequiredFieldValidator
#RequiredFieldValidator2 : RequiredFieldValidator Hotel::HotelResult
#RegularExpressionValidator1 : RegularExpressionValidator
#RegularExpressionValidator2 : RegularExpressionValidator #dg : DataGrid
#RequiredFieldValidator3 : RequiredFieldValidator #lblTest : Label
#ValidationSummary1 : ValidationSummary #lblMessage : Label
#lstCountry : DropDownList
#txtPrice : TextBox
#Label3 : Label
#RegularExpressionValidator3 : RegularExpressionValidator #Label1 : Label
#CompareValidator1 : CompareValidator #Label2 : Label
#lblMessage : Label #holder : PlaceHolder
#Label3 : Label #dsHotelResult1 : dsHotelResult
#Label1 : Label
#Label2 : Label -Page_Load(in sender : object, in e : EventArgs)
#holder : PlaceHolder #OnInit(in e : EventArgs)
#lstSmoking : DropDownList -InitializeComponent()
#lstBed : DropDownList
#lstHandicap : DropDownList
-BindData()
#lstRoom : DropDownList -dg_SelectedIndexChanged(in sender : object, in e : EventArgs)
-Page_Load(in sender : object, in e : EventArgs)
#OnInit(in e : EventArgs)
-InitializeComponent()
-btnCalender1_Click(in sender : object, in e : ImageClickEventArgs)
-calDate1_SelectionChanged(in sender : object, in e : EventArgs)
-btnCalander2_Click(in sender : object, in e : ImageClickEventArgs)
-calDate2_SelectionChanged(in sender : object, in e : EventArgs)
-validateCheckIn(in checkIn : DateTime) : bool
-btnFind_Click(in sender : object, in e : EventArgs)
-calDate2_DayRender(in sender : object, in e : DayRenderEventArgs)
-calDate1_DayRender(in sender : object, in e : DayRenderEventArgs)
Component Design (cont)
Presentation Tier
Hotel::RoomPreferences
Hotel::AvailableRoom #lblHotel : Label
#lblHotel : Label #lblCheckIn : Label
#lblNumRoom : Label
#lblCheckIn : Label #lstSmoking : DropDownList
#lblCheckOut : Label #lstBed : DropDownList
#lblSmoking : Label
#lblNumRoom : Label #lblBed : Label
#Label3 : Label #btnCheckAval1 : Button
#Label1 : Label #dataSetAvailableRoom1 : DataSetAvailableRoom
#dg : DataGrid
#dsRoom : DataSetAvlRoom #dataSetAvlRoom1 : DataSetAvlRoom
#btnReserve : Button #lblHandicap : Label
#lstHandicap : DropDownList
#dgRoom : DataGrid #lblMessage : Label
#lblMessage : Label #btnSkip : LinkButton
#lblBedType : Label #lblRoom : Label
#lblTest : Label
#lblSmoking : Label #Label3 : Label
#lblAccessible : Label #Label1 : Label
#holder : PlaceHolder
#btnPreferences : Button #lblContinue : Label
#holder : PlaceHolder #lnkCont : LinkButton
#lblCheckOut : Label
-Page_Load(in sender : object, in e : EventArgs) -Page_Load(in sender : object, in e : EventArgs)
#OnInit(in e : EventArgs) #OnInit(in e : EventArgs)
-InitializeComponent() -InitializeComponent()
-btnCheckAval1_Click(in sender : object, in e : EventArgs)
-display() -checkAvailability()
-btnReserve_Click(in sender : object, in e : EventArgs) -dg_SelectedIndexChanged(in sender : object, in e : EventArgs)
-btnSkip_Click(in sender : object, in e : EventArgs)
-btnPreferences_Click(in sender : object, in e : EventArgs) -lnkCont_Click(in sender : object, in e : EventArgs)
Component Design (cont)
Presentation Tier
Secure::Reservation
#lblHotel : Label
#lblName : Label
#lblCheckIn : Label
Hotel::SignIn #lblAddress : Label
#lblCityStateZip : Label
#txtUserName : TextBox #lblSubTotal : Label
#lblTax : Label
#txtPassword : TextBox #lblCheckOut : Label
#btnSignIn : Button #lblDay : Label
#btnReserve : Button
#lblMessage : Label #dsGetRoom : DataSetAvlRoom
#Label3 : Label #lblMessage : Label
#dgReservation : DataGrid
#Label1 : Label #lblTest : Label
#Label2 : Label #lblNumRoom : Label
#RequiredFieldValidator1 : RequiredFieldValidator #Label3 : Label
#Label1 : Label
#RequiredFieldValidator2 : RequiredFieldValidator #Label2 : Label
#btnRegister : Button #lblTotalAmount : Label
-Page_Load(in sender : object, in e : EventArgs)
-Page_Load(in sender : object, in e : EventArgs) #OnInit(in e : EventArgs)
#OnInit(in e : EventArgs) -InitializeComponent()
-userInfo()
-InitializeComponent() -reservInfo()
-btnSignIn_Click(in sender : object, in e : EventArgs) -FillTheReservation()
-removeRoom(in rid : string, in sessionVar : string) : string
-btnRegister_Click(in sender : object, in e : EventArgs) -dgReservation_SelectedIndexChanged(in sender : object, in e : EventArgs)
+GetRandom(in seed : int) : Random
-btnReserve_Click(in sender : object, in e : EventArgs)
-createRsrvNum() : string
+GetRandom() : Random
Component Design (cont)
Presentation Tier
Secure::CancelReservation
#lblMessage : Label
#btnFind : Button
Secure::ConfirmReservation #txtRsrvNumber : TextBox
#RegularExpressionValidator1 : RegularExpressionValidator
#lblRsrvNum1 : Label #RequiredFieldValidator1 : RequiredFieldValidator
#lblErrorMessage : Label
#lblConfNum1 : Label #Label3 : Label
#Label1 : Label
#lblConfNum2 : Label #Label2 : Label
#lblHotelInfo : Label
#lblConfNum3 : Label #lblHotelPhone : Label
#lblRsrvNum2 : Label #lblPhone : Label
#lblHotelAddress : Label
#lblTest : Label #lblAddress : Label
#lblHotelName : Label
#Label3 : Label #lblHotel : Label
#lblRoom : Label
#Label1 : Label #panel : Panel
#Label2 : Label #lblAccessible : Label
#lblHandicap : Label
#lblRsrvNum3 : Label #lblSmokingType : Label
#lblSmoking : Label
-Page_Load(in sender : object, in e : EventArgs) #lblBedType : Label
#lblBed : Label
#OnInit(in e : EventArgs) #lblRsrv : Label
#dgReservation : DataGrid
-InitializeComponent() #dataSetReservation1 : DataSetReservation
-confirmationNumber() -Page_Load(in sender : object, in e : EventArgs)
#OnInit(in e : EventArgs)
-display(in i : int, in reservNumber : string) -InitializeComponent()
-btnFind_Click(in sender : object, in e : EventArgs)
-display()
-dgReservation_SelectedIndexChanged(in sender : object, in e : EventArgs)
Component Design (cont)
Presentation Tier
Hotel::CreateNewAccount Secure::Edit
#lblTest : Label #RegularExpressionValidator3 : RegularExpressionValidator
#RegularExpressionValidator4 : RegularExpressionValidator
#lblTest : Label
#RegularExpressionValidator2 : RegularExpressionValidator
#RegularExpressionValidator1 : RegularExpressionValidator #RegularExpressionValidator4 : RegularExpressionValidator
#RequiredFieldValidator1 : RequiredFieldValidator #RegularExpressionValidator1 : RegularExpressionValidator
#ValUserID : RequiredFieldValidator #btnSubmit : Button
#btnSubmit : Button #txtFirstName : TextBox
#txtUserID : TextBox #txtLastName : TextBox
#txtPassword : TextBox #txtAddress : TextBox
#txtEmail : TextBox
#txtCity : TextBox
#txtFirstName : TextBox
#txtLastName : TextBox #txtPhone : TextBox
#txtHAddress : TextBox #txtCCNumber : TextBox
#txtHCity : TextBox #lstState : DropDownList
#txtHPhone : TextBox #lstCardType : DropDownList
#lstHState : DropDownList #RequiredFieldValidator3 : RequiredFieldValidator
#RequiredFieldValidator3 : RequiredFieldValidator #RequiredFieldValidator4 : RequiredFieldValidator
#RequiredFieldValidator4 : RequiredFieldValidator
#RequiredFieldValidator5 : RequiredFieldValidator
#RequiredFieldValidator5 : RequiredFieldValidator
#RequiredFieldValidator6 : RequiredFieldValidator #RequiredFieldValidator6 : RequiredFieldValidator
#RequiredFieldValidator7 : RequiredFieldValidator #RequiredFieldValidator7 : RequiredFieldValidator
#RequiredFieldValidator2 : RequiredFieldValidator #RequiredFieldValidator9 : RequiredFieldValidator
#RequiredFieldValidator9 : RequiredFieldValidator #txtZip : TextBox
#txthzip : TextBox #RequiredFieldValidator10 : RequiredFieldValidator
#lstCardType : DropDownList #lstExpMonth : DropDownList
#lstExpMonth : DropDownList
#lblUserName : Label
#lstExpYear : DropDownList
#RegularExpressionValidator3 : RegularExpressionValidator #Label3 : Label
#txtCCNumber : TextBox #Label1 : Label
#Label3 : Label #Label2 : Label
#Label1 : Label #lstExpYear : DropDownList
#Label2 : Label -Page_Load(in sender : object, in e : EventArgs)
#holder : PlaceHolder
#RequiredFieldValidator10 : RequiredFieldValidator
#OnInit(in e : EventArgs)
-InitializeComponent()
-Page_Load(in sender : object, in e : EventArgs)
#OnInit(in e : EventArgs) -userInfo()
-InitializeComponent() -SelectListItem(in list : DropDownList, in text : string)
-btnSubmit_Click(in sender : object, in e : EventArgs) -btnSubmit_Click(in sender : object, in e : EventArgs)
Component Design (cont)
Presentation Tier
Hotel::RequestAccount
#lblTest : Label
#RegularExpressionValidator4 : RegularExpressionValidator
#RegularExpressionValidator2 : RegularExpressionValidator
#RegularExpressionValidator1 : RegularExpressionValidator
#RequiredFieldValidator1 : RequiredFieldValidator
#ValUserID : RequiredFieldValidator
#btnSubmit : Button
#txtUserID : TextBox
#txtPassword : TextBox
#txtEmail : TextBox
#txtHAddress : TextBox Hotel::SignOut
#txtHCity : TextBox
#txtHPhone : TextBox
#lstHState : DropDownList
#RequiredFieldValidator3 : RequiredFieldValidator -Page_Load(in sender : object, in e : EventArgs)
#RequiredFieldValidator5 : RequiredFieldValidator
#RequiredFieldValidator6 : RequiredFieldValidator #OnInit(in e : EventArgs)
#RequiredFieldValidator2 : RequiredFieldValidator
#RequiredFieldValidator9 : RequiredFieldValidator
-InitializeComponent()
#txthzip : TextBox
#txtCompanyName : TextBox
#Label3 : Label
#Label1 : Label
#holder : PlaceHolder
#RequiredFieldValidator10 : RequiredFieldValidator
-Page_Load(in sender : object, in e : EventArgs)
#OnInit(in e : EventArgs)
-InitializeComponent()
-btnSubmit_Click(in sender : object, in e : EventArgs)
Component Design (cont)
Presentation Tier
TravelAgent::SalesReport TravelAgent::GuestInformation
#Label1 : Label
#calDate1 : Calendar
#RegularExpressionValidator3 : RegularExpressionValidator
#btnCalender1 : ImageButton #lblTest : Label
#btnCalander2 : ImageButton #RegularExpressionValidator4 : RegularExpressionValidator
#btnReport : Button #RegularExpressionValidator1 : RegularExpressionValidator
#pnlReport : Panel #btnSubmit : Button
#lblSales : Label #txtFirstName : TextBox
#txtLastName : TextBox
#lblComm : Label
#txtHAddress : TextBox
#lblEnding : Label #txtHCity : TextBox
#lblStarting : Label #txtHPhone : TextBox
#lbltitle : Label #txtCCNumber : TextBox
#Label3 : Label #lstHState : DropDownList
#Label2 : Label #lstCardType : DropDownList
#RequiredFieldValidator3 : RequiredFieldValidator
#txtStarting : TextBox
#RequiredFieldValidator4 : RequiredFieldValidator
#txtEnding : TextBox #RequiredFieldValidator5 : RequiredFieldValidator
#RequiredFieldValidator1 : RequiredFieldValidator #RequiredFieldValidator6 : RequiredFieldValidator
#RequiredFieldValidator2 : RequiredFieldValidator #RequiredFieldValidator7 : RequiredFieldValidator
#CompareValidator1 : CompareValidator #RequiredFieldValidator9 : RequiredFieldValidator
#ValidationSummary1 : ValidationSummary #txthzip : TextBox
#RequiredFieldValidator10 : RequiredFieldValidator
#calDate2 : Calendar
#lstExpMonth : DropDownList
-Page_Load(in sender : object, in e : EventArgs) #lstExpYear : DropDownList
#OnInit(in e : EventArgs) #RegularExpressionValidator2 : RegularExpressionValidator
-InitializeComponent() #txtEmail : TextBox
#RequiredFieldValidator2 : RequiredFieldValidator
-btnCalender1_Click(in sender : object, in e : ImageClickEventArgs)
#Label3 : Label
-btnCalander2_Click(in sender : object, in e : ImageClickEventArgs)
-Page_Load(in sender : object, in e : EventArgs)
-calDate1_SelectionChanged(in sender : object, in e : EventArgs) #OnInit(in e : EventArgs)
-calDate2_SelectionChanged(in sender : object, in e : EventArgs) -InitializeComponent()
-btnReport_Click(in sender : object, in e : EventArgs) -btnSubmit_Click(in sender : object, in e : EventArgs)
Component Design (cont)
Presentation Tier
Administrator::AddHotel Administrator::AddRoom
#btnAdd : Button
#txtHotelName : TextBox
#lblHName : Label
#txtPhoneNumber : TextBox #RequiredFieldValidator7 : RequiredFieldValidator
#txtAddress : TextBox #CompareValidator2 : CompareValidator
#txtCity : TextBox #Label3 : Label
#txtZip : TextBox #Label1 : Label
#lstStar : DropDownList #Label2 : Label
#btnFind : Button
#btnAdd : Button
#txtHID : TextBox
#Label1 : Label #lblDoorNumber : Label
#txtHotelID : TextBox #lblBedType : Label
#CompareValidator1 : CompareValidator #lblSmoking : Label
#RequiredFieldValidator1 : RequiredFieldValidator #lblAccessible : Label
#RequiredFieldValidator2 : RequiredFieldValidator #lblPrice : Label
#txtDoorNumber : TextBox
#RegularExpressionValidator1 : RegularExpressionValidator
#txtPrice : TextBox
#RequiredFieldValidator3 : RequiredFieldValidator #RequiredFieldValidator1 : RequiredFieldValidator
#RequiredFieldValidator4 : RequiredFieldValidator #RequiredFieldValidator2 : RequiredFieldValidator
#RequiredFieldValidator5 : RequiredFieldValidator #CompareValidator1 : CompareValidator
#RequiredFieldValidator6 : RequiredFieldValidator #CompareValidator3 : CompareValidator
#RegularExpressionValidator2 : RegularExpressionValidator #ValidationSummary1 : ValidationSummary
#lblMessage : Label
#lblMessage : Label
#lstBed : DropDownList
#Label2 : Label #lstSmoking : DropDownList
#Label3 : Label #lstAccessible : DropDownList
#lblTitle : Label #lblMessage1 : Label
#lstState : DropDownList -Page_Load(in sender : object, in e : EventArgs)
-Page_Load(in sender : object, in e : EventArgs) #OnInit(in e : EventArgs)
-InitializeComponent()
#OnInit(in e : EventArgs) -btnFind_Click(in sender : object, in e : EventArgs)
-InitializeComponent() -display(in hotel : Hotel)
-btnAdd_Click(in sender : object, in e : EventArgs) -btnAdd_Click(in sender : object, in e : EventArgs)
Component Design (cont)
Presentation Tier
Administrator::Report
#ValidationSummary1 : ValidationSummary
#btnReport : Button
#txtEnding : TextBox
#calDate1 : Calendar
#btnCalender1 : ImageButton
#btnCalander2 : ImageButton
#txtStarting : TextBox
Administrator::ApproveTravelAgent #calDate2 : Calendar
#CompareValidator1 : CompareValidator
#Label1 : Label #RequiredFieldValidator1 : RequiredFieldValidator
#Label2 : Label #pnlReport : Panel
#lblTitle : Label #lbltitle : Label
#dataSetTravelAgent1 : DataSetTravelAgent #lblEnding : Label
#lblMessage : Label #lblStarting : Label
#lblName : Label
#dgAgent : DataGrid
#txtHotelID : TextBox
#Label3 : Label #RequiredFieldValidator3 : RequiredFieldValidator
-Page_Load(in sender : object, in e : EventArgs) #CompareValidator2 : CompareValidator
#OnInit(in e : EventArgs) #lblMessage : Label
-InitializeComponent() #lblAddress : Label
#lblOccupancy : Label
-display()
#Label3 : Label
-DataGrid1_SelectedIndexChanged(in sender : object, in e : EventArgs) #Label1 : Label
-disApprove(in source : object, in e : DataGridCommandEventArgs) #RequiredFieldValidator2 : RequiredFieldValidator
-Page_Load(in sender : object, in e : EventArgs)
#OnInit(in e : EventArgs)
-InitializeComponent()
-calDate1_SelectionChanged(in sender : object, in e : EventArgs)
-calDate2_SelectionChanged(in sender : object, in e : EventArgs)
-btnCalender1_Click(in sender : object, in e : ImageClickEventArgs)
-btnCalander2_Click(in sender : object, in e : ImageClickEventArgs)
-btnReport_Click(in sender : object, in e : EventArgs)
Component Design (cont)
Presentation Tier
Administrator::UpdateHotel
#lblMessage : Label
#RegularExpressionValidator2 : RegularExpressionValidator
#RequiredFieldValidator5 : RequiredFieldValidator
#RegularExpressionValidator1 : RegularExpressionValidator
#RequiredFieldValidator1 : RequiredFieldValidator Administrator::UpdateRoom
#RequiredFieldValidator2 : RequiredFieldValidator
#RequiredFieldValidator3 : RequiredFieldValidator
#Label1 : Label
#RequiredFieldValidator4 : RequiredFieldValidator #Label2 : Label
#Label1 : Label #btnFind : Button
#Label3 : Label #txtHID : TextBox
#btnUpdate : Button
#Label2 : Label #RequiredFieldValidator7 : RequiredFieldValidator
#txtHID : TextBox #CompareValidator2 : CompareValidator
#RequiredFieldValidator7 : RequiredFieldValidator #lblMessage1 : Label
#CompareValidator2 : CompareValidator
#btnFind : Button
#lblMessage : Label
#txtHotelName : TextBox #dataSetRoom1 : DataSetRoom
#txtPhoneNumber : TextBox #dgRoom : DataGrid
#lstStar : DropDownList #lblTitle : Label
#txtAddress : TextBox
#txtCity : TextBox #Label3 : Label
#txtZip : TextBox -Page_Load(in sender : object, in e : EventArgs)
#lblHotelID : Label
#OnInit(in e : EventArgs)
#lblHotelName : Label
#lblPhone : Label -InitializeComponent()
#lblRating : Label -btnFind_Click(in sender : object, in e : EventArgs)
#lblAddress : Label -display(in hotelID : string)
#lblCity : Label
#lblZip : Label
-OnEdit(in source : object, in e : DataGridCommandEventArgs)
#lstState : DropDownList -OnCancel(in source : object, in e : DataGridCommandEventArgs)
#lblState : Label -OnUpdate(in source : object, in e : DataGridCommandEventArgs)
#lblHotelInfo : Label -validEntries(in price : string) : bool
#lblHID : Label
#lblMessage1 : Label -ChangePage(in source : object, in e : DataGridPageChangedEventArgs)
-Page_Load(in sender : object, in e : EventArgs) -sortDoorNumber(in source : object, in e : DataGridSortCommandEventArgs)
#OnInit(in e : EventArgs) -PreSelect(in sender : object, in e : DataGridItemEventArgs)
-InitializeComponent()
-btnFind_Click(in sender : object, in e : EventArgs)
-display(in hotel : Hotel)
-SelectListItem(in list : DropDownList, in text : string)
-btnUpdate_Click(in sender : object, in e : EventArgs)
Component Design (cont)
Middle Tier
User
-m_userName : string
-m_email : string
-m_password : string
-m_phone : string
-m_address : string
-m_city : string
-m_state : string
-m_zip : string
+User()
+VerifyLogin(in user : User) : bool
+isValidUserName(in userName : string) : bool
+getUser(in user : User)
+userName() : string
+email() : string
+password() : string
+address() : string
+city() : string
+state() : string
+zip() : string
+phone() : string
Component Design (cont)
Middle Tier
TravelAgent
-m_companyName : string
-m_status : string
+TravelAgent()
+requestAccount(in userName : string, in email : string, in password : string, in companyName : string, in phone : string, in address : string, in city : string, in state : string, in zip : string) : bool
+totalSales(in userName : string, in startingDate : string, in endingDate : string) : string
+salesCommussion(in totalSales : double) : double
+companyName() : string
+status() : string
Component Design (cont)
Middle Tier
Customer
-m_firstName : string
-m_lastName : string
-m_cardType : string
-m_cardNumber : long
-m_experationDate : string
+Customer()
+createAccount(in userName : string, in email : string, in password : string, in firstName : string, in lastName : string, in cardType : string, in cardNumber : long, in experation : string, in phone : string, in address : string, in city : string, in state : string, in zip : int) : bool
+updateAccount(in userName : string, in firstName : string, in lastName : string, in cardType : string, in cardNumber : long, in experationDate : string, in phone : string, in address : string, in city : string, in state : string, in zip : string) : bool
+firstName() : string
+lastName() : string
+cardType() : string
+cardNumber() : long
+experationDate() : string
Component Design (cont)
Middle Tier
Administrator Mail
-m_userName : string
-m_password : string
+Administrator()
+VerifyLogin(in userName : string, in password : string) : bool
+getWaitingAgent() : DataSetTravelAgent +Mail()
+approveAccount(in userName : string) : bool
+disApproveAccount(in userName : string) : bool
+sendMail(in e_address : string) : bool
+occupancyReport(in hotelID : string, in startingDate : string, in endingDate : string) : string
+userName() : string
+approveAccount(in e_address : string) : bool
+password() : string +disApproveAccount(in e_address : string) : bool
Component Design (cont)
Middle Tier
Hotel
-m_hotelID : string
-m_name : string
-m_street : string
-m_city : string
-m_state : string
-m_zip : string
-m_phone : string
-m_rating : int
+Hotel()
+isValidHID(in hotelID : string) : bool
+findHotel(in city : string, in state : string) : dsHotelResult
+getHotel(in hotelID : string) : bool
+newHotel(in hotelID : string, in name : string, in address : string, in city : string, in state : string, in zip : string, in phone : string, in rating : int) : bool
+updateHotel(in hotelID : string, in name : string, in address : string, in city : string, in state : string, in zip : string, in phone : string, in rating : int) : bool
+numberOfRoom(in hotelID : string) : int
+occupancyRate(in hotelID : string, in startingDate : string, in endingDate : string) : double
+hotelID() : string
+name() : string
+street() : string
+city() : string
+state() : string
+zip() : string
+phone() : string
+rating() : int
Component Design (cont)
Middle Tier
Room
-m_roomNumber : int
-m_price : double
-m_bedType : string
-m_smoking : string
-m_handicap_access : string
-m_roomLock : string
+Room()
+isValidDoorNumber(in doorNumber : string, in hotelID : string) : bool
+getRoomAvl(in hotelID : string, in bed : string, in smoking : string, in handicap_access : string, in checkIn : string, in checkOut : string) : DataSetAvlRoom
+getRoomAvl(in hotelID : string, in bed : string, in smoking : string, in handicap_access : string, in checkIn : string, in checkOut : string, in price : double) : DataSetAvlRoom
+getRoomAvl(in hotelID : string, in bed : string, in smoking : string, in handicap_access : string, in checkIn : string, in checkOut : string, in price : double, in ds : DataSetAvlRoom) : DataSetAvlRoom
+getRoomAvlPrice(in hotelID : string, in price : string, in checkIn : string, in checkOut : string) : DataSetAvlRoom
+getRoomAvlPrice(in hotelID : string, in bed : string, in smoking : string, in handicap_access : string, in checkIn : string, in checkOut : string, in price : double) : DataSetAvlRoom
+getRoom(in roomNumber : string) : DataSetAvlRoom
+getRoom(in roomNumber : string, in ds : DataSetAvlRoom) : DataSetAvlRoom
+getAllRoom(in hotelID : string) : DataSetRoom
+newRoom(in hotelID : string, in doorNumber : string, in price : double, in bedType : string, in smoking : string, in handicap_access : string) : bool
+updateRoom(in roomNumber : int, in price : double, in bedType : string, in smoking : string, in handicap_access : string) : bool
+roomNumber() : int
+price() : double
+bedType() : string
+smoking() : string
+handicap_access() : string
+roomLock() : string
Component Design (cont)
Middle Tier
Reservation
-m_reservationNumber : int
-m_checkIn : string
-m_checkOut : string
-m_resvDate : string
-m_price : double
-m_totalCost : double
-m_roomNumber : int
-m_userName : string
-m_hotelID : string
+Reservation()
+makeReservation(in r : Reservation) : bool
+agentMakeReservation(in r : Reservation, in guest : Customer) : bool
+getReservation(in reservationNumber : int) : DataSetReservation
+cancelReservation(in reservationNumber : int) : bool
+calculateTotal(in r : Reservation) : double
+calculateTax(in r : Reservation) : double
+reservationNumber() : int
+checkIn() : string
+checkOut() : string
+resvDate() : string
+price() : double
+totalCost() : double
+roomNumber() : int
+userName() : string
+hotelID() : string
Component Design (cont)
Middle Tier
Database
Guest
+Database()
-m_reservationNumber : long -conString()
+queryLogin()
+Guest() +queryIsValidUserName()
+getGuest(in guest : Guest) +queryIsValidAgentUserName()
+reservationNumber() : long +queryGetUserInfo()
+queryGetGuestInfo()
+deleteGuest(in reservationNumber : int) : bool
+querySaveNewCustomer()
+queryUpdateCustomerAccount()
+querySaveNewReservation()
+querySaveAgentReservation()
+querySaveGuestInfo()
+queryLoginAdmin()
+queryNumOfRsrv()
Error +queryFindHotel()
+queryGetHotel()
-EVENT_LOG_SOURCE : string = "HRS"
+queryIsValidHID()
+Log(in message : string) +querySaveNewHotel()
+queryUpdateHotel()
+queryNumberOfRoom()
+queryIsValidDoorNumber()
+queryGetAllRoom()
+getRoomAvl()
+getRoomAvl()
+getRoomAvl()
+queryRoomAvlPrice()
+queryRoomAvlPrice()
+queryGetRoom()
+queryGetRoom()
+querySaveNewRoom()
-queryCreateRoomID()
+queryUpdateRoom()
+queryGetReservation()
+queryCancelReservation()
+queryDeleteGuest()
+queryGetWaitingAgent()
+queryApproveAccount()
+queryDisApproveAccount()
+queryTotalSales()
+queryRequestAccount()
Component Design (cont)
Data Tier
Assessment Evaluation
Test Case Results
Assessment Evaluation (cont)
Performance Testing with JMeter
Test Scenario
Search hotel
List hotels for particular search
Select an hotel
List available rooms
Reserve rooms
Login
Place the reservation
Display confirmation numbers
Assessment Evaluation (cont)
1 user, 14 http
request, 5 repeat
Deviation = 17 ms
Throughput =
1606.73 /min
Average = 33 ms
CPU usage = 30 %
Assessment Evaluation (cont)
10 user, 14 http
request, 5 repeat
Deviation = 113 ms
Throughput =
1548.72 /min
Average = 372 ms
CPU usage = 100 %
Assessment Evaluation (cont)
30 user, 14 http
request, 5 repeat
Deviation = 123 ms
Throughput =
2792.24 /min
Average = 526 ms
CPU usage = 100 %
Assessment Evaluation (cont)
Performance Testing Result Summary
Assessment Evaluation (cont)
Performance Analyze
VTune Performance Analyzers is used to profile of
performance of the customer site
Test Scenario
Search hotel
List hotels for particular search
Select an hotel
List available rooms
Reserve rooms
Login
Place the reservation
Display confirmation numbers
Assessment Evaluation (cont)
1 user , 14 http
request and 5
repeat
CPU usage 100 %
Assessment Evaluation (cont)
Assessment Evaluation (cont)
10 user , 14 http
request and 5
repeat
CPU usage 100 %
User Manual
The installation and set up guide and a
detailed walkthrough of the project is
provided in the user manual.
Code Documentation
MSDN-online style web pages
Project Evaluation
SLOC (Actual)
Line of C# code = 3039
Line of auto generated C# code = 741
Line of XML code = 281
Line of HTML code = 120
Line of SQL code = 90
Line of CSS code = 53
Total 4324
SLOC (Predicted)
Phase I (similar examples) = 2400
Phase II (Prototype) = 3200
Project Evaluation (cont)
Project duration (actual)
Phase I = 108.4 hrs
Phase II = 122.84 hrs
Phase III = 257.83 hrs
Total = 489.17 hrs
Project duration (estimate) = 382 hrs
Project Evaluation (cont)
Break Down for Each Phase
Phase I
Phase II
Phase III, 257.83, 53% Phase III
Testing, 0, 0%
Research
Design
Coding
Coding, 18, 17%
Research, 60.8, 56% Testing
Design, 2, 2% Documentation
Project Evaluation (cont)
Phase II Break Down
Research, 18.58, 7%
Documentation, 38, 15%
Design, 6, 2%