MoizFinalResidiaDocumentation

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 65

Department of Information Technology

University of Gujrat

DigiAgro

Session : 2020 -2024

Project Advisor: Mam Iram Shahzadi


Submitted By

Yasir Ali 20014156-064

Muhammad Moiz Ali 20014156-079

Syed Irfan Ali Shah 20014156-097

Department of Information Technology


© University of Gujrat
1
Department of Information Technology

University of Gujrat

STATEMENT OF SUBMISSION

This is certify that Yasir Ali Roll No. 20014156-064 , Muhammad Moiz Ali Roll
No. 20014156-079 and Syed Irfan Ali Shah Roll No. 20014156-097 has
successfully completed the final year project named as DigiAgro at the Department of
Information Technology, University of Gujrat, to fulfill the requirement of the degree of
BS in Information Technology.

______________________ _____________________
Project Supervisor Project Coordination Office
Faculty of C&IT -UOG

______________________
Head of the Department

Department of Information Technology


© University of Gujrat
2
Acknowledgement

We truly acknowledge the cooperation and help make by Dr Fiaz Majeed , Chairman,
Department of Computer Science, University of Gujrat. He has been a constant source of
guidance throughout the course of this project. We are also thankful to Mam Iram
Shahzadi (Project Supervisor).

Date:

Department of Information Technology


© University of Gujrat
3
Abstract
DigiAgro is a state-of-the-art mobile application designed to modernize agricultural
practices through the use of advanced digital technologies. Developed using Flutter for a
seamless cross-platform experience and supported by Firebase for robust backend
capabilities, DigiAgro serves as a comprehensive platform catering to farmers and
agricultural businesses. The application facilitates a variety of essential agricultural
activities, including the purchase of seeds, rental of cutting-edge machinery, and
consultation with industry experts. Additionally, it offers location-based services to help
users explore local agricultural resources. DigiAgro aims to bridge the gap between
farmers and agribusinesses, fostering a connected and efficient agricultural ecosystem.
By promoting accessibility, efficiency, and sustainable growth, DigiAgro empowers
stakeholders across the agricultural sector, driving forward innovation and productivity.

Department of Information Technology


© University of Gujrat
4
TABLE OF CONTENTS
Chapter 1: Project Feasibility Report..............................................................................8
.............................................................................................................................................8
1.1. Introduction...............................................................................................................9
1.2. Project/Product Feasibility Report............................................................................9
1.2.1. Technical Feasibility..........................................................................................9
1.2.2. Operational Feasibility.......................................................................................9
1.2.3. Economic Feasibility.........................................................................................9
1.2.4. Schedule Feasibility...........................................................................................9
1.2.5. Specification Feasibility..................................................................................10
1.2.6. Information Feasibility....................................................................................10
1.2.7. Motivational Feasibility...................................................................................10
1.2.8. Legal & Ethical Feasibility..............................................................................10
1.3. Project/Product Scope.............................................................................................10
1.4. Project/Product Costing..........................................................................................11
1.4.1. Project Cost Estimation By Function Point Analysis......................................11
1.4.2. Project Cost Estimation by using COCOMO’81 (Constructive Cost Model). 12
1.4.3. Activity Based Costing....................................................................................12
Activity-based costing = Cost Pool in Total / Cost Drivers.........................................12
1.5. Task Dependency Table.........................................................................................12
1.6. CPM - Critical Path Method...................................................................................13
1.7. Gantt chart..............................................................................................................15
.......................................................................................................................................15
1.8. Introduction to Team member and their skill set....................................................15
1.9. Task and Member Assignment Table.....................................................................15
1.10. Tools and Technology with reasoning..................................................................17
1.11. Vision Document..................................................................................................18
1.12. Risk List................................................................................................................19
1.13. Product Features/ Product Decomposition...........................................................19
. List of optional functional units:..................................................................................20
Chapter 2: Software Requirement Specification (For Object Oriented Approach). 21
2.1. Introduction.........................................................................................................22

Department of Information Technology


© University of Gujrat
5
2.2. Existing System..................................................................................................22
Fig:2.1: Business Organization Chart........................................................................22
2.3. Scope of the System............................................................................................22
2.4. Summary of Requirements: (Initial Requirements)............................................23
2.5. Identifying External Entities:..............................................................................24
2.6. Capture "shall" Statements:................................................................................24
2.7. Allocate Requirements:......................................................................................24
2.8. Priorities Requirements:.....................................................................................25
2.9. Requirements Traceability Matrix:.....................................................................27
2.10. High Level Use case Diagram:.........................................................................29
2.11. Analysis Level Use case Diagram:...................................................................29
2.12. Use case Description.........................................................................................30
Chapter 3: Design Document (For Object Oriented Approach).................................32
3.1. Introduction:...........................................................................................................33
3.2. Domain Model........................................................................................................33
3.3. System Sequence Diagram.....................................................................................34
3.4. Sequence Diagram..................................................................................................34
3.5. Collaboration Diagram...........................................................................................34
3.5.1. Contents of Collaboration Diagrams...............................................................35
3.5.2. Constructs of Collaboration Diagram:.............................................................35
3.6. Operation Contracts................................................................................................36
3.7. Design Class Diagram............................................................................................38
...................................................................................................................................38
3.7.1. Create Initial Design Classes...........................................................................38
Fig:3.3.2: Create Initial Design Classes....................................................................39
3.7.2. Designing Boundary Classes...........................................................................39
3.7.3. Designing Entity Classes.................................................................................39
3.7.4. Designing Control Classes...............................................................................39
3.7.5. Identify Persistent Classes...............................................................................40
3.7.6. Define Class Visibility.....................................................................................40
3.7.7. Design Class Relationships..............................................................................45
Fig:3.6: Design Class Relationship................................................................................46
3.9. Data Model.............................................................................................................46
Chapter 4: User Interface Design...................................................................................49
Department of Information Technology
© University of Gujrat
6
4.1. Introduction.............................................................................................................50
4.2. Site Maps................................................................................................................50
4.3. Story boards............................................................................................................51
4.4. Navigational maps:.................................................................................................53
4.5 Trace-ability Matrix.................................................................................................53
Chapter 5: Software Testing...........................................................................................55
5.1 Introduction:............................................................................................................56
5.2. Test plan..................................................................................................................56
7.2.1. Purpose............................................................................................................56
7.2.2. Outline.............................................................................................................56
5.3. Test design specification.........................................................................................57
5.4. Test Case Specification...........................................................................................58
5.5. Test procedure specification...................................................................................59
5.6. Test item transmittal report.....................................................................................59
5.7. Test log...................................................................................................................60
5.8. Test incident report.................................................................................................60
5.9. Test summary report...............................................................................................61
5.10. App Screenshots...................................................................................................62

Department of Information Technology


© University of Gujrat
7
Chapter 1: Project Feasibility Report

Department of Information Technology


© University of Gujrat
8
1.1. Introduction

1.2. Project/Product Feasibility Report


The feasibility study of DigiAgro has revealed that it is a viable and profitable business
model with significant potential for growth in the future. The platform's user-friendly
features, comprehensive agricultural services, and value-added offerings make it well-
positioned to capture a significant market share in the agricultural sector. The platform is
also mobile-compatible, secure, and scalable, making it accessible to a wide range of
users. DigiAgro feasibilities include:
● Technical

● Operational

● Economic

● Schedule

● Specification

● Information

● Motivational

● Legal and Ethical


1.2.1. Technical Feasibility
DigiAgro has demonstrated strong technical feasibilities with its user-friendly and
feature-rich platform, enabling users to easily purchase seeds, rent machinery, and
consult with experts. The platform is built on modern technologies using Flutter,
providing a stable and reliable cross-platform experience. The platform offers a mobile
app, which is available on Android and iOS, allowing users to access the platform on the
go. Overall, DigiAgro's technical feasibilities provide a strong foundation for its
continued growth and success in the agricultural sector.
1.2.2. Operational Feasibility
DigiAgro has several operational feasibilities that make it a viable business model. These
include a user-friendly interface, comprehensive agricultural services, value-added
offerings, strong brand recognition, and an experienced management team. These
feasibilities enable DigiAgro to efficiently and effectively operate in the agricultural
market, attract new users, generate revenue, and build trust with its users. Overall, these
operational feasibilities make DigiAgro well-positioned to capture a significant market
share and sustain growth in the future.
1.2.3. Economic Feasibility
DigiAgro has strong economic feasibilities, including a growing agricultural market, a
diversified revenue model, and a range of value-added services. The platform has an
experienced management team, which ensures its successful operations. These factors
make DigiAgro a profitable business model with significant growth potential. Overall,
Department of Information Technology
© University of Gujrat
9
DigiAgro is well-positioned to take advantage of the opportunities presented by the
agricultural sector and become a dominant player in the industry.
1.2.4. Schedule Feasibility
DigiAgro's schedule feasibilities include launching regular updates to the platform to
enhance its user experience and functionality. The platform also prioritizes expanding its
services to cover more agricultural needs. The aim is to meet deadlines for the
completion of various project milestones. The platform will continue to offer value-added
services to help users make informed decisions about their agricultural investments.
These schedule feasibilities aim to keep DigiAgro at the forefront of the agricultural
industry and maintain its position as a trusted and reliable platform for farmers and
agribusinesses.
1.2.5. Specification Feasibility
DigiAgro's specification feasibilities include a user-friendly platform, OTP and verified
email sign-in, comprehensive agricultural services, location-based searches, in-app
notifications and chatting, high-quality images, accurate and up-to-date information, and
management of previous records. These specifications make it easier for users to find
their desired agricultural products and services in a convenient and efficient manner,
promote transparency in the agricultural market, and help users make informed decisions
about their agricultural investments. These specifications are essential for DigiAgro to
provide a comprehensive and user-friendly platform for navigating the complex
agricultural sector.
1.2.6. Information Feasibility
DigiAgro provides users with access to a wide range of agricultural services and
products, making it easy for farmers and businesses to find and utilize necessary
resources. DigiAgro is a trusted platform in the agricultural industry, providing reliable
information and quality services to its users. DigiAgro is an essential tool for anyone
looking to improve their agricultural operations, offering a comprehensive and user-
friendly platform for navigating the agricultural market.
1.2.7. Motivational Feasibility
DigiAgro has several motivational feasibilities that make it an attractive business
opportunity. These include a rapidly growing agricultural market, a diversified revenue
model, a range of value-added services, an experienced management team, and the
potential for growth into new markets. These feasibilities provide strong motivation for
users to take advantage of the significant business potential it offers.
1.2.8. Legal & Ethical Feasibility
DigiAgro adheres to legal and ethical standards in its operations, ensuring compliance
with relevant laws and regulations. The platform provides transparent and accurate
information about agricultural products and services. It also promotes ethical practices in
the agricultural industry and encourages fair and honest dealings between farmers and
businesses. Overall, DigiAgro's commitment to legal and ethical standards helps to build
trust with its users and promote a fair and transparent agricultural market.

