0% found this document useful (0 votes)
15 views10 pages

Agile Scrum for Smart Parking System

The document outlines a lab task focused on applying Agile methodologies, specifically Scrum, to design a Smart Parking Management System. It includes objectives such as writing user stories, creating a product backlog, and visualizing tasks using tools like Visual Paradigm. The task involves defining functional and non-functional requirements, prioritizing user stories, and simulating a sprint to manage development progress.

Uploaded by

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

Agile Scrum for Smart Parking System

The document outlines a lab task focused on applying Agile methodologies, specifically Scrum, to design a Smart Parking Management System. It includes objectives such as writing user stories, creating a product backlog, and visualizing tasks using tools like Visual Paradigm. The task involves defining functional and non-functional requirements, prioritizing user stories, and simulating a sprint to manage development progress.

Uploaded by

Abiha Hameed
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Software design architecture

Lab Task 8
23rd Dec ‘24

SUBMITTED TO:

Sir Farhan Sarwar


Software Engineering Department

SUBMITTED BY:

Abiha Hameed(088/Fa22/BSSE-B)
LAB TITLE:

Hands-on Agile Process: Designing and Managing a Product Backlog using Scrum

LAB OBJECTIVE:

1. Understand Agile methodologies, particularly Scrum.


2. Write user stories and design a product backlog.
3. Visualize and manage tasks using Visual Paradigm.
4. Create a Use Case Diagram to represent system interactions.

TOOL USED:

1. Visual Paradigm
2. [Link] (or any similar diagramming tool)

BACKGROUND:

Urban traffic management, especially in metropolitan cities, requires innovative solutions. Agile
methodologies like Scrum are effective in addressing complex problems by enabling iterative
development and collaboration. Scrum uses sprints, user stories, and a structured backlog to
manage tasks. Visualization tools like Visual Paradigm allow teams to design detailed diagrams,
making workflows more organized and shareable.

This lab applies Scrum to develop a Smart Parking Management System, which provides real-
time parking space information, automated payment processing, and notifications to users about
their parking sessions.

TASK OVERVIEW:

1. Scenario:

Problem Statement:
Your team needs to design a Smart Parking Management System for a metropolitan
city with the following features:

o Real-time parking availability updates.


o Digital payment for parking.
o Notifications for session expiry or violations.

Functional Requirements:

o Drivers can check available parking spaces in real time.


o The system calculates parking fees and supports digital payment methods.
o Notifications alert users when their parking time is about to end.

Non-Functional Requirements:

o The system supports up to 500 concurrent users per parking lot.


o Payment processing is completed within 2 seconds.

STEPS TO PERFORM THE TASK:

Step 1: Write User Stories

Write user stories using the format:


As a [user role], I want [goal] so that [benefit].

Examples:

1. As a driver, I want to know available parking spaces so that I can park quickly.
2. As a driver, I want to pay for parking digitally so that I can save time and avoid carrying
cash.
3. As a driver, I want to receive notifications when my parking time is about to expire so
that I can avoid penalties.

Step 2: Design the Product Backlog

Create a product backlog and group user stories into categories. Prioritize each user story as
High, Medium, or Low using labels or colors.

Categories:

1. Parking Availability:
o User stories related to checking parking spaces.
2. Payment System:
o User stories about fee calculation and payment methods.
3. Notifications:
o User stories for sending alerts to drivers.
Example Backlog:

Category User Story Priority


Parking Availability As a driver, I want to know available spaces... High
Payment System As a driver, I want to pay digitally... High
Notifications As a driver, I want to receive expiry alerts... Medium

Step 3: Create a Use Case Diagram

Step 4: Simulate a Sprint

1. Select 3–5 high-priority tasks from the product backlog for a sprint.
2. Track their progress using a To Do, In Progress, and Done status.

Example Sprint Progress:

Task Status
View real-time parking availability Done
Digital payment for parking In Progress
Notifications for session expiry To Do
DELIVERABLES:

1. User Story Document for Smart Parking Management System

Category: Parking Availability

1. User Story:
As a driver, I want to know available parking spaces so that I can park quickly.
Priority: High
2. User Story:
As a parking administrator, I want to update parking space availability in real time so that
drivers have accurate information.
Priority: High

Category: Payment System

3. User Story:
As a driver, I want to pay for parking digitally so that I can save time and avoid carrying
cash.
Priority: High
4. User Story:
As a parking system, I want to calculate parking fees automatically so that payments are
accurate.
Priority: High
5. User Story:
As a parking administrator, I want the system to handle multiple payment methods so that
users have flexibility.
Priority: Medium

Category: Notifications

6. User Story:
As a driver, I want to receive notifications when my parking time is about to expire so
that I can avoid penalties.
Priority: Medium
7. User Story:
As a parking system, I want to send reminders to users about overdue payments so that
violations are minimized.
Priority: Low
Category: System Performance

