Software Requirements Specification: Version 1.0 Approved
Software Requirements Specification: Version 1.0 Approved
Software Requirements Specification: Version 1.0 Approved
Specification
for
Shivam Sehgal
NMIMS Shirpur
01-08-2017
Software Requirements Specification for Online Bus Booking System
Page ii
Table of Contents
Table of Contents...........................................................................................................................ii
Revision History.............................................................................................................................ii
1. Introduction..............................................................................................................................1
1.1 Purpose...........................................................................................................................................1
1.2 Product Scope.................................................................................................................................1
2. Overall Description..................................................................................................................2
2.1 Product Functions...........................................................................................................................2
2.2 User Classes and Characteristics.....................................................................................................2
2.3 Operating Environment...................................................................................................................2
2.4 Design and Implementation Constraints.........................................................................................2
2.5 User Documentation.......................................................................................................................2
2.6 Assumptions and Dependencies......................................................................................................3
3. External Interface Requirements...........................................................................................3
3.1 User Interfaces................................................................................................................................3
3.2 Hardware Interfaces........................................................................................................................3
3.3 Software Interfaces.........................................................................................................................3
3.4 Communications Interfaces............................................................................................................3
4. System Features.......................................................................................................................4
4.1 System Feature 1............................................................................................................................4
4.2 System Feature 2 (and so on)..........................................................................................................4
5. Other Nonfunctional Requirements.......................................................................................4
5.1 Performance Requirements.............................................................................................................4
5.2 Safety Requirements.......................................................................................................................5
5.3 Security Requirements....................................................................................................................5
5.4 Software Quality Attributes............................................................................................................5
5.5 Business Rules................................................................................................................................5
6. Other Requirements................................................................................................................5
Appendix A: Glossary...................................................................................................................5
Appendix B: Analysis Models.......................................................................................................5
Appendix C: To Be Determined List...........................................................................................6
Revision History
Name Date Reason For Changes Version
Software Requirements Specification for Online Bus Booking System Page 1
1. Introduction
1.1 Purpose
This document describes the software requirements of an online bus booking system for public
transportation. It is intended for designer, developer and maintainer of the bus booking system.
These requirements were created in response to the problems associated with booking bus tickets
via cash.
2. Overall Description
Bus Driver- Bus driver must be able to oversee each customer’s input of ticket confirmation
number.
Maintainability - Easily maintainable. This application doesn't require a whole lot of code modification
once it is in place. The only part that really will ever change is what specific passes will be available for a
customer to purchase. Currently we are accounting for "One Time Use," "One Day Use," "Weekend Use (3
Days)," and "Week Use (7 Days)." If these offerings change, or new ones are included, the process to
maintain the system to the updated services is a short process.
Testability - Quickly testable. This application is generalized and as such has only a few testable parts. This
will enable the testing phase to be very quick and simple. Having only two GUI classes (phone and bus)
simplifies the GUI testing process. Other than the GUI classes, we also have the Customer and address class
which also makes it simpler for unit testing since we won’t have to run a very large amount of tests. The
most difficult tests will involve querying the database and automating "garbage collection," meaning
deleting the expired passes as entries in the database.
Performance - High performance. Both sides of the system, phone and bus, have a single screen populated
by simply test fields. Performance for data entry is dependent upon the programming language used and the
machines implementing the app. This should be negligible. The biggest drag on performance will be
accessing the database. We are keeping our queries simple to counter the use of mobile broadband
connections as our internet access.
Portability - High portability. The entire purpose of this application is to be portable and used by mobile
devices. For this reason, we have decided on a small number of classes so that the code is as small as it has
to be. Users are limited to a android device and must be in an area with mobile broadband access.
Luckily, most areas with bus systems are already equipped with cell towers allowing at least Edge
connection, if not 3g/4g.
Safety - High safety. Customer data is highly confidential and only system administrators have access to
any data in the database. Credit card information will never be stored anywhere, even on the database, and
Software Requirements Specification for Online Bus Booking System Page 3
will be handled by a third party payment company (such as paypal) to ensure security of payment
information.
Documentation is mainly intended for database administration for understanding how to handle
database entry and editing. They are expected to understand whatever database administration
program they prefer that supports reading and editing SQLite databases.
On screen instructions will be provided for Phone App users and Bus App users. No paper
documentation is required.
Phone Application
o must run on android based phone OS Version 2.x. May work on version 1.x but is
not supported.
o phone must have access to internet via either WiFi or Mobile Broadband
Bus Application
o must run on windows or mac based computer with keyboard and mouse access.
o computer must have access to internet via either WiFi or Mobile Broadband
Software Requirements Specification for Online Bus Booking System Page 6
4. System Features
The user opens up the phone application and is prompted for the following: First
name, Last name, email, phone number, type of ticket, credit card number, credit
card type, credit card security code, expiration date, billing zip, and any additional
billing information.
After all information is inputted, the user hits submit.As long as all required fields
are filled, data gets sent to the server and data will be checked for validity.
In the event the all input is valid, the user will receive a confirmation in some
fashion (through email, screen output, or both). In the event any input is invalid, an
error message is displayed via the phone screen.
Upon entering the bus, confirmation code is entered (by user or bus driver) on a
keypad.
This information is sent to the database for verification. If verified by keypad(or bus
driver), user is allowed on the bus (through some visual output).
If not valid, user will be asked to re-enter the code correctly, or leave the bus. If the
client feels their rejection was in error, a phone number will be presented of
administration.
Upon successfully entering the code, that client's data is removed from the
database.
The administration has access to the database and can add or edit data as
needed when called by users or any other purposes.
Software Requirements Specification for Online Bus Booking System Page 7
Response time
o The maximum response time for the submission of a job will be 1 minute.
Capacity
o The maximum number of jobs schedulable is limited only by the capacity of the
nodes to fulfill the jobs’ deadlines; there is no upper limit inherent in the Libra
scheduler as such.
Deadline sensitivity
o Assuming submitted statistics for jobs are accurate, the Libra scheduler will ensure
that all jobs are completed with a 10% error allowance.
Cost sensitivity
o Under all circumstances, the maximum cost payable as submitted by the user will be
the maximum cost charged to the user.
Security is used to ensure credit card information as confidential and is not stored anywhere. The
only location any user data is visible is when users enter in their information. System Administers
are trained on customer privacy.
After each revision the system will be analyzed and compared with the system requirements
designated by the client. We will than try to break the program with test cases.
We will all be responsible for quality assurance. We will cross-analyze the system
implementation with the System Requirements to verify system accuracy.
All final documents will be reviewed for spelling errors, broken links, and any other issues
that affect the quality of the document. Any errors found in either the system or supporting
documents will be fixed at the time errors are found.
Software Requirements Specification for Online Bus Booking System Page 8
6. Other Requirements
<Define any other requirements not covered elsewhere in the SRS. This might include database
requirements, internationalization requirements, legal requirements, reuse objectives for the
project, and so on. Add any new sections that are pertinent to the project.>
Appendix A: Glossary
Concept of Operations
Software Requirements
Test Plan
Professional Android 2 Application Development by Reto Meier
Java standard reference
UML Diagram
Software Requirements Specification for Online Bus Booking System Page 9
Software Requirements Specification for Online Bus Booking System Page 10