1.3. Project/Product Scope


DigiAgro is a comprehensive mobile application designed to revolutionize the
agricultural sector by offering a user-friendly interface for farmers and agribusinesses to
Department of Information Technology
© University of Gujrat
10
connect and transact. With a broad range of agricultural services, including the purchase
of seeds, rental of machinery, and expert consultations, DigiAgro has significant potential
to capture a substantial market share in the rapidly evolving agricultural industry. The
platform's experienced management team and focus on transparency and trust-building
make it a trustworthy and reliable resource for agricultural transactions. Overall,
DigiAgro has a broad scope to serve the diverse needs of individuals and businesses in
the agricultural sector.

1.4. Project/Product Costing


DigiAgro incurs various costs, including marketing and platform development expenses.
Investment in advertising campaigns is crucial to attract users to the platform, ensuring a
growing and engaged user base. Additionally, ongoing development costs are necessary
to enhance the platform's features and functionality, keeping it competitive and
responsive to user needs. The primary revenue model for DigiAgro includes a
combination of advertising and potentially other revenue streams such as transaction fees
or premium subscriptions. These costs and investments are essential to maintain and
grow DigiAgro's market position in the agricultural sector. Overall, these expenditures
are necessary to support DigiAgro's mission to empower farmers and agribusinesses
through a robust digital platform, fostering connectivity, efficiency, and growth within
the agricultural community.
1.4.1. Project Cost Estimation By Function Point Analysis

Table:1.1: Project Cost Estimation By Function Point Analysis


Type of component Complexity of Components
Low Average High Total
External Inputs 50x4=200 200
External Outputs 30x5=150 150
External Inquiries 35x4=140 140
External Logical Files 5x10=50 50
External Interface Files 04x7=28 28
Total no. of Unadjusted Functional Points 2811
Multiplied Value Adjustment Factor 1.07
Total Adjusted Function Points 607.8

To compute function points (FP), the following relationship is used:

FP est. = Count Total * [ 0.65 + 0.01 * (Fi)]


Scale = 3
Fi = 14 * 3 = 42
CAF = 0.65 * ( 0.01 * 42 ) = 1.07
UFP = 2811
FP est. = 2811 * 1.07 = 3007.8

Department of Information Technology


© University of Gujrat
11
Finally, Total Project Cost and Total Project Effort are calculated given the average
productivity parameter for the system.
The formulae are given as follows:
Cost / FP = labor rate / productivity parameter
Cost / FP = 1000 / 40 = 25
Total Project Cost = FP est. * (cost / FP)
Total Project Cost = 3007.8 * (25) = 75195
Total Estimated Effort = FP est. / productivity parameter
Total Estimated Effort = 3007.8 / 40 = 75.195

1.4.2. Project Cost Estimation by using COCOMO’81 (Constructive Cost Model)

Basic COCOMO
Type Effort Schedule
Organic PM= 2.4 (30)1.05 = 75.6 TD= 2.5(75.6)0.38 = 71.82
Semi-Detached PM= 3.0 (30)1.12 = 101 TD= 2.5(101)0.35 = 88.37
Embedded PM= 2.4 (30)1.20 = 86.4 TD= 2.5(86.4)0.32 = 69.12
PM= person-month (effort)
KLOC= lines of code, in thousands
TD= number of months estimated for software development (duration)

Intermediate COCOMO
Type Effort
Organic PM= 2.4 (30)1.05 x 1 = 75.6
Semi-Detached PM= 3.0 (30)1.12 x 1 = 101
Embedded PM= 2.4 (30)1.20 x 1 = 86.4
PM= person-month
KLOC= lines of code, in thousands
M. - reflects 15 predictor variables, called cost drivers
The schedule is determined using the Basic COCOMO schedule equations.
People Required = Effort / Duration
229.31/
People Required = 263 / 229.31 = 2
1.4.3. Activity Based Costing
Activity-based costing (ABC) is a methodology that measures the cost and performance
of activities, resources, and cost objects. Resources are assigned to activities, then
activities are assigned to cost objects based on their use. Activity-based costing
recognizes the causal relationships of cost drivers to activities.
Activity-based costing is about:
● Measuring business process performance, activity by activity.

● Estimating the cost of business process outputs based on the cost of the resources
used in producing the product.
● Identifying opportunities to improve process efficiency and effectiveness.
Department of Information Technology
© University of Gujrat
12
Activity-based costing = Cost Pool in Total / Cost Drivers
= 20,000 / 20 = 1000

1.5. Task Dependency Table

Table: 1.2: Task Dependency Table


Task Task Description Predecessor Time (D)
No. Task(s)
1. App Theming None 10
2. Color Selection None 1
3. Icon Designing None 1
4. Projects Creation A 3
5. Firebase Linking A,B 1
6. Admin App Structure A 9
7. User App Structure A 14
8. Owner App Structure A 15
9. Detailing Admin A,B,C 40
10. Detailing User A,B,C 27
11. Detailing Owner A,B,C 32
12. Enhancing UI None 20
13. Adding Extras C,D 24
14. Changes & Testing A,B 10

1.6. CPM - Critical Path Method


Determining the following six parameters for each activity which can identify the critical
path:

ES: earliest start time: the earliest time at which the activity can start given that
its precedent activities must be completed first.
ES (K)= max [EF(J) : J is an immediate predecessor of K]

EF: earliest finish time: equal to the earliest start time for the activity plus the
time required to complete the activity.
EF (K)= ES (K) + Dur (K)

LF: latest finish time: the latest time at which the activity can be completed
without delaying the project.
LF (K)= min [LS(J) : J is a successor of K]

LS: latest start time: equal to the latest finish time minus the time required to
complete the activity.
LS (K)= LF(K) – Dur (K)
Department of Information Technology
© University of Gujrat
13
TS: Total Slack: the time that the completion of an activity can be delayed
without delaying the end of the project
TS (K)= LS(K) – ES(K)

FS: Free Slack: the time that an activity can be delayed without delaying both the
start of any succeeding activity and the end of the project.
FS (K)= min [ES(J) : J is successor of K] – EF(K)

6. Update CPM

Table:1.3: Update CPM

Task Task Description Predecessor Time (D)


No. Task(s)
1. App Theming None 10
2. Color Selection None 1
3. Icon Designing None 1
4. Projects Creation A 3
5. Firebase Linking A,B 1
6. Admin App Structure A 9
7. User App Structure A 14
8. Owner App Structure A 15
9. Detailing Admin A,B,C 40
10. Detailing User A,B,C 27
11. Detailing Owner A,B,C 32
12. Enhancing UI None 20
13. Adding Extras C,D 24
14. Changes & Testing A,B 10

Table:1.4: CPM
Task Task Description Predecessor Time ES EF LS LF TS FS
No. Task(s) (D)
1. App Theming None 10 0 10 0 10 0 9
2. Color Selection None 1 0 11 0 1 0 8
3. Icon Designing None 1 0 12 0 1 0 11
4. Projects Creation A 3 0 15 0 3 0 0
5. Firebase Linking A,B 1 4 16 0 5 4 0
6. Admin App Structure A 9 0 23 0 9 0 0
7. User App Structure A 14 0 37 0 14 0 0
8. Owner App Structure A 15 0 52 0 15 0 0
9. Detailing Admin A,B,C 40 16 64 0 56 16 0
10. Detailing User A,B,C 27 16 93 0 43 16 0
0
Department of Information Technology
© University of Gujrat
14
11. Detailing Owner A,B,C 32 16 12 0 48 16
5
12. Enhancing UI None 20 0 14 0 20 0 100
5
13. Adding Extras C,D 24 155 17 0 179 15 0
9 5
14. Changes & Testing A,B 10 16 15 0 26 16 0
5

The critical path is:


Project Creation, Firebase Linking, Admin App Structure, User
App Structure, Owner App Structure, Detailing Admin, Detailing User, Detailing Owner,
Adding Extras, Changes and testing.

1.7. Gantt chart

Fig:1.1: Gantt Chart

1.8. Introduction to Team member and their skill set

This project is carried out by three members, each contributing unique skills and
expertise:
Yasir Ali
 Roll No.: 20014156-064
 Skills:
 Flutter Development
 Dart Programming
 Firebase Integration
 Android Development
 UI/UX Design
 Proficient in using Android Studio
