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.
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
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)
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)
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.
The process flow analysis task is comprised of the following task steps: