SRS Agriculture Yield APP Ver 1.0

You might also like

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 22

 The University of Lahore, Islamabad Campus

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

Date Description Author Comments


17/01/19 Version 1.0 Husnain Usman
Arsalan Anjum
Hamza Zubair

Document Approval

The following Software Requirements Specification has been accepted and approved by the 
following:
Signature Printed Name Title Date

Dr. Syed Zubair    Assistant. Professor 17/01/19


Committee Member 
FYP

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 NON­FUNCTIONAL 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 STATE­TRANSITION 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 self­contained product. Under construction>>>
Describe the context and origin of the product being specified in this SRS. For example, state 
whether this product is a follow­on member of a product family, a replacement for certain existing 
systems, or a new, self­contained 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 up­to­date.
  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

Use Case Diagram

11
Agriculture Yield App

3.4 Non­Functional 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 user­friendly app due to the following factors: ­
 Providing easy user­interface.
 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 third­party 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 State­Transition 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.1468­0289.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

You might also like