You are on page 1of 59

A

Major Project Report


On

“K – MITRA”
Submitted

In partial fulfillment

For the award of the degree of

Bachelor of Technology

In

Computer Science & Engineering

Guided By: Submitted By:


Rajesh Rajaan Gunjan Sharma (15EGJCS086)

Assistant Professor Himanshu Baghmar (15EGJCS092)

Kalpit Dhaked (15EGJCS105)

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING


GLOBAL INSTITUTE OF TECHNOLOGY
JAIPUR (RAJASTHAN) - 302022
2018-2019

I
CERTIFICATE

This is to certify that the project titled “K - MITRA” is the bona fide work carried out by
Gunjan Sharma (15EGJCS086), a student of B. Tech. (CSE) of Global Institute of Technology,
Jaipur (Rajasthan) affiliated to Rajasthan Technical University, Kota, Rajasthan(India) during
the academic year 2018-19, in partial fulfillment of the requirements for the award of the degree
of Bachelor of Technology (Computer Science and Engineering ) and that the project has not
formed the basis for the award previously of any other degree, diploma, fellowship or any other
similar title.

Signature of the Guide

Place: Jaipur

Date: 4 May, 2019

II
CERTIFICATE

This is to certify that the project titled “K - MITRA” is the bona fide work carried out by
Himanshu Baghmar (15EGJCS092), a student of B. Tech. (CSE) of Global Institute of
Technology, Jaipur (Rajasthan) affiliated to Rajasthan Technical University, Kota,
Rajasthan(India) during the academic year 2018-19, in partial fulfillment of the requirements
for the award of the degree of Bachelor of Technology (Computer Science and Engineering )
and that the project has not formed the basis for the award previously of any other degree,
diploma, fellowship or any other similar title.

Signature of the Guide

Place: Jaipur

Date: 4 May, 2019

III
CERTIFICATE

This is to certify that the project titled “K - MITRA” is the bona fide work carried out by Kalpit
Dhaked (15EGJCS105), a student of B. Tech. (CSE) of Global Institute of Technology, Jaipur
(Rajasthan) affiliated to Rajasthan Technical University, Kota, Rajasthan(India) during the
academic year 2018-19, in partial fulfillment of the requirements for the award of the degree
of Bachelor of Technology (Computer Science and Engineering ) and that the project has not
formed the basis for the award previously of any other degree, diploma, fellowship or any other
similar title.

Signature of the Guide

Place: Jaipur

Date: 4 May, 2019

IV
Candidate’s Declaration

We hereby declare that the work, which is being presented in the minor project , entitled
“ K – MITRA ” in partial fulfillment for the award of Degree of “Bachelor of Technology”
in Department of Computer Science and Engineering submitted to the Department of
Computer Science & Engineering, Global Institute of Technology, Rajasthan Technical
University is a record of my own investigations carried under the Guidance of Shri Rajesh
Rajaan, Department of Computer Science and Engineering, Global Institute of Technology.

We have not submitted the matter presented in this project anywhere for the award of any other
Degree.

Gunjan Sharma (15EGJCS086)

Himanshu Baghmar (15EGJCS092)

Kalpit Dhaked (15EGJCS105)

Global Institute of Technology, Jaipur

Counter Signed by

Rajesh Rajaan

Assistant Professor

Department of Computer Science and Engineering

Global Institute of Technology, Jaipur

V
Acknowledgement

It is our pleasure to be indebted to various people, who directly or indirectly contributed in the
development of this work and who influenced my thinking, behavior, and acts during the course
of completion. This formal piece of acknowledgement is an attempt to express the feeling of
gratitude towards people who help us in successful completion of my project.

We would like to express our deepest gratitude to Mr. Rajesh Rajaan, our project guide for
his guidance, precious time and necessary advices. He was always there with his competent
support and valuable suggestion throughout the development phase of the project.

We also extend our sincere appreciation to Mr. Kapil Bharadwaj and Mr. Bharat
Shrivastav, who provided their valuable suggestions and precious time for providing healthy
competitive and comfortable environment throughout the completion of our project.

A special thanks goes out to the HEAD OF DEPARTMENT (Computer Science &
Engineering) Dr. Smita Agrawal who has always given a patient hearing to all out doubts and
provided useful suggestions for completing the project and report.

We would also like to thanks the supporting staff of Department of CSE (GIT) and our parents
who always supported us at every step, guided us, inspired us, and provided us all facilities so
that we can achieve our goals.

Gunjan Sharma (15EGJCS086)

Himanshu Baghmar (15EGJCS092)

Kalpit Dhaked (15EGJCS105)

IV Year, VIII Semester

Computer Science & Engineering

Global Institute of Technology, Jaipur

VI
Abstract

“Plant Disease Identification and Crop Management – K- MITRA” was built with an objective
to help farmers in identifying the crop diseases and use correct pesticides at right time so as to
protect the farmers from huge losses they incur due to crop damage by pests. The project is built
with a user friendly interface so as to make it easy for farmers. The complete project inbuilt
various technologies like html, css, bootstrap, machine learning, python, etc. The farmers are also
provided with other services in order to help farmers to correctly plan his agricultural activities.
This web-app portal provides a platform for farmers where they can upload their infected plant
image and get a solution for the disease. The system is built using machine learning algorithm
which makes the system highly reliable. The disease gets identified and the farmer is suggested
with suitable cure for the same. An easy to use interface for accessing the services provides an
extra advantage to the portal. Other than this it provides other services like getting important live
updates related to agricultural industry which includes major price changes, new government
policies, new inventions in the field, researches, and other related information, second fetching
weather details which will help farmers in planning their agricultural activities and browsing
library that will increase extra knowledge of the farmers and help him taking preventive measures
for his crops. In all it can be concluded that this portal will turn to be a true friend as the name
suggests K-MITRA of the farmers providing solution to their problems of crop protection and
management.

VII
Table of Contents

Sub
Content Subtopic Name of Topic Page no.
content

CERTIFICATE II

