Vous êtes sur la page 1sur 82

Farmer Market (Android App)

By

Mahaz Nisar
(11-Arid-706)

Ehtisham Afzal Satti


(11-Arid-690)
Salik Latif
(11-Arid-748)

Supervised by
Sir Danish

A PROJECT SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS


OF THE DEGREE OF
BACHELOR OF SCIENCE IN COMPUTER SCIENCE
BSCS

UNIVERSITY INSTITUTE OF INFORMATION TECHNOLOGY


PMAS ARID AGRICULTURE UNIVERSITY
RAWALPINDI
2015

Dedicated to our beloved parents and to all those, whose


Prayers always pave the way to success for us.

PROJECT IN BRIEF

Project Title

: Farmer Market

Organization

: University Institute of Information Technology

Objectives

: Provide ease for famers to sell their crops

Undertaken By

: Mahaz Nisar, Ehtisham Afzal Satti, Salik Latif

Supervised By

: Sir Danish

Date Started

: 15 Feb, 2015

Date Completed

: 03 July, 2015

Technologies used

: Android 5.0, 4.4

Operating System

: Window 8.1

System Used

: Laptop (Core 2 due, Core i3)

ACKNOWLEGEMENT
Thanks to Almighty Allah for giving us knowledge, power and strength to accomplish this task.
We learned a lot while doing this project and this will certainly help us in our forth coming life.
Many friends of us helped us during this project specially we are really thankful to the help and
support of Mr. Danish from Institute of Information Technology, who helped us in all the phases
of this project. His supervision helped us a lot during the times of difficulties. In the end we
would like to thank all of our friends for their support and encouragement.

Mahaz Nisar

Ehtisham Afzal Satti

Salik Latif

DECLARATION
We hereby declare that this software, neither as a whole nor as a part has been copied out from
any source. It is further declared that we have developed this software and accompanied report
entirely on the basis of my/our personal efforts. If any part of this project is proved to be copied
out from any source or found to be reproduction of some other. We will stand by the
consequences. No portion of the work presented has been submitted in support of any application
for any other degree or qualification of this or any other university or institute of learning.

Mahaz Nisar

Ehtisham Afzal Satti

Salik Latif

CERTIFICATION
It is certified that the contents and form of the project entitled Farmer Market submitted by
Mahaz Nisar (11-arid-706), Ehtisham Afzal Satti (11-arid-690) and Salik Latif (11-arid-748) has
been found satisfactory for the requirements of

PMAS - Arid Agriculture University, Rawalpindi

For the award of the degree of

BACHELOR OF SCIENCE IN COMPUTER SCIENCE


BS (CS)

Supervisor:______________________
Mr. Danish

Member 1: ______________________

Member 2: ______________________

Dated:

Director: _______________________

Dr. Mubashir Riaz Khan

ABSTRACT
Technology develops day by day in the world. Our project titled, as FARMER
MARKET is basically an Android Application. Our application is simple and
less expensive. Our main purpose is to provide ease for the farmers to sell their
crops from home and buyer can search crops seller at nearest location. The
application is designed and developed keeping in view that it should be user
friendly. The interface of the application is developed keeping in mind that it
should be good looking, attract at first sight, easy to understand and selfexplanatory.

CONTENTS
PROJECT IN
BRIEF ......................................................................................................
........iii

ACKNOWLEGEMENT
.........................................................................................................iv

DECLARATION
................................................................................................................
.....v

CERTIFICATION
................................................................................................................
..Vi

ABSTRACT
................................................................................................................
..............vii

CONTENTS
................................................................................................................
.............viii

TABLE OF CONTENTS .......................................................................................................ix


LIST OF FIGURES....xiv
CHAPTER 1: INTRODUCTION ......xvi
CHAPTER 2: REQUIREMENTS ANALYSIS.xx
CHAPTER 3: SOFTWARE DESIGN ...xxvi
CHAPTER 4: PROJECT MANAGEMENT .xI
CHAPTER 5: IMPLEMENTATIONS ......xIiv
CHAPTER 6: SOFTWARE TESTING .xlix
CHAPTER 7: CONCLUTIONS & FUTURE WORKS Ivi
CHAPTER 8: USERGUIDEIviii
CHAPTER 9: REFERENCES Iix
CHAPTER 10: SCREENSHORTS.....Ix
8

Table of CONTENTS
PROJECT IN
BRIEF ......................................................................................................
.........iii

ACKNOWLEGEMENT
.........................................................................................................iv

DECLARATION
................................................................................................................
......v

CERTIFICATION .......................................................................................
............................vi

ABSTRACT
................................................................................................................
.............vii

CONTENTS ..............................................................................................
................................viii

TABLE OF CONTENTS .......ix


