0% found this document useful (0 votes)
8 views11 pages

Calculating Taxi Fares Synopsis

The document is a Software Requirements Specification for a minor project focused on calculating taxi fares using Dijkstra's algorithm. It outlines the project's purpose, target beneficiaries, scope, and detailed descriptions of system requirements, project features, and non-functional requirements. The document also includes sections on user interface, software and database interfaces, as well as appendices for glossary, analysis models, and issue tracking.

Uploaded by

Abhishek Anand
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views11 pages

Calculating Taxi Fares Synopsis

The document is a Software Requirements Specification for a minor project focused on calculating taxi fares using Dijkstra's algorithm. It outlines the project's purpose, target beneficiaries, scope, and detailed descriptions of system requirements, project features, and non-functional requirements. The document also includes sections on user interface, software and database interfaces, as well as appendices for glossary, analysis models, and issue tracking.

Uploaded by

Abhishek Anand
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 11

Software Requirements

Specification
Synopsis For

Minor Project

<Calculating Taxi Fares>

<Date>

Prepared by

Specialization SAP ID Name


AIML 500094174 Abhishek
Anand
AIML 500092142 Aryan Mohan
AIML 500094143 Rishabh
Sajwaan

School Of Computer Science


UNIVERSITY OF PETROLEUM & ENERGY STUDIES,
DEHRADUN- 248007. Uttarakhand
Table of Contents
Topic Page
No
Table of Content
Revision History
1 Introduction
1.1 Purpose of the Project
1.2 Target Beneficiary
1.3 Project Scope
1.4 References
2 Project Description
2.1 Reference Algorithm
2.2 Data/ Data structure
2.3 SWOT Analysis
2.4 Project Features
2.5 User Classes and Characteristics
2.6 Design and Implementation Constraints
2.7 Design diagrams
2.8 Assumption and Dependencies
3 System Requirements
3.1 User Interface
3.2 Software Interface
3.3 Database Interface
3.4 Protocols
4 Non-functional Requirements
4.1 Performance requirements
4.2 Security requirements
4.3 Software Quality Attributes
5 Other Requirements
Appendix A: Glossary
Appendix B: Analysis Model
Appendix C: Issues List

1. Introduction:
In today's fast-paced urban environments, efficient transportation is crucial. The "Taxi
Fare Calculation Using Dijkstra's Algorithm" project aims to leverage advanced
algorithms and technology to enhance the taxi service experience for both drivers and
passengers. This introduction section provides an overview of the project's purpose, target
beneficiaries, scope, and key references.

1.1. Purpose of Project


The primary purpose of this project is to develop a sophisticated software application
that leverages Dijkstra's algorithm within a Java framework to optimize taxi routes
and calculate fares accurately. By doing so, the project seeks to:
 Improve the efficiency of taxi services by identifying the shortest and fastest
routes.
 Enhance the transparency of fare calculations, reducing disputes between
passengers and drivers.
 Offer a user-friendly platform for passengers to plan their journeys and
estimate taxi fares in advance.

1.2. Target Beneficiary


The target beneficiaries of this project include:
 Taxi Service Providers: This software will assist taxi companies in
optimizing their service delivery, improving customer satisfaction, and
streamlining fare calculations.
 Taxi Drivers: Drivers will benefit from reduced travel time, minimized fuel
consumption, and a transparent fare calculation process, leading to increased
income and job satisfaction.
 Passengers: Passengers will enjoy a more reliable and cost-effective taxi
service, allowing them to plan their trips with confidence.

1.3. Project Scope


The scope of the "Taxi Fare Calculation Using Dijkstra's Algorithm" project
encompasses the following key aspects:
 Route Optimization: The project will implement Dijkstra's algorithm to
determine the shortest and fastest routes between two locations within a city.
 Fare Calculation: It will include a fare calculation module that considers
distance, time, traffic conditions, and other relevant factors to provide
passengers with accurate fare estimates.
 Error Handling: Robust error handling and input validation will be
implemented to ensure the system provides reliable results even in
challenging scenarios.
 Documentation: Comprehensive documentation will be created, including
user guides and technical documentation for future maintenance and updates.

1.4. References
During the development of this project, we will refer to a range of resources to
ensure the accuracy and effectiveness of our implementation. Key references include:
 Dijkstra, E. W. (1959). "A Note on Two Problems in Connexion with
Graphs." Numerische Mathematik, 1(1), 269-271.
 Java Programming Language Documentation and Resources.
 Real-time Traffic Data Sources.
 Taxi Fare Regulations and Guidelines for the Target City (if applicable).
These references will guide our algorithmic and programming efforts, ensuring the
project aligns with industry best practices and standards.
2. Project Description
This section provides a detailed description of the project, including the reference
algorithm, data and data structures used, a SWOT analysis, project features, user classes
and characteristics, design and implementation constraints, design diagrams, and
assumptions and dependencies.

2.1. Reference Algorithm


The core algorithm for this project is Dijkstra's algorithm. Dijkstra's algorithm is a
widely used graph traversal algorithm that finds the shortest path between nodes in a
weighted graph. In our context, it will be adapted to find the shortest and fastest
routes between locations in a city's road network.

2.2. Data/Data Structure


The project will utilize various data structures to manage and process data efficiently.
This includes:
 Graph data structure to represent the city's road network.
 Databases or data files to store information about roads, distances, traffic
conditions, and fare rates.
 Data structures for user inputs and route calculations.

2.3. SWOT Analysis


A SWOT (Strengths, Weaknesses, Opportunities, and Threats) analysis will be
conducted to evaluate the project's strategic position and potential outcomes. This
analysis will help identify internal and external factors that may affect the project's
success.

2.4. Project Features


Key features of the project will include:
 Route Optimization: Utilizing Dijkstra's algorithm to find the shortest path.
 Fare Calculation: Accurate fare estimation considering distance, time, and
other factors.
 User-Friendly Interface: An intuitive graphical user interface for ease of
use.
 Error Handling: Robust error handling to ensure reliable results.
 Documentation: Comprehensive user and technical documentation.

2.5. User Classes and Characteristics


The project will cater to different user classes, including:
 Passengers: Users seeking taxi services and fare estimates.
 Taxi Drivers: Users providing taxi services and relying on optimized routes.
 Admin/Developers: Those responsible for maintaining and updating the
system.
Each user class will have distinct characteristics and requirements.

2.6. Design and Implementation Constraints


Constraints may include factors such as budget, time limitations, hardware/software
requirements, and legal/regulatory considerations. These constraints will be
considered during the project's design and implementation phases.

2.7. Design Diagrams


Design diagrams, such as flowcharts, entity-relationship diagrams, and system
architecture diagrams, will be created to visualize the project's structure and
functionality.

2.8. Assumptions and Dependencies

Assumptions made during the project include assumptions about the availability of
real-time traffic data and accurate fare rate information. Dependencies may include
external libraries or APIs for mapping, traffic data, or geographical information.

These sections will provide a comprehensive understanding of the project's technical


aspects, user considerations, and potential challenges, ensuring a well-rounded
project synopsis.

3. System Requirements
This section outlines the requirements for the system, including user interface
requirements, software interfaces, database interfaces, and any protocols that the system
must adhere to.

3.1. User Interface


The user interface requirements define how the system will interact with users. These
requirements include:
 User Input: The system should allow users to input their starting and
destination locations easily, either through text input, dropdown menus, or
map selection.
 Route Display: The recommended route should be displayed clearly to users,
including directions, landmarks, and estimated travel time.
 Fare Estimation: The estimated fare, along with a breakdown of factors
affecting the fare, should be presented to passengers.
 Error Handling: The interface should provide informative error messages
for invalid inputs or unexpected issues.