8. User Story:
As a driver, I want the system to load within 2 seconds so that I can make decisions
quickly.
Priority: High
9. User Story:
As a parking system, I want to support up to 500 concurrent users per parking lot so that
performance is not affected during peak hours.
Priority: High

Summary of Priorities

• High Priority:
o Real-time parking availability (Driver/Admin).
o Digital payment for parking.
o Automatic parking fee calculation.
o Quick system response (within 2 seconds).
o System support for high concurrency.
• Medium Priority:
o Multiple payment methods.
o Expiry notifications.
• Low Priority:
o Overdue payment reminders.

2. Product Backlog Diagram:

+-----------------------------------+
| Product Backlog |
+-----------------------------------+

+---------------------+-------------------+-----------------+
| Category | High Priority | Medium Priority |
+---------------------+-------------------+-----------------+
| Parking Availability| - View available | - Display parking|
| | parking spaces | space details |
| | - Update parking | - Filter parking |
| | space availability| spaces by |
| | - Test parking | location |
| | availability | - Allow user to |
| | system | reserve parking|
+---------------------+-------------------+-----------------+
| Payment System | - Calculate parking| - Integrate payment|
| | fees automatically| with external |
| | - Handle payment | system |
| | confirmation | - Review payment |
| | - Make digital | history |
| | payment | |
+---------------------+-------------------+-----------------+
| Notifications | - Receive notifications| - View parking |
| | for parking expiry | history |
| | | - Provide feedback|
| | | on parking spots|
+---------------------+-------------------+-----------------+

3. Use Case Diagram:


[Link] Progress Report:

Sprint Progress Report:

Sprint 1:
+---------------------------------------------------+
| Sprint Progress Report |
+---------------------------------------------------+
| **Sprint Goal:** Complete high-priority tasks |
| related to parking availability and payment |
| functionalities. |
+---------------------------------------------------+

+-------------------------+------------------+--------------+--------------+
| User Story | Category | Priority | Status |
+-------------------------+------------------+--------------+--------------+
| 1. View available | Parking | High | Done |
| parking spaces | Availability | | |
+-------------------------+------------------+--------------+--------------+
| 2. Update parking | Parking | High | In Progress |
| space availability | Availability | | |
+-------------------------+------------------+--------------+--------------+
| 3. Make digital payment | Payment System | High | In Progress |
+-------------------------+------------------+--------------+--------------+
| 4. Receive notifications| Notifications | Medium | To Do |
| for parking expiry | | | |
+-------------------------+------------------+--------------+--------------+
| 5. Calculate parking | Payment System | High | Done |
| fees automatically | | | |
+-------------------------+------------------+--------------+--------------+

Sprint Table 2

+-------------------------+------------------+--------------+--------------+
| User Story | Category | Priority | Status |
+-------------------------+------------------+--------------+--------------+
| 6. Display parking | Parking | Medium | To Do |
| space details | Availability | | |
+-------------------------+------------------+--------------+--------------+
| 7. Filter parking | Parking | Medium | To Do |
| spaces by location | Availability | | |
+-------------------------+------------------+--------------+--------------+
| 8. Integrate payment | Payment System | High | To Do |
| with external system | | | |
+-------------------------+------------------+--------------+--------------+
| 9. Allow user to | Parking | Low | To Do |
| reserve parking | Availability | | |
+-------------------------+------------------+--------------+--------------+
| 10. View parking | Notifications | Low | To Do |
| history | | | |
+-------------------------+------------------+--------------+--------------+

Sprint Table 3:

+-------------------------+------------------+--------------+--------------+
| User Story | Category | Priority | Status |
+-------------------------+------------------+--------------+--------------+
| 11. Review payment | Payment System | Medium | To Do |
| history | | | |
+-------------------------+------------------+--------------+--------------+
| 12. Provide feedback | Notifications | Medium | To Do |
| on parking spots | | | |
+-------------------------+------------------+--------------+--------------+
| 13. Display parking | Parking | Medium | To Do |
| location on map | Availability | | |
+-------------------------+------------------+--------------+--------------+
| 14. Handle payment | Payment System | High | To Do |
| confirmation | | | |
+-------------------------+------------------+--------------+--------------+
| 15. Test parking | Parking | High | To Do |
| availability system | Availability | | |
+-------------------------+------------------+--------------+--------------+

Diagram Explanation:

Columns:

1. User Story: Describes the specific functionality or task.


2. Category: Groups tasks by system components (e.g., Parking Availability, Payment
System).
3. Priority: Indicates the importance of the task (High, Medium, Low).
4. Status: Tracks the task’s progress:
o To Do: Not started yet.
o In Progress: Currently being worked on.
o Done: Completed.

