000 04983 a2200265 4500
008 250318s########|||||||||||||||||||||||#d
020 _a0-07-707897-7
040 _aGAMADERO2
_bspa
_cGAMADERO2
100 _aKevin lano and howard haughton
245 _aReverse engineering and software maintenance a practicasl approach /
250 _a1ERA EDICION
260 _bMcGraw-Hill
_aEngland
_c1993
300 _a251
_bIlustraciones, tablas, graficos
_c24cm
490 0 _aseries
504 _aEditorial McGraw-Hill ISBN 0-07-707897-7
505 _aPreface 1 Software Maintenance-The Neglected Eighty Per Cent of Software Engineering 1.1 Introduction 1.2 Maintenance as a Hidden Activity 1.3 Defining Software Maintenance 1.4 The Economics of Software Maintenance 1.5 Current Techniques 1.6 An Outline Architecture for Reverse Engineering 1.7 Knowledge-based and Object-oriented Systems 1.8 Solutions 1.9 Conclusion 2 At the Coal Face-Maintenance in Practice 2.1 Introduction 2.2 Maintenance Processes 2.3 Managing Maintenance 2.4 Summary 3 Current Research Directions 3.1 Introduction 3.2 Reverse Engineering Levels 3.3 Tools and Techniques for Maintenance Assistance 3.4 Available Tools 4 Mathematical Background 1: Logic 4.2 Logics and Functional Languages 4.3 Functional Languages 4.4 Temporal Logic 5 Mathematical Background 2: Program Semantics 5.1 Introduction 5.2 Programming Semantics 5.3 Data Types 5.4 Object Oriented Design" 5.5 Entity Life Histories 5.6 Entity Relationship Attribute Diagrams 5.7 Summary 6 A Process Model for Maintenance and Reverse Engineering 6.1 Introduction 6.2 Available Methods 6.3 A Maintenance Process 6.4 An Outline Process Model for Reverse Engineering 6.5 Architectural Specification of Reverse Engineering Process 7 Application Understanding and Reverse Engineering 7.1 Introduction 7.2 Implementation of the Model 7.3 COBOL 7.4 FORTRAN: Stages 1 and 2 7.5 Getting to Grips with C 7.6 Summary 8 Application Redesign and Re-Engineering 8.1 Introduction 8.2 COBOL Case Studies 8.3 FORTRAN Case Study: Stages 1 to 4 8.4 Summary 9 Structured and Formal Methods 9.1 Introduction 9.2 Essentials of SSADM 9.3 Object Representations and Structured Notations 9.4 Reverse Engineering Using Structured and Formal Notations 9.5 Summary
520 _aThis book provides an overview of the field of software maintenance, and describes techniques based upon formal methods, object orientation and program semantics which have been applied in practice for reverse engineering and software maintenance. The use of the techniques is illustrated by numerous examples and three major case studies, in several different source languages: COBOL, FORTRAN, C, and Prolog Software maintenance has for many years been regarded only as an unwelcome and resource-wasting activity, which would be eliminated by advances in software develop-ment techniques. More recently, however, as the proportion of software activities concerned with maintenance has been recognized as growing relentlessly, from 50 per cent in the eighties to an estimated 80 per cent today, a realization of the centrality of maintenance in the production and continued utility of software systems has become more widespread. This change in attitude has come from a recognition that the emphasis on short-term goals, of producing a software product in the shortest time, to succeed in a competitive market, with low priorities being given to quality or to long-term sustainability of the product, has been very costly to the industry. Companies now often seek to produce products which have extended lifetimes, and the advent of object-oriented design and object-oriented languages opens up the technical possibility of widespread reuse of systems so that there is greater economic justification for considerable effort to be spent on making a component reusable-in many respects this is equivalent to making it maintainable since this component will have many users and a prolonged lifespan. In Chapter 1 we give an overview of the software maintenance problem or 'crisis', summarizing the principles of software evolution established by authors such as Lehman, and seeking to explain the neglect of this area and the deficiencies of current techniques. In Chapter 2 an empirical study of software maintenance activities is presented, together with process models of the activities which relate them to life-cycle models and to business models. Code understanding and reverse engineering is emphasized as the key to current
526 _aIngeniería en Tecnologías de la Información y Comunicación
650 0 _aIngeniería en tecnologias de la información y comunicaciones
_9585
942 _cLIB
_2ddc
_e1Era edicion
945 _a1
_badmin
_c1261
_dJenny Viridiana Quiroz Linares
999 _c2026
_d2026