Project Scope

advertisement
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
Download