Sprint Tasks Selected:


• Completed:
o View available parking spaces.
o Calculate parking fees automatically.
• In Progress:
o Update parking space availability.
o Make digital payment.
• To Do:
o Receive notifications for parking expiry.

OUTCOME:

1. Understand Agile processes and Scrum principles.


2. Learn to write user stories and design a product backlog.
3. Gain experience in using Visual Paradigm for creating diagrams.
4. Develop skills in iterative task management and system design visualization.

Common questions

Powered by AI

User stories play a crucial role in Scrum by defining clear, client-focused requirements in the development of complex systems like the Smart Parking Management System. They guide the team in understanding the end-users' needs from their perspective, ensuring that the development efforts are aligned with delivering maximum value. By prioritizing these stories and iterating over them, teams can handle complex functionalities incrementally, facilitate communication, and enhance collaboration among stakeholders, which ultimately results in a more effective and user-centric product development process .

A use case diagram enhances the development process of the Smart Parking Management System within a Scrum framework by visually representing the interactions between users and the system's functionalities. This helps teams understand user requirements more clearly and ensures that all necessary features are considered. In addition, it aids in identifying and organizing tasks in the product backlog and can improve stakeholder communication by providing a straightforward depiction of system usage scenarios .

Challenges that may arise from integrating external payment systems include compatibility issues, security concerns, and data synchronization problems. These challenges can be managed within a sprint by clearly defining integration tasks in the product backlog, prioritizing them, and allocating sufficient time for testing. Teams should also focus on establishing clear communication with external system providers to resolve any integration issues quickly. Moreover, using mock-ups or service stubs during initial sprint cycles can help identify potential issues early before actual integration takes place .

The prioritization of user stories directly impacts the outcomes of a sprint by determining which features are developed and delivered. Prioritizing stories enables the team to focus on delivering the highest value features first, ensuring that critical functionalities such as real-time parking availability and digital payments are implemented early in the project. By sorting tasks by priority, the team can manage resources efficiently and adapt to any changes or feedback quickly, thereby optimizing the overall progress and success of each sprint .

The essential components of a product backlog for a Smart Parking Management System include categories such as Parking Availability, Payment System, and Notifications. Each component contains user stories with different priorities. For instance, high-priority tasks under Parking Availability include viewing available parking spaces and updating parking availability in real-time, while in the Payment System category, tasks like digital payments and automatic fee calculations are emphasized. Notifications such as receiving alerts for parking expiry are generally given medium priority .

Ensuring the responsiveness of a Smart Parking Management System under high concurrency conditions requires implementing strategic architectural and design choices, such as load balancing, caching frequently requested data, and optimizing database queries. Employing a cloud-based infrastructure to scale resources dynamically can also manage varying loads effectively. Rigorous performance testing should be integrated into the sprints to identify bottlenecks. Additionally, designing the system to perform critical operations within strict latency bounds and employing microservices architecture to isolate different parts of the system can further contribute to maintaining high performance .

Visualization tools like Visual Paradigm play essential roles in system design and task management by providing a means to create detailed diagrams that illustrate workflows and system interactions. They help make complex systems more comprehensible and manageable by offering clear, organized representations that facilitate communication among team members and stakeholders. These tools also support project tracking and documentation, helping teams to maintain focus on priorities and ensure that all system requirements are met effectively within the Scrum process .

Crucial performance measures for evaluating the success of the Smart Parking Management System include ensuring that payment processing occurs within the set threshold of 2 seconds and supporting up to 500 concurrent users per parking lot. These metrics indicate the system's efficiency in handling transactions swiftly and its ability to accommodate high user loads without degradation of service. Monitoring these parameters through performance testing and real-time analytics helps in maintaining service quality and adjusting system resources or processes as needed for optimal performance .

Sprints in Scrum can be applied to urban traffic management systems by focusing on iterative improvements to existing infrastructure and rapidly addressing emerging challenges. For instance, sprints could be used to develop and integrate real-time traffic monitoring and control systems, test adaptive traffic signals, and enhance user applications for route optimization. In each sprint, teams could focus on a different aspect, such as reducing congestion in high-traffic zones or improving public transportation interfaces. By using sprints, teams could experiment, receive feedback from users and stakeholders, and incorporate it into subsequent sprints, fostering continuous improvement and innovation .

Scrum facilitates solving complex urban traffic management problems by using iterative development and collaboration to handle intricate challenges. Its structure, which includes sprints, user stories, and a structured backlog, provides organizations with a framework to manage and organize tasks effectively, ensure continuous improvement, and adapt to changes quickly. This allows teams to focus on high-priority features, receive regular feedback through iterations, and make necessary adjustments, enhancing their ability to address specific challenges like those found in urban traffic management .

You might also like