SRS - raisanusrat222/Metro-Rail-Project GitHub Wiki

Software Requirements Specification For Metro Rail Management Web Application

Prepared by

Raisa Nusrat Chowdhury -1821493642

Md. Arshaduzzaman Fahim -1821384642

Mohammad Fahim Hassan -1821217042

Fowzia Ali Ria -1821656642

Revision History

Name Date Reasons for changes Version
Mohammad Fahim Hassan 15.11.2021 Added Functional Requirements 1.0
Md. Arshaduzzaman Fahim 15.11.2021 Added Non Functional Requirements 2.0
Raisa Nusrat Chowdhury 15.11.2021 Added Overall Description 3.0
Raisa Nusrat Chowdhury 15.11.2021 Added Appendix 4.0
Fowzia Ali Ria 15.11.21 Added Introduction 5.0

Introduction

One of the most challenging and complicated issues in city management in the present decade for Bangladesh is the traffic problem. This traffic congestion problem in Bangladesh are increasing at an alarming rate. With a view to saving Dhaka from the unbearable traffic jam, metro rail project has finally completed. It will save thousands of work hours by reducing traffic jams. But traditional ticketing model of passengers buying a ticket before being able to travel on the transport network leading to long lines during peak periods as people wait in line for tickets. If some of this ticket service could be provided online this will decrease the unnecessary waiting in long line as well as ensures a smooth buying process.

1.1 Purpose

To create a “ Bangladesh Metro Rail E-ticketing Service” Web application that allow users to check the train schedule, buy and pay for online tickets, sending out emails to confirm the booking, get different types of smart membership card for a specific time period for specific place and get other information about the trains and tickets. And also through this website anyone can contact the authority anytime anywhere. Basically it create a platform where users can place their save booking at a time that is most convenient for them and pay through this website, which also save a lot of time.

1.2 Intended Audience

  • Developers
  • Project Testers
  • Marketing Department

1.3 Intended Use

Developers:

Developers can use this SRS to acknowledge the purpose of this project and what the target application is going to be like. Can also easily understand the feathers so that in future they can easily focus on specific parts which needed to be improved or adding any new feathers or functions.

Project Testers:

Testers can use this SRS to review and analyze the requirements and understanding if there are any specific prerequisites required for testing the software. The SRS will provide the benefit of testing include preventing bugs, improving performance and reducing development costs.

Marketing Departments:

Using this SRS marketing department can acknowledge about the program so that they can easily come up with the best strategies to promote this project to reach out the users fast which will help and make their life easier.

1.4 Product Scope

This web based application help users to book their ticket online, view the fair and the route map. Users are required to enter the source and destination station, when they enter the data then the system will display fair details and route map. Benefits of this application:

  • Users can view the route distance and time schedule of the trains.
  • User can view fare chart.
  • Users can check the availability of the tickets.
  • Users can buy and pay ticket online.
  • User can cancel their booking with 100% refund for a specific amount of time.
  • Users can get monthly/yearly based smart membership card.
  • Users can renew their smart membership card.
  • Users can directly contact with the authority of the metro rail station.
  • Users can preview the stations and the trains.
  • Users can give any kind personal opinion, feedback or advice on the website.
  • Admin can check on users as well as add stations, trains and routes.

Objective:

  • Give a safe online ticket service to public.
  • Give a proper information about Bangladesh metro rail online service.

Goals:

  • Our goal is to ensure that everyone can view the time schedule and the route of the metro online and book accordingly without wasting any time being waiting in the queues.
  • We are providing online service so users can book their ticket instant from anywhere and pay safely.
  • We are providing a proper management system to employee and administrator of metro rail.

1.5 Risk Definitions

  • Server traffic can be caused from too many users.
  • Fraud users can’t be detected.
  • Present condition of inside the trains may not be identical to the pictures which was shown on the website.

Overall descriptions

2.1 Product Perspective

We are going to build a web-based application that will be very useful for the general public and also for the metro railway authorities to conduct the massive system. Though railway system is introduced to us, so it is an updated version of that system. We are going to build it because the metro railway will take our country into a new corner of development, and this web application will help users to save time and effort, which is going to be an addition to the development of our country.

2.2 User Classes and Characteristics

The user should be familiar with the daily or monthly e-ticket system, transaction process. The user may require knowledge of the metro train timetable. A user must have a fundamental understanding of how to utilize the internet. This program is user-friendly, which means that users may use it without difficulty to save their valuable time.

  • The user can be anyone.
  • The user may be an authoritative figure.

2.3 User needs

  • The user can search for daily or monthly tickets.
  • The user can browse for tickets for the Card system.
  • It is possible that the user will need to inspect the environment both inside and outside the metro rail.
  • User can postpone their tickets
  • The user can view the metro train schedule.
  • The user can look up the price of tickets from one stoppage to another
  • User may choose online payment
  • Administrator can check the selling history and all information

