0% found this document useful (0 votes)
213 views33 pages

Software Engineering Project

The document outlines the requirements for developing the Wolt Delivery software. It describes the purpose, objectives, stakeholders, overall description including product perspective, functions, and technology used. It also covers the process model, requirements, requirement models, system architecture, user interface specifications, project management, software testing, current status and future work.

Uploaded by

Rea Kaftirani
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)
213 views33 pages

Software Engineering Project

The document outlines the requirements for developing the Wolt Delivery software. It describes the purpose, objectives, stakeholders, overall description including product perspective, functions, and technology used. It also covers the process model, requirements, requirement models, system architecture, user interface specifications, project management, software testing, current status and future work.

Uploaded by

Rea Kaftirani
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
You are on page 1/ 33

WOLT DELIVERY

Food Delivery

A project fulfilling the SRS document of an software application in


Introduction to Software Engineering,

1.Introduction
a. Purpose
b. Objectives
c. Stakeholders
2.Overall Description
a. Product Perspective
b. Product Functions
c. Technology Used
3.Process Model
a. Model Description
b. Process Flow
c. Framework Activities
d. Actions
e. Tasks
4. Requirements
a. Functional Requirements
b. Non-Functional Requirements
c. Constraints
5. Requirements Models
a.Scenario-based (UML use-case diagram)
b. Class (UML class diagram, CRC model)
6. System Architecture and System Design
a. Architectural Style
b. Subsystems
c. Architectural Context Diagram (ACD)
7. User Interface Specifications
a. Specific Construction Specifications
8. Project Management
a. Feasibility Study
9. Software Testing
a. Black Box Testing
OR
b. White Box Testing
10. History of Work, Current Status, and Future Work
11. Conclusions
12. References
1. Introduction

The software application we choose for this project is “Wolt Delivery”. Wolt Delivery is a
food delivery app. It is founded in Helsinki, in 2014, a technology company known for
the local commerce platform. Wolt's mission is to make cities better places for
customers, merchants and couriers alike. Wolt's platform makes it easy for customers to
order whatever they need on one app, for merchants to make additional sales, and for
couriers to make meaningful earnings flexibly. To enable this, Wolt develops a wide
range of technologies from local logistics to retail software and financial solutions, as
well as operates its own grocery stores under the brand Wolt Market.

a. Purpose
This document outlines the requirements for developing the Wolt Delivery software,
which is designed to make it easy for people to order food from local restaurants and
have it delivered to their location. The goal is to create a user-friendly platform that
meets the needs of everyone involved.

b. Objectives
The main objectives of the Wolt Delivery software are:

Efficient Food Delivery: The app being as simple as possible for users to browse
restaurants, view menus, place orders, and track their delivery in real-time for a smooth
and quick food delivery experience.

User-Friendly Interface: An easy-to-use platform that allows users to navigate


effortlessly, customize their preferences, and provide feedback on their experiences.

Restaurant Management:Streamline restaurant operations with a dedicated


interface(manage their menus, track orders, update availability, and communicate with
customers)

Delivery Fleet Management: Efficiently managing the delivery personnel, including


assigning orders, optimizing routes, tracking deliveries, and providing real-time updates
to customers.

Secure Payment System:A secure payment gateway to protect users' financial


information and ensure reliable transactions.

c. Stakeholders:

The stakeholders involved in the development and use of the Wolt Delivery software
include:

Users: People who use the software to order food and track their deliveries.

Restaurant Owners: Business owners who register their restaurants on the platform to
receive orders and manage their menus and operations.

Delivery Personnel: Individuals responsible for delivering orders to customers


promptly.

Developers and QA Team: The team responsible for designing, developing, and testing
the software.
System Administrators: People who manage the software's infrastructure, servers, and
security.

Management Team: The organization's decision-makers who oversee the strategic


planning and direction of the software.

2.Overall Description

a. Product Perspective

1. Target Audience: Wolt's delivery software primarily serves two user groups:
consumers who browse and buy meals using the mobile app, and businesses who receive
and execute orders through the restaurant management system. Understanding these
user groups' needs, preferences, and pain areas is crucial to the product's success.

2. User Experience: The software should give both customers and restaurants with a
seamless and intuitive user experience. This includes things like an easy-to-use
interface, fast and efficient order placing, precise tracking and alerts, and secure
payment methods. To create a favorable user experience, the design should promote
clarity, simplicity, and responsiveness.