Candidate’s Declaration V

Acknowledgement VI

Abstract VII

Table of Contents VIII

List of Figures XI

List of Tables XII

1. Introduction 1

1.1 Need for the Crop Protection 2

1.1.1 K-MITRA and Crop Protection 3

1.2 Detailed Problem Definition 3

1.2.1 Existing Scenario 3

1.2.2 Problems with the Current Scenario 4

1.2.3 Proposed System 4

1.2.4 Features of Proposed System 5

1.3 Project Scope 6

1.4 Future Scope 6

1.5 Organization of the Report 6

VIII
2. Analysis 7

2.1 Project Plan 7

2.1.1 Task Identification Plan 7

2.1.2 Database Design 8

2.2.2 Dataset Design 10

2.2 Feasibility Study 11

2.2.1 Technical Feasibility 11

2.2.2 Financial Feasibility 12

2.3 Requirements 12

Functional & Non-Functional


2.3.1 12
Requirements

Technical Requirments ( Hardware


2.3.2 14
/Software)

2.4 Team Structure 14

3 Design 16

3.1 Architectural Design 16

3.2 UML Diagrams 18

3.2.1 Use Case Diagram 18

3.2.2 Activity Diagram 19

3.2.3 Sequence Diagram 23

3.3 DFD (All Levels) 26

3.4 ER Diagram 27

IX
3.5 GUI Design 29

4 Coding 30

4.1 Coding Style Followed 30

4.2 Screen Shots 32

5. Testing 39

5.1 Test Plan 39

5.2 Test Cases and Test Results 41

6. Conclusion and Future Scope 45

6.1 Conclusion 45

6.1 Future Scope 46

7. References 47

X
List of Figures

SR No. Figure Page No.

1 Fig 2.1: Farmer Registration Database Table 9

2 Fig 2.2: Dataset folder structure 10

3 Fig 2.3: Training Dataset folder 10

4 Fig 2.4: Photos of Infected plants in each disease folder 11

5 Fig 3.1: Architectural Design 16

6 Fig 3.2: Use Case Diagram 19

7 Fig 3.3: Login - Signup Activity Diagram 20

8 Fig 3.4: Get Weather Updates Activity Diagram 21

9 Fig 3.5: Get Latest Updates Activity Diagram 21

10 Fig 3.6: Plant Disease Identification Activity Diagram 22

11 Fig 3.7: Login Sequence Diagram 23

12 Fig 3.8: Get Updates Sequence Diagram 24

13 Fig 3.9: Get Weather Updates Sequence Diagram 24

14 Fig 3.10: Disease Identification Sequence Diagram 25

15 Fig 3.11: Level 0 DFD Diagram 26

16 Fig 3.12: Level 1 DFD Diagram 27

17 Fig 3.13: ER Diagram 28

18 Fig 3.14: Front View 29

XI
List of Tables

SR No. Table Page No.

1 Table 5.1 Sign Up Test Case (Positive) 42

2 Table 5.2 Query Test Case (Positive) 43

3 Table 5.3 Disease Identification Test Case (Positive) 44

XII
K – MITRA GIT DCSE

Chapter I

INTRODUCTION

India’s farmers are hard at work. Not only do they help to feed a nation that contains 1.3
billion people – one fifth of the world’s population – but they also produce around 20 percent
of the world’s cotton. However their productivity is threatened by pests that can ruin their
crops and their livelihoods. According to a study by the Associated Chambers of Commerce
and Industry of India, annual crop losses due to pests and diseases amount to Rs.50,000 crore
($500 billion), which is significant in a country where at least 200 million Indians go to bed
hungry every night. Take pulse crops: Indians rely heavily on chick peas, pigeon peas, mung
beans and lentils for their daily protein requirements, and these are an essential ingredient in
many native dishes, but it is estimated that without crop protection products the pulse crop
yield can fall by around 30%.About 30-35% of the annual crop yield in India gets wasted
because of pests, according to P.K. Chakrabarty, assistant director general (plant protection
and biosafety) of the Indian Council of Agricultural Research. He said that among such pests,
nematodes (microscopic worms many of which are parasites) had recently emerged as a
major threat to crops in the country and they caused loss of 60 million tons of crops annually.
He also said that such large-scale crop-loss was having an adverse effect on the agricultural
biosafety which was “paramount to food security. “Control of these insect pests is one of the
challenging problems for the Indian agriculture. The farmers are still not fully aware about
these potential crop-destroyers.

Here comes the need for a system which let the farmers not only identify the plant disease but
also suggest some remedies for such infected plants. Crop protection is the science and
practice of managing plant diseases, weeds and other pests (both vertebrate and invertebrate)
that damage agricultural crops and forestry. Agricultural crops include field crops
(maize, wheat, rice, etc.), vegetable crops (potatoes, cabbages, etc.) and fruits. The crops in
field are exposed to many factors. The crop plants may be damaged by insects, birds, rodents,
bacteria, etc.

Session 2015-2019 Page 1


K – MITRA GIT DCSE

Basically, Plant Disease Identification System and Crop Management System is a web portal
which will provide a complete solution to all above stated problems. This web-app portal
provides a platform for farmers where they can upload their infected plant image and get a
solution for the disease. The system is built using machine learning algorithm which makes
the system highly reliable. The disease gets identified and the farmer is suggested with
suitable cure for the same. An easy to use interface for accessing the services provides an
extra advantage to the portal. Other than this it provides other services like getting important
live updates related to agricultural industry, fetching weather details, browsing library. In all
it can be concluded that this portal will turn to be a true friend as the name suggests K-Mitra
of the farmers providing solution to their problems of crop protection and management.

1.1 NEED FOR CROP PROTECTION

