Hotel Reservation System Detailed Design

advertisement
AJAC Systems
Hotel Reservation System
Team Members:
Anqi Chen – achen@eagle.fgcu.edu
JinLong Fan – jfan@eagle.fgcu.edu
Andon Coleman – amcolema@eagle.fgcu.edu
Christopher Steiner – csteine@eagle.fgcu.edu
High Level Architecture
High Level Architecture
• Front End – Provides User Interfaces for Guests, Staff and Administrators, and
forwards all Database transactions to the Back End
• Back End – Houses the Database, its only connection to the outside world is to the
Front End component(s)
• Front Desk PCs – Client PCs that connect to the Front End through the network
• Guest – Basic User account that is allowed to review, add, or cancel his or her own
reservations
• Browser – Guests connect to the Front End using a web browser via the Internet
• ASP – Active Server Page, allows the server to execute code to modify the HTML
output of a page.
• Microsoft IIS – A suite of server software for Microsoft Windows that provides Mail,
FTP and HTTP.
• Microsoft Access – Relational Database Management System compliant with ODBC.
• ODBC – Open DataBase Connectivity, a standard API to develop software that
interfaces with databases.
Design Issues
Reusability
• Underlying design language is tied to abstract components, rather
than specific implementation.
– The Staff “interface with a Staff Frontend, which connects to the
Database (backend).”
– The staff do not “view a webpage hosted by Microsoft IIS that
interfaces with Microsoft Access using ASP and ODBC.”
• OOP-influenced design encourages a high degree of reusability.
– The database itself is not an application of OOP, but the collaboration
between the front and back-ends, data composition and sequencing
are all modeled using OOP methods before implementation.
– This is very important in implementing multiple user-interfaces
(frontends) to the database for different user types, and supporting
architectural changes.
Maintainability
• The software is built around widely-used COTS solutions for all nonapplication domain components (i.e. Database servers and web
browsers).
– These components are maintained by separate companies, who have a
commercial obligation to ensure migration support between future
releases of their products.
• Full source-code and design documents will be delivered to the
client upon completion, so that the client can make changes to and
understand the design of the software even if the system outlives
its designers (as buildings often do).
• The addition or removal of rooms and other tasks like it must be
manageable by someone within the Hotel’s organization using an
administrative interface. The software design team is not a part of
the Hotel’s organization, and the Hotel must not be dependant on
the original contracted design team for normal operation
Testability:
• Well-defined forms mean that input validation
is simple to test
• Multiple frontend connections require testcases for concurrency
• Specialized test-cases are needed to ensure
valid transaction sequencing
• To ensure safety, testing must include user
privilege level checks (i.e. Guests cannot view,
add or remove another Guest’s information).
Performance:
• The system does not collect much customer information, so reservation
efficiency is a function of staff efficiency and the connection between
User, Frontend and Backend.
– Frontend and backend should be hosted in the same location to minimize
latency and reliability issues.
• Staff efficiency is measurable by the number of button presses, forms and
reports necessary to complete common use cases; the goal is to minimize
this statistic.
• Size and structure of the customer database is a performance factor,
particularly when locking records to prevent data loss while there are
simultaneous Frontend connections.
• Reliability is achieved by extensive testing of component interaction.
Portability
Not a major concern for this software.
Aspects of Reusability and Maintainability may
contribute to, but are not implemented with
the portability of the software in mind
Safety:
• The database can only be accessed by users with proper credentials
(password login and user types).
• There is only one point of connection between users and the database
(the frontend).
• Customer information is only stored in the Database backend, the
frontend does not keep copies of data after a form is filled out.
• An Uninterruptible Power Supply (UPS) is mandatory for the Frontend and
Backend, and suggested for front desk nodes; data loss due to power
failure is an easily avoidable catastrophe.
• Extensive testing ensures that statements 1 and 3 are met.
Detailed Design Information
Relationship Diagram
Diagram 1.1
Sequence Diagrams
Diagram 2.1
Sequence Diagrams cont.
Diagram 2.2
Data Flow Diagram
Diagram 3.1
Use Case Diagram
Diagram 4.1
Class Diagram
Diagram 5.1
Website Layout
Diagram 6.1
Website Layout
Diagram 6.2
Website Layout
Diagram 6.3
Download