3. Functionality and features: The software should provide a complete range of


capabilities to fulfill the needs of consumers and restaurants. Browse menus, customize
orders, filter options based on dietary preferences, provide ratings and reviews, manage
orders, real-time order tracking, connection with payment gateways, and generate
performance metrics for restaurants. Regular upgrades and new feature releases can
improve the software's value proposition.

4. Reliability and Performance: The software must be dependable in order for orders to
be processed correctly, delivery to be completed on time, and the system to stay stable
under varying loads. It should be able to handle high demand without degrading
performance. Thorough testing, monitoring, and optimization may all help to ensure a
dependable and performant product.
User encounter.

5. Integration Capabilities: The software should allow restaurants to connect smoothly


with their existing systems, such as point-of-sale (POS) systems or inventory
management software. This allows for faster order processing, reduces manual labor,
and simplifies restaurant operations.

6. Data Security and Privacy: In a delivery software, data security and privacy are
critical. The product should use strong security methods to secure consumer data, such
as personal information and payment information. It should also enable safe connection
between the software, restaurants, and consumers to avoid security breaches or illegal
access.

7. Scalability and Internationalization: Because Wolt works in numerous nations, the


software must be scalable and adaptable to diverse markets and languages. To give a
tailored experience to users across several locations, it should support local currencies,
languages, and cultural subtleties.

8. Customer Support: Adequate customer support channels, such as in-app chat, email,
or phone support, should be accessible to quickly address user concerns, rectify
difficulties, and give help. Customer happiness and loyalty may be increased by
providing responsive customer service.

9. Continuous Improvement: A feedback loop should be included in the product to


collect customer comments, ideas, and complaints. Regular updates, bug patches, and
enhancements based on user input and market trends contribute to the software's
continuing progress.

b. Product Functions

Wolt delivery software includes a variety of product functionalities that help consumers
and restaurants with ordering, delivery, and administration. Here are some of the most
common product functionalities linked with Wolt's delivery software:

In the case of customers :


1. Peruse eateries and Menus: Customers may use the Wolt mobile app or website to
discover a variety of eateries and peruse their menus.
2. Search and Filter: Users may do a search for certain restaurants, cuisines, or meals,
as well as apply filters based on dietary choices, pricing range, or delivery possibilities.
3. Ordering: Customers may choose meals, personalize their orders, provide delivery
information, and add products to their shopping cart for payment.
4. Real-Time Order Tracking: Users may monitor the status of their orders in real time,
receiving information on order preparation, pickup, and delivery.
5. Secure Payments: Wolt offers secure and simple payment alternatives, including
credit/debit cards, mobile wallets, and Wolt credits.
6. Ratings and Reviews: To give feedback and assist others in making educated
judgments, users may rate and review restaurants, meals, and overall delivery
experiences.
Customers may create and manage their accounts, store delivery addresses, examine
purchase history, and access preferences or specific instructions.

In the case of restaurants:

1. Order Management: The software allows restaurants to accept and handle incoming
client orders, which include order data, customization requests, and delivery addresses.
2. POS System Integration: Wolt's software may be integrated with a restaurant's
current point-of-sale (POS) system, allowing for smooth order processing and inventory
management.
3. Order Preparation and Status Updates: Restaurants can change the status of orders
to indicate whether they are being prepared, ready for pickup, or ready for delivery.
4. Performance statistics: Wolt provides restaurants with performance insights and
statistics, such as order volumes, popular meals, customer ratings, and sales trends.
5. contact and Support: The software promotes contact between restaurants and
consumers, allowing eateries to answer questions, fix problems, and give extra
information.
6. Menu and Pricing Management: Restaurants may edit their menus and change food
availability, pricing, and descriptions, ensuring that consumers see current information.
7. Delivery Partner Management: Wolt's software may contain features for managing
delivery partners, assigning orders to them, and tracking their performance.

c. Technology Used

Mobile Application Development:


iOS App Development: Swift or Objective-C programming languages utilizing Apple's
native development tool, Xcode.
Android Studio and the Android SDK (Software Development Kit) are used to program
in Java or Kotlin.

Backend Development:
For server-side development, programming languages such as Java, Python, or Node.js
are widely utilized.
Frameworks: Spring Boot (Java), Django (Python), and Express.js (Node.js) are
examples of popular frameworks that can be used.
Databases: Relational databases such as MySQL or PostgreSQL, as well as NoSQL
databases such as MongoDB, are commonly used for data storage.

