final report

99
CyberGIS ECY6489 Group Project (Final report) Department of Electrical & Computer Engineering Faculty of Engineering Technology The Open University of Sri Lanka September 2011

Upload: m-shehan-perera

Post on 08-Dec-2014

2.848 views

Category:

Education


5 download

DESCRIPTION

BSE-Final Project Report

TRANSCRIPT

Page 1: Final report

CyberGIS

ECY6489 Group Project

(Final report)

Department of Electrical & Computer Engineering

Faculty of Engineering Technology

The Open University of Sri Lanka

September 2011

Page 2: Final report

CyberGIS

Undergraduate Final project Report

Submitted in partial fulfillment of

the requirements for the

Degree of Bachelor of Software Engineering

in

Department of Electrical & Computer Engineering

The Open University of Sri Lanka

Supervisors Project Group

Dr. L.S.K Udugama M.S.R Perera<209087374>

Dr. Uditha Ratnayake D.S Kulasuriya<709087412>

Mr.Chaminda Anandasiri W.M.DJeewantha<509087436>

September 2011

Page 3: Final report

i

Acknowledgement

We would like to thank our head of department Dr.L.S.K Udugama and our project

supervisor Dr. (Mrs.) Uditha Rathnayake for their valuable guidance & advice. Also we

would like to thank our parents for their support, encouragement and belief. We highly

appreciate the support given by our employers and project heads by providing the

industry exposure and study leaves. Finally we would like to thank all other parties for

their support at least by an encouraging word.

Page 4: Final report

ii

Abstract

The main purpose of this project was to fulfill the credit requirement of ECY6489

module under the Bachelor of Software Engineering Degree. The goal of this project was

to take the existing GIS based solution to the next level by providing more features and

make more beneficial for potential geographically distributed domains. In this CyberGIS

system we achieved this goal by introducing customizable domain maps, reporting and

analysis features, and mobile based capabilities.

Page 5: Final report

iii

Table of Contents

CHAPTER NO. TITLE PAGE NO.

acknowledgement I

abstract II

list of tables VI

list of figures VII

list of abbreviations VIII

1. INTRODUCTION 1

2. LITERATURE SURVEY 2

2.1 Similar Systems 2

2.2 Theoretical Background 3

2.3 Required Components 3

3. PROPOSED METHOD 4

3.1 Introduction 4

3.2 System Requirements 4

3.3 Main Components and Flow 7

3.4 Project Plan and Approach 8

4. DESIGN OF SOFTWARE 11

5. FABRICATION OF SOFTWARE 23

6. TESTING AND IMPLEMENTATION 25

7. RESULTS 35

8. CONCLUSION AND FUTURE WORK 36

8.1 CyberGIS GUI Module. 36

8.2 CyberGIS Mobile Component. 37

8.3 CyberGIS Service Module. 37

9. PROJECT CONTRIBUTIONS 38

9.1 Project Contribution by: M.S.R Perera <209087374> 38

9.2 Contribution by: D.S Kulasuriya<709087412> 39

9.3 Contribution by: W.M.D.R Jeewantha<509087436> 40

REFERENCES 41

Page 6: Final report

iv

APPENDIX 42

Appendix A – Use case Diagrams 42

Appendix A1 – CyberGIS Admin User Use Case Diagram 42

Appendix A2 – CyberGIS Operative User Use Case Diagram 43

Appendix B – Class Diagrams 44

Appendix B1 –CyberGIS Mobile Component Class Diagrams 44

Appendix B1.i GUI Package 44

Appendix B1.ii Service Package 45

Appendix B1.iii . Core Package 46

Appendix B1.iv . Constants And Param Package 47

Appendix B2 – CyberGIS Service Module Class Diagrams 48

AppendixB2.i:The RMI DTO Package 48

Appendix B2.ii Service DTO Package 49

Appendix B2.iii Business Logic Package 50

Appendix B2.iv. JPA Package 51

Appendix B2.v .Web Service Package 52

Appendix B2.vi . Utility Package 53

Appendix B3 – CyberGIS GUI Module Class Diagrams 54

Appendix B3.i . Logic Package 54

Appendix B3.ii Service Package 55

Appendix B3.iii. Param Package. 56

Appendix B3.iv . MDB package 56

Appendix B3.v . Filter Package 56

Appendix B3.vi Utility Package. 57

Appendix B3.vii . Test Package 58

Appendix C – Sequence Diagrams. 59

Appendix C1: Add Domain Map Marker 59

Appendix C2: Close Domain Map Marker 60

Appendix C3: Create Snap shot 61

Appendix C4: Generate CyberGIS Report 62

Appendix C5: Send Operative Location Update 63

Appendix C6: Send Operative Message 64

Appendix C7: View Operative Message History 65

Appendix C8: Send Operative Message Notification 65

Appendix C9: View Current Operative Location On Map 66

Appendix C10: Timeout CyberGIS Operative Message 67

Appendix C11: Add Domain User 68

Appendix C12: Login CyberGIS User 69

Appendix D – Activity Diagram 70

Appendix D1: Load Main Console 70

Page 7: Final report

v

Appendix D2: Display Operative location 70

Appendix D3: Add New Map Marker 71

Appendix D4: Close Map Marker 71

Appendix D5: Edit Map Marker 72

Appendix D6: Send Operative Message 72

Appendix D7: Load Main Console 73

Appendix D8: Add New User 73

Appendix E – ER Diagram 74

Appendix F –Screen Designs 75

Appendix F1: CyberGIS Main Console 75

Appendix F2: CyberGIS Login Dialog 75

Appendix F3: CyberGIS New Marker Dialog 76

Appendix F4: CyberGIS New User Dialog 76

Appendix F5: CyberGIS Map Marker Panel 77

Appendix F6 : CyberGIS Report Wizard Dialog 77

Appendix F7: CyberGIS Operative Message Dialog 78

Appendix F8: CyberGIS Operative Message History Dialog 78

Appendix F9: CyberGIS Mobile Login 79

Appendix F10: CyberGIS Mobile Main Screen 79

Appendix F11: CyberGIS Mobile Task List 80

Appendix F12: CyberGIS Mobile Task Details 80

Appendix F13: CyberGIS Mobile Task Notification 81

Appendix F14: CyberGIS Mobile Task Status Update 81

Appendix G : Test Cases 82

Page 8: Final report

vi

List of Tables

Table ID Table Description Page No.

Table 3.1 Functional Requirements 5

Table 3.2 Project Deliverables 9

Table 3.3 Actual vs. Planned 10

Table 6.1 Severity Classification 27

Page 9: Final report

vii

List of Figures

Figure ID Figure Description Page No.

Figure 3.1 CyberGIS System 7

Figure 4.1 General Architecture 11

Figure 4.2 CyberGIS Service Module High Level Design 12

Figure 4.3 CyberGIS GUI Module High Level Design 17

Figure 4.4 CyberGIS Mobile Module High Level Design 20

Figure 6.1 Test Deliverables 26

Page 10: Final report

viii

List of Abbreviations

Abbreviations Description

AJAX Asynchronous JavaScript And XML

API Application Programming Interface

DB Data Base

GIS Geographic Information System

GUI Graphical User Interface

IDE Integrated Development Environment

J2ME Java 2 Mobile Edition

JMS Java Messaging Services

JPA Java Persistent API

JSF Java Server Faces

mbps Mega Bits per Second

ORM Object Relational Mapping

OS Operating System

QA Quality Assurance

RMI Remote Method Invocation

SRS System Requirement Specification

UI User Interface

URL Universal Resource Locator

WTK Wireless Tool Kit

XML Extensible Markup Language

Page 11: Final report

1

CHAPTER 01

INTRODUCTION

The CyberGIS system is designed based on the vision “make use of existing GIS data

providers and expand that technology into new levels, that the society can make more use

of it in their domains.” So we proposed and developed a web based system that users of

this system can tag their geographically distributed domain entities on a map, customize

these entity details and, store and share them only among other required and authorized

parties within the domain.

At the time when we were proposing the CyberGIS system there were GIS Systems either

that required high GIS and mapping knowledge which bit complex (ESRI ArcGIS) or

very simple with few functionalities (Google Map). Very Complex GIS Systems avoided

the wide and general use by many potential domains as high costs, requirement of GIS

professional and less usability. On the other hand very simple GIS Systems did the same

thing by not providing authorized and secure data access, less customizability and no

reporting and analysis features.

As a solution to this problem we developed the CyberGIS system with capabilities as

mapping entities, manipulating entity data, mobile operative command, reporting and

analysis while ensuring customizability, usability, security and performance.

So we would like to believe the CyberGIS is a concept rather than a system that will

grow into higher levels that will help potential geographically distributed domain to store,

track and coordinate their distributed entities and facts. Also this concept will assist

