Professional Documents
Culture Documents
Version: 1
Modified By:
1 Overview 1
1.1 Scope 1
1.2 Identification 1
1.3 System Overview 1
1.3.1 Operational Concept 1
1.3.2 Computer Software Configuration Items 1
1.4 Relationship to Other Plans 1
2 Reference Documents 1
3 Overview of Software Development Planning 2
3.1 Requirements and Development 2
3.2 System Life Cycle 3
3.3 Schedules and Resources 3
3.4 Training Requirements 3
4 General Software Development Activities 3
4.1 Development Process 3
4.2 Development Methods 3
4.3 Product Standards 3
4.4 Reusable Products 3
4.4.1 Incorporating Reusable Products 3
4.4.2 Developing Reusable Products 4
4.5 Critical Requirements 4
4.6 Computer Hardware Resource Utilization 4
5 Detailed Software Development Activities 4
5.1 Project Planning and Oversight 4
5.2 Establishing a Software Development Environment 5
5.3 System Requirements Analysis 7
5.4 System Design 7
5.5 Software Requirements Analysis 8
5.6 Software Design 10
5.7 Software Implementation and Test/Code and Unit Test 10
5.8 Software Integration and Testing 12
5.9 System Integration and Testing 13
5.10 System Acceptance Test 14
5.11 Preparing for Software Use 15
5.11.1 Preparing for Software Transition 16
5.12 Software Configuration Management 17
5.13 Software Product Evaluation 17
5.14 Software Quality Assurance 18
5.15 Corrective Action 19
5.16 Technical and Management Reviews 20
5.17 Other Software Development Activities 21
6 Project Gantt Chart 22
7 User Definitions 23
List of Acronyms and Abbreviations
DB DataBase
1 Overview
This is a Software Development Plan (SDP) for the Metro Bus Tracking Application. The
purpose of this application is to provide real-time tracking of the Green Line Metro Bus, which
was recently launched in Karachi, and also calculates the fares of the bus from one station to the
other.
1.1 Scope
The scope of the project includes the development of a web-based or mobile application that
allows users to track the location of the Green Line Metro Bus in real-time. The application will
also calculate the fares of the bus from one station to another based on the distance traveled.
1.2 Identification
The Metro Bus Tracking Application is being developed us for the Green Line Metro Bus in
Karachi, Pakistan.
2 Reference Documents
• https://www.irjet.net/archives/V6/i3/IRJET-V6I3772.pdf
1
Software Development Plan for Metro Bus Tracking Application
• https://www.researchgate.net/publication/
339678623_A_Technical_Paper_Review_on_Vehicle_Tracking_System
Training:
• Engineers will be required to learn how to use Google Maps API key.
• They will require to learn about all the metro buses that are active on the road so that
their information can be added into the system.
• They will be trained on using Atlas MongoDB to make use of DDB.
Constraints:
• The main constraint on the documentation is that is cannot be finalized until the Pakistan
Government approves of it.
• The documentation has to take into account road laws of Pakistan.
2
Software Development Plan for Metro Bus Tracking Application
3
Software Development Plan for Metro Bus Tracking Application
libraries, open-source solutions, and commercially available products. The criteria used for
evaluating reusable products will include compatibility with the overall architecture of the
application, ease of integration, and the ability to meet the project's specific requirements.
4
Software Development Plan for Metro Bus Tracking Application
The project team will plan and execute tests on the individual software components
(configuration items) to ensure they meet the project's requirements.
● System test planning:
The project team will plan and execute tests on the complete system, including the
integration of all software components, to ensure the application meets the project's
requirements.
● Software installation planning:
The project team will plan and execute the installation of the application on the target
hardware and software platform.
● Software transition planning:
The project team will plan and execute the transition of the application from development
to production, including training of end-users and stakeholders.
● Following and updating plans:
● The project team will regularly review and update the project plans, including the
intervals for management review to ensure the project stays on track and meets its goals.
5
Software Development Plan for Metro Bus Tracking Application
This will ensure that the project team has a controlled and consistent environment for
developing, testing and deploying the application, which will help to increase the quality of the
software development process., and other project-related files.
6
Software Development Plan for Metro Bus Tracking Application
Users of the Metro Bus tracking and fare calculation system will primarily be individuals
who use the Metro Bus service.
The system will gather input from users regarding their desired destination and starting
point, as well as any preferences for bus routes or stations.
Operational concept:
The system will provide real-time tracking of Metro Buses in each city.
The system will calculate fares for bus trips from one station to another.
The system will provide users with estimated arrival times for buses at specific stations.
System requirements:
The system will need to be able to access real-time data on the locations of all active
Metro Buses in the city.
The system will need to be able to calculate bus fares based on the distance or time
traveled.
The system will need to be able to provide users with estimated arrival times for buses at
specific stations, taking into account traffic, route changes, and other factors.
The system will need to be accessible through a user-friendly interface, such as a website
or mobile app.
The system will need to be able to handle a large number of simultaneous users.
The system will need to be able to integrate with any existing systems used by the Metro
Bus service.
The system will need to be maintained and updated on a regular basis to ensure continued
accurate and reliable performance.
7
Software Development Plan for Metro Bus Tracking Application
The system will make use of real-time GPS data to track the location and movement of
all active Metro Buses in the city.
The system will use this data to calculate fares based on distance or time traveled and
provide estimated arrival times for buses at specific stations.
The system will consist of a front-end interface for users to interact with, which will be
built using technologies such as HTML, CSS, and JavaScript.
The back-end of the system will include a database to store and retrieve information on
bus locations, routes, fares, and estimated arrival times.
The system will use APIs to gather real-time GPS data on bus locations and integrate
with any existing systems used by the Metro Bus service.
The system will be hosted on a web server and will be accessible through a web browser
or mobile app.
The system will be designed to be scalable and able to handle an increasing number of
users over time.
The system will include a secure login feature for the administrator to manage and update
the system.
The software requirements analysis for the Metro Bus system will involve a thorough
examination of the needs and expectations of the users, as well as an analysis of the current
system's capabilities and limitations. This will be done through a combination of stakeholder
interviews, user surveys, and other forms of research.
The project scope and objectives have been clearly defined and agreed upon by all stakeholders.
A detailed user requirement document has been prepared and reviewed by all stakeholders.
The proposed solution has been validated through initial feasibility analysis.
8
Software Development Plan for Metro Bus Tracking Application
A comprehensive software requirements specification document has been prepared and reviewed
by all stakeholders.
All identified requirements have been prioritized and grouped into functional and non-functional
requirements.
All requirements have been validated through user acceptance testing.
The software development team has been provided with all necessary information to begin the
development process
9
Software Development Plan for Metro Bus Tracking Application
The software requirements specification document has been approved and accepted by all
stakeholders.
A high-level design has been prepared and reviewed by the development team.
A detailed software design document has been prepared, including architecture diagrams and
class diagrams.
The preliminary design for the Metro Bus system will be based on a client-server architecture,
with a web-based front-end for users and a back-end server for data processing and storage. The
system will make use of real-time tracking technology and a fare calculation algorithm to
provide accurate and up-to-date information to users.
The detailed design for the Metro Bus system will include specific class diagrams and
flowcharts outlining the functionality of each module. This will include the real-time tracking
module, fare calculation module, and user interface module. The detailed design will also include
database schema and API design for integrating the system with other relevant systems.
10
Software Development Plan for Metro Bus Tracking Application
The software design document has been approved and accepted by all stakeholders.
The development team has been provided with all necessary resources and tools to begin the
software development process.
The software code has been fully implemented and meets all requirements and design
specifications.
All code has been reviewed and approved by the development team.
All unit tests have been successfully passed and all bugs have been identified and fixed.
The software code for the Metro Bus system will be developed using industry standard
programming languages and frameworks, such as Java for back-end, ReactJS for front-end and
MySQL for database. The code will be organized and structured following best practices for
maintainability and scalability.
Unit testing preparations will involve the creation of test cases and test data, as well as the
development of test scripts and test harnesses. This will be done in collaboration with the
development team and stakeholders to ensure that all relevant requirements are covered.
Unit testing will be performed by the development team to ensure that all code meets the
requirements and functions as intended. This will involve running the test cases and scripts
against the software code, and recording and analyzing the results.
If any bugs or issues are identified during unit testing, the development team will revise the code
and re-test it to ensure that all issues have been resolved.
11
Software Development Plan for Metro Bus Tracking Application
The results of the unit testing will be analyzed and recorded to ensure that all requirements have
been met and all bugs have been identified and fixed. The test results will be reviewed and
approved by the development team and stakeholders before the software is moved on to the next
stage of testing
The software integration and testing for the Metro Bus system will involve integrating all the
various software components and modules developed during the previous stages, such as real-
time tracking, fare calculation and user interface, into a cohesive and functional system. This will
be done through a series of integration and testing activities, to ensure that all components work
together as intended and meet the system requirements.
All software components have been successfully developed and unit tested.
The development team has been provided with all necessary resources and tools to begin the
integration and testing process.
All software components have been successfully integrated into a functional system.
The system has been successfully tested and meets all requirements.
The integration and testing process will begin by preparing the necessary test environments, test
data, and test cases. This will be done in collaboration with the development team and
stakeholders to ensure that all relevant requirements are covered.
The system will be tested by running a series of integration and system-level tests, such as
functional testing, performance testing, and usability testing. These tests will be performed by
the development team and will be used to identify any issues or bugs in the system.
12
Software Development Plan for Metro Bus Tracking Application
If any bugs or issues are identified during integration and testing, the development team will
revise the system and re-test it to ensure that all issues have been resolved.
The results of the integration and testing will be analyzed and recorded to ensure that all
requirements have been met and all bugs have been identified and fixed. The test results will be
reviewed and approved by the development team and stakeholders before the system is moved
on to the next stage of testing.
● Independence in SIT: The software engineer(s) will be responsible for supporting the testing
activities, ensuring the independence and objectivity of the testing process.
● Testing on the target computer system: The system will be tested on the target computer
system to ensure proper functionality and compatibility.
● Preparing for SIT: The software engineer(s) will prepare for SIT by creating test cases and
scripts, and configuring the test environment.
● Performing SIT dry runs: The software engineer(s) will perform dry runs of SIT to identify and
address any issues before actual testing begins.
● Performing SIT: The software engineer(s) will conduct SIT according to the project SEMP,
testing the system's functionality, performance, and security.
13
Software Development Plan for Metro Bus Tracking Application
● Revision and retesting: Any issues identified during SIT will be corrected and the system will
be retested to ensure proper functionality.
● Analyzing and recording SIT results: The software engineer(s) will analyze and record the
results of SIT, documenting any issues and their resolution. This will be used to improve the
system and its maintenance.
● Independence in system acceptance testing: The software engineer(s) will be responsible for
supporting the testing activities, ensuring the independence and objectivity of the testing process.
● Testing on the target computer system: The system will be tested on the target computer
system to ensure proper functionality and compatibility.
● System acceptance test preparation: The software engineer(s) will prepare for system
acceptance testing by creating test cases and scripts, and configuring the test environment.
● Performing system acceptance test dry runs: The software engineer(s) will perform dry runs of
system acceptance testing to identify and address any issues before actual testing begins.
● Performing system acceptance testing: The software engineer(s) will conduct system
acceptance testing according to the project SEMP, testing the system's functionality,
performance, and security.
14
Software Development Plan for Metro Bus Tracking Application
● Revision and retesting: Any issues identified during system acceptance testing will be
corrected and the system will be retested to ensure proper functionality.
● Analyzing and recording system acceptance test results: The software engineer(s) will analyze
and record the results of system acceptance testing, documenting any issues and their resolution.
This will be used to improve the system and its maintenance
15
Software Development Plan for Metro Bus Tracking Application
● Preparing the executable software: The software engineer(s) will prepare the final version of
the software for delivery, including any necessary updates and bug fixes, and verify its
functionality.
● Preparing source files: All source files will be identified, verified, and recompiled, as
necessary, to ensure their accuracy and completeness.
● Preparing version descriptions for the support site: The software engineer(s) will prepare
version descriptions for the support site to assist in identifying the current version of the
software.
● Preparing the “as-built” CSCI design and other software support information: The software
engineer(s) will prepare the "as-built" CSCI design and other software support information,
including documentation and user manuals, to assist in the support and maintenance of the
system.
● Updating the system design description: The software engineer(s) will update the system
design description to reflect any changes made during the development and testing phase.
● Preparing support manuals: The software engineer(s) will prepare support manuals for the
system to assist users in understanding and using the system.
16
Software Development Plan for Metro Bus Tracking Application
● Transitioning to the designated support site: The software will be transitioned to the designated
support site for distribution and maintenance.
● Configuration identification: The software engineer(s) will identify and document all software
components and versions, including source code, executables, and documentation.
● Configuration control: The software engineer(s) will implement and maintain procedures for
controlling changes to the software, including change requests, approval, and implementation.
● Configuration status accounting: The software engineer(s) will implement and maintain
procedures for tracking and reporting the status of software components, including version,
release, and distribution information.
● Configuration audits: The software engineer(s) will conduct regular audits of the software
components to ensure their accuracy and completeness.
● Packaging, storage, handling, and delivery: The software engineer(s) will package, store,
handle, and deliver the software in accordance with established procedures and standards. This
includes ensuring software security, preservation, and accessibility.
17
Software Development Plan for Metro Bus Tracking Application
● In-process and final software product evaluations: The software engineer(s) will conduct in-
process and final evaluations of the software to ensure compliance with project requirements,
design, and standards.
● Software product evaluation records, including items to be recorded: The software engineer(s)
will maintain records of all software product evaluations, including the results and any issues
identified.
● Evaluation criteria: Evaluation criteria will be established to assess the software product
against the requirements and standards established for the project.
● Software QA process and product evaluations: The software engineer(s) will implement and
maintain a QA process to ensure compliance with project requirements, design, and standards.
This will include in-process and final evaluations of the software.
● Software QA records, including items to be recorded: The software engineer(s) will maintain
records of all software QA activities, including evaluations, test results, and any issues identified.
18
Software Development Plan for Metro Bus Tracking Application
● QA plan: A comprehensive QA plan will be established to outline the approach and procedures
for software QA.
● Problem/change report: A process will be established to track and report problems and changes
to the software system. This includes a problem/change report form, and a process for
submitting, reviewing, and approving problem/change reports.
19
Software Development Plan for Metro Bus Tracking Application
● Identifying and assessing impact: A process will be established to identify and assess the
impact of problems on the software system. This includes determining the severity and priority
of the problem and its impact on system functionality and performance.
● Implementing corrective actions: The software engineer(s) will implement corrective actions
to address problems and changes identified during development, testing, and maintenance.
● Verifying the effectiveness of corrective actions: The software engineer(s) will verify the
effectiveness of corrective actions by conducting retests or re-evaluations as necessary.
● Maintaining records of corrective actions: The software engineer(s) will maintain records of all
corrective actions, including problem/change reports, problem assessments, corrective action
plans, and verification results.
● Providing for continuous improvement: The software engineer(s) will continuously monitor
and improve the corrective action process to ensure its effectiveness and efficiency.
The system will utilize GPS technology to track the location of the Metro buses in real-time.
A fare calculation algorithm will be implemented to determine the cost of a trip from one
station to another.
Data will be collected and analyzed to estimate arrival times at each station.
The system will be developed using appropriate programming languages and frameworks to
ensure stability, scalability, and security.
Regular testing and quality assurance will be conducted to ensure the system's functionality
and accuracy.
Management Review:
20
Software Development Plan for Metro Bus Tracking Application
The system's performance will be monitored and evaluated regularly to ensure it meets the
needs of the users and the organization.
The project team will maintain clear and effective communication with stakeholders to
ensure their needs and requirements are being met.
The project timeline and budget will be closely monitored to ensure the project stays on track
and within budget.
Regular status updates will be provided to stakeholders to ensure they are informed of the
project's progress.
• Software management indicators: Metrics will be used to measure the performance and
quality of the system, including user satisfaction, system uptime, and error rates. These
indicators will be used to identify areas for improvement and to track progress over time.
• Security and privacy: The system will be designed with security and privacy in mind,
including measures to protect sensitive data, such as user information and payment
details. Regular security audits will be conducted to identify and address any
vulnerabilities.
• Coordination with associate developers: The development team will work closely with
other teams and stakeholders, including designers, project managers, and business
analysts, to ensure that the system meets the needs of the organization and its users.
21
Software Development Plan for Metro Bus Tracking Application
• Improvement of project processes: The project team will regularly review and improve
their development process to ensure that the system is delivered on time and within
budget. This will include identifying areas for improvement and implementing best
practices to streamline the development process.
22
Software Development Plan for Metro Bus Tracking Application
7 User Definitions
Database: It is an organized collection of structured information, or data, typically stored
electronically in a computer system.
23
Software Development Plan for Metro Bus Tracking Application
24