Professional Documents
Culture Documents
SRS Agriculture Yield APP Ver 1.0
SRS Agriculture Yield APP Ver 1.0
SRS Agriculture Yield APP Ver 1.0
DEPARTMENT OF COMPUTER SCIENCE &
INFORMATION TECHNOLOGY
Agriculture Yield App
Software Requirements Specification
Version 1.0
17/01/2019
Prepared By
Husnain Usman
Arsalan Anjum
Hamza Zubair
Agriculture Yield App
ii
Agriculture Yield App
Revision History
Document Approval
The following Software Requirements Specification has been accepted and approved by the
following:
Signature Printed Name Title Date
iii
Agriculture Yield App
Table of Contents
REVISION HISTORY......................................................................................................................................................II
DOCUMENT APPROVAL..............................................................................................................................................II
1. INTRODUCTION..........................................................................................................................................................1
1.1 PURPOSE.....................................................................................................................................................................1
1.2 SCOPE.........................................................................................................................................................................1
1.3 DEFINITIONS, ACRONYMS, AND ABBREVIATIONS......................................................................................................1
1.4 REFERENCES...............................................................................................................................................................1
1.5 OVERVIEW..................................................................................................................................................................1
2. GENERAL DESCRIPTION..........................................................................................................................................2
2.1 PRODUCT PERSPECTIVE..............................................................................................................................................2
2.2 PRODUCT FUNCTIONS.................................................................................................................................................2
2.3 USER CHARACTERISTICS............................................................................................................................................2
2.4 GENERAL CONSTRAINTS............................................................................................................................................2
2.5 ASSUMPTIONS AND DEPENDENCIES...........................................................................................................................2
3. SPECIFIC REQUIREMENTS......................................................................................................................................2
3.1 EXTERNAL INTERFACE REQUIREMENTS.....................................................................................................................3
3.1.1 User Interfaces..................................................................................................................................................3
3.1.2 Hardware Interfaces..........................................................................................................................................3
3.1.3 Software Interfaces............................................................................................................................................3
3.1.4 Communications Interfaces...............................................................................................................................3
3.2 FUNCTIONAL REQUIREMENTS....................................................................................................................................3
3.2.1Functional Requirement 1
3.2.2Functional Requirement 2..................................................................................................................................3
3.3 USE CASES.................................................................................................................................................................3
3.3.1 Use Case #1.......................................................................................................................................................3
3.3.2 Use Case #2.......................................................................................................................................................4
3.4 NONFUNCTIONAL REQUIREMENTS............................................................................................................................4
3.4.1 Performance......................................................................................................................................................4
3.4.2 Reliability...........................................................................................................................................................4
3.4.3 Availability.........................................................................................................................................................4
3.4.4 Security..............................................................................................................................................................4
3.4.5 Maintainability..................................................................................................................................................4
3.4.6 Portability..........................................................................................................................................................4
3.5 INVERSE REQUIREMENTS...........................................................................................................................................4
3.6 DESIGN CONSTRAINTS................................................................................................................................................4
3.7 LOGICAL DATABASE REQUIREMENTS........................................................................................................................4
3.8 OTHER REQUIREMENTS..............................................................................................................................................4
4. ANALYSIS MODELS....................................................................................................................................................4
iv
Agriculture Yield App
4.1 SEQUENCE DIAGRAMS................................................................................................................................................5
4.3 DATA FLOW DIAGRAMS (DFD).................................................................................................................................5
4.2 STATETRANSITION DIAGRAMS (STD)......................................................................................................................5
5. CHANGE MANAGEMENT PROCESS......................................................................................................................5
v
Agriculture Yield App
1. Introduction
This project will build an expert system that will guide the local farmers in planting the right kind
crops in their land based on the weather feed and land characteristics (soil type, minerals, salinity,
moisture etc.), so they can increase their yield.
1.1 Purpose
This document intends to cover all the basics so that we can give a clear idea about our project to
the targeted audience. also, the intended audience is going to be the users (farmers, soil
department, fertilizer companies).
1.2 Scope
This project will build an expert system that will guide the local farmers in planting the right kind
crops in their land based on the weather feed and land characteristics (soil type, minerals, salinity,
moisture etc.), so they can increase their yield.
1.3 Definitions, Acronyms, and Abbreviations
Android studio: this is a tool to develop the android based applications.
Db:(database/dataset) all the data.
Use Case: this diagram will describe the actions that will be performed in this application.
1.4 SRS Outline
This document helps us understand what the purpose of the project is. also, the scope is defined
which will help the developer with everything. Functionalities are discussed and use case diagrams,
dfds, stds are there to help understand the flow of the project.
2. General Description
the product is agriculture yield app and this will tell what kind of crop to cultivate on a farming
land based on its characteristics the requirements for this app are very simple we are going to need
the mineral data about the land then with the help of that data we will be able to tell the user what
kind of crop to plant on the land also we will require live weather feed to suggest when to water the
crops. We will also require info about the kind of crop planted because it will tell that what kind of
fertilizer will the user be able to use on this crop.
1
Agriculture Yield App
2.1 Product Perspective
this is one of a kind apps and its selfcontained product. Under construction>>>
Describe the context and origin of the product being specified in this SRS. For example, state
whether this product is a followon member of a product family, a replacement for certain existing
systems, or a new, selfcontained product. If the SRS defines a component of a larger system, relate
the requirements of the larger system to the functionality of this software and identify interfaces
between the two. A simple diagram that shows the major components of the overall system,
subsystem interconnections, and external interfaces can be helpful.
2.2 Product Functions
1. Land characteristics
2. Seasons
3. Time period
4. Weather
5. Calculating output
2.3 User Classes and Characteristics
The user class which is going to have access to this app is mostly farmers they may have one small
piece of land or even a big agriculture land. people with jobs can also access this because of its
easy user interface. Also, developers will have access to the data set and will be able to performs
updates on it. The farmer will have access to the data set and some of the forms but will not be able
to update the data he just will be able to make use of the data.
2.4 General Constraints
The things which must be kept in mind that the software must not be made that difficult so that the
users may easily interact with the software. Minimum memory to operate the software so that it may
not lag should be 512 mb ram. Languages like “English and Urdu” must be there so for farmers it
may be easy to operate the application. For visual effects it must be attractive also in resolution
wise. Feedback for the users must be there so if they want any change in the application in future or
they find any problem while using application so they give us feedback. For security purpose the
system must be secure so that any unauthorized person may not access that application.
2.5 Assumptions and Dependencies
Target platform should be only android smart phones.
app should be installed on the phone.
There should be a stable Internet connection.
Operating system of the device should be uptodate.
Smart phone should have modern RAM and CPU.
2
Agriculture Yield App
3. Specific Requirements
LAND CHARACTERISTCS:
A land characteristic is an attribute of land that can be measured or estimated.
According to our app our land characteristics defines & recognize that whether we can
cultivate that land or not.
SEASONS:
Checking the current type of season which leads to define which crops can be fertilized
according to current season.
FERTILIZERS:
Identifying which type of fertilizers to use according to crops
TIME PERIOD:
This will tell us the exact time period the crop should be cultivated and harvested.
WEATHER:
Checking the weather capability and providing us the information regarding when to water
crops
CALCULATING OUTPUT:
Processing the gathered information and calculating the output.>
3.1 External Interface Requirements
3.1.1 User Interfaces
The Graphical User Interface GUI which is being used, on the front login page will be showed.
Once the user has login to his account then by entering any specific data of land it will show the
information of land that how much minerals in that land are present. The results of the data will be
in a tabular/article forms with picture guidance as well.
3.1.2 Hardware Interfaces
The hardware which will be used would be android mobile having 4 GB of ram with a small GPU.
3
Agriculture Yield App
3.1.3 Software Interfaces
Software Interfaces like the version of ANDROID would be starting from 5.0 to latest version which
is Oreo 8.0 and higher. It would be connected to MY SQL for the data. This system would be
connected to real time database.
3.2Functional Requirements
3.2.1Functional Requirement 1:
LAND CHARACTERISTCS:
Introduction:
A land characteristic is an attribute of land that can be measured or estimated.
According to our app our land characteristics defines & recognize that whether we can cultivate
that land or not.
Inputs:
land area
minerals
Processing:
check area and minerals from database.
check whether land can be cultivated or not.
Output:
If land can cultivate it will proceed to next stage.
If not, it will display message “land can’t be cultivated.
3.2.2Functional Requirement 2:
SEASONS:
Introduction:
Checking the current type of season which leads to define which crops can be fertilized according to
current season.
Inputs:
Enter current season
Processing:
Check the crops that can be cultivated from data base.
4
Agriculture Yield App
Initiate those crops name to output stage
Output:
If land can cultivate it will proceed to next stage.
If not, it will display message “land can’t be cultivated”
3.2.3Functional Requirement 3:
FERTILIZERS:
Introduction:
Identifying which type of fertilizers to use according to crops
Inputs:
Enter the type of crop
Processing:
Enter the type of crop into the database and check according to the crop which
type of fertilizer to use.
Check the amount and type of fertilizer according to the crop
Output:
Display the type of fertilizer to use
3.2.4Functional Requirement 4:
TIME PERIOD:
Introduction:
This will tell us the exact time period the crop should be cultivated and harvested.
Inputs:
Enter type of crop and fertilizer.
Processing:
5
Agriculture Yield App
Calculate the remaining time of the crop to be fertilized by entering the
gathered data from the database
Output:
Display the remaining time of the crop to be fertilized in the form of figures.
3.2.5Functional Requirement 5:
WEATHER:
Introduction:
Checking the weather capability and providing us the information regarding when to water crops
Inputs:
What kind of weather is it?
Processing:
check area and minerals from database.
check whether land can be cultivated or not.
Output:
If land can cultivate it will proceed to next stage.
If not, it will display message “land can’t be cultivated”
3.2.6Functional Requirement 6:
CALCULATING OUTPUT:
Introduction:
Processing the gathered information and calculating the output.
Inputs:
What kind of crop is planted and what phase is it in.
Processing:
6
Agriculture Yield App
Checks the data set for information and will let the farmer know that
how much output will there be according to the area
Output:
The output will be the amount of crop that is going to be cultivated from
the land.
3. Analysis Models
3.3 Use Cases
3.3.1 Use Case #1
Table 1: Use Case
ID Registration
Description To use the application features the actor must be registered in which it will
ask his name, contact number, id and password to login to the application.
Otherwise he may not use the application.
Actors Farmer
Preconditions The device must application installed to use the features
Basic Steps In this while you have made an account, next time it will verify your account
by entering your unique password. Password is required because no other
unauthorized person may login.
Alternate Steps
Exceptions In this if any field is missing while making an account it will give an error to
enter complete information.
7
Agriculture Yield App
Business This is a free application it would not matter if the land is less or more you
validations/Rules can get the information.
Postconditions
3.3.2 Use Case #2
Table 2: Use Case
ID Verification
Description In this if you have made an account it will ask to enter your email address and
password. It is for verification that you are an authorized user who will use
the application features. If there any other person tries to login, he may not
use the application because he is not a authorized person.
Actors Farmer
Preconditions The application must be installed on the device and you must know your id
and password.
Basic Steps If the person is registered for the use of application then whenever he enters
the password and id no verification error will occur.
Alternate Steps
Exceptions An error will come if he may not enter the write id or password.
Business This is a free application it would not matter if the land is less or more you
validations/Rules can get the information.
Postconditions
3.3.3 Use Case #3
8
Agriculture Yield App
Table 3: Use Case
ID Login
Description Whenever a person wants to use the application features or he wants to get the
information he must be login. He will be login if he has made the account.
Actors Farmer
Preconditions The application must be installed on the device. He must know his id and
password.
Basic Steps To login he must enter the id and password after that if he is authorized then
he logins to the application.
Alternate Steps
Exceptions If he enters the wrong information then error will come so that he must enter
the correct information
Business This is a free application it would not matter if the land is less or more you
validations/Rules can get the information
Postconditions
3.3.4 Use Case #4
Table 4: Use Case
ID Function
Description Whether the land can be cultivated or not. In which season the crop is most
suitable to cultivate. It tells which fertilizers are most suitable for every crop
for cultivation. This application will tell the estimated time for crop to be
cultivated on the land. This application will be connected to the RSS feed
which will inform when to water the crops
Actors Farmer
Preconditions The application must be installed on the device. And the person knows his id
and password.
Basic Steps Usual flow of the use case indicating the various steps in it
9
Agriculture Yield App
Alternate Steps
Exceptions He must enter the correct data to get accurate information reading to land
where wants to grow the crop.
Business This is a free application it would not matter if the land is less or more you
validations/Rules can get the information.
Postconditions
3.3.5 Use Case #5
Table 5: Use Case
ID Statistical views
Description In this we can check the statistics in how much time the crop may grow and in
how much time the crop can be reap/harvest.
Actors Farmer
Preconditions The application must be installed on the device. He must enter the data before
growing the crop accurately so that estimated result may be known.
Basic Steps Usual flow of the use case indicating the various steps in it
Alternate Steps
Exceptions If he enters the wrong data e.g. before growing the crops the right time is not
entered so estimation which the application will tell also be wrong.
Business This is a free application it would not matter if the land is less or more you
validations/Rules can get the information.
Postconditions
3.3.6 Use Case #6
10
Agriculture Yield App
Table 6: Use Case
ID Logout
Description Once you know the information which you wanted you may logout the
application so that any other person may not access it.
Actors Farmer
Preconditions application must be installed on the device. You must be login to the
application.
Basic Steps Usual flow of the use case indicating the various steps in it
Alternate Steps
Exceptions If you have closed the application without logout then you may open it again
and logout the application for security measures.
Business This is a free application it would not matter if the land is less or more you
validations/Rules can get the information.
Postconditions
11
Agriculture Yield App
3.4 NonFunctional Requirements
3.4.1 PERFORMANCE
System efficiency. our product performance will be at its best because it goes through
different phases and it won’t be much time taking.
Performance on checking capability working its best due to accuracy of data.
Accurate identification of fertilizers will boost up the performance.
3.4.2 USABILITY:
It will be a userfriendly app due to the following factors:
Providing easy userinterface.
Easy to use and communicate due to simple steps.
Easy to understand due to providing choosing option capability.
3.4.3 RELIABILITY:
As our app is going through each and every phase properly so there is a minimum chance of giving
error. If in any case any kind of fault occurs it will be sorted and solved on time i.e. Quick fault
recovery.
3.4.5 SECURITY:
There is no thirdparty involvement.
The data entered out of range (outside of PAKISTAN) will not be processed.
The entered data will be secured.
The will be secure because it will not violate any kind of environmental requirement i.e. law
breaking or any kind of rule breaking.
3.5 Inverse Requirements
one user should not have multiple accounts against one cellular number.
The system will not use red or black color whenever it will display the results.
The live weather feed will not be available all the time until or unless it is asked for it is going to be
in the back ground.
12
Agriculture Yield App
3.6 Design Constraints
The GUI of this app will most certainly be simple because the android device used by the user can
be a simple on which may not have great processing power.
Also, it will be on android app standards set by google.
3.7 Logical Database Requirements
a data set will be used for all the data about the agriculture land we will use MYSQL for the data
set as it is easily available in the android studio. Data will only be accessed when the user fills out
the forms and enters his data which will run against the database and give the results.
3.8 Other Requirements
additional requirements may use the name of the farmer and his bio data to register the customer if
any other app is built by the developers.
4. Analysis Models
the project team gathered data through software requirement engineering that is the only model
used in this document.
4.1 Sequence Diagrams
13
Agriculture Yield App
4.3 Data Flow Diagrams (DFD)
14
Agriculture Yield App
4.2 StateTransition Diagrams (STD)
5. Change Management Process
Change management is going to be in a way that it will add more areas of other countries once it is
going to be successfully deployed and then the developer can handle the changes.
References
https://onlinelibrary.wiley.com/doi/abs/10.1111/j.14680289.1991.tb01273.x
Time: 11:41 16/01/19
https://www.pnas.org/content/96/11/5952.short
Time: 12:05 16/01/19
https://www.sciencedirect.com/science/article/abs/pii/S0305750X98000849
Time: 12:18 16/01/19
15
Agriculture Yield App
16