|
| » Services > GIS > Gis Application
Development |
|
 |
Through time, as users become more experienced with
GIS, they require more complex applications. The initial Needs Assessment
will contain some applications of a complex nature, however the majority
of initial applications will be straight-forward, using the basic functionality
that is part of every commercial GIS (e.g., query, display). The more
complex applications usually are not supported by the basic functions
of a GIS but must be programmed using the GIS macro language or other
programming language. This guideline identifies several categories of
applications that must be prepared by users and how overall requirements
change over time.
Why Applications are Needed
Sales brochures, live demos and journal articles touting the impressive
and extensive array of GIS capabilities creates the impression that application
development is a non-issue. The vendors, it would seem, have already
developed fully functional, out-of-the-box, meet-your-business-needs,
GIS software. GIS can and should do anything and everything.
So why are we talking about application development?
Applications are the icing on the GIS layer cake; the highest
level of customizable software. The underlying "cake" provides
the functionality common to all user disciplines. Commercial GIS packages
tend to focus on the common or basic applications - the "cake." When
it comes to specialized uses, application development fills the needs
for functionality. Though there is a great deal of commonalty in the
basic spatial query and display functions, there is still a need for
other advanced applications. We need additional applications because
needs are different between organizations.
Commercial GIS development is driven by market pressure.
The software vendors only respond to what makes economic sense for their
market share. What's important to your organization may not be important
to others. Because of this, there are no truly "off-the-shelf" applications
that will match all of your needs. You either have to adapt your uses
to their data model and functionality or you develop applications to
fit your use environment.
Categories of Applications
Application development is not rewriting the GIS software, but instead
custom applications to meet specific needs. The applications may be as
simple as a set of preferences that are stored for each user group or
individual and are run as a macro at startup time. Or they may be a very
complex query that selects a group of layers, identifies features of
interest based on attribute ranges, creates variable width buffers, performs
a series of overlays and produces a hard copy map. In either case, an
application is required to convert the user's ideas into a usable, stable
product.
Database Applications
Applications are not restricted to user-defined needs. One of the short-comings
of the needs assessment methodology presented earlier, is the focus on
only end-user query, analysis, and display requirements. Collective needs,
particularly those related to system-wide functions, are not identified
by individual users. The most important of these are the data administration
functions for maintaining the quality and integrity of the database,
such as quality control, verification, editing, back-up routines, and
security.
Database applications fall into the following categories:
- database
set-up (described as part of GIS System Integration)
- database management
- database maintenance
- data archiving and retention
Each step needs to be fully defined, as appropriate to the specifics of the GIS program. The main point here is not how these steps are completed but rather to identify all of the necessary steps and to emphasize the importance of planning and executing each one.
The MS Access™ metadata software tool accompanying these guides sets forth a structure for creating documentation needed for the management and maintenance of the GIS database. Table definitions for the metadata tool are in the appendix to the GIS use and Maintenance Guideline.
Formal Specifications for Advanced Applications
The documentation of applications in the Needs Assessment guideline describes
methods suitable for preparing full and formal specifications for all applications.
However, most applications in a new GIS will be of the simpler, more basic type
(display, query, map overlay). These applications will likely be satisfied by
the normal functionality that is included in most commercial GIS.
More complex applications, either database or spatial analysis, will require
development using the GIS macro programming language. For these applications
the process of preparing formal specifications, similar to what any large programming
project uses, should be followed. The techniques recommended in the Needs Assessment
guideline are data modeling by application (E-R technique) and data flow diagramming.
These techniques are suitable to provide an overview of a complex application.
Additional techniques should be used, as appropriate, including:
- structural
analysis and programming
- rapid prototyping
As the application development needs increase, there will be a need for additional staff with the appropriate programming skills and experience using the macro programming language of the GIS. |
|