APIs and Web Services


Representational State Transfer (REST) APIs and Web Services APIs are frequently
used to communicate between client-side applications and server-side backends.
API documentation and specification tools such as Swagger or OpenAPI may be used to
develop, document, and specify APIs.
APIs must be documented and tested.

Cloud Infrastructure and Hosting:


Scalability, storage, and hosting requirements are frequently met by cloud platforms
such as Amazon Web Services (AWS), Google Cloud Platform (GCP), and Microsoft
Azure.
Containerization and orchestration technologies such as Docker and Kubernetes may be
used to manage and deliver applications.

Real-time Tracking and Notifications:


Technologies such as WebSockets or Server-Sent Events (SSE) can be used to offer
real-time order tracking and delivery updates to customers.

Payment Integration:
Integration with payment gateways such as Stripe, Braintree, or PayPal is frequently
used to provide safe and easy payment processing.

Data Analytics and Insights:


Technologies like as Apache Kafka, Apache Spark, and Elasticsearch may be used to
collect, process, and analyze data in order to create relevant insights and performance
statistics.

Security and Authentication:


For secure authentication and authorisation processes, technologies such as JSON Web
Tokens (JWT) or OAuth2 may be used. To maintain the confidentiality and integrity of
user data, encryption mechanisms and best practices are often applied.

3.Process model

a. Model Description
The Agile approach was chosen as the process model for the development of Wolt
Delivery. Agile is an iterative and incremental method to software development that
fosters flexibility, collaboration, and quick delivery of features. It entails dividing the
development process into smaller, more manageable iterations known as sprints, with
each sprint focusing on delivering a set of priority features.

b . Process Flow
The Agile process flow for Wolt Delivery consists of the following steps:

Requirements Gathering: For requirements gathering, there have been many interviews
and surveys with users and stakeholders analyzing and prioritizing requirements based
on business value and feasibility.

Product Backlog Creation: It has been created with a prioritized list of features and user
stories using a project management tool ( Jira or Trello). As a result it has been a
business value and effort estimation to each user story to facilitate prioritization.

Sprint Planning: Selecting a set of user stories from the product backlog to be included
in the upcoming sprint. Estimating the effort required for each user story using story
points or another estimation technique. Finally defining the sprint goal and creating a
sprint backlog with the selected user stories.

Sprint Execution: During the sprint, the development team has worked on
implementing the user stories assigned to the sprint backlog.While writing code, they
adhered to coding standards and best practices. Conducting code reviews on a regular
basis to guarantee code quality.

Daily Stand-up Meetings: They had brief daily meetings during which team members
shared their progress, reviewed any barriers or issues they were encountering, and
planned their day's work. The members of the team respond to three questions: What
did I achieve yesterday? What am I going to work on today? Is there anything impeding
my progress?

Sprint Review: The team delivered the produced features to stakeholders at the
conclusion of each sprint.

Sprint Retrospective: The team has had a retrospective meeting to reflect on the sprint's
triumphs and difficulties. Action items were created to address the highlighted areas for
improvement in future sprints.

c. Framework Activities:

The Agile methodology for Wolt Delivery includes the following framework activities:
Requirements Engineering:
Requirements Engineering means, gathering, analyzing, and documenting the
functional and non-functional requirements for the system.
For instance, conducting stakeholder interviews and workshops to understand the
requirements. In the next step, it has been created a document that provides the
requirements, including use cases, user stories, and acceptance criteria.
An example requirement could be: "As a user, I want to be able to track the real-time
status of my food delivery."

Design:
In this step , it has been created a high-level and detailed designs for the user interface,
database schema, and system architecture.
For instance, the user interface is designed by creating wireframes and prototypes using
design tools ( Sketch or Figma). In the next step it has been created an
entity-relationship diagram for defining the database schema, specifying the tables,
relationships, and attributes.A system architecture diagram to outline the components,
modules, and their interactions has been developed.

Implementation:
Developing the software system based on the design specifications using suitable
programming languages and frameworks.
For instance, it has been used a backend framework (Django or Node.js ) to implement
the server-side logic. Also, implemented frontend components using technologies like
React or Angular. Written clean and modular code following coding best practices.
For example, the implementation can involve building an API endpoint that handles
user registration and authentication.

