| Prev | Next | Start of Chapter | End of Chapter | Contents | Glossary | Index | Comments | (4 out of 8)

Using Operational Prototyping Techniques

G2 supports a style of development called operational prototyping. The technique is called operational because the resulting application is fully functional at any point during development. The operational prototype receives real-time data from physical systems and operators, and provides conclusions and advice in a timely manner. The technique is called prototyping because the style is informal and iterative. The developer creates a prototype that supports the basic needs of the application, then refines the prototype given input from knowledge engineers and end users.

The features of operational prototyping are:

Using Participatory Design

Participatory design refers to the technique of including end users as well as knowledge experts on the development team early on in the design phase. End users understand better than anyone the human tasks that the software application should support. By including end users on the development team, you greatly increase the chances of creating an application that end users want and will actually use.

This figure illustrates the participatory design:


Because G2 provides an integrated development and deployment environment, you can easily include end user requirements as part of the design.

Using Rapid Prototyping

Rapid prototyping refers to a development technique whereby the software engineer iteratively creates and refines an operational prototype during the design and implementation phases. You often use rapid prototyping when the initial requirements are not clear to create an approximation of the final application.

At various stages, the engineer shows the prototype to the domain experts and the end users, each of whom provides feedback on the prototype. With a more complete understanding of the requirements, the software engineer then iteratively redesigns the prototype, responding to new requirements as they evolve.

Using rapid prototyping techniques, the developer is actually designing and developing the application simultaneously, adding and changing requirements as needed. Thus, the design and development phases are collapsed into one continuous cycle, as this figure illustrates:


G2 supports rapid prototyping techniques by allowing the software engineer to create and modify the object definitions that represent physical systems and the methods that define their behaviors.

Using Goal-Based Design

Goal-based design refers to the technique of establishing goals as part of the development process. Using rapid prototyping techniques, you can design, implement, and test each goal as you develop the operational prototype. This also means you can begin development by implementing the highest risk objectives first, then refine the application to implement addition goals.

Using goal-based design techniques, you develop application requirements by breaking the higher-level goals down into smaller subgoals, which you design, implement, and test iteratively.

For example, your application might have three overall goals:

Because the entire application depends on the accuracy of the real-time data, the highest risk goal is typically monitoring the real-time data. The subgoals of this goal might be:

The secondary goal might be to determine overall system status, which might consist of these subgoals:

The third goal might be to implement a fault detection system, whose subgoals might be:

The following figure illustrates two goals of a real-time monitoring application: monitoring real-time data and inferring overall system status. The figure shows how you break each goal down into subgoals and how you design, implement, and test each subgoal, using rapid prototyping techniques:


G2 supports goal-based design by allowing you to design, implement, and test each goal and subgoal separately, using rapid prototyping techniques.

| Prev | Next | Start of Chapter | End of Chapter | Contents | Glossary | Index | Comments | (4 out of 8)

Copyright © 1997 Gensym Corporation, Inc.