Muhammad Moiz Ali
 Roll No.: 20014156-079
 Skills:
 Flutter Development
 Dart Programming
 Backend Development
Department of Information Technology
© University of Gujrat
15
 Database Management with Firebase
 Android Development
 Proficient in using Android Studio
Syed Irfan Ali Shah
 Roll No.: 20014156-097
 Skills:
 Flutter Development
 Dart Programming
 API Integration
 Firebase Authentication and Firestore
 Android Development
 Proficient in using Android Studio
Project Overview
Project Name: DigiAgro
Description: DigiAgro is a cutting-edge application developed using the Flutter
framework and Dart programming language. It leverages Firebase for backend services,
providing robust and scalable solutions. The app is designed to streamline agricultural
management, offering various features to help farmers and agribusinesses manage their
operations more efficiently. Our team has ensured that the app is user-friendly, efficient,
and secure, adhering to best practices in mobile application development.

1.9. Task and Member Assignment Table


Table:1.5: Task and Member Assignment Table
Task Task Description Duration (D) Dependencies
No.
1. App Theming 10
2. Color Selection 1
3. Icon Designing 1
4. Projects Creation 3
5. Firebase Linking 1 T4
6. Admin App Structure 9 T4
7. User App Structure 14 T4
8. Owner App Structure 15 T4
9. Detailing Admin 40 T4,T5
10. Detailing User 27 T4,T5
11. Detailing Owner 32 T4,T5
12. Enhancing UI 20
13. Adding Extras 24 T9
14. Changes & Testing 10 T4,T5

Department of Information Technology


© University of Gujrat
16
Fig.:1.2: Task Durations and Dependencies.

Fig: 1.3: Gantt chart.

Table: 1.6: Task Description

Task Task Description Person


No.
1. App Theming Yasir Ali
2. Color Selection Yasir Ali, Muhammad Moiz Ali
3. Icon Designing Yasir Ali, Muhammad Moiz Ali
4. Projects Creation Yasir Ali, Muhammad Moiz Ali, Syed Irfan Ali
Shah
5. Firebase Linking Syed Irfan Ali Shah
6. Admin App Structure Yasir Ali, Muhammad Moiz Ali
7. User App Structure Yasir Ali, Muhammad Moiz Ali
8. Owner App Structure Yasir Ali, Muhammad Moiz Ali
9. Detailing Admin Syed Irfan Ali Shah
10. Detailing User Syed Irfan Ali Shah
11. Detailing Owner Syed Irfan Ali Shah
12. Enhancing UI Yasir Ali, Muhammad Moiz Ali, Syed Irfan Ali
Shah
13. Adding Extras Yasir Ali, Muhammad Moiz Ali, Syed Irfan Ali
Department of Information Technology
© University of Gujrat
17
Shah
14. Changes & Testing Yasir Ali, Muhammad Moiz Ali, Syed Irfan Ali
Shah

1.10. Tools and Technology with reasoning


Flutter:
Reasoning: Flutter is chosen as the primary framework for developing the DigiAgro
mobile app due to its ability to create natively compiled applications for mobile, web, and
desktop from a single codebase. Its hot-reload feature facilitates rapid development and
maintenance.
Dart:
Reasoning: Dart is the programming language used with Flutter, offering a concise and
expressive syntax. It is well-integrated with Flutter, providing the necessary tools for
building efficient and performant mobile applications.
Firebase and Firestore:
Reasoning: Firebase is selected as the backend service for its real-time data
synchronization, authentication, and cloud functions. Firestore, as a NoSQL database,
complements Firebase, providing scalability and flexibility for storing and retrieving
data. By leveraging Flutter, Dart, Firebase, and Firestore, DigiAgro benefits from a
cohesive and efficient tech stack that supports seamless development, real-time updates,
and a robust backend infrastructure

1.11. Vision Document


Introduction:
DigiAgro is an innovative mobile application designed to connect farmers and
agribusinesses in Pakistan. Our vision is to become the ultimate destination for all
agricultural needs, providing a seamless and transparent experience for our users.
Whether it's buying seeds, renting advanced machinery, or consulting with agricultural
experts, DigiAgro aims to empower stakeholders across the agricultural sector with a
comprehensive and user-friendly digital platform.
Our Mission:
Our mission is to make agricultural operations easy and hassle-free for everyone in
Pakistan. We aim to provide a platform that connects farmers and agribusinesses, offering
comprehensive agricultural information and services to help them make informed
decisions. DigiAgro is dedicated to enhancing accessibility to farming essentials,
fostering efficient communication through expert consultations, and promoting
sustainable growth within the agricultural sector.
Our Values:
At DigiAgro, we are guided by a set of core values that define who we are and how we
operate. These values include:
● Transparency: We believe in being open and honest with our customers and
partners.

Department of Information Technology


© University of Gujrat
18
● Innovation: We strive to stay ahead of the curve by embracing new technologies
and ideas.
● Customer-centricity: We put our customers at the center of everything we do.

● Trustworthiness: We believe in building trust with our customers and partners


through ethical and responsible business practices.
● Collaboration: We work together as a team to achieve our goals and deliver
exceptional results.
Our Vision:
Our vision is to transform Pakistan's agricultural sector through an all-in-one platform,
offering transparency and diverse services. We strive to be the ultimate destination for
agricultural transactions by providing accurate information, secure transactions, and a
seamless user experience. DigiAgro aims to empower farmers and agribusinesses,
fostering a connected and efficient agricultural ecosystem that promotes sustainable
growth and innovation.
Conclusion:
At DigiAgro, our commitment lies in delivering the finest agricultural experience to users
across Pakistan. We are steadfast in our values and vision, knowing that by staying true
to them, we can accomplish our mission of revolutionizing the agricultural industry. Our
aim is clear: to emerge as the ultimate digital hub for all agricultural needs in Pakistan,
fostering innovation and connectivity throughout the farming community.

1.12. Risk List

1. Cybersecurity Threats: DigiAgro is susceptible to various cybersecurity risks like


hacking, data breaches, and malware attacks. These threats could result in loss of data,
damage to reputation, and financial harm.

2. Fraudulent Activities: The platform may encounter fraudulent activities such as fake
listings, fraudulent transactions, and identity theft. This poses risks of financial losses,
legal complications, and tarnishing the platform's credibility.

3. Legal Compliance: DigiAgro must adhere to laws and regulations pertaining to


agriculture, consumer rights, and data protection. Non-compliance may lead to legal
repercussions, fines, and loss of trust among users.

4. Market Fluctuations: The agricultural sector is subject to market fluctuations


influenced by factors like weather conditions, government policies, and economic trends.
DigiAgro's revenue and growth could be affected during downturns or policy changes.

5. Competition: DigiAgro faces competition from other digital platforms and traditional
agricultural businesses. This may necessitate continuous innovation, competitive pricing
strategies, and superior service offerings to maintain market share.
Department of Information Technology
© University of Gujrat
19
6. Dependence on Technology: DigiAgro heavily relies on technology for its operations.
Any disruptions, technical glitches, or system failures could lead to user dissatisfaction,
loss of revenue, and reputational damage.

7. Reputation Management: Maintaining a positive reputation is crucial for DigiAgro's


success. Negative feedback, customer complaints, or controversies could harm its
reputation, leading to customer attrition and loss of business opportunities.

By identifying and addressing these risks, DigiAgro can better safeguard its operations,
reputation, and long-term success in the agricultural sector.

1.13. Product Features/ Product Decomposition


DigiAgro is a cutting-edge Flutter-based mobile application, seamlessly integrated with
Firebase, designed to revolutionize the agricultural landscape. Offering a holistic
platform for farmers and agricultural companies, DigiAgro facilitates the sale, rent, and
consultation of farming essentials. From seeds and machinery to expert advice, DigiAgro
simplifies and enhances every facet of agricultural operations. With a user-friendly
interface, location-based services, and robust security features, DigiAgro emerges as the
go-to digital hub, fostering connectivity, efficiency, and growth within the agricultural
community.

High Level System Components:


● User Interface (UI): Front-end interface developed in Flutter, providing a
seamless and user-friendly experience for both Android and iOS users.
● Database and Backend: Firebase-powered back-end to store user profiles, product
listings, transaction data, and other essential information.
● Location-Based Services: Integration with geolocation services for personalized
experiences, allowing users to discover nearby products, services, and farmland
opportunities.
● Transaction Engine: Core logic for managing buying, renting, and selling
transactions, including payment processing and order fulfillment.
● Educational Resources: Section dedicated to providing informative content on
sustainable farming practices, water supply management, fertilizer schedules, and
more.
● Security and Authentication: Robust security measures ensuring data privacy,
secure transactions, and user authentication.
● Notification System: Communication tool for sending alerts, updates, and
reminders to users regarding transactions, appointments, and relevant information.

Department of Information Technology


© University of Gujrat
20
● Feedback and Rating System: Component allowing users to leave reviews and
ratings for products, services, and expert consultations.
● Analytics and Reporting: Tools for collecting data on user behavior, transaction
history, and app performance, facilitating informed decision-making.
● Settings and Privacy Controls: User-configurable settings and privacy controls,
empowering users to manage their preferences and data sharing.

. List of optional functional units:


 Augmented Reality Preview: Optional feature allowing users to preview
agricultural products or equipment in augmented reality before making a
purchase.
 Advanced Analytics Dashboard: Optional module providing detailed analytics
and insights for agricultural companies to track product performance, user
behavior, and market trends.

Department of Information Technology