3.2. Software Interface


Software interface requirements detail how the system will interact with other software
components. Key elements include:
 Operating System: Specify the target operating system(s) for the software,
ensuring compatibility with Windows, macOS, or Linux, as needed.
 Programming Language: Define the programming language (C++) and any
necessary libraries or frameworks.
 External APIs: Identify any external APIs or services, such as mapping services
or real-time traffic data providers, that the system will interface with.

3.3. Database Interface


The database interface requirements describe how the system will interact with data
storage and retrieval. This includes:
 Data Storage: Specify the database management system (e.g., SQLite,
MySQL) and data storage formats (e.g., SQL tables, JSON files) used to store
information about roads, distances, traffic data, and fare rates.
 Data Retrieval: Outline how the system will query and retrieve data from the
database, including SQL queries or data access methods.
3.4. Protocols

4. Non-functional Requirements
This section outlines the non-functional requirements that are essential for the success and
usability of the software.

4.1. Performance Requirements


Performance requirements define the system's responsiveness, speed, and resource
utilization. In the context of this project:
 Response Time: Specify the maximum acceptable response time for route
calculation and fare estimation, ensuring that users receive results promptly.
 Scalability: Address how the system will handle a growing number of users
and data, outlining strategies for scalability.
 Resource Usage: Define resource constraints, such as memory and CPU
usage, to ensure the application runs efficiently even on low-end hardware.

4.2. Security Requirements


Security requirements detail measures to protect the integrity, confidentiality, and
availability of user data and system components:
 User Authentication: Implement user authentication to ensure that only
authorized users can access the system.
 Data Encryption: Encrypt sensitive data, such as user inputs and payment
information, during transmission and storage.
 Access Control: Define roles and permissions to restrict access to sensitive
system functions and data.
 Data Privacy: Ensure compliance with data protection regulations, such as
GDPR or HIPAA, if applicable.

4.3. Software Quality Attributes


Software quality attributes encompass various aspects that contribute to the overall
quality of the software:
 Reliability: Ensure that the system consistently provides accurate route
information and fare estimates.
 Usability: Strive for an intuitive user interface that is easy to navigate and
understand.
 Maintainability: Design the codebase with modularity and documentation to
facilitate future updates and maintenance.
 Robustness: Implement error handling to gracefully handle unexpected
situations without crashing or compromising data integrity.
 Compatibility: Ensure that the software is compatible with popular web
browsers and mobile devices if applicable.
These non-functional requirements are essential for delivering a system that meets
user expectations, performs efficiently, and adheres to security and quality standards.

5. Other Requirements

6. Appendices
6.1. Appendix A: Glossary
This appendix contains a glossary that provides definitions and explanations for
technical terms, acronyms, and domain-specific terminology used throughout the
project documentation. It aims to ensure clarity and consistency in communication
among project stakeholders.

6.2. Appendix B: Analysis Model


Appendix B contains the analysis model for your project. This model may include:

 Use Case Diagrams: Visual representations of system interactions with


external actors (e.g., users, administrators).
 Activity Diagrams: Diagrams that depict the flow of activities or processes
within the system.
 Class Diagrams: Illustrations of the system's object-oriented structure,
including classes and their relationships.
 Sequence Diagrams: Diagrams that show the chronological order of
interactions between system components.

These models provide a deeper understanding of how the system functions and
interacts with its users and external systems.

6.3. Appendix C: Issues List


Appendix C contains an issues list that tracks and documents known issues, bugs,
and tasks related to the project. It serves as a dynamic document that can be updated
throughout the project's development and maintenance phases. Include information
such as:

 Issue ID: A unique identifier for each issue or task.


 Description: A concise description of the issue or task.
 Priority: The priority level (e.g., low, medium, high) assigned to the issue.
 Status: The current status (e.g., open, in progress, resolved) of the issue.
 Assigned To: The individual or team responsible for addressing the issue.
 Target Resolution Date: The expected date for resolving the issue.
 Comments: Additional notes or updates related to the issue's progress.
