Ors Project Report
Ors Project Report
I would like to thank the following people for their contribution and support in the regards of the completion and success of the project. A special thanks to my family for their support and being the pillar of strength when it was needed. This project is dedicated to them, they are the reason being I wake up every day and go to the CTI Randburg campus. Achieving my goals and making them proud along the way. Thanks to my fellow student, Brutus Haisane for technical input and support throughout the development of the project. Thanks to all my friends for their moral support. To the Randburg institution staff for their efficient resources, accessibility to information. Especially to my inspiring lecture Paul Merwe for informative suggestions, options and possible solutions. Last but not least I cannot fully express my gratitude to Mpho Mogano, he helped me to discover me and gave me an extra push when I was struggling. Thank you! Without all the people I have mentioned, success and completion of this project would not be achieved to this caliber and I thank them for all their input. The success of the project it is their love and thanks to each individual for playing a part in my tertiary life especially the hard days.
Table of contents
Table of figures
FIGURE 1: GANTT CHART OF THE PROJECT PLAN................................................................12 FIGURE 2: DSDM MODEL (WWW.DSDM.ORG)..........................................................................16 FIGURE 3: TIMEBOXING (WWW.DSDM.ORG)............................................................................19 FIGURE 4: THE SIX QUESTIONS USED FOR CONDUCTING FACT-FINDING...........................24 FIGURE 5: FEASIBILITY STUDY YARDSTICKS..........................................................................27 FIGURE 6: BOOKING BY TELEPHONE (CURRENT SYSTEM)...................................................34 FIGURE 7: WALK-IN BOOKING (CURRENT SYSTEM)...............................................................35 FIGURE 8: CHECKING IN............................................................................................................36 FIGURE 9: FLOWCHART OF BOOKING DIRECTLY AT THE HOTEL........................................37 FIGURE 10: BASIC STRUCTURE OF THE SYSTEM...................................................................49 FIGURE 11: SEQUENCE DIAGRAM FOR ADDING A HOTEL.....................................................50 FIGURE 12: ACTIVITY DIAGRAM OF THE GLOBAL STRUCTURE OF THE FRONT-END........51 FIGURE 13: SCREEN CALLS PROCESS....................................................................................52 FIGURE 14: THE THREE-TIER ARCHITECTURE........................................................................56 FIGURE 15: ERD DIAGRAM........................................................................................................62 FIGURE 16: INSTRUCTION FORM PROTOTYPE........................................................................65 FIGURE 17: CONFIRMATION PROTOTYPE................................................................................65 FIGURE 18: ORS RELATIONSHIP DIAGRAM.............................................................................69 FIGURE 19: HOTEL FORMULA ORGANIZATIONAL CHART.......................................................9
Table of tables
TABLE 1: MILESTONES..............................................................................................................11 TABLE 2: SCOPE AND CONSTRAINTS......................................................................................26 TABLE 3: PROJECT COST FOR BUYING A RESERVATION.....................................................40 TABLE 4: PROJECT COST FOR DEVELOPING THE SYSTEM IN HOUSE................................42 TABLE 5: PROJECT COST FOR HIRING AN OUTSIDE VENDOR TO DESIGN AND DEVELOP THE SYSTEM...............................................................................................................................43 TABLE 6: DATA NORMALIZATION RULES (AGILE DATA N.D)................................................58 TABLE 7: ZERO NORMAL FORM................................................................................................59 TABLE 8: FIRST NORMAL FORM...............................................................................................59 TABLE 9: SECOND NORMAL FORM..........................................................................................61 TABLE 10: THIRD NORMAL FORM.............................................................................................61
Chapter 1: Introduction
1. Project inception Previously, it was sufficient to build hotels and wait for them to be filled. Today, it is more important to cater to the individual needs of the client. Service expectations of the customers and potential companies have escalated. This project attempts to build an innovative online reservation system that allows for improvement in employee and customer satisfaction, profit margins and operational costs savings. The focus is to create a prototype solution for middle range hotels, helping them to provide valuable services similar to that of five-star hotels 2. Background and needs assessment Hotels vary, they operate in different environments, and they have different needs, opportunities and service goals. This project will be based on Formula 1 Hotels. This will help in focusing on the needs of an actual commercial entity, and to better understand the typical middle range hotel. 2.1 Case study: Formula 1 hotel
Formula 1 hotels are located all over South Africa and offer the most competitive price one can ever find. The hotels are ideal for business travelers, tourists and families looking for value that does not compromise on quality. Formula 1 is part of an international group renowned for their high standards in over 1 650 budget hotels across the globe.
The hotel offers a clean, simple and friendly environment to make your stop over or holiday a comfortable one at an affordable price. Guests are able to check in with their credit card after 10:00 PM via the electronic reception situated at the front door of the motel, or prior to this through reception. Guests have 24 hours access to vending machines that sell snacks, hot and cold drinks, and the Internet kiosk. These are all located conveniently in the foyer. 2.2 Needs assessment
The current trend in the hotel industry is to gain market share not by competing on costs, but by services. A way of achieving that is by making use of computers to help keep track of the guests needs and complaints, provide the guests with administrative services, and help to plan the hotel employee workflow. Formula 1 has a web site which is well designed but does not help in marketing and promoting the hotel. Although it has the necessary links to provide in-depth information about the hotel, the web site needs to increase direct sales; instead of being informative it should be business related and help in increasing revenue. 3. 3.1 Problems to be solved Formula 1 is part of the Accor Hotels, the Accor Hotel website is used to make reservations worldwide but for Formula 1 in South Africa it is not developed. 3.2 3.2 The guests are not able to directly make reservations through their website and enquire the room availabilities and rates. In order to make reservations the guests have to contact the hotel directly in person or by phone. This is impractical, as the number of people visiting the hotel has increased and the schedules grew more complex. Its hard to deal with the queues and filling out forms.
3.3
With Accor the bookings require a minimum of two working days (48hrs) for bank clearance for payments.
4.
Benefits
By solving these stated problems, the site traffic will be increased by guest visiting it to make reservations. The hotels visibility and revenue will be increased. Making the system online increase accessibility and doesnt limit the business in their local area alone. The procedures for making reservations will be easy to use. 5. Objectives
Managing a hotel is not easy, the bigger the hotel the more difficult it is to manage because of the number of different categories of people coming there to stay. It is also stressful for the receptionist especially to deal with all sorts of people, manually checking them in and discussing with them the reservations and room options. The projects objectives are to: 6. To allure site viewers of the hotels website into potential guests. To decrease the time wasted for enquiries, and speed up the reservation process (minimize queues). To increase the hotels booking potential, by making the system attractive and easy to use. To make the hotel ahead of competition. Proposed solution scope
6.1
A secure online reservation system, which will increase direct sales from the hotels website. The application will be integrated with the existing hotel website, making the reservation process more efficient and less time consuming to both parties
6.2 6.3
Offer real time checking and updating of room availability, clients want an immediate online confirmation or at least online availability. Developing a web based system that does not need to be installed or upgraded on a physical machine. This makes it highly scalable and extremely portable as it can be accessed anywhere in the world as long as you have access to the internet and browser.
6.4
Future booking and reservations will be made easy for the hotel and the client, as the prior information would still be on the system storage.
7.
Reason for not using the Waterfall, V-model and Spiral models
The V-model though it solves some of the waterfall problems such as identifying products at the end of each stage and that it allows for testing through its V structure. It needs an established process to implement. The spiral model is defined by pressman as a methodology that allows for the rapid development of incremental versions of a system. suited to large complicated projects (whatis .com). During the project proposal, the enhanced waterfall model was the chosen methodology to be used. Despite the advantages that it allows for backtracking between the well defined phases, the methodology was changed because it requires unchanging requirements. While using the model for analysis, it was noted that the hotel requirements changed. The spiral model undergoes a lot of loops, which when considering the projects time it is more
Requirements change especially when one is not familiar with the hotel trends, along the project development new features that can make your system efficient are discovered and have to be incorporated, in order to make the system acceptable. changed. 8. Methodology approach implemented It was due to requirements changing that the methodology was
The Dynamic System Development Method (DSDM), its an iterative process based on prototyping. Increments are produced until the final system is complete. It allows for change and user participation throughout the life cycle. So with this methodology it can document correct requirements, deliver the project on time, within budget and with good quality. 9. Structure of the report Chapter 2 presents research that has been conducted as means of understanding and acquiring guidelines for the project. Chapter 3 entails the feasibility study, which is a preliminary investigation of the project and deciding whether it will be cost-effective. Chapter 4 entails, getting a good understanding of the business processes to be automated and their information needs. Chapter 5 involves the analysis models and the working software components that contain the major functionality. Chapter 6 will concentrate on further improvements of the software. Chapter 7 presents the final phase which is implementation. It will cover the cutover from the development environment to the operational one. This phase includes user training and the system delivery. Chapter 8, details the critical appraisal of the project. Considering lessons learned, and problems encountered and what could have been done better.
Chapter 9, last but not least the conclusion for the project
The report does not include a chapter specially dedicated for testing because testing will occur throughout the life cycle. This is one of the DSDM advantages that save on costs by removing errors not at the later stage but instead as soon as possible.
10.
Project plan
Milestone Initial interviews with Project Owner and team Final interviews with Project Owner and team Business approval and sign-off
Deliverable Date 27/03/2008 18/04/2008 24/04/2008 8/05/2008 29/05/2008 03/07/2008 17/07/2008 14/08/2008 10/09/2008 11/09/2008 13/10/2008 27/10/2008 29/10/2008 lessons 3/11/2008 13/11/2008
Study
Project checkpoint User approval & guidelines User training System implementation Business review &
Table 1: Milestones
11.
It is believe that an effective project begins with identifying the information needs and not the development. After acquiring the information needs, then one proceeds to the projects analysis, design and implementation. The first things that will be researched are the methodologies; a good methodology can make gathering and analyzing the hotel requirements less dreadful. With it in place one can analyze, go through it and move on to the more exciting aspects of building the system. Then it is followed by the techniques used for documenting the project. 2. Methodology
The software engineering process consists of a set of steps that encompass methods, tools, and procedures. A paradigm of software engineering is chosen based on the nature of the project and application, the methods and tools to be used, and the controls and deliverables that are required. (Pressman, Sommerville, 2007) A methodology is needed in order to prevent a software crisis. If the methodology techniques and methods are not applied efficiently software engineering crisis could occur. A study carried out in the UK by OASIG, a Special Interest Group concerned with the organizational aspects of IT, concluded the following about software projects. 80 90% do not meet their performance goals; About 80% are delivered late and over budget; Around 40% fail or are abandoned; Under 40% fully address training and skills requirements;
Less than 25% properly integrate enterprise and technology objectives; Just 10 20% meets all their success criteria.
The most common problems stated by Connolly and Begg (Connolly & Begg, 2002) are: Lack of complete requirements specification. Lack of an appropriate development methodology. Poor decomposition of design into manageable components
Ways of avoiding these stated problems are by using structured development methodologies such as Software Development Lifecycle (SDLC) and Database System Development Lifecycle (DSDLC). 2.1 Enhanced waterfall model
As mentioned in the previous chapter that the methodology to be used is the DSDM model, but prior during project proposal the methodology chosen was an enhanced waterfall model. Herein is a detailed description of why the change was made. The waterfall model is a sequential software development model in which development is seen as flowing steadily downwards through the phases of requirements analysis, design, implementation, testing (validation) integration and Implementation. (Wikipedia) It is inevitable that the waterfall model phases are interrelated with each other, the phases are separated, and each phase can only start once the other has been completed. This however can be beneficiary in terms of confirmation that the phase are properly completed and well documented.
One of the biggest disadvantages about the waterfall model is that one a is not able to go back to the previous stages; this can be problematic because user requirements tend to change and more often not easy to gather instantaneously. With the enhanced waterfall model that can be achieved, it allows for backtracking (feedback) and iteration in the software process. From each stage it can go back to previous stages. Following this type of lifecycle was thought to be viable for the online reservation system project because its all about enhancing the existing system (website and database system), the requirements are well understood and didnt think they were likely to change rapidly during system development. Its then realized that the method does not foster good project management practice. It focuses on the activities that are performed in each stage rather than emphasizing the products that are produced. It has to at least show the clients prototypes of how far the system is and if it meets their requirements. This methodology does not allow for that and with time constraints it will be a disadvantage to find at the end of the project that what was developed was wrong. 2.2 Dynamic Systems Development Method (DSDM)
Taking into consideration the amount of time been given to complete the projects, the agile processes was the best option available. Agile methods universally rely on an iterative approach to software specification, development and delivery, and were designed primarily to support business application development where the system requirements usually changed rapidly during the development process. They are intended to deliver working software quickly to customers, who can then propose new and changed requirements to be included in later iterations of the system (Sommerville, 2007)
It is stated by Alistair Cockburn that prescriptive process models have a major failure: they forget the frailties of the people who build computer software. Process models can deal with peoples common weakness with [either] discipline or tolerance. He states because consistency in action is a human weakness, high discipline methodologies are fragile. In other words the models should have a practical structure for encouraging discipline or tolerance for software developers in order to prevail. The DSDM provides a framework for building and maintaining systems which meet tight time constraints through the use of incremental prototyping in a controlled project environment (CS3 Consulting Services, 2002)
Figure 2: DSDM model (www.dsdm.org) The main advantage that allures into using the DSDM is that 80 percent of an application can be delivered in 20 percent of the time it would take to deliver the complete (100 percent) application. (Pressman, 2005)
So only a minimum of work is required for each increment to facilitate movement to the next increment. The remaining detail can be completed later when more business requirements are known or changes have been requested and accommodated. 2.2.1 DSDM principles DSDM has nine principles cited from dsdm.org namely: 1. Active user involvement is imperative. 2. DSDM teams must be empowered to make decisions 3. The focus is on frequent delivery of products 4. Fitness for business purpose is the essential criterion for acceptance of deliverance. 5. An interactive and incremental approach is necessary to converge on an accurate business solution. 6. All changes during development are reversible. 7. Requirements are baselined at a high level. 8. Testing is integrated throughout the life cycle. 9. A collaborative and co-operative approach between all stakeholders is essential. 2.2.2 DSDM techniques DSDM consists of four techniques namely: 2.2.2.1 Moscow prioritization
The use of this technique was chosen because of lack of enough time, to do everything and by prioritizing important requirements can be developed first. It is stated by the DSDM organization that the Must and Should have often deliver 80% of the total business benefit.
Must Have: This is for requirements fundamental to the system, the kind that the system will be unworkable and useless without them. For instance if the system did not have a back-end database for storing the guests information
Should Have: Requirements that are important to the system and can be measured in terms of value or impact. Could have: These are requirements that the system can do without in the short time. Example Requirements that the system can more easily leave out of the increment under construction.
Wont have this time around: This is for those valuable requirements that can wait until later development take place.
2.2.2.2
Controlled prototyping
The use of prototyping will help in demonstrating the progress and also for checking if the system is on the right direction of development or not. DSDM uses evolutionary and incremental prototyping that evolve to become the working solution. Theres three cycles of prototyping namely; investigating, refining and consolidating. Prototyping serves different purposes noted by the DSDM organization: Business: Demonstrating and assessing business processes of the system. Usability: Its all about checking the user interface that does not affect functionality. Performance and capacity: Ensuring that the system will be able to handle full workloads successfully. Capability/technique: Evaluating possible actions such as trialing a particular design approach or providing a concept.
2.2.2.3
Timeboxing
This technique uses the MoSCoW rule for prioritizing work to be done. It has agreed and fixed time periods where functionality is developed typically between two to six weeks. The checkpoints are short, focused and immovable. It also focuses on delivery and the key to success is the timebox kick-off workshop. The following figure depicts the description of timeboxing:
A team based approach to communicate. Using an interactive workshop environment, effective group dynamics and visual aids, facilitated sessions are designed to extract high quality information in a compressed time frame, to meet a predetermined set of deliverables. (www.dsdm.org) Workshops are used for gathering and reviewing information throughout the DSDM phases. These workshops can help in achieving: Speed Ownership
2.2.3 DSDM benefits Using this methodology will avoid project failures by delivering solutions on time, within budget and delivers working solutions of good quality. Other DSDM benefits that were taken into consideration during the selection of a good methodology to use are: The user involvement at every stage ensuring right business solution. The model is iterative allowing the return to any stage earlier possible. With DSDM the requirements evolve but the timescale is fixed. The 80/20 implementation rule which was explained earlier, this method shows that DSDM is in deed based on time. 80% of the required functionality will be build in 20% of the time, so only important functionality are included. The Nothing is built perfectly first time philosophy that looks at the development as an exploration endeavor. Hence the use of controlled prototyping 3. The Database System Development Lifecycle
The stages of the DSDLC are not sequential; they have feedback loops that repeat previous stages. Phases of the DSDLC are conceptual, logical and physical. The database methodology stated by Connolly and Begg (Connolly & Begg, 2002) is outlined as follows: 1. Conceptual database design methodology
Step 1: Build conceptual data model 2. Logical database design for relational model Step 2: Build and validate logical data model 3. Physical database design for relational database Step 3: Translate logical data model for target DBMS Step 4: Design file organizations and indexes Step 5: Design user views Step 6: Design security mechanisms Step 7: Consider the introduction of controlled redundancy Step 8: Monitor and tune the operational system 4. Modeling
Modeling produces a graphical representation of a concept or process that systems developers can analyze, test and modify (Shelly et al, 2003) The proposed system can be described and simplified using a set of business, data, object, network and process models. Techniques such as data flow diagrams, entity-relationship diagrams and unified modeling language will be used to model the system. A lot of these techniques are used in chapter 5 functional model iteration. 5. Conclusion
This chapter was more based on acquiring a good methodology for the project, most importantly being the use of DSDM. The other techniques such as the different ways of modeling the requirements and the database lifecycle to be used are as important but the DSDM sets the projects framework. Researching helped in increasing the projects quality of work. Through acquiring extensive knowledge, it therefore empowers and informs a first user with possible routes
and solutions with DSDM framework. It gives one the confidence that the project will turn out successful and to put the theory into practice.
This chapter is all about investigating the proposed project feasibility and stating important points that can make it viable. This is important because the project is based on a six months timeframe, it is inevitable that the projects success is inversely proportional to the projects duration. Hence to meet the time constraints careful planning of the project is scheduled. By planning this will reducing risks of project failure and time wasted. So this chapter is about making sure that the project meets the hotels needs and expectations. 2. Preliminary investigation
Preliminary investigation is all about gathering facts about the problem or opportunity, project scope and constraints, project benefits, and estimated development time and costs. (Shelly et al 2003) 2.1 Organizational chart analysis
The project entails enhancing the current system, careful consideration was taken into how the modifications will affect the way the business operates by determining the organizational structure, users and business process involved. A figure of the hotels chart is in appendix B. The organizational chart helps in stating the roles and authorities within the organization. Having an organizational chart in place one could then identify the people that were needed to be interviewed. 2.2 Impacts
The entities which will be impacted by the proposed solution are: the clients, employees, managers and the current website. 2.3 Fact-finding
Facts speak louder than eloquence -Chinese proverb In order to determine the projects necessity, extensive fact-finding and investigation was conducted to determine the projects viability, the reasons for creating a new system and what can be done to improve on the current system. Prior to conducting the fact finding a compiled list of information that was needed to get the answers, a series of questions were planned (who, what, where, when, and how). The six questions were used as prompts. Appendix C: Fact-finding questions.
Figure 4: The six questions used for conducting fact-finding The main techniques used to collect the information were through interviews, researching, observations and documentation review.
2.3.1 Interviews People inside and outside the company were interviewed (manager, staff and users) to get a clear description of the requirements. Manager: Cyril Tshabalala Receptionist: Siyapi Twala Housekeeper head: Annah Molepo User (potential guest): Brutus Haisane 2.3.2 Research In terms of researching, the use of the Internet and books to obtain the background information, technical matters and developments of the hotel business were used. 2.3.3 Observation Time was spent, two days at the hotel to get a better understanding of the activities taken to assist guests. How the system operates and verifying information, interviews were conducted to determine whether the procedures really operate as they were described. Other days were spent at the hotel during the project development, reviewing the project and getting the managements opinions. 2.3.4 Documentation review The hotels latest brochure was retrieved, the April 2008 edition to get indepth information about the services they offer. Another technique used for documentation was reviewing the project through facilitated workshops; its one of DSDMs methodology techniques used for communicating. Using workshops was an easy way of showing the hotel managers how far one is with development (prototype) and getting their views if certain areas need amending or not. This technique is more explained in chapter 1 under DSDM techniques.
2.4
Determining the project scope means to define the boundaries, or extend, of the project being as specific as possible (Shelly et al 2003) Identifying the scope of the project helped in determining important points and establishing the boundaries of the preliminary investigation. A constraint is a requirement or condition that the system must satisfy or an outcome that the system must achieve (Shelly et al 2003) Constraints can also state the project scope and can be represented in a table. External Internal * Time completed: (13 Nov 2008) # Hardware * High quality standard * Show hotel location # Attractive design * Calculate available rooms * Evaluate room costs * Generate booking number Present Future
A feasibility study is about estimating the economic viability of the proposed system. It helped in providing a thorough analysis of the business opportunity of the Online Reservation System, including all the risks that may be encountered. Overall with the feasibility study one could determine whether or not to proceed with the proposed venture, assess whether the ideas are realistic or not and if not save one from losing time. It could also save money invested in the project but in this case money is not considered.
A feasibility study uses four main yardsticks to measure the proposed system: Operational, technical, economic and schedule feasibility. (Shelly et al 2003)
This entails knowing if the proposed system will be used effectively after it has been developed. Issues that were considered are: 3.1.1 3.1.2 The management and users do support the project; they see the need for the change and efficiency. The main aspects of the project are to increase guests operations and changing staff workflow. The employees will not be that affected except more productive because the process of checking in people will be easier, with the reservation system the receptionists will just verify that a particular guest has indeed booked a particular room. The guests will also not face any adverse effects they will just need to be acquainted with the
procedure for booking online. All the other business processes will not change. 3.1.3 3.1.4 The users were fully involved in planning the new the system; it is efficient that the implemented system will meet their requirements. The schedule for developing the system does not conflict with any of the Formula 1 hotel priorities. 3.2 Technical feasibility The technical resources needed for the system to be fully functional are: 3.2.1 A basic computer running Windows XP and VB.Net framework. The hotel already has a computer. The only software that will be required is VB.NET, it will be installed in their PC. 3.2.2 A web server is also available but can be upgraded to handle future transaction volume and company growth. 3.2.3 A high speed connection to the Internet. 3.2.4 The creation of software will be reliable by extensively testing. Make sure that the reservation integrates with the website and the management system. 3.2.5 The hotel does have the needed technical expertise, the receptionists are computer literate and the reservation system will be easy to use. 3.3 Economic feasibility
Economic feasibility analyses the costs of the project associated with the implementation. The costs for technology, technological development, and consultancy support, organization for piloting training and running costs which will not be considered.
The reason for not including costs is that open source software was used for developing the system. The alliance between the system and Formula 1 hotel is based on getting a better understanding of the hotel business and solving the problems they currently have. Should they opt to purchase the completed system, at the end of the project, costs will then be discussed using the TCO (Total cost of ownership) analysis. 3.3.1 Costs for technology In order for the reservation system to be fully functional it will require a high speed connection to the Internet, a web server and software. Costs for the payment system should also be included. 3.3.2 Costs for technological development These are costs needed for hiring programmers to clarify the customers functional requirements and for creating the proposed system. 3.3.3 Costs for the consultancy support Considers costs for the services of specialists in designing and implementation to guide the guests in the process. 3.3.4 Costs for the organization for piloting training Cost for allowing the admin staff who will be using the system on a daily basis to test the project. Experimenting is a good idea; this has to be included to see if the users are completely satisfied with the outcome. 3.3.5 Running costs Web server and maintenance costs 3.3.6 Running costs for change process The cost of enabling employees to train and adapt to the newly introduced technology, mainly the strategies used to make the change as smooth as possible. Total cost of ownership includes ongoing support and maintenance costs, as well as acquisitions costs. To determine the TCO analysts must estimate costs in each of the following areas (Shelly et al):
3.4
People, including IT staff and users Hardware and equipment Software, including in-house development as well as purchases from vendors Formal and informal training Licenses and fees Consulting expenses Facility costs The estimated cost of not developing the system or postponing the project Schedule feasibility
Here a study was conducted if the project will be implemented within the allocated time. To help keep track on the projects development I used the DSDM framework to structure the development phases. Having this methodology in place helped in planning the work that has to be carried out. The use of Gantt chart to evaluate the time constraints was used. Refer to chapter 1. 3.5 DSDM suitability filter
This is an assessment of whether or not the DSDM approach is suitable for the project. For one to know whether to use DSDM, one firstly needed to ask themselves some questions. Appendix D has the list of questions that are considered and answers to those questions are as follows: The projects functionality is going to be reasonably visible at the user interface. The system is interactive, with the online reservation system the guest will be fully interacting with it to reserve rooms in a few easy steps to follow. Clear identification of all classes of end users, referencing the organizational chart can
identify which staff members will be involved and the type of guest that visit the hotel. The application is computationally complex because end users should be able to see if there are available rooms or not, both on the website and at the hotel. Also the management system should help in carrying out day to day activities like scheduling when housekeepers can clean the hotel rooms and for guests checking in and out. Since the application is large it will be split into smaller functional components e.g. the reservation system which will be linked to the website and the management system. For this project reservation system will be implemented. The Formula 1 hotel already has a management system in place, the thing that is needed is that the reservation systems functionality meets with the management system. Therefore reservation system should be updated to incorporate the housekeepers functionality, informing the cleaners when and which rooms to clean. The project is time constrained, should be completed within six months. The requirements are flexible because they can be prioritized by using the MoSCoW technique. The guests expectations and the internet are continually growing, improvements will be required. Appendix E also contains the characteristics of applications and projects that can be used for DSDM; Using the DSDM candidate system to verify if the project met the stated characteristics. Appendix E information is referenced from NCC Software Engineering Methods, 2001 book. It states that from the discussions in the book (DSDM filter, candidate system and special care factors), it is obvious that RAD (DSDM) is particularly suited to business applications which place a lot of emphasis on the usability (user interface friendliness) issue. Also that web applications belong to this category, this makes my system viable because it is also web based.
4.
Conclusion
The project is therefore viable because it meets the business requirements and can prevail. That is demonstrated through the use of different typical feasibility phases, through stating the systems impacts, scope and most importantly assessed the suitability filter of DSDM.
Now that the project is deemed feasible in the previous chapter, this chapter is then based on analyzing the influenced business processes, users and their needs and wants. The business study stage uses workshops to be able to consider all the aspects of the system, and to be able to agree on development priorities. 2. Understanding the business
Roger S. Pressman defines the business study as a study that establishes the functional and information requirements that will allow the application to provide business value; also, defines the maintainability requirements for the application. Business requirements are not similar; in order to design a system that will meet the business needs of the hotel one has to understand the hotels business operations. To represent those operations a process called business process modeling can be used. The business models help in better understanding the day-to-day business operations. A business model is graphical representation of one or more business processes that a company performs, such as accepting an airline reservation, selling ticket, or crediting a customer account. A business process describes a specific set of transactions, events, tasks, and results. (Shelly et al, 2003) 3. Business processes and business scenarios that need change
The following Figures depict the processes that a typical client will undergo to make a reservation at the hotel. The client can either reserve a room via a phone
or by visiting the hotel directly. The figures show the processes for calling and that of booking in directly also the relationship between the user and hotel staff.
C ustomer
R eceptionist
Figure 6: Booking by telephone (current system) Figure 6 shows the procedures that a client will do when booking via telephone. The client will call in; the receptionist will then assist the client by asking him/her questions to finalize the reservations. During the call the receptionist will be recording the Clients data in the system at the hotel. When the process has been completed he/she will save the report and give the client a booking number. The client will use the booking number for checking in the hotel.
Register for booking Records guest details Produces a booking number Receptionist Customer Gets a booking number
Confirm booking
Figure 7: Walk-in Booking (Current system) The above figure (figure 7) shows the process undertaken when booking directly at the hotel. The procedure is similar to that of reserving via a telephone difference being that a booking number will not be issued out if the client is checking in at that particular time.
Check-In
Allocate room
Figure 8: Checking in Figure 9 shows a detailed flowchart for analyzing the entire procedure of reserving a room. Collaborates both the methods, if a client booked by phone when checking in a booking number would be required then payments would be made. But if the customer didnt book normal procedures of checking in clients would be followed.
Walk - In
Booking System
Making a booking
Yes
Register booking
Produce report
End No
As described in the first chapter that these days competition amongst hotels is fierce. One of the critical successes of keeping up with the other hotels is that the hotel has to constantly deliver an accepted and consistent experience for all the guests. If the guests are happy and find the services provided satisfactory then the hotel will tremendously grow. The hotel has a website and needs to have a reservation system integrated with it. More and more people are now computer literate and shop online, their website needs to cater for customers booking rooms online instead of calling or faxing. The business needs that should be supported by the online reservation system is to allow customers to easily book rooms at different hotel locations and noted if the rooms are not available. 5. Business activity modelling
The Business Activity Model (BAM) is a means of documenting and analyzing those activities which are essential for the business to meet specific objectives. (Business System Analysis IADCS, 2002). The previous business processes helped in capturing the requirements and environment of the business, now by using a BAM diagram, it is easy to get a clear description of what the new system will do. The following model explains the new system and can validate by comparing it against a formal model of a human activity system. The model shows the expected interaction between the clients and the system, and the guest. It also shows the information flow between the entities and the database.
System Collects reservation details Reservation details System Cancellation Collects reservation details Cancels reservation Reservation on store Room to be reserved
Guest
Confirms reservation
6.
Business case
A business case is all about showing or providing information that the proposed system is correct. This stage is a follow up from feasibility study, giving justification for developing the proposed system. Shelly et al, 2003 states that, A strong business case suggests that the company should pursue the alternative, above other options, because it would be in the firms interests to do so. This section is referenced from Desert Lakes Business Case, from this cited site it is noted that a business case is all about providing the company with alternative options of implementing the system. The main reason for providing the alternatives is to get the best solution for the problem that the hotel is facing.
In this case there are three alternatives; the comparison is based on their business aspects, project costs, benefits and risk analysis. 6.1 Buying a reservation system
A lot of companies sell hotel reservation systems, the management solutions they offer attract customers and often they are common. As a result they have to be customized to meet the hotels needs. 6.1.1 The business aspects Although this option may seem to be the cheapest, there are other hidden costs. The impacts that these of-the-shelf products have on businesses are: Proprietary system and data structures Additional licensing restrictions On-going maintenance to keep application up-to-date High degree of customization may be needed Technical support and vendor staff turnover.
6.1.2 The project costs (Including first year of support) Resources Hardware Base software Customization Support Seat licenses Staff training Other Year 1 $30,000 $25,000 $15,000 0 $1,000/seat $5,000 $5,000 Year 2 $10,000 0 $5,000 $5,000 $250/seat $1,000 Year 3 $10,000 0 $5,000 $5,000 $250/seat $1,000 Year 4 $10,000 0 $5,000 $5,000 $250/seat $1,000 Year 5 $10,000 0 $5,000 $5,000 $250/seat $1,000
Quantified benefits: The hotel will be dependant on the vendor to take care of the availability and technical abilities. This reduces the need for on-site personnel to maintain the system.
Non-quantified benefits: Creates a buy it and forget it sense meaning that formerly after the system has been bought and customized if any problems are encountered the vendor will attend to it.
6.1.4 Risk analysis The risks that must be taken into consideration when buying a third-party product are: 6.2 The vendor no longer supporting the product The vendor going out of business and the system left unsupported. Developing the system in house
This alternative will reduce unnecessary costs of having an agreement with other companies to create the system. Since the system will be in-house, the interface will meet the workers needs and will be easy to use. 6.2.1 The business aspects Making the interface in-house will be cheaper than hiring other companies to create it. It will be accessible to the people who would want to make reservations. 6.2.2 Project costs Resources Hardware In-house personnel Year 1 $20,000 $60,000 Year 2 $10,000 $60,000 Year 3 $10,000 0 Year 4 $10,000 0 Year 5 $10,000 0
$2,000 $2,000
$1,000
$1,000
$1,000
$1,000
Table 4: Project cost for developing the system in house 6.2.3 Benefits Quantified benefits: The employees contribution in helping to design and develop the interface will make it to become an invaluable asset to the hotel. This is so because as the system is created the problems that are normally faced by other hotels with their interfaces will be eliminated. Non-quantified benefits: Better software than what was previous available, staff wont have to learn a more complex system and overall customer satisfaction. 6.2.4 Risk analysis If the interface is not completed the hotel can lose potential guests who would be accessing their site. Also training will have to be done to be acquainted with more expensive and complicated software. 6.3 Hiring an outside vendor to design and develop the system
The Systems interface will be professionally developed and easy to use for the reservation team. But by contracting outside help this alternative will create more costs. 6.3.1 The business aspects The interface should definitely be accessible and it is inevitable that costs for hiring outside help will be more. An assumption has to be made that what the company will offer will most probably be what the hotel needs.
6.3.2 Project costs (including first year of support) Resources Hardware Custom software Support Staff training Other Year 1 $20,000 $50,000 $50,000 $5,000 $5,000 Year 2 $10,000 0 $10,000 $1,000 Year 3 $10,000 0 $10,000 $1,000 Year 4 $10,000 0 $10,000 $1,000 Year 5 $10,000 0 $10,000 $1,000
Table 5: Project cost for hiring an outside vendor to design and develop the system 6.3.3 Benefits Quantifiable benefits: The staff will be benefit from using the system and other problems faced with other hotel reservation systems will be eliminated. The system will be an invaluable asset to the hotel because the contractors will give them new ideas. Non-quantifiable benefits: Better software than what was previously available, staff wont have to learn a more complex system and overall customer satisfaction. 6.3.4 Risk analysis The risks herein are similar to those of the alternative of developing the system in-house 6.4 Solution
Between the three alternatives, the best recommended alternative is the second option. Developing the system in house reduces the project costs and it does not
include costs for support. The risks are also reduced. Overall it can increase customer satisfaction. 7. Conclusion
The business study is believed to be a fundamental chapter to incorporate in the report because most systems are developed for a reason, mainly being to benefit the business. No company would want to implement a system that is not going to help in generating an income or rather marketing the business. This chapter showed that it is important to firstly understand the current business processes, get a clear understanding of what the new system will do and then decide on which alternative to implement the system that will meet the business requirements.
Functional model iteration chapter is all about demonstrating or building a model based on the high-level requirements identified, the model consisting of both the working prototypes and static models. 2. Prioritized requirements list System requirements are classified into 3 requirements, functional requirements, non-functional requirements and domain requirements: 2.1 Functional requirements
These are statements of services the system should provide, how the system should react to particular inputs and how the system should behave in particular situations. In some cases, the functional requirements may also explicitly state what the system should not do. (Sommerville, 2007) The requirements that the online reservation system should meet are: The system shall provide instructions for booking and if a particular form is not completely filled in by the user it will not proceed to the next forms. The system shall allow the users to book rooms at their desirable locations. The users shall be able to book rooms by selecting the dates of arrival and departing. Also the number of nights and the time of arrival. Selection of rooms by room types will not be incorporated as the hotel provides similar standard rooms. The system shall provide appropriate notifications of the room availabilities and if not available, should inform users.
The client will have a choice of paying for the reservation online or at the hotel. If deposit is not paid, the room reservation will not be assured. There will be time constraints for validating the reservation.
Once the reservation has been made, the system should display a form that displays everything that the user typed in. The user can then edit the information if needed and officially confirm that the details are correct.
After confirmation the system should store all the data in the database and allocate a unique identifier number (booking number) which the user will use when checking in at the hotel.
Just after displaying that the reservation has been made, it will take the user back to the hotel site.
2.2
Non-functional requirements
These are constraints on the services or functions offered by the system. They include timing constraints, constraints on the development process and standards. Non-functional requirements often apply to the system as a whole. They do not usually just apply to individual system features or services. (Sommerville, 2007) These requirements are used to explain the systems constraints more, they are also known as the emergent properties of the system. They emerge only once the system components have been integrated. Non-functional emergent properties are associated to the behavior of the system in its operational environment. If a system fails to meet these requirements it is considered to be unusable. The types of non-functional requirements are: 2.2.1 Product requirements
They specify the product behavior. The user interface of the online reservation system shall be implemented in VB.NET In terms of performance the online system should be fast. Storing data at the database and verifying if the rooms are available or not. Usability requirements that the system should meet is that it has to be friendly. With memory most systems require 32 MB of RAM and 7 MB of available hard disk space. (Motel reservation,) Reliability requirements are the important factors making sure the system checks for the availability. The system requirements should be portable and cross-platform. Usability requirements that the system should meet is that is should be user friendly. 2.2.2 Organizational requirements These are requirements that are taken from policies and procedures in the customers and developers organization. Process standards of the hotel are that the reservations will only be valid until 18h00 on the arrival date, except in the case of a guaranteed reservation. Reservations may be guaranteed whatever the clients arrival time might be, provided that the room is prepaid before 18h00 by means of a credit card or cash. Implementations requirements are that the system will be developed using VB.NET Delivery requirements of the product being the working system and its documentation will be delivered on the 13th of November 2008. 2.2.3 External requirements.
These are requirements that are derived from factors external to the system and its development process. The system shall not disclose any personal information about the customers apart from their name and booking reference number. The reservation staff at the hotel can view their payment details, to see if they paid or not Based on inter-operability requirements, the system will interact with systems. It will be cross-platform, integrated with their existing website and also to the management system. 2.3 Domain requirements
Domain requirements are requirements that come from the application domain of the system and that reflect characteristics and constraints of that domain. They may be functional or non-functional requirements (Sommerville, 2007) These requirements are important because if they are not done, it would be difficult to make the system work. Example, there shall be a standard user interface to all database that shall be on a specific standard. 3. Requirements modelling
This section shows the functional models of the system, the actors and procedures that the system should do.
B ooking online
Reservation system
Guest
System Administrator
Figure 10: Basic structure of the system The figure above illustrates the relationship between the system and the actors. The system being implemented will not focus on the administration side rather on the guests and the required procedures to finalize the booking. The system administrators job description entails maintaining the system, adding new hotels into the system that potential guests can search for and approving and disapproving Travel Agents accounts. The administrator uses a virtual SMTP server for sending mails to the Travel Agents verifying if their account requests had been approved or not. The figure below shows how a system administrator would add new hotels into the reservation system, to enable potential guests to search and book at those particular locations.
New Hotel
New Hotel ( )
Verify
Is Verify
Figure 11: Sequence diagram for adding a hotel The figure below shows the relationship between the user being the client and the web server. Firstly the user requests a page from the web server, and then the server starts a screen. But the server has to create a new invocation prior. Within each screen the user is presented with a page containing a form which he/she has to fill out and send back. The client will navigate through the series of screens until the reservation is finalized. (Janne Louw, 2006)
Webserver
New Invocation
Show instruction page Screen Send form Show location page Screen Send form Show location description page Screen Send form Show booking page Screen Send form Show personal details page Screen Send form Show confirmation page Screen Confirmation confirmed by users
Figure 12: Activity diagram of the global structure of the front-end Figure 11 takes a closer look at the screen part. The screen is actually an object within the web server. It supports two main methods: Write screen and handler. The first returns the code for the VB form that will be presented to
the user. The handler processes the form data returns by the client and creates a new screen object for the next step. (Janne Louw, 2006)
U se r
W e b se rve r
S cre e n
C a ll W r ite S cre en
R e tu rn S cre en C o de S ho w pa g e
Send page
C a ll h a n d le r
This chapter clearly depicted how the system will function through the use of models. It set a stepping stone for the next chapter being design and build. Design can then be constructed according to the functional models. Hence this chapter can also be considered as a logical design section for the project and the following as physical design.
In the previous chapter logical designs of the system had been created by defining the processes that should be taken into consideration using models and techniques. Physical designs are produced to plan the actual implementation of the reservation system. Physical designs of the system are derived from the logical designs; they are concerned with how the system requirements will be met. In this stage, following the designs coding of the system occurs, creating prototypes until the user and management fully approve of the system. 2. System architecture definition
System architecture is all about presenting the structure of data and program components that are needed to build the reservation system. Technical architectures to be used during development and implementation should be well understood. Description of the target platform and the software architectures should also be stated. Having an architectural design is important because it gives an overview of how the system will look like and acts as an-aid in the development stages. 2.1 Technical architecture
Technical structures are the structured process of designing and building the systems architecture according to what the user and the company expects the environment to be like. The technical architecture to be used during the development and implementation of the ORS system are: system and .NET software platform. The 3-tier architecture, .NET framework developed under Microsoft Windows operating
2.2
Target platform
The application will make use of the .NET framework. The features of the .NET framework are: The framework is interoperable meaning that it allows for functionality access of the other programs that execute outside the .NET environment It has a Common Language Runtime (CLR), where all programs execute under its supervision, making sure that certain properties and behaviors in the areas of memory management, security and exception handling are executed in specified standards. It has Base Class Library, a subset of Framework Class Library (FCL), a library of functionality available to all languages using the .NET framework. The BCL provides classes which encapsulates a number of common functions, including the file reading and writing, graphic rendering, database interaction and XML document manipulation. It has simplified deployments that manage the installation of the software and making sure it does not intrude with the software that was previously installed. 2.3 The security feature addresses vulnerabilities such as buffer overflows and provides a common security model for all applications. It is also portable, cross platform compatible. Description of Software architecture
The architecture of the ORS is based on the 3-tier architecture. Its a clientserver architecture where the user interface functional process logic and the computer data storage or access are developed and maintained separately. The three-tier can be upgraded or separately replaced as the requirements or technology change.
The three logical tiers are: 2.3.1. Presentation tier This is the user interface level, it translates tasks and results to something the user can understand. Based on the ORS, the presentation tier will display information relating to checking for availability, booking, confirming the reservation etc. It communicates with other tiers in the network by outputting the results to the browser/client tier 2.3.2. Application tier This layer is also known as logic tier or business logic. applications functionality by performing detailed processing. It controls the It moves and
processes the data between presentation and the data tier. (Wikipedia) 2.3.3. Data tier This layer is made up of database servers, where the information is stored and retrieved from the information is then passed back to the application tier for processing and then finally back to the user. This layer improves scalability and performance because the data is separated from the other tiers and remains A detailed description of how the Online Reservation System will function using the architecture is depicted below, the checking for availability example was used to show how the answer will be processed.
Designing a database is not easy it requires a lot of understanding. Before designing it is important to know the purpose of what exactly is the database is needed for. After stating the purpose of the database, one can then design the process of what needs to be stored.
3.1
The main purpose for creating a database: Store customer and reservation details Most databases are created for storage in this case to store the customers information. Information that is required from a customer to reserve a room Query the database for hotel room Another main reason for creating a database is one would also want to retrieve information and use it. The databases will be used to retrieve information of available rooms. So when a customer selects the required location, arrival date and the departure date. The database will be queried using Ms Access and output the available rooms. A constraint of the room number could also be used in the query to check the status of the room.
3.2
Relational database The reservation system will make use of a relational database because of its advantages: Avoids redundancy, redundant data causes unexpected results when using data for reports and slows down a system. Provides the Create, Read, Update and Delete functionality through the management system. (Relational databases 101, SW Amber). With this database functionality one can then focus on what has to done to make the reservation system work instead of stressing over how to do that. Provides flexibility for applications data structure example: sending emails to clients and customers Centrally stores data in the database, avoids having inconsistent data. Secures the customers personal information stored in the database. (Relational databases, A Awerity)
Simpler and more flexible than other database system. (Business Collaborated Ltd)
3.3 Normalization A technique for producing a set of relations with desirable properties given the data requirements of an enterprise (Connolly 2002) Normalization removes file maintenance anomalies when data is being placed together in one table. It does that through 3 stages summarized below: Level First normal form (1NF) Second normal form (2Nf) Rule An entity type is in 1NF when it contains no repeating group of data. An entity type is in 2NF when it is in 1NF and when all of its non-key attributes are fully Third normal form (3NF) dependent on its primary key. An entity type is in 3NF when it is in 2NF and when all of its attributes are directly dependent on the primary key. Table 6: Data Normalization Rules (Agile Data n.d) The stages are then applied to the gathered fields as follows: Zero normal form
CustomerID FirstName Surname Address TelephoneNumber MobileNumber EmailAddress HotelID Name Address City Phone NumberOfStars RoomID RoomType
Location
Status
Reservation table BookID(PK) CustomerID (FK) HotelID (FK) RoomID (FK) ArrivalDate DepartureDate Status table StatusID (PK) Status Payment table CreditCardTypeID (PK) CreditCardType
Room table RoomID (PK) RoomType (FK) StatusID (FK) RoomNumber Location
3.4
An entity relationship diagram is a data modelling technique that creates a graphical representation of the entities, and the relationships between entities within an information system. (SearchCRM Entity Relationship Diagram, n.d.) An ERD diagram can be compiled from third normal forms, which can be done as follows: Groups become entities, the data items become attributes and finally all foreign keys depict relationships. The relationship between the entities in the new application is illustrated in the following ERD diagram:
Hotel
Reservation
Customer
Room
Room type
Payment
Status
The reservations design needs was based on the users needs and the information requirements content, most importantly making sure that the application design is easy to navigate. 4.1 Factors that were considered when designing for the reservation system medium are:
Crafting the look and feel of the application, the words look and feel are well known as the interfaces that users navigate. The reservation system is interactive; a path through the use of information had to be created to guide the users. For instance making use of links to guide the users. Links such as viewing instructions, hotels map, proceeding to the following forms, printing reports and exiting the applications.
Design for portability, this factor is vital because the reservation system is to be viewed by different users using different browsers, operating systems and computer platforms.
Design for low bandwidth, using a lot of detailed graphics or animations can slow down the performance of the reservation system. The reservation system will be linked to the hotels website; with that in mind there is no need to put graphics into the system. Only important graphics were included such as the hotels logo and maps.
Lastly, designing for the whole site. Making use of white spaces, which are blank areas in the forms and not clutter up the forms. Maintain consistency of the forms by using of similar fonts and background color through out the system. Most importantly by not crowding the forms with a lot of content.
The class diagram below shows the reservation system design. The class diagram shows the building blocks of any object-oriented system: the classes that make up a system. The potential for collaborating among those classes, through message passing, is shown in the relationship between these classes. (Schaums outlines UML, 2005)
Hotel Chain - Hotel ID : String - Name : String + Show hotel details ( ) + Show hotel bookings ( )
Customer - Customer ID : String - First Name : String - Surname : String - Address : String - Telephone number : String - Mobile Number : String - Email Address: String
1*
Hotel Hotel ID : String Name : String Address : String City : String Phone : String Rating : Integer
+ the hotel
+ the hotel 1
1 + the user
0* + the reservation
Reservation
- Reservation Number : Integer - Arrival Date : Date - Departure Date : Date - Number of Nights : Integer 0* - Price : Double - Total Cost : Double
1*
-
+ the room
Room Room Number : Integer Location : String Number of beds : String Feature : String Price : Double
0* 1* + the room
+ the reservation
0*
+ payment
Payment
1*
+ the room
1*
+ Status
- Credit card type : String - Card number : Integer - Expiry Date : Date - Date : Date + get Payment details ( ) + Calculate cost ( )
5.
Design prototype
This section shows designs that were made before the final system design This figure shows how the first form looked like. Instruction page that acted as guidance Then figure 17 is the last form for confirming the reservation
Figure 17: Confirmation prototype 6. 6.1 Testing The approach taken for testing.
It is stated by NCC Education System Development (2001) that a good test is one that finds new errors and one that a high probability of finding new errors. With that in mind the approach that the online reservation system application will take is to detect as many errors as possible to cut down the deficit of future problems, instead of demonstrating that the system is error free. 6.2 Testing methodologies
An incremental view of testing can be conducted, by testing the individual program units first then followed by testing the program units as a complete system. The three types of testing that should be done are: 6.2.1 Unit testing is concerned with testing a module to ensure it satisfies its specification. 6.2.2 Integration testing is used when a module or package is completed and is intended to uncover errors in the interfaces between this module and the other modules. Integration testing includes four different types of test: Structure tests Functional tests Stress tests Performance test
6.2.2 Acceptance testing which is usually performed by users of the developed system to check if it meets their requirements. This kind of testing was done throughout the project. During functional modelling, to see if the diagrams represent what they would need and design and build iteration, for verifying if the design and functionality of the system works accordingly.
The other testing is testing for compatibility of the application, viewing the forms in different platforms that the users are likely to have, on well known operating systems and on more than one computer platforms for accessibility. The system will be tested using VB.NET IDE (Integrated Development Environment) for debugging possible errors 7. Conclusion
The system was designed and tested; the management and users accepted the application as being fully functional. This success was achieved through the good use of designing the implementation of the system.
Chapter 7: Implementation
1. Introduction
This chapter will explain how to set up and use the Online Reservation System. It consists of user training and user manual documentations. 2. Access database implementation
The following tables were created and also shown in figure: Customer table for storing the customers details Hotel for storing the available formula 1 hotels Room- storing the a particular hotels information Room type descriptions of the available room type Reservation For storing the reservation details Payment For reservation payment details storage
The important fields for checking availability (query) are; the customers arrival date, departure date and the room number for furthering the query constraint. The query will check for bookings where either the arrival date is before the departure date. Or Departure date is after the request start date. Status table can also be used, when guest have checked in, the room would be specified to be unavailable, so the room can either be available, or not or under repair the database should show that.
Figure 18: ORS relationship diagram 3. User training Training would be necessary for the hotel staff more than the users. The users dont have to worry about technical issues but on how to use the system, which is made simple. The system administrator would require extensive training for maintaining the system. 4. Manual
This chapter acted as a conclusion for developing the system and implementing it in the required environment which is integrating it with the hotels the existing hotels website.
In the beginning of my thesis I confirmed that my project aims to satisfy needs of Formula 1 hotels and provides them with better way of making reservations. The requirement needed should be an application that would be web based. In this chapter I critic myself and state the lessons I have learned thus far. 2. 2.1 Critical appraisals Methodology survey
In this chapter I gained a lot of knowledge of what DSDM is and how to develop a system using its guidelines. It was not easy at first because I have never used an agile process model before. 2.2 Study (Feasibility study and business study)
My estimated delivery time was to complete these two chapters before the 29 of April 2008. I completed it after the delivery date. At that point n time I was still struggling with using DSDM and proving that my project is feasible both in terms of costs and business. 2.3 Analysis
This task consisted of producing functional models derived from the systems analysis. I was not familiar with using Microsoft Project 2003 for constructing the models. The chapter was also not delivered in time due to the previous chapter that delayed me.
2.3
This chapter was facilitated by report from the analysis phase, developing the system interface but coding was as I have never used VB before. I chose to use this language because through it could meet my requirements efficiently. 2.4 Implementation
Though I used VB.NET for testing I regret not documenting other testing methodologist such as black and white boxing. These are testing methods that are essential. 3. 3.1 Lessons learnt Secure payment
I learned that the system has to be consider, that, the clients are not forced to pay for booking, but to reserve it a 40 percent deposit is required. This can be done via credit card payment online, and this will require a secure security system in place, due to hackers 3.2 Securing the database information
I learned about the importance of storing and securing data. The implementation of the system should allow for regularly updating. The server will update the clients about the rooms available and also back up the data information for when it is needed for retrieving. I learned the maintaining the data integrity in the database is also vital 3.3 Coding
Learning VB.NETs coding standards, using the prefixes correctly to avoid errors. 3.4 Back up
Making copies of the project work in case hardware failures occur. Likely I encountered that problem during my projects analysis and during the coding phase. 4. Conclusion
Through criticizing myself I now know that my weakness is managing the project, making sure that I meet the required delivery dates. Strengths that I have acquired would be learning a new language within six months and improving on my designing skills.
Chapter 9: Conclusion
This chapter concludes the chapter by discussing how the project has met its stated objectives. The projects objectives are to: To allure site viewers of the hotels website into potential guests. To decrease the time wasted for enquiries, and speed up the reservation process (minimize queues). To increase the hotels booking potential, by making the system attractive and easy to use. To make the hotel ahead of competition.
The project met the above mentioned objectives through the development of the online reservation system. The system is well designed, user friendly and fulfils the hotels requirements. It allows for availability checking, informative and provides a printing mechanism where the users can print their reservation reports.
Boitumelo Ndhlovu
Boitumelo Ndhlovu
Business Collaborator Ltd, Introduction to the relational database tool, http://dev-odbc.groupbc.com/bchelp/sec-8-0.html A Awerity, Relational Databases, http://awerity.com/tutorials/dbewb/database.php Agile Data n.d., A Database Best Practice http://www.agiledata.org/essays/datanormalizaton.html Bass, L., P. Clements, and R. Kazman, Software Architecture Practice, 2nd edition. Adison Wesley, 2003 Business System Analysis, IADCS Study Guide(2002), NCC Education Limited. ISBN 1-90-23-4-348-4, first edition published 2002 SearchCRM n.d., Entity Relationship Diagram, Implementation Definition http://searchcrm.techtarget.com/sDefinition/0,,sid11_gci851347,00.html Whatis.com, Spiral Model http://searchsoftwarequality.techtarget.com/sDefinition/0..sid92_gci755347 ,0html
23.
Door Janne Louw, Description with UML for a hotel reservation system,
Boitumelo Ndhlovu
Appendix A: Original project proposal LONDON METROPOLITAN UNIVERSITY DEPARTMENT OF COMPUTING PROJECT PROPOSAL FORM
Family name and initials: Ndhlovu B.E Project title: Hotel management System (HMS) Background of the project: Formula 1 hotels are located all over South Africa and offer the most competitive prices one can ever find. The hotels are ideal for business travelers, tourists and families looking for value that does not compromise on quality. Formula 1 is part of an international group renowned for their high standards in over 1 650 budget hotels across the globe. Managing a hotel is not easy, the bigger the hotel the more difficult it is to manage because of the number of different category of people coming there to stay. It is also stressful for the receptionist especially to deal with all sorts of people, discussing with them about the booking/reservations and other things. The problems encountered in Formula 1 hotel are: In order to make reservations the guests have to contact the hotel directly or by phone. This is impractical, as the number of people visiting the hotel increased and the schedules grew more complex.
Boitumelo Ndhlovu
Formula 1 is part of the Accor Hotels, the Accor Hotel website is used to make reservations worldwide but for Formula 1 in SA you cant. You only get the details of the location.
The bookings require a minimum of two working days (48 hrs) for bank clearance. The guests are not able make reservations through their web site and to know the room availabilities and rates immediately. The hotels management system is not up to date and meeting the hotels requirements.
The new system that will be created will solve those problems stated. Most people dont fill forms to book for a hotel room; the new system will enable the guest to get immediate online confirmation and online availability. Booking on the hotels website is less time consuming and also help the staff in managing the hotel and the guest. Aims of the project: To develop a secure online reservation system Increase direct sales from hotel website Real time checking and updating of room availabilities Easily handling cancelled bookings and the room available Developing a management system for fast check in and out, etc To decrease administration costs
References: 1. Shelly B. Gary, Cashman J. Thomas, Rosenblatt J. Harry, System Analysis and Design, fifth edition, 2003, published by Thompson Course Technology, ISBN 0-7895-6649-4 2. Marks Dan, Development Methodologies Compared, why different projects require different development methodologies, published by N. 4
http://www.ncycles.com/e_whi_Methodologies.htm 3. Wikipedia, The free encyclopedia, Computer reservation system, retrieved 14 April 2008 from http://en.wikipedia.org/wiki/Computer_reservations_system 4. Accor Hotels, Find the perfect match, Book a hotel online with Accor Hotels, retrieved 16 April 2008 from http://www.accorhotels.com/gb/home/index.shtml 5. Hotel Formule 1, Formule 1 Johannesburg north Sandton, retrieved 15 April shtml Special requirements: Software VB.NET Microsoft Office Access 2003 Microsoft Visio 3003 Microsoft office project 2003 Enhanced Waterfall life cycle 2008 from http://www.hotelformule1.com/formule1/fichehotel/gb/for/2659/fiche_hotel.
Hardware Basic computer to be used by hotel staff: Acer Veriton M460, Intel Celeron processor 1.6GHZ, 512MB RAM & 160GB HDD, DVD-RW dual layer, 10/100 Ethernet, windows XP pro and Acer 17 LCD monitor 1706 Management server: HP Proliant ML 115 server, AMD dual core opteron 1210 1.8GHZ, 160GB HDD & 1024MB RAM, DVD-RW dual layer, 10/100 Ethernet, Windows small business server
The development methodology to be used in planning the project is the enhanced waterfall life cycle because it is better used for modifying existing systems. The approach consists of definite set of activities and deliverables that must be accomplished before the following phase can begin. It will help in analyzing potential changes and predicting the budget. 1. Project proposal submission 24/04/2008 2. Feasibility report and requirements definition submission 31/09/2008 3. Requirements specification and logical system specification 18/10/2008 4. Preliminary project presentation 18/10/2008 5. Physical design, implementation and maintenance 27/08/2008 6. Final project submission 15/11/2008 The new skill to be learned is learning a new programming language VB.net. Challenges to be faced will be implementing the online reservation system, making sure it meets the requirements and security. HMS Plan Task name Overall tasks System planning Duration 142 days 19 days - Identify the problem or 3 days
opportunity of the system - Define project scope and 2 days constraints
Boitumelo Ndhlovu
- Perform fact-finding Estimate
NCC NUMBER: 307300 5 days project 7 days 19/03/2008 9/04/2008 18/04/2008 23/03/2008 15/04/2008 18/04/2008
development time and cost -Present results & 1 day recommendations management (amend doc) -Submit proposal form to
Systems Analysis
Fact-finding
24/04/2008 06/05/2008 06/05/2008 11/05/2008 20/05/2008 23/06/2008 29/07/2008 08/07/2008 08/07/2008 16/07/2008 22/07/2008 04/08/2008 12/08/2008
24/04/2008 31/08/2008 10/05/2008 14/05/2008 19/06/2008 30/06/2008 31/08/2008 18/09/2008 15/08/2008 21/08/2008 28/07/2008 11/08/2008 14/08/2008
business process) - Document facts 4 days - Build logical models of the 31 days new system - Document & present system
8 days
System Design
-User interface design - Input design - Output design - Printed output -Document system design specification management & & present users to for
1 day
I have read the Project Handbook and I will abide by its contents.
7
Boitumelo Ndhlovu
Receptionist
Sandra Sethole
Cynthia Ngwenya
Thembi Mathebula
Siyapi Twala
Joyce Malesela
Maggie Phukubje
Boitumelo Ndhlovu
1. Who? Who performs each of the procedures within the system? Why? Are the correct people performing the activity? Could other people perform the tasks more effectively? 2. What? What is being done? What procedures are being followed? Why is that process necessary? Often, procedures are followed for many years and no one knows why. You should question why a procedure is being followed at all. 3. Where? Where are operations being performed? Why? Where could they be performed? Could they be performed more effectively elsewhere? 4. When? When is a procedure performed? Why is it being performed at this time? Is this the best time? 5. How? How is a procedure performed? Why is it performed in that manner? Could it be performed better, more efficiently, or less expensively in some other manner?
Before proposing on creating a new system I have to fully understand the current system, the problems faced with it and then I can say what has to be done. The following figure lists the basic questions and when they should be asked. Current System Who does it? Why does this person do it? What is done Why is it done? Where is it done? Why is it done there? When is it done? Why is it done then? How is it done? Why is it done this way? Proposed System Who should do it? What should be done? Where should it be done? When should it be done? How should it be done?
10
Boitumelo Ndhlovu
11
Boitumelo Ndhlovu
DSDM Candidate System DSDM can be used for applications and projects with the following characteristics: Is interactive User interface functionality clearly demonstrable Has a clearly defined user group Has functionality which is not too complex (if it is complex, can the complexity be isolated?) Has functionality that can be split into smaller functional units Should really be delivered when the users want Has requirements that can be prioritized Has requirements that are unclear or subject to frequent
Boitumelo Ndhlovu
Systems that display one or more of the following characteristics should be treated with special care: Process control/real-time applications Requirements have to be fully specified before any programs are written Safety critical applications Delivering reusable components
13
Boitumelo Ndhlovu
This document will explain how to use the use the user manual 2. Software setup First unpack the ORS software into the C drive Secondly, just after the Software CD has processes, a pop up will appear. A dialog will appear, shown below. Click on INSTALL.
3.
Just after clicking on install button, the application will open up. Using the system Firstly go to your START menu, click on PROGRAMS, select BOITUMELO NDHLOVU, RESERVATION SYSTEM system will open. The dialog below will appear. and the software
14
Boitumelo Ndhlovu
The above dialog for instructions will appear, by clicking on one of the headings, an instruction will appear. The instructions will tell you what 15
Boitumelo Ndhlovu
youll be required to do. By clicking on the PROCEED button, the next form will be shown. Shown below.
From the above form, you will then select the hotel you would like to stay in by simply clicking on the drop down list bar and input your personal details. When you click on the link VIEW HOTEL MAPS, a dialog listing the available hotels will appear and by clicking on the preferred hotel the map will appear. Illustrated below after viewing to go back simply click on the button GO BACK.
16
Boitumelo Ndhlovu
After viewing the maps and typed in on your details, CLICK ON NEXT Another dialog where you have to input your reservation dates will appear. In this form you have to pick your time of arrival, number of rooms guests per room and breakfast option. Then if you have any requests, simply type them so the hotel can know. The last option is checking for the room availability by simply clicking on the button, the system will notify you if it is available or not by simply referencing the hotels database. 17
Boitumelo Ndhlovu
Clicking on NEXT to proceed, an open time picker will appear, the picker will assist you in choosing your dates. You can view other months on the calendar by simply clicking on the month icon on the right hand corner, displayed at that time. Further more by clicking on the month name you can view other months and other years. After you have made a choice using the time picker you can input your arrival and departing dates and click on NEXT for the next process. The screen shots illustrated below explain the above paragraph.
18
Boitumelo Ndhlovu
Below is a payment dialog depicting payment methods offered and their constraints. From this you have to choose one.
19
Boitumelo Ndhlovu
From the above dialog if you choose payment method 1 by clicking on the radio button, a payment method 1 form will appear. From that form which is illustrated below you will input your credit card information.
If you chose payment method 2, the dialog depicted above next to that of payment 1 will be shown (right hand side). Then confirm if you really want to book the room instead of reserving it. A user cannot view both the dialogs if payment 1 method was selected, he/she will then be shown payment method 1 page. Vice versa with that of choosing payment method 2.
After following the instruction given by the method you chose, click on NEXT A confirmation dialog shown below will appear. The form will show all the reservation information you have previously inserted into the application, from this option you can view the hotels policy and print your report for safety.
20
Boitumelo Ndhlovu
21
Boitumelo Ndhlovu
22