© University of Gujrat
21
Chapter 2: Software Requirement Specification (For Object Oriented
Approach)

2.1. Introduction
DigiAgro stands as a leading agricultural platform in Pakistan, linking farmers, suppliers,
and agricultural businesses while providing essential services such as product listings,
expert consultations, farm management tools, and investment opportunities. Grounded in
innovation, DigiAgro has reshaped the agricultural landscape by integrating cutting-edge
technologies for enhanced efficiency and transparency. Supported by a committed team
and a vast agricultural database, it has emerged as the premier choice for all agricultural
needs in Pakistan.
2.2. Existing System
Business Organization
● DigiAgro Solutions

● DigiAgro Developments

● DigiAgro Marketing

Department of Information Technology


© University of Gujrat
22
 DigiAgro Solutions: Specializes in agricultural management services,
encompassing farm maintenance, equipment leasing, and product marketing.

 DigiAgro Developments: Focuses on the developmental aspect of DigiAgro,


undertaking projects related to agricultural infrastructure and technological
advancements in farming practices.

 DigiAgro Marketing: Handles the marketing and advertising initiatives for


DigiAgro, promoting the platform and its services to farmers, suppliers, and
agricultural businesses.
.
Business Organization Chart

Fig:2.1: Business Organization Chart

2.3. Scope of the System


This contains following these phases.
● Product Listings:
DigiAgro offers an extensive range of agricultural products and services,
including seeds, fertilizers, machinery, and consultancy services. Users can browse
and search for products based on their specific requirements, such as crop type, brand,
price range, and more.
● Product Advertising:
Agricultural suppliers, manufacturers, and service providers can advertise
their products and services on DigiAgro to reach a broader audience of farmers
and agricultural businesses. They can create detailed listings with images,
descriptions, and specifications to attract potential buyers.
● Product Search:

Department of Information Technology


© University of Gujrat
23
The platform provides advanced search filters tailored to agricultural
needs, allowing users to find products that match their criteria. Filters may include
product type, brand, price, availability, and location.
● Product Valuation:
The platform offers a product valuation service that helps product owners
estimate the value of their product. This service provides an accurate estimation of the
product's value based on various factors such as location, size, and market trends.
● Farm Management:
DigiAgro provides farm management tools and services to assist farmers
in efficiently managing their agricultural operations. This includes crop planning,
inventory management, pest control, and harvest forecasting.
● Mobile App:
DigiAgro offers a mobile application for both Android and iOS devices,
allowing users to access agricultural products, services, and tools on the go. The
app provides features such as product search, order placement, expert
consultations, and real-time updates on farming activities.
2.4. Summary of Requirements: (Initial Requirements)
 Product Listings: DigiAgro enables agricultural suppliers and businesses to list
their products and services on the platform. Listings must be accurate,
comprehensive, and regularly updated to ensure relevance.
 Product Search: Users should be able to search for agricultural products based
on various criteria such as product type, brand, price range, and location. The
search functionality should be intuitive and efficient.
 Product Details: Each product listing must provide detailed information
including product specifications, usage instructions, pricing, and availability. This
information should help users make informed purchasing decisions.
 Product Media: Suppliers should be able to upload photos and possibly videos of
their products to showcase their quality and features. Visual media enhances user
experience and aids in product evaluation.
 Supplier Profiles: Agricultural suppliers and businesses listing products on
DigiAgro should have dedicated profiles showcasing their contact information,
product offerings, expertise, and customer reviews if applicable.
 Customer Support: DigiAgro must provide responsive customer support to assist
users with inquiries, technical issues, and general assistance. Support channels
may include email, chat, or a dedicated helpline.
 Security: DigiAgro must ensure the secure storage and protection of all user data
to prevent unauthorized access.
2.5. Identifying External Entities:
 Product Listings from Suppliers: Suppliers can upload product listings to
DigiAgro, serving as external entries to the platform.
 User Feedback and Ratings: Users can provide feedback and ratings for products
and services on DigiAgro, constituting external entries.

Department of Information Technology


© University of Gujrat
24
 Integration with Agricultural APIs: DigiAgro may integrate with third-party
agricultural APIs to access additional data and services, generating external
entries.
 Social Media Integration: DigiAgro may integrate with social media platforms
for sharing and promotion, resulting in external entries.
 Advertisement Content: DigiAgro may display advertisements from third-party
advertisers, which are external entries enriching the platform's offerings.

2.6. Capture "shall" Statements:

Para Initial Requirements


#
1.0 A user shall place an order for agricultural products or services.
1.0 A user shall register themselves to the system.
1.0 The system shall provide two types of login processes, with Email and Phone Number
(OTP).
1.0 Admin shall have the authority to remove any unauthorized user or owner from the
system.
1.0 An owner and user shall log in to the system and can change their password.
1.0 Owners shall update user requests related to agricultural products or services.
1.0 Owners and users shall process different types of updates, such as updating personal
details, farm information, or product listings.
1.0 Owners shall accept, reject, and view requests based on provided credentials.
1.0 An owner shall search for any user details or product listings.
2.0 Every user will send a request for purchasing agricultural products or services.
2.0 An owner shall generate a confirmation receipt and finally fulfill the order.
2.0 A user shall view the status of their requests by providing the request number.
2.0 Users shall cancel the booking request for agricultural products or services.
3.0 An action event shall be generated for a corresponding owner when a request is
placed for booking of agricultural products or services.

2.7. Allocate Requirements:

Para # Initial Requirements Use Case Name


1.0 A user shall place an order for agricultural UC_Place_Order
products or services.
1.0 A user shall register themselves to the UC_Registration_Request
system.
1.0 The system shall provide two types of login UC_Place_Order_Request
processes, with Email and Phone Number
(OTP).
1.0 Admin shall have the authority to remove UC_Process_Owner_Request
any unauthorized user or owner from the
Department of Information Technology
© University of Gujrat
25
system.
1.0 An owner and user shall log in to the system UC_Login
and can change their password.
1.0 Owners shall update user requests related to UC_Update_Request
agricultural products or services.
1.0 Owners and users shall process different UC_Change_Status
types of updates, such as updating personal
details, farm information, or product listings.
1.0 Owners shall accept, reject, and view UC_View_User_Details
requests based on provided credentials.
1.0 An owner shall search for any user details or UC_Accept_User_Request
product listings. UC_Reject_User_Request
UC_View_User_Request
2.0 Every user will send a request for purchasing UC_Place_Order_Privleged
agricultural products or services.
2.0 An owner shall generate a confirmation UC_Receipt_Generation
receipt and finally fulfill the order.
2.0 A user shall view the status of their requests UC_Serach_Requests
by providing the request number.
2.0 Users shall cancel the booking request for UC_Change_Status
agricultural products or services.
3.0 An action event shall be generated for a UC_Create_Action
corresponding owner when a request is
placed for booking of agricultural products
or services.

2.8. Priorities Requirements:

Para Rank Initial Requirements Use Use Case Name


# Case
ID
1.0 Highest A user shall place an order UC_1 UC_Place_Order
for agricultural products
or services.
1.0 Highest A user shall register UC_2 UC_Registration_Request
themselves to the system.
2.0 Highest A user shall view the UC_3 UC_Serach_Requests
status of their requests by
providing the request
number.
2.0 Mediu Users shall cancel the UC_4 UC_Change_Status
m booking request for

Department of Information Technology


© University of Gujrat
26
agricultural products or
services.
1.0 Mediu The system shall provide UC_5 UC_Place_Order_Request
m two types of login
processes, with Email and
Phone Number (OTP).
1.0 Mediu Admin shall have the UC_6 UC_Process_Owner_Request
m authority to remove any
unauthorized user or
owner from the system.
1.0 Mediu Owners shall accept, UC_7 UC_View_User_Details
m reject, and view requests
based on provided
credentials.
1.0 Mediu Owners shall update user UC_8 UC_Update_Request
m requests related to
agricultural products or
services.
1.0 Mediu Users shall cancel the UC_9 UC_Change_Status
m booking request for
agricultural products or
services.
1.0 Mediu An owner shall search for UC_10 UC_Accept_User_Request
m any user details or product UC_11 UC_Reject_User_Request
listings. UC_12 UC_View_User_Request
2.0 Mediu A user shall view the UC_13 UC_Serach_Orders
m status of their requests by
providing the request
number.
2.0 Mediu An owner shall generate a UC_14 UC_Receipt_Generation
m confirmation receipt and
finally fulfill the order.
1.0 Lowest An owner and user shall UC_15 UC_Login
log in to the system and
can change their
password.
3.0 Lowest An action event shall be UC_16 UC_Create_Action
generated for a
corresponding owner
when a request is placed
for booking of agricultural
products or services.

Department of Information Technology


© University of Gujrat
27
2.9. Requirements Traceability Matrix:

Sr Para System Build Use Case Name Category