Plant protection is the practice of managing weather, weeds, pests and diseases that damage
or inhibit the growth of fruit, vegetable and other horticultural crops. Proper crop protection
is important to produce higher quality crops with minimal wastage. This increase in
productivity leads to less land, water and labour being required for food crops. With less
land being used biodiversity is preserved and less greenhouse gases are emitted. It also
ensures more food reaches the shops and markets in good condition, which helps to keep
the prices down. If we were to stop using some of the more common protection methods
with our fruit and vegetable crops, there would be a lot less choice in the food available to
buy on a local level. Global yields would drop by approximately one third. Vegetables we
have become accustomed to or have taken for granted would only be readily available in
certain regions. They would be available at exorbitant prices and questionable freshness
and quality in others.

Pesticide Based measures are used to attract and/or destroy garden pests. There are three
main methods in common practice; Herbicides are used to kill unwanted plants and weeds,
Insecticides are used to kill insects, and Fungicides are used to kill fungi, some of which
can cause serious damage to agriculture. Chemical crop protection products, commonly
referred to as pesticides or agrochemical products, play a vital role in controlling the pests
and diseases that infect, consume or damage crops thereby significantly reducing the quantity

Session 2015-2019 Page 2


K – MITRA GIT DCSE

and quality of food production, while the benefits of agricultural innovation goes to farmers
and consumers. Chemical crop protection products or “pesticides” help control insects,
diseases, weeds, fungi and other undesirable pests. It is estimated that annual crop losses
could double without the use of crop protection products. Synthetic pesticides have been
extensively used in the country for alleviating the estimated 45% gross loss of crops due to
infestation of pests and diseases.

1.1.1. K-Mitra and Crop Protection

K-Mitra disease identification web portal will have a complete knowledge base of insect pest
carrying its detail in the background. It will help in identifying the insect pest in the farmer’s
field based on the damaged symptom or by the image of the insects. On identifying the insect
pest the system will provide the management. The management will include identifying the
disease, its cause and suggesting correct pesticide for the disease. The farmer needs to get
himself register to use the basic features of the portal. Not only has this portal provided a
library of commonly affected plants, their disease, control and management. The farmers can
browse through the library to get extra information about plant diseases, their symptoms and
cure. As a whole this portal stands as a true friend to our farmers which will help farmers
protect their crops and increase their yield. The overall quality and quantity both are surely
going to increase with the help of this portal. It will prove as a great savior for our
agricultural industry.

1.2 DETAILED PROBLEM DEFINITION

1.2.1 EXISTING SCENARIO

Our farmers have very little knowledge about the pesticides and insecticides available in the
market. Moreover their proper usage techniques need also to be clarified. Their excess use
can harm the quality of crops and their no use can harm the quantity of crop yield. Their
proper information need to be reached out to the farming community. Studies tells that crop
losses due to pests and diseases amount to Rs.50, 000 crore. This is a significant amount and

Session 2015-2019 Page 3


K – MITRA GIT DCSE

there is an urgent need to reduce it. This can only be done by making farmers acquainted with
the use of different pesticides available in the market for crop protection but there is no such
direct method available. The farmers are still unaware of the plant diseases, their symptoms
and cure.

1.2.2 PROBLEMS WITH THE CURRENT SCENARIO

 Huge Losses– The farming community suffers huge losses every year due to insect
pests which turn around to be around 50,000crores.

 Little knowledge–Farmers have little knowledge about the different pesticides and
plant diseases

 Less use of pesticides– Due to less knowledge there is no proper utilization of


pesticides available in market.

 Disease Identification– Farmers are not able to correctly identify the disease and
hence its cure.

 No medium available – There is no proper web application or tool available which


can help farmers in identifying diseases and their cure.

1.2.3 PROPOSED SYSTEM

The Web-Application provides facility to successfully identify the disease present in infected
crop image. Also, the cause of the disease i.e., the pest due to which the disease has occurred
will also be identified. It will then suggest the preventive measures and useful pesticides for
curing the crop.

It will save the crop from damage as now plant disease can be identified on the spot and also
cure is also known. It’s like a plant doctor available at home 24*7 hours. It will ultimately
result in increase in crop production. Also other facilities like weather details, live updates
about the agriculture industry and library will add to the knowledge of the farmers. Overall it

Session 2015-2019 Page 4


K – MITRA GIT DCSE

will prove to be a great tool for a farmer and help him in protecting his crops from pests.

1.2.4 FEATURES OF PROPOSED SYSTEM

 Registration: For having access to the services of the web-portal, the farmer has to be
the registered user. After the farmer gets himself registered over the platform, he/she
will be available with all the services to access them as a user. Every time the farmer
wishes to login to the portal he/ she has to login with his/her registered aadhar number
as their unique id and password which they have entered during the time of signup.

 Disease Identification: A farmer needs to upload the image of the infected plant. In
background the machine learning algorithm works to train the model and correctly
predict the disease. The farmer will get the identified disease, its symptoms, causes
and cure. Use of neural networking increases the reliability of the predicted disease.
The system maintains a complete knowledge base database for identifying the pest.

 Library: The registered farmers are available with the options to browse through the
library. It provides information regarding various plant diseases. A list of various
pesticides and plant diseases will be available with the farmers. The farmers can read
about the diseases by clicking on them. A complete knowledge of the symptoms of
the disease, its cure and careful measures to be taken will be displayed. An image of
the infected plant will add-on to their knowledge.

 Live Updates: Farmer will able to read latest news related to agriculture industry.
This will include major price changes, new government policies, new inventions in
the field, researches, and other related information. They will help our farmers decide
an effective agriculture plan.

 Weather Forecasting: Farmer will be able to view live weather details of the week of
some cities which will help him or alert him of any natural calamity that can damage
his crop.

Session 2015-2019 Page 5


K – MITRA GIT DCSE

1.3 Project Scope

A complete working web based application for identification of plant disease using machine
learning algorithm (neural networking) is developed for farmers to help them with crop
protection and management. The model is trained with high precision using neural
networking which provides high degree of accuracy and reliability. The database used for
training the model is self-sufficient and contains wide variety of diseases. The application has
a user friendly interface with interconnectivity using python-cgi. It is easy to use for the
farmers and will help him in his crop management.

1.4 Future Scope

