Reengineering Tools & Technologies
BackgroundComsys-TIM tasks require, in most cases, the use of various software tools. While the task/step guidelines are tool independent, it would be highly impractical to perform large scale efforts in the absence of specific tools. Tools, in many cases, span steps, tasks and stages. This is due to the fact that a tool may provide summary level information that is useful during an assessment and provide more granular data in a subsequent implementation task. The bottom line is that tool driven projects and frameworks have proven highly unsuccessful and volatile. Comsys-TIM places tool utilization in the proper perspective based on the process and deliverables required under a larger project scenario. Over one hundred (100) commercially available software products are referenced under the Comsys-TIM redevelopment framework. Commercial viability, user base, uniqueness, scope of coverage and durability are factors considered when determining if a product meets requirements for inclusion in Comsys-TIM. The following sections discuss how tools have been positioned within Comsys-TIM.
Reengineering Tool Reference and UtilizationTools are defined at the task and step level within the Comsys-TIM redevelopment framework. At the task level, a tool category and product name summary is provided for all steps within that task. At the step level, specific guidelines, for one or more categories of commercially available software products, augment the generic step guidelines provided within the body of that step. New tools and vendors are added on a regular basis. These guidelines indicate the reports that should be produced, metrics to be derived, parameters to be set, the features to invoke or interactive functions to be performed by a given tool. Metrics are re-interpreted in the generic guidelines for each step so that they are brought in line with other Comsys-TIM metrics. If an organization has limited tool availability, generic guidelines supplement the process accordingly. The bottom line is that Comsys-TIM positions tools within the context of specific guidelines under a given task. As a result, organizations that own software re-engineering products are able to obtain benefits from those products that may have been previously unobtainable. The following sections discuss Comsys-TIM stage specific tool categories along with a recommended software re-engineering tool architecture.
Comsys-TIM Stage/Tool UsageEnterprise Redevelopment Planning Tool UtilizationEnterprise Redevelopment Planning primarily uses high level inventory tools, spreadsheets and strategic planning tools. Planning tools include business process re-engineering tools as well as the I-CASE planning workstations. Another key component is the population and presentation of enterprise wide meta-data within a repository. This repository, while not a requirement, may be used throughout all four Comsys-TIM stages and is based on the Legacy Transition Meta-model (LTM). The LTM model structure may be found in the Comsys-TIM appendix. Inventory/Analysis Tool UtilizationInventory/Analysis uses a wide variety of code analysis and abstraction tools to assess the technical, functional and architectural aspects of an application area. Technical analysis is supported by system-wide inventory tools, source code analyzers and system-wide data definition analysis tools. Functional analysis is supported by planning level I-CASE tools and data definition reverse engineering tools. Architectural analysis is supported by various re-documentation products that show system flows, data base hierarchies and presentation views. Spreadsheet and project management tools further support analysis and planning. Each of the tasks further populates the LTM as a baseline for documenting technical and functional information and in support of transition efforts under Transformation. Positioning Tool UtilizationPositioning tools provide automated or semi-automated source code modifications. Categories include language conversion tools, language level upgrade tools, program level static source code analyzers, source code restructuring tools, data definition/data name rationalization tools and program slicing tools. Additional tools include compilers, editors and interactive source code analysis tools. Validation is supported by source code and data file comparison products. The LTM, if in use, is updated where applicable. Transformation Tool UtilizationTool support for Transformation requires reverse engineering tools to capture and transform representations from a physical to a logical level. Additional products are required to support selected portions of the design level process reverse engineering requirement. Both of these facilities may be incorporated into an organization's I-CASE tool set. In other cases, specialty tools may be required to supported interactive, system-wide analysis of systems. Highly automated data analysis, reverse engineering and transformation tools offer powerful support to the data transformation tasks. Selective process analysis, reverse engineering and transformation tool support is rapidly maturing. These tools are supported by a combination of redevelopment work platforms and the LTM repository model for tracking and cross reference purposes. Since Transformation supports moving to some target environment, a number of links into development tools is provided. In cases where a development tool also provides re-engineering support, it is referenced specifically. This includes object oriented and event driven tools as well as traditional I-CASE technology. The combination of tools and techniques is particularly important in this stage to support transition to new data models, functional models, integration levels, development paradigm and platforms. Scenarios clearly define this requirement at the outset. Reengineering Tool ArchitecturesPlatforms used to perform Comsys-TIM tasks typically include both mainframe and non-mainframe platforms. Workstation based environments provide graphical representations and windowing capabilities. Mainframe tools provide better system wide analysis coverage in early assessment tasks and work more quickly for large scale Positioning based activities. Workstation tools provide better graphics, repository support and development tool links. In some cases, the user has no option as the tool may only work on a specific platform. A centralized repository to support interactive manipulation of meta-models is useful, and in some cases a requirement. This requires a repository facility to store and manipulate system objects for analysis, tracking, extraction and exportation to higher level representations. Repository support is also important for cross enterprise projects, such as a Year 2000 initiative, that require multi-phased meta-data to be controlled on an ongoing basis. The LTM repository model is generally consistent with most of the system wide re-engineering platforms and tools thanks to extensive vendor research and cooperation in the development of this model. Comsys-TIM forms and workplans have been selectively populated into certain spreadsheets and project management tools. Finally, as new tools emerge, they will be incorporated into the Comsys-TIM framework. One final point should be made regarding project productivity and estimating models. The estimation formulas in Comsys-TIM are based on the fact that productivity gains are enabled by applying recommended software tools within each Comsys-TIM task. The learning curve on each tool requires that pilot projects weight estimates at 50% more than Comsys-TIM metric models suggest. The absence of a key tool in a project means that estimates may be significantly understated. Use common sense as to the level of tool automation available when establishing project workplans.
|