# # Specification Text
1 1.0 A user shall place B1 UC_Place_Order Business
an order for
agricultural
products or
services.
2 1.0 A user shall register B1 UC_Registration_Request Business
themselves to the
system.
3 1.0 The system shall B1 UC_Place_Order_Request Business
provide two types
of login processes,
with Email and
Phone Number
(OTP).
4 1.0 Admin shall have B1 UC_Process_Owner_Request Business
the authority to
remove any
unauthorized user
or owner from the
system.
5 1.0 An owner and user B1 UC_Login Business
shall log in to the
system and can
change their
password.
6 1.0 Owners shall update B1 UC_Update_Request Business
user requests related
to agricultural
products or
services.
7 1.0 Owners and users B1 UC_Change_Status Business
shall process
different types of
updates, such as
updating personal
details, farm
information, or
product listings.
8 1.0 Owners shall B1 UC_View_User_Details Business
accept, reject, and
view requests based
Department of Information Technology
© University of Gujrat
28
on provided
credentials.
9 1.0 An owner shall B1 UC_Accept_User_Request Business
search for any user UC_Reject_User_Request
details or product UC_View_User_Request
listings.
10 2.0 Every user will B1 UC_Place_Order_Privleged Business
send a request for
purchasing
agricultural
products or
services.
11 2.0 An owner shall B1 UC_Receipt_Generation Business
generate a
confirmation receipt
and finally fulfill
the order.
12 2.0 A user shall view B1 UC_Serach_Requests Business
the status of their
requests by
providing the
request number.
13 2.0 Users shall cancel B1 UC_Change_Status Business
the booking request
for agricultural
products or
services.
14 3.0 An action event B1 UC_Create_Action Business
shall be generated
for a corresponding
owner when a
request is placed for
booking of
agricultural
products or
services.

2.10. High Level Use case Diagram:


.

Department of Information Technology


© University of Gujrat
29
Fig: 2.2: High Level Use Case Diagram

2.11. Analysis Level Use case Diagram:

Department of Information Technology


© University of Gujrat
30
Fig:2.3: Analysis Level Use Case Diagram

2.12. Use case Description


Users and owners log in to the DigiAgro system to access its functionalities. They can log
in create their personal profiles. Owners also have the additional task of creating profiles
for their agricultural properties to utilize the system effectively.
 Preconditions: The DigiAgro system must be connected to an active network.
 Actors: Admin, Agricultural Product Owners, Users
 Alternate Flows: This includes adding various agricultural products or services to
favorites, looking at reviews and comments or feedbacks about agricultural
products or services, sharing of agricultural products or services with friends and
family members, receiving notifications, and engaging in chats related to
agricultural products or services.

Department of Information Technology


© University of Gujrat
31
 Post-Conditions: Post conditions include sending verification email links after
registration, sending different types of notifications, and enabling users and
owners to perform various activities like editing profiles (both personal and
agricultural product).

Department of Information Technology


© University of Gujrat
32
Chapter 3: Design Document (For Object Oriented Approach)

Department of Information Technology


© University of Gujrat
33
3.1. Introduction:
DigiAgro stands as a leading agricultural platform in Pakistan, linking farmers, suppliers,
and agricultural businesses while providing essential services such as product listings,
expert consultations, farm management tools, and investment opportunities. Grounded in
innovation, DigiAgro has reshaped the agricultural landscape by integrating cutting-edge
technologies for enhanced efficiency and transparency. Supported by a committed team
and a vast agricultural database, it has emerged as the premier choice for all agricultural
needs in Pakistan.

3.2. Domain Model


User:
Individuals who utilize the DigiAgro platform for various purposes such as buying
agricultural products, renting equipment, seeking expert advice, or exploring nearby
agricultural offerings.
Product:
Any item related to agriculture that is listed for sale or rent on the DigiAgro platform.
Products can include seeds, fertilizers, pesticides, machinery, and equipment.
Listing:
A product that is showcased on the DigiAgro platform for either sale or rent by an owner
or a vendor.
Owner/Vendor:
The person or company who owns or supplies a product listed on the DigiAgro platform
for sale or rent.
Expert:
Professionals with specialized knowledge in agriculture who offer consultations and
advice through the DigiAgro platform.
Search:
Functionality within the DigiAgro app enabling users to search for products or experts
based on various criteria such as type, location, price, and expertise.
Favorites:
Feature allowing users to save products or experts they are interested in for future
reference on the DigiAgro platform.
Inquiry:
The process by which a user contacts the owner/vendor or an expert regarding a specific
product or consultation to ask questions or express interest.
Transaction:
The entire process of buying or renting a product or availing consultation services
through the DigiAgro platform, which includes negotiations, agreements, and payments.
Feedback:
Feature enabling users to provide feedback on their experience with the DigiAgro
platform or on specific products and consultations they've interacted with.

Department of Information Technology


© University of Gujrat
34
3.3. System Sequence Diagram

Fig:3.1: System Sequence Diagram

3.4. Sequence Diagram


 The user opens the app and searches for agricultural products.
 The app sends a search request to the server.
 The server processes the request and retrieves matching results from the database.
 The server sends the search results back to the app, which displays them to the
user.
 The user selects a product, and the app requests its details from the server.
 The server retrieves the details from the database and sends them to the app,
which displays them to the user.
 The user contacts the seller through a contact form provided by the app.
 The app sends the message to the server, which forwards it to the seller.
 The seller responds to the message, and the server sends the response back to the
app, which displays it to the user.

3.5. Collaboration Diagram


This collaboration overview outlines the interactions between different actors and
components within the DigiAgro app. Users, Experts, and Vendors engage with the app
to access agricultural products, consultations, and transactions. The app interacts with a
server to process requests and retrieve data, while the server communicates with a
database to manage information about products, users, and transactions. By facilitating

Department of Information Technology


© University of Gujrat
35
these interactions, DigiAgro aims to provide a seamless experience for users seeking
agricultural solutions and transactions.
3.5.1. Contents of Collaboration Diagrams
Actors:
 User
 Expert
 Vendor
Objects:
 Login
 Profile Creation
 Product Database
 Search Engine
 Messaging System
 Inquiry System
 Transaction System
 Feedback System
Interactions:
 The User interacts with the DigiAgro app to search for agricultural products, view
listings, and contact vendors or experts.
 The Expert interacts with the DigiAgro app to provide agricultural consultations,
advice, and expertise to users.
 The Vendor interacts with the DigiAgro app to create and manage product
listings, view inquiries from users, and communicate with potential buyers or
experts.
 The DigiAgro app interacts with the Product Database to retrieve and display
product information to users, vendors, and experts.
 The Search Engine interacts with the Product Database to provide search results
to users based on their search criteria.
 The Messaging System interacts with the DigiAgro app to facilitate
communication between users, vendors, and experts.
 The Inquiry System interacts with the DigiAgro app to manage user inquiries
about products or consultations.
 The Transaction System interacts with the DigiAgro app to enable users to make
purchases or rentals of agricultural products.
 The Feedback System interacts with the DigiAgro app to allow users to provide
feedback and reviews.

3.5.2. Constructs of Collaboration Diagram:

Department of Information Technology


© University of Gujrat
36
Fig:3.2: Constructs of Collaboration Diagram

3.6. Operation Contracts


Operation contracts describe the behavior of a system operationally, and define the
inputs, outputs, and pre-conditions and post-conditions of each operation. They help to
ensure that a system is implemented correctly and that it behaves as expected.
Search for Agricultural Products
 Inputs: search criteria (e.g., product type, price range, location).
 Outputs: list of agricultural products matching the search criteria.
 Pre-conditions: user is logged in and has provided valid search criteria.
 Post-conditions: the system displays a list of agricultural products that match the
user's search criteria.
Create Product Listing
 Inputs: product information (e.g., name, description, price), vendor information
(e.g., contact information).
 Outputs: confirmation message indicating that the product listing has been
created.
 Pre-conditions: user is logged in and has provided valid product and vendor
information.
 Post-conditions: the product listing is created and can be viewed by users on the
app.
Send Message to Vendor
 Inputs: message content, recipient (e.g., vendor), sender information (e.g., contact
information).
 Outputs: confirmation message indicating that the message has been sent.
 Pre-conditions: user is logged in and has provided valid message content and
recipient information.
 Post-conditions: the message is sent to the designated vendor and can be viewed
in the messaging system on the app.

Department of Information Technology


© University of Gujrat
37
Contact Expert for Consultation
 Inputs: user information (e.g., name, email, phone number), message content.
 Outputs: confirmation message indicating that the message has been sent to the
expert.
 Pre-conditions: user is logged in and has selected an expert to contact.
 Post-conditions: the message is sent to the designated expert and can be viewed in
the messaging system on the app.
Save Product to Favorites
 Inputs: product ID.
 Outputs: confirmation message indicating that the product has been saved to
favorites.
 Pre-conditions: user is logged in and has selected a product to save to favorites.
 Post-conditions: the product is saved to the user's favorites list and can be viewed
in the "My Favorites" section of the app.
Schedule Consultation with Expert
 Inputs: expert ID, preferred consultation date and time, user information.
 Outputs: confirmation message indicating that the consultation has been
scheduled.
 Pre-conditions: user is logged in and has selected an expert to consult with.
 Post-conditions: the expert is notified of the scheduled consultation and can
confirm or reschedule the appointment through the messaging system on the app.
Update Product Listing
 Inputs: updated product information (e.g., name, description, price), vendor
information.
 Outputs: confirmation message indicating that the product listing has been
updated.
 Pre-conditions: user is logged in and has selected a product to update.
 Post-conditions: the updated product information is displayed on the app and can
be viewed by users.
Submit Product Feedback
 Inputs: feedback content, user information, product ID.
 Outputs: confirmation message indicating that the feedback has been submitted.
 Pre-conditions: user is logged in and has provided feedback for a product.
 Post-conditions: the vendor or expert is notified of the feedback and can respond
through the messaging system on the app.

Department of Information Technology


© University of Gujrat
38
3.7. Design Class Diagram

Fig:3.3.1: Design Class Diagram

3.7.1. Create Initial Design Classes

Fig:3.3.2: Create Initial Design Classes

Department of Information Technology


© University of Gujrat
39
3.7.2. Designing Boundary Classes
 Mobile App Interface: This class represents the interface of the DigiAgro mobile