The project is self-sufficient within itself on the platform it has been developed. As a future
scope for the project the portal can be run on linux operating system to make it more secure
and reliable. Size of data set can be increased to train the model more accurately. The model
can be trained for identifying other plant diseases by maintaining a larger database. More new
services and advancements can be added in the project with the need of time.

1.5 Organization of the Project

The purpose of this report is to inform the reader that it is helpful to both, the reader and the
writer. Report being the logically organised will be able to deliver the whole content along
with the concept and purpose of the project. Its aim is to deliver or inform the features,
agenda and vision along with the flow of project successfully. It has been tried to explain
briefly, containing enough information to distinguish it from the other and existing projects.

Session 2015-2019 Page 6


K – MITRA GIT DCSE

Chapter II

ANALYSIS

2.1 Project Plan

Idea about the project was discussed amongst the team members. Research was done on the existing
problem and current scenario. Initial requirements were documented and analyzed again. Hardware
and Software requirements were fulfilled. Project was distributed in various modules and overall
project timeline was decided. Individual modules were developed keeping timeline for every module.
After the completion of individual modules, all were merged together to accomplish the wholesome
motive of the project and development of the desired system.

2.1.1 Task Identification Plan

The project was distributed in different modules and further in various sub tasks. Firstly all
the tasks were collected to be there in the project for achieving the projected plan. Then the
tasks were divided according to the different modules. Different modules identified were

 Dataset Collection: The requirement of the project was analyzed first. Accordingly,
images of various diseases of crops were collected from various sites for training the
model. The images collected were arranged in folder as per the requirements. The
data was collected from various sites like www.plantvillage.com, www.kaggle.com,
www.mcbi.nlm.nih.gov etc. The images and other data collected were cleaned and
arranged in folders. This dataset was then divided into training and testing part. The
entire data was then placed under the single folder to be given as source folder while
training and testing the model.

 Preparing Machine Learning Algorithm: An algorithm was prepared for


identifying the diseases present in crops. This algorithm is based on convolution
neural networking. The algorithm is developed in three stages:

Session 2015-2019 Page 7


K – MITRA GIT DCSE

 Stage I-Building the CNN: This stage comprise of further smaller steps:
Convolution, Pooling, Flattening, Full Connection. The algorithm was ready
in these steps.

 Stage II-Fitting the CNN to the images: this step comprise of deciding the
batch size, epoch, validation steps, steps_per_epoch, target size. These all
factors were decided as per the data collected.

 Stage III-Making new Prediction: The model was finally fitted to make new
predictions. Different test cases as per the plant diseases were prepared and
their outcomes were defined.

 Web Interface Designing: This task comprised of designing a friendly user interface
for the farmers to access the functionalities of the project. Different pages were
designed as per the services provided like Home Page, login Page, Signup Page, Live
Updates, Weather details, Library, Disease Identification Page, Result Page, etc. They
were all designed using html, css, bootstrap, php, js, etc. Complete designing was
done to make the project look more attractive and make it easy to use for the farmers.
Overall an interactive user- friendly interface was prepared.

 Integration of algorithm with web interface: The web interface is integrated with
machine learning algorithm using python-cgi. For this first some changes were done
in the httpd configuration file of Wamp server. It included uncommenting some
required lines and adding the extra fields. It also included some changes in the python
script of algorithm like importing cgi library, etc.

 Complete Integration of the project: Finally all the modules were linked together. It
included linking various pages and connecting database with the project.

2.1.2 Database Design

The data involved in the every module of the project will either going to get stored in the
database or will be fetched from the database. This fetching and storing of data along with
various other functionalities to produce optimized result will be performed over the database.

Session 2015-2019 Page 8


K – MITRA GIT DCSE

Hence the first requirement that comes is of the efficient designing of database. With all the
tasks associated with different modules data is related among all of them.

Here the database used is MySql. MySql is an open-source relational database management
system (RDBMS). It can be built and installed manually from source code, but it is more
commonly installed from a binary package unless special customizations are required. It
stores and manages data in form of tables.

The database table is managed to deal with maximum tasks. Hence the database table should
be structured in such a manner that it contains all the possible fields, which can contribute to
accomplishment of more number of tasks with a single table itself. This also reduces ultimate
complexity of the project and also shows optimization in the work.

To aid in the management of the data and tables, each table would have at least one field that
contained a unique identifier for that record such as Primary Key, a field to uniquely identify
the doer or record holder without any confusion.

There is a requirement only one database table structured for the project/system:

 Farmer Registration :

Fig 2.1: Farmer Registration Database Table

 Table name : registration


 This table stores the data that farmers will provide at the time of Signing up over the
registration page.
 It is having Aadhar column as the primary key of the table, which will be used as the
unique column of the table in various queries.

Session 2015-2019 Page 9


K – MITRA GIT DCSE

2.2.2 Dataset Design

The algorithm has certain fixed directory structure requirement to work properly. The
directory structure prepared was as follows:

 Firstly, the entire dataset was divided into training and testing data set. This is a pre-
requirement while running any machine learning algorithm on dataset. We need to
divide the entire dataset into smaller sub-sets which include first, training set which
comprises of images that will help in training the model and second the testing set
which helps to predict the accuracy of the trained model as the result of this part of
dataset is already known.

Fig 2.2: Data set folder structure


 Secondly, various plants or crop were identified. Accordingly various sub folders with
plant name were made under the training and testing folders both.

Fig 2.3: Training Data set folder

Session 2015-2019 Page 10


K – MITRA GIT DCSE

 Lastly, various diseases that an individual plant or crop may suffer from were
identified. Various subfolders as per the plant diseases with disease name as folder
name were created. The infected plant image was placed inside this folder.

Fig 2.4: Photos of infected plants in the each disease folder

2.2 Feasible Study

A Feasibility Study determines whether a project is worth doing. The process followed for
making this determination is called a Feasibility Study. This type of study determines
whether a project can and should proceed. Once it has been determined that a project is
feasible, the analyst can proceed and prepare the project specifications that finalize the
project specification. The following are the various types of feasibility studies that can be
undertaken.

