Professional Documents
Culture Documents
Chrichtian A. Neal
CERTIFICATE
This is to certify that this a bona fide record to the project work done satifactorily at Uttar Pradesh by Chrichtian A. Neal (BSc IT015420102013027) of the BSCIT10 program.
This report or the similar report on this topic has not been submitted for any other examination and does not form part of any othe course undergone by the candidate.
Chrichtian A. Neal
ABSTRACT
With the rapid changing of todays worlds in technological advancements and information over charge (surplus), it is yet to draw a definite conclusion that there are no opposing forces to the inevitable change. Information and Communication Technology (interchangeably used as IT) with a referenced grip on MIS has bridge the gap between people and information, but it is more interesting how information is derived at to making decisions affecting every aspect of our individual lives. An investigative survey was done amongst some urban hotels with in the city to captivate, to an extent, the acceptance of the change afforded by Information Technology in a day-to-day handling of resource raw data by which decisions are made and businesses thrive. For the setting, it was noticed that as much as information (as a result of organized data) plays a leading role in the businesses lives, just but a few would consider the finds. On a larger scale, hotels were not managing data well or not at all, and proposing a more efficient way of data management (considering the cost to the high advantage) was such a constraint to hotel managers. At a reasonable timing a hotel was able to see the need for such a change, allow a case study to improve it already partially manual booking and cancellation process and semielectronic billing system. This project proves a basis to elaborate that the more concise, centralize, and organized data becomes, so will the output (information) be. It was discovered in analyzing the developed system to the former that efficiency, timing, redundancy elimination, productivity, feasibility, and cost reduction were prime in its objectives. Based on this project, a closer look at the perception and the resource factor to improving the overall goal to drive people and entities toward managing data which plays a critical role in the decision they make, which improves or impedes productivity but focusing on deriving an inexpressive module for the sole purpose of managing small and medium (income generating) hotels facilities.
Chrichtian A. Neal
ACKNOLEWDGEMENT
I would like to extend special thanks and gratitude to the Human Resource Manager of The Cape Hotel, Mr. Victor J. Whitfield, for his valuable time afforded me in preparing the outcome of this project. Another big thank you to my office (and entire staff) for allowing be the peace I needed on Earth to complete this project. Had it not been for their understand and less unlimited job requests, I wouldnt have been able to come to a reasonable finish.
Chrichtian A. Neal
TABLE OF CONTENT
1. Introduction .......................................................................................................................................... 1 1.1 Background ................................................................................................................................... 1 1.2 Objectives...................................................................................................................................... 1 1.3 Purpose, Scope, and Applicability ................................................................................................. 2 1.3.1 Purpose ................................................................................................................................. 2 1.3.2 Scope ..................................................................................................................................... 2 1.3.3 Applicability........................................................................................................................... 2 1.4 Achievements................................................................................................................................ 2 1.5 Organization of Report.................................................................................................................. 3 2. Survey of Technologies ......................................................................................................................... 4 3. Requirements and Analysis ................................................................................................................... 8 3.1 Problem Definition: ....................................................................................................................... 8 3.2 System Analysis: ............................................................................................................................ 8 3.2.1 Cape Hotel system at the moment runs as follows: ........................................................... 10 3.2.2 Problems faced with system at Cape Hotel ........................................................................ 10 3.3 Planning and Scheduling ............................................................................................................. 11 3.4 Software and Hardware Requirements:.................................................................................... 12 3.4.1 Computer ............................................................................................................................ 12 3.4.2 Printer ................................................................................................................................. 12 3.4.3 Software Requirement: ....................................................................................................... 12 3.5 Preliminary Product Description ................................................................................................. 13 3.5.1 End users requirement........................................................................................................ 13 3.5.2 Hotel information................................................................................................................ 13 3.6 Conceptual Models: .................................................................................................................... 15 3.6.1 System flowchart: ............................................................................................................... 16 4. System Design ..................................................................................................................................... 17 4.1 Data Design ................................................................................................................................. 17 4.1.1 Integrity and Constraints .................................................................................................... 17 4.1.2 Normalization of entities .................................................................................................... 18 4.1.3 Entity Relationship Diagram (ER Diagram).......................................................................... 21 4.1.4 Functional Dependencies .................................................................................................... 22 4.2 Basic Modules: ............................................................................................................................ 23 4.2.1 Form prototype .......................................................................................................................... 23 4.3 User Interface Design:................................................................................................................. 31 4.3.1 Main menu .......................................................................................................................... 32 4.3.2 Entity Relationship Diagram (ERD) ...................................................................................... 38 4.4 Security Issues: ............................................................................................................................ 43 4.4.1 User Identification............................................................................................................... 43 4.4.2 Network Access ................................................................................................................... 43 4.4.3 Recovery.............................................................................................................................. 43 4.4.4 Malware and Intrusion ........................................................................................................ 43 5. Implementation and Testing ............................................................................................................... 44 5.1 Coding: ........................................................................................................................................ 44 5.1.1 Forms: ................................................................................................................................. 44 5.1.2 Form_CreditCard ................................................................................................................. 47
Chrichtian A. Neal 5.1.3 Form_Customer .................................................................................................................. 48 5.1.4 Form_Menu ........................................................................................................................ 48 5.1.5 Form_Report ....................................................................................................................... 50 5.1.6 Form_Room Available ......................................................................................................... 52 5.1.7 Queries: ............................................................................................................................... 52 5.2 Switchboard: ............................................................................................................................... 54 5.2.1 Switchboard codes: ............................................................................................................. 55 5.3 Testing Approach ........................................................................................................................ 59 5.4 Modifications and Improvements:.............................................................................................. 61 6. Results and Discussion ........................................................................................................................ 62 6.1 Test Reports: ............................................................................................................................... 62 6.2 User Documentation: .................................................................................................................. 63 7. Conclusion ........................................................................................................................................... 73 7.1 Limitations of the System: .......................................................................................................... 73 7.2 Future Scope of the Project ........................................................................................................ 74 REFERENCES ............................................................................................................................................ 75 APPENDIX .................................................................................................................................................... 76
GLOSSARY
Term Definition
Data handling
the process of ensuring that research data is stored, archived or disposed in a safe and secure manner during and after the conclusion of a research project. This includes the development of policies and procedures to manage data handled electronically as well as through non-electronic means (receptionist) an employee that performs the duties of receiving guests (booking), visitors, and answer phone calls. is a line of business accounting software developed and marketed by Intuit. is the apartment or room located at the top floor of a building usually expensive for very high executive. is tool kit used by programmers which allows program with the help of MS Office-embedded Visual Basic (VB) tools to create a Graphical User Interface (GUI) to include command buttons to drive the SAS session.
Front desk
QuickBooks
Penthouse
Switchboard
ABBREVIATIONS
The following project-specific and general technical abbreviations are used:
Advanced Interactive eXecutive Character User Interface Functional Dependency Graphical User Interface High Availability Cluster Multiprocessing
i
Chrichtian A. Neal
HR IBM IEC ICT ISO MS MSXML ODBS OLTP OS PC RAC RDMS SAS SDLC SOE SP3 SQL TPC-C T-SQL VBA VSC XP
Human Resource International Business Machine Corporation International Electrotechnical Commission Information and Communication Technology International Organization for Standards Microsoft Microsoft eXtensible Markup Language Open Database Connectivity On-Line Transaction Processing Operating System Personal Computer Real Application Clusters (RDBMS) Rational Database Management System Statistical Analysis System Software Development Life Circle Standard Operating Environment Service Pack (version 3) Structural Query Language Transaction Processing Performance Council Transact- Structural Query Language (VB)Visual Basic Application Vision Control System eXPerience
1. Introduction
This project provided a stimulus recipe of an investigative summary researching the productivity afforded by employing the use of technology in helping make the most out of our day to day situations. I goes further to dissect the SDLC in putting a solution to the problem found with the intended to alleviating the fear relating to cost that incur trying to take this worthy venture. The rest of the chapters will elaborate more details findings and methods taken to resolve the problem found.
1.1 Background
This project document was done for The Cape Hotel after a feasibility done amongst 6 hotels with the urge to use ICT a productivity tool. A number of these hotel shares, interesting, similar fate for the fear of welcoming a system to improve the accuracy of decision made as a result of proper data storage and date manipulation. One would deduce the fear being budgetary constraints, human resource drawback, amongst other. In view of these facts, a turn-about phase after noticing some of the mentioned negative perception on what ICT has to offer these hotels, a system that incorporates very low and medium income generators (hotels) was focused upon.
1.2 Objectives
This guide seeks to create a database management system which will ease the burden on the management of The Cape Hotel in making hotel reservations, maintaining guests records, check rooms availability per dates, and bill customers as per afforded services in a timely fashion, and gradually wipe-out a manual excel spreadsheet insert, merge and highlight reservation system. The project will also work out the modality regarding the cost efficiency factor to drive more hotel management see the need and the greater advantages there are in welcoming technology play a key part in handling all of their todays information from scratch to finish.
1
Chrichtian A. Neal
1.3.2 Scope
This paper might find itself useful by following the sequence of procedures which are applicable in the modeling of other similar RDBMS systems (to suite users need) for the purpose of data handling. It ceases functionality when considering enormous work circle of integrated heterogeneous hotel systems.
1.3.3 Applicability
This paper implementation, that which is the outcome, would be used at the front-desk, other serves terminals and for administrative use at Cape Hotel, and is also applicable to other similar small and medium size hotel facilities. Further development of this project is opened to more research for improvements for scalable entities.
1.4 Achievements
A significant achievement has been gained as a result of a fully on-hands participation and implementation of this project. More notable the importance of the SDLC played a strategic role in road mapping difficulties to a more manageable piece of achievability. The strain and stressed faced by programmers and the limitation of time factor which impedes high efficiency of application was understood, and the question to why technological problems would not cease to exists was answered by the need for further improvement (updates and patches).
2
Chrichtian A. Neal
The project in itself is a hallmark which encourages deterred low income hotel system would embrace a more meaningful data system tool for collation, analysis, and decision based productivity. The financial constraint factor has been eradicated to a far and better more agreeable level of a success story.
Chrichtian A. Neal
2. Survey of Technologies
It is increasingly vertiginous to database application developers when it comes to developing and implementing database applications as there are numbers of platforms, languages, frameworks and other technicalities (as may be specified by user) to choose from. Many database developers might find it tedious making a selection as per their own needs or needs of client when putting many factors into play. Here are some database platforms and their developers: MS Access MS SQL Oracle Informix Sybase TeraData DB2 MySQL PostGreSQL Microsoft Corporation ISO/IME Oracle Corporation IBM Berkeley, California IBM MySQL AB (subsidiary of Oracle Corporation) PostgreSQL Global Development Group
Basically, the choice of database developers should be prone to questions like: who is the user, what is the size of data (or organization) to be stored and, what kind of business activities in line with available requirements, reliability, stability, maintenance issues, which OS platform would the application be running on, how much is budgeted by the user for such initiative, whether the need for an increase in the scope of the system will emerge soon, and many others. When only looking at inputting of data for information purpose, reference information, or an alternative backup for data storage instead of saving such information in a file format, then a selection of any of the above mention RDBMS platform (with distributive system support) would do just good if considerations are not given to issues that concerns latency, slowness of I/O, locking/blocking, and so on. However, when the need arises for a database to play a more critical role (OLTP) in a business-critical system, and the need to incorporate features such as no-down-time, high availability, clustering, reliability, point-in-time recovery, scalability (for both performance and data volume), replication for disaster recovery and reporting purposes,
4
Chrichtian A. Neal
with extreme high speed and low latency (HPC), then such case will probably need an RDBMS with enterprise solution features, which will incur high cost.
Table 1: Database platform comparison HA Clustering Features MS SQL
Cluster provides HA failover but no load balancing
Scalability/ Performance
since it only supports Active/Passive mode (instance wise), there is no scalability at the instance level. There has to replacement of the whole cluster (or pair by pair), if the existing hardware has been throttled if the existing hardware cannot keep up with the performance requirement, A simple adding of a beefier box to the cluster and gradually replace all other nodes, which protect our existing investment better.
Replication
Oracle
RAC is the best for HA clustering and load balancing and scalability
has log shipping and database mirroring for warm/standby DB solutions (active/passive, r/w and read-only), and it supports transactional replication with the granularity at the article/object level (per table) One of the best ways for database cloning and one of the best DR solutions (using RMAN)
Informix Sybase
ASE 15 Cluster achieves the same thing as Oracle RAC is a networked/distributed DB platform since birth works very well with IBMs pSeries/Power server running AIX HACMP(High Availability Cluster Multiprocessing), and Veritas VCS/Sun Cluster (see table 2) Cluster claimed higher TPC-C performance benchmarks than Oracle RAC
Sybase has the best replication solution, which out performs Oracle's Data guard
TeraData DB2
MS Access MySQL
cluster also supports adding nodes to the cluster with all nodes being active, but it is a share nothing cluster. More nodes mean more copies of databases, more storage and more network traffic for data replication among all nodes in the cluster.
provides shared nothing cluster, which basically is synchronous replication among all active nodes. And its asynchronous replication also supports at the transaction and object level
Chrichtian A. Neal
Table 2: Microsoft Access analysis Access
Concurrent Users
Advantage
Access was designed to operate on a network. Microsoft says that the latest version will support 255 concurrent users, however in practice it is recommended a comfortable limit of 15 to 20 simultaneous users.
Disadvantage
it is a more practical choice to select Access when the database will be used by only 15 to 20 simultaneous users. If more than 20 users try to gain access to the database, performance and response time may begin to suffer Whenever various Windows operating systems like Windows 98, Windows ME, Windows 2000, Windows XP, or Windows Vista are used to access the same database, the database may experience corruption issues. It is recommended that all Access users are operating with the identical operating system. A new user to software development may find that they are a bit overwhelmed when using MS Access. In order to maximize the potential of Access, a thorough understanding of relational database design along with VBA coding is highly recommended. As with any software development tool, the ease of screen use, database performance, automation of data input, and report quality relies on the skill level and experience of the developer If sensitive data needs are required like storing health and medical records, financial information, academic records or employment data, for example, it will require more extensive database security than Access can offer Microsoft Access does have a few limitations. Access was not designed to be used with applications that are web based since its forms and reports are only functional in a Windows environment and are not compatible with an internet browser like Internet Explorer. The Access Jet database that is used by Microsoft Access is a file based system and does not contain the server features that are available in SQL Server, Oracle or other ODBC compliant databases. Access databases are more suited for web based solutions when the number of users is small or when the users are just viewing data rather than editing or deleting Unfortunately, Microsoft Access is not designed to operate on Apple Macintosh computers. Since Access is commonly used in many businesses that use PCs, Microsoft does not have any future plans to expand the database to be functional on a Mac
Multiple Windows Operating Systems Novice User Design and Development One can use Microsoft Access for Rapid Application Development thus keeping costs down. Its object oriented model means it can build attractive, functional and easy to use applications in double-quick time.
Internet
Access (2000 and later version) has close web links so online data access is made easier. With a shift towards e-commerce, Accesss web integration could prove very useful, if not now, then sometime in the near future.
OS
Cost
Benefits
Scalability
Access Database has that familiar Windows look and feel. MS Access is one of the best-selling desktop databases of all time. As such the future support is ensured, and with Microsofts backing it should be around for some time. The key advantage of Access Database is it comes packaged with Microsoft Office Professional - already be part of the SOE. Flexibility is the key with Access. Knowing that not everyone is skilled at making databases, Microsoft created basic templates that a user can go and use immediately. However, a database can be built from scratch or the templates can be tweaked as needed to fit needs. Rather than inputting each record every time a project is started, Access holds thousands of records for revisit whenever needed, making it a time-saver, too. This is great because not only is the information there, but it can be used alongside other Microsoft programs such as Word. Simply create a mail merge with thousands of letters and join it together with the Access database. All contacts will be pulled from Access and dumped into each letter separately. Interaction between MS Outlook is possible too: Import contacts from MS Outlook contact book into Access or export contact information in Access and save it as a contact in Outlook. Access has an upgrade path. So, if performance starts to suffer from an ever increasing number of users or records, it can be upsized to SQL Server.
Chrichtian A. Neal
Based on the survey conducted and the options provided by available platforms to undertake this project, the first pick was a backend SQL database running multiple TSQL statements with a user-friendly frontend VB, but with constraint of time and compelling handiness as much as possible with not much disfavor to those necessary inputs as provided by the need of the client (The Cape Hotel), MS Access was deemed suitable for the implementation of the project.
Chrichtian A. Neal
Chrichtian A. Neal
and based on the information available we inform guests on available types of rooms, pricing, and if not, then the future available dates of vacant rooms. Question: How are booking cancellation done? Victor: The merged Excel cells are unmerged upon cancellation, and the already printed sheets are remerged with white-off. Question: It seems a bit of a headache but considering what youve just explained, have you ever experienced a time where complications or humanly errors with booking or cancelation occured? Victor: Very often. At times if cancellation is done on the spreadsheet by the receptionist and not followed up to be changed in the excel sheet. We do over-book or misinform guest with no vacant rooms. The most difficult task is tracing dates of all future available rooms. Question: How do you create invoices or bills for guests? Victor: We tabulate all bills from other service points, sum from excel spreadsheet total days, and use our QuickBooks system to print out invoices. Question: As the HR manager, what is your own level of proficiency with computers and peripherals and that of other staff at front-desk and terminals? Victor: I am an advanced computer user, and the rest of the front-desk staff are all computer basics for the minimal. Question: What are the computer devices and accessories you have here? Victor: As you can see, this office has two desktop PCs (HR and Finance Managers) and these HP printers are inter-networked between my computer and the finance manager. The front-desk has a desktop PC and a printer. And the restaurant has a desktop PC for entering data via the Omega. Question: What operating systems are you using on your computer? Victor: We have Windows XP on our computers. Question: What do you have in your budget for the new system to be implemented, if I should want to know? Victor: I cant say much but I can assure you that we run under a $5,000.00USD budget for sort of improvement until we can move in new building in June.
Chrichtian A. Neal
Question: So, youll be moving in a new building by June. How long will the process of moving out take? Victor: Two weeks definite.
10
Chrichtian A. Neal
Begin project Survey 1 - 6 Phase1 Forms dev. Phase2 Table creation Phase3 Coding/link entities Phase4 Creating validation Phase5 integrating forms Phase6 Testing validation Phase7 Debugging errors Phase8 Creating queries Phase9- Testing validation Phase10-Modifying queries Phase11-Debug SQL statements Phase12-Creating Report design Phase13-coding (SQL & VB) Phase14-overall integration Phase15-overall debugging Phase16-modification (CUI/GUI) Phase17 Integrated Testing Phase18: Modification to suite spec Phase19: Testing and debugging Finish: implementation 3days 2days 4days 8days 2days 1day 6days 14days 3days 6days 2days 5days 1day 8days 5days 4days 1day 5days 4days 5days
11
Chrichtian A. Neal
3.4.1 Computer
500 MHz processor or more 512 MB RAM Drive CD-ROM or DVD drive 300 MB of available hard-disk space. Display 1024x576 or higher resolution monitor Graphics hardware acceleration requires a DirectX 9.0c graphics card with 64 MB or more video memory.
3.4.2 Printer
Any Deskjet or LaserJet printer would do (the HP LJ1008 already in place would work perfectly)
Microsoft Windows XP SP3 (32bits) Microsoft Access 2003/2007/2010 Microsoft .NET Framework 3.5 MSXML 6.0 Antivirus software
12
Chrichtian A. Neal
keep the records of the guests and the room booked to them the system should be able to ease the cancellation of bookings made earlier guest should be able to know the availability of the rooms on a particular date. the record of food and services availed to the customer should be kept. the system should be able to generate the bill for a customer who wants to checkout.
reduction in paperwork and other resources needed production of reports and lists easy to use faster means of booking and cancellation store records on all customer orderly for easy access produce accurate bills single clicking in system rather than double clicking
This MS Access hotel database management system would require user with a minimum knowledge of computer basic in Microsoft Office Suite. Front-desk, restaurant, and business (accounts) offices are the three (3) interactive users of the system. User will decrypt database upon program startup and then be able to make data entry, information inquiry or report printing. The entire system is menu driven and provides easy-to-use functionality.
Guests are billed by per person on pay-per night basis (24 hours) There are 5 types of rooms available and 2 conference rooms. The hotel has two sections with 3 floors including penthouse suites. All rooms have a safe box for valuables, phone line, TV, but Internet access, satellite TV, game console, and Crib (available in family suites only) has to been requested due to additional cost. 75 rooms in total :
13
Chrichtian A. Neal
1 penthouse suite (room #200) 7 junior suites (room #191 - #197) 10 double suites (room #170 - #180) 15 family suite (room #151 - #165) 42 single suites (room #101 - #142) 2 conference rooms (room #11 & #22)
Rooms
Meal options Breakfast Full meal Other options Satellite TV Gaming console Internet Crib
$15.00 $30.00
Conference
Service staff
NOTE : The currency is restricted to the United States Dollars (as used in Liberia for business transactions)
14
Chrichtian A. Neal
The system with act a mediatory role between guest request and front-desk (receptionist) in the process of providing rational information based on stored data. Guests will be afforded provision to make booking(s) and based on availability of request they will also be able to make booking, and on a later date due to reasons best known to guest also be able to request cancellation of booking make.
The front-desk is left with the rest of the task, to query for information to make wise decision based on the request of guest. Booking will be done if provisions are met. Cancellation will be made if guest finds it unnecessary to buy the services, and checkingin of new guest and checking-out of guest after expiration of stay will be done by the front-desk. The internal process provides booking, check-in, and check-out information to front-desk based on guests request or inquiry.
15
Chrichtian A. Neal
Figure 1: ER diagrams
16
Chrichtian A. Neal
4. System Design
4.1 Data Design
4.1.1 Integrity and Constraints
The system is going to be menu driven will backend data into a database inform of tables. See table below:
Table 5: Data Dictionary Field Name Data type
CustomerName Address PostCode TelephoneNo BookingID Arrival Checkout RoomNo PricePerNight RoomType Crib SatelliteTV GamesConsole InternetAccess Breakfast FullMeals PaymentMethod CreditcardNo CreditCardExpdate
Text Text Text Text AutoNumber Date/Time Date/Time Number Currency Drop Down menu Yes/No Yes/No Yes/No Yes/No Yes/No Yes/No Drop Down menu Test Date/Time
These are attributes identified for the implementation of the system table structure, but first we will have to normalize this structure for efficiency and redundant alleviation; yet setting a defined relationship with normalized entities.
Field Name Data type
Customer Table
17
Chrichtian A. Neal
BookingID Arrival Checkout RoomType CribRequired SatelliteTV GamesConsole InternetAccess Breakfast FullMeals
AutoNumber Date/Time Date/Time Drop Down menu Yes/No Yes/No Yes/No Yes/No Yes/No Yes/No
Booking Table
PaymentMethodID AutoNumber PaymentMethod Drop Down menu CreditcardNo Test CreditCardExpdate Date/Time RoomNumber RoomType PricePerNight Number Text Currency
CreditCard Table
Room Table
Table 6: Customer Field Name CustomerID FirstName Lastname AddressLine1 AddressLine2 Town PostCode Telephone CreditCardNumber PaymentMethod Data Type Auto Number Text Text Text Text Text Text Text Number Text Field Size/Key Primary Key 50 50 50 50 50 [input mask] (10) [input mask] (10) Foreign Key 50
18
Chrichtian A. Neal
Table 7: Booking Field Name BookingID Arrival Checkout CustomerID RoomNumber CribRequired(nights) SatelliteTVRequired (nights) GamesConsoleRequired(nights) InternetRequired(nights) HoursRequire StaffRequired BreakfastRequired FullMealsRequired PaymentMethod Data Type Auto Number Date/Time (short date) Date/Time (short date) Number Number Number Number Number Number Number Number Number Number Text Field Size/Key Primary Key NA NA Foreign Key Foreign Key NA NA NA NA NA NA NA NA Foreign Key
Table 8: Credit card Field Name CreditCardNumber ExpiryDate CardHolderName Data Type Text Text Text Field Size/Key Primary Key (25) Short date (6) 50
Table 9: Rooms Field Name RoomNumber RoomType PricePerNight CribAvailible SatelliteAvailible GamesConsoleAvailible InternetAvailible Data Type Number Text [combo box] Currency Yes/No [check Yes/No [check Yes/No [check Yes/No [check Field Size/Key Primary Key ["Single";"Double";"Junior";"Family";"Pen thouse";"Conference" NA NA NA NA NA
Table 10: Payment Method Field Name PaymentMethodID PaymentMethod Data Type Auto Number Text [List box] Field Size/Key Primary Key (25) NA
19
Chrichtian A. Neal
Table 11: Validation Table Booking Field Name Arrival Validation rule Not Between #01/06/12# And #15/06/12# * Validation text Hotel is close until relocation is over
* The HR manager did talk about the hotel closure for relocation the first 2 weeks in June 2012
Table 12: Input (using input masks) Table Customer Customer Field Name PostCode Telephone Validation rule >LL00\ 0LL;;_ \(9999)999999;;_ Place holder _ _
Table 13: Queries Table Rooms Reserved Criteria PARAMETERS [Please enter arrival date] DateTime, [Please enter checkout date] DateTime; SELECT Booking.Room, Booking.Arrival, Booking.Checkout FROM Booking WHERE ((Booking.Arrival) Between [Please enter arrival date] And [Please enter checkout date]-1)) Or ((([Checkout]-1) Between [Please enter arrival date] And [Please enter checkout date])) Or ((Booking.Arrival)<[Please enter arrival date]) And (([Checkout]-1)>[Please enter checkout date]-1)); SELECT Rooms.RoomNum FROM Rooms LEFT JOIN [Rooms Reserved] ON Rooms.RoomNum=[Rooms Reserved].Room WHERE ((([Rooms Reserved].Room) Is Null)); None (combines Rooms Available query and Rooms table of Staff, Breakfast, Set Meals, Arrival, Checkout Fields & table to include Booking Reports produced No
No
Rooms table and Rooms Available Booking, Rooms Credit Card Number, FirstName, Surname, Address line 1, Address line 2, Town, Postcode, Telephone Number, Booking ID,
No Yes
20
Chrichtian A. Neal
Customer Number, Room Num, PricePerNight, Crib, Satellite TV, Games console and game hire, Internet Access, , Number of hours needed, Number Bookings, Rooms Room type, Arrival, RoomNum Bookings, Rooms, Room type, checkout, Room Num Bookings, Rooms RoomNum, Room Type, Arrival, Checkout Rooms RoomNum,Type,Intenret,Cot, meals, Breakfasts, games console, satalite
Which rooms need cleaning or preparing for new guest Which rooms need cleaning for guest departure Daily Room Clean
Arrival=Date()
Yes
Checkout=Date()
Yes
Yes
Booking
BookingID Arrival Checkout CustomerID RoomNumber CribRequired SatelliteRequired GamesRequired InternetRequired HoursRequired ServiceStaffRequired FullMeals Breakfast PaymentMethod
Customer
CustomerID FirstName SurName AddressLine1 AddressLine2 Town PostCode Telephone CreditCardNumber PaymentMethodID
CreditCard
CreditCardNumber Expiry Date CardHolderName
Rooms
RoomNumber RoomType PricePerNight CribAvailable SataliteTVAvailable GamesAvailalable InternetAvaliable
PaymentMethod
PaymentMethodID PaymentMethod
21
Chrichtian A. Neal
22
Chrichtian A. Neal
Reports: -daily cleaning -rooms for cleaning -invoices, etc Booking/ reservation
Exit button
Booking Form
23
Chrichtian A. Neal
Hotel Logo
Command buttons
Labels
Reports
Exit
24
Chrichtian A. Neal
System scrollbar
25
Chrichtian A. Neal
First Name Last Name Address Line 1 Address Line 2 Town/City Postcode Telephone Payment Method Credit Card Type
ID: To Add a new customer, click 'Add Customer' Button. To delete a customer, press the button with the rubbish bin on. To Navigate the Customer Records, use the arrows to cycle through.
Add Customer
Go to Booking
Navigation buttons (to flip between records) Creates new Booking (add new record)
Combo box (shows payment method : Cash or Credit card). It also enables the credit card combo button if payment method = creditcard
26
Chrichtian A. Neal
Onscreen instructions
Navigation bottom
mm/dd/yyyy mm/dd/yyyy
Room Availability
101 24
0 0 0
27
To Create a new Booking, click on the 'New Booking' Button below. To Delete the current Booking, click the rubbish bin button. To navigate the bookings, click the arrows to cycle through the bookings
Chrichtian A. Neal
Notes on Booking form: 1. Room: Drop down combo box (Lookup wizard) showing the Room Number, Room type and Price Per Night (from the Rooms table). 2. Customer ID: Drop down or combo box (Lookup wizard) showing the Customer ID, First Name, Last Name and Postcode (from the Customer table). This enables the user to easily see which customer they are using. (the other details are hidden once the Customer number is selected). 3. Payment Method: Drop down combo box (Lookup wizard) allows the payment type Cash or CreditCard to be entered in the payment method table.
28
Chrichtian A. Neal
Most of the data entries fields have help text (controlTip Text), so that when the user hovers the pointer over an icon/button, a brief description is displayed as tip.
Table 14: Query to get the Report Query Description Invoice Criteria RoomNumber = [Enter Room Number] Checkout = date() Fields & table to include SELECT Booking.Arrival, Booking.Checkout, Rooms.RoomNum, Rooms.RoomType, Rooms.PricePerNight, Booking!CheckoutBooking!Arrival AS NoOfNights, [NoOfNights]*Rooms!PricePerNight AS AccomodationCost,Booking![SataliteRequired(ni ghts)]*10 AS SatelliteTV, Booking![GamesRequired(nights)]*7 AS GamesConsole, Booking![InternetRequired(nights)]*5 AS Internet, Booking![CribRequired(nights)]*10 AS Crib, Booking!FullMeals*30 AS FullMeal, Booking!Breakfast*15 AS Breakfast, [AccomodationCost]+[SatelliteTV]+[GamesConsol e]+[Internet]+[Crib]+[FullMeal]+[Breakfast]*0 .07 AS TotalVAT FROM Rooms INNER JOIN Booking ON Rooms.RoomNum = Booking.Room WHERE (((Booking.Checkout)=Date()) AND ((Rooms.RoomNum)=[Enter Room Number])); Reports produced Yes
Chrichtian A. Neal
Daily Room Cleaning Rooms to Prepare for Guests arriving Rooms to Prepare for Guests leaving
Columnar (sorted ascended by room date) Columnar (sorted ascended by room date) Columnar (sorted ascended by room date)
30
Chrichtian A. Neal
When user name and password is authenticated, and second screen requesting database password with prompt user:
Upon authentication with then the main menu is displayed. See on next page:
31
Chrichtian A. Neal
32
Chrichtian A. Neal
The criteria set for the provision of this form would require the arrival and checkout dates of guest to determine consistency in avoiding over-booking. Parameter prompt input boxes:
Arrival date
checkout date
Certifying the input criteria above would render the available rooms as shown below:
33
Chrichtian A. Neal
The rooms displayed is based on the dates Input as in this case 12/03/12 and 13/04/12)
34
Chrichtian A. Neal
Onscreen instructions
Onscreen instructions
Booking form
35
Chrichtian A. Neal
Command button resets displayed details to allow new input data. It store new input when clicked
Command button to delete already stored data in database relating to booking. Lets call it cancelation
User is prompted to input room in question to proving a list of available features. Feature could also be added from same table upon request.
Room 170 available features:
36
Chrichtian A. Neal
37
Chrichtian A. Neal
Live samples:
38
Chrichtian A. Neal
7% GST total
Grand total
39
Chrichtian A. Neal
40
Chrichtian A. Neal
Room type
Date of arrival
Room number
41
Chrichtian A. Neal
42
Chrichtian A. Neal
4.4.3 Recovery
An automatic backup will be schedule for a daily differential backup to an external hard disk or network disk.
43
Chrichtian A. Neal
5.1 Coding:
Here included are queries (SQL statement) and coding (VB) implementing workability in the database:
5.1.1 Forms:
Form_Booking Option Compare Database Private Sub Command22_Click() On Error GoTo Err_Command22_Click 'declaring modular variables Dim stDocName As String Dim stLinkCriteria As String 'wizard decleared: button that opens a Rooms Available form stDocName = "Rooms Available" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_Command22_Click: Exit Sub Err_Command22_Click: MsgBox Err.Description Resume Exit_Command22_Click End Sub Private Sub Command26_Click() On Error GoTo Err_Command26_Click Dim stDocName As String
44
Chrichtian A. Neal
stDocName = "Rooms Query" DoCmd.OpenQuery stDocName, acNormal, acEdit Exit_Command26_Click: Exit Sub Err_Command26_Click: MsgBox Err.Description Resume Exit_Command26_Click End Sub Private Sub Delete_Record_Click() On Error GoTo Err_Delete_Record_Click DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70 Exit_Delete_Record_Click: Exit Sub Err_Delete_Record_Click: MsgBox Err.Description Resume Exit_Delete_Record_Click End Sub Private Sub Command32_Click() On Error GoTo Err_Command32_Click DoCmd.GoToRecord , , acNewRec Exit_Command32_Click: Exit Sub Err_Command32_Click: MsgBox Err.Description Resume Exit_Command32_Click End Sub Private Sub Command33_Click() On Error GoTo Err_Command33_Click DoCmd.GoToRecord , , acNext Exit_Command33_Click: Exit Sub Err_Command33_Click: MsgBox Err.Description Resume Exit_Command33_Click End Sub Private Sub Command34_Click() On Error GoTo Err_Command34_Click
45
Chrichtian A. Neal
DoCmd.GoToRecord , , acPrevious Exit_Command34_Click: Exit Sub Err_Command34_Click: MsgBox Err.Description Resume Exit_Command34_Click End Sub Private Sub Command45_Click() On Error GoTo Err_Command45_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "Menu" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_Command45_Click: Exit Sub Err_Command45_Click: MsgBox Err.Description Resume Exit_Command45_Click End Sub Private Sub Command52_Click() On Error GoTo Err_Command52_Click 'to reset all inputs on the form Dim ctlC As Control For Each ctlC In Me.Controls If ctlC.ControlType = acTextBox _ Or ctlC.ControlType = acComboBox Then ctlC = Null Next ctlC DoCmd.RunCommand acCmdRefresh Exit_Command52_Click: Exit Sub Err_Command52_Click: MsgBox Err.Description Resume Exit_Command52_Click End Sub
46
Chrichtian A. Neal
5.1.2 Form_CreditCard
Private Sub Command7_Click() On Error GoTo Err_Command7_Click DoCmd.GoToRecord , , acNewRec Exit_Command7_Click: Exit Sub Err_Command7_Click: MsgBox Err.Description Resume Exit_Command7_Click End Sub Private Sub Command8_Click() On Error GoTo Err_Command8_Click DoCmd.GoToRecord , , acNewRec Exit_Command8_Click: Exit Sub Err_Command8_Click: MsgBox Err.Description Resume Exit_Command8_Click End Sub Private Sub Command9_Click() On Error GoTo Err_Command9_Click DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70 Exit_Command9_Click: Exit Sub Err_Command9_Click: MsgBox Err.Description Resume Exit_Command9_Click End Sub Private Sub Command10_Click() On Error GoTo Err_Command10_Click DoCmd.GoToRecord , , acPrevious Exit_Command10_Click: Exit Sub Err_Command10_Click: MsgBox Err.Description
47
Chrichtian A. Neal
Resume Exit_Command10_Click End Sub Private Sub Command11_Click() On Error GoTo Err_Command11_Click DoCmd.GoToRecord , , acNext Exit_Command11_Click: Exit Sub Err_Command11_Click: MsgBox Err.Description Resume Exit_Command11_Click End Sub
5.1.3 Form_Customer
Private Sub AddressLine2_BeforeUpdate(Cancel As Integer) End Sub Private Sub Combo29_BeforeUpdate(Cancel As Integer) 'to enable and disable payment method combo method If Combo29.Value = "Cash" Then Combo24.Enabled = False Else: Combo24.Enabled = True End If End Sub
5.1.4 Form_Menu
Private Sub Command1_Click() On Error GoTo Err_Command1_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "Rooms Availabe" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_Command1_Click:
48
Chrichtian A. Neal
Exit Sub Err_Command1_Click: MsgBox Err.Description Resume Exit_Command1_Click End Sub Private Sub Command5_Click() On Error GoTo Err_Command5_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "Customer" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_Command5_Click: Exit Sub Err_Command5_Click: MsgBox Err.Description Resume Exit_Command5_Click End Sub Private Sub Command7_Click() On Error GoTo Err_Command7_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "CreditCard" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_Command7_Click: Exit Sub Err_Command7_Click: MsgBox Err.Description Resume Exit_Command7_Click End Sub Private Sub Command11_Click() On Error GoTo Err_Command11_Click DoCmd.Quit Exit_Command11_Click: Exit Sub Err_Command11_Click: MsgBox Err.Description Resume Exit_Command11_Click End Sub Private Sub Command13_Click() On Error GoTo Err_Command13_Click
49
Chrichtian A. Neal
Dim stDocName As String Dim stLinkCriteria As String stDocName = "Reports" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_Command13_Click: Exit Sub Err_Command13_Click: MsgBox Err.Description Resume Exit_Command13_Click End Sub Private Sub Command14_Click() On Error GoTo Err_Command14_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "Booking" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_Command14_Click: Exit Sub Err_Command14_Click: MsgBox Err.Description Resume Exit_Command14_Click End Sub
5.1.5 Form_Report
Private Sub Command0_Click() On Error GoTo Err_Command0_Click Dim stDocName As String stDocName = "Daily Room Cleaning" DoCmd.OpenReport stDocName, acPreview Exit_Command0_Click: Exit Sub Err_Command0_Click: MsgBox Err.Description Resume Exit_Command0_Click End Sub Private Sub Command2_Click()
50
Chrichtian A. Neal
On Error GoTo Err_Command2_Click Dim stDocName As String stDocName = "Rooms to Prepear for guests arriving" DoCmd.OpenReport stDocName, acPreview Exit_Command2_Click: Exit Sub Err_Command2_Click: MsgBox Err.Description Resume Exit_Command2_Click End Sub Private Sub Command4_Click() On Error GoTo Err_Command4_Click Dim stDocName As String stDocName = "Rooms to Prepear for guests leaving" DoCmd.OpenReport stDocName, acPreview Exit_Command4_Click: Exit Sub Err_Command4_Click: MsgBox Err.Description Resume Exit_Command4_Click End Sub Private Sub Command6_Click() On Error GoTo Err_Command6_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "Menu" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_Command6_Click: Exit Sub Err_Command6_Click: MsgBox Err.Description Resume Exit_Command6_Click End Sub Private Sub Command6_Exit(Cancel As Integer) End Sub Private Sub Command9_Click() On Error GoTo Err_Command9_Click Dim stDocName As String
51
Chrichtian A. Neal
stDocName = "Invoice" DoCmd.OpenReport stDocName, acPreview Exit_Command9_Click: Exit Sub Err_Command9_Click: MsgBox Err.Description Resume Exit_Command9_Click End Sub
5.1.7 Queries:
Query
Booking
Creteria
Date()
SQL Code SELECT Booking.[Booking ID], Booking.Arrival, Booking.Checkout, Booking.RoomNum, Booking.CustomerID, Booking.[CribRequired(nights)], Booking.[SataliteRequired(nights)], Booking.[GamesRequired(nights)], Booking.[InternetRequired(nights)], Booking.HoursRequired, Booking.ServiceStaffRequired FROM Booking; SELECT Booking.Arrival, Booking.Checkout, Booking.RoomNum, Rooms.RoomType FROM Rooms INNER JOIN Booking ON Rooms.RoomNum = Booking.[RoomNum] WHERE (((Booking.Arrival)=Date()));
52
Chrichtian A. Neal
Rooms to clean when guest leaves
Date()
Date()
Invoice
Room available
Is Null
SELECT Rooms.RoomNum, Rooms.RoomType, Booking.Checkout FROM Rooms INNER JOIN Booking ON Rooms.RoomNum = Booking.[RoomNum] WHERE (((Booking.Checkout)=Date())); SELECT Booking.Arrival, Booking.RoomNum, Rooms.RoomType FROM Rooms INNER JOIN Booking ON Rooms.RoomNum = Booking.[RoomNum] WHERE (((Booking.Arrival)=Date())); SELECT Booking.Arrival, Booking.Checkout, Rooms.RoomNum, Rooms.RoomType, Rooms.PricePerNight, Booking!CheckoutBooking!Arrival AS NoOfNights, [NoOfNights]*Rooms!PricePerNight AS AccomodationCost, Booking![SataliteRequired(nights)]*10 AS SatelliteTV, [Booking]![GamesRequired(nights)]*7 AS GamesConsole, Booking![InternetRequired(nights)]*5 AS Internet, [Booking]![CribRequired(nights)]*10 AS Crib, Booking!FullMeals*30 AS FullMeal, [Booking]![Breakfast]*15 AS Breakfast, [AccomodationCost]+[SatelliteTV]+[GamesConsole]+ [Internet]+[Crib]+[FullMeal]+[Breakfast]*0.07 AS TotalVAT FROM Rooms INNER JOIN Booking ON Rooms.RoomNum = Booking.[RoomNum] WHERE (((Booking.Checkout)=Date()) AND ((Rooms.RoomNum)=[Enter the Room number])); SELECT Rooms.RoomNum FROM Rooms LEFT JOIN [Rooms Reserved] ON Rooms.RoomNum = [Rooms Reserved].[RoomNum] WHERE ((([Rooms Reserved].RoomNum) Is Null)); SELECT [Rooms Available].RoomNum, Rooms.RoomType FROM [Rooms Available] INNER JOIN Rooms ON [Rooms Available].RoomNum=Rooms.RoomNum; SELECT Rooms.RoomNum, Rooms.RoomType, Rooms.PricePerNight, Rooms.CribAvailable, Rooms.SataliteTVAvailable, Rooms.GamesConsoleAvailable, Rooms.InternetAvailable FROM Rooms WHERE (((Rooms.RoomNum)=[Enter Room Number])); PARAMETERS [Please enter arrival date] DateTime, [Please enter checkout date] DateTime; SELECT Booking.[RoomNum], Booking.Arrival, Booking.Checkout FROM Booking WHERE (((Booking.Arrival) Between [Please enter arrival date] And [Please enter checkout date]1)) Or ((([Checkout]-1) Between [Please enter arrival date] And [Please enter checkout date])) Or (((Booking.Arrival)<[Please enter arrival date]) And (([Checkout]-1)>[Please enter checkout date]-1));
Rooms reserved
Between [Please enter arrival date] And [Please enter checkout date]-1, Between [Please enter arrival date] And [Please enter checkout date], <[Please enter arrival date], >[Please enter checkout date]-1
53
Chrichtian A. Neal
5.2 Switchboard:
This programmer user kit which allows program with the help of MS Office-embedded Visual Basic (VB) tools to create a Graphical User Interface (GUI) to include command buttons to drive the SAS session, connect to project directories, documents, forms, online help, etc. It, in short, reduces work and saves time by allowing flow of information within projects. A basic advantage of using a switchboard in your project is that it groups similar tasks, which will give users a more organized and user-friendly interface. Depending on how much information is needed to present on the switchboard, there are several ways to group the tasks. A switchboard not only provides programmers with handy-tools, and henceforth greatly improving efficiency, reducing workload of employees; but it also provides the projectrelated team with an information delivery kit, thus efficiently monitoring and delivering information amongst the team. For this purpose, a switchboard was implemented in this project:
54
Chrichtian A. Neal
' Set the focus to the first button on the form, ' and then hide all of the buttons on the form ' but the first. You can't hide the field with the focus. Me![Option1].SetFocus For intOption = 2 To conNumButtons Me("Option" & intOption).Visible = False Me("OptionLabel" & intOption).Visible = False Next intOption ' Open the table of Switchboard Items, and find ' the first item for this Switchboard Page. Set con = Application.CurrentProject.Connection stSql = "SELECT * FROM [Switchboard Items]" stSql = stSql & " WHERE [ItemNumber] > 0 AND [SwitchboardID]=" & Me![SwitchboardID] stSql = stSql & " ORDER BY [ItemNumber];" Set rs = CreateObject("ADODB.Recordset") rs.Open stSql, con, 1 ' 1 = adOpenKeyset ' If there are no options for this Switchboard Page, ' display a message. Otherwise, fill the page with the items. If (rs.EOF) Then Me![OptionLabel1].Caption = "There are no items for this switchboard page" Else
55
Chrichtian A. Neal
While (Not (rs.EOF)) Me("Option" & rs![ItemNumber]).Visible = True Me("OptionLabel" & rs![ItemNumber]).Visible = True Me("OptionLabel" & rs![ItemNumber]).Caption = rs![ItemText] rs.MoveNext Wend End If ' Close the recordset and the database. rs.Close Set rs = Nothing Set con = Nothing End Sub Private Function HandleButtonClick(intBtn As Integer) ' This function is called when a button is clicked. ' intBtn indicates which button was clicked. ' Constants for the commands that can be executed. Const conCmdGotoSwitchboard = 1 Const conCmdOpenFormAdd = 2 Const conCmdOpenFormBrowse = 3 Const conCmdOpenReport = 4 Const conCmdCustomizeSwitchboard = 5 Const conCmdExitApplication = 6 Const conCmdRunMacro = 7 Const conCmdRunCode = 8 Const conCmdOpenPage = 9 ' An error that is special cased. Const conErrDoCmdCancelled = 2501 Dim con As Object Dim rs As Object Dim stSql As String On Error GoTo HandleButtonClick_Err ' Find the item in the Switchboard Items table ' that corresponds to the button that was clicked. Set con = Application.CurrentProject.Connection Set rs = CreateObject("ADODB.Recordset") stSql = "SELECT * FROM [Switchboard Items] " stSql = stSql & "WHERE [SwitchboardID]=" & Me![SwitchboardID] & " AND [ItemNumber]=" & intBtn rs.Open stSql, con, 1 ' 1 = adOpenKeyset ' If no item matches, report the error and exit the function. If (rs.EOF) Then MsgBox "There was an error reading the Switchboard Items table." rs.Close Set rs = Nothing Set con = Nothing Exit Function End If
56
Chrichtian A. Neal
Select Case rs![Command] ' Go to another switchboard. Case conCmdGotoSwitchboard Me.Filter = "[ItemNumber] = 0 AND [SwitchboardID]=" & rs![Argument] ' Open a form in Add mode. Case conCmdOpenFormAdd DoCmd.OpenForm rs![Argument], , , , acAdd ' Open a form. Case conCmdOpenFormBrowse DoCmd.OpenForm rs![Argument] ' Open a report. Case conCmdOpenReport DoCmd.OpenReport rs![Argument], acPreview ' Customize the Switchboard. Case conCmdCustomizeSwitchboard ' Handle the case where the Switchboard Manager ' is not installed (e.g. Minimal Install). On Error Resume Next Application.Run "ACWZMAIN.sbm_Entry" If (Err <> 0) Then MsgBox "Command not available." On Error GoTo 0 ' Update the form. Me.Filter = "[ItemNumber] = 0 AND [Argument] = 'Default' " Me.Caption = Nz(Me![ItemText], "") FillOptions ' Exit the application. Case conCmdExitApplication CloseCurrentDatabase ' Run a macro. Case conCmdRunMacro DoCmd.RunMacro rs![Argument] ' Run code. Case conCmdRunCode Application.Run rs![Argument] ' Open a Data Access Page Case conCmdOpenPage DoCmd.OpenDataAccessPage rs![Argument] ' Any other command is unrecognized. Case Else MsgBox "Unknown option." End Select ' Close the recordset and the database. rs.Close
57
Chrichtian A. Neal
HandleButtonClick_Exit: On Error Resume Next Set rs = Nothing Set con = Nothing Exit Function HandleButtonClick_Err: ' If the action was cancelled by the user for ' some reason, don't display an error message. ' Instead, resume on the next line. If (Err = conErrDoCmdCancelled) Then Resume Next Else MsgBox "There was an error executing the command.", vbCritical Resume HandleButtonClick_Exit End If End Function
58
Chrichtian A. Neal
June 4, 2013
Main menu Test if the check room availability command button works correctly Main menu Test if the exit command button exits the database Main menu Test if the report command button shows various report buttons Main menu Test if the View / Add Customer Record command button works correctly Main menu Test if the View / Add Credit Card Record command button works correctly Main menu Test if the View / Add Booking command button works correctly Check Room availability menu Test if the click on command button works correctly If true then
(only non-booked rooms are to display) Input box requesting to enter the arrival date Exits the database
(only non-booked rooms displayed) Input box requesting to enter the arrival ate Exits and close entire the database Displays report form of various reports Customer details form are displayed Credit Card details form are displayed
10
11
Booking details form are displayed Displays input box requesting arrival date Displays input box requesting checkout date (only non-booked rooms displayed) creditcard number combo box enables
12
13
14
Customer Details Form Test if the payment method combo box enables Creditcard number when set to creditcard
Input box to be displayed requesting arrival date Input box requesting checkout date to be displayed (only non-booked rooms are to be displayed) Enable creditcard number combo box
59
Chrichtian A. Neal
Customer Details Form Test if the payment method combo box disables Creditcard number when set to cash Customer Details Form Test add new customer command button functionality Customer Details Form Test delete record command button functionality Customer Details Form Test previous record command button functionality Customer Details Form Test next record command button functionality Customer Details Form Test go to booking shortcut command button functionality Credit Card Details Form Test Add Credit Card command button functionality Credit Card Details Form Test Delete Credit Card command button functionality Credit Card Details Form Test previous record command button functionality Credit Card Details Form Test next record command button functionality Booking Details Form Test next record command button functionality Booking Details Form Test previous record command button functionality Booking Details Form Test Delete command button functionality Booking Details Form Test New Booking command box functionality Booking Details Form Test Payment Method combo box functionality Booking Details Form Test Feature Available in Room command button functionality Booking Details Form Test Feature Available in Room command button functionality Booking Details Form Test Room Availability command button functionality Booking Details Form Test Room Availability command button functionality Report Form Test Daily Room Cleaning command button functionality Report Form Test Room to prepare for guest arrival today command button functionality Report Form Test Room to Clean guest leaving today command button Cash Disable creditcard number combo box creditcard number combo box doesnt get disabled New record added This function needs working on to enable desired result First click clears displayed data for new entry Accept yes to confirm deletion of focused data
15
16
17
Delete existing focused record Go to previous existing record Go to next existing record Display Booking form Add/create new credit card record Delete current credit card record Go to previous existing record Go to next existing record Go to previous existing record Go to next existing record Delete current credit card record Add new record
Focused record deleted Previous record is displayed Next record is displayed Booking form displayed New credit card record added/created Current/focused credit card record deleted Previous record is displayed Next record is displayed Previous record is displayed Next record is displayed Current/focused credit card record deleted New record added
18
19
20
21
22
23
24
25
26
27
28
29
30
Drop down a list to select cash or creditcard from Prompt for user input on room number in question Display table with services available Prompt for user input on room number in question Prompt for user input on room number in question Display Report for Daily Room Cleaning in print preview Display Report for Rooms to clean for guests arriving today in print preview Display Report for Rooms to clean for guests leaving in
List drop for selection: cash or creditcard Room number prompted for Available service as per room number displayed in table Room number prompted for Non-booked rooms displayed (room no and type) Report displayed in print preview The section might need to be worked on
31
32
33
34
60
Chrichtian A. Neal
functionality Report Form Test Customer Invoice command button functionality print preview Display Customer Invoice in print preview
35
36
Room 105
Section width is greater than page with. Needs to be reduced See Print out (Appendix A) for actual invoice (not date specific - only prints out for that room)
61
Chrichtian A. Neal
62
Chrichtian A. Neal
Table of contents 1. What is database . 2. Database authentication (login and decryption) 3. Main Menu . 4. Data Manipulation 5. Booking Process . 6. Reports . 7. Customer Invoice .. 8. Closing database 9. Glossary .
Page 65 65 68 69 70 72 73 73 73
63
Chrichtian A. Neal
What is database
A database is an organized collection of data for one or more purposes (for example, the availability of rooms in hotels), that would impact decision when processed into information. In order for data to be properly organized and referenced easily they are stored in a table which is a cross section of rows and columns. (see figure below of a table)
This section is strictly for administrator of the database. Only in admin mode will you be able to create user names and password. (see figure below) 64
Chrichtian A. Neal
2. Click uses and permissions button, and select Users and Group accounts. Use the Users tab to create new users.
3. Use the Group table to create new groups. The Change Logon Password tab is to change database password. (see figures below)
65
Chrichtian A. Neal
4. Back at the file menu of your application window. Click Users and permissions this time select user and groups permission.
5. In here the admin is able to grant restricted or unrestricted access to users on specific data objects individually or in group.
66
Chrichtian A. Neal
Main menu
When youve entered your user name and password and database password, the first screen that welcomes you is the Main menu. 1. Enter Username and password
67
Chrichtian A. Neal
Data Manipulation
The Main menu consists of button when displays addition forms for purpose of: -data input/deletion -data display -data query -data report
68
Chrichtian A. Neal
Booking Process It is important to note that before making a booking into the system, customer credit card details should first be entered into the system, followed by the customer details, expect in the case where the customers is returning (is an old customers with data already in system). 1. Enter Customer Credit Card Details (if customer is new) as shown.
Click to delete current record displayed
4
Click to add new record
69
Chrichtian A. Neal
Entering data with Booking Details window should be easy: -Before you make your booking, make sure to check if there is a room available for the date specified by the guest. 1. Click the Room Availability button. It will prompt you to enter check in date and checkout date; in format: mm/dd/yyyy. See figure below for result:
2. Guest arrival date and checkout date could be typed in format mm/dd/yyyy, or by clicking in the text box of the field to display a system calendar.
70
Chrichtian A. Neal
3. The Room Numbers and Customer ID are automatically stored in system memory and are available through a drop down menu from which one can select desire result.
Reports Predefined queries are designed into report to project specific details for decision making. The Report Form has four (4) sub-reports button link separate forms as follows: i. Daily Room Cleaning ii. Rooms to prepare for Guests Arriving Today iii. Rooms to Clean for Guest Leaving Today iv. Customer Invoice
71
Chrichtian A. Neal
Customer Invoice To create a customer invoice, you have to follow the following steps: 1. Click Customer Invoice button ( ) on Report Form
2. An input dialog box is displayed request Room Number needing invoice for.
3. The invoice for the Room Number inputted is displayed. The report or any other report can be printer by clicking the printer :
Closing database To close database, ensure that all other previously and current opened windows, menus or forms are closed to avoid data loss. Click the exit button to to terminate application.
Glossary
Query a report on a database is the answer to a query Record is a row of data in a database table consisting of a single value from each column of data in the table. Report presents information retrieved from a table or query in a preformatted, attractive manner. Dialog box is a little box that pops up when a button is clicked, to either get information from user or perform action based on provided options. System memory is the place where the computer holds current programs and data that are in use. Field is a data structure for a single piece of data. Data Manipulation is a family of syntax elements similar to a computer programming language used for inserting, deleting and updating data in a table. Authentication is any process by which you verify that someone is who they claim they are. This usually involves a username and a password.
72
Chrichtian A. Neal
7. Conclusion
This database finally, in a tailored category, conforms to the specifics as was expected to. Feasibility of this system as compared to a manual Excel spreadsheet along with a partially functional software application which seems to be marginalized do to it complexity has met user requirement. All customer records are store in a single location (centralization) for fast and easier decision making purpose.
73
Chrichtian A. Neal
database system is of the essence. Providing a VB interactive front-end and an SQL or Oracle database backend would be intriguing. Due to time limitation, the Restaurant Form and associate attributes was not developed.
74
Chrichtian A. Neal
REFERENCES
http://www.dbms2.com/2007/12/14/data-warehouse-database-management http://www.computerworld.com/s/article/9218729/Hadoop_growing_not_replacing_RDBMS_in_enterprises http://www.databasejournal.com/sqletc/article.php/3869736/Choosing-a-Database-Platform.htm http://www.sql-programmers.com/DisadvantagesofAccess.aspx http://www.galleryimage.com.au/Why-Access-Database.htm http://www.lexjansen.com/pharmasug/2005/posters/po36.pdf http://en.wikipedia.org/ www.wiki.answers.com http://databases.about.com/cs/administration/g/report.htm http://www.alexecooper.co.uk/blog/2006/01/access-hotel-reservation-database/#comment-329
75
Chrichtian A. Neal
APPENDIX
Appendix 1:
76