Content Chapter 1: Introduction ...................................................................................................................... 2 Project Scope .................................................................................................................................. 2 NETotel ...................................................................................................................................... 2 Scope Limitations ....................................................................................................................... 2 Method ........................................................................................................................................... 3 Chapter 2: Business Considerations ................................................................................................... 4 NETotel’s Business Model............................................................................................................. 4 Chapter 3: System Requirements ....................................................................................................... 6 Internal System for NETotel .......................................................................................................... 6 Reception .................................................................................................................................... 6 Kitchen ....................................................................................................................................... 8 Restaurant ................................................................................................................................... 9 Cleaning ..................................................................................................................................... 9 Management ............................................................................................................................. 10 System Communicating with NETotel’s External Contacts ........................................................ 11 Website ..................................................................................................................................... 11 Hotel Booking Website ............................................................................................................ 12 Requirements Specification.......................................................................................................... 13 Chapter 4: Design of User Interfaces ............................................................................................... 14 Basic Usability ............................................................................................................................. 15 Usability Used .............................................................................................................................. 15 Internal System ......................................................................................................................... 15 External System........................................................................................................................ 16 Chapter 5: System Architecture ....................................................................................................... 18 Tier Architecture .......................................................................................................................... 18 Chapter 6: Implementation ............................................................................................................... 20 Code Description .......................................................................................................................... 20 Chapter 7: Test ................................................................................................................................. 20 Test of Code ................................................................................................................................. 20 Selecting the Areas to Test ....................................................................................................... 21 Usability testing............................................................................................................................ 22 Chapter 8: Conclusion + Reflection ................................................................................................. 22 Next Iteration................................................................................................................................ 22 Chapter 1: Introduction In this chapter we will introduce the project with cope and limitations. Following there will be a presentation of the method used for this project. Project Scope This project is based on an exam assignment in the course T9 Business programming with the .NET framework [see appendix A]. NETotel The assignment provides us with the case of NETotel. NETotel is a small hotel with 16 rooms, located in Auvergne in France. Connected to the hotel is a restaurant frequented by both hotel guests and passers by or locals. The hotel requires a system that can cover different tasks to support the employees in their everyday work at NETotel. In an always increasingly competitive business NETotel needs to provide their guests with the best service possible and they need to be both efficient and effective in providing these services. This is where the IT system comes in, which we’re required to make. As part of the assignment we are also required to make NETotel’s website and for the hotel portal Hotels’R’Us on which NETotel is represented. Scope Limitations The scope of this project has been defined in the assignment given to us. In our business analysis we will look at the different aspects of the case to define which problems the hotel system should be able to solve, some of these will be similar to tasks given in the case, others will be defined by us based on business considerations. There will be some areas of business within the hotel industry which will not be covered in this project. E.g. payroll, staff administration etc. These are related to the operation of the hotel. This area is not covered in the case which makes it difficult for us to analyze it sufficiently. Furthermore several systems already exist which can cover this area, e.g. SAP. 2 Since our knowledge of NETotel is based only on the case there will be issues we have to consider based on our own experiences. If this was a real-life project we would of course interview the future users and map the tasks they will use the system for. In the development of the system we will opt for using the technology and methods most expedient for the specific parts of the system. Due to the fact that this is an exam assignment we have to prove certain skills and in some situations though, we will use technologies just for the sake of the technology itself. A general thing for the entire system is that in a real-life situation the implementation would be in French. But since none of us speaks this language and it does not serve any purpose in relation to the assignment we keep the entire project in English. Method During the T9 .NET programming for the business course we were told that there were no requirements of using a specific method for this project. Though, we have considered some methodical issues. Before the actual implementation we do some analysis, mainly from a business perspective. This will lead to a requirements specification. Following that is a design phase where both graphical issues and system architecture is considered. This is followed by implementation and testing. The project will end with a conclusion and reflections on the process. The intention is to do the development as an iterative process where experiences from one stage can cause us to return and re-evaluate previous stages. Supplementing the above mentioned general approach for structuring the project we will use concepts from system development methods we are already familiar with. From OOA&D1 we draw advantage from the use of class diagrams and use cases. From XP2 we use the concept of always implementing the currently most necessary part of the system. For graphical representations in the report we use Unified Modeling Language (UML). 1 Object Oriented Analysis & Design, method described by Lars Mathiasen, Andreas Munk-Madsen, Peter Axel Nielsen, and Jan Stage. 2 eXtreme Programming, method invented by Kent Beck. 3 Chapter 2: Business Considerations In this chapter we will discuss the business aspects considered for the development of the system for NETotel. NETotel’s Business Model In the following we will present what we consider a sensible idea of what NETotel’s business model looks like. Since we do not know all aspects of NETotel’s business or their overall mission and vision there will be parts of the business model which we cannot fully cover. Identifying the needs of NETotel we have focused on Customer Identification and Value Proposition. We have also considered issues concerned with economy and resources. Economy and Resources Since we do not have a real budget to live up to we have evaluated the kind of business NETotel does and the size of the business. We reached the conclusion that a project like this would have limited funding if it was to be executed in reality. To stay in accordance with this we keep the design of the system simple and avoid implementing features that could be considered unnecessary ‘gadgets’ to NETotel’s needs. Due to the nature of this project there might be a few applications that collide with this simplicity principle since we have to prove certain skills required in the examination assignment. Based on NETotel’s financial resources we have evaluated that as part of the simplicity we should avoid complex graphical user interfaces since these will require a larger amount of time and thereby money. Resources in general is an issue that has to be considered very carefully. The timeframe of this project is very strict and no fulltime workforce is available. This makes it even more important to keep the system simple to be sure to have a running system at any time. Customer Identification When developing a system it is always important to consider who the end users will be. But from a business perspective it is also necessary to consider who your customer is. In our case the customer is the management of NETotel as it is them who have ordered the system. As system developers we therefore have to focus on the requirements expressed by the management, which are the requirements in the assignment given to us. Value Proposition 4 Value proposition is about creating value for the customer. This is an issue we believe to be of high importance. For NETotel the motivation for buying the system is the extra value the system is expected to deliver to the business in the shape of increased efficiency and better workflow, leading to being able to offer a higher level of service to guests. Value proposition will therefore be considered in as an important factor in identifying the tasks and functions the system must be able to handle. 5 Chapter 3: System Requirements In the system we are to make for NETotel there will be two different types of user groups to consider. One is the NETotel organization, with all its employees and their different needs. The other is the internet users that visits either NETotels own website or the hotel booking portals. We will present our business considerations for each of these groups separately. In the following the needs of NETotel will be identified, leading to a derived requirement specification. Last there will be a description of the technologies needed to implement the requirements. Internal System for NETotel In the following our considerations for the system used internally in NETotel will be described. Each section will lead to a definition of the requirements for the area described. These will be used for a requirements specification for the entire project. The different areas to be covered are Reception, Management, Cleaning, Restaurant, and Kitchen. The internal structure can be seen in appendix B.FIXME Use cases for the different areas can be seen in appendix C. FIXME Reception The reception is the main central for the most vital things going on at NETotel. It has the function of being the customer’s services station, where room-rent and other payment-services are being administrated and registered. When customers call or show up at the hotel, it should be possible for the receptionist to see the vacancy of rooms and book them if required. The receptionist must be able to book one or more rooms, dependent on the guest’s needs. NETotel is a small hotel and each room has its own characteristics. Therefore customers often ask for a specific room when booking, hence NETotel assign a room to the guest at booking time When checking-in the customers, the receptionist stores personal information about the customers. This is done in order to keep track of the guests staying at the hotel and who is responsible for the payment, at the end of the stay. Furthermore the information is used for security issues where it is important to know who is staying at the hotel. This could be if the hotel unfortunately should be 6 hit by some sort of a disaster, such as robbery, fire etc. In the aspect of marketing, personal information could also be appropriate, as NETotel thereby has the opportunity to make statistics on their guests, and moreover send specific information about special offers, new facilities, prices etc., to the specific target group. A booking must contain the following information: - Arriving Date, Leaving Date, Name(s), Address, Phone number, and e-mail address. The guests sometimes have individual requests or needs which the hotel needs to know of. FIXME – Check med kode! During a stay all payment-services used by the customer, must be registered in the system. This includes the use of the phone and minibar in the room, the orders from the restaurant and other extra services, such as late night drinks, room services, extra beds etc. In the reception customers have the ability to sign up for breakfast for the next morning. This service is included in the room price and therefore it must not be implemented as a part of the payment-services. Since NETotel is a small hotel with only a few employees the relationship amongst these is very close and familiar. Therefore the daily contact between the chef and the receptionist, when he picks up the handwritten note with the number of breakfast orders, is very important. This is the time where all the little things going on at the hotel are discussed. When customers check out, the reception is where the final payment is done. Therefore the receptionist must be able to print out a total bill for the entire stay, including the above mentioned payment-services. Furthermore the receptionist must be able to respond to requests from guests who want to know the current state of their bill. To have as few transactions as possible NETotel insists on charging everything in a final bill when the guests check out. After check-out each room must be cleaned. Therefore each room must also have a “cleaning status” indication which makes the receptionist able to see if the rooms have been cleaned, before checking-in new guests. The restaurant bills and the phone bill must be registered automatically, while all other paymentservices must be entered manually by the receptionist. This means that whenever the restaurant takes an order from a customer, it must automatically be registered in the system and charged to the final invoice of the room. On the other hand, if the customer orders a bottle of wine, as extra room-service, the receptionist must enter it in the system manually to add them to the invoice. 7 As all 16 rooms at NETotel are individually decorated changes can occur to the rooms. Therefore the receptionist has to be able to update the information about the rooms for both internal use and for the websites providing information about the hotel. For the system to be useful in the future it is also necessary to add a possibility for entering new rooms into the system. Many people consider the number 13 a number bringing bad luck. Therefore NETotel has no room 13. Another aspect which has to be considered is overbooking. Overbooking has become a part of larger hotels’ business strategies. The normal procedure is that hotels have a certain percentage of customers not showing up, though they have made a reservation. To avoid loosing money, because of this, they overbook. Due to its size and the types of guests they usually cater, NETotel does not do overbookings. Different requirements for the receptions use of the system, has been set up. The requirements for the receptions are as follows: The receptionist must be able to: view room status (available / booked) book rooms cancel/edit bookings view personal information for the guests register different sorts of payment-services to each room view and print the total payment amount for each room view cleaning status for each room ability to update room information (on website) Kitchen NETotels chef is responsible for combining the menu for the restaurant. The menu changes every day dependent on what the chef finds on the market in the morning. It has to be printed for the restaurant but must also appear in an updated version on NETotel’s website. When working in the kitchen the chef needs the orders from the restaurant to be printed so he can arrange them in the order he needs to make then – and as his hands are often greasy it would never work if he had to do this on a screen. The kitchen system must be able to do the following: Print orders from the restaurant 8 Allow the chef to update the menu both for print and an online version Restaurant When the waitress takes orders she has to refer them to a table. She will then pass the order on to the kitchen. As the waitress has terrible handwriting she requires a computer device for typing the orders to make it easier for the chef to read. In the restaurant guests can order food and drinks. Usually only courses from the menu can be ordered but for children and allergic persons the restaurant sometimes makes an exception. In these situations the waitress goes to the kitchen and talks to the chef as he is the only one who knows what ingredients are available. Not all guests order everything from the beginning of their sitting. E.g. people often order extra drinks. Likewise people can regret an order; perhaps they have no room for dessert after the main course. This rarely happen though. Dependent on whether the guest is residing in the hotel or not, the meal can either be charged to the guest’s room or printed on an invoice for immediate payment. The following is required in the application for the restaurant: Orders ordered by table Passing orders on to the kitchen Option of running additions to the order Option of charging for unspecified products, e.g. specially prepared meal for allergic person Print invoice for payment or transfer to hotel bill Cleaning Every day the cleaning-staff make their round in the rooms. They fill in a check list for each room to ensure that the room meets the standard promised to the guests. Tasks for each room include restocking the minibar, changing linen, refill soaps and towels, and vacuuming/cleaning of the room. The routines also include checking for wear and tear of the inventory in each room; these observations will be included in the final statement providing the management the possibility to coordinate the repairs with the handyman. 9 When a room is cleaned the reception has to be informed. The message back to the information needs to include the information of who was responsible for cleaning the specific room. The application for the cleaning must contain the following: Automatic list of rooms to visit To-do lists for each room Completed function to let booking system indicate room is ready Wear and tear remarks used by management Minibar check list Management Walther is NETotel’s manager and it is vital that he at all times is able to see a snapshot of the current financial situation, information that he can use to plan and adjust current business affairs. The management part of the system should offer the manager the possibility of viewing the occupation rate of the hotel at any time and also which rooms are occupied the most, hence they must be the most popular and thereby profitable. Sales statistics over the use of the minibar and room service will enable the manager to make use of this information to maximize the profitable range of products offered. Making a season based statistic could prove to be interesting, since rum-toddys and cocoa is more predominantly chosen in colder days. Considering the nationality of the guests can provide insights into the habits of different cultures. Financial statement from the restaurant should give information of the amount of menus sold on a daily basis, and have it distinguish between hotel guests and non-guests, allowing knowledge about the success of marketing the restaurant to the local population. A general view of costs per meal and subsequently the profits or losses on a daily basis, with the possibility to break down the statistics to individual meals, allows the manager to rate the success the cook’s gourmet creativity. Profits from selling beverages and various extras should be included in the statement. Maintenance of the hotel is a never-ending task and the manager finds it unnecessarily difficult to have an exact overview of how to focus the time and resources in a constructive manner. There are many small maintenance tasks and Walther wants to be able to divide all the tasks, small and large in such a way that the utilization of resources is optimized. Ex. if the gutters need cleaning, they could just as well have the windows cleaned when the ladder is up anyway. For rooms, 10 maintenance information should be categorized by room number, to permit for a full room repairing sweep by the handyman. The manager is a busy man who likes traveling. Therefore he must be able to check the situation of the hotel no matter where he is; at the hotel, from his home and on business travels. But as some of the information he needs is sensitive there must be some restriction on the access to the system. The manager’s part of the system needs to provide the following: Overview (in percentages) of: o booking rate o maintenance expenses o sales percentages on the different services (minibar, phone etc.) o who frequents the restaurant, hotel guests or passers by? Comparison of the above mentioned statistics General access to the hotels system and databases to obtain knowledge about all parts of the business. Access independent from physical location Log-in to prevent unauthorized access to the information System Communicating with NETotel’s External Contacts In the following we will describe our considerations for the system and applications used by NETotel for communication with external contacts. Website NETotel must have their personal website, located at http://www.netotel.fr. The website is a part of the hotel’s marketing strategy. The website has the functionality of giving visitors a short presentation of the facilities at NETotel and its surroundings. Therefore the site must contain a presentation of the rooms at NETotel, the restaurant and also it must give the client an insight of the activities in the surrounding. This could be an activity calendar for the nearest village, trekking tours, river rafting etc. Furthermore a map is to be included, to help the visitors find their way to NETotel, as easily as possible. The overall purpose of this is to inspire potential customers to visit the hotel. The website must contain the following: All pages must contain: 11 o Contact information such as address, telephone number etc. o The logo of NETotel. A front page containing: o Images of the surrounding. o Introducing text. An information page containing: o General information about NETotel and the restaurant. o Images of the NETotel and a map illustrating the way to NETotel. A room page containing: o Images of all rooms. o General information about all rooms such as price, number of beds etc. A restaurant page containing: o Information about today’s menu. o Prices of the elements of the menu. A surroundings page containing: o Information about the nearest village, volcanoes etc. . o Link to the activity calendar for the province, nearest trekking/river rafting bureau etc. Hotel Booking Website As part of exam assignment we are required to make a website for Hotels’R’Us. Hotels’R’Us is a website offering information about several different hotels and the website contains a booking facility. This website is not directly related to NETotel but does hold information about the hotel. Guests can book their stay at NETotel from the Hotels’R’Us website. Therefore the NETotel system must be able to communicate with the Hotels’R’Us system. As a service to their users Hotels’R’Us provides a map-function which can show the way to the hotels they present. The Hotels’R’Us website provides the following requirements: Information about NETotel and other hotels A booking facility A search function A mapping facility helping the users find their way to the chosen accommodation Facility for communication between NETotel’s system and the Hotels’R’Us booking system 12 During the project we keep focus on NETotel, therefore the Hotels’R’Us website will be built following the same rules for e.g. usability as NETotel’s own website. In the following Hotels’R’Us will therefore only be referred to when issues apply specifically to this website. Requirements Specification In the previous we identified the requirements of the different units of NETotel. These requirements will be gathered to a derived requirements specification which under ideal circumstances would be presented to representatives of NETotel for approval before continuing the development of the system. The requirements will be rated critical or not critical. This rating is a guideline and is solely based on our own evaluation. Requirement A database for storing (and changing) booking information An invoice function, adding up all the guest’s purchases Possibility for changing individual room information A cleaning system shoving which rooms that need cleaning and what to do (preferably to be used on a handheld device) A function sending room status from reception to cleaning system and vice versa Check list for the cleaning system An order system for the restaurant transferring the order from a handheld device directly to the kitchen Storing restaurant orders, including running additions, from one table/sitting to a final bill A web-based manager’s user interface which shows information on all business aspects Log-in for managers application Function for manager to compare business areas XML based application for the chef to update the menu from a GUI and then automatically create a printable PDF version and update the online version Website presenting NETotel to potential guests Booking facility on NETotel’s website Web service to interface with external partners Rating Critical Critical Not critical Critical Critical Not critical Critical Critical Critical Critical Critical Critical Critical Not critical Critical 13 Requirements to external partners’ systems: Requirement Website presenting different hotels Booking facility “Mappoint” function guiding the way to hotels Rating Critical Critical Not critical Assumptions When implementing the system we assume that NETotel is covered by a wireless network. Therefore all handheld devices will work without any worries about interconnectivity… BLA BLA BLA – er det relevant? FIXME 14 Chapter 4: Design of User Interfaces Basic Usability In our business considerations we determined the design of the NETotel system to be kept as simple as possible. In addition to this simplicity principle we will use some basic usability principles when designing the system. The five issues we consider, alongside regular common sense, are taken from Jacob Nielsen’s website useit.com3. Learnability: The system has to be easy for users to learn Efficiency: Tasks have to be performed quickly using the system Memorability: It has to be easy to remember and use the system even after a period of not using it Errors: If any errors occur it must be easy for the user to recover the system Satisfaction: The design must be pleasant to use Dealing with usability the specific needs of the different user groups have to be considered. In our Business Considerations we identified the future users and each of these groups will be held up to the above usability issues. Usability Used The two groups of users which we have to develop systems for require two different approaches to usability. Internal System The users of the internal system are the employees of NETotel. These are forced to use the system, as we assume it is implemented in the business with a top-down approach. For the system to be useful for the hotel it has to be efficient when used for everyday tasks. Since most the employees of NETotel are not currently using IT in their everyday work we cannot expect them to be computer literate. Therefore all applications have to be simple and easily accessible to avoid frustration and hostile attitude towards the system. 3 http://www.useit.com/alertbox/20030825.html 15 Learnability: We keep the system simple and make sure to make as few steps as possible to complete a task, furthermore all buttons etc. will have clear text showing what their purpose are. Efficiency: All applications needed by the specific user must be accessible from the main user interface for the user group and all tasks are done in as few steps as possible. Memorability: As already mentioned all functionalities will be supported by text, e.g. on buttons. Errors: There will be an error handling facility in the system, providing an error message bla bla bla, hvad gør vi egentlig her? FIXME Satisfaction: We keep the graphic design simple and make sure not to use colors tiring the eye. The aesthetics as well as the functionality is considered very carefully by keeping the system as simple as possible. External System The external system in this project are websites on the internet, both NETotel’s own website and the HotelsR’Us website. The internet users are just a click away from our competitors. Therefore we have to give them a high level of usability to keep them at our site. The simplicity principles we favour in the internal system will to some level be used also on NETotel’s website. The level of competition for attention on the internet makes it necessary to provide something that can hold the visitors’ attention though. Therefore there will be a higher focus on the graphical aspects in the development of the website compared to the internal system. Learnability: Since we must expect many visitors of the website to be first time visitors and thereby of the specific services provided, all functionality has to be very easy to learn. We will do this by providing short, clear text explaining each step of the different procedures for e.g. booking. The main menu for navigating the website doesn’t change its visual appearance when the visitor is browsing the site. This makes it easier for the visitor to find the wanted information, as he doesn’t have to learn to navigate the site, more than once. Efficiency: Though the site is not to be very complex, we have tried to structure the information in a way, which en our opinion seems logic and easy to understand. We thereby try to make the clients request for information as quick and easy as possible. As an example we have made the contact information visible at all times. This has become an unwritten rule when dealing with web design, as many clients just visits the website in order to get the address, phone number etc. Also it is appropriated that the client at all times can see the phone number, if they want to contact NETotel to get further information. 16 Memorability: This point is relating the first point; Learnability. All sub sites have identical designs with only the content changing, which makes it easy for the client to learn and re-learn to navigate the site. Errors: This aspect is not taken into consideration as error handling most often deals with larger complex systems and not simple websites, containing no complex functionalities. Satisfaction: To attract users and make them stay at the website the design has to be interesting, but still simple as the focus of the website should not be disturbed. Design of Internal System FIXME Graphical design DKM-stuff FIXME Design of External System As the target audience for the website is everybody who could consider a stay at NETotel, the design approach is different from the rest of the system. Dealing with a target group as broad as this, makes the aspect of usability an important issue as the first-time impression consequently reflects the users act. In contrast to the rest of the system this is vital, as NETotel doesn’t have the ability to explain clients how to find and use the wanted information. Therefore the website is designed in order to optimize the usability aspect as much as possible and thereby avoid users to have a frustrated impression while planning their stay. FIXME 17 Chapter 5: System Architecture In this chapter we will explain the architecture we have used for the NETotel system. MERE FIXME Tier Architecture Three-tier is a client-server architecture consisting of a presentation tier, a logic tier and a data tier. Three-tier application http://en.wikipedia.org/wiki/Image:Overview_of_a_three-tier_application.png The presentation tier is responsible for communication with the users and web service consumers. It uses objects from the logic tier to respond to the events raised by the user interface. In web programming this comprises technologies such as HTML, CSS and JavaScript. The logic tier is the intermediary between other tiers. It ensures that the business processing is done correctly. This tier is usually subdivided into a business tier and a data access tier – although often lumped together. This division is in order to increase scalability and transparency. 18 The data tier retrives, stores and updates information and is often represented by a database. In this case the Microsoft SQL server. We consider stored procedures as a part of the data tier since they reside in the database, although it is tempting to put business logic inside these. Besides the usual advantages of modular programming with clean and well defined interfaces, the model intends each tier to be developed, tested, upgraded or replaced independently. It allows multiple applications (or services) to access the same data. Database The solution is based upon Microsoft SQL Server. Although several databases (MySQL and Microsoft Access) where into consideration, this offered efficient management tools and a seamless integration with Visual Studio. Furthermore we have chosen to encapsulate our SQL statements in stored procedures, which the mentioned databases do not support. Residing on the SQL server they can be shared among the different applications. Usage of stored procedures increases the performance but also delivers better security. It prevents SQL injections by the use of parameters. FIXME: ER-diagram Concurrency issues The database offers concurrency control on the data level, but we need to detect and handle concurrency issues that could arise within the application. Bookings can be done from the reception, internet – solved by using transaction Databaseopbygning Data Access Exception handling Data flow Tier model – with clear explanation of WHY it looks as it does and specification of interfaces (Sequence) diagram for the different parts ALL DIAGRAMS WE CAN THINK OF!!! 19 Chapter 6: Implementation Implementations rækkefølge (jvf. metode) State diagrams Code Description Chapter 7: Test There are several aspects that can make a system fail. These can e.g. be missing requirements, immature market etc. In a real-life situation all these issues should be evaluated and dealt with. Due to the nature of this project, the areas we have chosen to focus on are related to ensuring the system working properly. These areas cover test of code and usability testing. Test of Code It is important to test the software you develop because it will minimize the faults and defects that are inevitable in a big project and therefore save you the irritation and the time it takes if program failures are first found when the system is taken into use. Different tests will be performed during this project. Individual parts will be tested to verify their unique functionality. The system as one unit will be tested to verify that the individual parts can work together. Unit Testing Unit testing is the testing done while programming. Each code section is tested separately to make . Black Box Testing Black box testing is a way of unit testing. It is focused on the unit’s pre- and post conditions. It will be tested whether an input returns the expected output. The major purpose of black box testing is to discover function faults in the unit and test the interface to another unit. To test the unit most efficiently the selected inputs should be values that the unit is constructed to handle and extreme inputs that the unit is not constructed to handle. This will disclose faults for the programmer. 20 For these tests we use the framework provided by Visual Studio. MERE? FIXME Unit testing itself is not enough, it is also important to do integration tests which find the errors arising when the different parts of the system have to work together. White Box Testing The white box test is used for testing the structure of the system. The idea is that all code has to be executed once. Therefore all possible independent paths in the system have to be executed once. To make clear which paths the system contains a flow graph is made for the part of the system you want to test. A white box test requires knowledge of the code and what it is supposed to do, so that the test programmer can tell if the system does what it is supposed to, the way it is supposed to. In our project. FIXME Stress test Stress test is used to see how a system behaves in extreme situations FIXME FxCop FIXME Selecting the Areas to Test As we wanted to test the vulnerable parts of the system first, to make sure the most critical errors were caught, we made a risk matrix to identify the areas with the highest need for error correction. We split the system into the following parts: FIXME The above system parts can be seen placed in the risk matrix beneath: FIXME As can be seen from the figure FIXME are the most vulnerable parts of the system and we therefore started the test cycle with these areas. 21 Usability testing FIXME Next Iteration CMS In order for NETotel to maintain their website, such as updating prices, adding news etc. a Content Management System (CMS) should be implemented as back-end. But as the development of a back-end system is not a part of this project, it is not implemented. Though it is important to mention, as a realistic approach to web design, most often includes a CMS. Online booking from their own website As the online booking module is developed as a part of the project, it could be optimal to implement this feature on NETotel’s own website. But as this is not a part of this project, we have solve it by inserting a hyperlink to the site where online bookings can be done. Chapter 8: Conclusion + Reflection What does NETotel gain from our solution Expansions for the program *The conclusion is that a small business like NETotel would never order a project like this since it is unlikely to have the finances necessary. For us as developers the ideal solution would be to develop this a standard system and then sell it to all the small hotels on the market. Reflection: Is hotel culture suitable for a system like this? Next Iteration 22 23