2.2.1 Technical Feasibility

All the technicalities related with the system or project, are dealt under the technical
feasibility, to improve the overall performance and reach towards the optimization at the
completion of the project/system. This is concerned with specifying the equipment and the
software to satisfy the user requirements. The technical needs of the system vary considerably
such as the facility to produce outputs in a given time, response time under certain conditions,

Session 2015-2019 Page 11


K – MITRA GIT DCSE

ability to process a certain volume of transactions at a specified speed and facility to


communicate data to a distant location.

Technical feasibility centers on the existing computer system, hardware, software etc. and to
what extent it can support the system. In examining the technical feasibility, the configuration
of the system is given more importance than the actual hardware. The configuration should
provide the complete picture of the system requirements, for example how many
workstations are required and how these units are interconnected so that they would operate
smoothly, etcetera. The result of the Technical Feasibility Study is the basis for the
documents against which dealer and manufacturer can make bids. Specific hardware and
software products can then be evaluated keeping the logical needs in observation.

2.2.2 Financial Feasibility

Any System is considered to be financial feasible when it is achieved with the most
optimized cost. Financial analysis is the most frequently used method for evaluating the
effectiveness of a new system. More commonly known as cost/benefit analysis, the procedure
is to determine the benefits and savings that are expected from a candidate system and
compare them with costs. If benefits outweigh costs, then the decision is made to design and
implement the system. It is not done to analyze the new system. We calculate the cost/benefit
analysis and we assume that the benefit is feasible so we start developing the project. It is an
analysis of the cost to be incurred in the system and benefits the derivable from the system. A
Financial Feasibility Study should demonstrate the net benefit of the proposed course of
action in the context of direct and indirect benefits and costs to the organization and to the
public whole. It should be required for both pilot and long-term activities, plans & projects.

2.3 Requirements

2.3.1 Functional Requirement &Non Functional Requirement

 Functional Requirements:

 The farmer should have a Aadhar card.

Session 2015-2019 Page 12


K – MITRA GIT DCSE

 It is ensured that the information entered is of the correct format.

 One registration can only be done using a single aadhar number.

 After registration only farmer can access the privileged services of the project like
disease identification and library browsing.

 The system can be accessed anytime.

 Non-Functional Requirements:

 Operational Feasibility:

It determines how acceptable the software is within the organization. The evaluations
must then determine the general attitude and skills. Such restriction of the job will be
acceptable. In operational feasibility, we attempt to ensure that every user can access the
system easily. We have developed a main page that users can easily access with the help
of interactive interface. We have shown a proper error message when any mistakes are
made in the fields. For farmer ease the application can be run on both desktop and mobile.

 Behavioral Feasibility:

Normal human psychology of human beings indicates that people are resistant to change
and computers are known to facilitate change. Any project formulations should consider
this factor also. The need to study the behavioral feasibility of the successful execution of
the project was felt and thus various factors have been considered for this study.

 Security Requirements:

The system should validate the aadhar number and password in order to login and make
changes to the system. Also the constraints applied over the registration fields restrict or
prevent from false or fake entries, making the system as a reliable one.

Session 2015-2019 Page 13


K – MITRA GIT DCSE

 Usability Requirement:

The system should have an easy understand graphic user interface that deal with the user.
Also the system should let user easy to understand the functionality of each modules.

2.3.2 Technical Requirments ( Hardware /Software)

 Hardware Requirements:

 Personal Computer

 4GB RAM

 500 GB hard disk

 Dot Matrix Printer

 Data Transfer Cable

 i5 processor

 Software Requirements:

 Windows OS- Windows 7 or above versions

 SQLyog

 Wamp Server

 Browser

 Editor

2.4 Team Structure

After the distribution of various modules specification of tasks related to all the modules was
done. Then the structure for further proceedings was structured within the or according to the

Session 2015-2019 Page 14


K – MITRA GIT DCSE

team. Being three members in the team, the work or project modules were distributed in such
a manner that none gets contradict or conflict with other’s module. The work segregation was
successfully done considering Following main modules:

 Database Designing and Connection

 Dataset Collection

 Preparing Algorithm

 Web Interface Designing

 Integration of ml with web interface

 Deployment of project over Wamp server

All the team members coordinated with each other and helped each other in their task. The
modules were divided in such a way so as no member feel extra pressure. Lastly the complete
project was integrated with combined efforts.

Session 2015-2019 Page 15


K - MITRA GIT DCSE

Chapter III

DESIGN

In the design phase the architecture is established. This phase starts with the requirement
document delivered by the requirement phase and maps the requirements into the architecture.
The architecture defines the components, their interfaces and behaviors. The deliverable design
document is the architecture. The design document describes a plan to implement the
requirements. This phase represents the ``how'' phase. Details on computer programming
languages and environments, machines, packages, application architecture, distributed
architecture layering, memory size, platform, algorithms, data structures, global type
definitions, interfaces, and many other engineering details are established. The design may
include the usage of existing components.

Design elements describe the desired software features in detail, and generally include
functional hierarchy diagrams, screen layout diagrams, tables of business rules, business
process diagrams, pseudocode, and a complete entity-relationship diagram with a full data
dictionary. These design elements are intended to describe the software in sufficient detail that
skilled programmers may develop the software with minimal additional input design.

3.1 Architectural Designs

The architecture defines the components, interfaces, and behaviors of the system. The
components are the building blocks for the system. These components may be built from
scratch or re-used from an existing component library. The components refine and capture the
meaning of details from the requirement document.

The components are composed with other components using their interfaces. An interface
forms a common boundary of two components. The interface is the architectural surface where
independent components meet and communicate with each other. Over the interface,
components interact and affect each other.

Session 2015-2019 Page 16


K - MITRA GIT DCSE

The interface defines a behavior where one component responds to the stimuli of another
component's actions.

Fig 3.1: Architectural Design

Session 2015-2019 Page 17


K - MITRA GIT DCSE

