Lessons Learned from GIS Application Development in a State Government Context Yueming Wu, Ph.D....
-
Upload
evelyn-gibbs -
Category
Documents
-
view
212 -
download
0
Transcript of Lessons Learned from GIS Application Development in a State Government Context Yueming Wu, Ph.D....
Lessons Learned from GIS Application Development Lessons Learned from GIS Application Development in a State Government Contextin a State Government Context
Yueming Wu, Ph.D.Yueming Wu, Ph.D.
West Virginia Department of Environmental ProtectionWest Virginia Department of Environmental Protection
2006 West Virginia GIS Forum & Workshop2006 West Virginia GIS Forum & Workshop
Morgantown, May 18, 2006Morgantown, May 18, 2006
ContentsContents
What is GIS application development?What is GIS application development? Why is GIS application development needed?Why is GIS application development needed? How is a GIS application developed?How is a GIS application developed? Case study Case study LessonsLessons Questions & commentsQuestions & comments
What is GIS application development?What is GIS application development?
GIS application development or GIS GIS application development or GIS customization development is not to rewrite a customization development is not to rewrite a proprietary GIS package, but to incorporate proprietary GIS package, but to incorporate users’ ideas to convert it into a usable and stable users’ ideas to convert it into a usable and stable product. product.
Why is GIS application development needed?Why is GIS application development needed?
There are no truly "off-the-shelf" GIS applications There are no truly "off-the-shelf" GIS applications satisfying all organizations due to the variety of satisfying all organizations due to the variety of organizational business models. Business intelligent GIS organizational business models. Business intelligent GIS applications are needed to address the issue. applications are needed to address the issue.
Casual users, representing the majority in a government Casual users, representing the majority in a government agency, prefer user-friendly and practical GIS applications. agency, prefer user-friendly and practical GIS applications.
Commercial GIS packages focus on basic and common Commercial GIS packages focus on basic and common GIS functions across industries. Power users need more GIS functions across industries. Power users need more complex GIS tools than a commercial GIS package could complex GIS tools than a commercial GIS package could offer.offer.
How is a GIS application developed? How is a GIS application developed?
Bell D, Morrey I and Pugh J (1992) Software engineering: a programmingp Bell D, Morrey I and Pugh J (1992) Software engineering: a programmingp approach. 2nd edn. Prenctice-Hall, New York approach. 2nd edn. Prenctice-Hall, New York
Case study Case study
Establish requirements (use case)Establish requirements (use case) Specify (requirements)Specify (requirements) DesignDesign ImplementImplement Operate and maintainOperate and maintain
Case study: establish requirements (use case)Case study: establish requirements (use case)
West Virginia Department of Environmental ProtectionWest Virginia Department of Environmental Protection
(WVDEP) has been developing an Enterprise Information (WVDEP) has been developing an Enterprise Information System (EIS), involving a variety of spatial and non-spatial System (EIS), involving a variety of spatial and non-spatial databases. databases.
Users in the Mining & Reclamation Program were looking Users in the Mining & Reclamation Program were looking for a convenient way to for a convenient way to electronically link GIS data electronically link GIS data with data in non spatial databases.with data in non spatial databases.
Case study: specify (requirements)Case study: specify (requirements)
Composite query:Composite query:
Electronically link GIS data with data in non-spatial Electronically link GIS data with data in non-spatial databases (e.g., ERIS & EQuIS)databases (e.g., ERIS & EQuIS)
Facts:Facts: Available in-house database applications didn’t offer Available in-house database applications didn’t offer
such a functionsuch a function Most employees lacked advanced GIS skills to take Most employees lacked advanced GIS skills to take
advantage of GIS packages (e.g., ArcGIS)advantage of GIS packages (e.g., ArcGIS)
Case study: specify (requirements)Case study: specify (requirements)
Streamline composite query processesStreamline composite query processes Provide easy access to GIS dataProvide easy access to GIS data Provide easy access to non-spatial dataProvide easy access to non-spatial data Improve spatial operation efficiencyImprove spatial operation efficiency
Case study: design -- application modelCase study: design -- application model
Client-server architectureClient-server architecture Client sideClient side
SQL statementsSQL statements API callsAPI calls
Server sideServer side Smart geodatabaseSmart geodatabase Procedures/triggers/views in databasesProcedures/triggers/views in databases Programs to link spatial & non-spatial databasesPrograms to link spatial & non-spatial databases
Case study: design -- application structureCase study: design -- application structure
A toolbar integrated into ESRI ArcGIS/ArcMap platformA toolbar integrated into ESRI ArcGIS/ArcMap platform Four groups of functionsFour groups of functions
Access GIS dataAccess GIS data Perform composite queriesPerform composite queries Access non spatial dataAccess non spatial data UtilitiesUtilities
Case study: implement -- codingCase study: implement -- coding
Programming languages/techniques Programming languages/techniques
Microsoft Visual Basic 6.0, Microsoft ActiveX Data Object Microsoft Visual Basic 6.0, Microsoft ActiveX Data Object (ADO), Microsoft OLE DB provider, Microsoft Component (ADO), Microsoft OLE DB provider, Microsoft Component Object Module (COM), ESRI ArcObjects library, Oracle Object Module (COM), ESRI ArcObjects library, Oracle SQL statements, etc.SQL statements, etc.
ProductsProducts
COM based dlls (dynamic link libraries), each of which COM based dlls (dynamic link libraries), each of which performs a specific taskperforms a specific task
Case study: implement – application settingCase study: implement – application setting
Toolbar integrated into ESRI ArcGIS/ArcMap platformToolbar integrated into ESRI ArcGIS/ArcMap platform ArcMap running via a Citrix metaframe terminal services ArcMap running via a Citrix metaframe terminal services
architecturearchitecture
Case study: DMR Information NavigatorCase study: DMR Information Navigator
Case study: implement – application settingCase study: implement – application setting
End UsersEnd Users DMR NavigatorDMR Navigator
ArcMap/ArcGISArcMap/ArcGIS
Citrix ServerCitrix Server
..
ERIS/EQuIS/RIMS ERIS/EQuIS/RIMS DatabasesDatabases
ArcSDE ArcSDE GeodatabasesGeodatabases
ORACLEORACLE
Case study: implement – application testingCase study: implement – application testing
FunctionalityFunctionality PerformancePerformance FlexibilityFlexibility
Case study: operate and maintainCase study: operate and maintain
DocumentDocument Train usersTrain users Provide customer servicesProvide customer services Upgrade on user feedbackUpgrade on user feedback
LessonsLessons
Administrative lessonsAdministrative lessons Technical lessonsTechnical lessons
Lessons: administrative lessonsLessons: administrative lessons
Interaction with end usersInteraction with end users Understanding usersUnderstanding users From beginning to endFrom beginning to end
Budget considerationBudget consideration Tight budgetTight budget In-house resourcesIn-house resources
Intra agency collaboration & cooperationIntra agency collaboration & cooperation Across the Mining and Reclamation programAcross the Mining and Reclamation program Across the agencyAcross the agency
Inter agency collaboration & operationInter agency collaboration & operation Between WVDEP & the Feds (e.g. DOI-OSM)Between WVDEP & the Feds (e.g. DOI-OSM) Between WVDEP & universities (e.g. WVU-NRAC) Between WVDEP & universities (e.g. WVU-NRAC)
Lessons: technical lessonsLessons: technical lessons
Application developmentApplication development Code as simple & reusable as possibleCode as simple & reusable as possible User involvement as early as possibleUser involvement as early as possible
Application testingApplication testing Client side testingClient side testing Server side testingServer side testing
Application deployment Application deployment PerformancePerformance Deployment modelDeployment model
Application maintenanceApplication maintenance Customer serviceCustomer service Prompt updatesPrompt updates
Questions & commentsQuestions & comments
QuestionsQuestions CommentsComments