LIST OF FIGURES .......xiv
CHAPTER 1: INTRODUCTION......xvi
1.1 Project Overview...xvi
1.2 Project Scope.xvii
1.3 Proposed Solution.xvii
1.4 Proposed Application Components..xvii
1.4.1 Android Device...........xvii
1.5 Proposed System Output..xvii
1.6 Main Features of the Proposed Application.xviii
1.6.1 Efficiencyxviii
1.6.2 Reliability...xviii
1.6.3 User Friendly Interface..xviii
1.6.4 Technical Innovation..xviii
1.6.4.1 Controlxviii
1.7 Introduction to Tools & Technologies Used.xix
CHAPTER 2: REQUIREMENT ANALYSIS.xx
2.1 Software Requirement Specifications.xx

10

2.2 Introduction.xx
2.3 Purpose........xxi
2.3.1 Proposed Solution Overview..xxi
2.3.2 Modules of the Proposed Solution.xxi
2.4 Specification Requirements........xxi
2.4.1 Functional Requirements...xxi
2.4.2 External Interface Requirements...xxii
2.4.2.1 Android Devicexxii
2.5 General Constraints.xxii
2.5.1 The Productxxii
2.5.2 Hardware Constraints.xxii
2.6 Project Objectives........xxiii
2.7 Use Cases.xxiii
CHAPTER 3: SOFTWARE DESIGNxxvi
3.1 Use Cases..xxvi
3.2 Activity Diagram.xxvii
3.3 Sequence Diagram..xxviii
3.3.1 Login.xxviii
3.3.2 Registrationxxiv
3.3.3 View Ad.xxx
3.3.4 Upload Ad..xxxi
3.3.5 Text Messages...xxxii

3.4 Entity Relationship Diagram .xxxiii


3.5 Class Diagram.xxxiv
11

3.6 Component Diagram..xxxix


CHAPTER 4: Project ManagementxI
4.1 Milestones.xI
4.2 Project Closeout Project......xI
4.2.1 Project Deliverables..xI
4.2.2 Operations & MaintenancexI
4.2.3 Project Resources..xI
4.3 Risk Management...xIii
4.3.1 IntroductionxIii
4.3.2 PurposexIii
4.3.3 Risk Management ResponsibilitiesxIiii
4.3.4 Risk Analysis Summery.xIiii
CHAPTER 5: IMPLEMENTATIONxliv
5.1 Android OSxliv
5.2 Window 8...xliv
5.2.1 Major Feature of Window 8......xlv
5.2.2 Windows & System Requirements.xIv
5.3 Eclipse..xlv
5.4 Android SDK.xlvi
5.5. Javaxlvi
5.5.1 Java Featuresxlvii
5.5.1.1 Platform.xlvii
5.5.1.2 Simple........xlvii
5.5.1.3 Object Orientedxlvii
5.5.1.4 Robust.xlvii
12

5.5.1.5 Distributed..xlviii
5.5.1.6 Performancexlviii
5.5.1.7 Dynamic.xlviii
5.5.1.8 Secure.xlviii
CHAPTER 6: SOFTWARE TESTING....I
6.1 Software Testing..I
6.1.1 Test Plan...I
6.1.2 Introduction..I
6.1.3 Test Objectives..I
6.1.4 Deriving Test- Case Objectives.I
6.1.5 State Test Environment.I
6.1.6 Testing IdentificationIi
6.1.7 Test ProcedureIi
6.1.8 Test Strategies..........................Ii
6.1.9 Test Plan..Ii
6.1.9.1 Objectives........Ii
6.1.10 Software Test Environment..Iii
6.1.11 Test Cases........................Iiv
6.1.11.1 Integral Testing..Iiv
6.1.11.2 System Testing..........Iv
6.1.11.3 Security Testing..Iv
6.1.11.4 Stress Testing..Iv
6.1.11.5 Test Output ObjectivesIv
6.1.11.6 Summery of Test Results..Ivi
CHAPTER 7: CONCLUSIONS & FUTURE WORK...Ivii
13

7.1 Achievements.Ivii
7.1.1 Project Management and Scheduling..Ivii
7.1.2 How to interact with usersIvii
7.1.3 System analysis and data collection..Ivii
7.1.4 Project Documentation.Iviii
7.1.5 Microsoft Visio for UML........Iviii
7.2 Limitations.. Iviii
CHAPTER 8: USER GUIDEIix
8.1 Window Android Application Version..Iix
8.1.1. Opening Application.Iix
8.1.2 Main InterfaceIix
8.1.3 View MapIix
8.1.4 Current LocationIix
8.1.5 Instant Message.Iix

CHAPTER 9: REFERENCES...Ix
9.1 Reference...Ix

CHAPTER 10: SCREENSHORTS,.Ixi


10.1 Screen shorts of Farmer MarketIxi
10.1 InterfaceIxi

14

CHAPTER 1

INTRODUCTION
Our project titled, as FARMER MARKET is basically an Android Application.
It is basically for farmers to sell their crops by performing sequence of steps
first take the pictures of crops, upload on server, and then set the price ,quality,
type, quantity and the location of seller is automatically set on Google Map. The
buyer first search nearest location, check the crop through uploading pictures,
then contract to seller to make deal through messages.