Testing:
Performing unit testing, integration testing, and system testing to ensure the quality
and functionality of the software.
For instance, unit tests have been written for individual functions or modules to verify
their correctness. Conducted integration tests to ensure that the different components of
the system work together as expected. Performed system testing and validating the
overall behavior of the software, including testing various user scenarios and edge cases.

Deployment:
Packaged and deployed the software system to the production environment or an
appropriate testing environment.
For instance, there have been containerization technologies ( Docker ) to package the
application along with its dependencies. Deployed the containers to a cloud platform
like AWS or Azure. Set up the necessary infrastructure, such as loading balancers and
databases, to support the application's deployment.

Maintenance:
Provided ongoing support, bug fixing, and updates to the software system after
deployment.
For instance, monitored the system's performance and addressed any issues or bugs
reported by users. Released regular updates to introduce new features, enhance security,
or improve performance. Provided user support through various channels such as email
or a help desk system.

d. Actions/tasks

Within each framework activity, several key actions take place. For example:

Requirements Engineering:

-Action: Elicit and document user requirements, including features, usability, and
performance expectations.
-Example Task: Conduct interviews with restaurant owners and delivery drivers to
gather their requirements and pain points regarding the food delivery process.
Document their feedback and expectations for features such as order customization,
delivery time estimation, and payment options.

-Action: Prioritize and validate requirements with stakeholders.


-Example Task: Facilitate a requirements prioritization workshop with key stakeholders,
including representatives from marketing, operations, and development teams. Discuss
and rank the identified requirements based on their business value, feasibility, and
impact on the user experience.

-Action: Create use cases, user stories, and acceptance criteria to capture the functional
aspects of the system.
-Example Task: Develop a use case diagram to visualize the interactions between actors
(users, restaurants, drivers) and the system. Write user stories, such as "As a user, I
want to be able to track the real-time location of my delivery driver." Define acceptance
criteria for each user story, including specific conditions that must be met for the story
to be considered complete.

Design:
-Action: Developing wireframes and visualizing design mockups for the user interface.
-Example Task: Used design tools like Sketch or Adobe XD to create wireframes that
depict the layout, navigation flow, and content placement of the mobile app screens.
Designing visual mockups that represent the visual style, branding elements, and color
scheme of the user interface.

-Action: Defining the system architecture, including the choice of technology stack and
deployment strategy.
-Example Task: Determine the technology stack, such as React Native for the mobile
app frontend and Node.js for the backend API. Choosed a cloud-based deployment
strategy, such as AWS Elastic Beanstalk or Google Cloud Platform, to ensure scalability
and reliability.

-Action: Designing the database schema and data models to store and retrieve relevant
information.
-Example Task: Identified the entities in the system, such as users, restaurants, orders,
and menu items. Designed an entity-relationship diagram (ERD) to represent the
relationships between these entities. Defined the attributes and data types for each
entity and establish the appropriate relationships, such as one-to-many or
many-to-many.

Implementation:

-Action: Writing code and implementing the defined functionality based on the design
specifications.
-Example Task: Implement the user registration functionality using the chosen
technology stack. Written code to handle user input validation, stored user information
in the database, and authenticated user credentials during login.

-Action: Integrating external services and APIs required for restaurant and payment
processing.
-Example Task: Integrated with a third-party restaurant database or API to retrieve
restaurant information such as menus, opening hours, and ratings. Implemented an API
integration with a payment gateway provider to process online payments securely and
efficiently.

-Action: Performing code reviews and ensuring adherence to coding standards and best
practices.
-Example Task: Conducted code reviews to ensure code quality, maintainability, and
adherence to coding standards. Reviewed the codebase to identify any potential issues,
such as performance bottlenecks, security vulnerabilities, or violations of coding
conventions.

4. Requirements
a. Functional Requirements
b. Non-Functional Requirements
c. Constraints

5. Requirements Models
a. Scenario-based (UML use-case diagram)
b. Class (UML class diagram, CRC model)
6.System Architecture and System Design

a. Architectural Style
Wolt Delivery's architectural style may be defined as client-server, with a mobile
application serving as the client and a server infrastructure handling numerous
operations. This design provides for a distributed and scalable system that can
support a large number of users and effectively handle concurrent queries.

The mobile application, which is installed on users' devices, is important to the


client-side architecture. Customers may explore restaurants, place orders, and
monitor delivery using the app's user-friendly design. Delivery couriers may also
get order data, navigate to pickup and drop-off sites, and update the delivery
status.

