flora report

47
FLORA ENROUTE By NAMRA NAZIR Supervised By Dr. ONAIZA MAQBOOL DEPARTMENT OF COMPUTER SCIENCE QUAID-I-AZAM UNIVERSITY ISLAMABAD 2011-2013

Upload: namra-malik

Post on 27-Dec-2015

23 views

Category:

Documents


0 download

DESCRIPTION

A project report on the plants planted in islamabad

TRANSCRIPT

Page 1: Flora Report

FLORA ENROUTE

By

NAMRA NAZIR

Supervised By

Dr. ONAIZA MAQBOOL

DEPARTMENT OF COMPUTER SCIENCE

QUAID-I-AZAM UNIVERSITY

ISLAMABAD

2011-2013

Page 2: Flora Report

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)

Page 3: Flora Report

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

Page 4: Flora Report

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

Page 5: Flora Report

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.

Page 6: Flora Report

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

Page 7: Flora Report

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

Page 8: Flora Report

Flora Enroute

Quaid-i-Azam University Page 1

Chapter # 1

Introduction

Page 9: Flora Report

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.

Page 10: Flora Report

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.

Page 11: Flora Report

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.

Page 12: Flora Report

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

Page 13: Flora Report

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.

Page 14: Flora Report

Flora Enroute

Quaid-i-Azam University Page 7

Chapter # 2

Requirement Specification

Page 15: Flora Report

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

Page 16: Flora Report

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

Page 17: Flora Report

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

Page 18: Flora Report

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.

Page 19: Flora Report

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.

Page 20: Flora Report

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.

Page 21: Flora Report

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: -------

Page 22: Flora Report

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

Page 23: Flora Report

Flora Enroute

Quaid-i-Azam University Page 16

Fig 2.2 Domain Model

Page 24: Flora Report

Flora Enroute

Quaid-i-Azam University Page 17

Chapter # 3

System Design

Page 25: Flora Report

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

Page 26: Flora Report

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

Page 27: Flora Report

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

Page 28: Flora Report

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.

Page 29: Flora Report

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

Page 30: Flora Report

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

Page 31: Flora Report

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

Page 32: Flora Report

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

Page 33: Flora Report

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

Page 34: Flora Report

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.

Page 35: Flora Report

Flora Enroute

Quaid-i-Azam University Page 28

Chapter # 4

System Implementation

Page 36: Flora Report

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

Page 37: Flora Report

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.

Page 38: Flora Report

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

Page 39: Flora Report

Flora Enroute

Quaid-i-Azam University Page 32

Chapter # 5

Testing

Page 40: Flora Report

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

Page 41: Flora Report

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

Page 42: Flora Report

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

Page 43: Flora Report

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

Page 44: Flora Report

Flora Enroute

Quaid-i-Azam University Page 37

Chapter # 6

Conclusion & Future Enhancement

Page 45: Flora Report

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.

Page 46: Flora Report

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/

Page 47: Flora Report

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