1.1 PROJECT OVERVIEW:


As Pakistan is basically a agriculture country, So we developed this application
for agriculture purposes that facilitates our farmers and provide ease for farmers
to sell their crops and buyer can search nearest seller location and can make deal
with our farmer through messages. The application is designed and developed
keeping in view that it should be user friendly.

15

Working of our application is that farmer can take pictures and upload
complete detail of crops and the location of seller is automatically set on Google
Map. The buyer can check the crop and can search nearest location and can deal
with through messages. The interface of the application is developed keeping in
mind that it should be good looking, attract at first sight, easy to understand and
self-explanatory.

1.2 PROJECT SCOPE


User can sell their crops by uploading pictures, setting quantity, price, quality and
the location of the seller is automatically set on Google map. The buyer can
search nearest seller location and can make deal through messages.
The functional area of this application that lies under the scope of proposed
system is to provide an ease for farmers to sell their crops that have the following
functionalities:

Registration of user
Authentication
Select Crop
Upload Crop Pictures
Automatic Seller Location set on Google Map
Buyer can search crop seller on nearest location
Contract seller through messages.

1.3 PROPOSED SOLUTION:


Farmer Market is an android application the main objective of this application
is to provide ease for farmers to sell their crops from home and buyer can
search crops seller at nearest location.
16

1.4 PROPOSED APPLICATION COMPONENS:


Our proposed application has the following things:
1.4.1 Android Device
We used android device in our project. Through this device
our user can see this application and application also need
internet connection.
1.5 PROPOSED APPLICATION OUTPUTS:
Farmer Market Application has the following proposed system outputs:
User can use this application through android device so user has
necessary to have android device to use this application.
Only authorize user can upload pictures of crops but they can see
the Ad and if they had to submit the Ad they have to need register
themselves first then they will submit Ad on the application.

1.6 MAIN FEATURES OF THE PROPOSED APPLICATION


The Farmer Market has the following main features.
1.6.1 EFFICIENCY:
Our application is efficient it will upload pictures and get the pictures of crops
from the database very efficiently.
1.6.2 RELIABILITY:
Our application will be reliable. Only authorize users can upload pictures of crops
other than no one can upload pictures but can see the Ad which were already on
our application.
1.6.3 USER FRIENDLY INTERFACE
The interface of the Farmer Market application will be user friendly. The data
integration will be easy and simple, so that user can handle the application
efficiently.
1.6.4 TECHNICAL INNOVATION:

17

We are making a less expensive application for our farmers to sell their crops and
buy can search nearest location and can contract with our user through messages.
The whole work of this is done at home also or everywhere we were this is an
important feature of this application thats why this application is less expensive.

1.6.4.1 CONTROL
Our application is centralized and managed the application.

1.7 INTRODUCTION TO TOOLS & TECHNOLOGIES USED

Windows 8.1 OS.


Eclipse Juno.
Kit Kat (Android 4.4)
Php
Dreamweaver
Droid Draw
MySQL
SQLite

18

CHAPTER 2

REQUIREMENT ANALYSIS

2.1 Software Requirement Specification (SRS)


Technology develops day by day in the world. Working of our application is that
farmer can take pictures and upload complete detail of crops and the location of
seller is automatically set on Google Map. The buyer can check the crop and can
search nearest location and can deal with through messages. The system is
designed and developed keeping in view that it should be user friendly.
The interface of the system is developed keeping in mind that it should be good
looking, attract at first sight, easy to understand and self-explanatory. Our purpose
is to provide ease for the farmers to sell their crops from home and buyer can
search crops seller at nearest location.
19

2.2 Introduction
The Application is developed for the user to provide ease to sell and buy their
crops. It is basically for farmers to sell their crops by performing sequence of
steps first take the pictures of crops, upload on server, and then set the price
,quality, type, quantity and the location of seller is automatically set on Google
Map. The buyer first search nearest location, check the crop through uploading
pictures, then contract to seller to make deal through messages. Our project titled,
as Farmer Market is basically an android application.

2.3 Purpose
2.3.1 Proposed Solution Overview
Our proposed system is designed and developed and keeping in view that it
facilitates all types of users. It provides a user friendly interface to manage their
device and applications.

2.3.2 Modules of the Proposed Solution


Our Application has following modules:

Registered User:
The new user will have to register themselves to submit Ad otherwise it
will only see the Add but it cannot post any Ad on the application.
Authentication:
Our application will verify the user. Only the authenticate users will post
any Ad.
Google Map:

20

Set the location of the product through Google Map and can set nearest
location of the product also.
Text Messages:
The buyer can contact with seller through send text messages.

2.4 Specification Requirements


2.4.1 Functional Requirements
2.4.1.1 Registered User
The new user will have to register themselves to submit Ad otherwise it
will only see the Add but it cannot post any Ad on the application.

2.4.1.2 Authentication
Our application will verify the user. Only the authenticate users will post
any Ad and buyer any crops.
2.4.1.3 Select Crop
Our buyer will select the specific crop to search the nearest location through
Google Map.

