Académique Documents
Professionnel Documents
Culture Documents
By
Mahaz Nisar
(11-Arid-706)
Supervised by
Sir Danish
PROJECT IN BRIEF
Project Title
: Farmer Market
Organization
Objectives
Undertaken By
Supervised By
: Sir Danish
Date Started
: 15 Feb, 2015
Date Completed
: 03 July, 2015
Technologies used
Operating System
: Window 8.1
System Used
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
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
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
Supervisor:______________________
Mr. Danish
Member 1: ______________________
Member 2: ______________________
Dated:
Director: _______________________
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
PROJECT IN
BRIEF ......................................................................................................
.........iii
ACKNOWLEGEMENT
.........................................................................................................iv
DECLARATION
................................................................................................................
......v
CERTIFICATION .......................................................................................
............................vi
ABSTRACT
................................................................................................................
.............vii
CONTENTS ..............................................................................................
................................viii
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
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
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.
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.
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.
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.
18
CHAPTER 2
REQUIREMENT ANALYSIS
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.
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.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.
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:
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
Application Response
1. View ads
Application Response
1. Want to upload ad
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
CHAPTER 3
SOFTWARE DESIGN
3.1 USE CASE DIAGRAM
25
26
27
3.3.1 Login
28
3.3.2 Registration
29
3.3.3 View Ad
30
3.3.4 Upload Ad
31
32
34
35
36
37
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
Project Close-up
be
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
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.
41
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.
There are three types of risks that are associated with the software development
process they are as follows:
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:
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.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.
Dynamic binding
Encapsulation
Inheritance
Polymorphism
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
Resources
Other Material
Data cable
Connectivity.
and
android
keys,
GPS
Resources
50
Other Material
Data cable
Connectivity.
and
android
keys,
GPS
Resources
Other Material
Data cable
Connectivity.
and
android
keys,
GPS
Instant Message
Resources
51
Other Material
Data cable
Connectivity.
and
android
keys,
GPS
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
53
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.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
8.1.5 Destination
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
Ads Location
81
82