1.Presentation Layer:

Mobile Application: The Wolt Delivery mobile application serves as the


presentation layer. It provides an intuitive and user-friendly interface for
customers to browse restaurants, view menus, place orders, and track deliveries.
The app also allows delivery couriers to receive order information, update
delivery statuses, and communicate with customers.
Application Layer:

Order Management: This layer handles the processing and management of


orders. It includes functionalities such as order placement, order tracking, order
history, and notifications.
Payment Processing: The application layer integrates with payment gateways to
securely process payment transactions for customers. It ensures that payment
information is handled in a reliable and secure manner.
User Management: This layer handles user authentication, registration, and
profile management. It includes features such as user login, account settings, and
address management.

Business Layer:

Restaurant Management: This layer manages restaurant information, including


menus, availability, and pricing. It enables restaurants to update their offerings
and ensures that accurate and up-to-date information is available to customers.
Dispatch and Routing: The business layer includes functionality for dispatching
delivery couriers to pickup locations, optimizing delivery routes, and assigning
deliveries to available couriers. It ensures efficient and timely delivery operations.
Feedback and Ratings: This layer enables customers to provide feedback and
ratings for restaurants and delivery couriers. It helps maintain service quality and
allows users to make informed choices based on ratings and reviews.

Data Layer:

Database: The data layer includes a database management system to store and
retrieve data related to users, orders, restaurants, and other relevant information.
It ensures data consistency, integrity, and persistence.
Data Access: This layer provides the necessary mechanisms to interact with the
database, including querying, updating, and retrieving data.

b. Subsystems
Here are some examples of subsystems in Wolt Delivery:

User Management Subsystem: This subsystem handles user authentication,


registration, and profile management. It includes functionalities such as user login,
account creation, password reset, and user profile updates.

Restaurant Management Subsystem: This subsystem is responsible for managing


restaurant-related information. It includes functionalities like restaurant registration,
menu management, availability management, and pricing updates.

Order Management Subsystem: This subsystem handles the processing and


management of orders. It includes functionalities such as order placement, order
tracking, order history, and notifications to users and restaurants about order status
updates.

Delivery Management Subsystem: This subsystem focuses on managing the delivery


process. It involves functionalities like dispatching delivery couriers to pickup locations,
optimizing delivery routes, assigning deliveries to couriers, and tracking the real-time
status of deliveries.

Payment Processing Subsystem: This subsystem deals with securely processing


payment transactions. It integrates with payment gateways to handle payment
authorizations, capturing funds, and providing transactional data for financial
reporting.
Feedback and Rating Subsystem: This subsystem allows users to provide feedback and
ratings for restaurants and delivery couriers. It manages the collection, storage, and
display of feedback and ratings, which helps maintain service quality and provide
valuable insights for users.

Reporting and Analytics Subsystem: This subsystem gathers and analyzes data related
to orders, users, restaurants, and deliveries. It generates reports and analytics that
provide valuable insights for business decision-making, such as performance analysis,
customer behavior analysis, and restaurant performance evaluation.

c. Architectural Context Diagram (ACD)

7. User Interface Specifications

a. Specific Construction Specifications


Homepage:

The Wolt Delivery homepage has a clean and intuitive design that aligns with the
brand's visual identity.
The logo is prominently displayed in the top left corner of the page, ensuring brand
recognition.

The sign-in and login options are easily accessible in the top right area, enabling new
users to create accounts and existing users to log in efficiently.
In the top section of the homepage, there are three options available: "Explore,"
"Orders," and "Account."
Sign-Up Process:

Upon clicking the sign-up button, users are presented with the option to create either a
personal or business account.
Users are asked to provide their mobile number and select their country/region of
residence for verification purposes.
A verification code is sent to the provided mobile number, and users must enter the
code to proceed with the sign-up process. An option to resend the code is available if
needed.
Users are then required to enter their email, first and last name, and create a password
that meets specific criteria (e.g., 8 to 20 characters, including at least 2 letters and
numbers or symbols).
Next, users are prompted to enter their address and birthdate. They are presented with
checkboxes to stay logged in for faster checkout and to accept the terms and conditions.
Afterward, users receive suggestions for their first activity or the option to skip. They
can also optionally link a payment card or choose to do it later.
Personal Account Dashboard:

Upon successful creation of a personal account, users are presented with five tabs
located next to the Wolt Delivery logo.