2.4.1.4 Automatic Seller Location Set on Google Map


The location of the seller is automatic set on the Google Map and the
buyer can see the seller location.
2.4.1.5 Seller nearest Location
The buyer can search crop seller on nearest location.
2.4.1.6 Contract Seller
The buyer can contract seller through text messages.
21

2.4.2 External Interfaces Requirements


2.4.2.1 Android Device
We used android device in our project. Through this device
our user can see this application and application also need
internet connection.
2.5 General Constraints
2.5.1 The Product
2.5.2 Hardware Constraints
Application should have the following requirements in order to
use the application.

RAM: 512 MB
Hard-disk space: more than 100 MB

2.6 Objectives
The objective of our project is to introduce the application to
the farmers and our application is required to fulfill the
following objectives:

Provide ease for farmers to sell their crops.


Provide facilities for buyer have to find nearest locations to
buy quality crop.
User friendly interface

2.7 USE CASES


2.7.1 Login:
Actor: User
Pre-Condition: To sell and buy crops user will need to login.
Post-Condition: User log out successfully.
22

Description:
In this module user first has to login to sell and buy the
crops otherwise it will only see the ad in the application.

Actor Response

Application Response

1. User wants to login

User login successfully.

2.7.2 View Ads:


Actor: User
Pre-Condition: User have android device.
Post-Condition: User successfully views ads.
Description:
In this module user have android device to view the ads of the
application.
Actor Response

Application Response

1. View ads

User views ad successfully.

2.7.3 Upload Ads:


Actor: User
Pre-Condition: User has to first register.
23

Post-Condition: User successfully upload ad.


Description:
In this module user need to login first to upload add on
the application.
Actor Response

Application Response

1. Want to upload ad

User upload ad successfully.

2.7.4 Messages:
Actor: User
Pre-Condition: User has to first register.
Post-Condition: User successfully sends messages.
Description:
In this module user also need to login first to send messages.

Actor Response

Application Response

1. Send Messages

24

User send message successfully.

CHAPTER 3
SOFTWARE DESIGN
3.1 USE CASE DIAGRAM

Figure 3.1 Use Case Diagrams

25

3.2 ACTIVITY DIAGRAM

Figure 3.2 Activity Diagram

26

27

3.3 SEQUENCE DIAGRAM

3.3.1 Login

Figure 3.3.1 Sequence Diagram Login

28

3.3.2 Registration

Figure 3.3.2 Sequence Diagram


Registration

29

3.3.3 View Ad

Figure 3.3.3 Sequence Diagram View Ad

30

3.3.4 Upload Ad

Figure 3.3.4 Sequence Diagram Upload


Ad

31

3.3.5 Text Message

Figure 3.3.5 Sequence Diagram Text


Message

32

3.4 ENTITY RELATIONAL DIAGRAM

Figure 3.4 Entity Relational Diagram

3.5 CLASS DIAGRAM


33

34

3.5 CLASS DIAGRAM

35

3.5 CLASS DIAGRAM

36

3.5 CLASS DIAGRAM

37

3.6 COMPONENT DIAGRAM

38

CHAPTER 4
Project Management
4.1 Milestones
The project entitled as Farmer Market is divided into many milestones for the ease of
achieving of the project within the limits. Project phases were schedule side by side to each
other.
Milestones 1(Documentation)
First Four Chapters done before the mid of this semester.
4.2 Project Closeout Report
4.2.1 Project Deliverables
Deliverable

Project Startup

Date Accepted

Contingencies or Conditions

15 Jan,2015

Set up Project team


Make Documentation
Meet all milestone
Documentation
must
completed

Project Close-up

be

4.2.2 Operations and Maintenance


During the Operations and Maintenance Phase, the information systems availability and
performance in executing the work for which it was designed is maintained. The State realizes
the largest value for the system during this phase. System operations continue until the systems
termination date, when the next phase, Disposition, begins.
4.2.3 Project Resources
List the Resources specified in the Resource Plan and used by the project. Identify to whom each
resource was transferred and when it was transferred. Account for all project resources utilized
by the project.

39

Resource
Person or Organization Who Turnover Date
(Describe or name the Received Resource
resource
used)
Project Team
Ehtisham Afzal Satti
Mahaz Nisar
Salik Latif
Customers
Zero Customer Support
Facilities
Working Lab
Wi-Fi
Equipment
Laptop
Android Device
Software Tools
Eclipse
Other
Figure 4.2 Project Resource

40

Individual
Ehtisham Afzal Satti

Responsibility

Mahaz Nisar
Salik Latif

4.3 Risk Management


4.3.1 Introduction
Risk Management Systems are designed to do more than just identify the risk.
The system must also quantify the risk and predict the impact on the project. The
outcome is therefore a risk that is either acceptable or unacceptable. The
acceptance or non-acceptance of a risk is usually dependent on the project
manager's tolerance level for risk. If risk management is set up as a continuous,
disciplined process of problem identification and resolution, then the system will
easily supplement other systems. This includes; organization, planning and
budgeting, and cost control. Surprises will be diminished because emphasis will
now be on proactive rather than reactive management.
4.3.2 Purpose
The purpose of risk management is to:

Identify possible risks.


Reduce or allocate risks.
Provide a rational basis for better decision making in regards to all risks.
Plan.

Additionally, continuous risk management will:

Ensure that high priority risks are aggressively managed and that all risks are
cost-effectively managed throughout the project.
Provide management at all levels with the information required to make
informed decisions on issues critical to project success.

If we don't actively attack risks, they will actively attack us!

41

4.3.3 Risk Management Responsibilities


There are following responsibilities of risk management.

4.3.4

To adopt proper financial protection measures through risk transfer (to outside
parties), risk avoidance, and risk retention programs.
To manage claims for insured and uninsured losses.
To establish Risk Management policies and procedures.

Risk Analysis Summary


There are certain parameters, which are to be considered while calculating risk
analysis for the system, which involves:

Finding out the possible risks involved in this process


Deciding what precautions we can take if that risk has occurred

There are three types of risks that are associated with the software development
process they are as follows:

Risk related to cost


Risk related to time
Risk related to quality

42

Chapter 5

IMPLEMENTATION
5.1 Android OS
Starting from black and white phones to recent smart phone or mini computers, mobile OS
has come far away. Especially for smart phones, Mobile OS has greatly evolved from Palm OS
in 1996 to Window pocket PC in 2000 then to Blackberry OS and Android. So, one of the most
widely used mobile OS these days in android.
Android is the mobile Operating System, based on the Linux Kernel, and designed
primarily for touchscreen mobile devices such as Smartphones and Tablet Computers. Android is
initially developed by Android Inc., which Google backed financially and later bought in
2005.Android was unveiled in 2007 along with the founding of the Open Handset Alliance,
software and telecommunication companies devoted to advancing open standards for mobile
devices. The first publicly available smartphone running Android, the HTC Dream, was released
on October 22, 2008.
5.2 Window 8
Window 8 is a personal computer Operating System developed by Microsoft and was
released in 2012 as part of Windows NT family of Operating Systems. Windows 8.1 is a version
of Windows NT family of Operating Systems and an upgrade for Windows 8.
Note:
If youre running Windows 8 you can get a free update to Windows 8.1. Just tap or click the
Windows store tile on your Start Screen.
Windows 8 represents a major departure from previous versions of Windows because it is
based on the Metro design language, which facilities a touchscreen UI (user interface) similar to
the ones found in mobile phones and tablet computers. Microsofts Surface tablet, released in
early 2013, runs Window 8.
The basic version of Window 8, suitable for most users, works with touch screen devices as
well as with traditional keyboard-and-mouse systems. A version called Window RT supports the
ARM processor architecture. Another version, Windows 8 Pro, is aimed at business and technical
professionals who desire encryption, virtualization, PC management and domain connectivity.

43

The Window 8 screen is tile-based, with each tile representing a specific app. The taskbar has
no Start button, although users can bring up a Start screen by touching or clicking the lower-left
corner of the display. The Windows 8 Release Preview contains a Metro version of Internet
Explorer 10, along with apps for news, sports, and travel. It also offers an updated Windows
Explorer, an updated Task Manager, and picture password capability.
5.2.1 Major Features of Windows 8
Major features of the basic Windows 8 OS include:

Upgrades from Windows 7


Window Store
Connected standby
Microsoft account
Language switching on the fly
Windows Update
Windows Defender(anti-malware program)
Support for multiple displays
Mobile broadband capability
Reset and Refresh

5.2.2 Windows 8 System Requirements


If you want to run Windows 8 on your PC, heres what it takes:

Processor: 1 gigahertz (GHZ)


RAM: 1 gigahertz (GB) (32-bit) or 2 GB (64-bit)
Hard disk space: 16 GB (32-bit) or 20 GB (64-bit)
Graphics card: Microsoft DirectX 9 graphics

5.3 Eclipse
Eclipse is a platform that has been designed from the ground up for building integrated
web and application development tooling. By design, the platform does not provide a great deal
of end user functionality by itself. The value of the platform is what it encourages: rapid
development of integrated features based on plug-in-model.
Eclipse provides a common user interface (UI) model for working with tools. It is designed
to run on multiple operating systems while providing robust integration with each underlying
OS. Plug-ins can program to the Eclipse portable APIs and run unchanged on any of the
supported operating systems.
44