2.4 Operating Environment

Operating environment for the Metro rail system is listed below:

  • Operating system: As it is a web app any kind of operating system that supports browsing will be able to run it.
  • Database: MySQL/SQLite
  • Platform: Python, Django Framework.

2.5 Design and Implementation Constraints

  • We have to develop the application in Python language.
  • The developed system must work in the client’s operating environment, which is Windows.
  • We have to finish the project within 2 months.

2.6 Assumptions and Dependencies

  • Users have internet connection
  • Users can read and write English.
  • Users have devices that support internet service.
  • Users are familiar with web browsing and can interact with website
  • Users are comfortable with e-ticket terms.
  • Users are familiar with online payment system.
  • Employee users should be familiar with ticket selling and checking details

Requirements

3.1 Functional Requirements

  1. As a user, I want to check the train schedule, So that, I can plan my trip accordingly.

Confirmation:

  • User will find the Train Schedule option on Navigation bar of the homepage.
  • User has to just click on that, it will take them to a page where they can check the information of source station and destination
  • This system will show basic information of those trains and it will also show the arrival time at the source station and reaching time at the destination.
  1. As a user, I want to buy my ticket online, So that I don’t face the hassle of standing on the queue in front of ticket counter at the station.

Confirmation:

  • User will find the ‘Buy Tickets” option on the navigation bar of the homepage.
  • User has to click on that option and select the train they intends to ride on.
  • User has to provide some information. Which are: their source, destination, trip date.
  • User also has to provide some personal information like, their name and phone number or email address.
  • User has to pay online for this ticket by using mobile banking options or Card.
  • User will get a soft copy of ticket, once the payment is done and purchase is confirmed through SMS/ email.
  • User has to print the soft copy of ticket.
  1. As a user, I want to sign up for premium deal for a specific time period as I travel regularly, So that I don’t need to buy ticket and pay every day.

Confirmation:

  • User who travels same route every day, will be able to sign up for a premium membership.
  • User has to sign up for this premium deal by providing their personal information like, Name, address, Phone number and email.
  • User has to create an online account to get the membership. They has to create a unique username with password to access the account in future.
  • User will get an efficient monthly, half yearly or yearly deal in comparison to the regular purchase of tickets.
  • User has to select their package and provide NID information for security concern.
  • User has to pay online for that deal at once, using mobile banking platforms or card.
  • User will receive a membership status and an E-ticket that is reusable for the specified time period.
  • If the NID information is not valid, the user won’t receive the membership status.
  1. As a premium member, I want to renew my membership online, So that I don’t need to provide all my information again.

Confirmation:

  • User will be able to renew their premium deal by just simply logging into their account.
  • User have to just check the previously provided information and confirm that.
  • If they want to switch to another premium deal, they can do that as well.
  • User have to confirm the payment again.
  1. As a premium member, I want to receive an electronic membership card and apply for it online, So that I don’t need to visit metro rail office for it.

Confirmation:

  • User will be able to apply for the electronic membership card online by Logging into their account they created while getting membership.
  • They has to provide basic information to get the membership card.
  • If the administration approves their application they will send a confirmation SMS/ Email to the member. Administration will probably send the card later to the provided address using trustable medium.
  • If the administration doesn’t approve the application, they will send a SMS/ Email stating the rejection.
  1. As a User, I want to know about the basic information about the trains, I want to be aware of facilities, safety cautions taken by authority and environment, I want to see pictures of the inside and outside of train, So that I can decide which compartment to ride on and weather the trains are safe to travel or not.

Confirmation:

  • User will be able to see the facility provided in the trains with picture included. This option will be provide in “About Us” Option on navigation bar.
  • Safety and Security measures taken by authority will be written there as well with proper description.
  1. As a User, I want a forum on the website, So that I can contact the authority easily to complain about any valid issue I face in future.

Confirmation:

  • User will be able to post about their complaints by logging into their member account.
  • If the user doesn’t have any membership or account, then they can just proceed to complain using “general passenger” option and provide their name and phone number. Then post their complaint.
  1. As a User, I want to be able to cancel my ticket. So that I don’t face any financial loss.

Confirmation:

  • User will be able to cancel their ticket by using their ‘ticket no’.
  • If they cancel the trip two days before the trip, then they will get a full refund. After two days they will only receive half refund.
  • User will receive a cancellation slip, by showing that to administration office they will receive the refund.
  1. As a User, I want to be able to postpone my ticket. So that I don’t face any financial loss and cope up with sudden change in plan.

