Change Management

Summary

To increase productivity in the application life cycle and reduce time spent in the code, test, and maintenance phases are important. To reduce the effort in these phases, applications should use change control, design for maintenance, use reusable libraries, and use code templates. Object methods are best suited to reusable libraries; nonobject methods are best suited to program templates. 

I-CASE is critical in reducing coding and testing through automatic code generation. I-CASE is also required to build intelligence to support reusable designs.

If managing application change, change control procedures and management are critical. Requirements, designs, programs, interfaces, hardware, or purchased software are all subject to change. Change management procedures track requests from initiation through implementation and allow management reporting of cost, types, and impacts of changes. 

Logging and management of historical decisions can be useful in volatile environments in which applications are subject to redevelopment. A historical decision log keeps track of arguments, reasoning, and rationales for decisions as they are made. After an application enters operation, documentation is still subject to change to reflect the current state of the application. A document table of contents summarizes all changes and the parts of the document affected by each change. Similarly, software documentation is kept in derivations to summarize the actual software and steps used to develop a load module or work unit. Configuration management is the use of software code libraries to manage the official, operational code modules of an application. Delta version and variation management are the principle techniques.

TABLE 18-4 Reverse Engineering Tools

Via/Renaissance

Tool

Vendor

Functions

ADW/Maintcnancc

Workstation

KnowledgeWare, Inc.

Atlanta, GA

Reverse engineering for information engineering: Entity-relationship diagrams

Process data flow diagrams

Bachman Series

Bachman Information Systems, Inc. Burlington, MA

Reverse engineering of data structures

Design Recovery

Intersolv, Inc.

Reverse engineering of program structure

Ensemble

Cadre Technologies, Inc.

Providence, RI

Reverse engineering charts, metrics, and design

Hindsight

Advanced Software Automation, Inc. Santa Clara, CA

Reverse engineering of C-language code: documentation, structure charts, complexity analysis

RE for IE

Texas Instruments, Inc. with

Price Waterhouse

Dallas, TX

Reverse engineering for information engineering: Entity-relationship diagrams

Process data flow diagrams

Smartsystem

Procase Corp.

Santa Clara, CA

Reverse engineering of C-language code: function call graphing, syntax and consistency checking

 

Viasoft, Inc.

Phoenix, AZ

Reverse engineering of data structures


TABLE 18-5 Software Configuration Management Tools

Tool Vendor Functions

Pandata

IBM

Armonk, NY

Software code library for IBM and compatible mainframes

Copylib

Data Administration, Inc.

Data management software—Allows viewing of file definitions from Librarian, Panvalet, and Copylibs, to locate occurrences and variations of data.

Data Expeditor

Pansophic Systems

Lisle, IL

Software code library for IBM and compatible mainframes

Librarian

Pansophic Systems, Inc.

Lisle, IL

Software code library for IBM and compatible mainframes