app. It includes methods to display agricultural product listings, search for
products, and send inquiries to vendors or experts. Additional features may
include location-based search, push notifications for product updates, and chat
functionalities for user support.
 Email Service: This class represents the email service used by DigiAgro to send
notifications and communications to users. It includes methods to send emails for
various purposes such as order confirmations, password resets, and promotional
campaigns.
 API Gateway: This class represents the interface used by other systems to
interact with DigiAgro's data and services. It includes methods to retrieve
agricultural product data and update product listings.
 Social Media Integration: This class represents the integration of DigiAgro with
social media platforms such as Facebook, Twitter, and Instagram. It includes
methods to share agricultural product listings on social media platforms to reach a
wider audience.
 Search Engine: This class represents the search engine used by DigiAgro to
index and search agricultural product data. It includes methods to optimize search
results, filter search queries based on criteria such as product type and price range,
and handle search errors gracefully.
 Feedback System: This class represents the feedback system used by DigiAgro
to collect and display user feedback on agricultural products, vendors, and the app
itself. It includes methods to manage user reviews, moderate feedback, handle
disputes, and track feedback metrics such as ratings and comments.

3.7.3. Designing Entity Classes

Fig:3.4: Designing Entity Classes

3.7.4. Designing Control Classes

Department of Information Technology


© University of Gujrat
40
Fig:3.5: Designing Control Classes

3.7.5. Identify Persistent Classes


User:
 This class represents a user of the DigiAgro app.
 Attributes: id, name, email, password, phone_number, location, role (e.g., buyer,
farmer, vendor).
 The user data is stored in a database.
Vendor:
 This class represents a vendor who sells agricultural products.
 Attributes: id, name, email, phone_number, location, company_name.
 The vendor data is stored in a database.
Product:
 This class represents an agricultural product listed on the app.
 Attributes: id, name, description, price, location, type, status, vendor_id.
 The product data is stored in a database.
Inquiry:
 This class represents an inquiry made by a user about a product.
 Attributes: id, user_id, product_id, inquiry_date, status.
 The inquiry data is stored in a database.
Feedback:
 This class represents feedback given by a user for a product.
 Attributes: id, user_id, product_id, rating, comment, date.
 The feedback data is stored in a database.
Image:
 This class represents an image associated with a product.
 Attributes: id, product_id, url, description.
 The image data is stored in a database.

3.7.6. Define Class Visibility


Public Classes
These classes are visible to everyone who visits the app.
Product:
 Attributes: id, name, description, price, location, type, status, vendor_id
Department of Information Technology
© University of Gujrat
41
 Description: Represents an agricultural product listed on the app.
 Operations:
 createProduct(name, description, price, location, type, vendor_id): Creates a new
product listing.
 updateProduct(id, name, description, price, location, type, status): Updates an
existing product listing.
 deleteProduct(id): Deletes a product listing.
 viewProduct(id): Views details of a product.
Vendor:
 Attributes: id, name, email, phone_number, location, company_name
 Description: Represents a vendor who sells agricultural products.
 Operations:
 registerVendor(name, email, phone_number, location, company_name): Registers
a new vendor.
 updateVendor(id, name, email, phone_number, location, company_name):
Updates vendor information.
 viewVendor(id): Views details of a vendor.
Inquiry:
 Attributes: id, user_id, product_id, inquiry_date, status
 Description: Represents an inquiry made by a user about a product.
 Operations:
 createInquiry(user_id, product_id, inquiry_date): Creates a new inquiry.
 updateInquiry(id, status): Updates the status of an inquiry.
 viewInquiry(id): Views details of an inquiry.
Feedback:
 Attributes: id, user_id, product_id, rating, comment, date
 Description: Represents feedback given by a user for a product.
 Operations:
 createFeedback(user_id, product_id, rating, comment): Creates new feedback.
 updateFeedback(id, rating, comment): Updates existing feedback.
 deleteFeedback(id): Deletes feedback.
 viewFeedback(id): Views details of feedback.
Private Classes
These classes are visible only to the user who owns them or to other users who have been
granted access by the owner.
User:
 Attributes: id, name, email, password, phone_number, location
 Description: Represents a user of the app.
 Operations:
 registerUser(name, email, password, phone_number, location): Registers a new
user.
 updateUser(id, name, email, phone_number, location): Updates user information.
 deleteUser(id): Deletes a user account.

Department of Information Technology


© University of Gujrat
42
 viewUser(id): Views details of a user.
Notification:
 Attributes: id, user_id, message, date
 Description: Represents a notification sent to a user.
 Operations:
 createNotification(user_id, message): Creates a new notification.
 viewNotifications(user_id): Views all notifications for a user.
 deleteNotification(id): Deletes a notification.
Protected Classes
These classes are visible only to its subclasses and to the classes in the same package.
Search:
 Attributes: id, user_id, location, type, price_range
 Description: Represents a search for a product made by a user.
 Operations:
 createSearch(user_id, location, type, price_range): Creates a new search.
 updateSearch(id, location, type, price_range): Updates an existing search.
 deleteSearch(id): Deletes a search.
 viewSearch(id): Views details of a search.
Package Classes
 These classes are visible only to other classes within the same package.
 Service:
 Description: Provides business logic and accesses the database.
 Examples: ProductService, UserService
 Operations:
 performBusinessLogic(): Executes business logic operations.
 accessDatabase(): Handles database access operations.
Util:
 Description: Provides utility methods that can be used by other classes within the
package.
 Operations:
 performUtilityFunction(): Executes utility functions.

Definition and description of Operations


getProductDetails()
 Description: Returns the details of a product, such as the title, description,
location, price, and status.
 Inputs: None
 Outputs: Object containing product details
 Pre-conditions: Product exists in the system
 Post-conditions: Product details are retrieved and displayed to the user
updateProductDetails(productDetails)
 Description: Updates the details of a product, such as the title, description,
location, price, and status.

Department of Information Technology


© University of Gujrat
43
 Inputs: Object containing new product details
 Outputs: Confirmation message or error message
 Pre-conditions: User is logged in and has the necessary permissions; product
exists
 Post-conditions: Product details are updated in the system
deleteProduct(productId)
 Description: Deletes a product from the system.
 Inputs: Product ID
 Outputs: Confirmation message or error message
 Pre-conditions: User is logged in and has the necessary permissions; product
exists
 Post-conditions: Product is removed from the system
getVendorDetails()
 Description: Returns the details of a vendor, such as the name, description,
location, and phone number.
 Inputs: None
 Outputs: Object containing vendor details
 Pre-conditions: Vendor exists in the system
 Post-conditions: Vendor details are retrieved and displayed to the user
updateVendorDetails(vendorDetails)
 Description: Updates the details of a vendor, such as the name, description,
location, and phone number.
 Inputs: Object containing new vendor details
 Outputs: Confirmation message or error message
 Pre-conditions: User is logged in and has the necessary permissions; vendor exists
 Post-conditions: Vendor details are updated in the system
deleteVendor(vendorId)
 Description: Deletes a vendor from the system.
 Inputs: Vendor ID
 Outputs: Confirmation message or error message
 Pre-conditions: User is logged in and has the necessary permissions; vendor exists
 Post-conditions: Vendor is removed from the system
registerUser(userDetails)
 Description: Registers a new user in the system.
 Inputs: Object containing user details (name, email, password, phone number)
 Outputs: Confirmation message or error message
 Pre-conditions: User provides valid registration details
 Post-conditions: User is added to the system
login(email, password)
 Description: Logs a user into the system.
 Inputs: Email and password
 Outputs: Authentication token or error message
 Pre-conditions: User provides valid login credentials

Department of Information Technology


© University of Gujrat
44
 Post-conditions: User is authenticated and can make subsequent requests
updateUserProfile(userDetails)
 Description: Updates the details of a user's profile, such as the name, email, and
phone number.
 Inputs: Object containing new user details
 Outputs: Confirmation message or error message
 Pre-conditions: User is logged in
 Post-conditions: User profile details are updated in the system
resetPassword(email)
 Description: Resets a user's password.
 Inputs: User's email address
 Outputs: Confirmation message or error message
 Pre-conditions: User exists in the system
 Post-conditions: New password is generated and sent to the user's email
addProduct(productDetails)
 Description: Adds a new product to the system.
 Inputs: Object containing product details (title, description, location, price, status)
 Outputs: Confirmation message or error message
 Pre-conditions: User is logged in and has the necessary permissions
 Post-conditions: Product is added to the system
makeBooking(buyerId, productId)
 Description: Makes a new booking for a product.
 Inputs: Buyer ID and Product ID
 Outputs: Confirmation message or error message
 Pre-conditions: User is logged in; product and buyer exist in the system
 Post-conditions: Booking is created in the system
cancelBooking(bookingId)
 Description: Cancels an existing booking for a product.
 Inputs: Booking ID
 Outputs: Confirmation message or error message
 Pre-conditions: Booking exists in the system
 Post-conditions: Booking is canceled and removed from the system
getBookingDetails(bookingId)
 Description: Returns the details of a booking, such as the buyer ID, product ID,
booking date, and status.
 Inputs: Booking ID
 Outputs: Object containing booking details
 Pre-conditions: Booking exists in the system
 Post-conditions: Booking details are retrieved and displayed to the user

Identify Operations
Crop Class

Department of Information Technology


© University of Gujrat
45
 getCropDetails(): Returns the details of a crop (title, description, location, price,
status).
 updateCropDetails(): Updates the details of a crop (title, description, location,
price, status).
 deleteCrop(): Deletes a crop from the system.
 addCropImages(): Adds images for a crop.
