Professional Documents
Culture Documents
Sprial Book
Sprial Book
Sprial Book
Submitted by:
Names Registration No
Muhammad Adnan 2019-UKT-006227
Abdul Qadeer 2019-UKT-006238
Class:
BS CS (2019-23)
Supervised by:
Dr Waqar Hussain
Supervisor
Dr Waqar Hussain
Lecturer
Department of Computer Science Sign:_______________________
Faculty of Computing & Engineering
University of Kotli AJK
External Examiner
Chairman
Dr Asif Kabir
Lecturer
Department of Computer Science Sign:_______________________
Faculty of Computing & Engineering
University of Kotli AJK
Dean
Prof. Dr. Ghulam Nabi
Faculty of Computing & Engineering Sign: ______________________
University of Kotli AJK
DECLARATION
We declare that this system, neither as a whole nor as a part has been copied
from any other source. It is further declared that we have completed our project
entirely on the basis of our personal effort made under the sincere guidance of our
teachers. No portion of the work presented in this report has been submitted in
support of any application for any other degree or qualification of this or any other
university or institute of learning. If any part of this project and write up is proved to
be copied out or there is any duplication of code, then will be responsible for the
consequences.
iv
ACKNOWLEDGEMENT
All the praise and glory to Allah, who has blessed us with the courage and
knowledge to achieve our goal. We can never thank Him enough for His countless
blessings upon us. Praise to Prophet Mohammad (S.A.W), who is and will always
be a source of guidance and knowledge for humanity.
For us, a milestone of this nature would never have been possible to achieve
without the support of galaxy of some truly loving and kind people in our life. No
words can fully describe our feelings of respect and gratitude for our affectionate
parents, supporting sibling and friends, whose love, encouragement, and prayers
invariably buoyed us up. Their concern, love and support can never be paid back.
We owe a lot of sincere gratitude to our respected supervisor Dr Waqar
Hussain, whose true guidance, positive criticism, and sincere encouragement made
us to get to our destination. He became a source of inspiration for us and kept us
moving in the right direction towards our goal.
Muhammad Adnan
Abdul Qadeer
v
PREFACE
This report presents a description of the analysis, design, implementation, and
and reservation service by online to the customer. These chapters include the steps
involved in the study to develop; a brief description of these chapters is given below:
Chapter 1: This chapter contains the introduction of the concerned organization and
the project.
Chapter 7: This chapter is about Software Testing for the Measurements of Its
Correctness.
vi
TABLE OF CONTENTS
FINAL APPROVAL.................................................................................................................ii
DECLARATION..........................................................................................................................iii
ABSTRACT................................................................................................................................iv
ACKNOWLEDGEMENT...............................................................................................................v
PREFACE...................................................................................................................................vi
Chapter 1..................................................................................................................................1
1 INTRODUCTION......................................................................................................................1
1.1 Purpose...........................................................................................................................1
1.2 How will it work?............................................................................................................1
1.3 System Conception.........................................................................................................1
1.3.1 Who is the application for?..............................................................................................1
1.3.2 What problems will it solve?............................................................................................1
1.3.3 Where will it be used?.....................................................................................................2
1.3.4 When is it needed?..........................................................................................................2
1.4 Software Process Model.................................................................................................2
Chapter 2..................................................................................................................................3
2 SYSTEM REQUIREMENT SPECIFICATION................................................................................3
2.1 System Requirements Specification.................................................................................3
2.2 Functional Requirements................................................................................................3
2.3 Non-Functional Requirements........................................................................................4
2.3.1 Security Requirements.....................................................................................................4
2.3.2 Software Quality Attributes.............................................................................................4
2.3.3 Product Requirements.....................................................................................................4
2.3.4 Organizational Requirements..........................................................................................5
2.3.5 External Requirements....................................................................................................5
2.4 System Features..............................................................................................................5
2.4.1 User information..............................................................................................................6
2.4.2 Response Sequences........................................................................................................6
2.4.3 System Architecture........................................................................................................6
2.4.4 System Evolution.............................................................................................................6
2.5 Other Non-functional Requirements..............................................................................6
2.6 Performance Requirements............................................................................................6
2.7 Safety Requirements.......................................................................................................7
2.8 Security Requirements....................................................................................................7
vii
2.9 Software Quality Attributes............................................................................................7
2.10 Business Rules...............................................................................................................7
Chapter 3..................................................................................................................................8
3 SYSTEM DESIGN.....................................................................................................................8
3.1 System Design.................................................................................................................8
3.1.1 Class Model......................................................................................................................8
3.2 Class Diagram..................................................................................................................8
3.3 Use Case Diagram.........................................................................................................10
3.3.1 Booking..........................................................................................................................11
3.3.2 Logout............................................................................................................................11
3.3.3 Booking..........................................................................................................................12
3.3.4 Select Services...............................................................................................................12
3.3.5 Payment.........................................................................................................................13
3.3.6 Notification....................................................................................................................13
3.4 Sequence Model...........................................................................................................14
3.4.1 Scenarios........................................................................................................................14
3.4.2 Sequence Diagrams.......................................................................................................14
3.4.3 Sequence Diagram for login...........................................................................................14
3.4.4 Sequence Diagram for Make Booking............................................................................15
3.4.5 Sequence Diagram for Log Out......................................................................................15
3.5 Activity Diagram............................................................................................................16
3.5.1 Activity Diagram for Login..............................................................................................16
3.5.2 Activity Diagram for Make Booking...............................................................................17
Chapter 4................................................................................................................................19
4 SOFTWARE PROJECT MANAGEMENT...................................................................................19
4.1 Project Management Techniques.................................................................................19
4.2 Work Breakdown Structure for TSR..............................................................................19
4.3 Gantt chart:...................................................................................................................19
4.3.1 Critical Path Method:.....................................................................................................20
4.3.2 Activity on Node diagram..............................................................................................21
4.3.3 Critical Path Method......................................................................................................21
4.3.4 Paths..............................................................................................................................21
4.3.5 Time Period:..................................................................................................................21
4.4 Total Cost:.....................................................................................................................22
4.5 Productivity..................................................................................................................22
viii
4.6 Resources we used.......................................................................................................22
4.7 Hardware......................................................................................................................22
4.8 Software........................................................................................................................23
Chapter 5................................................................................................................................24
5 PROJECT IMPLEMENTATION................................................................................................24
5.1 Framework....................................................................................................................24
5.2 Hardware Requirements...............................................................................................24
5.3 Software Requirements................................................................................................24
Chapter 6................................................................................................................................26
6 SOFTWARE TESTING............................................................................................................26
6.1 Introduction..................................................................................................................26
6.2 Psychology of Testing..................................................................................................26
6.3 Testing Objective..........................................................................................................26
6.4 The Box Approach........................................................................................................26
6.4.1 White Box testing..........................................................................................................27
6.4.2 Black Box testing............................................................................................................27
6.5 Levels of Testing..........................................................................................................28
6.6 Unit Testing..................................................................................................................28
6.7 Integration Testing........................................................................................................28
6.8 System Testing..............................................................................................................28
6.9 Alpha Testing...............................................................................................................29
6.10 Beta Testing................................................................................................................29
6.11 Acceptance Testing.....................................................................................................29
6.12 Interface Testing.........................................................................................................29
Chapter 7................................................................................................................................30
7 SOFTWARE TESTING FOR THE MEASUREMENTS OF ITS CORRECTNESS..........30
7.1 Testing..........................................................................................................................30
7.2 Development Testing....................................................................................................30
7.3 Unit Testing...................................................................................................................31
7.4 Components Testing.....................................................................................................31
7.5 System Testing..............................................................................................................32
7.6 User Testing..................................................................................................................32
7.7 Test Cases.....................................................................................................................33
7.7.1 Test Case for Signup.......................................................................................................33
7.7.2 Test Case for Login.........................................................................................................34
ix
7.7.3 Test Case for Logout......................................................................................................35
Chapter 8................................................................................................................................35
8 CONCLUSIONS, LIMITATIONS AND RECOMMENDATIONS....................................35
8.1 Conclusion....................................................................................................................35
8.2 Future Improvements...................................................................................................35
8.3 Limitations....................................................................................................................36
Chapter 9................................................................................................................................37
9 APPENDICES AND REFERENCES............................................................................................37
9.1 Appendices...................................................................................................................37
9.2 Glossary........................................................................................................................37
9.3 References:...................................................................................................................37
x
LIST OF FIGURES
Figure 1: Spiral Process Model..............................................................................................2
Figure 2: Class Diagram of Online Hotel Management System..........................................9
Figure 3: Use Case Diagram of Online Hotel Management System..................................10
Figure 4: Sequence Diagram for Login...............................................................................15
Figure 5: Sequence Diagram for Make Booking................................................................15
Figure 6: Sequence Diagram for logout..............................................................................16
Figure 7: Activity diagram for Login..................................................................................17
Figure 8: Activity Diagram for Make Book........................................................................18
Figure 10: Gantt chart..........................................................................................................20
Figure 11: AON Network Diagram.....................................................................................21
Figure 12: Critical Path Method..........................................................................................21
Figure 13: White Box Testing..............................................................................................27
Figure 14: Black Box Testing...............................................................................................27
LISTS OF TABLES
Table 1: Use Case Description for User Login............................................................12
Table 2: Use Case Description for User Logout..........................................................12
Table 3: Use Case Description for Booking................................................................13
Table 4: Use Case Description for Select Service.......................................................14
Table 5: Use case Description for Payment.................................................................15
Table 6: Use Case Description for Notification...........................................................16
Table 7: Work Breakdown Structure...........................................................................23
Table 8: Network Table...............................................................................................24
Table 9: Hardware Requirement for Project................................................................28
Table 10: Software Requirements................................................................................29
Table 11: Test Case for Signup....................................................................................38
Table 12: Test Case for login.......................................................................................38
Table 13: Test case for Booking.................................................................................39
Table 14: Test Case for Logout....................................................................................39
Table 15: Glossary.......................................................................................................41
xi
Chapter 1
1 INTRODUCTION
This chapter describes the existing system and the proposed system in details.
What problems we were facing in the existing system, due to which we are going to
atomize our system, are described here? What functionality our system will provide,
is described here.
1.1 Purpose
The purpose of this project is to develop an Online Hotel Management
System that streamlines hotel operations, enhances user experience, and optimizes
the management of reservations, customer information, billing, and other crucial
aspects of hotel management.
1
1.3.3 Where will it be used?
The application will be used in various hotel establishments, ranging from
small bed-and-breakfasts to large luxury hotels. It is designed to accommodate
different scales of operations and tailor its features to the specific needs of each
establishment.
1.3.4 When is it needed?
Given the growing demand for online and efficient hotel management
solutions, the application is needed now more than ever. The digital transformation in
the hospitality industry requires effective, centralized systems to meet the demands of
modern guests and optimize hotel operations.
1.4 Software Process Model
For this project, we have chosen the Spiral Model for software development. The Spiral
Model allows for flexibility and accommodates changes as the project progresses, making it
suitable for complex and evolving projects like an online hotel management system . For this
project we will follow iterative waterfall process model, because of clear and
unchanging business requirements as shown in Figure 1.
2
Chapter 2
2 SYSTEM REQUIREMENT SPECIFICATION
2.1 System Requirements Specification
System requirements are more detailed descriptions of the software system’s
functions, services, and operational constraints. The system requirements document
(sometimes called a functional specification) should define exactly what is to be
implemented. It may be part of the contract between the system buyer and the
software developers.
3
2.3 Non-Functional Requirements
Non-functional requirements are not directly concerned with the specific
services delivered by the system to its users. They may relate to emergent system
properties such as reliability, response time, usability and store occupancy.
In our system minimal navigation through will make its performance better. It
is not an embedded system so memory is not a big issue for our system, as memory
has become very cheap now days. We are providing a user-friendly interface and our
system will be guiding the user at every step of performing some tasks. Our system
will be reliable as we are handling exceptions in our system. To deal security issues
we are using user name and password for security purposes.
4
2.3.4 Organizational Requirements
These requirements are broad system requirements derived from policies and
procedures in the customer’s and developer’s organization. Examples include
operational process requirements that define how the system will be used,
development process requirements that specify the programming language, the
development environment or process standards to be used, and environmental
requirements that specify the operating environment of the system.
For development we are using these tools:
5
Versatile: System software must communicate with both the specialized hardware it
runs on and the higher-level application software that is usually hardware-agnostic
and often has no direct connection to the hardware it runs on. System software also
must support other programs that depend on it as they evolve and change.
6
throughput, execution time and storage capacity. The service levels comprising
performance requirements are often based on supporting end-user tasks.
7
Chapter 3
3 SYSTEM DESIGN
3.1 System Design
Design is the first step in the development phase for any engineered product or
system. The designer’s goal is to produce a model or representation of a class that will
later be built. Beginning, once system requirement has been specified and analysed,
system design is the first of the three technical activities -design, code and test that is
required to build and verify software. This document details out the overall software
design.
After the identification of classes their attributes and the relationships among them
our class diagram is given above.
9
3.3 Use Case Diagram
A system involves a set of use cases and a set of actors. Each use case
represents a slice of the functionality the system provides. The set of use cases shows
the complete functionality of the system at some level of detail. Similarly, each actor
represents one kind of object for which the system can perform behaviour. The set of
actors represents the complete set of objects that the system can serve. Objects
accumulate behaviour from all the systems with which they interact as actors. This
system involves a set of use cases like make a login, add record, and detection as
shown in Figure 3.
10
3.3.1 Booking
This use case starts when an actor wishes to log into the System. The system
requests the actor to enter his/her details. The actor enters his/her name and password.
The system then validates the entered credentials and logs the actor into the system as
shown in Table 1.
3.3.2 Logout
This use case starts when an actor wishes to log out of the System. The system
then performs the action of checking that which actor is wishing to logout from the
system by validating the credentials of that actor. The process is shown in Table 2.
11
Post Condition After the successful logout.
3.3.3 Booking
This use case starts when an actor wishes to book a room. The process is
shown in Table 3.
Table 3: Use case description for Booking
Actor Customer
When customer visit from his respective account they will go the
Description home page then select the Book know option and then filling
specific fields and press the booked know to make booking.
12
3.3.5 Payment
This use case starts when an actor wishes to log out of the room and make
payment the process shown in table 5 below.
Table 5: Payment
User can make payment of room and the services he can take.
Summary
Actor User
3.3.6 Notification
This use case starts when a person places an order for the cab, the person can
view and locate the cab with the notification bar of the device as shown in Table 6.
Precondition The system will not ask for login first to enter home page
13
3.4 Sequence Model
The sequence model showcases the interactions between different components of
the system in various scenarios.
3.4.1 Scenarios
A scenario is a sequence of the events that occurs during one particular
execution of a system such as for a use case. The scope of a scenario can vary; it
may include all events in the system or it may include only those events impinging
on or generated by certain objects. A scenario can be the historical record of
executing an actual system or a thought experiment of executing a proposed
system. A scenario can be displayed as a list of text statements. A scenario contains
messages between objects as well as activities performed by objects. Each message
transmits information from one object to another.
14
Figure 4: Sequence Diagram for Login
17
the early stages of designing algorithms and workflows. In this activity diagram user
add record into the system and system update the record as shown in Figure 8.
18
Chapter 4
4 SOFTWARE PROJECT MANAGEMENT
4.1 Project Management Techniques
Project management system helps your engineering team track every initiative. A
single system can manage every aspect of every project your engineering team is
executing. In Notion, all the project work lives side-by side deadlines and updates
saving you time bouncing between tools. Project management techniques involved
both of Gant Chart and Critical Path Methods. Both have different qualities and
importance which can be helpful in every project, these techniques are very helpful in
business purpose and many organizations. These techniques are,
Gantt Chart
Critical Path Method
Level Activity
1 Idea
2 Research Work
3 SRS
4 Design Documentation
5 Progress Presentation
6 Implementation & Testing
19
various tasks within the project. Online Hotel Management System Gantt chart are
shown in the Figure 9.
20
F Implementation and Testing E 2 weeks
Effort (E) = a x
(Size)b
Where a = 2.4, b
= 1.05 So,
TDEV =4.5
TDEV = 5 months
4.5 Productivity
Productivity= Size / Effort
Productivity = 2.5 / 6.3 =
0.3968 Productivity = 0.4
LOC/Staff-month
Staff = 6.3 / 5
4.7 Hardware
Android Mobile
Internet
22
4.8 Software
Internet
Visual Studio
HTML, CSS, JavaScript & bootstrap.
23
Chapter 5
5 PROJECT IMPLEMENTATION
We use Html, CSS, SQL & Visual Studio to do all the necessary tasks and
operations that are required to achieve the proposed solution of our project. We are
using Html & JavaScript to develop application. By using this language, we are doing
interact with modules and implement other different modules.
5.1 Framework
The Visual Studio Framework is the entire stack of stuff that makes up the OS.
This is the underlying Native libraries that are not directly accessible, the layer above
that that you actually interact with and the code that developers write to run on the
system.
24
The requirements can be obvious or hidden, known or unknown, expected or
unexpected from client's point of view as shown in Table 10.
Language 1: JavaScript
2:HTML
3:CSS
4: Bootstrap
25
Chapter 6
6 SOFTWARE TESTING
6.1 Introduction
Software testing is a critical element of software quality assurance and
represents the ultimate review of specification, design and coding. In fact, testing is
the one step in the Computer Science process that could be viewed as destructive
rather than constructive. As a secondary benefit, testing demonstrates that software
functions appear to be working according to the specification. Testing provides a
good indication of software reliability and some indication of software quality as a
whole. Testing cannot show the absence of defects, it can only show that software
defects are present finally we arrive at system testing and we tried our best to test
each individual module and also as an integrated module (as a whole) with sufficient
data that may an organization have, fulfilling the objective of our “Online Hotel
Management System”.
26
6.4 The Box Approach
Traditionally software testing methods are divided into white- and black-box
testing. These two approaches describe the point of view of test designer.
27
Figure 13: Black Box Testing
28
6.7 Integration Testing
After the unit testing, we have to perform integration testing. The goal here is
to see if modules can be integrated properly, the emphasis being on testing interfaces
between modules. This testing activity can be considered as testing the design and
hence the emphasis on testing module interactions.
In this project integrating all the modules forms the main system. When
integrating all the modules we have checked whether the integration effects working
of any of the services by giving different combinations of inputs. All modules were
collected and integrated to each other and results of each test were up to the mark.
29
6.10 Beta Testing
Beta Testing is conducted at the client’s place i.e. outside the organization. In
Beta testing, developer is not present while testing as it is tested at client’s side. Here,
customer records all the errors and other issues encountered during this testing and
reports to the developer.
Chapter 7
7 SOFTWARE TESTING FOR THE MEASUREMENTS
OF ITS CORRECTNESS
7.1 Testing
Testing is intended to show that a program does what it is intended to do and
to discover program defects before it is put into use. When you test system, you
execute a program using artificial data. You check the results of the test run for errors,
anomalies, or information about the programs non-functional attributes.
The testing process has two distinct goals:
To demonstrate the developer and the customer that the system meets its
requirements. For custom software this means that there should be at least one test for
every requirement in the requirements document. For generic software products, it
means that there should be tests for all the system features, plus combination of these
features, that will be incorporated in the product release.
30
To discover situation in which the behaviour of the system is incorrect,
undesirable, or does not conform to its specification. There are consequences of
system defects. Defects testing is concerned with rooting out undesirable system
behaviour such as system crashes, unwanted interactions with other systems, incorrect
computations and data corruption.
31
When you are testing object classes, you should design your tests to provide
coverage of all of the features of the object. This means that you should:
• Test all operations associated with the object;
• Set and check the value of all attributes associated with the object;
• Put the object into all possible states. This means that you should simulate all
events that cause a state change.
32
testing a system that has been commissioned from an external supplier, or could be an
informal process where users experiment with a new software product to see if they
like it and that it does what they need. User testing is essential, even when
comprehensive system and release testing have been carried out. The reason for this
is that influences from the user’s working environment have a major effect on the
reliability, performance, usability, and robustness of a system.
It is practically impossible for a system developer to replicate the system’s
working environment, as tests in the developer’s environment are inevitably artificial.
For example, a system that is intended for use in a hospital is used in a clinical
environment where other things are going on, such as patient emergencies,
conversations with relatives, etc. These all affect the use of a system, but developers
cannot include them in their testing environment.
In practice, there are three different types of user testing:
• Alpha testing, where users of the software work with the development team to
test the software at the developer’s site.
• Beta testing, where a release of the software is made available to users to
allow them to experiment and to raise problems that they discover with the
system developers.
• Acceptance testing, where customers test a system to decide whether or not it is
ready to be accepted from the system developers and deployed in the customer
environment.
The test cases should show that, when used as expected, the component
that you are testing does what it is supposed to do. If there are defects in the
component, these should be revealed by test cases. You should therefore write two
kinds of test case. The first of these should reflect normal operation of a program and
should show that the component works. For example, if you are testing a component
33
that creates and initializes a new patient record, then your test case should show that
the record exists in a database and that its fields have been set as specified. The
other kind of test case should be based on testing experience of where common
problems arise. It should use abnormal inputs to check that these are properly
processed and do not crash the component. [Sommerville-2009]
Test cases are built around specifications and requirements, i.e., what the
application is supposed to do. Test cases are generally derived from external
descriptions of the software including specification specifications requirements and
design parameters. The test designer determines input, output and possible flow of
events.
ID 01
Name Signup
Brief Description Used to sign-up to the system
Expected Input Signup name, Email and password
Expected flow of 1. Enter Name 2. Enter Email 3.Enter Password 4.Press
events Sign-up button.
Alternate flow of 1. Invalid Information added, or Email already exist 2.
events Error message displayed to admin.
Pre-Condition None
Post-Condition signed in
Actor Admin
Status Pass
34
his/her credentials. The system validates the entered name and password and logs the
actor into the system as shown Table 12.
ID 02
Name Login
Brief Description Used to login to the system
Expected Input Login Email password
Expected flow of events 1. Enter Email 2. Enter password 3.press ”Login”
Alternate flow of events 1. Invalid login Email or password 2. Error
message displayed to admin.
Pre-Condition None
Post-Condition Logged in
Actor Admin
Status Pass
ID 06
Name Logout
Brief description Admin
Expected flow of events Admin logout of FDR by clicking Logout button,
System will take the user to logout page.
Pre-condition Must login
Actor Admin
Status Pass
35
Chapter 8
8 CONCLUSIONS, LIMITATIONS AND
RECOMMENDATIONS
8.1 Conclusion
The Online Hotel Management System presented in this spiral book offers a
comprehensive and efficient solution to streamline hotel operations and enhance user
experience. By addressing key challenges in the hotel management industry, such as
manual booking processes and data redundancy, this system significantly improves
operational efficiency and guest satisfaction. The features provided, including
reservation management, billing, and reporting, make it a valuable tool for hotel
owners and managers.
8.3 Limitations
While the Online Hotel Management System offers significant benefits, it is important
to acknowledge certain limitations:
Dependence on internet connectivity: The system heavily relies on stable
internet connectivity, which may pose challenges in areas with unreliable or
limited internet access.
Learning curve: Hotel staff may require some time to adapt to the new
system, particularly if they are accustomed to traditional manual methods.
Security concerns: Despite robust security measures, the system may still be
susceptible to cybersecurity threats, necessitating ongoing monitoring and
updates.
36
In conclusion, the Online Hotel Management System demonstrates a substantial leap
forward in hotel management technology, optimizing processes and enhancing the
overall guest experience. By addressing limitations and incorporating future
improvements, the system has the potential to revolutionize the hospitality industry.
Chapter 9
9 APPENDICES AND REFERENCES
9.1 Appendices
These should provide detailed, specific information that is related to the
application being developed; for example, hardware and database descriptions.
Hardware requirements define the minimal and optimal configurations for the system.
Database requirements define the logical organization of the data used by the system
and the relationships between data. [Sommerville-2009].
9.2 Glossary
An alphabetical list of words relating to a specific subject, text, or dialect, with
explanations a brief dictionary. It is a list of some of the words found in the book and
what they mean. It is found at the end of a book. A glossary sometimes includes
pictures that explain some of the words as shown in Table 14.
37
IEEE Institute of Electrical and Electronics Engineering
GB Giga Byte
9.3 References:
[1]Sommerville-2009] Sommerville I. (2009). Computer Science. United States of
America. Boston Massachusetts. Pearson Education.
[3] http://en.wikipedia.org/wiki/systemsarchitectures
[4] https://www.youtube.com/watc?v=hN9xemJYwos
[5] http://www.omg.org/spec/UML/2.0/
38