The issues list serves as a valuable tool for tracking and managing project-related
tasks, ensuring that nothing falls through the cracks and that all identified issues are
addressed in a timely manner.

Revision History

Date Change Reason for Changes Mentor Signature


General Instructions:

1. Font should be Time new Roman 12


2. Main heading should be All Capital with Times New Roman 14
3. Sub-Heading should be Times new roman 12 , Underline
4. Line gap should be 1.15
5. Justified alignment should be used for all text
6. Content inside a table should be Times New Roman 10
7. Caption for both Table and Figure should be Times New Roman 11
8. Add Source for all Images used.
1 INTRODUCTION
1.1 Purpose of the Describe the scope of this project by stating and justifying
Project the problem statement of the project. Present will clear
motivation to execute the project.
1.2 Target Beneficiary Identify the prime beneficiaries of the project.
1.3 Project Scope Provide a short description of area of application of the
software, include relevant benefits, objectives, and goals.
State clearly the requirement and deliverables of the
project.
1.4 References List all documents or Web addresses to which this SRS
refers.
2 PROJECT DESCRIPTION
2.1 Reference Algorithm State the reference algorithm for the project and identify the
required data structure (Mandatory for Minor1) Or/Add
design algorithm justifying the methodology of the project
2.2 Characteristic of Present with the characteristic of the dataset used for the
Data project. Provide the primary and secondary source of the
data, along with sampling techniques. Explain the statistical
method used for data processing (if any).
2.3 SWOT Analysis Present with a justification to support your project.
2.4 Project Features Summarize the major features the product contains or the
significant functions that it performs or lets the user
perform. (Level 2 USE Case diagram)
2.5 User Classes and Identify the various user classes that you anticipate will use
Characteristics this product.
2.6 Design and Present hardware boundary conditions (timing
Implementation requirements, memory requirements); interfaces to other
Constraints applications; specific technologies, and tools to be used;
parallel operations; language requirements;
communications protocols; security considerations; design
conventions or programming standards.
2.7 Design diagrams Present all the required Diagram (USE –Case, Class
Diagram, Activity, Sequence, Data Flow diagram and State
Diagram. (Major project should include Collaboration and
Deployment Diagram too)
2.8 Assumption and List any assumed factors (as opposed to known facts) that
Dependencies could affect the requirements stated in the SRS. Also
identify any dependencies the project has on external
factors.
3 SYSTEM REQUIREMENTS
3.1 User Interface Define the software components for which a user interface
is needed.
3.2 Software Interface Describe the connections between modules. Describe the
services needed and the nature of communications.
Describe detailed application programming interface
protocols.
3.3 Database Interface Explain the Database management system used
3.4 Protocols Describe the requirements associated with any protocol
deployed in the project. Specify any communication
security or encryption issues, data transfer rates, and
synchronization mechanisms
4 NON-FUNCTIONAL REQUIREMENTS
4.1 Performance If there are performance requirements for the product under
requirements various circumstances, state them. Specify the timing
relationships for real time systems. State performance
requirements for individual functional requirements or
features
4.2 Security Specify any requirements regarding security or privacy
requirements issues surrounding use of the product or protection of the
data used or created by the product. Define authentication,
verification and validation of the system. Refer to any
external policies or regulations containing security issues
that affect the product.
4.3 Software Quality Explain: adaptability, availability, correctness, flexibility,
Attributes interoperability, maintainability, portability, reliability,
reusability, robustness, testability, and usability.
5 Other Requirements Define any other requirements not covered elsewhere in the
SRS.
Appendix A: Glossary Define all the terms necessary to properly interpret the
SRS, including acronyms and abbreviations.
Appendix B: Analysis Pertinent analysis models used for this project
Model
Appendix C: Issues List This is a dynamic list of the open requirements issues.

You might also like