User Class
 registerUser(): Registers a new user in the system.
 login(): Logs a user into the system.
 updateUserProfile(): Updates the details of a user's profile (name, email, phone
number, location).
 resetPassword(): Resets a user's password.
Seller Class
 registerSeller(): Registers a new seller in the system.
 updateSellerProfile(): Updates the details of a seller's profile (name, email, phone
number, location).
 addCrop(): Adds a new crop to the system.
 deleteCrop(): Deletes a crop from the system.
Booking Class
 makeBooking(): Makes a new booking for renting machinery or consultation
services.
 cancelBooking(): Cancels an existing booking for renting machinery or
consultation services.
 getBookingDetails(): Returns the details of a booking (buyer ID, crop ID, booking
date, status).
Review Class
 addReview(): Adds a new review for a crop or service.
 getReviews(): Returns a list of reviews for a crop or service.
 Payment Class
 makePayment(): Makes a payment for a booking or purchase.
 getPaymentDetails(): Returns the details of a payment (amount, payment method,
status).
Search Class
 searchCrops(): Searches for crops based on various criteria (location, type, price
range).
 searchMachinery(): Searches for machinery available for rent based on various
criteria (location, type, availability).
Notification Class
 sendNotification(): Sends a notification to a user or seller.
 getNotifications(): Returns a list of notifications for a user or seller.

3.7.7. Design Class Relationships

Department of Information Technology


© University of Gujrat
46
Fig:3.6: Design Class Relationship

3.9. Data Model


Collections
 users Collection
Each document in the users collection represents a user of the DigiAgro app.
Attributes:
 id (string): a unique identifier for the user
 name (string): the user's name
 email (string): the user's email address
 phone (string): the user's phone number
 password (string): a hashed version of the user's password
 dateRegistered (timestamp): the date and time the user created their
account on DigiAgro
 crops Collection

Department of Information Technology


© University of Gujrat
47
Each document in the crops collection represents a crop listed on the DigiAgro
app.
Attributes:
 id (string): a unique identifier for the crop
 title (string): a short title for the crop listing
 description (string): a longer description of the crop
 type (string): the type of crop (e.g., wheat, rice, maize)
 price (number): the price of the crop
 quantity (number): the available quantity of the crop (e.g., in kilograms,
tons)
 photos (array of objects): an array of objects representing the photos
associated with the crop. Each object has the following attributes:
 url (string): the URL of the photo
 location (object): an object representing the location of the crop. It has the
following attributes:
 city (string): the city where the crop is located
 state (string): the state or province where the crop is located
 country (string): the country where the crop is located
 sellerId (string): the ID of the seller who listed the crop
 sellers Collection
Each document in the sellers collection represents a seller on DigiAgro.
Attributes:
 id (string): a unique identifier for the seller
 name (string): the seller’s name
 email (string): the seller’s email address
 phone (string): the seller's phone number
 bookings Collection
Each document in the bookings collection represents a booking made by a buyer
for a crop or service on DigiAgro.
Attributes:
 id (string): a unique identifier for the booking
 buyerId (string): the ID of the buyer who made the booking
 cropId (string): the ID of the crop that was booked
 bookingDate (timestamp): the date and time the booking was made
 status (string): the status of the booking (e.g., pending, confirmed,
cancelled)
 reviews Collection
Each document in the reviews collection represents a review that a user has left
for a crop or a seller on DigiAgro.
Attributes:
 id (string): a unique identifier for the review
 userId (string): the ID of the user who left the review
 cropId (string): the ID of the crop that the review is for (optional)
 sellerId (string): the ID of the seller that the review is for (optional)
Department of Information Technology
© University of Gujrat
48
 content (string): the content of the review
 rating (number): the rating given by the user (out of 5 stars)
 timestamp (timestamp): the date and time the review was left
 cropImages Collection
Each document in the cropImages collection represents an image for a crop listed
on DigiAgro.
Attributes:
 id (string): a unique identifier for the image
 cropId (string): the ID of the crop that the image belongs to
 url (string): the URL where the image is stored
 notifications Collection
Each document in the notifications collection represents a notification that has
been generated by DigiAgro for a user.
Attributes:
 id (string): a unique identifier for the notification
 userId (string): the ID of the user who should receive the notification
 type (string): the type of the notification (e.g., new crop listing, message
received, etc.)
 content (string): a short message describing the notification
 timestamp (timestamp): the date and time the notification was generated
 messages Collection
Each document in the messages collection represents a message that has been sent
between a user and a seller on DigiAgro.
Attributes:
 id (string): a unique identifier for the message
 senderId (string): the ID of the user or seller who sent the message
 recipientId (string): the ID of the user or seller who received the message
 content (string): the content of the message
 timestamp (timestamp): the date and time the message was sent
 userFavorites Collection
Each document in the userFavorites collection represents a user's list of favorite
crops on DigiAgro.
Attributes:
 id (string): a unique identifier for the user's favorites
 userId (string): the ID of the user who has favorited the crops
 favorites (array of strings): an array of crop IDs that the user has favorited

Department of Information Technology


© University of Gujrat
49
Chapter 4: User Interface Design

Department of Information Technology


© University of Gujrat
50
4.1. Introduction
A user interface design consists of three main parts:
Page elements should be visualized on paper before building them in the computer. Just
as you draw a site map to plan the site, use cartoons and storyboards to begin blocking
out the site’s appearance and navigational scheme.
1. Site maps
2. Storyboards
3. Navigational maps
4. Traceability Matrix

4.2. Site Maps


Home
 Logo
 Search Bar
 Featured Crops
 Categories (Grains, Fruits, Vegetables, Livestock, Dairy)
 Testimonials
Search Results
 List of Crops (Filtered by Location, Type, and Price)
 Crop Thumbnails (Images, Price, Brief Description)
 Pagination
Crop Details
 Crop Images
 Detailed Description
 Quantity Available
 Price per Unit
 Seller Information
 Book Now Button
Contact
 Contact Form (Email, Message)
 Submit Button
About Us
 App Information
 Team Members
FAQ
 Frequently Asked Questions
User Profile
 User Information
 Booked Crops
 Saved Crops
 Sign In / Sign Up
 Authentication Forms
Seller Profile

Department of Information Technology


© University of Gujrat
51
 Seller Information
 Listed Crops
 Add New Crop
 Update Crop Details
 Delete Crop
Reviews
 User Reviews
 Add Review
 Edit Review
Notifications
 View Notifications
 Notification Settings

4.3. Story boards


Scene 1: User Searches for Agricultural Products
Environment: User is using the DigiAgri app on their smartphone while sitting at
home.
1. Frame 1
 Visual: User sees the DigiAgri app's logo and a search bar on the app's
landing page.
 Tactile: User taps on the search bar.
 Caption: User opens the DigiAgri app to start searching for agricultural
products.
2. Frame 2
 Visual: The search bar becomes active, ready for input.
 Tactile: User types "wheat seeds" into the search bar.
 Caption: User enters "wheat seeds" as the desired product.
3. Frame 3
 Visual: App displays suggested products and prompts the user to select
"wheat seeds."
 Tactile: User selects "wheat seeds" from the suggestions.
 Caption: User selects "wheat seeds" from the suggestions provided by the
app.
Scene 2: Search Results and Product Selection
Environment: User is still using the app on their smartphone at home.
4. Frame 4
 Visual: User sees a list of product thumbnails and images on the search results
page.
 Tactile: User scrolls through the list using touch gestures.
 Caption: User browses through the product listings for wheat seeds.
5. Frame 5
 Visual: User taps on a product thumbnail to view detailed information.
 Tactile: User selects a product by tapping on its thumbnail.

Department of Information Technology


© University of Gujrat
52
 Caption: User selects a product to see more details.
6. Frame 6
 Visual: App displays the selected product's details, including images,
description, and price.
 Caption: User views the detailed information of the selected product.
Scene 3: Purchase Confirmation
Environment: User is still at home, using the app on their smartphone.
7. Frame 7
 Visual: User sees the product details and a "Buy Now" button.
 Tactile: User taps on the "Buy Now" button.
 Caption: User decides to purchase the product.
8. Frame 8
 Visual: User provides personal information (name, address) and payment
details.
 Tactile: User enters their information and confirms the purchase.
 Caption: User fills out the purchase form and submits it.
9. Frame 9
 Visual: App confirms the purchase, displays order details, and provides a
confirmation message.
 Caption: User receives confirmation of their purchase.
Scene 4: Contacting Seller
Environment: User remains at home, using the app on their smartphone.
10. Frame 10
 Visual: User sees the "Contact" button on the product details page.
 Tactile: User taps on the "Contact" button.
 Caption: User decides to contact the seller for more details.
11. Frame 11
 Visual: User enters a message and sends a contact request to the seller.
 Tactile: User types a message and sends it.
 Caption: User sends a message to the seller.
12. Frame 12
 Visual: App sends the message and displays a success notification.
 Caption: User receives confirmation that their message has been sent.
Scene 5: Emotion and Experience
Environment: User is still at home, using the app on their smartphone.
13. Frame 13
 Visual: User sees the successful purchase confirmation and communication
options.
 Caption: User feels accomplished after successfully purchasing a product and
contacting the seller.
14. Frame 14
 Visual: User experiences a sense of accomplishment and satisfaction.
 Caption: User appreciates the ease and convenience of using the DigiAgri
app.
Department of Information Technology
© University of Gujrat
53
4.4. Navigational maps:
Home Screen
 Search Bar → Search Page
 Featured Products Carousel → Product Details
 Categories → Filtered Search Results
Search Page
 Filters → Update Search Results
 Product Thumbnail → Product Details
