Logo GISdevelopment.net

GISdevelopment > Proceedings > GITA > 1998


GITA 2002 | GITA 2001 | GITA 2000 | GITA 1999 | GITA 1998 | GITA 1997 
Sessions

Application

Data Distribution

Data Evolution

Field Applications

Integration of the Enterprise

Invited Presentation

People Issues

Scada and Real-Time systems

System Development

User Presentations

User Solution


GITA 1998


Applications
Printer Friendly Format

Page 1 of 3
| Next |


A 1998 framework for multi-participant AM/FM/GIS applications development

Geoffrey B. Ehler* & Rick Petrecca**
*Technical Consultant, Convergent Group
6200 South Syracuse Way, Suite 200, Englewood, CO 80111
Geoff.Ehler@cvg-grp.com

**Systems Analyst, Department of Public Works
City of Indianapolis, 200 East Washington Street, Rm 2441
Indianapolis, IN 46204
rpetrecc@indygov.org

Proiect Overview
Over the past decade, the City of Indianapolis/Marion County has made a substantial investment in geographic information system (GIS) technology, but has realized only limited benefits from that investment. In October 1996, the City/County commissioned Convergent Group to develop and deploy specific applications to demonstrate how to fully leverage the existing GIS technology.

In January 1997, working with Systems and Computer Technology Corporation, the consultant was selected to provide direction for leveraging and enhancing the existing GIS technology at the City of Indianapolis/Marion County. Working with city executives and staff, the consultant developed a long term strategic plan for enterprise-wide municipal GI S, addressing areas such as data update and maintenance procedures, workflow and business re-engineering, applications development, system architecture design, and management issues. The plan focuses on the following objectives for the GIS program:
  • Provide an accurate, up-to-date GIS database accessible to all potential users throughout the city;
  • Provide easy-to-use desktop access to GIS data and applications across the enterprise;
  • Use GIS technology to improve the efficiency of City/County operations and to expand the City/County’s ability to deliver services to the public;
  • Provide a common management structure to guide all GIS-related initiatives within the City/County; and
  • Develop applications to integrate the GIS with the Internet and provide information for public access.
During the initial stages of the contract, the consultant co-developed with City staff, several “high return” applications, the goal of which was to demonstrate the benefits of GIS to City executives. The applications selected for development were chosen for their ability to impact a broad range of end users while serving to increase productivity through workflow re-design. It was during this applications development phase that it became clear to software engineers that standard application development methods and coding standards must be adopted. In addition, the issue of supporting geographically distributed development teams became apparent, with the bulk of the consultant’s development taking place at their office in Denver and the City’s taking place in Indianapolis.

The objectives of this paper are to discuss how the standard application development model was designed, as well as how it was implemented within a proprietary programming language environment. [n addition, issues such as operational impact, requirements gathering and documentation, coding standards, multiple developer environments, and deployment considerations will be addressed. Establishing these standards helps to ensure that user requirements are clearly documented and understood, allows for consistency between applications, and will reduce development effort.

Approach
Combining the development staff from the consultant and the City into a single team has been a unique situation for each of the partners. While Indianapolis has worked with contract developers in the past, it was always for contracts to develop specific applications. Similarly, the consultants’s experience was either as an outsourcing contractor/consultant or as an appl ication developer for a specific appl ication from cradle to grave. The challenge presented was to integrate two distinct application development staffs into a cohesive whole. A whole in which all members of the team could fill in for each other on development projects and one where a project could be handed off from one member to another with no loss. An additional goal was to develop an environment where the project team could maximize code reuse. The team members recognized that the only way to achieve this goal was through efficient communication; our ability to communicate would be enhanced by the adoption of common standards, conventions, and methodologies.

Establishing coding standards and practices

Commercial Configuration Management Tools
 
Software configuration management (SCM) can be defined as a system utility that is able to track issues such as version control, workspace management, build management, and process control (Babich, 1986; IEEE, 1987). Version control supports project organization, historic code changes, and parallel development teams. Workspace management allows individual developers the ability to simultaneously work on portions of code within a software engineering project. The creation of deliverable code and install files is addressed by build management. Finally, process control attempts to enforce an organizat ion’s coding standards within the software development Iifecycle.

The City of Indianapolis currently has an ESR1-based GIS solution which includes ARC/INFO, ArcView, and MapObjects/Visual Basic as the primary end-user environments. While ARC/lNFO and MapObjects are directly supported by third party configuration management softwares such as ClearCase, Visual Basic Enterprise, and LBMS Process Engineer, there are currently no commercially available SCM tools for ArcView and its proprietary programming language, Avenue. Seeing this as a shortcoming, the Indianapolis development team deemed it necessary to design the basic SCM functions to support the large number of software engineers on the project team.

The primary focus of the development team was to set standards for applications coding including not only the establishment of coding styles, but also developing script libraries for code reuse. Additionally, the issue of cooperative application development within the GIS programming environment was addressed. A set of graphical user interface (GUI) standards was also proposed, which will allow each application to follow a consistent and standard “look and feel”.

Coding Styles
Coding style can be defined as both the informal and formal rules of programming as adopted by developers. This allows subsequent programmers to easily follow the flow of code written by others. By setting coding styles, this will aid in the use and reuse of existing code. Coding styles that were established included standard headers, comments, notation, variable naming, script naming, and code management. Adherence to these standards wi II promote the open interchange of scripts and code between on-site and off-site developers.

Cross Referencing of Code
The cross reference and management of scripts within the software development environment allows programmers to maintain a “clean” application by eliminating unneeded code. This function will allow developers to search for specific code called by other scripts or linked as the result of an action taken within the application GUI. This aids in the reuse and customization of enhancements to an application.

Page 1 of 3
| Next |

Applications | Technology | Policy | History | News | Tenders | Events | Interviews | Career | Companies | Country Pages | Books | Publications | Education | Glossary | Tutorials | Downloads | Site Map | Subscribe | GIS@development Magazine | Updates | Guest Book