Home Tab: The home tab offers various options such as getting the Wolt Delivery app,
sending money, making requests, and adding funds to the wallet. It also displays the
user's balance, recent activities, and the ability to set up the account fully.

Send and Request Tab: This tab includes sections for sending money, making requests,
managing contacts, and additional options. Users can search for recipients, specify the
amount and currency, and add notes. They can also choose the payment method, send
to friends or pay for items/services covered by PayPal buyer protection.
Bank Tab: The bank tab allows users to manage and link bank accounts or cards, send
payments, add currency, and use the currency calculator.

Activity Tab: In this tab, users can monitor and manage their transactions. They have
the ability to search for specific transactions, apply filters, and download detailed
statements.

Help Section: The help section provides access to commonly asked questions, the
resolution center, technical support, community forums, and other options related to
home, payments and transfers, disputes and limitations, account management, wallet,
login and security, and seller tools.

Business Account Dashboard:

For users with a business account, the website interface differs slightly. There are four
tabs located next to the Wolt Delivery logo.

Home Tab: The home tab displays the user's balance, options to transfer money, track
money in and money out, and manage unpaid requests and invoices. Quick links to App
Center, request and send money, invoicing, and PayPal checkouts are also provided.
Users can customize the home tab to display preferred actions.

Activity Tab: In the activity tab, users can view all transactions, access the resolution
center for open and closed cases, view reports, and customize links and API access.
Pay and Get Paid Tab: This tab includes sections such as the wallet, invoicing, making
payments, and accepting payments. It allows users to manage their business
transactions, create and send invoices, and process payments.

Help Section: The help section provides access to commonly asked questions, the
resolution center, technical support, community forums, and other options related to
home, payments and transfers, disputes and limitations, account management, wallet,
login and security, and seller tools.

8. Project Management

a. Feasibility Study
Economic Feasibility:

Cost-Benefit Analysis: The estimated cost of developing and maintaining the Wolt
Delivery software is $500,000. Based on market research, the potential revenue from
delivery fees and restaurant commissions is projected to be $1 million annually. The
cost-benefit analysis indicates a positive ROI and financial viability.
Market Analysis: The food delivery market in the target area has experienced
significant growth, with a high demand for convenient delivery services. Competitor
analysis shows that there is room for a new player like Wolt to capture a share of the
market and generate revenue.
Revenue Generation: Wolt plans to charge a 10% commission on each order and expects
to process an average of 10,000 orders per month. Based on this projection, the
estimated monthly revenue from commissions would be $100,000.

User Registration and Ordering Process: These features help generate money by
encouraging clients to use the app and submit orders. Saving preferred restaurants and
cuisine choices boosts repeat orders, which increases sales potential.
Checkout and Payment: Allowing users to complete transactions in a variety of ways
reduces obstacles to making purchases and increases the chance of generating income.

Technical Feasibility:

Technology Assessment: The required technologies, such as mobile app development


frameworks and cloud infrastructure, are readily available and widely used. Skilled
developers familiar with these technologies are also available in the market.
System Integration: Wolt Delivery plans to integrate with popular payment gateways,
such as PayPal and Stripe, to facilitate secure and convenient online payments. These
payment gateways offer robust APIs and documentation for seamless integration.
Scalability and Performance: Load testing is conducted, simulating peak user demand.
The system shows reliable performance, with the ability to handle simultaneous order
placements and real-time order tracking for thousands of users.

User registration, restaurant listings, ordering, and payment: These features need
technological execution in order to deliver a consistent user experience. To enable safe
and dependable transactions, integration with other systems such as payment gateways
is required.

Operational Feasibility:
User Acceptance: Wolt conducts surveys and user interviews to gather feedback and
assess user acceptance. The results indicate positive user interest and willingness to
adopt the Wolt Delivery app.
Training and Support: Wolt provides comprehensive training materials, tutorials, and
customer support channels, including in-app chat and a dedicated helpline, to assist
users during the onboarding process and address any queries or issues they may have.
Organizational Impact: Wolt collaborates closely with partner restaurants to
understand their operations and tailor the software to their needs. The software's
implementation minimizes disruptions to existing workflows and enhances operational
efficiency.
Legal and Regulatory Compliance: Wolt ensures compliance with data protection laws,
such as GDPR, by implementing robust security measures, encrypting sensitive data,
and obtaining user consent for data processing.

