Project On Srs
Project On Srs
Topic:
Online hotel reservation
Submitted to:
MRS.Fakeeha
Submitted by:
Faiza Altaf
Roll no.
529812
Course title:
Intro. to software engineering
Semester:
5th BSCS
Table of contents
1
1.INTRODUCTION 3
1.1.PURPOSE 4
1.3.BACKGROUND 5
1.4.REFERENCE MATERIAL 5
1.5.REFERENCE TEMPLATE 5
2.METHODOLOGY 7
2.1.SOFTWARE DEVELOPMENT METHODOLOGY 9
2.2.WATERFALL MODEL 9
2.2.1.REQUIREMENT SPECIFICATION 9
2.2.2.ANALYSIS AND DESIGN 10
2.2.3.DEVELOPMENT AND IMPLEMENTATION 10
2.2.4.TESTING 10
2.2.5.DEPLOYMENT 11
2.2.6.MAINTENANCE 11
3.FUNCTIONAL REQUIREMENTS 11
3.1.CUSTOMER INTERFACE FUNCTIONAL REQUIREMENTS: 13
3.2. MANAGEMENT TEAM INTERFACE 13
3.3. BOOKING 14
3.4.DATABASE ADMINISTRATOR 14
3.5.DATA FLOW DIAGRAM 15
3.6.ENTITY-RELATIONSHIP DIAGRAM 18
3.6.1. ENTITY 18
WEAK ENTITY 18
3.6.2. ATTRIBUTE 18
3.6.3. RELATIONSHIP 18
3.7.CARDINALITY AND MODALITY 19
3.7.1CARDINALITY 19
3.8.ACTIVITY DIAGRAM 21
3.9.USE CASE DIAGRAM 22
3.10.CLASS DIAGRAM 23
3.11.SITE MAP 24
4.Functional Requirements for Website 23
4.1.Overview of the website 24
2
4.2.System platform and interface 25
4.3.Hardware Interface 27
4.4.Software Interface 27
5.Requirements 27
5.1.Hardware requirements 28
5.2.Software requirements 29
6.Specific Functional Requirements 28
6.1.Allow user to update 30
6.2.Security 31
6.3.Administration system 31
7.Quality Assurance 30
7.1.Usability 32
7.2.Efficiency 32
7.3.Adaptability 32
7.4.Extensibility 32
7.5.Training requirements 32
8.Requirement Traceability Matrix 32
8.1.Recoverability 35
9.System Availability 34
9.1.General Performance 36
9.2.Capacity 36
1.Introduction
This software requirement specification document provides a complete description of all the
functionalities and the specifications of the Online Hotel Reservation System. The developers
and testers can use this document as a reference for increasing the design and test plan
documents.
1.1. Purpose
The purpose of this document is to present a thorough online hotel reservation system. It will
explain the different functional as well as non-functional requirements of the system, the
interfaces of the system, what the system will do or how the system will interrelate with the
external users, the constraints under which it will operate.
This Software Requirement Specification document will provide a clear considerate of what is
expected by the client in the proposed Online Hotel Reservation System. This will give a clear
3
idea on how the software must be developed by the progress team for the end users. This SRS
will provide a solid base or foundation for the project. From this SRS, the designers can design
low level design documents and the testers can create test plans and various test case
documents.
The main goal of the project is to design a scalable and extensible system for managing the
hotel activities. The system will be designed with the user-centric approach that will ensure
that the user requirements mentioned in the documents must be full filled and must conforms
to the required standards. The new proposed system will operate efficiently by eliminating all
the time-consuming issues and provides a better and much enhanced services to the customers
as well as the management and staff of the Casino Group of Hotels. ‘e-Hotel’ can be considered
as a perfect software solution for hospitality industry since it contains all the modules which are
necessary for all the aspects of the hotel industry. The proposed software is multi-platform
software such that it will work in all the operating systems and most of the browsers.
The software to be produced is an Online Hotel Reservation System known as ‘e-Hotel’ which
will help the customers of the casino group of hotels to reserve room and other facilities of the
hotel from anywhere of the world. The core part of the project is the reservation and the
booking the booking system to keep track of the reservation and room availability.
This will be explained in detail in ‘3- functional requirement ‘section. There are three types of
end users for this hotel management system. The first ones are the costumers who uses the
system for the reservation purpose. The other end users are the admin users and the
management users who are given separate authentication to The Hotel Management system.
The booking module is used to reserve the hotel rooms. The customer can book the rooms
through online or through phone or in person. The customer needs to enter their personal
details and have to pay 10 percentage of the total payment to confirm the booking. An email
containing the confirmation details will be sent to the customer’s email address. When the
customer books the room through telephone or in person, the staff members of the Casino
Group of Hotels need to enter the customer details by logging to employee modules with
corresponding authorization.
1.3. Background
4
This SRS document is developed by ‘Creative IT Solutions’ based on the requirements provided
by the ‘Casino Group of Hotel’ management. This document will be used as a base document
for further project developments. Creative IT Solutions is a software development company,
which is authorized to perform the analysis, design and implementation of the proposed E-
Commerce Project for managing hotel room bookings, recreation and other similar activities.
The Creative IT Solutions is an IT company established in 2005 with headquarters at Melbourne,
Australia.
The company will be documenting all the stages in the software development life cycle. All the
documents will be created according to company’s standards. The documents will be kept
within the company in VSS (Visual Source Safe) and all the changes made to the documents will
be tracked and maintained. These documents can be used by the Project team members as a
reference for future modifications.
Version 1.0
5
2) Software Design Document Template:
Version 1.0
Version 1.0
Version 1.0
Version 1.0
6
Access Information \\projects\templates\stp\1.0.doc
● The project should be completed within a specified time period including planning,
designing, development, testing and deployment.
● The project should be completed within a specified budget.
● The required traceability matrix (RTM) should be correlated and completed.
● All the entry and exit criteria of all the stages should be met.
● The product should be user-friendly, reliable and should maintain the industry standards
without compromising the quality.
● The system architecture and design should be open and in a standard way such that
additional functionalities can be added later without much effort.
● The Creative IT solutions will provide only the software; it is the responsibility of the
client’s company to setup hardware for running the application.
● The consultation with the Casino Group of Hotels with regarding project development
comes at no cost to the project.
2.Methodology
We have used both structured analysis as well as object-oriented analysis for the development
of this Software Requirement Specification document. Analysis can be defined as understanding
the business needs as well as processing the requirements. We have designed the structural
chart, Data Flow Diagram and Entity Relationship diagram for the structured analysis of the
7
project. Similarly, we have developed Class Diagrams, Use case diagrams and Activity diagrams
for the Object-Oriented view of the project.
The structured analyses make the project into a small, well-defined set of activities and specify
the sequence and interaction between these activities. They give diagrammatic and other
modeling techniques to give a precise idea on how to develop the system for the developers.
One of the key tools used in the structured analysis is the Data Flow Diagrams. The data flow
diagrams will help to identify the flow of data within an application and how the data moves
between different processes in the system. A Data flow diagram will show what information will
be input to the system and what information will be output from the system, where the data
will come from and where it is stored and how the flow and control of data will go from one
process to another. The Entity Relationship diagram will help to identify the different entities in
the system and how it will be interacting with other entities in the system. The Activity diagram
defines the major activities that are happening in the system.
The Object-Oriented Analysis and Design is one of the main methodologies for developing high
quality object-oriented systems. The object-oriented methodology will help to reuse the
existing built-in functions or models in a much easier way. It mainly involves three steps.
1) Object-Oriented Analysis –
This deals with the design requirements and overall architecture of a system and describes
what or how the system will work with respect to the key objects.
2) Object-Oriented Design –
This will help to convert the system architecture into programming constructs such as classes
etc.
3) Object-Oriented Programming –
This will help to implement the object-oriented design into a well-defined application.
The software development life cycle model that we used for developing this project is the
waterfall model.
8
2.2. Waterfall model
The waterfall model is conventional software development model in which the different phases
are sequentially organized. In this model the output of the one phase will form the input for the
succeeding phase. The main phases of the waterfall model are:
Requirements Specification
Design & Analysis
Development/Implementation
Testing
Deployment
Maintenance
The flow of the process in the waterfall model cannot be reversed. This model is an old model
which was proposed by Royce in 1970. In Royce’s original water fall model it is seen to be non-
flexible and non-iterative.
The Requirements Specification is the initial phase of any software development models. In
order to begin a project, we need get the requirements from the clients or the customers. After
the initial proceedings are done, it is the responsibility of the System Analysts or the Business
Analysts to collect the required information from the clients. The System Analysts use different
kinds of methods to collect the requirements from the clients. This includes interviews,
questionnaires, communication through telephone and email, evaluating the company
documents, referring the similar applications existing in the industry etc. The requirements are
the core part of the software development. The requirements should be well defined, complete
and should be realistic. Once the requirements specification is completed, they will be well
documented. The documents thus formed which forms the output of the Requirements
Specification stage and input of the Design and Analysis stage is known as Software
Requirement Specification (SRS) document.
9
2.2.2. Analysis and design
The Analysis and Design is the second stage of the Waterfall model. The requirements which
are available in the form of the Software Requirement Specification (SRS) document is analyzed
in this phase. The Development Plan and Test Plan documents are created in this stage. The
Development Plan includes the technology that they need to use in developing the software,
the environment used, software and hardware tools to be used, the right resources, exit and
entry criteria etc. The Test Plan document includes the testing methodologies, test harness,
tools and software’s to be used, resources, test estimates, test schedules etc.
The input of the Design stage will be the Functional Specification (FS) document. During the
Design process, two set of documents will be produced known as High Level Design (HLD)
document and Low-Level Design (LLD) document. The HLD will give a high-level view of the
structure of the software which is going to be developed whereas the LLD will go into the
depth. The test team will start developing the test cases based on the Software Requirement
Specification document. The outputs of the Analysis and Design stage are HLD’s and LLD’s.
The input of this stage is the High-Level Design documents and the Low-Level Design
documents. The developers will start coding or developing the software in this stage. They will
do the Unit Testing once the development will be completed. The Project Manager will divide
and allocate the work among the developers. The developers will be frequently communicating
with the System Analysts or the Business Analysts for clarifications. The output of this stage will
be a software product which can be compiled and working. Once the software module is
completed, they will inform the Testing team for further testing.
2.2.4. Testing
Testing is the process by which we can make sure that the software is running without errors
and it meets all the customer or requirement specification. The input of this stage is the
software module. The testing can be broadly divided into two- Black box and white box. Black
box testing means testing the functionalities of an application and White box means testing the
internal design & structure of the application.
10
Once the developed module has been deployed, then the Test team will do a Smoke Testing in
order to make sure that all the major functionalities are working on a high-level view. If any
show stoppers exist, then the test team will reject the build otherwise they will accept the build
and do further testing activities. After the Smoke Testing, the testers will execute the test cases
based on the priority from high to low. If there is any mismatch between the expected result
and the actual result, then they will log a defect in the defect tracking tools and assign it to the
developers. The developers will fix the defects and send it back to the tester for verification.
The tester will do the fix verification in the next build. The tester will close the issue if it is fixed,
otherwise reopen it and reassign to the corresponding developer. Once the corresponding exits
criteria such as when to stop the testing is met, the testers will deploy the build into the
production servers.
2.2.5. Deployment
Deployment means the installation of the product software in the corresponding client sites.
Once the software is deployed in the client sites, an end user testing will be done at the client
sites. The end user testing done at the development sites is known as Alpha testing and at the
client sites is known as Beta testing. The project team needs to prepare the user manual or
installation documents for the clients or the customers.
2.2.6. Maintenance
The final stage of the waterfall model is known as the Maintenance phase. There may be issues
related to data base or any up gradation in most of the cases and in those cases, the client
needs to be in contact with the project team who developed the software. Sometimes after
some years, the clients need to implement new functionalities or customize their application
according to their needs. In that case also, the maintenance phase is also necessary.
11
requirements
specification
design and
analysis
development/
implementatio
n
testing
deployment
maintenance
3.Functional requirements
Functional requirements for the purposed system which define the fundamental actions of the
system contain all the information of the software requirements for the development of the
booking system for e-Hotel project.
12
3.1. Customer interface functional requirements:
1.1.1. Customers will have been given the following access as per the functional
requirement.
1.1.2. The system shall enable customer to check the availability of rooms.
1.2. Rate
1.2.1. The system shall provide price range of all the rooms.
1.3.1. The system shall enable customer to check and review all the details of hotel.
1.4. Book
1.4.1. The system shall have next button or cancel button for booking procedure.
1.4.2. The system shall enable customer to visit booking page, allow booking the room and
confirming the room.
1.4.3. The system shall send an email notification of booking confirmation to customer.
1.4.4. The system shall redirect customer to payment page if they click the confirmation.
1.5. Payment
1.5.2. The system shall enable customer to pay the bill online via credit card or PayPal.
1.5.3. The system shall should verify and accept the credit card.
2.1.1. The system shall allow only management team member to access the particular system.
13
2.1.3. The system shall give different access to management team.
2.2.1. The system should allow management member to check customer details.
3.3. Booking
3.1. The system shall record all the following information of customer
3.1.1. Cust_ID
3.1.2. Cust_Fname
3.1.3. Cust_Sname
3.1.4. Cust_DOB
3.1.5. Cust_Address
3.1.6. Cust_Mobile
3.1.7. Cust_Email
3.1.8. Cust_ID
3.1.9. Cust_Fname
3.1.9.1. Cust_Sname
3.1.9.2.Cust_DOB
3.1.9.3.Cust_Address
3.1.9.4.Cust_Mobile
3.1.9.5.Cust_Email
4.1. The system should allow admin users to access the system only with username and
password.
14
4.2. The system should allow admin users to edit any files and folders.
4.3. The system should accept any command from admin users.
4.4.1. Room_Categ_ID
4.4.2. Category
4.4.3. RC_Price
4.4.4. RC_Floor
4.4.5. Booking_ID
4.4.6. Cust_ID
4.4.7. Item_ID
4.4.8. Total_Amount
4.4.9. Payment_ID
4.4.10. Credit_Card_No
4.4.11. Payment_Date
4.4.12. PricePayment_Mode
3.5. Data Flow Diagram
Also known as DFD, Data flow diagrams are used to graphically represent the flow of data in a
business information system. DFD describes the processes that are involved in a system to
transfer data from the input to the file storage and reports generation.
Level-1
15
hotel
users management database
system
16
Figure 3.2-Data Flow Diagram
17
3.6. Entity-relationship diagram
This describes the relationship between different entities in the system.
3.6.1. Entity
An entity is an object or component of data. An entity is represented as rectangle in an ER
diagram.
Weak Entity
An entity that cannot be uniquely identified by its own attributes and relies on the relationship
with other entity is called weak entity. The weak entity is represented by a double rectangle.
For example – a bank account cannot be uniquely identified without knowing the bank to which
the account belongs, so bank account is a weak entity.
3.6.2. Attribute
An attribute describes the property of an entity. An attribute is represented as Oval in an ER
diagram. There are four types of attributes:
1. Key attribute
2. Composite attribute
3. Multivalued attribute
4. Derived attribute
3.6.3. Relationship
A relationship is represented by diamond shape in ER diagram, it shows the relationship among
entities. There are four types of relationships:
18
1. One to One
2. One to Many
3. Many to One
4. Many to Many
3.7.1Cardinality
The data model must be capable of representing the number of occurrences of the given
object in the system. The relationship between different entities can be represented in the
following ways.
19
1) One to one – A relationship is said to be one-to-one if the occurrence of an object
can relate one and only one relationship with another object and vice-versa.
2) One to many – A relationship is said to be one-to-many if the occurrence of an
object ‘A’ can relate to one or more occurrences of object ‘B’, but an occurrence of
object ‘B’ can relate to only one occurrence of object ‘A’.
3) Many-to-many –An occurrence of object ‘A’ can relate to many occurrences of
object ‘B’ and vice-versa.
Figure 3.6
20
3.8. Activity diagram
Activity diagram is another important behavioral diagram in UML diagram to describe dynamic
aspects of the system. Activity diagram is essentially an advanced version of flow chart that
modeling the flow from one activity to another activity.
21
Figure 3.4-Activity Diagram
3.9. Use case diagram
A UML use case diagram is the primary form of system/software requirements for a new
software program underdeveloped. Use cases specify the expected behavior (what), and not
the exact method of making it happen (how). Use cases once specified can be denoted both
textual and visual representation (i.e., use case diagram). A key concept of use case modeling is
that it helps us design a system from the end user's perspective. It is an effective technique for
communicating system behavior in the user's terms by specifying all externally visible system
behavior.
22
3.10. Class diagram
23
3.11. Site map
Figure 3.11
24
1. Automatic email confirmation of the room booking.
2. Confirmation of payment details.
3. Provide list of room available and rates.
25
Figure 4.2.2
Home page is the first page of the website which is the index page for web designer.
It will provide all the information about the hotel and its activities. It should give
detail information and attract users to be customers. The page will have a banner
covering 25 percentage of the page with graphic appearance. The page will have
logo and site map above the banner with the entire menu bar under the banner. The
page should contain some information and images at the middle following the entire
26
social networking link at the bottom right of the page while ending with privacy link
at the bottom left end.
Booking page follows the same interface as home page. It will contain logo, sitemap
at the top following banner and entire menu bat. The page show booking calendar,
amount and booking form which contain information about customer and payment
method instead of image and other text shown in the home page. The page then will
be entire menu social networking at the bottom right ending with privacy link at the
bottom left end.
4.2.3.
The site should have different page for administration users with separate
accessibilities to understand users’ behaviors. System administrators could use the
records for users’ activities to find the lack of functional requirement and for better
improvement.
The system will store all data dividing into 4 parts as per the character of database which are
room, booking, and payment and customer details. The system shall permit only Management
team and database administrator to edit the database and the system will allow customer to
cancel the booking. System will have room detail database which store all the information of
room. Booking data base store, the booking information and payment database shows all the
payment whichever is due from the customer and customer database provide all the
information of customers.
27
Figure 4.4 Software Interface
The database plays vital role in the organization and it should be stored in proper way that
required information can be retrieve easily from stored warehouse such as room details is
stored in room database. The users should be allowed to access the information about rooms
which as available and what are the cost of the room where as security system should be used
by system so confidential information does not access to unauthorized person. The database
system should be organized so that management can retrieve the information in simple and
summarized form.
5.Requirements
28
Here is some requirement of project which relates to the client side and server side, is defined
below. It just explains necessity of some hardware and software to perform a project task.
128 MB RAM
1024x768 standard
Functional requirement is those that refers to the function of the system. It includes the
explanation of function used.
29
Priority Description
Critically This function must be included. The completed project cannot succeed
without it. Critical functions must be given preferential treatment over
all other functionality
Medium It is important function but we can also call them low rated function. If
we don’t include that function in the project, it may cause loss of
efficiency of the project.
Important This function are very important means without that function we
cannot complete our project. Like without the customer part this
project will not be successful.
Technical issues Users have access to update information but other accounts must not be
accessible to them.
Risks Sometimes some user can misuse other people’s personal information. So
that is why they have a limited authority to change only their
information.
Priority “medium”
30
6.2. Security
The system will be secured from the outside attacks and unauthorized access. The system
should be protected from all other outside premises.
Technical As the site contains the personal information of users, the security options
issues must be implemented in order to prevent theft or misuse of the
information.
Cost The project will be following security measures in the coding itself, yet
client has to arrange for precaution against external attacks by using
antivirus and firewall software.
Dependencies None
Priority “high”
Critical Some restrictions must be placed to manually add new users, delete
unnecessary data, and also to keep all the records of all old customers.
Technical issue For all the users on the system, after some time the passwords should
be changed. For this, when a user logs in, they need to notify to
change password.
31
7.Quality Assurance
7.1. Usability
A new user must find the functions easily that he is looking for on the system.
EXAMPLE: If a new customer wants to get information about the rooms and services, so these
details should be categorized in a way which makes it easy for user to access them. The layout
and performance of functionalities of the system should be pleasing to the user. For the
administrator, the updating of the system should be easy and secure. The system should also
look professional, representing the functionalities in a categorized manner.
7.2. Efficiency
As there can be various requirements accessed by the users, the system may need some
specific updating. But no too much time should be spent on updating. There can be some
functionality which decreases the human work and automatically responds to the user’s
requirements.
7.3. Adaptability
The system should be able to easily accept the changes. If any time something new is
introduced to system, it is necessary that it can accept the changes easily.
7.4. Extensibility
When we develop system, it should be created in a way which would support the extensibility.
If a new customer or staff detail is to be added, the procedure should be easy and less time
consuming, there can be also multiple functionalities added for doing it.
32
● Back up CD for the application.
● Instructions and Manual for the system.
● Web server instructions.
The training will also involve the client how to successfully following some specific tasks.
The requirements traceability matrix (RTM) reflects full user and system requirements for a
system or part of the system. RTM captures all the requirements and their traceability in one
document, and the document must be submitted at the end of the life cycle.
RTM is used to record the relationship of requirements for the design, development, testing,
and version of the software requirements for a specific version of the software. Changes to
requirements are also recorded and tracked in the RTM. RTM is maintained throughout the life
cycle of release and have been reviewed and resource data at the end of the release. It is very
useful document to track time, change management and risk management in software
development.
The requirements Traceability Matrix, which provides detailed idea about the importance of
RTM in SDLC.
This document presents the requirements traceability matrix (RTM) traces back to the online
hotel management system (working space/working group) and provide ability between the
group /workspace) approved the requirements, design specifications and test scripts.
The table below displays the RTM for the conditions that have been approved to be included in
online hotel management system. The following information is provided for each:
33
S= System Requirements
U= User Requirements
34
guest to check the rooms
35
booking of the rooms in the
database
8.1. Recoverability
A good system must recover easily from any kind of issues. This explains the importance of the
data recovery software like the runtime GetDataBack. The appointment of data recovery
company will always have a turnaround time of several days. Doing it of her own just requires a
bit of preparation and after a few hours of data recovery is completed.
9.System Availability
The system should be designed in such a way that the system is available 24/7 and it should not
undergo any downtime due to the heavy traffic of the web users. While developing system the
market researchers must estimate the traffic flow for the website and should design according
to it.
The availability of a system is typically measured as a factor for its reliability as reliability
increases, so does the availability. The availability of a system can also be increased by strategy
focuses on increasing of test and maintain and not on reliability. Improve maintainability is
generally easier than reliability. Maintain estimates (repair cost) are also generally more
accurate. Because uncertainties in the reliability estimate is in most cases very large, it is
nevertheless likely to dominate the availability problem, even while maintaining levels are very
high.
We provide system maintenance so that we can use to maintain and upgrade our online
services and business IT systems. This maintenance can have an effect on our online services;
we decided to avoid inconvenience to the users from the tip. During this scheduled
maintenance, however, we cannot guarantee the integrity of all the information submitted by
36
or retrieved. But we intend to provide a window that says that the Web site is under
maintenance and is not available until the maintenance has been completed.
9.2. Capacity
A representative within specified service level capacity website operations (browsing, search,
navigation, etc.) to carry out each visitor is the number of visitors that can support it.
This is a server hosted by site disaster survival means to think. Facilities two-drive hard drive
exactly the same locations we and combining a form to provide information be stored in the
database and his website to avoid losses in case of events likely to destroy the server where
both server to another multiple drives to RAID would want to. Ability to perform functions that
affect part or a complete enterprise network damage may vary. Outgoing traffic to increase
substantially if can make due damage and critical data loss across servers. Seriousness of the
damage depends on the type of virus and results of its activity for the user machine barely
noticeable there.
The End
37