decision making and planning by providing reporting and analysis capabilities.

Page 12: Final report

2

CHAPTER 02

LITERATURE SURVEY

A GIS is a system that incorporates software, hardware, and data for collecting,

managing, analyzing, and portraying geographically referenced information. It allows the

user to view, understand, manipulate, and visualize data to reveal relationships and

patterns that solve problems. The user can then present the data in easily understood and

disseminated forms, such as maps, reports, or charts (http://www.gis.com/content/what-

gis, 2011).

2.1 Similar Systems

During our literature survey of similar systems we studied about Google Maps

(maps.google.com, 2010) and ESRI ArcGIS (http://www.esri.com/, 2010).

Google Maps is a web based GIS system that built on HTML and Java scripts. They use

spatial map data and satellite imagery that is provided by various authorities such as

NASA, Tele Atlas, Map Link, Europa Technologies, etc… They provide mapping data

free for web based non commercial use, but charged for commercial use. When we

compare CyberGIS system with Google maps, CyberGIS is also developed on Google

Maps API and then inherited the features of it. But in the CyberGIS we tried to overcome

the Google Maps disadvantages by providing features such as private and authenticated

data domains, map data customization, storage and manipulation of offline map data,

time series analysis and reporting of stored map data. But in the CyberGIS we have left to

implement map data search and route finding features which is drawbacks form Google

Maps (http://code.google.com/apis/maps/documentation/javascript/, 2010).

ESRI ArcGIS from the other hand is a complete desktop based GIS suite that provides

very complex functionalities. They also provide private and secure data access,

customization of domains, data analysis and reporting. But ArcGIS has its disadvantage

by been a very high rated license product and required specialized GIS professionals to

map data in to the system and design and customize the system for private domain use.

Page 13: Final report

3

But it has advantages over the CyberGIS by having a high feature set, engineering and

architect level standards and its offline map storage (ESRI, 2002).

But the CyberGIS system introduces a new level of features by providing mobile

operative command and feedback, and real time mobile operative tracking which makes

this a unique product.

2.2 Theoretical Background

During the literature survey of the theoretical background we did look into mainly two

GIS information providers and they are:

1. Open Street Map: http://www.openstreetmap.org/

2. Google Maps: http://maps.google.com/

After reviewing the above two external GIS providers we decided to go with Google Map

V3 API due to their reliability, quality of map imagery /choices of different map image

types as : hybrid ,satellite and their array of functions provided by them Free or charge

(http://code.google.com/apis/maps/documentation/javascript/, 2010).

We studied time series analysis techniques used in Statistics for the implementation of

the CyberGIS analysis features (SPIEGEL, 1961).

2.3 Required Components

During the literature survey of the required software components of the project we‟ve

decided to choose the spring framework as our base enterprise we framework for building

our business logic on. Other than spring we will be using the Java Persistence API (JPA)

and Oracle (toplink) ORM for database access and database manipulation. For the mobile

operative end user component of the CyberGIS system we‟ve used the Java J2ME

technology. Also we used Primefaces API to use with JSF because of its easy and high

end look and feel UI component set (www.Primeface.org, 2010). Also in combination

with that we used Java managed beans to implement the CyberGIS GUI module

Page 14: Final report

4

CHAPTER 03

PROPOSED METHOD

3.1 Introduction

The CyberGIS system is basically provides the GIS solution with extended

functionalities. The system will provide customizable web based domain maps. The

system creates domains for separate users which are working with controlled and highly

secured access to the CyberGIS web service. So a particular user can only access to their

domain and view maps for their domain. Users can manage their domains as they want

using granted access rights and customized capabilities. As any other GIS system,

CyberGIS will provide the basic map operations like Search for locations, Find location

using latitude and longitude, Zoom In and Zoom Out, Scroll the map, View location

names and tags, Show Roads and Railways. Other than to these, users can create any

tags, markers and locations as related to their business requirements. Those remarks are

only visible to those particular domain users only. Past records are kept with the system

for each user and can be retrieved as statistics in any situation. Those details are highly

secured and provide controlled access. Those statistics are available to management

decision making and planning processes of the clients.

3.2 System Requirements

System requirements for the CyberGIS system basically divided into two categories as

functional requirements and non functional requirements. More details can be found in

CyberGIS System Requirements Specification document.

Page 15: Final report

5

Functional requirements:-

Title Description

System Customization. User of the CyberGIS system will have

private domains. So the users should be able

to customize these domains as they want by

defining data within it.

Provide Map Information. CyberGIS system should provide basic map

information as map details, marker details.

Live and Updated Information. CyberGIS system should display live data

feed by the domain users and mobile

operatives as well as updates from map data

providers.

Statistics and Historical Data Analysis. CyberGIS system should support statistical

analysis of stored data in the domain

databases.

Data Archival and Retention. Data input by the domain users as well as

mobile operatives should be stored within the

domain databases. Also transaction history

should keep in the DB.

User Profiles, Roles and Privileges. Domain user should be divided into several

access levels on their roles and privilege.

These access levels should be authenticated in

order to access to the system.

Reporting. CyberGIS system should support generation

of reports based on stored data in the domain

databases.

Mobile Operative Command CyberGIS system should be capable of

communicating with mobile operative using

CyberGIS mobile component via internet.

Page 16: Final report

6

Table 3.1 – Functional Requirements

Non Functional Requirements:-

Non functional requirements are discussed under following categories. Please refer

CyberGIS System Requirements Specification document.

Performance and Load Requirements.

Compatibility Requirements.

External Interface Requirements.

User Interfaces Requirements.

Communications Interfaces Requirements.

Security and Authentication requirements.

Quality Assurance Requirements

Development Requirements.

Deployment Requirements

Special Documentation Requirements

Applicable Standards Requirements.

Usability Requirements.

This includes sending messages with map

data to the operatives as well as gets

feedbacks from them.

Real-time Operative Tracking. CyberGIS system should be capable of

tracking mobile operatives using built-in GPS

devices on their mobiles.

Page 17: Final report

7

3.3 Main Components and Flow

The work flow of the CyberGIS system is illustrated in the following Figure 3.1.

According to that there are main two components of the system.

1. Main console.

2. Mobile Device.

The main console will get the map data by an existing map data provider like Google

Maps. Those map data are displayed on the main console. Users can add customized

domain markers on the map by specifying marker details. Those markers represent

some domain entity or fact and marker data are saved on a database.

So users can view saved markers on the map, manipulate marker details, generate

historic trend reports and pattern analysis using stored data.

There are registered domain operatives with the system and as they login with their

mobile devices main console users can retrieve details of those operatives on the main

map. This also allows the users to send messages to a selected operative via web with

map instructions. So operatives can view those messages and send response

feedbacks to main console that can be view by the users.

Figure 3.1 – CyberGIS System

GIS Map

provider

Main

Console

Mobile

Device GPS Device

User Operative

DB WEB

Page 18: Final report

8

3.4 Project Plan and Approach

The project approach is based on the agile methodology and MSF (Microsoft

Framework) and it allows requirement, environment and technological changes to reflect

within product releases.

CyberGIS is developed using the various tools chose by us and we consider free and open

source software and tools. These tools include Eclipse and NetBeans IDEs for

development, Tomcat server technology for deployment, MySQL for DB deployment and

various 3rd

party java tools, plug-ins and web services as required. Also JAVA and JSF

with Primefaces API are used as the programming technologies. Then Google Map API

and services are used for GIS manipulation. Also SVN is used for release management

and version control. The project team consists of 3 members with initial roles but all were

working on each role as required.

Project plan consists all the project activities, schedule and deliverables of the project.

Project activities are basically encapsulated as project deliverables and delivered in

several phases. Also project plan is subdivided into several sub plans for each category.

More details on this topic can be found in CyberGIS Master Project Plan document.

Development Plan.

Test Plan.

Communication plan.

Deployment plan.

Training plan.

Support plan.

Purchasing & Facilities Plan.

Budget plan.

Page 19: Final report

9

Code Deliverable Phase

CG1.1.1 Vision document Envision

CG1.1.2 Project structure document „‟

CG1.1.3 Milestone review report „‟

CG1.2.1 Master project plan Plan

CG1.2.2 Functional specification „‟

CG1.2.3 Deployment plan „‟

CG1.2.4 Test plan „‟

CG1.2.5 Test specification „‟

CG1.3.1 Develop internal releases Build

CG1.3.2 Traceability Audit document „‟

CG1.4.1 Functional testing Stabilize

CG1.4.2 UI stabilizing „‟

CG1.4.3 System testing „‟

CG1.4.4 Pre-production testing „‟

CG1.4.5 Release candidates „‟

CG1.4.6 User acceptance testing „‟

CG1.4.7 Testing and Bug Report „‟

CG1.5.1 Project Close-Out Report Close out

Table 3.2 – Project Deliverables

Page 20: Final report

10

Code Deliverable Planned

(hr.)

Actual

(hr.)

Variance

(hr.)

CG1.1.1 Vision document 5 6 +1

CG1.1.2 Project structure document 15 13 -2

CG1.1.3 Milestone review report 5 6 +1

CG1.2.1 Master project plan 15 14 -1

CG1.2.2 Functional specification 120 100 -20

CG1.2.3 Deployment plan 10 8 -2

CG1.2.4 Test plan 5 4 -1

CG1.2.5 Test specification 40 44 +4

CG1.3.1 Develop internal releases 520 535 +15

CG1.3.2 Traceability Audit document 15 13 -2

CG1.4.1 Functional testing 40 43 +3

CG1.4.2 UI stabilizing 30 38 +8

CG1.4.3 System testing 40 29 -11

CG1.4.6 User acceptance testing 5 3 -2

CG1.4.7 Testing and Bug Report 20 16 -4

CG1.5.1 Project Close-Out Report 10 31 +21

Totals 895 903 +8

Table 3.3 – Actual vs. Planned

Page 21: Final report

11

CHAPTER 04

DESIGN OF SOFTWARE

Figure 4.1 – General Architecture

Overview of the CyberGIS General Architecture

When designing the CyberGIS System we‟ve decided to choose the spring framework as

our base enterprise we framework for building our business logic on. Other than spring

we will be using the Java Persistence API (JPA) and Oracle (toplink) ORM for database

access and database manipulation. For the mobile operative end user component of the

CyberGIS system we‟ve used the Java J2ME technology. The two web modules of the

Cybergis GUI module and the CyberGIS service module will be hosted in the Apache

Tomcat server 7.0.12 and the J2ME application will be run (for the development phase)

on the sun java j2me standard development kit version 3.0. If the take the individual

components of the cybergis system they could be mainly divided into 03 major modules.

They are:

Page 22: Final report

12

1. CyberGIS Service Module.

2. CyberGIS GUI Module.

3. CyberGIS Mobile Component.

CyberGIS Service Module – High Level Design

Figure 4.2 – CyberGIS Service Module High Level Design.

The CyberGIS Service Module is the Heart or the Central Hub of the entire cybergis

application. It contains all the business logic classess, the JPA layer classes used to

perform database operations using the ORM framework and manages the three JMS

messages queues. The CyberGIS Service Module exposes it‟s methods to be called by

other modules by using Java RMI and SOAP based Document+Literal Style web

services.

Page 23: Final report

13

If we take a closer look at the CyberGIS Web Service Module It Consist of several

packages and each of those packages consist of several classes. Therefore for us to be

able to explain the entire system in a simple manner we‟ve divided the class diagrams by

their packages and presented below using their class names. For detailed information of

each of the classes in the packages mentioned below please refer the appropriate

appendix mentioned beside the classes.

i. The RMI DTO Package

These are the DTO classes that are responsible for transporting data via Java RMI

between the CyberGIS GUI module and the CyberGIS Service Module. These classes are

all serializable classes that support sending data through the wire/network in distributed

applications. For a detailed inside look at these classes please refer to the diagram on

Appendix B2.i.

Page 24: Final report

14

ii. Service DTO Package

This set of classes is the DTO classes that are used to transfer data between the CyberGIS

Service module and the CyberGIS mobile component using DOCUMENT+LITERAL

style web services. These classes are all serializable classes that support sending data

through the wire/network in distributed applications. For a detailed inside look at these

classes please refer to the diagram on Appendix B2-ii.

iii. Business Logic Package

The Classes in this package are responsible for implementing the business logic of the

CyberGIS system. The following diagrams show those classes with their respective

hierarchies. For a detailed inside look at these classes please refer to the diagram on

Appendix B2-iii.

Page 25: Final report

15

iv. JPA Package.

These are the classes responsible for performing the database related operations using the

JPA through the toplink ORM framework. Each of the following classes represent a

single database table in the cybergis system. For a detailed inside look at these classes

please refer to the diagram on Appendix B2-iv.

v. Web Service Package

These are the set of classes responsible for implementing the web service component of

the CyberGIS service module. This service module is mainly responsible for operations

that occur between the cybergis mobile client and the cybergis web service module. For a

detailed inside look at these classes please refer to the diagram on Appendix B2-v.

Page 26: Final report

16

vi. Servlet Package.

This is the package where the servlet responsible for retrieving the messages in the

message queue by the mobile client. Due to the limitations in the J2ME web services api

the J2ME mobile component of the cybergis system used this servlet to retrieve the

messages in the cybergis operator message queue in xml format.

vii. Utility Package

This is the package where all the utility classes responsible for all the cybergis operations

are found. These classes are centrally defined in the utility package as the functionality of

the classes are universally accessed by almost all the other classes in the cybergis service

module packages. For a detailed inside look at these classes please refer to the diagram

on Appendix B2.vi.

Page 27: Final report

17

CyberGIS GUI Module – High Level Design

This module provides the HTTP web interface of the cybergis system. This module

allows the cybergis administrative user to centrally administer the cybergis system using

a web based gui interface. As depicted in the above diagram the CyberGIS GUI module

has its own business logic calling/processing classes for the GUI level rendering and

calling the business logic in the CyberGIS Service module via RMI. The CyberGIS GUI

module also has the receiving ends of two JMS messaging queues to receive CyberGIS

Operative Location updates and CyberGIS Message Status Updating JMS Queues.

If we take a closer look at the CyberGIS GUI Module It Consist of several packages and

each of those packages consist of several classes. Therefore for us to be able to explain

the entire system in a simple manner we‟ve divided the class diagrams by their packages

and presented below using their class names. For detailed information of each of the

classes in the packages mentioned below please refer the appropriate appendix mentioned

beside the classes.

Figure 4.3 – CyberGIS GUI Module High Level Design.

Page 28: Final report

18

i. Logic Package

This package contains cybergis business logic that has no database interaction what so

ever and have been implemented on the GUI side in order to reduce the response time

due to RMI call delays. For a detailed inside look at these classes please refer to the

diagram on Appendix B3-i.

ii. Service Package

This package consist of the CyberGIS GUI module classes that are used to communicate

with the service module and call the business logic method of the cybergis service

module via RMI calls. For a detailed inside look at these classes please refer to the

diagram on Appendix B2-ii.

iii. Param Package.

This package consists of the parameter classes used in the cybergis gui module. For a

detailed inside look at these classes please refer to the diagram on Appendix B3-iii.

Page 29: Final report

19

iv. MDB package

This package consists of the JMS message queue front end classes that receive messages

from the JMS queues and process them. For a detailed inside look at these classes please

refer to the diagram on Appendix B2-iv.

v.Filter Package

This package consists of the classes that are used for user authentication and

authorization filtering done throughout the application. For a detailed inside look at these

classes please refer to the diagram on Appendix B3-v.

vi. Utility Package.

This package contains the classes with the utility functions that are used throughout the

cybergis gui application. For a detailed inside look at these classes please refer to the

diagram on Appendix B3-vi.

vii. Test Package.

This package consists of the unit testing classes used for unit testing the CyberGIS GUI

module level business logic implementations. For a detailed inside look at these classes

please refer to the diagram on Appendix B2-vii.

Page 30: Final report

20

CyberGIS Mobile Component – High Level Flow

Figure 4.4 CyberGIS Mobile Module High Level Design

This is the natively running J2ME application component of the CyberGIS System. The above

diagram shows the basic flow of this mobile application. This component will communicate with

the Cybergis service module using the HTTP and via DOCUMENT+LITERAL Style web service

calls. If we take a closer look at the CyberGIS Mobile Componet It Consist of several packages

and each of those packages consist of several classes. Therefore for us to be able to explain the

entire system in a simple manner we‟ve divided the class diagrams by their packages and

presented below using their class names. For detailed information of each of the classes in the

packages mentioned below please refer the appropriate appendix mentioned beside the classes.

Page 31: Final report

21

i. GUI Package.

This package contains the main GUI design class of the Mobile Application. For a

detailed inside look at these classes please refer to the diagram on Appendix B1.i.

ii. Service Package

This package consists of the classes that the CyberGIS mobile component uses to

communicate with the CyberGIS web service via web service and HTTP calls. For a

detailed inside look at these classes please refer to the diagram on Appendix B1-ii.

iii. Core Package

This package consists of the core business logic classes that implement the business logic

inside of the CyberGIS mobile component. For a detailed inside look at these classes

please refer to the diagram on Appendix B1-iii.

Page 32: Final report

22

iv. Constants Package.

This package consists of the constants class used right throughout the cybergis mobile

application component. . For a detailed inside look at these classes please refer to the

diagram on Appendix B1.iv.

v. Param Package

This package consists of the parameter classes used by the CyberGIS Mobile application

component. . For a detailed inside look at these classes please refer to the diagram on

Appendix B1.iv.

Page 33: Final report

23

CHAPTER 05

FABRICATION OF SOFTWARE

For the development of the software we‟ve used java as the core development language.

All the components & technology frameworks used are mainly core java based

implementations.

When writing the software the 03 main software components of the system we‟re used

the following technologies and software to come up with a distributed web based

cybergis software solution.

Client Browser

We could use any type of latest client browser like google chrome or IE7 to use the

administrative web component of the cybergis system.

HTTP/HTTPS Network

The CyberGIS system is currently available via both HTTP network. And in the future it

will support HTTPS based networking.

Web Application Server

The web application server used in developing the CyberGIS system is the apache tomcat

7.0.12 web application server. For our system we‟ve configured this application server to

have ActiveMQ embedded inside the application server.

Database Server

The Database server used in the CyberGIS system is the mysql database server.

Integrated Development Environments

The Intergrated Development Environments.NetBeans with J2ME development plugn &

Eclipse have been for developing the cybergis system.

Web Framework

The Web framework used is the Spring Web framework to develop this system.

Page 34: Final report

24

GUI Development Framework

The GUI development framework used in the CyberGIS is called the primefaces

(www.primefaces.org). This is a is a lightweight open source component suite for Java

Server Faces 2.0 featuring 100+ rich set of JSF components.

ORM Framework

The ORM framework used in developing the CyberGIS System is the toplink oracle orm

with the Java JPA framework.

Page 35: Final report

25

CHAPTER 06

TESTING AND IMPLEMENTATION

Test Objectives

A primary objective of testing the system is to assure that the system meets the full requirements,

including quality requirements (Non-functional requirements) and fit metrics for each quality

requirement and satisfies the use case scenarios and maintain the quality of the product. At the

end of the project development cycle, the user should find that the project has met or exceeded all

of their expectations as detailed in the requirements.

Any changes, additions, or deletions to the requirements document, Functional Specification, or

Design Specification will be documented and tested at the highest level of quality allowed within

the remaining time of the project and within the ability of the test team.

The secondary objective of testing the system will be to identify and expose all issues and

associated risks, communicate all known issues to the project team, and ensure that all issues are

addressed in an appropriate matter before release. As an objective, this requires careful and

methodical testing of the application to first ensure all areas of the system are scrutinized and,

consequently, all issues (bugs) found are dealt with appropriately.

Assumptions for the Test Execution

For User Acceptance testing, the Developer team has completed unit, system and

integration testing and met all the Requirement‟s (including quality requirements) based

on Requirement Traceability Matrix.

User Acceptance testing will be conducted by End-users

Test results will be reported on daily basis using reports.

Failed scripts and defect list from reports with evidence will be sent to Developer

directly.

Use cases have been developed by Adopters for User Acceptance testing.

Use cases are approved by test lead.

Test scripts are developed and approved.

Page 36: Final report

26

Test Team will support and provide appropriate guidance to Adopters and Developers to

conduct testing

Major dependencies should be reported immediately after the testing kickoff meeting.

Test Deliverables

Testing will provide specific deliverables during the project. These deliverables fall into three

basic categories: Documents, Test Cases / Bug Write-ups, and Reports. Here is a diagram

indicating the dependencies of the various deliverables:

Figure 6.1 Test Deliverables

As the diagram above shows, there is a progression from one deliverable to the next. Each

deliverable has its own dependencies, without which it is not possible to fully complete the

deliverable.

Bug Classification Strategy

Bug Severity and Priority fields are both very important for categorizing bugs and prioritizing if

and when the bugs will be fixed. The bug Severity and Priority levels will be defined as outlined

in the following tables below. Testing will assign a severity level to all bugs. The Test Lead will

be responsible to see that a correct severity level is assigned to each bug.

Require- ments [PM]

Project Plan [PM]

Functional Spec [PM]

Test Plan Test Spec. / Outline

Detailed Design [Dev]

Test Cases

Bugs

Bug Results

TC Coverage Reports

Bug Reports

Test Case Results

Page 37: Final report

27

The Test Lead, Development Lead and Program Manager will participate in bug review meetings

to assign the priority of all currently active bugs. This meeting will be known as “Bug Triage

Meetings”. The Test Lead is responsible for setting up these meetings on a routine basis to

address the current set of new and existing but unresolved bugs.

Severity

ID

Severity

Level

Severity Description

1 Critical The module/product crashes or the bug causes non-recoverable

conditions. System crashes, GUI Faults, or database or file corruption,

or potential data loss, program hangs requiring reboot are all examples

of a Severity. 1 bug.

2 High Major system component unusable due to failure or incorrect

functionality. Severity. 2 bugs cause serious problems such as a lack

of functionality, or insufficient or unclear error messages that can have

a major impact to the user, prevents other areas of the app from being

tested, etc. Severity. 2 bugs can have a work around, but the work

around is inconvenient or difficult.

3 Medium Incorrect functionality of component or process. There is a simple

work around for the bug if it is Severity. 3.

4 Minor Documentation errors or signed off severity 3 bugs.

Table 6.1 – Severity Classification

Test Coverage

Unit Test

Unit testing was carried out for each component in the CyberGIS GUI application and

Mobile Client Application and for each service module in the web service.

Page 38: Final report

28

Regression Test

Regression testing was carried out to verify that any changes done as a bug fix will not

affect the functionalities of the working components. Every time when we make bug fix

we did the regression testing to all the system components.

System Test

The System tests will focus on the behavior of the CyberGIS system. User scenarios will

be executed against the system as well as screen mapping and error message testing.

Overall, the system tests will test the integrated system and verify that it meets the

requirements defined in the requirements document.

Performance Test

Performance test will be conducted to ensure that the CyberGIS system‟s response time

meet the user expectations and does not exceed the specified performance criteria. During

these tests, response times will be measured under heavy stress and/or volume.

Compatibility Test

Compatibility testing was carried out to check the application compatibility with the

browsers since the application is fully web based and check other software and hardware

compatibility constraints.

Stress and Volume Test

We will subject the CyberGIS system to high input conditions and a high volume of data

during the peak times. The System will be stress tested using twice (5 users) the number

of expected users.

Security Test

Security tests will determine how secure the new CyberGIS system is. The tests will

verify that unauthorized user access to confidential data is prevented.

Page 39: Final report

29

Test cases are written and executed manually for the GUI and Mobile applications and

automated test cases are used to test the service module. As results of the testing phase

we generated the Test Case documents with the results and identified bugs.

Implementation of the system mainly focuses on database implementation and

application implementation. We used MySQL server as our database engine. So we need

to implement the database in either the application server or a separate server.

Application server needs tomcat server service to implement the Cyber GIS application.

For the mobile clients we provide a separate executable .jar file to install in to the mobile

device which may implement the CyberGIS application in the devices. When the tomcat

server which contains the application and web service started, Users are imposed to the

CyberGIS application. They can access the application console through any web browser

through a provided URL. (i.e. http:// 127.0.0.1:8080/gis-app/)

System Performance

In software engineering, performance testing is testing that is performed, to determine

how fast some aspect of a system performs under a particular workload. It can also serve

to validate and verify other quality attributes of the system, such as scalability, reliability

and resource usage. With related to performance testing there are few other types of tests

which are correlated with it.

Load Testing

Load testing is the simplest form of performance testing. A load test is usually conducted

to understand the behavior of the application under a specific expected load. This load

can be the expected concurrent number of users on the application performing a specific

number of transactions within the set duration. This test will give out the response times

of all the important business critical transactions. If the database and application server

are also monitored, then this simple test can itself point towards any bottlenecks in the

application software.

Page 40: Final report

30

Stress Testing

Stress testing is normally used to understand the upper limits of capacity within the

application landscape. This kind of test is done to determine the application's robustness

in terms of extreme load and helps application administrators to determine if the

application will perform sufficiently if the current load goes well above the expected

maximum.

Endurance Testing (Soak Testing)

Endurance testing is usually done to determine if the application can sustain the

continuous expected load. During endurance tests, memory utilization is monitored to

detect potential leaks. Also important, but often overlooked is performance degradation.

That is, to ensure that the throughput and/or response times after some long period of

sustained activity are as good as or better than at the beginning of the test. It essentially

involves applying a significant load to a system for an extended, significant period of

time. The goal is to discover how the system behaves under sustained use.

Spike Testing

Spike testing, as the name suggests is done by spiking the number of users and

understanding the behavior of the application; whether performance will suffer, the

application will fail, or it will be able to handle dramatic changes in load.

Performance Measures

Concurrency/Throughput

Server response time

Render response time

Performance specifications

Page 41: Final report

31

Performance Testing Methodology

We have followed the following activities to conduct the performance testing:

Identify the Test Environment.

We have to identify our test environment first. We haven‟t hosted the site in a real

time application server. So we are unable to test some parts of the application

with real working environment. So need to use simulators to simulate the system

and test those components. Apache tomcat 7.0.12 is our application server.

CyberGIS GUI module and web service modules are deployed on apache tomcat

server. To test the CyberGIS mobile client we have used Remote Device Access

provided by Nokia Developers as the simulator for mobile device.

(http://www.developer.nokia.com/Devices/Remote_device_access/ ) As the

network connection, mobile broadband connection is used with 3.2 mbps

bandwidth. All types of web browsers available are taken as software. We used

the available resources up to maximum level for testing.

Having a thorough understanding of the entire test environment at the outset

enables more efficient test design and planning and helps you identify testing

challenges early in the project. In some situations, this process must be revisited

periodically throughout the project‟s life cycle.

Identify Performance Acceptance Criteria.

The acceptance criteria for the CyberGIS are to provide a response time less than

30 seconds for any operation of functionality, allow concurrency access to the

system for 100 mobile users and 10 administrative users. Message queue should

capable of handling 1000 messages in the queue till message delivery. Expected

throughput for the mobile operative message sending should be delivering 30

messages per minute. Zero down time should be maintained to provide efficient

performance.

Page 42: Final report

32

Plan and Design Tests.

Tests should design to check the following:

- Check the loading time of any web page

- Allow concurrency access of 10 administrative users and 100 mobile users

- Send operative messages to the concurrent users within 30 seconds

- Check the network delays

- Stress handle In message queue

- Hardware or software failure handling

- Load balancing

For the above tests we defined the test data with 12 operative users, 36 mobile

users, 840 map markers, 8 snap shots and 1290 operative messages with 210

responses. All administrative users and mobile operative users are going to use

the system concurrently, 840 markers to be located in the map, 1290 operative

messages to be delivered to mobile users and 910 feedbacks to be received during

tests. There should be metrics to collect the responses for the page loading time,

operative message delivery time, operative response receiving time, network

delays and load and stress measures.

Configure the Test Environment.

To prepare the test environment, first we have to start the Apache tomcat

application server and start the CyberGIS web module, GUI module and mobile

client module. Then we need to start the web browsers and navigate to the

application. Meanwhile the simulator should be started to test the mobile client.

To measure the response time and other measurements we have to equipped with

timers and calculators. Also other required resources should be properly allocated

before executing the tests.

Page 43: Final report

33

Implement the Test Design.

To measure the system performance we need to carry out the above mentioned

Load testing, Stress testing, Soak testing and Spike testing. The goal is to identify

the performance measures by conducting tests and measuring results and response

times. We need to write a proper set of test cases to execute while testing. There is

a set of manually written test cases and automated test cases (implemented using

JUnit component) designed to test the system performance. Refer Appendix F for

details.

Execute the Test.

We start the Apache tomcat server and deploy all three modules and create the

test environment first. Administrative user login function for 12 users was carried

out through several web browser instances. For mobile operative user login

function, remote device access simulator was used provided by Nokia developers.

Using several simulator instances we create 36 concurrent operative user logins.

The logged in administrative users are assigned to add 840 map markers to make

a huge load, stress and network traffic. Administrative users need to login again

and load the added map makers. That is to check the page loading time. Also

report generation wizard used to test the web page loading time. More

administrative users are logged in to system and load the main panel at the same

time to test the load balancing. 1290 operative messages were sent to 36 logged in

mobile operative users by 12 administrative users consecutively within minutes.

That is related to spike testing and stress testing. To check the response time

mobile users are instructed to accept the messages and send responses.

While running the above test items we monitor outcomes and following results

are observed:

- It is possible to concurrently use the system for more administrative users

and operative users than expected.

- Simultaneous operations done by the administrative users were holds the

maximum network bandwidth.

Page 44: Final report

34

- Same operation by multiple users at the same time (more than 10

occurrences) will cause to network delays exceeding 30 seconds.

- Web page load gives immediate response within 08 seconds and takes 40

seconds to finish loading all components of the map. (840 map markers)

- Report generating wizard takes 24 seconds to respond with such amount

of markers and 12 concurrent requests.

- While increasing the concurrent users than the expected level, page load

time increases than performance specifications. (Load balancing takes

place)

- Operative message takes 05 seconds to reach the destination.

- Responses for the operative messages received in 03 seconds.

- Message queue was able to handle 15 messages per minute when it

exceeds expected queue length.

- Messages without accepted by mobile users are waiting in the queue more

than 15 minutes and holds the resources.

- Throughput for browsing a web page with concurrent access is around 25

seconds.

- Failure in application software (web browser) will lose all non saved data

with it.

Analyze Results, Tune, and Retest.

After collecting results for the tests, we have to analyze them and make some

adjustments to improve the performance of some sections. Obviously we have to

do a code change since we are unable to go beyond the recommended hardware or

software configurations. To provide a response within 30 seconds, we changed

the map zoom level in 12 as default. We have to timeout the mobile operative

messages in the message queue if they are not accepted by mobile operators. This

is to maintain the throughput. Providing a faster internet connection will keep the

response time reduced. After doing changes we have to retest the functionality to

check the improvements.

Page 45: Final report

35

CHAPTER 07

RESULTS

As the results, we include the test results here.

In all the test cases conducted through the testing phase about 85% of the tests are

succeeded and only 15% of the tests come up with bugs. Please refer the table in

Appendix F for details. Expected results of the test cases are appeared as the actual

results. So the status of the test is „Pass‟. Out of the bugs found, we have immediately

fixed 80% of bugs which are highly related to functional and performance indices of the

application. We are more focused on test results which are in „Fail‟ status with having

high test priority when resolving the bugs immediately. There are few things remained

found as minor issues and we need to address those as future works since those are

currently not affected to the system performance and functionalities.

At the end we found that all Unit testing, System Testing, Regression Testing,

Performance Testing, Compatibility Testing and Security Testing which we have

completed are succeeded. With the test results we can come to a conclusion that system‟s

functional and non functional requirements are addressed properly.

Page 46: Final report

36

CHAPTER 08

CONCLUSION AND FUTURE WORK

8.1 CyberGIS GUI Module.

The following features and functionalities have been identified as future works under the

CyberGIS GUI module.

Marker Proximity Ruler and Alerter :-

By the "Ruler" feature CyberGIS main console users will be able to measure the

distance to each marker (including mobile markers) from a specified central origin

point. So CyberGIS main console users will be able to specify the central point and

get updated proximity measurement according to that. By the "Alerter" feature

CyberGIS main console users will be able to view the details of markers, within a

specified proximity circle from a specified central origin point. Both these features

will work as a single unit.

Automatic Real Time Operative Tracking :-

Currently operative tracking is not fully automated and the CyberGIS main console

users have to refresh the operative location in order to get the update location. By this

proposed feature operative tracking will be fully automated and updated locations

will be refreshed on the CyberGIS main console map in a specified time intervals.

Hardware Sensor Based Real Time Telemetry :-

By this functionality it is proposed to gather various data required by domain users

through hardware sensors, attached to CyberGIS Mobile component and send them to

the CyberGIS main console for real time monitoring. So the CyberGIS GUI module

will include a dashboard component in order to support this feature.

Page 47: Final report

37

8.2 CyberGIS Mobile Component.

In the future the system is expended to be expanded by porting the J2ME client software

to newly available high end mobile phone operating systems like: Android & iPhone.

Currently it supports all Symbian OS based mobile phones like S40 6th

Edition & S60 3rd

Edition Phones. Other than this we wish to expand the service end by adding a

dashboard for live monitoring services where the user will be able to monitor live

statistics about the current functionality of the system.

8.3 CyberGIS Service Module.

As a conclusion we can say that, CyberGIS Service Module maintains the connectivity

between Cyber GIS application and database. All user requests and operations are

addressed through service methods provided in this module.

Code optimization and further expansions of the available services can be done as the

future works. The objective of this is to reduce the resources usage by the application

during the execution. More code level validations can be implemented to provide

additional security to the system.

We are focusing to make the system available with live statistics with the use of service

module improvements.

Page 48: Final report

38

CHAPTER 09

PROJECT CONTRIBUTIONS

9.1 Project Contribution by: M.S.R Perera <209087374>

As the architect of the entire project I‟ve contributed to the CyberGIS project in doing the

following:

1. Using the business scenarios /requirements given by Roshan (The person playing

the project manager role) come up with a suitable architecture for the entire

system.

2. Decide a suitable Java Based Technology stack for the CyberGIS system.

3. Create the initial 03 projects using the decided technology stacks by

configurations and ensure the Spring based web flow between the initially created

03 projects. (i.e.: As the project is distributed system with 03 modules to make

sure the request response flow works correctly via RMI & Web service interfaces

between the modules)

4. Contributed in designing and implementing the CyberGIS Mobile Client Software

from ground up.

5. Contributed in designing and implementing the GUI parts related to sending

CyberGIS operative messages and receiving responses.

6. Contributed in writing all the Web Service Methods and exposing them via

correct document + literal style web services to be called by the mobile client.

7. Provided Technical support and guidance for the team members (Roshan &

Sanjeewa) in configuring the application server, implementing various business

logic related GUI/Service parts & technical advice on the used Java Related

technology stack.

8. Documented the CyberGIS project related architecture design diagrams (general

architecture, ER-diagrams & Class diagrams).

Page 49: Final report

39

9. Did Integration testing & bug fixing on all 03 modules upon various commits on

different modules by the other two team members & ensured that the system was

working smoothly as a whole

10. Facilitated the stream line distributed development process by creating the project

in the Google SVN and providing software and support for the team to work with

the SVN.

11. Prepared necessary project documents under the software architect role for each

milestone.

9.2 Contribution by: D.S Kulasuriya<709087412>

I have contributed to the CyberGIS project as the QA lead for my main role in the project

and as a developer in following areas.

1. Contributed to develop the Login, password resetting and User Administration

parts of the CyberGIS GUI module.

2. Design and implement the changes done to the basic database according to the

Project Architecture‟s requests and generate RMI objects to which are used to

maintain the communication between Web Service and other modules.

3. Implement the service methods according to the requests of the GUI and Mobile

Client developers. Services are developed on demand separately to access the

database and feed or retrieve data according to the user request or operation.

4. Implement test cases to unit test each service methods to verify the operation

results before releasing the service method for use by developers.

5. Improve the session tracking mechanism developed by Shehan, to maintain user

login and domain details. Use the same session tracking mechanism to allow

direct access the password reset component.

6. Completed the project documents related to QA. (Test Plan, Test Specification)

Also contributed to document the SRS document, Functional Specification and

Deployment Plan.

7. Test all the components of the CyberGIS GUI module for unit testing, security

testing, & performance testing and includes the results as the Test Case

Page 50: Final report

40

Document. All the service methods in the CyberGIS Service module are gone

through unit testing before release for use.

8. Contribute to system development and bug fixing activities with Project

Manager‟s request.

9.3 Contribution by: W.M.D.R Jeewantha<509087436>

As the Project Manager I‟ve contributed to the CyberGIS project in doing the following:

1. Played the Project manager role.

2. Proposed the main concept of the CyberGIS system.

3. Developed the vision and goals that the CyberGIS system based on.

4. Designed the conceptual level components and the main workflow of the

CyberGIS system and refined it with system architect‟s technical opinions.

5. Designed GUI Interfaces for both CyberGIS mobile and CyberGIS main console

(CyberGIS GUI module) components and fine-tuned the all GUI

implementations.

6. Developed CyberGIS main console (CyberGIS GUI module) GUI framework

using JSF (Java Server Faces) with Primefaces component library.

7. Implemented the map and marker manipulation functionalities, and reporting and

analysis functionalities on CyberGIS main console as Java Backing Beans and

helper classes.

8. Developed Unit Test cases and performed unit testing for CyberGIS GUI module

class methods using JUnit.

9. Implemented RMI Service module methods for reporting functionalities.

10. Developed Test cases and performed unit testing for RMI Service module

methods for reporting functionalities using JUnit.

11. Prepared necessary project documents under the project manager role for each

milestone.

Page 51: Final report

41

REFERENCES

ESRI. 2010. ESRI home page. [Online]. Available at: http://www.esri.com/ [Accessed 10

October 2010].

Google Maps. 2010. Google Maps home page. [Online]. Available at: http://

maps.google.com/ [Accessed 05 October 2010].

Google Maps API. 2010. Google Maps API home page. [Online]. Available at:

http://code.google.com/apis/maps/documentation/javascript/ [Accessed 20 October

2010].

Wikipedia. 2011. Tracking Analyst and Tracking Server. [Online]. Available at:

http://en.wikipedia.org/wiki/Geographic_Information_Systems_in_Geospatial_Intelligen

ce#Tracking_Analyst_and_Tracking_Server.

GIS.COM. 2011. What is GIS?. [Online]. Available at: http://www.gis.com/content/what-

gis [Accessed 15 August 2011].

Open Street Map. 2010. Open Street Map home page [Online]. Available at:

http://www.openstreetmap.org/ [Accessed 05 October 2010].

Open Street Map. 2010. Open Street Map home page [Online]. Available at:

http://www.Primeface.org [Accessed 15 December 2010].

Spiegel, M.R, 1961.Theory and Problems of Statistics. McGraw-Hill.

Page 52: Final report

42

APPENDIX

Appendix A – Use case Diagrams

Appendix A1 – CyberGIS Admin User Use Case Diagram

Page 53: Final report

43

Appendix A2 – CyberGIS Operative User Use Case Diagram

Page 54: Final report

44

Appendix B – Class Diagrams

Appendix B1 –CyberGIS Mobile Component Class Diagrams

Appendix B1.i GUI Package

Page 55: Final report

45

Appendix B1.ii Service Package

Page 56: Final report

46

Appendix B1.iii . Core Package

Page 57: Final report

47

Appendix B1.iv . Constants And Param Package

Page 58: Final report

48

Appendix B2 – CyberGIS Service Module Class Diagrams

AppendixB2.i:The RMI DTO Package

Page 59: Final report

49

Appendix B2.ii Service DTO Package

Page 60: Final report

50

Appendix B2.iii Business Logic Package

Page 61: Final report

51

Appendix B2.iv. JPA Package

Page 62: Final report

52

Appendix B2.v .Web Service Package

Page 63: Final report

53

Appendix B2.vi . Utility Package

Page 64: Final report

54

Appendix B3 – CyberGIS GUI Module Class Diagrams

Appendix B3.i . Logic Package

Page 65: Final report

55

Appendix B3.ii Service Package

Page 66: Final report

56

Appendix B3.iii. Param Package.

Appendix B3.iv . MDB package

Appendix B3.v . Filter Package

Page 67: Final report

57

Appendix B3.vi Utility Package.

Page 68: Final report

58

Appendix B3.vii . Test Package

Page 69: Final report

59

Appendix C – Sequence Diagrams.

Appendix C1: Add Domain Map Marker

Page 70: Final report

60

Appendix C2: Close Domain Map Marker

Page 71: Final report

61

Appendix C3: Create Snap shot

Page 72: Final report

62

Appendix C4: Generate CyberGIS Report

Page 73: Final report

63

Appendix C5: Send Operative Location Update

Page 74: Final report

64

Appendix C6: Send Operative Message

Page 75: Final report

65

Appendix C7: View Operative Message History

Appendix C8: Send Operative Message Notification

Page 76: Final report

66

Appendix C9: View Current Operative Location On Map

Page 77: Final report

67

Appendix C10: Timeout CyberGIS Operative Message

Page 78: Final report

68

Appendix C11: Add Domain User

Page 79: Final report

69

Appendix C12: Login CyberGIS User

Page 80: Final report

70

Appendix D – Activity Diagram

Appendix D1: Load Main Console

Appendix D2: Display Operative location

Page 81: Final report

71

Appendix D3: Add New Map Marker

Appendix D4: Close Map Marker

Page 82: Final report

72

Appendix D5: Edit Map Marker

Appendix D6: Send Operative Message

Page 83: Final report

73

Appendix D7: Load Main Console

Appendix D8: Add New User

Page 84: Final report

74

Appendix E – ER Diagram

Page 85: Final report

75

Appendix F –Screen Designs

Appendix F1: CyberGIS Main Console

Appendix F2: CyberGIS Login Dialog

Page 86: Final report

76

Appendix F3: CyberGIS New Marker Dialog

Appendix F4: CyberGIS New User Dialog

Page 87: Final report

77

Appendix F5: CyberGIS Map Marker Panel

Appendix F6 : CyberGIS Report Wizard Dialog

Page 88: Final report

78

Appendix F7: CyberGIS Operative Message Dialog

Appendix F8: CyberGIS Operative Message History Dialog

Page 89: Final report

79

Appendix F9: CyberGIS Mobile Login

Appendix F10: CyberGIS Mobile Main Screen

Page 90: Final report

80

Appendix F11: CyberGIS Mobile Task List

Appendix F12: CyberGIS Mobile Task Details

Page 91: Final report

81

Appendix F13: CyberGIS Mobile Task Notification

Appendix F14: CyberGIS Mobile Task Status Update

Page 92: Final report

82

Appendix G : Test Cases

Test

Case

Id

Test Case

Name

Test Case

Description

Test steps

step Expected Result Actual Result

01 Login to System

With Correct

Data

Test Login

Component with

providing Correct

User Name &

Password

1. Visit Login Page

2. Enter Username &

Password

3. Click Login

Auto Navigation to

Main Panel

Auto Navigation to

Main Panel

02 Login to System

With Incorrect

Data

Test Login

Component with

providing Incorrect

User Name or

Password

1. Visit Login Page

2. Enter Username &

Password

3. Click Login

Message indicating

Login Failed

Message saying

„Incorrect User

Name and/or

Password. Login

Failed. Please try

again.‟

03 Login to System

With Blank

Password

Test Login

Component with

providing blank

User Name or

Password

1. Visit Login Page

2. Click Login

Message indicating

Values Required.

Separate Messages

for all blank fields

indicating Values

Required.

04 Login Details

Resetting

Test Login Page

Reset Component

1. Visit Login Page

2. Enter Username &/or

Password

3. Click Login

Clear Username &

Password

Fields.

Clear Username &

Password

Field Values.

05 Test Forgot

Password Link

Test Forgot

Password Link

navigates to the

Reset Password page

1. Visit Login Page

2. Click Forgot

Password? Link

Navigation to Reset

Password Page.

Navigation to Reset

Password Page

06-a Password Reset

with Correct

Data

Test the Forgot

Password

component with

providing correct

Username, Email

and Password

1. Visit Login Page

2. Click Forgot

Password? Link

3. Enter Username,

Email , New Password

& Repeat New

Password

4. Click Submit

Prompt a Link to

Navigate to Login

Page again.

Message appears as

Internal Error

Occurs.

06-b Password Reset

with Correct

Data

Test the Forgot

Password

component with

providing correct

Username, Email

and Password

1. Visit Login Page

2. Click Forgot

Password? Link

3. Enter Username,

Email, New Password

& Repeat New

Password

4. Click Submit

Prompt a Link to

Navigate to Login

Page again.

Link appears to

Navigate to Login

page

Page 93: Final report

83

07 Test Password

Reset New

Password not

correctly

Repeated

Test the Forgot

Password

component with

providing correct

Username, Email.

But new password is

incorrectly repeated

1. Visit Login Page

2. Click Forgot

Password? Link

3. Enter Username,

Email, New Password

& Repeat New

Password

4. Click Submit

Message indicating

Password Mismatch.

Message appears

indicating „Password

Mismatch. Please

enter new

Password.‟

08 Test Password

Reset with

Correct

Username and/or

Email

Test the Forgot

Password

component with

providing incorrect

Username and/or

Email. But new

password is

correctly repeated.

1. Visit Login Page

2. Click Forgot

Password? Link

3. Enter Username,

Email, New Password

& Repeat New

Password

4. Click Submit

Message indicating

Incorrect Username/

Email.

Message appears

indicating „Either

you have entered an

invalid User Name

or invalid E-Mail

address .‟

09 Test Password

Reset with blank

details.

Test the Forgot

Password

component with

providing blank

Username, Email,

New Password, and

Repeat Password.

1. Visit Login Page

2. Click Forgot

Password? Link

3. Click Submit

Message indicating

Values Required.

Separate Messages

for all blank fields

indicating Values

Required.

10 Test Forgot

Password

Component

Cancel Button

Test the Forgot

Password

component Cancel

Button

Functionality.

1. Visit Login Page

2. Click Forgot

Password? Link

3. Enter Username,

Email, New Password

& Repeat New

Password

4. Click Cancel

Clear all Fields. Clear Username,

Email, New

Password & Repeat

New Password

Field Values.

11-a Test Password

Reset Message

Link

Test the link used to

navigate to the

Login Page, appears

after Password

Reset.

1. Visit Password Reset

Page

2. Enter correct details.

3. Click Submit

4. Click Cyber-GIS

link in appeared page.

Navigation to the

login page.

Session Expired

Message appears.

11-b Test Password

Reset Message

Link

Test the link used to

navigate to the

Login Page, appears

after Password

Reset.

1. Visit Password Reset

Page

2. Enter correct details.

3. Click Submit

4. Click Cyber-GIS

link in appeared page.

Navigation to the

login page.

User Login Page

Appears.

Page 94: Final report

84

12 Create New User

with Correct

Data

Test Add New User

Functionality with

providing all

requested data

1. Visit Domain

Administration Panel

2. Click Add Domain

User

3. Enter User Name,

Email, Contact Mobile,

Contact Telephone,

Company, Access

Level, Password and

Repeat Password.

4. Click OK

Message indicating

Successfully saved.

Message appears

Indicating

Successfully saved.

13 Create New User

with blank

details.

Test Add New User

Functionality with

providing one or

more blank field

values for User

Name, Email,

Contact Mobile,

Contact Telephone,

Company, Access

Level, Password and

Repeat fields.

1. Visit Administration

Panel

2. Click Add New User

3. Click OK without

providing values for all

fields.

Message indicating

Values Required.

Separate Messages

for all blank fields

indicating Values

Required.

14 Test Create New

User Component

Cancel Button

Test Create New

User component‟s

Cancel Button

Functionality.

1. Visit Administration

Panel

2. Click Add New User

3. Enter User Name,

Email, Contact Mobile,

Contact Telephone,

Company, Access

Level, Password and

Repeat Password.

4. Click Cancel

Clear all Fields. Clear User Name,

Email, Contact

Mobile, Contact

Telephone,

Company, Access

Level, Password and

Repeat Password

Field Values.

15 Test Home Page

Link

Test the Navigation

Button to Go to

Home Page

1. Visit Main Console

2. Go Inside to panels.

3. Click Home Button

Loading Main

Console Page.

Load the Main

Console Page.

16 Test Sign-out

Confirmation

Response

Test the Navigation

Button used to Sign

Out from the system

with User response

Confirm.

1. Visit Main Console

2.Click Signout Button

3. Confirm the Logout

decision.

Navigate to Login

page

Load the User Login

Page.

17 Test Sign-out

Cancel Response

Test the Navigation

Button used to Sign

Out from the system

with User response

Cancel.

1. Visit Main Console

2.Click Signout Button

3. Cancel the Logout

decision.

Remain unchanged in

Main Console.

No Change to the

Current page.

18 Test Map Data

Panel

Test Map Data Panel

for updating with

map changes

1. Visit Main Console

2. Zoom or Change map

view

Update new Details

in Map Data Display

Tab

Zoom Level, Center

Longitude and

Center Latitude

Updated in Map

Data Display

Section

Page 95: Final report

85

19 Test Save Snap

Shot Button

Test the

functionality of Save

Snap Shot Button in

Map Data Panel

1. Visit Main Console

2. Visit Map Data

Panel

3. Click Save Snapshot

Button

Save Snap shot data

in to Database

New record added to

the Snapshot Table

with the details of

Center Longitude &

Latitude, Zoom level

and makers

20 Add New

Marker Location

with Data

Test Add New

Functionality in Map

Markers Section

with Providing all

data.

1. Visit Main Console

2. Click New in

Map Markers Section

3. Enter Marker Title,

Marker Address,

Longitude, Latitude,

Type, Status and Info

values in the Dialog

Panel Appeared

4. Click OK.

Dialog Panel will

Close. Save Data in

to Database and View

Marker in the Map.

Data saved in

Marker Location

Table in Database

and New Icon

Added to the map

view.

21 Add New

Marker Location

without

Providing Data

Test Add New

Functionality in Map

Markers Section

without providing all

data.

1. Visit Main Console

2. Click New in

Map Markers Section

3. Click OK.

Message indicating

Values Required.

Separate Messages

for all blank fields

indicating Values

Required.

22 Test Add New

Marker Location

Component

Cancel Button

Test Cancel Button

Functionality of

Add New Marker

Location

Component.

1. Visit Main Console

2. Click New in

Map Markers Section

3. Enter Marker Title,

Marker Address,

Longitude, Latitude,

Type, Status and Info

values

4. Click Cancel.

Dialog Box will

Disappear.

Add New Marker

Location Dialog

closed and Data

entered are cleared

without saving.

23 Edit Map

Markers with

Data

Test Edit

Functionality in Map

Markers Section for

a selected marker.

1. Visit Main Console

2. Double Click on a

Marker Icon in the map

view.

3. Click Edit in

Map Markers Section

4. Modify relevant

details in the Dialog

Panel Appeared

5. Click Save.

Dialog Panel will

Close and Save Data

in to Database.

Update the Marker

Icon according to

Change.

Data Updated in

Marker Location

Table in Database

and Marker Icon

changed if type

changed.

24 Edit Map

Markers with

Blank Field Data

Test Edit

Functionality in Map

Markers Section for

a selected marker

providing Blank

Data.

1. Visit Main Console

2. Double Click on a

Marker Icon in the map

view.

3. Click Edit in

Map Markers Section

4. Clear field details in

the Dialog Panel

Appeared

5. Click Save.

Message indicating

Values Required

except Address Field.

Separate Messages

for all blank fields

indicating Values

Required except

Address Field.

Page 96: Final report

86

25 Test Edit

Marker

Component

Cancel Button

Test Cancel Button

Functionality of

Edit Map Markers

Component

1. Visit Main Console

2. Double Click on a

Marker Icon in the map

view.

3. Click Edit in

Map Markers Section

4. Modify relevant

details in the Dialog

Panel Appeared

5. Click Cancel.

Dialog Box will

Disappear.

Edit Marker

Location Dialog

closed and Data

entered are cleared

without saving.

26 Test Focus in

Map Markers

Test the Focus

Functionality in Map

Markers Section.

1. Visit Main Console

2. Double Click on a

Marker Icon in the map

view.

3. Visit

Map Markers Section

4. Click Focus.

Map will focus to the

Maker.

Map focused to the

given Marker by

setting the marker

longitude and

latitude as the

center.

27 Test Close

Marker Button

Test Close Marker

Button Functionality

in

1. Visit Main Console

2. Double Click on a

Marker Icon in the map

view.

3. Visit

Map Markers Section

4. Click Close Marker

Status of the selected

marker will change to

„Closed‟ and Marker

will remove from the

Map

Selected marker

status changed to

„Closed‟

(Need to refresh

the page to remove

the marker from

the Map)

28 Message Mobile

Operatives

Component Send

Message to

selected users.

Test the Send

Message

Functionality to the

selected operators of

Message Mobile

Operatives

Component

1. Visit Main Console

2. Double Click on a

Marker Icon in the map

view.

3. Visit

Tasks and Alerts Panel

4. Click Message

Mobile Operatives

5. Enter Message

Header and Content

6. Select operatives

from the available list to

send the message

7. Click Send Message

Message will send to

the mobile device of

the selected operators

Message sent to the

queue of the mobile

client to send to the

operators and saved

the message in the

Database.

29 Message Mobile

Operatives

Component

View History

Button Test

Test the View

Message History

Functionality of

Message Mobile

Operatives

Component

1. Visit Main Console

2. Double Click on a

Marker Icon in the map

view.

3. Visit

Tasks and Alerts Panel

4. Click Message

Mobile Operatives

5. Select operatives

from the available list

7. Click View History

Display details of the

Sent Messages to the

selected operators in

a Dialog Panel

Message details

(Status, Time,

Header, Operator)

are listed in to a grid

which are sent to the

selected operators.

Page 97: Final report

87

30 Test Operative

Messages Status

Update

Test the status auto

update

Functionality of

Message Mobile

Operatives

Component

1. Send a Message to an

available operator.

2. View Message

History of that operator.

3. View Message

History again after 5

minutes.

Message status will

change from „In

Queue‟ to „Timed

Out‟.

Status of the

message is changed

to Timed Out if not

viewed by operator.

If viewed Status

changed to

Completed.

31 Message Mobile

Operatives

Component

Cancel Button

Test

Test the Cancel

Functionality of

Message Mobile

Operatives

Component

1. Visit Main Console

2. Double Click on a

Marker Icon in the map

view.

3. Visit

Tasks and Alerts Panel

4. Click Message

Mobile Operatives

5. Enter Message

Header and Content

6. Select operatives

from the available list to

send the message

7. Click Cancel

Dialog Panel will

Disappear.

Send Operative

Messages Dialog

closed and Data

entered are kept with

the dialog without

saving.

32 Message Mobile

Operatives

Component Send

Message without

selecting

operators

Test the Send

Message

Functionality

of Message Mobile

Operatives

Component without

selecting operators

to send

1. Visit Main Console

2. Double Click on a

Marker Icon in the map

view.

3. Visit

Tasks and Alerts Panel

4. Click Message

Mobile Operatives

5. Enter Message

Header and Content

6. Select NO operatives

from the available list.

7. Click Send Message

No message will send

to anybody and

dialog will disappear.

No message sent to

the queue of the

mobile Dialog

closed and Data

entered are kept with

the dialog without

saving to the

Database.

33 Test Reports

Generation with

custom

selections

Test the Report

Generation

Functionality with

custom selections

1. Visit Main Console

2. Visit Basic Settings

of Reports Panel

3. Select Graph Type,

Time Unit, Range

Mode, Time Slot and

Fact Type from the

Lists

4. Click OK

Navigation to Report

Console.

Display filtered

markers in the Report

Map and Statistics in

Report statistics area.

Navigated to the

Report Console.

Report Map contains

the markers

according to the

filtration. Report

statistics contains

the tabular and listed

representation.

34 Report Console

Marker Selection

Functionality

Test Marker

Selection

Functionality of

Report Console

1. Report Console by

providing selection

criteria to filter the

markers.

2. Click on a Marker

Icon in the Report Map.

Marker details will

fill to fields

automatically.

Details of the

selected marker are

appeared in the

Report Map Fields.

Page 98: Final report

88

35 Report Console

Focus

Functionality

Test Focus

Functionality of

Report Console

1. Report Console by

providing selection

criteria to filter the

markers.

2. Double Click on a

Marker Icon in the

Report Map.

3. Click Focus.

Report Map will

focus to the Maker.

Report Map focused

to the given Marker

by setting the

marker longitude

and latitude as the

center.

36 Report Console

Export

Functionality

Test Export to PDF

Functionality of

Report Console

1. Report Console by

providing selection

criteria to filter the

markers.

2. Visit Report statistics

Panel.

3. Click Export to PDF

Link.

PDF Document will

Create with Marker

Details.

PDF Document

Created with Marker

Details filled in to a

Data Grid.

37 Report Console

Graph

Generation

Functionality

Test Graph

Generation

Functionality of

Report Console

1. Report Console by

providing selection

criteria to filter the

markers.

2. Visit Report statistics

Panel.

Line graph generated

in the Statistic Graph

area.

Line graph

generated by

selecting Time Slot

as X axis and Fact

Type Occurrences as

Y axis.

38 Report Console

Back Button

Functionality

Test Back Button

Functionality of

Report Console

1. Report Console by

providing selection

criteria to filter the

markers.

2. Visit Report Map.

3. Click Back button.

Navigation to the

Main Console Page.

Load the Main

Console Page with

default settings.

User ID and Sub

Domain values are

Missing.

39 Add New

Domain Marker

with provided

data

Test Add New

Domain Marker

Functionality in Map

Markers Section

with Providing all

data.

1. Visit Main Console

2. Visit

Map Markers Section

3. Enter Marker Type

and Marker Icon Name

4. Click OK.

Message indicating

Successfully saved

and Save Data in to

Database.

Message appears

indicating succeeded

and Data saved in

Domain Marker

Table in Database.

40 Add New

Domain Marker

without

providing Data

Test Add New

Domain Marker

Functionality in Map

Markers Section

without providing all

data.

1. Visit Main Console

2. Visit

Map Markers Section

3. Click OK.

Message indicating

Values Required.

Separate Messages

for all blank fields

indicating Values

Required.

41 Test Add New

Domain Marker,

Cancel Button

Test Add New

Domain Marker‟s

Cancel Button

Functionality in Map

Markers Section.

1. Visit Main Console

2. Visit

Map Markers Section

3. Enter Marker Type

and Marker Icon Name

4. Click Cancel.

Dialog Panel will

Disappear.

Add New Domain

Marker Dialog

closed and Data

entered are cleared

without saving.

Page 99: Final report

89

42 Browser

Compatibility

Test

Test the browser

compatibility of the

Cyber-GIS

Application

1. Load the application

in Internet Explorer

2. Visit the Main

Console

3. Load the application

in Mozilla Firefox

4. Visit the Main

Console

5. Load the application

in Google Chrome

6. Visit the Main

Console

Load the main

console in any of the

browser.

Application loaded

in Internet Explorer,

Mozilla Firefox,

Google Chrome

browsers and main

console page

appeared. (Styles are

loaded in slight

differently.)

43 Test

Concurrency

Access

Test the concurrency

use of the Cyber-

GIS Application.

1. Load the application

in Internet Explorer

2. Login to the system

as User 01

3. Load the application

in Mozilla Firefox

4. Login to the system

as User 02

5. Load the application

in Google Chrome

6. Login to the system

as User 03

All users can work

concurrent-ly

Users can login to

the system any time

and work separately

without having

effects or delays.

(Same resource can

be used

concurrently)