flora report
DESCRIPTION
A project report on the plants planted in islamabadTRANSCRIPT
FLORA ENROUTE
By
NAMRA NAZIR
Supervised By
Dr. ONAIZA MAQBOOL
DEPARTMENT OF COMPUTER SCIENCE
QUAID-I-AZAM UNIVERSITY
ISLAMABAD
2011-2013
In the name of Allah the most Beneficial the most Merciful
Glorified is Allah and praised is He,
Glorified is Allah the Most Great.
(Reference: Al-Bukhari 7/168, Muslim 4/2072)
Dedicated
To My Loving Parents, My Family, My Teachers,
My Friends and All My Well Wishers……
…Whom inspiration is a source
of Strength and guidance for me
Acknowledgement
First of all I would like to praise Allah Almighty the most Beneficial the most
Merciful. He is Ever-Living, the Sustainer of all the existing beings. To Him
belongs everything in the heavens and on earth. Nothing is hidden from Him.
Nothing is beyond His capability. Nothing can encompass Him. Countless
salutations upon the Holy Prophet Mohammed (S.A.W.W).
I offer my sincere gratitude to my supervisor, Dr.Onaiza Maqbool, who has
supported me throughout my project and because of her guidance I have been able
to complete this project.
I would like to pay tribute to my worthy teachers and staff members of Computer
Science department of Quaid-i-Azam University, Islamabad who gave me the
possibility to complete this project. Special thanks to Dr. Afzal Bhatti, Dr.Khalid
Saleem, Dr.Shoaib Karim, Dr. Mubashir Mushtaq, S.M.Naqi, Dr. Iffrah
Farrukh, and especially to Dr.Rabeeh Ayaz Abbasi and Memoona Afsheen who
has been an inspiration and source of guidance for me throughout my M.Sc.
In the end I would like to thank all my class fellows and to all my juniors who
always support me and pray for me.
Namra Nazir
Abstract
We see many beautiful plants and flowers alongside roads of our city but
we do not know names of most of them. This software intends to serve
as an informational platform for the gardening lovers and plant
researchers. Users can get information of their required plant through
searching. They have the facility to identify a plant through its
characteristics and location. Plant researchers can also obtain the
location of their required plant.
Table of Contents
Chapter # 1 INTRODUCTION ...................................................................................... 1
1.1 PROBLEM DEFINITION ..........................................................................2
1.2 EXISTING SYSTEMS...............................................................................2
1.3 FLAWS IN CURRENT SYSTEMS ............................................................3
1.4 PROPOSED SYSTEM ...............................................................................3
1.5 SCOPE ......................................................................................................3
1.6 MAIN INPUTS..........................................................................................6
1.7 MAIN OUTPUTS ......................................................................................6
Chapter # 2 REQUIREMENT SPECIFICATION ..................................................... 7
2.1. STAKEHOLDERS ....................................................................................8
2.2 USER CHARACTERISTICS ....................................................................8
2.3 DATA COLLECTION ..............................................................................8
2.4. USE CASE ANALYSIS........................................................................... 10
2.5. USE CASE DIAGRAM .......................................................................... 10
2.6. DETAIL OF USE CASES ........................................................................ 11
2.7. DOMAIN MODEL .................................................................................. 15
Chapter # 3 SYSTEM DESIGN ..................................................................................... 17
3.1. SYSTEM ARCHITECTURE................................................................... 18
3.1.1 Three Tier Architecture ............................................................................................ 18
3.2 DATABASE DESIGN ............................................................................ 19
3.2.1 Entity Relationship Diagram (ERD) ....................................................................... 19
3.2.2 Database Diagram/ Bachman Diagram................................................................... 20
3.3. INTERACTION DESIGN ........................................................................ 21
3.3.1 User Interface ............................................................................................................. 21
3.4. SEQUENCE DIAGRAM ......................................................................... 22
3.5 CLASS DIAGRAM ................................................................................. 26
3.5.1 DESCRIPTION OF CLASSES ............................................................................................ 27
Chapter # 4 SYSTEM IMPLEMENTATION ........................................................... 28
4.1 FRAMEWORK SELECTION ................................................................. 29
4.2 DATABASE SELECTION ..................................................................... 29
4.3 LANGUAGE SELECTION..................................................................... 29
4.4 TOOLS USED ........................................................................................ 30
4.5 ARCHITECTURE USED ........................................................................ 30
4.6 CODING GUIDELINES ......................................................................... 31
Chapter # 5 TESTING ..................................................................................................... 32
5.1 UAT TEST CASES.................................................................................. 33
Chapter # 6 CONCLUSION & FUTURE ENHANCEMENTS ............................ 37
6.1 CONCLUSION........................................................................................ 38
6.2 FUTURE ENHANCEMENTS ................................................................ 38
References ........................................................................................................................... 39
Appendix ............................................................................................................................. 40
Flora Enroute
Quaid-i-Azam University Page 1
Chapter # 1
Introduction
Flora Enroute
Quaid-i-Azam University Page 2
This chapter provides an overview of the report and the existing and proposed system. This
chapter describes why the proposed system is needed and what the objectives of this system are?
1.1 Problem Definition
While travelling, we see many appealing and beautiful plants planted alongside roads.
Usually we do not know their names and other characteristics like their gardening tips.
Gardening lovers when they see a beautiful plant they want to plant it in their gardens. Moreover,
some plant researchers when they want to research on a plant and they cannot find it in their labs
or gardens, then they want to find a location where they can find it.
Main goal of this project is to provide an informational platform to gardening lovers where they
can identify a plant by entering its various characteristics like (shape and color) so that they can
get their required plants’ information. Users can also find a plant by entering location of the plant
on google map. Plant researchers can get location of their required plant by searching through its
botanical name.
1.2 Existing Systems
Following are some websites that are used for plant identification and they also provide
gardening tips for plants.
1. Plant Identification (healthyhomegardening.com)
This website displays shapes of flowers and plants and user searches his/her required plant by
clicking upon one of these image links.
2. Plant Identifier (saximontana.lakeheadu.ca)
This website provides facility to enter stem, leaf and flower characteristics and get the desired
plant.
3. Wild flower identification tool ()
This website facilitates user to choose from options of leaf shape, flower shape and other
characteristics (size, color, bloom month) and get his/her required plant/flower.
4. Shoot ()
This website allows user to choose flower shape, color and type and then it displays the images
of the flowers along with their height and maturity duration.
5. NGA Plant Identifier ()
This website allows the user to choose from options given for plant type, flower color and season
of bloom and then it displays the flower name along with botanical name.
Flora Enroute
Quaid-i-Azam University Page 3
6. WTH Herbarium Image Collection (http://biology.burke.washington.edu/herbarium)
This website gives options of flower/plant habit or type of growing, leaf arrangement, flower
color and flowering period. User opts from the given choices and website displays flower
image, name and its botanical name.
1.3 Flaws in current systems
These systems provide the facility of identifying a plant by some of its characteristics
only. Moreover, shapes used for plant identification are not given in pictorial form. It is difficult
for users to recognize a shape (leaf, flower) by its name.
1.4 Proposed System
After studying all existing systems I noted that these systems have scattered information
and various characteristics that are used to identify or search a plant are not all in one system. So,
my proposed software overcomes the problems in the previous systems by providing searching
facility on any of the plants’ characteristics. Moreover, it information about different plants and
flowers planted on the roads of Islamabad and their locality and availability.
Main goal of the project is to provide flowers and plants information in an interesting way. This
will be of great interest for the plant lovers and gardeners who are used to growing plants of
different kinds in climatic conditions of Pakistan.
1.5 Scope
The system will be used to store the information of plants planted alongside main roads
of Islamabad as well as serves as a platform for users to get information about flowers they see
on various roads. It will facilitate user upload information and pictures of plants. They can also
view information of plants.
Flora Enroute
Quaid-i-Azam University Page 4
Function and Features
The system shall provide following functionalities.
Guest user Side
User can request for the plant information.
User can search for the specific plant by entering plant’s Common Name, Botanical
Name, Leaf shape, Flower shape, Leaf Arrangement, Plant Location.
Registered user Side
User can request for the flowers/plants information
User can search for the specific flower/plant by entering plant’s Common Name,
Botanical Name, Leaf shape, Flower shape, Leaf Arrangement, Plant Location.
User can upload plant information.
Administrator Side
Administrator will allow the user to request for plants’ information. User can search
for the specific flower/plant by entering plant’s common name or botanical name.
Administrator shall maintain the record of all plants planted on various roads of
Islamabad.
Administrator shall be able to get information of the plant from different horticultural
websites if that information or record is not present in the system.
Administrator will demonstrate location of these plants using Google map.
Administrator will provide the facility of a plant identifier for those users who do not
know the names of the plants.
The characteristics used for identifying a plant are:
Leaf shape
There are many shapes of plant leaves and are named on the basis of their
width and height e.g. the leaf shape of “Rose plant” is Ovate.
Flora Enroute
Quaid-i-Azam University Page 5
Leaf Arrangement
The positioning of leaves on plant’s stem is called its leaf arrangement e.g. the
leaf arrangement of “Rose plant” is Opposite.
Flower shape
The shapes of flowers are differentiated on the basis of petal size and number of
petals e.g. shape of “Rose plant” is Rosette.
Flower Color
Flower color also plays a part in identifying a plant e.g. “Rose“ has many colors
and by selecting any of the following colors(white, red, pink, yellow, orange) we
get our required plant name i.e. Rose
Flora Enroute
Quaid-i-Azam University Page 6
1.6 Main Inputs
Plant Information
Common name
Botanical name
Leaf shape
Leaf arrangement
Flower Information
Flower shape
Flower color
1.7 Main Outputs
Plant images taken on different places of Islamabad.
Availability and locality of plants using Google maps.
Insects that attack the plant and the pesticides used against them.
Gardening tips about the plant.
Flora Enroute
Quaid-i-Azam University Page 7
Chapter # 2
Requirement Specification
Flora Enroute
Quaid-i-Azam University Page 8
In requirement specification chapter we describe the stakeholders, users’ specifications and use
cases.
2.1. Stakeholders
Admin
Registered user
Guest user or general user
2.2 User characteristics
User should have a basic knowledge about computers.
2.3 Data Collection
I visited main roads of Islamabad in year 2013 to note down that which plants exist in
this area. I visited ten (10) roads and avenues, which are:
Constitution Avenue
Murree road
9th Avenue
7th Avenue
Parbat road
Kashmir Highway
Rawal road
Park road
College road
Islamabad Highway
Kashmir Highway
Flora Enroute
Quaid-i-Azam University Page 9
7th Avenue
Almost 100 different plants were planted along these roads. I collected the pictures of these
plants and then the common names and other information (planting season, flowering season,
gardening tips, insects on plant and pesticides used against them) were collected from
Horticulture department of CDA [1]. The botanical names of these plants were collected from
Plant sciences department of Quaid-i-Azam University Islamabad [2].
The characteristics of plants such as, flower shape, leaf shape, flower color, leaf arrangement
were collected during the field work by observing these plants.
Names of these shapes are collected from different horticulture websites and forums.
http://www.shootgardening.co.uk
http://biology.burke.washington.edu
http://theseedsite.co.uk/
http://www.weedcenter.org/
Further information is given in Appendix
Flora Enroute
Quaid-i-Azam University Page 10
2.4. Use Case Analysis
A use case analysis is the primary form for gathering usage requirements for a new
software program or task to be completed [3].
2.5. Use Case diagram
The UML provides use case diagram notation to illustrate the names of use cases can
actors, and the relationships between them [4]. Actors: Admin, Registered user, General
user.
Flora Enroute
Fig 2.1 Use Case Diagram
Flora Enroute
Quaid-i-Azam University Page 11
2.6. Detail of Use Cases
Use case details include description, primary actor, stake holders, pre-condition, post-
condition, success scenario and extensions. The detail of use cases defined in fig.2.6 is given
below.
1. Login.
Primary actor: admin, registered users.
Stake holders: admin.
Pre-condition: User’s login information is already saved in the system.
Post condition: The user is logged in.
Basic flow:
i) The user enters login user email and password.
ii) System validates the entered data and logs the user into the system.
Extensions:
ii.a. If the entered user email and password are not correct then, system displays an error
message and asks the user to enter the user name and password again.
2. Upload information of plant.
Primary actor: admin, registered users.
Stake holders: admin
Pre-condition: User is logged in to the system.
Post condition: The information of plant is saved in the system.
Basic flow:
i) User selects to upload information of flower or plant.
ii) User enters the information of flower or plant.
Common name of flower or plant.
Botanical name of flower or plant.
Shape of flower.
Shape of its leaves.
Leaf arrangement.
Plant location.
Plant Image
iii) The data about the plant is saved in the system.
Extensions:
ii.a. If user leaves any field empty then an error message is displayed to enter complete
record.
ii.b. If the entered record already exists then a warning of “duplicate record” is
displayed.
iii.a. If invalid data is entered then system displays an error message and does not save
record in the system.
Flora Enroute
Quaid-i-Azam University Page 12
3. Delete a plant record.
Primary actor: Admin.
Stake holders: Admin.
Pre-condition: Admin must be logged in to the system.
Post condition: Record is successfully deleted.
Basic flow:
i) User selects a plant.
ii) User deletes record of the plant.
iii) The system checks existing data and makes changes.
4. Search for a particular flower or plant.
Primary actor: Admin, General user.
Stake holders: Admin, General user.
Pre-condition: All plants and flowers planted are saved in the system.
Post condition: the information of plant is displayed.
Basic flow:
i) User selects searching option.
ii) User enters the common name or botanical name of plant.
iii) The system displays information of the plant.
5. Verify plant data entered by registered user.
Primary actor: Admin.
Stake holders: Admin.
Pre-condition: Admin is logged in to the system.
Post condition: the data is verified and saved into the system or it is deleted.
Basic flow:
i) User selects data and checks it.
ii) If data is correct then Admin allows it to be saved into the system.
iii) If data is in correct or not related to the website, then Admin discards it.
Flora Enroute
Quaid-i-Azam University Page 13
6. Sign Up.
Primary actor: Guest user.
Stake holders: admin.
Post condition: The user is registered into the system.
Basic flow:
i) The user enters his information like
First Name
Last Name
Email id
Password
ii) System validates the entered data and logs the user into the system.
Extensions:
ii. If entered data is invalid then system prompts an error message to again enter in the
fields.
7. View plant information.
Primary actor: admin, registered users, guest users.
Stake holders: admin, registered users, guest users.
Post condition: The record of all the plants is displayed.
Basic flow:
i) The user selects to view plant information.
ii) System displays record of all the plants saved in the system.
8. Add plant data.
Primary actor: admin.
Stake holders: admin.
Pre-condition: admin is logged into the system.
Post condition: The data is saved into the system.
Basic flow:
i) The user selects to view Admin Panel.
ii) User enters information in the field for:
Pesticides
Insets
Seasons
Propagation
Leaf shape
Flower shape
Leaf arrangement
iii) User selects related images for these field records and submits.
iv) Data is saved into the database.
Flora Enroute
Quaid-i-Azam University Page 14
9. Modify plant information.
Primary actor: admin.
Stake holders: admin.
Pre-condition: Admin is logged into the system.
Post condition: Plant information is modified and data is altered in the system.
Basic flow:
i) The user selects a view plant.
ii) System displays whole information of that plant.
iii) User chooses to modify the particular record.
iv) User modifies information and submits it.
v) Data is saved into the system.
Extensions: -------
Flora Enroute
Quaid-i-Azam University Page 15
2.7. Domain Model
Object-oriented analysis is concerned with creating a description of the domain from the
perspective of classification by objects. A decomposition of the domain involves an
identification of the concepts, attributes, and associations that are considered noteworthy. The
result can be expressed in a domain model, which is illustrated in a set of diagrams that show
domain concepts or objects. [4]
Identification of Domain Objects
1- Plant
2- Flower
3- Season
4- Shape
5- Insect
6- Location
7- Color
8- User
9- Pesticide
Flora Enroute
Quaid-i-Azam University Page 16
Fig 2.2 Domain Model
Flora Enroute
Quaid-i-Azam University Page 17
Chapter # 3
System Design
Flora Enroute
Quaid-i-Azam University Page 18
The aim here is to produce a complete system model that shows the different components in a
system, their interfaces, and their connections The argument for this is that such a detailed
architectural description makes it easier to understand and evolve the system. [5]
3.1. System Architecture
System architecture is the conceptual model that defines the structure, behavior, and
more views of a system. An architecture description is a formal description and representation of
a system, organized in a way that supports reasoning about the structures of the system. [6]
For this project, I have followed “Three tier Architecture”.
3.1.1 Three Tier Architecture
Three-tier architecture is a client-server architecture in which the functional process
logic, data access, computer data storage and user interface are developed and maintained
as independent modules on separate platforms. Three-tier architecture is a software
architectural pattern and well-established software architecture. Its three tiers are the
presentation tier, application tier and data tier. [6]
A special type of client/server architecture consists of three well-defined and separate
processes, each running on a different platform:
1. The user interface, which runs on the user's computer (the client), also called as
Presentation Layer.
2. The functional modules that actually process data. This middle tier runs on a server
and is called as application server, also called as Business Layer.
3. A database management system (DBMS) that stores the data required by the middle
tier. This tier runs on a second server called the database server, Data Access Layer.
This architecture is explained in the fig 3.1
Fig 3.1 Three-tier architecture
Flora Enroute
Quaid-i-Azam University Page 19
3.2 Database Design
Database design is the process of producing a detailed data model of a database. A fully
attributed data model contains detailed attributes for each entity. [6]
3.2.1 Entity Relationship Diagram (ERD)
An ER model is an abstract way of describing a database. In the case of
a relational database, which stores data in tables, some of the data in these tables point to
data in other tables. [6]
Fig 3.2 Entity Relationship Diagram
Flora Enroute
Quaid-i-Azam University Page 20
3.2.2 Database Diagram/ Bachman Diagram
A Bachman diagram is a certain type of data structure diagram, and is used to
design the data with a network or relational "logical" model, separating the data
model from the way the data is stored in the system. The model is named after database
pioneer Charles Bachman, and mostly used in computer software design. [6]
Fig 3.3 Database Diagram
Flora Enroute
Quaid-i-Azam University Page 21
3.3. Interaction Design
Interaction design deals with the process of developing a method for two (or more)
modules in a system to connect and communicate. These modules can apply to hardware,
software or the interface between a user and a machine. [6]
3.3.1 User Interface
In computing, graphical user interface is a type of user interface that allows users to
interact with electronic devices through graphical icons and visual indicators such as secondary
notation, as opposed to text-based interfaces, typed command labels or text navigation. GUIs
were introduced in reaction to the perceived steep learning curve of command-line interfaces
(CLI), which require commands to be typed on the keyboard [6].
In this project I have tried to make an attractive interface for users. For this purpose, pictures of
different plants taken from different roads of Islamabad are used. Following design principles
have been used in this project.
Repetition
Visual elements like colorful header and background of body is repeated throughout
design.
Contrast
Visual excitement that can draw attention is used. Contrast between text &
background is used.
Alignment
Elements are justified to create visual unity. Columns are used instead of wide areas
of horizontal text.
Fonts
Common fonts like Helvetica and Times New Roman are used.
Flora Enroute
Quaid-i-Azam University Page 22
3.4. Sequence Diagram
Sequence diagrams in the UML are primarily used to model the interactions between the
actors and the objects in a system and the interactions between the objects them-selves. As the
name implies, a sequence diagram shows the sequence of interactions that take place during a
particular use case or use case instance. [5]
Login
In fig 3.4, UserId and Password are entered by user at interface which is then passed to the User
class for login request. It is then passed to DBHANDLER for validation from database. If
validation is true then user is logged in.
Fig 3.4 Login
Flora Enroute
Quaid-i-Azam University Page 23
Upload Plant Information
In fig 3.5, Plant information is entered by user at interface which is then passed to the Plant class
for saving process. It is then passed to DbHandler to save data into database. If data is already
not in the system then Plant record is saved.
Fig 3.5 Upload Plant Information
Flora Enroute
Quaid-i-Azam University Page 24
Search a Plant
In fig 3.6, Plant information is entered by user at interface which is then passed to the Plant class
for search process. It is then passed to DbHandler to search data into database. If data is found in
the system then plant details are displayed.
Fig 3.6 Search a Plant
Flora Enroute
Quaid-i-Azam University Page 25
Identify a Plant
In fig 3.7, Plant characteristics are selected by user at interface which are passed to the Plant
class that searches plant in database using DbHandler. If plant is found in database then plant
data is sent to plant class that displayed at interface otherwise plant class fetches it from a
horticulture website and displays result to the user.
Fig 3.7 Identify a Plant
Flora Enroute
Quaid-i-Azam University Page 26
3.5 Class Diagram
Class diagrams are used when developing an object-oriented system model to show the
classes in a system and the associations between these classes. Loosely, an object class can be
thought of as a general definition of one kind of system object. An association is a link between
classes that indicates that there is a relationship between these classes. Consequently, each class
may have to have some knowledge of its associated class [5].
Fig 3.8 Class Diagram
Flora Enroute
Quaid-i-Azam University Page 27
3.5.1 Description of Classes
1. User
Attributes of user are username and password. Information of admin and registered users
is saved in database and can be used to login.
2. Plant
Plant has data members PlantID, CommonName, BotanicalName, and GardeningTips. It
gets the details of plant entered by admin or a registered user and passes to Data storage.
It also gets details of plants from database and passes it to the interface. It has objects of
User, Flower, Location, Season, Shape, Insect and Pesticide classes.
3. Flower
Flower has data member FlowerID. Class gets data entered by user and passes it to data
storage. . It has objects of Season, Shape and Color classes.
4. Location
Location class has Location_name, Longitude and Latitude as data members. It gets the
data entered by user and passes it to the data storage.
5. Season
Season class has SeasonName, StartDate, and EndDate. It gets the data entered by user
and passes it to the data storage.
6. Insect
Insect has data member Insect name and is stored to data storage when user enters its
information.
7. Pesticide
Pesticide has data members PesticideID and PesticideName and is stored to data storage
when user enters information.
8. Shape
Shape has data members of leafShape and flowerShape and Image and is stored in
database when user enters its information
9. Color
Color has attributes of ColorName, ColorCode and is stored in database and when user
enters its information.
Flora Enroute
Quaid-i-Azam University Page 28
Chapter # 4
System Implementation
Flora Enroute
Quaid-i-Azam University Page 29
After design phase there is an implementation phase. At this stage you create an executable
version of the software. Implementation may involve developing programs in high- or low-level
programming languages or tailoring and adapting generic, off-the-shelf systems to meet the
specific requirements of an organization. [5]
4.1 Framework Selection
I have selected Dot net framework for to develop the system. The .Net Framework is an
application development platform that provides services for building, deploying and running
desktop, Web, and phone applications and Web services.
4.2 Database Selection
SQL Server 2008 is used for this project. Microsoft SQL Server is a relational database
server, developed by Microsoft.
4.3 Language Selection
After the selection of framework the next step is to decide a suitable language for our
project. Suitable means that the language must be flexible enough to support design. Things that
should be taken care of while selecting a language is:
Design is object oriented or structured
System is Web based or Desktop based
For my project, the system is object oriented and web-based.
ASP. Net
I used ASP.net to implement my project because it is specifically used for Web
applications. In this language the pages are easy to write because the source code
and HTML are together.
The languages combined within it are
JQuery
I used it for making interfaces with image sliders.
Google Map APIs
Google Maps are used to show locations of different flowers and plants. Other
information is given in Appendix
Flora Enroute
Quaid-i-Azam University Page 30
4.4 Tools Used
Microsoft Visual Studio 2010 IDE
Microsoft Visual Studio is an integrated development environment (IDE) from
Microsoft. It is used to develop console and graphical user interface applications
along with Windows Forms or WPF applications, web sites, web applications, and
web services in both native code together with managed code for all platforms
supported by Microsoft Windows, Windows Mobile, Windows CE, .NET
Framework, .NET Compact Framework and Microsoft Silverlight. [6]
Microsoft SQL Server 2008
Microsoft SQL Server 2008 Express is a powerful and reliable data management
system that delivers a rich set of features, data protection, and performance for
embedded application clients, light Web applications, and local data stores. It is
designed for easy deployment and rapid prototyping. [7]
4.5 Architecture Used
As Three - tier architecture is used so three layers are as follows:
Presentation Layer
The top most level of the application is the user interface. The main function
of the interface is to translate tasks and results in a way that user can
understand. The .aspx files of the project are interface related.
Business Logic
This layer coordinates the application, processes commands, makes logical
decisions and evaluations, and performs calculations. It also moves and processes
data between the two surrounding layers. The aspx.cs files of the project are
business logic related.
Data Access Layer
Information is stored and retrieved here from a database or file system. The
information is then passed back to the logic tier for processing and then
eventually back to the user. FloraClass is the data access layer of the project.
In Figure 4.1 these files are mapped on each layer.
Flora Enroute
Quaid-i-Azam University Page 31
4.6 Coding Guidelines
For this project, while coding, some standard are followed in order to avoid several
problems.
Quality of code (comments used for each function) increases life of system.
Chance of error is also decreased.
Making changes in system for developer and for any other person later becomes
easier.
Understanding the system becomes easier.
Method names start with upper case letter. While if a method name is
composite it is written without spaces or there is a hyphen
between words.
Comments have been used that makes the task of making changes in code easier
for the developer.
Variable names are meaningful that help to understand the purpose of their use.
Presentation layer (aspx files)
Business layer (aspx.cs files)
Data Access Layer (.cs files in FloraClass)
Data Source
Fig. 4.1 Three Tier Architecture of software
Flora Enroute
Quaid-i-Azam University Page 32
Chapter # 5
Testing
Flora Enroute
Quaid-i-Azam University Page 33
In testing some or all of the components in a system are integrated and the system is tested as a
whole. System testing should focus on testing component interactions. [5]
This chapter contains User Acceptance Test (UAT) specification which is built against use cases
stated in Requirement Analysis.
5.1 UAT Test Cases
User Acceptance Testing (UAT) is the last phase of the software testing process. During
UAT, actual software users test the software to make sure it can handle required tasks in real
world scenarios, according to specifications. UAT is one of the final and critical software project
procedures that must occur before newly developed software is rolled out to the market. [8]
Test case 1: Login
ID T-01
Description User enters email ID and password and system checks for correct email
ID and password to login to the system.
Test setup 1. Email ID : [email protected] and password ********
2. Email ID : [email protected] and password ********
Step of instructions: 1. Enter email ID: [email protected]
2. Enter Password
********
3. Submit to login.
Expected Output Entered email ID and password is correct and user has logged into the
system.
Verdict PASS
Flora Enroute
Quaid-i-Azam University Page 34
Test case 2: Signup
ID T-02
Description User enters his/her name, email ID and password for registration.
System validates the entered information and saves information.
Test setup --------
Step of instructions: 1. Enter information.
First Name: Faiza
Last Name: Akhtar
Email : [email protected]
Password: ********
2. Click Signup button.
Expected Output Entered email ID and password is correct and user is registered to the
system.
Verdict PASS
Test case 3: Upload Plant Information
ID T-03
Description System checks for the existing record and saves plant information in to
the database.
Test setup --------
Step of instructions: 1. Enter information in the required fields.
Common Name: Kachnaar
Botanical Name: Bouenna alba beregetta
Propagation: by seed
Planting Season: Winter
Plant type: Gymnosperm
Flowering Season: Spring, Winter
Leaf Shape: Falbelatte
Leaf Arrangement: Opposite
Flower Shape: Tepals
Flower Color: Purple
Plant Image: Kachnar.jpg
Plant Location: Lake view road
2. Click Submit button.
Expected Output Plant information is saved successfully after verification.
Verdict PASS
Flora Enroute
Quaid-i-Azam University Page 35
Test case 4: Add Plant Data
ID T-04
Description System checks for the existing record and saves plant data in to the database.
Test setup ----
Step of
instructions:
1. Enter information in the required fields.
Propagation: by cutting
Planting Season: Spring
Flowering Season: Monsoon
Insects: American Worm
Leaf Shape: Palmate
Leaf Arrangement: Alternate
Flower Shape: Stellate
Leaf Arrangement: Opposite
2. Click Submit button.
Expected Output Data is saved successfully after verification.
Verdict PASS
Test case 5: Search a Plant
ID T-05
Description User types name of a plant to search its details, and according to the user
requirement system displays result of search.
Test setup Common name to search:
Gulab
Chambeli
Kachnaar
Botanical name to search:
Rosa Indica
Jasminum Officinal
Bouenna alba beregetta
Step of
instructions:
1. Enter Common name or botanical name for details.
2. Press search button.
Expected Output System gets query from user and searches in existing record data and
displays required data to the user.
Verdict PASS
Flora Enroute
Quaid-i-Azam University Page 36
Test case 6: Identify a Plant
ID T-06
Description User selects leaf shape, leaf arrangement, flower shape and flower color
of a plant to search its name and other details, and according to the user
requirement system displays result of search.
Test setup Characteristics of plant already stored in the system:
1. Leaf shape: Ovate
Leaf Arrangement: Opposite
Flower Shape: Rosette
Flower Color: Red
2. Leaf shape: Aristate
Leaf Arrangement: Alternate
Flower Shape: Campanulate
Flower Color: White
Step of
Instructions
1. Enter Leaf shape, Leaf arrangement, Flower shape and
Flower color
Leaf shape: Ovate
Leaf Arrangement: Opposite
Flower Shape: Rosette
Flower Color: Red
2. Press Identify button.
3. Rose plant and its details are displayed.
Expected Output System gets query from user and searches in existing record data and
displays required data to the user. If data not found in system database then
system fetches it form a horticulture website.
Verdict PASS
Flora Enroute
Quaid-i-Azam University Page 37
Chapter # 6
Conclusion & Future Enhancement
Flora Enroute
Quaid-i-Azam University Page 38
6.1 Conclusion
The basic purpose of our project is to provide a platform for gardening lovers to get all the
information related to plants (what quantity of water they need, which insects attack on these
plants and from where we can buy these plants etc.) In this project searching facility is provided
as user can search a Plant by its Common name as well as its Botanical name. User can also
search plant name by selecting its various characteristics like leaf shape, leaf arrangement,
flower shape, flower color, plant location etc. This project also displays locations of plants
planted in various roads of Islamabad.
6.2 Future Enhancements
1. This project can be enhanced to further cities of Pakistan.
2. This project can also be implemented as a mobile application.
Flora Enroute
Quaid-i-Azam University Page 39
References [1] http://www.cda.gov.pk.
[2] http://www.qau.edu.pk/biological-sciences.
[3] http://www1.se.cuhk.edu.hk/~seem3430/use%20case%20tutorial.pdf
[4] Craig Larman. Applying UML and Patterns, Prentice Hall Professional, 2nd Edition (2002)
[5] Ian Somerville. Software Engineering, Pearson Education, Inc. 9th Edition (2011)
[6] http://en.wikipedia.org/
[7] www.microsoft.com/en-pk/
[8] http://www.techopedia.com/
Flora Enroute
Quaid-i-Azam University Page 40
Appendix Information about Plants
For learning about plants and other characteristics, some horticulture websites were studied
http://theseedsite.co.uk
http://www.weedcenter.org/inv_plant_info/docs/plant-identification.pdf
UML Diagrams
For learning UML notations and diagrams and other concepts, some software engineering
books were studied
Perdita Stevens, Using UML Software Engineering With Objects and Components.
Craig Larman, (2002). Applying UML and Patterns, Prentice Hall Professional.
Ian Somerville . Software Engineering, Pearson Education, Inc.
For drawing UML diagrams UML tool named ArgoUML was used. Online tools were also
used to draw UML diagrams.
https://www.gliffy.com
https://www.creately.com
Google map API
http://www.subgurium.net
Color Codes used in system for entering colors into database were taken from
www.w3schools.com