CyberGIS by Student Name REG N0: 000000000 ...

ohiofulvousSoftware and s/w Development

Aug 15, 2012 (5 years and 3 days ago)

328 views

CyberGIS




b
y


Student Name


REG N0:
000000000



ECY6489

Group

Project

(Final report)





Department of Electrical & Computer Engineering

Faculty of Engineering Technology

The Open University of Sri Lanka



September 2011



CyberGIS



b
y


Student name


REG N0:
000000000




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








Supervisor
s






Project Group

Dr.
L.S.K Udugama



M.S.R Perera<209087374>

Dr. Uditha Ratnayake



D.S Kulasuriya<709087412>







W.M.D Jeewantha
<
509087436
>




September 2011

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 & advic
e.



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. In this CyberGIS
system we
achieved this goal by introducing customizable domain maps, reporting and analysis
features, and mobile based capabilities.


Table of Conten
ts


CHAPTER NO.

TITLE


PAGE NO.




ACKNOWLEDGEMENT

3

ABSTRACT

4

LIST OF TABLES

7

LIST OF FIGURES

8

LIST OF ABBREVIATION
S

9

INTRODUCTION

10

LITERATURE SURVEY

11

PROPOSED METHOD

13

DESIGN OF SOFTWARE

15

FABRICATIO
N OF SOFTWARE

16

TESTING AND IMPLEMEN
TATION

17

RESULTS

18

CONCLUSION AND FUTUR
E WORK

19

8.
1 CyberGIS GUI Module.

19

8.2 CyberGIS Mobile Component.

19

8.3 CyberGIS Service Module.

20

PROJECT CONTRIBUTION
S

21

-

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

21

-

Project Contribution by : D.S Kulasuriya<709087412>

22

-

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

23

APPENDIX

24

Appendix A


Use cas
e Diagrams

24

Appendix A1


CyberGIS Admin User Use Case Diagram

24

Appendix A2


CyberGIS Operative User Use Case Diagram

25

Appendix B


Class Diagrams

26

Appendix B1

CyberGIS Mobile Service Class Diagram

26

Appendix B2


CyberGIS Service Module Class Diagrams

27

Appendix B3


CyberGIS Service Business Logic Class Diagrams

28

Appendix C


ER Diagram

29

Appendix D

Screen Designs

30

Ap
pendix D1


CyberGIS Admin Main Screen

30

Appendix D2


CyberGIS Admin Report Screen

30

Appendix D3


CyberGIS Mobile Login

31

Appendix D4


CyberGIS Mobile Main Screen

32

Appendix D5


CyberGIS Mobile Task List

33

Appendix D6


CyberGIS Mobile Task Details

34

Appendix D7


CyberGIS Mobile Task Notification

35

Appendix D8


CyberGIS Mobile Task Status Update

36





List of T
ables


Table ID

Table Description

Page No.

































List of F
igures


Figure

ID

Figure

Description

Page No.
































List of
Abbreviations


Abbreviations

Description

GIS

Geographic Information System

QA

Quality Assurance

URL

Universal Resource Locator

GUI

Graphical User Interface

SRS

System Requirement Specification

RMI

Remote Method Invocation













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 thes
e entity details
and, store
and share them only among other required and authorized parties within the domain
.