Order Tracking: Real-time order tracking improves the delivery process's operational
efficiency. It keeps consumers up to date on the status of their orders, lowers support
enquiries, and boosts customer satisfaction.
Delivery and Ratings: The feedback loop generated by user ratings and reviews
contributes to the overall improvement of the customer experience. It enables the app to
find areas for development and make changes to better fit the preferences and
expectations of users.
Overall, the outlined features contribute to the feasibility of the Wolt app by addressing
user needs, generating revenue, and ensuring smooth technical and operational
execution.

9. Software Testing
a. Black Box Testing

Black box testing is a software testing technique where the internal workings of
the system being tested are not known or considered. Testers focus solely on the
inputs and outputs of the software without knowledge of its internal code or
structure. Here are some potential black box testing scenarios that could be
applied to Wolt's delivery software:
Functionality Testing: Order Placement: Test the ability to place orders through
the mobile app, ensuring that all required fields are functional and that orders
are correctly processed. Menu Navigation: Verify that users can browse through
menus, select items, customize orders, and add them to the cart without
encountering any errors. Tracking and Notifications: Test the accuracy of order
tracking, ensuring that users receive timely notifications and accurate
information about their delivery status.

Usability Testing: User Interface: Evaluate the user-friendliness of the mobile


app, ensuring that the layout, navigation, and overall design are intuitive and
easy to understand for users. Payment Process: Test the payment process to
ensure it is smooth, secure, and supports various payment methods without any
glitches or errors. Search Functionality: Verify that the search feature works
correctly, allowing users to find restaurants, specific dishes, or cuisine types
efficiently.

Compatibility Testing: Device Compatibility: Test the mobile app on different


devices (e.g., smartphones, tablets) and across different operating systems (e.g.,
iOS, Android) to ensure compatibility and consistent performance. Browser
Compatibility: If there is a web interface for the software, test its compatibility
with various browsers (e.g., Chrome, Firefox, Safari) to ensure a consistent
experience.

Performance Testing: Load Testing: Simulate a high volume of concurrent users


placing orders to assess the system's performance under heavy loads, ensuring
that it can handle peak demand without significant delays or crashes. Response
Time: Measure the time taken for the app to respond to user interactions such as
placing an order, updating delivery status, or displaying menus to ensure it meets
acceptable performance benchmarks.

Security Testing: Data Protection: Verify that user data, including personal
information and payment details, are handled securely and are not vulnerable to
unauthorized access. Authentication and Authorization: Test the login and
authentication processes to ensure only authorized users can access the system
and perform relevant actions.

These are just a few examples of black box testing scenarios that can be applied
to Wolt's delivery software. The specific tests and test cases would depend on the
features and functionalities of the software, as well as the requirements and
expectations of the users.
Test 1: User Registration

Test Case Name: Successful User Registration


Description: Verify that a user can successfully register a new account on the Wolt
delivery app.
Steps:
a. Access the Wolt registration page.
b. Enter the required information, such as name, email address, and password.
c. Submit the registration form.
d. Verify that the user is successfully registered and can log in with the provided
credentials.

Expected Result:
The user should receive a confirmation email for successful registration.
The user should be able to log in to the Wolt app using the registered email address and
password.

Test 2: Order Placement

Test Case Name: Successful Order Placement


Description: Verify that a user can successfully place an order on the Wolt delivery app.
Precondition: The user is logged in and has valid payment information saved.
Steps:
a. Log in to the Wolt app.
b. Browse available restaurants and select a desired menu item.
c. Customize the order (if applicable) by adding preferences or special instructions.
d. Proceed to the checkout page.
e. Select a preferred payment method.
f. Confirm the order and submit the payment.
g. Verify that the order is successfully placed and a confirmation is displayed.
Expected Result:
The user should receive an order confirmation email.
The order should appear in the user's order history.
The restaurant should receive the order details.

Test 3: Order Tracking

Test Case Name: Order Tracking and Status Updates


Description: Verify that a user can track the status of their order in real-time.
Precondition: The user has placed an order that is being prepared by the restaurant.
Steps:
a. Log in to the Wolt app.
b. Navigate to the "Order History" section.
c. Select the ongoing order.
d. Verify that the order status is displayed, indicating whether it is being prepared, out
for delivery, or delivered.
e. Check for real-time updates on the order status.
Expected Result:
The user should see accurate updates on the order status, such as "Preparing," "On the
way," or "Delivered."

Test 4: Delivery Address Management