3.2 UML Diagrams

A UML diagram is a diagram based on the UML (Unified Modeling Language) with the
purpose of visually representing a system along with its main actors, roles, actions, artifacts
or classes, in order to better understand, alter, maintain, or document information about the
system.

It is based on diagrammatic representations of software components. As the old proverb


says: “a picture is worth a thousand words”. By using visual representations, we are able to
better understand possible flaws or errors in software or business processes. UML was created
as a result of the chaos revolving around software development and documentation. In the
1990s, there were several different ways to represent and document software systems. The need
arose for a more unified way to visually represent those systems and as a result, in 1994-1996,
the UML was developed by three software engineers working at Rational Software. It was later
adopted as the standard in 1997 and has remained the standard ever since, receiving only a few
updates.

Mainly, UML has been used as a general-purpose modeling language in the field of software
engineering. However, it has now found its way into the documentation of several business
processes or workflows.

3.2.1 Use Case Diagram

A use case diagram at its simplest is a representation of a user's interaction with the system that
shows the relationship between the user and the different use cases in which the user is
involved. A use case diagram can identify the different types of users of a system and the
different use cases and will often be accompanied by other types of diagrams as well.

There are three basic elements that make up a use case:

• Actors: Actors are the type of users that interact with the system.

• System: Use cases capture functional requirements that specify the intended behavior
of the system.

Session 2015-2019 Page 18


K - MITRA GIT DCSE

• Goals: Use cases are typically initiated by a uses to fulfill goals describing the activities
and variants involved in attaining the goal.

Fig 3.2: Use Case Diagram

3.2.2 Activity Diagram

Activity diagrams are graphical representations of workflows of stepwise activities and


actions with support for choice, iteration and concurrency. In the Unified Modeling Language,
activity diagrams are intended to model both computational and organizational processes (i.e.,

Session 2015-2019 Page 19


K - MITRA GIT DCSE

workflows), as well as the data flows intersecting with the related activities. Although activity
diagrams primarily show the overall flow of control, they can also include elements showing
the flow of data between activities through one or more data stores.

 Login-Signup:

Fig 3.3: Login - Signup Activity Diagram

Session 2015-2019 Page 20


K - MITRA GIT DCSE

 Get Weather Updates:

Fig 3.4: Get Weather Updates Activity Diagram

 Get Latest Updates:

Fig 3.5: Get Latest Updates Activity Diagram

Session 2015-2019 Page 21


K - MITRA GIT DCSE

 Plant Disease Identification:

Fig 3.6: Plant Disease Identification Activity Diagram

Session 2015-2019 Page 22


K - MITRA GIT DCSE

3.2.3 Sequence Diagram

A sequence diagram shows object interactions arranged in time sequence. It depicts the objects
and classes involved in the scenario and the sequence of messages exchanged between the
objects needed to carry out the functionality of the scenario. Sequence diagrams are typically
associated with use case realizations in the Logical View of the system under development.
Sequence diagrams are sometimes called event diagrams or event scenarios.

A sequence diagram shows, as parallel vertical lines (lifelines), different processes or objects
that live simultaneously, and, as horizontal arrows, the messages exchanged between them, in
the order in which they occur. This allows the specification of simple runtime scenarios in a
graphical manner.

 Login:

Fig 3.7: Login Sequence Diagram

Session 2015-2019 Page 23


K - MITRA GIT DCSE

 Get Updates:

Fig 3.8: Get Updates Sequence Diagram

 Get Weather Updates:

Fig 3.9: Get Weather Updates Sequence Diagram

Session 2015-2019 Page 24


K - MITRA GIT DCSE

 Disease Identification:

Fig 3.10: Disease Identification Sequence Diagram

Session 2015-2019 Page 25


K - MITRA GIT DCSE

3.3 Data Flow Diagrams

A data flow diagram (DFD) is a graphical representation of the "flow" of data through
an information system, modeling its process aspects. A DFD is often used as a preliminary step
to create an overview of the system without going into great detail, which can later be
elaborated DFDs can also be used for the visualization of data processing (structured design).

A DFD shows what kind of information will be input to and output from the system, how the
data will advance through the system, and where the data will be stored. It does not show
information about process timing or whether processes will operate in sequence or in parallel,
unlike a traditional structured flowchart which focuses on control flow, or a UML activity work
flow diagram, which presents both control and data flows as a unified model.

 Level 0 DFD:

Fig 3.11: Level 0 DFD Diagram

Session 2015-2019 Page 26


K - MITRA GIT DCSE

 Level 1 DFD:

Fig 3.12: DFD Diagram

3.4 ER Diagram

An entity–relationship model (ER model for short) describes interrelated things of interest in
a specific domain of knowledge. A basic ER model is composed of entity types (which classify
the things of interest) and specifies relationships that can exist between instances of those
entity types.

In software engineering, an ER model is commonly formed to represent things that a business


needs to remember in order to perform business processes. Consequently, the ER model
becomes an abstract data model, that defines the data or information structure which can be
implemented in a database, typically a relational database.

Session 2015-2019 Page 27


K - MITRA GIT DCSE

Fig 3.13: ER Diagram

Session 2015-2019 Page 28


K - MITRA GIT DCSE

3.5 GUI Design

The graphical user interface, is a form of user interface that allows users to interact with
electronic devices through graphical icons and visual indicators such as secondary notation,
instead of text-based user interfaces, typed command labels or text navigation.

Designing the visual composition and temporal behavior of a GUI is an important part
of software application programming in the area of human–computer interaction. Its goal is to
enhance the efficiency and ease of use for the underlying logical design of a stored program, a
design discipline named usability.

 Graphic User Interface of the system/ project:

Fig 3.14: Front View

Session 2015-2019 Page 29


K - MITRA GIT DCSE

Chapter IV

CODING

