Upload
hoangnhi
View
239
Download
4
Embed Size (px)
Citation preview
- 1
-
VISVESVARAYA TECHNOLOGICAL UNIVERSITY
BELAGAVI
Project Report on
KRISHI REALM
(Sponsored by KSCST)
Submitted by
Akshata S Kotiyavar 2AV12CS001
Vidya S Mishrikoti 2AV12CS020
Ashwini S Hanamakkanavar 2AV12CS400
In partial fulfillment of the requirement for the award of the
Bachelor Degree
In
Computer Science and Engineering
Under the Guidance of
Prof. Raghavendra Havin BE., M.Tech.
Asst. Professor
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
A G M Rural College of Engineering and Technology
Navagrah Teerth, Varur – 581 207.
2015-2016
- 1
-
CERTIFICATE
This is to certify that the Synopsis Reporton “KRISHI REALM Let the way grow
more” is a bonafied work carried out by Akshata S Kotiyavar(2AV12CS001), Vidya S
Mishrikoti(2AV12CS020),Ashwini S Hanamakkanavar(2AV12CS400)in partial
fulfillment of VIII Semester, to award the Degree in Computer Scienceand Engineering
of the Visvesvaraya Technological University, Belagavi during the year 2015-2016. It is
certified that all corrections/suggestions indicated for Synopsis have been incorporated in
the Report.
The Report has been approved as it satisfies all the academic requirements in respect
of Synopsis as prescribed for the Degree in Engineering
Name & Signature of:-
Guide Professor & HOD Principal
(Mr.Raghavendra Havin) (Mr.Rama Chandra RaoM) (Dr. Sunil Kumar D)
External Viva
Name of the examiners with Signature and Date:-
1. _____________________
2._____________________
S.D.M. Jainmatt Trust®
A G M RURAL COLLEGE OF ENGINEERING AND TECHNOLOGY
NavagrahTeerth, Varur- 581 207
DEPARTMENT OFCOMPUTER SCIENCE AND ENGINEERING
iii
ACKNOWLEDGEMENT
We would like to avail this opportunity to thank all of the people who have stood
by us in, encouraged us, inspired us and have contributed greatly in providing us with the
joy of achievement and thrill of creative effort experienced by us all the way through the
accomplishment of ours project .
It’s our greatest privilege to express gratitude to our project guide Mr.
Raghavendra Havin , Asst. Professor, Computer Science and Engineering Department
for his excellent guidance, constant encouragement and help throughout the project.
Under his constant presence and valuable advice has led to the completion of this project.
We would like to take this opportunity to express our gratitude for the support and
guidance of Project Coordinator Mr. Raghavendra Havin, Asst. Professor, Computer
Science and Engineering Department.
We wish to express our sincere thanks to Mr. Rama Chandra Roa M.,
Associate Professor and HOD, Computer Science and Engineering Department for his
valuable suggestions, help and support.
We sincerely thank Dr. Sunil Kumar D, Principal of AGMRCET, Varur for the
support he has provided in permitting us to undertake this project.
Akshata S Kotiyavar (2AV12CS001)
Vidya S Mishrikoti (2AV12CS020)
Ashwini S Hanamakkanavar (2AV12CS400)
iv
ABSTRACT
The aim of the system is to develop a system (Application), to help in the field of
agriculture. The main objective of this app is to avoid the brokerage system by providing
direct marketing facility either to sell or to buy seeds, crops, fertilizers, insecticides and
also machinery items needed to agriculture. To provide information about different
variety of crops suitable with respect to type of soil, new methods and technologies can
be adopted to get better or good result. Here the main focus is on plant diseases and its
solutions (like precautions and solution by using correct quantity of feticides and
insecticides.)
To show some motivational thoughts/videos to motivate the farmer in order to
decrease the ratio of attempting suicide and even how to improve their growth in the field
of agriculture, by some successful persons who have achieved success in agricultural field
and their ideas. Providing some experts contact for any query of farmers or any common
person related to agriculture
v
CONTENTS
ACKNOWLEDGEMENT iii
ABSTRACT iv
CONTENTS v
LIST OF FIGURES vii
LIST OF TABLES viii
1 INTRODUCTION 1
1.1 Basic of system 2
1.2 Problem Definition 2
1.3 Existing System 3
1.4 Proposed System 3
1.5 Scope & Objective 3
2 LITERATURE SURVEY 4
3 REQUIREMENT ANALYSIS 8
3.1 Requirement Engineering 8
3.2 Types of Requirements 8
3.2.1 Functional Requirement 9
3.2.2 Non-Functional Requirement 10
3.3 Hardware & Software Requirements 10
3.4 Feasibility Study 11
3.4.1 Technical Feasibility 12
3.4.2 Operational Feasibility 12
3.4.3 Economical Feasibility 12
4 SYSTEM ANALYSIS & DESIGN 13
4.1 Design of the System 13
4.2 Design Constraints 14
4.3 E-R Diagram 15
4.4 UML Diagram 16
4.4.1 Class Diagram 16
4.4.2 Use Case Diagram 17
4.4.3 Data Flow Diagram 18
4.4.4 Sequence Diagram 19
vi
4.4.5 Collaboration Diagram 20
5 IMPLEMENTATION 22
5.1 Java 23
5.2 Server-Side Scripting 24
5.3 Database 24
5.3.1 MySQL 24
5.3.2 MySQL Turbo Manager 25
5.3.3 phpMyAdmin 25
5.4 Android 25
5.4.1 SDK plug-in for Android Studio 28
5.4.2 AVD Manager 28
5.4.3 Platforms 29
6 TESTING 30
6.1 Introduction 30
6.2 Types of testing 31
6.2.1 Black Box Testing 32
6.2.2 White Box Testing 32
6.3 Testing Strategies 33
6.3.1 Unit Testing 33
6.3.2 Integration Testing 34
6.3.3 System Testing 34
6.3.4 User Acceptance Testing 35
6.3.5 Validation Testing 36
6.4 Test Cases 36
7 RESULT AND DISCUSSIONS 40
7.1 Snapshots 40
CONCLUSION 48
SCOPE FOR FUTURE WORK 49
REFERENCES 50
vii
LIST OF FIGURES
Figure No. Name of the Figures Page No.
Figure 4.1 System design of Krishi realm 13
Figure 4.2 System design of Krishi realm 14
Figure 4.3 ER Diagram for seller and buyer 15
Figure 4.4 Class Diagram for of proposed system 16
Figure 4.5 Use Case Diagram of Krishi realm 17
Figure 4.6 Data Flow Diagram for marketing 18
Figure 4.7 Sequence Diagram for Admin 19
Figure 4.8 Sequence Diagram for User 20
Figure 4.9 Sequence Diagram for Seller 20
Figure 4.10 Sequence Diagram for Buyer 21
Figure 4.11 Collaboration Diagram 22
Figure 5.1 Steps for Application Development 28
Figure 5.2 SDK plug-in/Tool Installations 29
Figure 5.3 AVD Manager 30
Figure 7.1 Homepage of the system 42
Figure 7.2 Menu page of the Krishi Realm 43
Figure 7.3 Navigation bar of the system 44
Figure 7.4 Submenu page 45
Figure 7.5 List of crop information 45
Figure 7.6 List of crop information 46
Figure 7.7 Agri thoughts 46
Figure 7.8 Experts contacts 47
Figure 7.9 Sign up page 47
Figure 7.10 Sign in page 48
Figure 7.11 Seller Details 49
Figure 7.12 Admin Login 49
viii
LIST OF TABLES Table No. Name of the Table Page No.
Table 2.1 Experts details 04
Table 6.1 Different methods of software testing 32
Table 6.2 Test case Report on login 38
Table 6.3 Test case Report on Registration 39
Table 6.4 Test case Report on Admin module 40
Table 6.5 Test case Report on User module 41
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 1
CHAPTER 1
INTRODUCTION
India is an agriculture based developing country. 65-70% of Indian population is
being depends on agriculture for their living. Information dissemination to the knowledge
intensive agriculture sector is upgraded by mobile-enabled information services and rapid
growth of mobile telephony. It bridge the gap between the availability of agricultural
input and delivery of agricultural outputs and agricultural infrastructure Mobile
computing, cloud computing, machine learning and soft computing are the immerging
techniques which are being used in almost all fields of research. Apart from this, they are
useful in our day-to-day activities such as education, medical and agriculture. This project
explores how Android Apps agricultural services have impacted the farmers in their
farming activities.
Mobile apps in the area of agriculture can be the best option to increase countries
agriculture production. The inventions in technology in agriculture domain are not getting
to the farmers; because of either most of them are illiterates or due to unawareness of the
location from where they can have information. Hence, all most of the farmers is being
failed in acquisition of the possible production rate.
Today farmers are receiving diverse facts or information about farming like seeds,
crop selection, crop process weather, fertilizer, pesticides etc. from various resources
which are distributed on many different locations according to its origin, its producers or
vendors. The data having different format and may have different specific contents can be
heterogeneous in their structure and format. Therefore it is required to develop a system
from where the required information is available to the farmer directly.
New opportunities are shaped by smart phone technology for farmers. Farmers are
capable with a low cost smart phone and the particular software to gain facilities which
couldn„t available on their hands before. In the days of financial crisis, farming is
becoming more and more vigorous and much more important to be completed efficiently
during the time period. Several mobile applications have been developed for acquisition
of data in the field, AgroMobile, Krushiville etc. This paper deals with the analysis of
available android based applications which are useful for farm.
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 2
Horticulture is the branch of agriculture that deals with the art, science, technology,
and business of growing plants. It includes the cultivation of medicinal plants, fruits,
vegetables, nuts, seeds, herbs, sprouts, mushrooms, algae, flowers, seaweeds and non-
food crops such as grass and ornamental trees and plants.
1.1 Basics of system
Java
Java programming language used to implement source code of our project. Java is
an entire programming language resembling C or C++. It takes a sophisticated
programmer to create Java code. And it requires a sophisticated programmer to
maintain it. With Java, you can create complete applications. Or you can attach a
small group of instructions, a Java "applet" that improves your basic HTML.
My Sql
My Sql database is a collection of data treated as a unit. The purpose of a database
is to store and retrieve related information.
PHP
PHP is a server side scripting language designed for web development but also
used as general purpose programming language. PHP code may be embedded into
HTML code, or it can be used in combination with varies web template systems, web
content management system and web frameworks.
1.2 Problem definition
The aim of the system is helpful for user as follows
By providing maximum information about agriculture and reducing brokerage
system by providing marketing guidelines.
By reducing suicide attempts of farmers by presenting some motivational things
(videos/thoughts/stories).
By giving experts advise in order to get more profit and to get solution for their
respective problems.
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 3
1.3 Existing systems
Application is based on some existing system like Krishi dhan, Agri market,
Agriculture corner etc. which are already present in the market.
KRUSHI DHAN: Describes the information about list of crop arrival, list of crop
price and given platform for marketing.
AGRI MARKET: It gives the market area wise daily report for different crops.
AGRICULTURE CORNER: This will give the day today updating and new
inventions of agriculture technology.
1.4 Proposed system
Proposed system is slight differing from the existing system by applying our ideas
and slight modification to the existing system.This app will give all the information
together related to agriculture in a single system.This will have motivational
videos/thoughts which helps the farmer and all people to migrate towards agriculture.
It is mainly concentrated on various diseases of crops (plant pathology), insecticides
or pesticides that should be used, and how and which fertilizer should be used to get more
benefit. It also gives the information about sericulture, dairy farming.
1.5 Scope and Objectives
The aim of the system is to develop an App (Application) to help in the field of
agriculture.
The main objective of this app is
To avoid the brokerage system by providing direct marketing facility either to sell
or to buy seeds, crops, fertilizers, insecticides and also machinery items needed to
agriculture.
To provide information about different variety of crops suitable with respect to
type of soil, new methods and technologies can be adopted to get better or good
result. Here the main focus is on plant diseases and its solutions.
To show some motivational thoughts/videos to motivate the farmer in order to
decrease the ratio of attempting suicide.
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 4
CHAPTER 2
LITERATURE SURVEY
Several mobile applications have been developed for acquisition of data in the field
such as, Krishi ville, Krushi Dhan, Agri Market, Agriculture corner, smart krushi etc.
Krushi Dhan: It describes the information about list of crop arrival, list of crop
price and given plat form for marketing.
Agri Market: It gives the market wise daily report for different crops.
Agriculture Corner: This will give the day today updation and new inventions of
agriculture technology.
Agrian Mobile: View product labels and material safety data sheets for more than
8,000 crop protection products. Browse usage rates, preharvest and re-entry
intervals, worker safety information and more.
Farm Manager: The Farm Manager app allows farmers to record cropping,
livestock, and machinery procedures, and access this information with ease. Users
can record full history of crops from when they are sown through to harvested;
record chemical and fertilizer use, including type, rate, and date applied; and keep
track of machinery maintenance.
Krishi Ville: which would take care of the updates of the different agricultural
commodities, weather forecast updates, agricultural news updates. The application
has been designed taking Indian farming in consideration.
Kheti badi: It gives the information about Organic farming and Horticulture.
Krushi Mitra Grameen Abhivruddhi Sansthe - Karnataka is a nonprofit development
organization established on 2009 under Karnataka Societies Register Act ... ·
Table 2.1 Experts details
SL.NO. Experts Name Designation Place
1 Dr.V.B.Naragund Plant Pathology Dharwad
3 Shivaleela Ganger Dairying Gokak
4 Rajeshwary Hirematt Sericulture Bayalahongal
5 Shivanand Matapati Krushi pandit Madakavi
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 5
The Author Garima Pandey [1] suggested that Android is now the most used
mobile operating system in the world. Android now has more users, more phones and
more tablets worldwide than any other mobile operating system. The Google Play app
store has been growing at breakneck speed and with almost as many apps as the Apple
app store. This, for entrepreneurs and developers, is the chance of a lifetime to make even
more money and reach an even broader audience base. This paper gives a complete
knowledge of how to start working on eclipse and develop an application and get it run
on emulator.
Android is a Linux-based, open source mobile operating system developed by Open
Handset Alliance led by Google to develop apps for Android devices. To start with we
use a set of tools that are included in the Android SDK. Once we have downloaded and
installed the SDK, we can access these tools right from our Eclipse IDE, through the
ADT plug-in, or from the command line. Developing with Eclipse is the preferred
method because it can directly invoke the tools that we need while developing
applications. The basic steps for developing applications are shown. The development
steps encompass four development phases, which include: Setup: During this phase we
install and set up our development environment. We also create Android Virtual Devices
(AVDs) and connect hardware devices, on which we can install our applications.
Development: During this phase we set up and develop our Android project, which
contains all of the source code and resource files for our application. Debugging and
Testing: During this phase we build our project into a debug gable. apk package that we
can install and run on the emulator. Publishing: During this phase we configure and
build our application for release and distribute our application to users.
The Author Li Ma [2] suggested that today, as the developing of hardware of
mobile is getting better the performance index is much higher than the actual
requirements of the software configuration. Phone's features more depend on software.
As the Android operating system is getting more popular, the application based on
Android SDK attracts much more attention. But now, some of the Android application
interface is too cumbersome, pop-up ads is overmuch and the function is too single,
these cause some inconvenience to the users. This article presents the application by
eliminating the redundancy.
In recent years, the emergence of smart phones has changed the definition of
mobile phones. Phone is no longer just a communication tool, but also an essential part
of the people's communication and daily life. Various applications added unlimited fun
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 6
for people's lives. It is certain that the future of the network will be the mobile
terminal. Now the Android system in the electronics market is becoming more and
more popular, especially in the smart phone market. Because of the open source, some
of the development tools are free, so there are plenty of applications generated. This
greatly inspired the people to use the Android system. In addition, it provides a very
convenient hardware platform for developers so that they can spend less effort to
realize their ideas. This makes Android can get further development. As the smart
phones and Android system getting popular, the operations like listening to music,
watching videos, tweeting and some others can be moved from the computer to a
phone now.
The applications on the market today are mostly commercial applications, and
contain a large number of built-in advertising. If the user prefers to remove the built-in
advertising, a certain price must be paid to reach that and this is not convenient.
Meanwhile, because of the unfair competition of IT, many applications built illegal
program to steal user information and cause some damage to user‟s personal privacy.
Sometimes, users will pay more attention to the user experience of software.
Therefore, the development of the application can not only be limited to the function,
more attention should be paid to the user's experience. After studying some previous
Android applications and access to large amounts of materials, we utilize the Java
language, the Eclipse platform, Android ADT and the Android SDK to develop these
three mobile applications. These systems have a nice interface and smooth operation.
These Apps won‟t steal any personal information, but can exclude useless information
and bring a wonderful user experience.
The author Suhas Holla [3] suggested that in the advancing world of technology,
Mobile applications are a rapidly growing segment of the global mobile market. Mobile
applications are evolving at a meteor pace to give users a rich and fast user experience. In
this paper, Android mobile platform for the mobile application development, layered
approach and the details of security information for Android is discussed.
Android is a new, next-gen mobile operating system that runs on the Linux Kernel.
Android Mobile Application Development is based on Java language codes, as it allows
developers to write codes in the Java language. These codes can control mobile devices
via Google-enabled Java libraries. It is an important platform to develop mobile
applications using the software stack provided in the Google Android SDK. Android
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 7
mobile OS provides a flexible environment for Android Mobile Application
Development as the developers can not only make use of Android Java Libraries but it is
also possible to use normal Java IDEs. The software developers at Mobile Development
India have expertise in developing applications based on Android Java Libraries and
other important tools. ). This means that so long as there is a replacement application for
the dialer application, anyone could potentially write their own. Given this model we
might expect that, as Android becomes more robust, the user will be able to specify what
applications should handle which events.
Android Mobile Application Development is based on Java language codes, as it
allows developers to write codes in the Java language. These codes can control mobile
devices via Google-enabled Java libraries. It is an important platform to develop mobile
applications using the software stack provided in the Google Android SDK. Android
mobile OS provides a flexible environment for Android Mobile Application
Development as the developers can not only make use of Android Java Libraries but it is
also possible to use normal Java IDEs. The software developers at Mobile Development
India have expertise in developing applications based on Android Java Libraries and
other important tools.). This means that so long as there is a replacement application for
the dialer application, anyone could potentially write their own. Given this model we
might expect that, as Android becomes more robust, the user will be able to specify what
applications should handle which events.
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 8
CHAPTER 3
REQUIREMENT ANALYSIS
A software requirement specification (SRS), a requirements specification for a
software system, is a description of behaviour of system to be developed and may include
a set of use cases that describe interactions the users will have with the software. In
addition it also contains non-functional requirements.
Software requirements specification establishes the basis for agreement between
customers and contractors or suppliers (in market-driven projects, these roles may be
played by the marketing and development divisions)on what the software product is to do
as well as what it is not expected to do. Software requirements specification permits a
rigorous assessment of requirements before design can begin and reduces later redesign, it
should also provide a realistic basis for estimating product costs, risks, and schedules.
The software requirements specification document enlists enough and necessary
requirements that are required for project development. To derive the requirements we
need to have clear and thorough understanding of the products to be developed or being
developed.
The requirement of project involves the needs that should be present to give the best
result for given input. It can have following subsections-Requirement Engineering, Types
of requirements, Hardware and Software Requirement and Feasibility.
3.1 Requirement Engineering
Requirement engineering (RE) refers to the process of defining, documenting and
maintain requirements and to the subfields of systems engineering and software
engineering concerned with this process. The first use of the term „requirement
engineering‟ was probably in1979. In the waterfall model, requirement engineering is
presented at the first phase of development process.
3.2 Types of Requirements
The requirements are classified into functional requirements and non-functional
requirements. In systems engineering and requirements engineering a non-functional
requirement is requirement that specifies criteria that can be used to judge the operation
of a system, rather than specific behaviours.
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 9
This should be contrasted with functional requirements that define specific behaviour
or functions. The plan for implementing functional requirements is detailed in the system
design. The plan for implementing non-functional requirements is detailed in the system
architecture.
3.2.1 Functional Requirements
Functional requirements describe the inertia between the system and its environment
independent of its implementation. The environment includes user,admin and other
external system with which the system interacts.
The following are the functional requirements for our application as listed below:
User authentication
It includes authenticating users. Inputs include username and password.
Username and passwords are checked against the database to ensure valid user.
Valid users are allowed to access the homepage.
Admin authentication
It includes authenticating admin. Inputs include username and password.
Username and passwords are checked against the database to ensure valid admin.
Valid admin is allowed to access the admin page where hecan create accounts for
users.
Search
It allows the user to search agri information. Inputs include growing methods
and crop information. Details of the crop are fetched from the web. These crop or
agricultural details are then displayed.
Translator
Agri information is translated to both languages such as Kannada and
English
Video player
It allows the user to see motivational videos. This videos will help the
farmer to motivate and migrates towards agriculture. These videos contains new
technology applied to the agriculture, some successive stories of the farmers.
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 10
3.2.1 Non Functional Requirements
The non-functional requirement elaborates a performance characteristic of the system.
Non-functional requirements impose constraints on the design or implementation (such as
performance engineering requirements, quality standards, or design constraints).The
following are the functional requirements for our application as listed below:
Performance- The response time is short for the requested service, the application
provides user friendly interface.
Reliability- The application is highly realistic and generates all update information
in correct order.
Security- The application is secured and authentication is provided by proper
login.
Availability- The application is available all the time.
Portability- The application is portable on any android device.
3.3 Hardware & Software Requirements
Hardware Requirements
Hardware requirements is most common set of requirements defined by any operating
system or software application is the physical computer resources, also known as
hardware, A hardware requirements list is often accompanied by a hardware
compatibility list (HCL), especially in case of operating systems. An HCL lists tested,
compatible, and sometimes incompatible hardware devices for a particular operating
system or application. The following sub-sections discuss the various aspects of hardware
requirements. Hardware that is required for this project can be listed as follows:
Laptop/PC for Android Application Development.
Server (Windows 7/8/10 (32-bit or 64-bit)).
Android Mobile with minimum android version 4.0
Software Requirements
Software requirements deal with defining software resource requirements and
prerequisites that need to be installed on a computer to provide optimal functioning of an
application. These requirements or prerequisites are generally not included in the
software installation package and need to be installed separately before the software is
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 11
installed. Software that are required for this project can be listed as follows:
2 GB RAM minimum and 8 GB RAM recommended.
2 GB of available disk space minimum.
4 GB recommended (500 MB for IDE + 1.5 GB for Android SDK and emulator
system image)
1200x800 minimum screen resolution.
Java Development Kit (JDK) 8
For accelerated emulator: 64-bit operating system and Intel® processor with
support for Intel® VT-x, Intel® EM64T (Intel® 64), and Execute Disable (XD)
Bit functionality
Android Studio 2.0
Wamp Server Version 2.5
Mysql Database version 5.6
3.4 Feasibility Study
Feasibility study is an important phase in software development process it enables
the developers to have an assessment of the product being developed. It refers to
feasibility study of the product in terms of outcomes of the product of operational use and
technical support required for implementing it. An analysis and evaluation of a proposed
project to determine if it is technically feasible, is feasible within the estimated cost, and
will be profitable. Feasibility studies are almost always conducted where large sums are
at stake.
Technical Feasibility
Operational Feasibility
Economical Feasibility
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 12
3.4.1 Technical Feasibility
The technologies required for our application is easily available in the market. Also
the software can be implemented with existing technical resources. Technical feasibility
is one of the first studies that must be conducted after the project has been identified.
The Technical Feasibility Study calculates materials required and assesses the details
of how you will deliver a product or service. The data which we want to access will be
available very easily.
This app is built for smart phones on android platform using java and xml codes. So
it is a best way to reach all people because smart phones are so easy to handle. It requires
database or server to store information, so that it can be accessed whenever user request
it.
3.4.2 Operational Feasibility
Operational feasibility is a measure of how well a proposed system solves the
problems, and takes advantage of the opportunities identified during scope definition. The
proposed application is user friendly with good GUI. As control and operation is through
android so anybody owning an android mobile can use our application. User interface is
designed in such a way that any literate person can easily use the system, further we will
upgrade the system for the use of all kind of people.
Krishi realm is an user friendly app.
It provides marketing guideline and information about selling buying items.
It provides complete information about crop information etc.
3.4.3 Economical Feasibility
It is used to determine the benefits and savings that are expected from a proposed
system. Expenditure incurred for developing the new system will be cost effective or not.
It is used to determine the benefits and savings that are expected from proposed
system
As this system is open source it will not cost much.
It requires only android platform, i.e. smart phones which are widely used now a
days.
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 13
CHAPTER 4
SYSTEM ANALYSIS & DESIGN
4.1 Design of the System
System design provides an overall understanding and provides a detailed procedural
flow of information. System design goes through three phases of development.
Logical Design
Physical Design
Input Design
Figure 4.1 System Design of Krishi realm
The System requires the buyer/seller to sign up with his email id and password. Upon
successful verification, the registration details are written through a PHP script and HTTP
Client Server APIs into a Mysql database at a remote central server. Every time the user
attempts to login, the database table is queried for the username-password pair and
accordingly grants further access or not. The process is summarized in figure.4.1
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 14
Figure 4.2 System Design of Krishi realm
4.2 Design Constraints
This section describes any constraints in the system design (reference any trade-off
analysis conducted such as, a resource use versus protectivity, or conflicts with other
system) and includes any assumption and general constraints made by project team in
developing system design. Design constraints represent design decisions that have been
mandated and must be adhered to. Examples include software languages, software
process requirements, prescribed use of development tools, architectural and design
constraints, purchased components, class libraries, etc.
In system design, a design constraint refers to some limitation on the conditions
under which a system is developed, or on the requirements of the system. The design
constraint could be on the systems form, fit or function or could be in the technology to
be used, materials to be incorporated, time taken to develop the system, overall budget,
and so on. A design constraint is normally imposed externally, either by the organization
or by some external regulation. During system design, it is as important to identify each
design constraint as it is to elicit requirements since the design constraints place an
overall boundary around the system design process.
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 15
4.3 E-R Diagram
An entity-relationship diagram is a data modelling technique that graphically
illustrates an information system‟s entities and the relationships between those entities.
An ERD is a conceptual and representational model of data used to represent the entity
framework infrastructure.
In software Engineering, an Entity-relationship model(ER model) is a data model
for describing the data or information aspects of a business domain or its process
requirements, in an abstract way that lends itself to ultimately being implemented in a
database such as relational database.
The main components of ER model are entities (things) and the relationships that
can exist among them. For describing the data or information aspects of a business
domain or its process requirements.
Figure 4.3 ER-Diagram for seller and buyer
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 16
The above figure 4.3 consists of
Entity
Attributes
Entities are the phrases which are enclosed in ovals like Name, Cost etc. Attributes
are the phrases which are enclosed in rectangles like Seller, Buyer etc.The phrases which
are enclosed in rhombus are actions.
4.4 UML Diagram
The unified modelling language is standard language for specifying, visualizing,
constricting and documenting the software system and its component. It is a graphical
language, which provides vocabulary and set of semantics rules. The UML focuses on
conceptual and physical representation of system. It captures the decisions and
understanding about system that must be constructed. It is used to understand, design,
configure, maintain, and control information about the system.
4.4.1 Class Diagram
A class diagram is graph classifier element connected by their various static
reletionships.Note that a class diagram consist of interfaces, packages, relationships, and
even instances such as objects and links.
Figure 4.4 Class Diagram of Proposed System
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 17
The above class diagram (figure 4.4) shows three classes i.e. USER,
APPLICATION, and SERVER. User class has attributes like name, email id, contact etc.
Server class has attributes like server id, server name etc. Application class has attributes
like app name. All these class have some functions they are User class has request,
search, get info. Server class has services. Application class has get request, send request,
display.
4.4.2 Use Case Diagram
The diagram shows a set of use cases and actors and their relationships. This diagram
illustrates the static use case view of a system and is important in organizing and
modelling the behaviour of a system. The use case system is used to identify the primary
elements and processes that form the system.
Figure 4.5 Use case Diagram of Krishi Realm
The figure 4.5 shows use case diagram where admin and users are the actors and
phrases in ovals are cases. Admin is responsible of maintaining all the use cases. User
work is to register, login, and search crop information/ Agri thoughts etc.
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 18
4.4.3 Data Flow Diagram
When it comes to conveying how information data flows through systems (and how
that data is transformed in the process), data flow diagrams (DFDs) are the method of
choice over technical descriptions for three principal reasons.
DFDs are easier to understand by technical and nontechnical audiences
DFDs can provide a high level system overview, complete with boundaries and
connections to other systems
DFDs can provide a detailed representation of system components
DFDs help system designers and others during initial analysis stages visualize a
current system or one that may be necessary to meet new requirements. Systems analysts
prefer working with DFDs, particularly when they require a clear understanding of the
boundary between existing systems and postulated systems. DFDs represent the
following:
External devices sending and receiving data
Processes that change that data
Data flows themselves
Data storage locations
Figure 4.6 Data Flow Diagram for Marketing
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 19
The Figure 4.6 shows the data flow diagram for the system. Where user has to login
or register by giving details, if the details are authenticated then only he will be logged in
successfully. User can access the marketing information from database.
4.4.4 Sequence Diagram
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 scenario in graphical manner. Sequence diagram is interaction which shows the
interaction between participants.
Figure 4.7 Sequence Diagram for Admin
In the above figure 4.7 Admin, System and Database are the objects, initially admin
will login to the system to Upload or Change any data, then once the changes are applied
system will give response like success, and the Admin will logout.
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 20
Figure 4.8 Sequence Diagram for User
In the above figure 4.8 User, System, Database are the objects. Initially user enters
into the system, then user will get welcome message from the system. User request for
information which is stored in the database and it is retrieved whenever user request.
Figure 4.9 Sequence Diagram for Seller
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 21
In the above figure 4.9 Seller, System, Database are the objects. Initially seller enters
into the system, then seller will get welcome message from the system. Once seller login
to the system, he will get acknowledgement then seller adds all selling product
information to the system that will stored in database.
Figure 4.10 Sequence Diagram for Buyer
In the above figure 4.10 Buyer, System, Database are the objects. Initially buyer
enters into the system, then buyer will get welcome message from the system. Buyer
request for information which is stored in the database and it is retrieved whenever buyer
request.
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 22
4.4.5 Collaboration Diagram
It shows the object organization as shown below. Here in collaboration diagram the
method call sequence is indicated by some numbering technique as shown below. The
number indicates how the methods are called one after another.
The method calls are similar to that of a sequence diagram. But the difference is that
the sequence diagram does not describe the object organization whereas the collaboration
diagram shows the object organization.
Now to choose between these two diagrams the main emphasis is given on the type
of requirement. If the time sequence is important then sequence diagram is used and if
organization is required then collaboration diagram is used.
Figure 4.11 Collaboration Diagram of User
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 23
CHAPTER 5
IMPLEMENTATION
Implementation is the process of converting a new system into an operational one.
The designed system is converted to an operational one using suitable programming
language. Implementation includes all those activities that take place to convert an old
system to new. Proper implementation is essential to provide a reliable system to meet
organizational requirement. The main implementation of this project is to provide tourism
functionalities through Smartphone.
Android studio is made used as the development platform of this project because it
comes loaded with features like:
Open source platform
Support multi functions
Rich tools to make interactive applications
Free software for developing applications
For the implementation purpose java is used for back-end logic because of its features
like:
Portability
Platform Independence
Robust
Great market reach
System implementation includes all those activities that take place to convert from the
old system to the new one. The new system may be totally new, replacing an existing
manual or automated system or it may be a major modification to an existing system.
Proper implementation is essential to provide a reliable system to meet organization
requirements. Successful requirements may not guarantee improvements in the
organization using the new system, but improper installation will prevent it. The process
of putting the developed system in actual use is called system implementation. The
system can be implemented only after thorough testing is done and if it is found to be
working according to the specification. The system personnel check the feasibility of the
system.
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 24
The implementation stage involves following tasks.
Careful planning.
Investigation of system and constraints.
Design of methods to achieve the changeover.
Training of the staff in the changeover phase.
Evaluation of the changeover method.
The most crucial stage is achieving a new successful system and giving confidence on
the system for the user that it will work efficiently and effectively. It involves careful
planning, investigation of system of the current system and its constraints on
implementation, design of method to achieve the changeover.
The more complex system being implemented, the more involves will be the system
analysis and the design effort required just for implementation. The system
implementation has three main aspects. They are education and training, system testing
and changeover.
5.1 Java
Java is one of the best Object Oriented Programming languages in today‟s world. Its
usefulness can be easily seen by the growing number of devices using java to achieve
their functionality. From mobiles to PDA‟s to computers and now a day‟s even in space
vehicles. Java is everywhere. So let‟s take a preview of java and see the reasons for its
popularity with programmers.
Although the fundamental forces that necessitated the invention of Java are
portability and security, other factors also played an important role in molding the final
form of the language. The key considerations were summed up the Java team in the
following list of buzzwords
Simple
Secure
Portable
Object-oriented
Robust
Multithreaded
Architectural-neutral
Interpreted
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 25
High performance
Distributed
Dynamic
5.1 Server-Side Scripting
PHP is a recursive acronym for "PHP: Hypertext Preprocessor". It is a server side
scripting language that is embedded in HTML. It is used to manage dynamic content,
databases, session tracking, even build entire e-commerce sites. It is integrated with a
number of popular databases, including MySQL, PostgreSQL, Oracle, Sybase, Informix,
and Microsoft SQL Server.
PHP is pleasingly zippy in its execution, especially when compiled as an Apache
module on the Unix side. The MySQL server, once started, executes even very complex
queries with huge result sets in record-setting time. It supports a large number of major
protocols such as POP3, IMAP, and LDAP. PHP4 added support for Java and distributed
object architectures (COM and CORBA), making n-tier development a possibility for the
first time.
PHP is forgiving: PHP language tries to be as forgiving as possible.
PHP Syntax is C-Like.
Advantages of PHP
Open source.PHP is completely free
PHP can be easily embedded directly into HTML
Platform independent can run on Windows Linux or Mac servers
Run faster on the internet and easily integrate AJAX, Callback etc
Interfaces very easily with Apache/MySQL
Lots of good books and on-line help
It‟s available with documentation in many languages
5.3 Database
A database is an organized collection of data. The data are typically organized to
model relevant aspects of reality in a way that supports processes requiring this
information.
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 26
5.3.1 MySQL
MySQL is a relational database management system (RDBMS), and ships with
no GUI tools to administer MySQL database or manage data contained within the
databases.
5.3.2 Mysql Turbo Manager
Mysql Turbo Manager is a powerful software solution for Mysql Database
administration and development. With a very intuitive interface you will save time and
money. Mysql Turbo Manager works with all Mysql versions from 3.23 to 5.0.18 and
supports all MySQL features including tables, views, procedures, functions, triggers,
InnoDB Tables, foreign keys , UDFS, BLOB Types and so on. Also, it includes the most
advanced options for data manipulation, reports generation, create and execute queries,
execute scripts, database monitor, export and import data.MySQL Turbo Manager is a
professional database tool for expert and newbie mysql users. a powerful software
solution for MySQL Database administration and development. With a very intuitive
interface you will save time and money. MySQL Turbo Manager works.
5.3.3 PHPMyAdmin
PHPMyAdmin is a free and open source tool written in PHP intended to handle the
administration of MySQL or MariaDB with the use of a web browser. It can perform
various tasks such as creating, modifying or deleting databases, tables, fields or rows;
executing SQL statements; or managing users and permissions. Features provided by the
program include:
Web interface
MySQL and MariaDB database management
Import data from CSV and SQL
Administering multiple servers
Creating complex queries using Query-by-Example(QBE)
Searching globally in a database or a subset of it
Transforming stored data into any format using a set of predefined functions, like
displaying BLOB-data as image or download-link
Working with different operating systems
Creating PDF graphics of the database layout
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 27
Export data to various formats: CSV, SQL, XML, PDF (via the TCPDF library),
ISO/IEC 26300-OpenDocument Text and Spreadsheet, Word, Excel, LaTeX and
others.
5.4 Android
Android is a Linux-based, open source mobile operating system developed by Open
Handset Alliance led by Google to develop apps for Android devices. To start with user
causes a set of tools that are included in the Android SDK. Once it has been downloaded
and installed the SDK, one can access these tools right from Eclipse IDE, through the
ADT plug-in, or from the command line. Developing with Eclipse is the preferred
method because it can directly invoke the tools that are needed while developing
applications.
The basic steps for developing applications are shown in Figure 5.1. The development
steps encompass four development phases, which include:
Setup: During this phase one can install and set up development environment.
Also creates Android Virtual Devices (AVDs) and connect hardware devices, on
which one can install this applications.
Development: During this phase one has to set up and develop android project,
which contains all of the source code, resource files for this application.
Debugging and Testing: During this phase one can build android project into a
debug gable. Apk package that user can install and run on the emulator.
Publishing: During this phase configure and build android application for release
and distribute this application to users.
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 28
Figure 5.1 Steps for Application Development
Android Studio is the official Integrated Development Environment (IDE) for
android platform development. It contains a base workspace and an extensible plug-in
system for customizing the environment. Written mostly in java, Android Studio can be
used to develop application in Java. The Android Studio Software Development Kit
(SDK), which include the Java development. Users can extend its abilities by installing
plug-ins written for Android Studio platforms such as development toolkits for other
programming languages and can write and can contribute their own plug-in modules.
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 29
5.4.1 SDK plug-in for Android Studio
Software Development Kit (SDK) is a plug-in for the Android Studio IDE that is
designed to give us a powerful, integrated environment in which to build Android
applications.
SDK extends the capabilities of Android Studio to let us quickly set up new Android
projects, create an application UI, add packages based on the Android Framework.
Developing in Android Studio with SDK is highly recommended and is the fastest way to
get started. With the guided project setup it provides, as well as tools integration, custom
XML editors, and debug output pane, SDK gives us an incredible boost in developing
Android application.
Following steps are used to download and install the ADT plug-in:
Start Eclipse, and then select Help à Install New Software.
Click Add (in the top-right corner)
Figure 5.2 SDK-Plug-in/Tool Installations
5.4.2 AVD Manager
The AVD Manager provides a graphical user interface in which user can create
and manage Android Virtual Devices (AVDs), which are required by the Android
Emulator.
For emulation, user need to define a device
Select Window à Android AVD Manager from the menu Figure 5.3
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 30
Figure 5.3 AVD Manager
5.4.3 Platforms
The platforms used for this project are:
Front End: Android and HTML
Back End: PHP and XML.
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 31
CHAPTER 6
TESTING
6.1 Introduction
Testing goes side by side with the implementation that is aimed at ensuring that the
system works accurately and efficiently before the live operation is performed. The
common view of testing held by the user is to ensure that there are no errors in a program.
Testing usually means the process of executing a program with explicit intention of
handling errors.
Testing is the process of evaluating a system or its component(s) with the intent to
find whether it satisfies the specified requirements or not. In simple words, testing is
executing a system in order to identify any gaps, errors, or missing requirements in
contrary to the actual requirements. According to ANSI/IEEE 1059 standard, Testing can
be defined as - A process of analyzing a software item to detect the differences between
existing and required conditions (that is defects/errors/bugs) and to evaluate the features
of the software item.
It depends on the process and the associated stakeholders of the project(s). In the IT
industry, large companies have a team with responsibilities to evaluate the developed
software in context of the given requirements. Moreover, developers also conduct testing
which is called Unit Testing. In most cases, the following professionals are involved in
testing a system within their respective capacities:
Software Tester
Software Developer
Project Lead/Manager
End User
An early start to testing reduces the cost and time to rework and produce error-free
software that is delivered to the client. However in Software Development Life Cycle
(SDLC), testing can be started from the Requirements Gathering phase and continued till
the deployment of the software. It also depends on the development model that is being
used. Testing is done in different forms at every phase of SDLC:
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 32
During the requirement gathering phase, the analysis and verification of
requirements are also considered as testing.
Reviewing the design in the design phase with the intent to improve the design is
also considered as testing.
Testing performed by a developer on completion of the code is also categorized as
testing.
It is difficult to determine when to stop testing, as testing is a never-ending process
and no one can claim that a software is 100% tested. The following aspects are to be
considered for stopping the testing process:
Testing Deadlines
Completion of test case execution
Completion of functional and code coverage to a certain point
Bug rate falls below a certain level and no high-priority bugs are identified
Management decision
6.2 Types of testing
Table 6.1 Different methods of software testing.
TEST TYPE DESCRIPTION WHITE/BLACK
BOX
Unit Tests a small unit of software application. White box
Integration Tests the interaction of small modules of a
Software application.
White or Black
box
Acceptance Testing conducted by a user to verify that the
System meets the acceptance criteria.
Black box
Registration Tests new functionality in a program
Registration testing is done by running all of the
previous unit tests written for a program, if they
all pass, then the new functionality is added to
the code base.
White box
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 33
Functional
and System
Verifies the entire software system satisfies the
requirements.
Black box
6.2.1 Black box testing
Black box testing allows the tests that are conducted at the software interface. A
black box test examines some fundamentals aspect of a system with little regard for the
internal logical structure of the system. The system is a black box whose behaviour can
only be determined by studying its inputs and related output.
The technique of testing without having any knowledge of the interior workings of
the application is called black-box testing. The tester is oblivious to the system
architecture and does not have access to the source code. Typically, while performing a
black-box test, a tester will interact with the system's user interface by providing inputs
and examining outputs without knowing how and where the inputs are worked upon.
Advantages
Well suited and efficient for large code segments.
Code access is not required.
Clearly separates user's perspective from the developer's perspective through
visibly defined roles.
Large numbers of moderately skilled testers can test the application with no
knowledge of implementation, programming language, or operating systems.
Disadvantages
Limited coverage, since only a selected number of test scenarios is actually
performed.
Inefficient testing, due to the fact that the tester only has limited knowledge about
an application.
Blind coverage, since the tester cannot target specific code segments or error-
prone areas.
The test cases are difficult to design.
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 34
6.2.2 White box testing
White box testing strategy deals with the internal logic and structure of the code.
White box testing is also called as glass structural, open box or clear box testing .The
tests written based on the white box testing strategy incorporate coverage of the code
written, branches, paths, statements and internal logic of the code etc. In order to perform
white-box testing on an application, a tester needs to know the internal workings of the code. The
tester needs to have a look inside the source code and find out which unit/chunk of the code is
behaving inappropriately.
Advantages
As the tester has knowledge of the source code, it becomes very easy to find out
which type of data can help in testing the application effectively.
It helps in optimizing the code.
Extra lines of code can be removed which can bring in hidden defects.
Due to the tester's knowledge about the code, maximum coverage is attained
during test scenario writing.
Disadvantage
Due to the fact that a skilled tester is needed to perform white-box testing, the
costs are increased.
Sometimes it is impossible to look into every nook and corner to find out hidden
errors that may create problems, as many paths will go untested.
It is difficult to maintain white-box testing, as it requires specialized tools like
code analyzers and debugging tools.
6.3 Testing Strategies
6.3.1 Unit Testing
The software units in a system are the modules and routines that are assembled and
integrated to perform a specific function. Unit test focuses first on the modules,
independent of one another to locate errors. This enables the programmer to detect errors
in coding and logic that exists within that module along. While testing the module the
concept of trace and breakpoints are applied at different stages of testing. The unit testing
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 35
of android application on college management server was done in a way where each and
every module was tested with a certain set of test data to ensure that the system works
accurately. The unit testing was carried out successful.
This type of testing is performed by developers before the setup is handed over to the
testing team to formally execute the test cases. Unit testing is performed by the respective
developers on the individual units of source code assigned areas. The developers use test
data that is different from the test data of the quality assurance team.
The goal of unit testing is to isolate each part of the program and show that
individual parts are correct in terms of requirements and functionality.
Limitations of Unit Testing
Testing cannot catch each and every bug in an application. It is impossible to
evaluate every execution path in every software application. The same is the case
with unit testing.
There is a limit to the number of scenarios and test data that a developer can use to
verify a source code. After having exhausted all the options, there is no choice but
to stop unit testing and merge the code segment with other units.
6.3.2 Integration Testing
In integration testing the related modules are combined and the modules were
executed to with a certain set of test data to ensure that the system works accurately. The
integration test was carried out successfully. Integration tests are designed to test
integrated software components to determine if they actually run as one program.
Testing is event driven and is more concerned with the basic outcome of screens or fields.
Integration tests demonstrate that although the components were individually satisfaction,
as shown by successfully unit testing, the combination of components is correct and
consistent. Integration testing is specifically aimed at exposing the problems that arise
from the combination of components.
Software integration testing is the incremental integration testing of two or more
integrated software components on a single platform to produce failures caused by
interface defects. The task of the integration test is to check that components or software
applications, e.g. components in a software system or – one step up – software
applications at the company level – interact without error
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 36
6.3.3 System Testing
In this system providing security by using Android, it provides a very good security
to system. The system performance is very good. There is less chances of getting error. If
the user gives the right input to the system then the system will generate the required
output. If the user doesn‟t give the right input then the system does not respond. The
performance is very fast.
At the culmination of integration testing, software is completely assembled as a
package; interfacing errors have been covered and corrected, and final series of software
tests-validating testing may begin. Validation can be defined in many ways, but a simple
definition is that validation succeeds when software functions in a manner that can be
reasonably expected by customers. Reasonable expectation is defined in the software
requirement specification- a document that describes all user visible attributes of the
software. The specification contains a section title “validation criteria”. Information
contained in that section forms the basis for validation testing approach.
System testing is important because of the following reasons:
System testing is the first step in the Software Development Life Cycle, where the
application is tested as a whole.
The application is tested thoroughly to verify that it meets the functional and
technical specifications.
The application is tested in an environment that is very close to the production
environment where the application will be deployed.
System testing enables us to test, verify, and validate both the business
requirements as well as the application architecture.
At the culmination of integration testing, software is completely assembled as a
package; interfacing errors have been covered and corrected, and final series of software
tests-validating testing may begin. Validation can be defined in many ways, but a simple
definition is that validation succeeds when software functions in a manner that can be
reasonably expected by customers. Reasonable expectation is defined in the software
requirement specification- a document that describes all user visible attributes of the
software. The specification contains a section title “validation criteria”. Information
contained in that section forms the basis for validation testing approach.
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 37
6.3.4 User Acceptance Testing
User acceptance testing is the validation of all system requirements. This testing is
performed to demonstrate to the client, on the real-life data of the client, the operation of
the system.
6.3.5 Validation Testing
This approach focuses on the need for consistent and thorough quality assurance
processes, standards, and guidelines. Implemented through test planning and
management, an independently executed software testing process becomes a key element
in ensuring quality in mission-critical projects and the long-term success of any
organization. We have done unit testing, integration testing and system testing and even
tried out our hands at user-accepting tests and the results were really pleasing.
Unit testing was done with the different modules. Modules which were built early like
the business logic were tested by giving the input through keyboard rather than the
modem. It was tested intensively for a large sample of inputs. Since in java I/O acts in the
same way whether it comes from a serial port or a keyboard made it possible to test a
near real world scenario even without a modem.
6.4 Test Case
A test case is a set of conditions under which tester will determine whether an
application, software system or one of its features are working as it was originally
established for it to do software system or one of its features are working as it was
originally established for it to do testing.
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 38
Table 6.2 Test Case Report on Login
Test
case
ID
T-description Expected result Actual result Result
1 Enter invalid username and
password
Should not login Invalid
username
Pass
2 Username:empty
password:fill with empty
character
Should validate
username field
Username must
be field out
Pass
3 Select type as user and
login with profession and
password
Should not login Invalid
username or
password
Pass
4 Enter user name with
empty field
Should validate
password field
Password must
be filled out
Pass
5 Enter correct username and
password and click on
login
Should validate if
correct should
login
Entered into
index page
Pass
6 Click on register page Should enter in to
the reg pages
Entered into reg
page
Pass
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 39
Table 6.3 Test Case Report on Registration
Test
Case
ID
T-description Expected
result
Actual result Result
1 Entered fullname with
special chart and
numbers and click on
register
Should
validate
An alert message
name should be of
only characters
Pass
2 Enter username that
already exists
Should not
register and
validate with
password
Username already
exitsts
Pass
3 Entered email with only
numbers value and click
on register
Should not
register
Invalid email Pass
4 Entered email ending
with an special
character or numbers
Should not
register
Invalid email Pass
5 Enter correct email and
click on register
Should
validate if
correct should
register
Successfully
registered
Pass
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 40
Table 6.4 Test Case Report on Admin module
Test
case
ID
T-description Expected result Actual result Result
1 Click on view buyer
link in admin page
Should list out all
buyer names
Buyer list is
displayed
Pass
2 Click on view seller link
in admin page
Should list all
seller names
Seller list is
displayed
Pass
3 Click on delete button
on specified category of
product
Details of
specified
category should
be removed
Category details
removed
Pass
4 Click on edit button on
specified item(product)
Details of
specified product
should be
removed
Product removed Pass
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 41
Table 6.5 Test Case Report on user module
Test
case
ID
T-description Expected result Actual result Result
1 Click on item to place
the order
Should navigate
to ides‟s page
Navigated Pass
2 Submit without filling
the quantity column
Should be
validated
Idea field
should be
filled out
Pass
3 Submit with filling the
quantity column
Should be posted Posted
successfully
Pass
4 Click on log out page Should navigate
to home page
Navigate to
home page
Pass
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 42
CHAPTER 7
RESULTS AND DISCUSSION
In this chapter it represents overall flow of this Real Time Operating System, results
and outer view with its brief discussions.
7.1 Snapshots
Figure 7.1 shows initial home page of Krishi Realm Android system Users can have
the options to choose Languages at the Welcome page, where Users are given an option
to choose among English or Kannada. On click of any of the languages, subsequent pages
in android app will be reflected with selected language.
Figure 7.1 Home page of the system
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 43
Figure 7.2 Menu page of Krishi Realm
Figure 7.2 Menu page of Krishi Realm presents with number of options, on click of
navigation bar present in the top left corner. If Kannada language is selected, Menu items
will be listed in Kannada and if English language is selected Menu options will be
displayed in English.
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 44
Figure 7.3 Navigation bar of the system
On Click of Agriculture information, Submenu items were presented which contains
following options,
Crop Information
Sericulture
Dairy Farming
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 45
Figure 7.4 Submenu page of the system
On click of Sericulture and Dairy Farming, detailed information about those would be
presented for users.
Figure7.5 List of Crop Information
On click of Crop Information, Kinds of crops are listed under which subsequent crops
belonging to respective crop category will be given detailed information.
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 46
Figure 7.6 List of Crop Information
To educate farmers, Krushi Realm also presents the farmers with set of educational
videos updated time to time. App also contains Thoughts page to inspire farmers.
Figure 7.7 Agri Thoughts Information
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 47
In case of any queries or difficulties farmers can query their question to experts. Experts
information can be availed under Experts option of navigation menu.
Figure 7.8 Experts Contact Details
The System requires the buyer/seller to sign up with his email id and password. Upon
successful verification, the registration details are written through a PHP script and HTTP
Client Server APIs into a MySQL database at a remote central server. Every time the user
attempts to login, the database table is queried for the username-password pair and
accordingly grants further access or not.
Figure 7.9 Sign up page for Seller /Buyer
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 48
For scenarios such as Seller login or Buyer login same Android mobile to Server
communication is maintained. When Seller logs in, Seller will be presented with form to
fill up product details and space to upload image of product. On click of Store button php
script executes on the server side to upload data to mysql database.
When Buyer logs in, Seller will be presented with list of product details with seller
information available for buyer to contact him. On click of Buyer‟s login button php
script executes on the server side to fetch data from mysql database and display it on the
android device.
Figure7.10 Sign in page for Seller/Buyer
Buyers / Sellers can login to Sell or Buy products through marketing tab under navigation
menu.
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 49
Figure7.11 Seller Product Details
Admin Login provision is allowed for Admin to Enter Server IP address accordingly.
Figure 7.12 Admin Login
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 50
CONCLUSION
The proposed system provides the following features
Provides plat form for marketing.
Gives information about different types of crops.
Gives information about experts details so that the people can clear their doubts.
Presenting some motivational videos/thoughts to motivate farmers and to attract
the people towards agriculture.
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 51
SCOPE FOR FUTURE WORK
This expert system or interface will need to be researched further for implementation.
Hence future of this task lies in developing the actual system schema and adding extra
new functionalities which may be implementation specific. The proposed interface can
overcome the language barrier which are main challenges of growing the ICT
(information and communication technology) also cost of development includes in speech
recognition, text-to- speech. In future, the scope of this system or interface can be
increased by adding extra various functionalities.
KRISHI REALM
DEPT. OF COMPUTER SCIENCE AND ENGINEERING, AGMRCET 52
REFERENCE
[1]. Dr.V.B.Nargund pathology dept.Agricultural university dharwad. University of
Agricultural Sciences, Dharwad, (UASD) is a State Agriculture ... of Agricultural
Sciences Dharwad.
[2]. Prasad S, Peddoju, S. K, & Ghosh, D. (2013) AgroMobile: A Cloud Based
Framework for Agriculturists on Mobile Platform‖, International Journal of
Advanced Science and Technology, 59, 41 -52
[3]. Singhal, M., Verma, K, & Shukla, A. (2011, December) Krishi Ville Android
Based solution for Indian agricultural, In Advanced Networks and
Telecommunication Systems (ANTS), 2011 IEEE 5thInternational Conference on
(pp.-5).IEEE.
[4]. www.uasd.edu/ dharwad/
[5]. https://en.wikipedia.org/.../
[6]. Krishi Vigyan Kendra (KVK) http://www. icar. org. in/krishi-vigyan- kendra. htm
[7]. Kissan Kerala http://www. kissankerala. net/mobile/index. jsp#mobile