| | | | | | Powerful new, concepts and technigues are becoming avail-. able to migrate ' the billions of lines of existing code into more easily expand- able, maintain- able systems. In most enter: ' prises, computing systems have large guantities of old code, most, built. by hand in an unstructured fash: v | ion. The data usually has not been mod: eled, with little or no interest in achiev- ing data compatibility between different systems. ' | koj ' These systems typically were designed before today's principles of good data-:''; base design were understood, The data -' isnt normalized and is unrelated to the '' data-administration process. As caretak- ers of these systems know all too well, these systems are fragile and expensive " to maintain. MRENE uj. Traditional maintenance of programs 'i is an unsatisfactory and expensive pro- > cess. It has been compared with the at-'': tempt to repair a wooden boat at sea: ': New planks can be replaced only by us: ing existing planks for support. The pro-' cess must be done in small steps or the:' boat will sink. And sooner or later, the boat must; be brought to a shipyard and rebuilt. : " f BE) aPeabieič sn Using computer-alded software engi-' neering (CASE) tools, old systems can ;,,. be rebuilt from restructured design in: " formation stored in the CASE reposi- '/ tory. They can't all be rebuilt guickly, " because this would involve too much work, The best that can be hoped for is i; a steady, one-at-a-time migration of the' old systems into the cleanly engineered .' VOME5 1 l if form.: DAN in corporations that. have successfully implemented development methodolo- 1: gies based on integrated CASE (1-CASE) | ' systems (5) rogrammed. j Often, the attempt to convert is killed by the people controlling information: finances. The conversion process itself creates no new applica- tions. Management, perceives a great deal of effort and expense with nothing to show for it. There is a long and seri- ous application backlog. € In one organization after another, iri: cluding some of the most prestigious data-processing organizations, the at- tempt to make a major conversion has failed. Yet the cost of maintenance in the non-I-CASE world escalates daily. One of America's best; telephone switches ran into so many software- PE MEEKNAPPLICATIOM DEVELOPMENT H: APPLIED INTELLIGENCE | Reverse Engineering Gives Old Systems New Lease on Life process. The programs are captured and represented in a CASE format so they can then be modified as reguired using CASE tools. Data definitions are captured and converted into stable data models stored in the CASE repos- itory. 'The figure shows a reverse-engineer- ing step. The code of the old system is restructured with an automated tool and entered into an I-CASE tool so it can be analyzed and redesigned, and be- come part of the CASE evolutionary, life cycle. In connection with this reverse-engi: neering step, three terms are used: Restructuring: conversion (with an How To Reverse-Engineer Existing Systems Old Systems Can Be Rebuilt Using Restructured Design Špecifications Stored in the CASE Repository SA riddled RR E . with undocu- int mented and Mat unstruc- Z tured 4 code Old code is testructured with an automated tool and entered into an integrated-CASE tool where it is analyzed and redesigned. New systems based on an integrated- CASE life cycle ally, the messy underworld should dis- appear. There are basically three approaches to the IS reverse-engineering and re-engi- neering problem: e Do Not Convert. Allow applications to continue their existence unconverted but, when necessary, build a bridge to new systems using data models and pro- cess models stored in a CASE repository. e Restructure. Guickly restructure the messy applications (preferably with automated tools), but don't rebuild them with CASE tools. The slum areas are im- proved, but not rebuilt to be part of the new planning. Often it's necessary to build a bridge to the new systems built with CASE tools. 6 Rebuild. Reverse-engineer the old ap- plications to conform to the data models and process models stored in the CASE repository. This is comparable to rede- signing and rebuilding areas of the city. In large IS installations, a mix of these approaches will probably be used. To Convert or Not Two guestions should be considered before deciding, to convert an old sys- tem. First, does it work? If it works well, there's a strong argument for leav- ing it alone. If it works inadeguately, it should be rebuilt using integrated CASE technology. Second, does it incur high maintenance costs? If the application is fragile and expensive to maintain, then it's a candidate for restructuring or re- building with automated tools. It may be appropriate to automatical- ly restructure an old system and modify it by programming rather than rebuild it with reverse-engineering and 1-CASE tools. If an application system works ad- eguately and needs little maintenance, then its conversion should probably be postponed. Spend the effort on some- thing else; there are so many other ap- plications needed, such as a bridge be- tween it and the new environment. In planning data resources, it may be unwise to assume that old systems will be converted easily to the new, automat- ed form. A realistic appraisal is needed tools, these are two development worlds. ''' ti 'The CASE world has the ability to "5,4: evolve systems, continually improving "ni: of the costs and difficulties of conver- sion. The dismal history of uncompleted UI oi. nea ba sa iki. vara! heir design and regenerating code. The systems are cleanly engineered, easy to"; change and have stable data models. Alas, there is also an underworld of /'//! poorly structured old systems lacking' > data models. In many corporations, .. more programmers spend their time... maintaining poor-guality code than those who work in the CASE world. 'The problem is rather like the šlum- clearance problem in a city. Despite a city's new center, elegant architecture ' and efficient street plan, existing slums and old, crumbling buildings still need to be maintained. Planners hope fora " maintenance difficulties that its mainte- |? If that figure had been forecast. ! VA recent study by the U.S. Air Force , estimated that unless maintenance pro- ductivity is improved by the year 2000, steady migration from the slums and /'...25 percent of the U.S, draft-age j popula- their replacement with well-designed, ,. tion will be reguired to maintaln the Air '' new facilities. Many corporations have attempted a /" major conversion of a file system to a database ly, the reason is that the project con- sumes much more work than anticipat- ed because so much has to be re- Force's software! ude Fortunately, new tool sets to facili- ' tate the complex process of rebullding system and have failed. Usual. systems are available, The goal is to re- system. verse-engineer old systems into a ' cleanly structured form, using tools |, nance costs exceeded $1 million per day. |" The switeh would never have been built —In one organization after another, the attempt | to convert to a database system has failed. Yet the kalečih cost of' mainlaining old systems escalates daily. automated tool) of unstructured code | into fully structured code. ' Reverse-engineering: conversion of un- ' structured code into high-level design ! specifications and (automatic) entry of -| these specifications into an I-CASE tool / where they can be improved or re- designed. uh |) Re-engineering: modification of the de- (siga of a system, adding functionality '— where reguired, and (automated) pro- duction of code for the improved K is done as shown in the figure, old systems can be that automate the tedious parts of this ' rebuilt as evolutionary systems. Eventu- conversions should be weighed. In their initial enthusiasm for new de- velopment; methodologies, system design- ers often assume that the old systems will be converted and discover too late that they won't. It's safer to assume that many old systems will survive and plan a bridge that links them to the new world. Next week I will examine the chal- lenge facing vendors in building tools that support reverse-engineering. H The concepts embodied in reverse-engi- neering are described in the CASE vol- ume in The James Martin Report Se- ries. For more information on this vol- ume, call (800) 242-1240. For information on seminars, contact (in the United States and Canada) Tech- nology Transfer Institute, 731 10th St. Santa Monica, Calif. 90402 (213) 394- 8305. In Europe, contact Savant, 2 New St., Carnforth, Lancs, LA5 9BX United Kingdom (0524) 734 505.