Coding conventions are a set of guidelines for a specific programming language that
recommend programming style, practices, and methods for each aspect of a program written in
that language. These conventions usually cover file organization, indentation, comments,
declarations, statements, white space, naming conventions, programming practices,
programming principles, programming rules of thumb, architectural best practices, etc. These
are guidelines for software structural quality. Software programmers are highly recommended
to follow these guidelines to help improve the readability of their source code and
make software maintenance easier. Coding conventions are only applicable to the human
maintainers and peer reviewers of a software project. Conventions may be formalized in a
documented set of rules that an entire team or company follows, or may be as informal as the
habitual coding practices of an individual.

4.1 Coding Style Followed

As the coding language used to develop the system/ project is Java. So the coding style that has
been followed is of Java only,

 Formatting

 Indentation:

o Indentation is required to increase the readability and understandability of the


code.

o Matching braces always line up vertically in the same column as their construct.

o All if, while and for statements must use braces even if they control just one
statement.

Session 2015-2019 Page 30


K - MITRA GIT DCSE

 Spacing:

o All method names should be immediately followed by a left parenthesis.

o All array dereferences should be immediately followed by a left square bracket.

o Commas and semicolons are always followed by whitespace.

o The keywords if, while, for, switch, and catch must be followed by a space.

 Class Member Ordering

 Parenthesis: Parenthesis should be used in expressions not only to specify order of


precedence, but also to help simplify the expression.

 Identifiers

 Classes and Interfaces: First letter of the class name is in Upper case.

 Packages: Package name will use lower case only.

 Coding

 Do not compound increment or decrement operators.

 Declare variable as close as possible to where they are used.

 All fields must be set up with the access modifiers.

Session 2015-2019 Page 31


K - MITRA GIT DCSE

4.2 Screenshots

 Home Page

Session 2015-2019 Page 32


K - MITRA GIT DCSE

 Login Page

 Login Page (After Filling credentials)

Session 2015-2019 Page 33


K - MITRA GIT DCSE

 Signup Page

 Signup Page (After filling required fields)

Session 2015-2019 Page 34


K - MITRA GIT DCSE

 Disease Identification Page

 Disease Identification Page (After uploading Image)

Session 2015-2019 Page 35


K - MITRA GIT DCSE

 Result Page

 Library Page

Session 2015-2019 Page 36


K - MITRA GIT DCSE

 Library Detailed Information Page

 Disease Detailed Information Page

Session 2015-2019 Page 37


K - MITRA GIT DCSE

 About Us Page

 Contact Us Page

Session 2015-2019 Page 38


K - MITRA GIT DCSE

Chapter V

TESTING

Software Testing is evaluation of the software against requirements gathered from users and
system specifications. Testing is conducted at the phase level in software development life
cycle or at module level in program code. Software testing comprises of Validation and
Verification.

5.1 Test Plan

 Software Validation

Validation is process of examining whether or not the software satisfies the user requirements.
It is carried out at the end of the SDLC. If the software matches requirements for which it was
made, it is validated.

 Software Verification

Verification is the process of confirming if the software is meeting the business requirements,
and is developed adhering to the proper specifications and methodologies.

 Testing Levels

Testing itself may be defined at various levels of SDLC. The testing process runs parallel to
software development. Before jumping on the next stage, a stage is tested, validated and
verified. Testing separately is done just to make sure that there are no hidden bugs or issues
left in the software. Software is tested on various levels -

 Unit Testing

While coding, the programmer performs some tests on that unit of program to know if
it is error free. Testing is performed under white-box testing approach. Unit testing

Session 2015-2019 Page 39


K - MITRA GIT DCSE

helps developers decide that individual units of the program are working as per
requirement and are error free.

 Integration Testing

Even if the units of software are working fine individually, there is a need to find out
if the units if integrated together would also work without errors. For example,
argument passing and data updation etc.

 System Testing

The software is compiled as product and then it is tested as a whole. This can be
accomplished using one or more of the following tests:

 Functionality testing - Tests all functionalities of the software against the


requirement.

 Performance testing - This test proves how efficient the software is. It tests the
effectiveness and average time taken by the software to do desired task.
Performance testing is done by means of load testing and stress testing where the
software is put under high user and data load under various environment conditions.

 Security & Portability - These tests are done when the software is meant to work
on various platforms and accessed by number of persons.

 Acceptance Testing

When the software is ready to hand over to the customer it has to go through last phase of
testing where it is tested for user-interaction and response. This is important because even if
the software matches all user requirements and if user does not like the way it appears or
works, it may be rejected.

 Alpha testing - The team of developer themselves perform alpha testing by using the
system as if it is being used in work environment. They try to find out how user would
react to some action in software and how the system should respond to inputs.

Session 2015-2019 Page 40


K - MITRA GIT DCSE

 Beta testing - After the software is tested internally, it is handed over to the users to
use it under their production environment only for testing purpose. This is not as yet
the delivered product. Developers expect that users at this stage will bring minute
problems, which were skipped to attend.

5.2 Test Cases and Test Results

A test case is a document, which has a set of test data, preconditions, expected results and post
conditions, developed for a particular test scenario in order to verify compliance against a
specific requirement. Test Case acts as the starting point for the test execution, and after
applying a set of input values, the application has a definitive outcome and leaves the system
at some end point or also known as execution post condition.

 Testing Process

 Review of Unit Test Specifications

 Verify the Unit Test Specifications conform to the program specifications.

 Verify that all boundary and null data conditions are included.

 A brief description of both is given below.

Session 2015-2019 Page 41


K - MITRA GIT DCSE

 Test Case 1

Table 5.1: Sign Up Test Case (Positive)

Test Scenario
Sign Up-1 Test Case ID Sign Up-1A
ID
Test Case Sign Up – Positive test
Test Priority Medium
Description case
A home page with
Pre-Requisite Post-Requisite N/A
hyperlink to Sign Up page
Test Execution Steps:

S. Expected Actual Test Test Test


