SEN Microproject
SEN Microproject
SEN Microproject
Guided By
Mrs. NIKAM S.A.
CERTIFICATE
We will preserve micro-project and the report in our custody till end
of completion of our program. We assure that we will produce the
same whenever we or anybody from our group will be asked to
produce it without fail.
The aim of a micro project for a taxi booking system could be to develop a very
good quality functional prototype or minimum viable product (MVP) that
demonstrates core features of the system.
Using these key points, we can build and good quality software and reach to the
needs of the
End-users stakeholders and customers.
3.0 Action Plan
*******************
Part B – Outcome after Execution
The aim of a micro project for a taxi booking system could be to develop a very
good quality functional prototype or minimum viable product (MVP) that
demonstrates core features of the system.
Using these key points, we can build and good quality software and reach to the
needs of the
End-users stakeholders and customers.
We successfully implemented the processes which were guided by our guide and
designed or built a software project . We prepared the SRS document which had
all the details of the project. We created a Use case diagram . We also created a
sequence diagram , class diagram , activity diagram and the data flow diagram for
our project that is TAXI BOOKING SYSTEM . We also understood the
techniques used for estimating the cost of the project .
The groups were created and topics were distributed by the project guide.
The work was distributed between the group members. All the basic required
information was collected by the two of our group members. And we other two
members worked on gathering the both functional and non-functional requirements
required for our Taxi Booking System .After gathering requirements and Software
Requirement Specification document was created by one of our teammate .
Selected a suitable model for our project. We prepared a Use case Diagram using
the Creately software which is available on the Google Chrome Browser. Using
the same software our team members also created the remaining other diagrams
that are sequence diagram, the activity diagram and class diagram.
We drew the data flow diagram with the help of EDrawMax. Later we studied
about the cost estimation techniques such as Function Point & COCOMO model.
We prepared a soft copy of the whole procedure and study which we did and got it
checked from the project guide and got the final project conformed.
4.2 Actual Resources Used:
We successfully implemented the processes which were guided by our guide and
designed or built a software project . We prepared the SRS document which had all
the details of the project. We created a Use case diagram . We also created a
sequence diagram , class diagram , activity diagram and the data flow diagram for
our project that is TAXI BOOKING SYSTEM . We also understood the techniques
used for estimating the cost of the project .
From this micro project we developed our skills in coding in the Course Computer
Graphics. We also got to learn about the functions of graphics files and used them to
complete our micro-project and display the output on the screen.
*********
Topic: Taxi Booking System
Functional Requirements:
Functional requirements for a taxi booking system typically include features and
capabilities that directly contribute to the system's primary functions and user
interactions. Here are key functional requirements for a taxi booking software
system:
1. User Registration and Login:
- Users should be able to create accounts with valid credentials.
- Users should be able to log in securely to access the booking system.
2. Booking a Ride:
- Users should be able to enter their pickup location and destination.
- Users should be able to select vehicle options (e.g., sedan, SUV) if available.
- Users should be provided with estimated fares based on the selected options.
3. Real-time Availability:
- The system should display available taxis/drivers based on location and availability.
- The system should assign a taxi/driver to a user's booking request promptly.
5. Payment Integration:
- Users should be able to make payments securely through various methods (e.g., cash,
credit/debit cards, mobile wallets).
- The system should integrate with a payment gateway for seamless and secure transactions.
6. Driver Functions:
- Drivers should receive ride requests and be able to accept or decline them.
- Drivers should have access to navigation tools to reach pickup and drop-off locations
efficiently.
7. Admin Dashboard:
- Admins should have access to a dashboard to manage user accounts, driver profiles, fares,
and ride requests.
- Admins should be able to view and generate reports related to system usage, earnings, and
performance metrics.
2. Security:
- Data Encryption: User data, payment information, and sensitive details should be encrypted
to ensure confidentiality and prevent unauthorized access.
- Authentication and Authorization: Implement secure login mechanisms and role-based access
controls to ensure that only authorized users (customers, drivers, admins) can access relevant
functionalities.
3. Usability:
- User Interface Design: The user interface should be intuitive, easy to navigate, and accessible
across different devices (web, mobile apps).
- Error Handling: Provide meaningful error messages and feedback to users during booking,
payment, or any system interactions to guide them effectively.
4. Reliability:
- System Availability: Ensure high system availability (uptime) so that users can book rides at
any time without service disruptions.
- Fault Tolerance: Implement mechanisms such as data backups, redundant servers, and
failover strategies to mitigate system failures and ensure continuity of service.
5. Scalability:
-Load Balancing: Distribute incoming traffic evenly across server instances to optimize
performance and handle varying load conditions effectively.
-Database Scalability: Design the database architecture to scale horizontally or vertically to
accommodate growing data volumes and user activities without compromising performance.
These non-functional requirements are crucial for ensuring that the taxi booking
system not only functions correctly but also deliver a high-quality, secure, and
reliable experience for users, drivers, and administrators.
Software Requirements Specification (SRS)
1. Introduction
1.1 Purpose
The purpose of this document is to define the requirements for the development of a
taxi booking system to facilitate efficient and convenient taxi services for customers
and drivers.
1.2 Scope
The taxi booking system will include features for users to book rides, track taxi
locations, make payments, and for drivers to receive and manage ride requests. An
administrative interface will also be provided for system management.
3. System Features
3.1 User Management
- Users can register, log in, and manage their profiles.
- Admins can manage user accounts and permissions.
5. Non-functional Requirements
5.1 Performance
- System should respond to user actions within 2 seconds.
- Support concurrent user access without performance degradation.
5.2 Security
- Encrypt sensitive data such as user information and payment details.
- Implement secure authentication and authorization mechanisms.
5.3 Usability
- User interfaces should be intuitive and accessible across devices.
- Provide error messages and feedback for user interactions.
6. Other Requirements
- System should be scalable to accommodate increasing user and ride volumes.
- Compliance with data protection regulations (e.g., GDPR, CCPA).
Use Case Diagram:
A use case diagram is a visual representation that illustrates how users interact
with a system and the various actions they can perform within that system. It
consists of actors, use cases, and their relationships. Here's a brief explanation:
1. Actors: Represent entities that interact with the system, such as users, external
systems, or devices.
2. Use Cases: Represent specific functionalities or actions that the system provides
to its users.
3. Relationships: Show how actors interact with use cases within the system.
Overall, a use case diagram provides a high-level overview of system
functionalities and user interactions, helping stakeholders understand the system's
behaviour and requirements.
Class Diagram:
A class diagram is a visual representation of the structure and relationships of
classes in a system, showing the attributes and methods each class possesses.
Here's a brief explanation:
Overall, a class diagram helps visualize the structure of a system's classes and their
relationships, aiding in system design, understanding class responsibilities, and
modeling object-oriented concepts.
The figure on the next page showcases the class diagram of the project that is the
Taxi booking system.
Fig. Class Diagram Taxi Booking system
Data Flow Diagram:
A Data Flow Diagram (DFD) is a visual representation that illustrates the flow of
data within a system and how it is processed. It consists of processes, data stores,
data flows, and external entities. Here's a brief explanation:
Overall, a Data Flow Diagram helps visualize the flow of data within a system,
understand data processing activities, identify data sources and destinations, and
design or analyse system functionalities effectively.
DFD Level 0:
DFD Level 1:
DFD Level 2:
To draw the data flow diagrams we have used the EdrawMax software which is
available on the chrome browser.
Sequence Diagram:
A sequence diagram is a type of interaction diagram that illustrates how objects in a
system interact in a particular sequence to achieve a specific behaviour or
functionality. It shows the flow of messages between objects over time and can depict
the order of interactions in a system. Here's a brief explanation:
1. Objects: Represent instances of classes or entities in the system that interact with each other
to perform actions or exchange messages.
2. Lifelines: Represent the lifespan of an object during the sequence of interactions, shown as
a vertical dashed line labelled with the object's name.
The diagram below shows the sequence diagram of Taxi Booking System:
1. Start: The process begins when a user initiates the booking process.
2. User Registration/Login:
- If the user is new, they register for an account.
- If the user is existing, they log in to their account.
3. Book Ride:
- User inputs pickup and drop-off locations.
- User selects vehicle type (optional).
- System calculates fare estimate.
4. Check Availability:
- System checks for available taxis/drivers based on location and availability.
5. Assign Driver:
- System assigns an available driver to the ride request.
- Driver receives notification and accepts the ride.
6. Track Ride:
- User can track the assigned taxi in real-time on the map.
- Driver navigates to the pickup location.
7. Ride in Progress:
- User and driver complete the ride to the destination.
- User confirms ride completion and provides a rating/review for the driver.
8. Payment:
- User makes payment through the selected payment method (e.g., credit card,
cash).
- Payment is processed securely through integration with payment gateways.
9. End: The booking process is completed, and the system returns to the start state
for the next booking.
Activity diagrams visually represent the flow and interactions between different
activities in a process, helping to understand the system's behaviour, identify
possible bottlenecks, and design efficient processes. The actual diagram would
include symbols such as activity states, decision points (diamond shapes), arrows
representing transitions, and swim lanes for actors or system components.
Cost Estimation:
Cost estimation is the process of approximating the expenses or financial resources
required to complete a project, produce a product, or deliver a service. It involves
forecasting the costs associated with various project activities, resources, materials,
labour, overhead, and other relevant factors. Cost estimation is a crucial aspect of
project management and business planning, providing valuable insights into
budgeting, resource allocation, pricing strategies, and profitability analysis.
Function points are a unit of measurement used in software development to
quantify the size or functional complexity of a software application based on its
features and functionalities. They provide a standardized way to estimate and
compare the effort required to develop software across different projects. Here's a
brief explanation of function points:
3. Function Point Analysis (FPA): Function point analysis is a method used to calculate
function points for a software application. It involves identifying and quantifying the number of
inputs, outputs, inquiries, files, and interfaces based on defined criteria.
4. Benefits:
- Estimation: Function points help in estimating the effort, time, and resources required for
software development.
- Productivity Metrics: Function points can be used to measure productivity and track progress
during software development.
- Project Management: They aid in project planning, resource allocation, and budgeting.
3. Estimation Parameters:
- COCOMO models consider various estimation parameters such as effort (person-months),
duration (months), staffing (number of personnel), productivity (LOC per person-month), and
cost (in monetary terms).
- Factors influencing effort estimation include project size, complexity, development
environment, team experience, schedule constraints, and risk factors.
4. Usage:
- COCOMO models are used during project planning and early stages of software
development to estimate resource requirements, budget, and schedule.
- They help in making informed decisions regarding project scope, staffing levels, technology
choices, and risk management strategies.
5. Advantages:
- Provides structured and systematic approach to software cost estimation.
- Considers multiple factors influencing effort and cost estimation.
- Can be tailored to specific project characteristics and development environments.
Overall, COCOMO models are valuable tools for software project managers and
developers to estimate effort, cost, and schedule for software development
projects, guiding decision-making and resource allocation throughout the project
lifecycle.