At the time w
hen we were proposing the CyberGIS
sys
tem there were GIS Systems either that
required high GIS and mapping knowledge which bit comp
lex (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

GI
S 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 i
nto
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.





CHAPTER 0
2

LITERATURE SURVEY


Similar Systems


During our literature survey of similar systems we found out that Microsoft Map Point
(
http://en.wikipedia.org/wiki/Microsoft_MapPoint
) is
an enterprise level system that is having
the similar functionalities like the CyberGIS system. And provide the following functionalities.



Pinpoint data relationships



Identify business trends



Highlight opportunities

One of the main advantages of using the
CyberGIS system over the Microsoft map point
system is that the CyberGIS system will be available as a freeware system to the users
and the business domains will not be charged for using the system but only for the
Customer Support functionality related to

the system.

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.or
g/

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


After reviewing the above two external GIS providers we decided to go with Google Map due to
their reliability, quality of map imagery /choices of different map image type
s as : hybrid ,satellite
and their array of functions provided by them Free or charge.

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 w
e 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.



CHAPTER 0
3

PROPOSED METHOD



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 t
hey want using granted access rights
and customized capabilities. As any other GIS system, CyberGIS will provid
e the basic map
operations like
Search for locations
,
Find location using latitude and longitude
,
Zoom In and
Zoom Out
,
Scroll the map
,
View loc
ation 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.




The work flow of the CyberGIS system is illustrated in the following figure. 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 Ma
ps.
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 marke
rs 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.




GIS Map
provider

Main
Console

Mobile
Device

GPS Device

User

Operative

DB

WEB

CHAPTER 0
4

DESIGN OF SOFTWARE


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.



CHAPTER 0
5

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. The UI
design framework used: “PrimeFaces” (
http://www.primefaces.org/
) is mainly based on
Java,JQuery & AJAX
Design frameworks.


When writing the software the 03 main software components of the system was developed
using two main integrated software development environments. They are :

i. Netbeans (with Sun Java WTK 3.0 Integrated for J2ME).

ii. MyEclipse.

For

developing & maintaining the system database we’ve used the mysql database server and the
mysql gui tools for administrating the system database backend. The application is hosted in the
Tomcat 7.0.12 application server,which was embedded with the Active
MQ 5.5.x for the system
related enterprise message queuing (JMS) functionality.



CHAPTER 0
6

TESTING AND IMPLEMENTATION

The objective
of testing the system is to assure that the system meets the full requirements,
including
non
-
functional requirements.

T
o accomplish the above goal we have carried out the
Unit testing, System Testing, Regression Testing, Performance Testing, Compatibility Testing
and Security Testing.

Unit testing was carried out for each component in the CyberGIS GUI application and Mobi
le
Client Application and for each service module in the web service. After integrating the above
there core modules of the application integration testing (System Testing) was done to test the
integrated system functionality. Every time when we make bug f
ix we did the regression testing
to all the system components.
Those are related to the testing of functional requirements of the
application.

Performance testing, Compatibility Testing and Security testing are carried out to test all other
non
-
functional
requirements

of the application
.


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 r
esults 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 sepa
rate 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 dev
ices. 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/
)


CHAPTER 0
7

RESULTS


As the results we include the test results here.

In all the test cases conducted through the testing phase about 85% are succeeded and
only 15% of the tests come up

with bugs. Expected results of the test cases are appeared
as the actual results. So the status of the test is ‘Pass’. Out of the 15% of the bugs we
have immediately fixed 80% (12% of bugs) of bugs which are related to functional and
performance indices o
f the application. We are more focused on test results which are in
‘Fail’ status with having high test priority when resolving the bugs immediately. The
remaining 20% we need to address as future works since those are currently not affected
to the system
performance.

At the end we completed all
Unit testing, System Testing, Regression Testing,
Performance Testing, Compatibility Testing and Security Test
ing with having 97%
success.
With the test results we can come to a conclusion that system’s functional and
non functional requirements are addressed properly.



CHAPTER 0
8

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 (in
cluding 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
ab
le 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 s
pecified 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 co
nsole for real time monitoring. So the CyberGIS GUI module will
include a
dashboard component in order to support this feature.

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 6
th

Edition & S60 3
rd

Edition Phones. Other than
this we wish to expand the service end by adding a dashboar
d 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 i
s 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
.


CHAPTER 0
9

PROJECT CONTRIBUTIONS

-

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 pl
aying 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 d
ecided 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 & Webservi
ce 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 resp
onses.

6. Contributed in writing all the Web Service Methods and exposing them via correct document +
literal slye web services to be called by the mobile client.

7. Provided Technical support and guidance for the team members (Roshan & Sanjeewa) in
config
uring 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
-
diagr
ams & class diagrams)

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 d
evelopment 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
.


-

Project 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 me
thods 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 servic
e 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 di
rect 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 Document. All the service
methods in the CyberGIS Service module are gone through unit testing before release for
use.


8.

Contribute to system de
velopment
and bug fixing
activities with Project Manager’s
request.


-

Project 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
s
ystem based on.

4.

Designed the conceptual level components and the main workflow of the CyberGIS
system and refined it with system architect’s technical opi
nions.

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 tes
ting 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.




APPENDIX

Appendix A


Use case Diagrams

Appendix A1


CyberGIS Admin User Use Case Diagram


Appendix A2



CyberGIS
Operative

User Use Case Diagram


Appendix B


Class
Diagrams

Appendix B1


CyberGIS Mobile Service Class Diagram





Appendix B2


CyberGIS Service Module Class Diagrams



Appendix B3


CyberGIS Service Business Logic Class Diagrams


Appendix C


ER Diagram

Appendix D

Screen Designs

Appendix D1


CyberGIS Admin Main Screen


Appendix D2



CyberGIS
Admin Report

Screen



Appendix D3



CyberGIS
Mobile

Login












Appendix D4



CyberGIS
Mobile

Main Screen








Appendix D5



CyberGIS
Mobile

Task List





Appendix D6



CyberGIS
Mobile

Task
Details





Appendix D7



CyberGIS
Mobile

Task Notification









Appendix D8



CyberGIS
Mobile

Task
Status Update