Confirmation:

  • User will be able to postpone their trip by using their ticket no.
  1. As a User, I want to see the fare chart and distance of metro trains, So that I can have an idea of price and distance before trip.

Confirmation:

  • User will be able to see the fare chart for each metro train and see the details of of distance traveled.
  1. As an Employee/Booking Clerk, I want to be able to access the ticket selling system, So that I can sell tickets from ticket counter at station to people who wants to buy ticket on spot.

Confirmation:

  • Employees will have their own account, they will receive specific username and password from the administration.
  • Employees will log in with their specific username and password. Only with those specific username and password they will be able to access the “ticket selling tab”.
  • Employees will provide passenger source and destination information of the passenger on the tab. Every ticket will have a unique “ticket no”.
  1. As an employee/TTE, I want an option to check weather a ticket is valid or not, So that passenger don’t travel with fake or old tickets.

Confirmation:

  • Employees with specific Username and password can log into the ticket checking tab.
  • Employees will provide the ticket no there and check if the ticket is valid for that date or not.
  • If the ticket no is invalid, the system will notify that.
  1. As an administrator, I want to able to see the ticket selling history and information on the website, So that I can conduct administrative procedures properly.

Confirmation:

  • Administrators with specific Username and password can log into the system and check the selling history of users tickets,employee tickets, and premium tickets
  1. As an administrator, I want a forum where people can submit their feedbacks about metro travel experience, So that we can know what and where to improve.

Confirmation:

  • User will be able to post their feedbacks on a forum on the website.
  • If any user posts any feedback, the administrator will be able to see it.

3.2 Non Functional Requirements

Performance Requirements:

  • The system will require an initial load time based on the internet connection of the user and also the type of media that will be used to run the system.
  • The website should respond to any kind of interaction within two seconds.
  • The user limit on the website must be flexible enough to serve 20,000 users at once without any issue.

Security Requirements:

  • The system should incorporate ‘Secured Socket Layer’ (SSL) method in all transactions that involves client’s confidential information.
  • The system should employ ‘captcha’ and encryption to prevent bots from booking tickets.
  • The system must automatically log out all customers after a period of inactivity.
  • The system should give access to only authorized administrators to the system's back-end servers.
  • The system should not leave any cookies revealing the user's password on the customer's device.
  • The system should encrypt sensitive data before transmitting across unsecure networks.
  • The system should send booking confirmation to the user's contact email address.
  • In case of invalid input, the system should assist the user in accurately filling out the mandatory fields for booking a ticket.

Safety Requirements:

If the database is damaged for some reason, there should be a recovery method that restores a previous copy of the database that was backed up to archival storage and recreates a more current state by performing committed transactions from the backed up log up to the point of failure.

Software Quality Attributes:

Availability:

  • The system should be available at all times, which means the user should be able to access it via a web browser 24/7.
  • Only when the system's server is down, access will be restricted. A substitute page will be displayed in the event of a hardware failure or database corruption, and database backups should be obtained from the server and stored by the administrator. The service will be resumed after that.

Maintainability:

  • The database should be maintained using a commercial database, and the website should be handled by the application server. In the event of a failure, the program will be re-initialized.
  • Additionally, the program is being designed with modularity in mind so that it can be maintained efficiently.

Portability:

  • The application will be built using HTML and a scripting language. As a result, the end-user element should be totally portable, and any system that runs a web browser should be able to access the system's functionality, including any hardware platform.
  • The system should run on PC, Laptops.

Usability:

  • The system should be developed in a user-friendly environment so that metro rail users and administrators may perform various activities quickly, easily and efficiently.
  • The system should be easy to learn for the users and should satisfy maximum needs of the users.

Reliability:

  • The entire system's reliability is determined by the dependability of the individual components. The backup of the database, which is constantly maintained and updated to reflect the most current changes, should be the key of the system's stability.
  • The operating system must handle predicted and unexpected failures in a way that prevents data loss and prolonged downtime.

Appendix A: Glossary

SRS: A software requirements specification (SRS) is a detailed description of a software system that will be created. The software requirements specification specifies functional and non-functional requirements, as well as a collection of use cases that explain the user interactions that the program must allow for ideal interaction.

TTE: The traveling teaching examiner (TTE) inspects tickets before allowing people to enter areas that are exclusively accessible to legitimate ticket holders. He will guarantee that the passengers' tickets are validated. It will aid the metro train system in identifying illegal passengers.

NID: The National Identity Card (NID) is a mandatory identity card provided to all Bangladeshi citizens upon reaching the age of 18. The NID is a government-issued picture ID, similar to the Bangladeshi driver's license, which is a biometric, microchip-enabled, smart identity card. Bangladeshi people must have an NID to access a variety of vital state services