At the core of Eclipse is architecture for dynamic discovery, loading, and running of plugins. The platform handles the logistics of finding and running the right code. The platform UI
provides a standard user navigation model. Each plug-in can then focus
on doing a small
number of tasks well like defining, testing, animating, publishing , compiling, debugging ,
diagramming, but the only limit is your imagination.
5.4 Android SDK
Every time Google releases a new version of Android, a corresponding SDK is also released.
To be able to write programs with the latest features, developers must download and install
each versions SDK for the particular phone.
Android SDK is a software development kit that enables developers to create applications
for the Android Platform. The Applications are written using the Java programming language and
run on Dalvik, a custom virtual machine designed for embedded use which runs on top of a
Linux kernel.
Although the SDK can be used to write Android programs in the command prompt, the most
common method is by using an integrated development environment (IDE). The recommended
IDE is Eclipse with the Android Development Tools (ADT) plug-in. However, others IDEs, such
as Net Beans, will also work. Most of these IDEs provide a graphical interface enabling
developers to perform development tasks faster. Since Android applications are written in Java
Java Code, a user should have the Java Development Kit (JDK) installed.
The Android SDK includes the following:

Required libraries
Debugger
An emulator
Relevant documentation for the Android application program interfaces (APIs)
Sample source code
Tutorials for the Android OS

5.5 Java
Java is a programming language originally developed by sun micro system . The language
derives much of its syntax from C and C++ but has a simple object model. Computers programs
written in java language must run similarly on any hardware/operating-System platform. This is
achieved by compiling the java language code to an intermediate representation called java byte
code. Java language code to an intermediate representation called java byte code. Java programs
execution speed improved significantly with the introduction of just in time.

45

5.5.1 Java Features

5.5.1.1 Platform
The concept of Write-once-run-anywhere (Known as the Platform independent) is one
of the important key features of java language that makes java as the most powerful language.
The programs written on one platform can run on any platform provided the platform must have
the JVM.

5.5.1.2 Simple
There are various features that make the java as a simple language. Programs are easy
to write and debug because java does not use the pointers explicitly.

5.5.1.3 Object Oriented


To be an Object Oriented language, any language must follow at least the four
characteristics:

Dynamic binding
Encapsulation
Inheritance
Polymorphism

In case of java, it is a fully Object Oriented language.

5.5.1.4 Robust
Java has the strong memory allocation and automatic garbage collection mechanism.
It provides the powerful exception handling and type checking mechanism as compare to other
programming languages. Compiler checks the program whether there any error and interpreter
checks any run time error and makes the system secure from crash. All of the above features
make the java language robust.

5.5.1.5 Distributed

46

The widely used protocols like HTTP and FTP are developed in java. Internet
programmers can sell functions on these protocols and can get access the files from any remote
machine on the internet rather than writing codes on their local system.

5.5.1.6 Performance
Java uses native code usage, and lightweight process threads. In the beginning
interpretation of byte code results the performance slow but the advance version of JVM uses the
adaptive and just in time compilation technique that improves the performance.

5.5.1.7 Dynamic
While executing the java program the user can get the required files dynamically from
a local drive or from a computer thousands of miles away from the user just by connecting with
the Internet.

5.5.1.8 Secure
Java does not use memory pointers explicitly. All the programs in java are run under an
area known as the sand box. Security manager determines the accessibility options of a class like
reading and writing a file to the local disk. Java uses the public key encryption system to allow
the java applications to transmit over the internet in the secure encrypted form. The byte code
Verifier checks the classes after loading.

Chapter 6
47

TESTING
6.1 Software Testing
6.1.1 Test Plan
The test plan is populated with the step-by-step cases for testing the applicable image
processing techniques mentioned in SRS document. Test case specification in performed for
system testing by keeping in mind several issues which are discussed in the following sub topics:
6.1.2 Introduction
This document is high level overview defining our testing strategy for the efficient use of
our application for Mobile Phone. Its objective is to communicate project-wide quality standards
and procedures. It portrays a snapshot of the project as of the end of the planning phase. This
document will address the different standards that will apply to the unit, integration and system
testing of the specified application. We will utilize testing criteria under the white box, black box
and system testing paradigm. This paradigm will include, but is not limited to the testing criteria,
methods, and test cases of the overall design. Throughout the testing process we will be applying
the test documentation specification described in the IEEE Standard 829-1983 for
6.1.3 Test Objectives
The objective of our test plan is to find and report as many bugs as possible to improve the
integrity of our program. Although exhaustive testing is not possible, we will exercise a broad
range of tests to achieve our goal. There will be few key functions to manage our application.
Our user interface to utilize these functions is designed to be user friendly and provide easy
manipulation.
6.1.4 Deriving Test Case Specifications
The specifications for testing are derived from customer requirements, from the study of design
code of software modules, and from mobile or visual interfaces through which the user interacts
with the system. Test-case specification in performed for system testing by keeping in mind
several issues, which are discussed in this chapter.
6.1.5 State Test Environment
The application testing required following hardware and software requirements.

Window 8
2 GB RAM
48

