Professional Documents
Culture Documents
System
MSE Presentation 2
Cem Oguzhan
February 21, 2005
Outline
Project Overview
Action Items
Project Plan
Architecture Design
Formal Specification
Formal Inspection Check List
Test Plan
Questions
Demo (Hotel Reservation System)
Project Overview
Project Statement
To provide a web site that can allow a user to
search and reserve a hotel room or cancel his/her
reservation over the internet at any time.
Action Items from the last presentation.
Users can reserve up to three rooms with their
own room preferences at the time.
Dynamic price search for rooms.
Travel agents can request an account to be a
member to the HRS.
Project Plan – Cost Estimate
Current Progress
232 total hours (Phase 1 & Phase 2)
77 hours research
78 hours documentation
21 hours design
56 hours coding
800 SLOC
25% of implemented features
6 Documents
Project Plan – Cost Estimate
Productivity
800 SLOC / 56 hours = 14.2 SLOC/hour
6 Documents / 78 hours = 0.07 Docs/hour
Remaining Work
800 SLOC / 0.25 = 3200 SLOC (estimated
total)
4-5 Documents
Project Plan – Cost Estimate
Remaining Effort
2400 SLOC / (14.2 SLOC/hour)
= 169 hours or 25 days (7 hours per day)
72 hours for documentation
= 11 days
Project Plan – WBS
High Level
Coding/debugging – 25 days
Testing – 7 days
Documentation – 11 days
Project Plan -WBS
Deliverables for Presentation 3
Action Items (documentation)
User Manual (documentation)
Component Design (documentation)
Assessment Evaluation (testing)
Project Evaluation (documentation)
References (documentation)
Technical Inspection Letters (documentation)
Project Plan
Development (2/22 – 3/31)
Testing (4/1 – 4/11)
Documentation (4/12 – 4/29)
Architecture Design
The architecture of the HRS is based on
3-tier architecture. There are three
logical tiers:
the presentation tier.
the middle tier.
the data tier.
Architecture 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
Architecture Design – Presentation Tier
2: new : User
3: verifyLogin(userName:String,password:String)
4: Verify
5: [IsVerify]
3: new : Hotel
5: v erif y
6: [IsVerif y ]
7: selectHotel()
12: v erif y
13: reserv e
16: Verif y
This sequence diagram shows successf ull reserv ation and user already logged in.
Operation Signature:
getRoomAv l(hotelID : String, bedTy pe : String, smoking : String, c heckIn : Date, checkOut : Date) : Room
Detail View
Architecture Design –
Canceling a Reservation
: CancelReservation.aspx : ConfirmCancelReservation.aspx
: User
3: getReservation(reservationNumber:Integer)
4: cancel()
5: cancelReservation(reservationNumber:Integer)
6: verify
7: [IsVerify]
Architecture Design -
Requesting an Account
: RequestAccount.aspx : Mail
: Agent
2: new : TravelAgent
3: requestAccount()
4: verify
5: [verify] sendMail(e_address:String)
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
Architecture Design –
Generating a Report
: Report.aspx : TravelAgent
: Agent
3: Report
Architecture Design – Adding
an Hotel
: AddHotel.aspx : ConfirmAddHotel.aspx
: Admin
2: new : Hotel
3: newHotel()
4: verify
5: [IsVerify]
The sequence diagram shows successfuly adding a hotel. The admin is already login.
Operation Signuture:
newHotel(hotelID : String, name : String, address : String, city : String, state : String, phone : String, rating : Integer) : Boolean
Architecture Design – Data
Tier
Architecture Design
Error Handling
The full stack trace and requested URL that
generated the error is written to the Application
Event Log on Internet Information Services (IIS)
server
Security
The Hotel Reservation System uses ASP.NET Forms
Authentication to validate users.
Formal Specification
--Custumer and TravelAgent have unique user name
context User
inv uniqueUserName:
User.allInstances->forAll(u1,u2 | u1<>u2 implies
u1.userName<>u2.userName)
--the customer's userName can not be updated and userName of old customers’ record are not changed
post:Customer.allInstances.userName = Customer.allInstances.userName@pre
--existing hotels record are not changed only a new hotel is added
post:Hotel.allInstances.hotelID = Hotel.allInstances.hotelID@pre->
including(hotelID)
post:Hotel.allInstances.name = Hotel.allInstances.name@pre->including(name)
post:Hotel.allInstances.address = Hotel.allInstances.address@pre->
including(address)
post:Hotel.allInstances.city = Hotel.allInstances.city@pre->including(city)
post:Hotel.allInstances.state = Hotel.allInstances.name@pre->including(state)
post:Hotel.allInstances.phone = Hotel.allInstances.name@pre->including(phone)
post:Hotel.allInstances.rating = Hotel.allInstances.rating@pre->including(rating)
Formal Specification
--make a reservation
context Reservation::makeReservation(r:Reservation)
--pre:r.theUser.verifyLogin(r.theUser.userName,r.theUser.password)
--pre: Reservation.allInstances->excludes(r)
--post:Reservation.allInstances.reservationNumber =
Reservation.allInstances.reservationNumber@pre->
including(r.reservationNumber)
Formal Inspection Check List
1. The documentation follows MSE portfolio standard which is describe at http://
www.cis.ksu.edu/~sdeloach/mse/portfolio.htm
2. Every requirement has only one clear interpretation.
3. The requirements of the system are consistent .
4. The architecture of the system is sufficiently clear from the documents and
diagrams.
5. The architecture design implements all specification and requirements.
6. The symbols used in the class diagrams conform to the UML standards.
7. The symbols used in the sequence diagrams conform to the UML standards.
8. The class diagrams have a corresponding description provide in the architectural
design document.
9. The descriptions of all class diagrams are clear and make sense.
10. All classes in the HRS are found in the USE model.
11. The role names and multiplicities in the USE model match correctly to UML
diagrams of the HRS.
12. The operations in the USE model match with the methods of the corresponding
class diagrams of the HRS.
Test Plan
Unit Testing with TestSharp2004