System Architecture

Up
About Farragut
Software
News
Opportunities
Library
Contact Us

Farragut Systems has been developing GIS applications and integrating FSI components into existing legacy applications for more that 10 years. During that time, we have used a number of development methodologies. Many organizations are familiar, for example, with waterfall style development processes. Waterfall development is a structured process wherein the development process is broken up into a number of phases. Different methodologies use a variety of terms to describe each of the phases, and some are more granular than others, but when the buzzwords are stripped away, the basic approach is as follows:

  • Specification of Requirements

    The development team seeks to create a specification that describes both the environment in which the new systems is to function and how the new system is supposed to behave.

  • Design

    During the design phase, the developers take the requirement document as input and define how the application is going to be constructed.

    For the Colorado Oil and Gas Conservation Commission, Farragut developed an Internet mapping application that allows the public to retrieve information about oil and gas wells.

  • Implementation

    During implementation, the developers do the programming to create the applications) and components described in the design.

  • Deployment and System Validation

    The resulting system is deployed on a test system at the customer site and the end-users put the new systems through a set of tests designed to prove that the system behaves correctly.

    As an alternative, Rapid Prototyping assumes that requirements for a project will change over time and that the development process should accommodate, rather than resist the changes. In a rapid prototyping environment, the development team produces working or partially working elements of the new system. This approach gives the users immediate feedback regarding whether the development team understands what is needed, and gives the development team an opportunity to show the end users how the new system will work.

    For a large international engineering company, Farragut developed a query and mapping application for the environmental assessment of a large hazardous waste site.

    Rapid prototyping typically follows a process described below:

  • Definition of Use Cases

    A use case is a document and diagram which describe a particular user scenario and how the user will interact with the new system to accomplish some task or activity.

  • Prototype Definition

    The development team and users typically analyze the use cases, to classify and group them into functional sets. These sets are used to define the prototypes.

  • Prototype Implementation

    Prototypes allow issues to be rapidly identified early. As the system proceeds, prototypes that re accepted and understood can be refined and will gradually mature into finished components.

    When considering the choice of development methodology, significant time and energy can be saved if an appropriate methodology is chosen. We typically use Waterfall methodologies in complex situations where a number of different organizations are involved in the development, or development is taking place in a disjoint manner.

    Rapid prototyping is the most cost effective and efficient approach to use in situations where the development can be focused, the developers and users can meet to discuss the needs of the system, and the capabilities and shortcomings of the various prototypes that are produced. It is the most flexible and adaptable approach and typically produces excellent results.

    regardless of the development methodology that is used, there are specific tools and techniques that must be applied to any professional software development process.

  • Configuration Control

    From the state of development, software is dept under configuration control and a defect tracking system is used to record and report problems to developers.

  • Unit, Integration and Acceptance Testing

    The testing effort is given equal attention to the development effort. Software is tested at unit, subsystem, and integrated-system levels.

  • Change Management

    When requirements change, Farragut Systems assesses the impact of proposed changes and the means required to meet them.

    For a consortium of several large international oil companies, Farragut architected and implemented an integrated system for the maintenance and query of exploration data for a deep-sea formation in West Texas. The system integrates GIS, Document Management, and a comprehensive analytical database.

    Farragut developed a wide range of applications to support the implementation of an Enterprise-wide GIS for the City of Broomfield. ArcObjects, ArcIMS, and SDE formed key components of the overall solution.

    We are currently re-writing several mission-critical applications for the Colorado Department of Natural Resources. The first application has been deployed and is currently in production.

    To request more information on this service, go to our information request page.

Home Feedback Search Info Request Home

Send mail to webmstr@farragut.com with questions or comments about this web site.
Copyright © 2001-2007 Farragut Systems, Inc.
Last modified: April 9, 2007