Eclipse
6.1.6 Testing Identification
A specific test is planned for every test level to test all system components. The test
procedure is designed in detailed so that the system meets all user requirements.
The system can be divided into following modules:
Configure Eclipse
Registered users
Authentication
Render Google Map
Current location on Map
Source to destination shortest path highlight
Text Messages (GCM)
The system in executed systematically and its output are verified.
6.1.7 Test Procedure
A testing strategy is decided for testing the system so that all modules are tested to fulfill
all user requirements. A test strategy is methodology that describes the various steps that need to
be performed during testing and the time and effort required for performing them.
6.1.8 Test Strategies
Testing is the process of analyzing a software item to detect the differences between
existing and required conditions and to evaluate the features of the software item. The following
outline the types of testing that will be done for unit, integration, and system testing. While it
includes what will be tested, the specific use cases that determine how the design is done will be
detailed in the test design document.
6.1.9 Test Plan
6.1.9.1 Objectives
System Overview: The application is designed and developed keeping in view
that it should be user friendly, navigation should be easy, and it should have ensure the
availability of the right information at the right time. Farmer Market is an android based
application develops for the farmers. The application facilities our farmers and provide
ease for farmers to sell their crops and buyer can search nearest seller location and can
make deal with our farmer through messages and voice calls. The application is designed
and developed keeping in view that it should be user friendly.
Document Overview: This document contains the plan and schedule for tests
49

to be performed on the application and the mapping of tests to specified application


requirements.
Referred Documents: The referred documents are SRS and test cases developed for
the application.

6.1.10 Software Test Environment


Table 1: Render Google Map
Name of test System

Render Google Map

Resources

The software requirements are Eclipse as front


end, Java at back end.

Minimum hardware requirements

Intel core to duo, 2GB RAM, 300GB Hard


Disk, Android Device /AVD.

Other Material

Data cable
Connectivity.

Installation, Testing and Controls

The System has been developed at core to duo


processor, hard disk 250 GB and above, 2GB
of RAM or higher recommended (256 MB
minimum supported, may limit performance
and some features).

and

android

keys,

GPS

Table 2: Location on Google Map


Name of test System

Location on Google Map

Resources

The software requirements are Eclipse as front


end, Java at back end.

Minimum hardware requirements

Intel core to duo, 2GB RAM, 300GB Hard


Disk, Android Device /AVD.

50

Other Material

Data cable
Connectivity.

and

android

keys,

GPS

Installation, Testing and Controls

The System has been developed at core to duo


processor, hard disk 250 GB and above, 2GB
of RAM or higher recommended (256 MB
minimum supported, may limit performance
and some features).

Table 3: Shortest Path


Name of test System

Source to Destination Shortest path

Resources

The software requirements are Eclipse as front


end, Java at back end.

Minimum hardware requirements

Intel core to duo, 2GB RAM, 300GB Hard


Disk, Android Device /AVD.

Other Material

Data cable
Connectivity.

Installation, Testing and Controls

The System has been developed at core to duo


processor, hard disk 250 GB and above, 2GB
of RAM or higher recommended (256 MB
minimum supported, may limit performance
and some features).

and

android

keys,

GPS

Table 4: Instant Message


Name of test System

Instant Message

Resources

The software requirements are Eclipse as front


end, Java at back end.

51

Minimum hardware requirements

Intel core to duo, 2GB RAM, 300GB Hard


Disk, Android Device /AVD.

Other Material

Data cable
Connectivity.

Installation, Testing and Controls

The System has been developed at core to duo


processor, hard disk 250 GB and above, 2GB
of RAM or higher recommended (256 MB
minimum supported, may limit performance
and some features).

and

android

keys,

GPS

6.1.11 Test Cases


Test cases involve the set of steps, conditions and inputs which can be used while
performing the testing tasks. The main intent of this activity is to ensure whether the Software
Passes or Fails in terms of its functionality and other aspects.
There are many types of test cases like: functional, negative, error, logical test cases,
physical test cases, UI test cases etc. A test case is prepared for each test that needs to be
performed. The test cases result in the development of test reports, which will be used for testoutput analysis.
6.1.11.1 Integral Testing
Integration testing is the technique for testing the interfaces of software components.
Each software components in unit tested, and all the components are integrated to perform
together. The tests are conducted to ensure that the components are working properly after
interfacing.
All modules are integrated by an incremental approach, and integration testing of the
system is performed as follows:

First of all we registered the user and then authenticate the user.
Then we rendered a Google Map in our application and test it.
Then we draw our current location on Google Map and check the present location
of the product.
Then we draw a shortest path from source to destination and highlight it.
The buyer and seller can communicate also through text messages and voice calls.
52

6.1.11.2 System Testing