Test Case Name: Add and Edit Delivery Address


Description: Verify that a user can add a new delivery address and edit existing ones.
Steps:
a. Log in to the Wolt app.
b. Navigate to the "Account Settings" or "Profile" section.
c. Select the option to manage delivery addresses.
d. Add a new address by providing the necessary details.
e. Save the address.
f. Edit an existing address by selecting the edit option and modifying the required fields.
g. Save the changes.
h. Verify that the new address is saved and can be selected during the order placement.
i. Verify that the edited address reflects the changes in the user's account.
Expected Result:
The new address should be saved and available for selection during order placement.
The edited address should be updated in the user's account.

Test 5: Order Cancellation

Test Case Name: Order Cancellation


Description: Verify that a user can cancel an order before it is delivered.
Steps:
a. Log in to the Wolt app.
b. Navigate to the "Order History" section.
c. Select an ongoing order that has not been delivered.
d. Select the option to cancel the order.
e. Confirm the cancellation.
f. Verify that the order is successfully canceled, and a cancellation confirmation is
displayed.
Expected Result:
The user should receive a cancellation confirmation email.
The canceled order should be removed from the user's order history.
10. History of Work, Current Status, and Future Work

Work History:

-Wolt Delivery, situated in Helsinki, Finland, was created in 2014 as a meal delivery
company.

-Wolt began by working with local businesses and offering on-demand meal delivery
services.

-The firm swiftly expanded its operations to other cities in Finland and acquired user
appeal.

-Wolt expanded worldwide in 2016, launching services in Stockholm, Sweden.

-Wolt has expanded to a number of nations and towns throughout the years, including
Denmark, Estonia, Latvia, Lithuania, Norway, and others.

-Wolt added features including real-time order tracking, numerous payment choices,
and an easy-to-use mobile app.

-The website grew in popularity and collaborated with a vast variety of restaurants to
offer a diversified selection of cuisines.

Current Status:

-Wolt Delivery operates in more than 20 countries as of 2021, with a presence in


Europe, Asia, and the Middle East.

-The platform has established itself as a prominent meal delivery business, with a
reputation for a dependable and fast delivery network.

-Wolt is constantly improving its technology and user experience with the goal of
providing smooth and convenient meal delivery services.

-Beyond restaurants, the organization now provides delivery from grocery shops,
convenience stores, and other neighborhood businesses.
-Wolt has also added services such as Wolt+ membership, which provides customers
with privileges such as free delivery and unique discounts
Future Work:

-Wolt intends to broaden its geographic reach and penetrate new markets throughout
the world.

-The company intends to develop its ties with local companies and provide users with a
broader selection of delivery alternatives.
-Wolt is committed to increasing delivery efficiency, optimizing routes, and shortening
delivery times.

-To improve its recommendation algorithms and tailor the user experience, the platform
intends to invest in modern technologies such as artificial intelligence and machine
learning.

-Wolt is dedicated to sustainability and strives to lessen its environmental effect by


supporting eco-friendly packaging and investigating greener delivery solutions such as
electric cars or bicycles.

11. Conclusions

In conclusion, the Software Requirements Specification (SRS) document for the Wolt
Delivery app provides a complete and exhaustive explanation of the requirements for
the delivery system's development. The SRS document is a valuable resource for
developers, testers, and project managers, since it provides a clear knowledge of the
app's goal, functions, and limits.

The SRS document goes through several important areas of the Wolt Delivery software,
such as user registration, payment processing, order administration, delivery tracking,
and customer assistance. It details the needs for each module, such as user interfaces,
data management, error handling, and performance concerns.

By methodically documenting these requirements, the SRS document provides a


common understanding among all stakeholders, reducing uncertainty and ambiguity. It
acts as a basis for the project's design, development, and testing phases, allowing for
better communication and cooperation within the development team.

Furthermore, the SRS document allows for the early identification of possible risks and
obstacles, allowing for the implementation of suitable mitigation solutions. It serves as a
road map for the development process, directing the team to the successful deployment
and upkeep of the Wolt Delivery app.
Overall, the Wolt Delivery app SRS document is critical to the effective delivery of a
strong, efficient, and user-friendly delivery system.
It brings all stakeholders' efforts together, supporting the creation of a dependable and
enjoyable user experience.

12. References

1.Wolt Delivery App


2.https://wolt.com/en
3.https://en.wikipedia.org/wiki/Wolt

You might also like