Product Details
 Seller Information → Contact Options
 Buy Now Button → Purchase Page
Purchase Page
 Fill Purchase Form → Confirm Purchase
 Back Button → Product Details
Contact Options
 Email → Open Email App
 Phone → Initiate Call
 WhatsApp → Initiate Chat
User Profile
 Purchased Products → Purchase History
 Saved Products → Saved Listings
Authentication
 Sign In Form → Authenticate User
 Sign Up Form → Create New Account
Static Pages
 About Us
 FAQ

4.5 Trace-ability Matrix

Table:4.1: Trace-ability Matrix


USE UI ID PRIORITY USE DB ELABORTED DEPENDENT
FEATURE CASE CASE TABL USE-CASE CLASSES
ID CROSS E ID ID
REF
PRODUCT UC001 UI001 HIGH UC002, SEARCH
SEARCH UC005 CLASS
BUYING UC002 UI002 HIGH UC001 UC003 BUYING
PRODUCT CLASS
VIEW UC003 UI003 MEDIUM UC001 DETAILS
Department of Information Technology
© University of Gujrat
54
PRODUCT CLASS
DETAILS
SAVE UC004 UI004 LOW USER CLASS
FAVORITE
PRODUCT
LOGIN UC005 UI005 HIGH UC001, AUTH CLASS
UC004
REGISTER UC006 UI006 MEDIUM UC005 AUTH CLASS

Department of Information Technology


© University of Gujrat
55
Chapter 5: Software Testing

5.1 Introduction:
Ensuring the reliability and functionality of DigiAgro, our innovative agricultural
management and product search app, is a critical undertaking. Thorough software testing
is paramount in guaranteeing a seamless experience for users managing their agricultural
activities and searching for products. By rigorously evaluating each feature, interaction,
Department of Information Technology
© University of Gujrat
56
and interface, we are committed to delivering a flawless platform that empowers both
farmers and agricultural suppliers. Our testing procedures encompass functionality,
usability, security, and compatibility checks to certify that DigiAgro meets the highest
standards of performance and user satisfaction.
Following are standard artifacts, which must be included in this deliverable:
1. Test Plan
2. Test Design Specification
3. Test Case Specification
4. Test Procedure Specification
5. Test Item Transmittal Report
6. Test Log
7. Test Incident Report
8. Test Summary Report

5.2. Test plan

7.2.1. Purpose
The purpose of the Test Plan is to outline the scope, approach, resources, and schedule of
the testing activities for DigiAgro. It identifies the items to be tested, the features to be
tested, the testing tasks to be performed, the personnel responsible for each task, and the
associated risks.
7.2.2. Outline
Introduction
 Purpose
 Scope
 Objectives
Test Items
 DigiAgri app (iOS and Android versions)
 Backend API
 Database
Features to be Tested
 Home Screen navigation
 Product Search functionality
 Product Details display
 Purchase process
 User Authentication (Sign In/Sign Up)
 User Profile management
 Messaging and Notifications
Features Not to be Tested
 Third-party integrations (beyond initial connection checks)
 App store interactions
Approach
 Functional Testing
 Usability Testing
Department of Information Technology
© University of Gujrat
57
 Security Testing
 Compatibility Testing
Pass/Fail Criteria
 All critical bugs must be resolved before release.
 No high-priority issues should be open at the time of release.
Suspension Criteria and Resumption Requirements
 Testing will be suspended if critical functionality is broken.
 Resumption will occur once the issue is resolved and verified.
Test Deliverables
 Test Plan
 Test Design Specification
 Test Case Specification
 Test Procedure Specification
 Test Logs
 Test Incident Reports
 Test Summary Report
Environmental Needs
 Testing devices (smartphones, tablets)
 Simulated user data

5.3. Test design specification


5.3.1 Purpose
The purpose of the Test Design Specification is to define the test designs for validating
the functionalities of DigiAgro. It provides detailed information about the test cases, test
conditions, and the expected results.
5.3.2 Outline
1. Introduction
 Purpose
 Scope
2. Test Design Specification Identifier
 TDS-001
3. Features to be Tested
 Home Screen Navigation
 Product Search and Filtering
 Product Details Display
 Purchase Workflow
 User Authentication
 User Profile Management
 Messaging and Notifications
4. Approach Refinements
 Use exploratory testing alongside scripted testing for thorough coverage.
5. Test Identification
 TD-001: Home Screen Tests

Department of Information Technology


© University of Gujrat
58
 TD-002: Product Search Tests
 TD-003: Product Details Tests
 TD-004: Purchase Workflow Tests
 TD-005: User Authentication Tests
 TD-006: User Profile Tests
 TD-007: Messaging Tests
6. Feature Pass/Fail Criteria
 Each feature must pass all critical and high-priority test cases.

5.4. Test Case Specification


5.4.1 Purpose
The purpose of the Test Case Specification is to outline detailed test cases for validating
the functionalities of DigiAgro. Each test case includes specific inputs, execution
conditions, and expected results.
5.4.2 Outline
 Introduction
 Purpose
 Scope
 Test Case Specification Identifier
 TCS-001
 Test Cases
Test Case ID: TC-001
Test Case Name: Home Screen Navigation
Description: Verify the navigation on the home screen works correctly.
Preconditions: User is on the home screen.
Test Steps:
 Tap on Search Bar
 Tap on a Featured Product
 Tap on a Category
Expected Results:
 Navigates to Search Page
 Navigates to Product Details
 Updates Search Results based on Category
Test Case ID: TC-002
Test Case Name: Product Search
Description: Verify product search functionality.
Preconditions: User is on the Search Page.
Test Steps:
 Enter search criteria
 Apply filters
View search results Expected Results:
 Search results match criteria
 Filters apply correctly
 Correct results displayed
Department of Information Technology
© University of Gujrat
59
5.5. Test procedure specification
5.5.1 Purpose
The purpose of the Test Procedure Specification is to define the step-by-step procedures
for executing the test cases outlined in the Test Case Specification.
5.5.2 Outline
 Introduction
 Purpose
 Scope
 Test Procedure Specification Identifier
 TPS-001
 Test Procedures
 Test Procedure ID: TP-001
 Test Procedure Name: Home Screen Navigation Testing
 Purpose: Validate home screen navigation.
 Steps:
 Launch DigiAgri app.
 Tap on Search Bar.
 Verify navigation to Search Page.
 Tap on a Featured Product.
 Verify navigation to Product Details.
 Tap on a Category.
 Verify updated Search Results.

5.6. Test item transmittal report


5.6.1 Purpose
The purpose of the Test Item Transmittal Report is to document the release of test items
for testing.
5.6.2 Outline

 Introduction
 Purpose
 Scope
 Test Item Transmittal Report Identifier
 TITR-001
 Transmittal Report
 Date: 24 May 2024
 Test Items: DigiAgro app v1.0
 Transmitted By: Muhammad Moiz Ali
 Comments: Initial release for functional and usability testing.
Department of Information Technology
© University of Gujrat
60
5.7. Test log
5.7.1 Purpose
The purpose of the Test Log is to record the execution of tests.
5.7.2 Outline
 Introduction
 Purpose
 Scope
 Test Log Identifier
 TL-001
 Test Execution Log
 Date: 14 May 2024
 Test Case ID: TC-001
 Tester: Yasir Ali
 Test Result: Pass
 Comments: Navigation functions as expected.
 Date: 14 May 2024
 Test Case ID: TC-002
 Tester: Yasir Ali
 Test Result: Fail
 Comments: Search results do not update correctly.

5.8. Test incident report


5.8.1 Purpose
The purpose of the Test Incident Report is to document any incidents during testing.
5.8.2 Outline
 Introduction
 Purpose
 Scope
 Test Incident Report Identifier
 TIR-001
 Incident Report
 Date: 14 May 2024
 Test Case ID: TC-002
 Incident Description: Search results fail to update correctly when filters are
applied.
 Steps to Reproduce:
o Navigate to Search Page.
o Enter search criteria.

Department of Information Technology


© University of Gujrat
61
o Apply filters.
o Observe incorrect results.
 Expected Result: Correct results based on filters.
 Actual Result: Incorrect results displayed.
 Status: Open
 Assigned To: Yasir Ali

5.9. Test summary report


5.9.1 Purpose
The purpose of the Test Summary Report is to summarize the results of testing.
5.9.2 Outline
 Introduction
 Purpose
 Scope
 Test Summary Report Identifier
 TSR-001
 Summary
 Date: [14 May 2024]
 Testing Period: [15 May, 2024] to [23 May 2024]
 Tested Items: DigiAgri app v1.0
 Test Results:
o Total Test Cases: 50
o Passed: 45
o Failed: 5
 Defects:
o Critical: 1
o High: 2
o Medium: 1
o Low: 1
 Conclusion: DigiAgri app is mostly functional with some critical issues
needing resolution

5.9.3. Summary of activities


This section provides a concise overview of the testing activities conducted for the
DigiAgro app. This summary outlines the testing phases, methodologies, and techniques
employed throughout the testing process. It highlights significant tasks, milestones, and
accomplishments, providing stakeholders with a clear understanding of the testing
journey. By summarizing the activities, this section offers insight into the rigor and depth
of testing efforts, ensuring transparency and accountability in the quality assurance
process for the DigiAgro app.
1.9.2. Approvals
Table:5.1: Approvals
Department of Information Technology
© University of Gujrat
62
Name Title Signature Date

5.10. App Screenshots

Department of Information Technology


© University of Gujrat
63
Department of Information Technology
© University of Gujrat
64
Department of Information Technology
© University of Gujrat
65

You might also like