System Testing involves the set of tests that ensures that the entire system performs
according to specifications
6.1.11.3 Security Testing
Security testing is protection testing that test security methods in the system to
avoid invalid intrusions. The system stores secret and sensitive information that is susceptible to
invalid intrusions. An intrusion to obtain secret information may cause severe economic damage
the organization.
There are many reasons for such intrusion:
Unhappy employees intrude to cause damage to employees.
Hackers do it for fun.
Some people pass secret information for their own benefit.
6.1.11.4 Stress Testing
A system is evaluated under normal conditions in all previous testing techniques,
and no conditions where system can fail are tested. Stress testing evaluates the
system under abnormal conditions. The main function of this system is calculation
and management of the inventory. All these calculations depend on the number of
components and the cost of each component. The system is tested for various costs
and number to check accuracy and to ensure that the system performs accurately
under all input conditions and gives better results.
6.1.11.5 Test Output Analysis
The test output analysis is based one of the following specifications:
All test components should be thoroughly reviewed for errors.
Testing conforms to test specifications if the test results in faults or errors.
If the above two specification results in no solution, the system has errors.
These errors are re-analyzed by developers and testers.
In the Farmer market, output analysis of test cases reveals:
Summary of test results
Deviation from test cases

53

6.1.11.6 Summary of Test Results

All modules have been successfully unit tested in the first phase.
Then, the modules are incremented to perform integration testing.
The performance of the integrated application is according to user specifications.
Finally, the system is fully tested for recovery testing, security testing, stress testing, and
performance testing.
Therefore, the application fulfills all user requirements.

54

Chapter 7
CONCLUSION AND FUTURE WORK

7.1 Achievements
We feel very proud after development and implementation of our final project successfully,
before developing through this project although we have a good theoretical knowledge of
software engineering, being students of computer science, but it is far away from theory to
develop a real life system that completely fulfill the user requirements. We had a very good
interaction with our internal supervisor Sir, Danish Saleem and he helped us to develop the
system well in time.
7.1.1 Project management and scheduling
It was a semester project and we have completed it in time. This time goal was
achieved through proper planning of our project. In starting a careful goal analysis was done as a
result of which enlist all the goals and milestones for our project. After enlisting the goals we
create a plan for time management. Divide the goals into two halves, one is carried out before
mid and the other after mid. Each goal was divided into many smaller milestones. Working this
way helps us learn a lot.
7.1.2 How to interact with the user
During the development of the application we have analyzed all the possible behaviors
of a user. Since our application is developed for the public usage mostly so we are able to
analyze a huge customer market. This helps us to improve our capabilities needed to deal a
customer and customer demands and needs.
7.1.3 System analysis and data collection
As mentioned earlier, we have analyzed the whole application in detail theoretically in
the starting phase of our project development. These analysis works have resulted into a huge
collection of data related to our application, the technologies used to develop and implement this
application as well as the user interactions. The system analysis report has greatly helped us to
identify the key goals of our application.

55

7.1.4 Project documentation


Complete project documentation is created as a deliverable which contain all the details
of the project. It contains the detail of all the phases of project development. Starting from the
introduction of the application, the project Requirement analysis, Design, Project management,
Implementation, Testing and ending at the future works. This document illustrates the key
features of the application, how they are implemented and the resources used to achieve them.
7.1.5 Microsoft Visio for UML
The whole architectural design of the software is created using Microsoft Visio. Software
design includes use cases, use case model, class diagrams, component diagram, deployment
diagram, activity diagrams, sequence diagrams and collaboration diagrams.

7.2 Limitations
The project is developed keeping in view the research oriented requirement of a final project. So
it may lack some elegance or sophistication but we are very proud that we have worked in a
highly versatile environment and have taken the right steps towards the right direction in terms
of where the technology is going nowadays.
In the end it can be said with proud that by the grace of Almighty Allah, we have achieved what
we thought of in the very beginning, an idea that was very faint in its collection yet on
Encouraging one on idea that we thought of a very first kind of venture in its nature. It was
never easy to cope with the idea since the very beginning but the support of our worthy teachers
always helped and inspired us to achieve the goal and paved the way to success for us by backing
us up.

56

Chapter 8

USER GUIDE
8.1 Windows Android Application Version
8.1.1 Opening Application
8.1.2 Main Interface
8.1.3 View Map

User can view Google map on android smartphone

8.1.4 Current Location

User can view the current of the product using GPS

8.1.5 Destination

User can find shortest path from source to destination

8.1.6 Instant Message

User can send text messages through GCM

57

Chapter 9
REFERENCES
9.1 Reference:
1. Web service
http://www.lynda.com/
2. Web hosting
http://www.000webhost.com/
3. Domain
http://farmermarket.comlu.com/
4. Libraries
https://code.google.com/p/android-query/
https://developer.android.com/tools/support-library/features.html
5. Google Map
https://developers.google.com/maps/documentation/android/
6. Facebook SDK
https://developers.facebook.com/docs/android

58

Chapter 10
SCREENSHOTS
10.1 Screenshots of Farmer Market:
10.1.1 Interface

59

Splash

60

Sign In

61

Forget Password

62

63

Home

64

Navigation Drawer

65

Browse Ads

66

Ads Details

67

68

Setting

69

About Application

70

Contact Us

71

User Profile

72

73

Change Password

Chat
74

Submit Ad
75

Register
76

Facebook Login

77

Map
78

Shortest Route
79

Shortest Location Show


80

Ads Location
81

82

Vous aimerez peut-être aussi