Process Flow Analysis

Objectives

Objectives for the process flow analysis task involve assessing the quality of source code process logic for the systems of interest including:

· Determining the complexity, structural and defect ratings by program, sub-system and system

· Extrapolating the complexity and quality of programs written in languages or on platforms where automated analysis is unavailable

· Summarizing this data for use in planning maintenance and/or redevelopment projects

Note: Steps in this task discuss how to perform process flow analysis for one or more systems. If analysis tools are available, it makes no sense to attempt this effort manually. The time required would be inordinate. In the absence of analysis tools, a process is described to snapshot program flow aspects of a given system.

The main metrics used are the McCabe metrics with other language specific metrics referenced for COBOL or assembler language systems. Metric counts and scores are recorded on Process Flow Analysis Form 003B and Module Maintainability Rating Form 008A.

Entrance Criteria

The entrance criteria for the process flow analysis task are listed below.

· Inventory of all source code and Copy book types, categorized by system and sub-system

· Assignment of unique 5 digit system and sub-system identifiers

· Access to program and Copy source code

· Completion of the Environmental Analysis

Roles/Skills

The personnel and skill requirements necessary to meet the process flow analysis task objectives are identified below.

· Current Systems Expert

- Knowledge of existing application programming environment

· Systems Programmer

- Security access to all program source/load libraries

· Redevelopment Expert

- Ability to assess requirements and perform static analysis as required by this task

· Metrics Analyst

- Ability to assess & record process flow metrics for the target language(s)

Input Requirements

The system components and related inputs required to initiate and complete the process flow analysis task are listed below.

· Completed Environmental Analysis Form 003A

· Process Flow Analysis Form 003B and Module Maintainability Rating Form 008A

· Program and Copy source code to be analyzed

· Additional source as required (i.e., ALC macros, other)

Tool/Technology Support

Technologies supporting the process flow analysis task include static analysis, spreadsheet, open systems repository, and word processing tools. These tools are used to represent information as required by this task.

Static analysis tool

Automated tools support source language metric summary level analysis for COBOL, PL/I, IBM Assembler Language (ALC), C and ADA. Standard metrics derived from these tools support analysis of code complexity, structure and defects. These are typically McCabe based metrics, but may also include proprietary metrics. Both are re-interpreted via Comsys-TIM forms.

Other languages, including 4th generation languages (4GL), may require manual analysis to determine complexity and code quality.

Program level analysis tools, referenced in the last step of this task, provide for optional creation of detailed analysis reports.

Spreadsheet

This tool is used to record metric results for this task.

Open systems repository

A repository provides an important, yet optional, capability to link business areas, systems and components using the legacy transition meta-model. In this task, the repository is updated to reflect program complexity and structural metrics.

Word processor

This is required to record analysis results.

Task Steps

The process flow analysis task is comprised of the following task steps:

Verify and Finalize System/Sub-System Groupings
Perform Process Flow Analysis
Record Manually Derived Process Flow Metrics
Record Tool Derived Process Flow Metrics
Produce Process Flow Narrative Summary
Review Process Flow Analysis Results
Produce Detail Program Analysis Listings