Action Inputs
No. Output Output Browser Result Comments
1 Open Click ‘Sign Opens Sign Up Google Pass [Himanshu
Sign Up’ button on Sign Up Page Chrome 20/02/2013
Up home page Page opens Version 05:00]:
Page. 73.0.368 Sign Up
3.103 page opens
successful
2 Enter Aadhar No.: Sign Up Sign Up Google Pass [Himanshu
Aadhar 94445206155 successfu done Chrome 20/02/2019
No., 8 l and and user Version 05:10]:
Name, Name: directs to gets 73.0.368 Sign Up
Mobile Himanshu Plant directed 3.103 successful
No., Baghmar Disease to Plant
Email Id Email id : Identifica Disease
& himanshubagh tion page Identific
Passwor mar97@gmail ation
d and .com page
press Mobile No.:
Sign Up 9680543924
button Password:
Himanshu123

Session 2015-2019 Page 42


K - MITRA GIT DCSE

 Test Case 2

Table 5.2: Query Test Case (Positive)

Test Scenario
Query-1 Test Case ID Query-1B
ID

Test Case
Query – Positive test case Test Priority Medium
Description

Pre-
Query submission Post-Requisite N/A
Requisite

Test Execution Steps:

S. Expected Actual Test Test Test


Action Inputs
No. Output Output Browser Result Comments

1 Open Click Opens Plant Plant Google Pass [Himanshu


Plant ‘Login’ Disease Disease Chrome 05/03/2019
Disease Page on Identification Indentif Version 18:23]:
Identifi Home page Page ication 73.0.368 Query page
cation then after Page 3.103 opens
Page. login opens successfull
redirects to y
Plant
Disease
Identificatio
n Page

2 Enter Aadhar Query Query Google Pass [Himanshu


valid Number: should get done Chrome 05/03/2019
Aadhar 9444520615 Successfully and Version 18:26]:
Numbe 58 submitted User 73.0.368 Query
r and Password: and webpage 3.103 submitted
gets
Passwo should get successfull
Himanshu1 directed
rd with directed to y
23 to Plant
query Plant Disease
Query: Disease
and hit Identification Identifi
submit Login me to
page cation
button identify the
Page
disease

Session 2015-2019 Page 43


K - MITRA GIT DCSE

 Test Case 3

Table 5.3: Disease Identification Test Case (Positive)

Disease
Test Scenario ID Test Case ID Disease Identification -1C
Identification-1
Test Case Disease Identification
Test Priority Medium
Description – Positive test case
A Disease
Pre-Requisite Identification Page Post-Requisite N/A
with button to upload
Test Execution Steps:

S. Expected Actual Test Test Test


Action Inputs
No. Output Output Browser Result Comments
1 Open Plant Click Upload Image of Google Pass [Himanshu
Disease ‘Upload’ the image plant gets Chrome 20/02/2013
Identificatio button on of plant uploaded Version 05:00]:
n Page. Disease 73.0.368 Image
Identifica 3.103 Uploaded
tion successfull
page y
2 Click on Uploade Plant Plant Google Pass [Himanshu
‘Submit’ d image Disease Disease Chrome 20/02/2019
button on is taken Identifica Identificat Version 05:10]:
Disease as input tion ion done 73.0.368 Plant
Identificatio successfu and 3.103 Disease
n page l and farmer Identificati
directs to gets on
Result directed to successful
page Result
page

Session 2015-2019 Page 44


K – MITRA GIT DCSE

Chapter VI

CONCLUSION & FUTURE SCOPE

6.1 CONCLUSION

All research work regarding the requirements of the system or project was done in initial
phase. Then all the analysis, various facts and figures collected were put together to form a
structured plan for the development of the system/project.

A complete working web based application integrated with machine learning using python-
cgi, got developed where farmers will first register themselves with their aadhar number.

Once they register themselves they can access all the functionalities or features of Plant
Disease Identification and Crop Management. This web portal will be available to them 24*7
hours which they can easily access using their mobile phones or laptop having suitable
internet connection and browser.

Farmers need to upload the image of the infected disease. The trained model will then
identify the disease present in the crops. The result will be displayed using suitable interface
design. The result contains the cause, symptoms and cure of the disease. It will emerge as a
plant doctor available every time and anywhere for the crops. It will help in increasing crop
yield. Also farmers can browse through other diseases also to get knowledge of the other
diseases that a crop may suffer from. This will help farmers to take preventive measures to
protect his crops from such diseases. The farmer will be suggested with correct pesticide for
his diseased plant.

Further farmer can also view the live updates related to the agricultural industry. These live
updates will contain latest price changes of different agricultural crops, new policies by the
government for farming community different new researches etc. Also farmers will also be
able to get the weather details of a week so that they can plan their agricultural activities
accordingly. Overall this web application will prove to be a great tool for our farming

Session 2015-2019 Page 45


K – MITRA GIT DCSE

community which will help them to increase their crop yield by properly planning the
farming activities and protecting them for various diseases.

6.2 FUTURE SCOPE

Future Scope of the project:

 More security Constraints can be added i.e. Security to the system can be enhanced.

 The model can be trained more precisely by increasing the size of data set.

 Number of diseases identified can be increased by adding the knowledge data base of
different diseases.

 Aadhar number can be verified by sending an otp on the registered mobile number or
by linking the database to an authorized community.

 More precise or accurate machine learning algorithm can be developed and


implemented.

Session 2015-2019 Page 46


K – MITRA GIT DCSE

Chapter VII

REFERENCES

1. [Federico Peccia] “Weed Detection in Soybean Crops”, Version 1,


https://www.kaggle.com/fpeccia/weed-detection-in-soybean-crops

2. https://plantvillage.psu.edu/plants

3. [Sharada P. Mohanty, David P. Hughes, and Marcel Salathé] “Using Deep Learning for
Image-Based Plant Disease Detection”, 2016 Sep
22. doi: 10.3389/fpls.2016.01419,https://www.ncbi.nlm.nih.gov/pmc/articles/PMC50
32846/

4. https://plantvillage.psu.edu/diseases

5. “IdenProf”, https://github.com/OlafenwaMoses/IdenProf

Session 2015-2019 Page 47

You might also like