Universidad Autónoma de Occidente
Local cover image
Local cover image

Reverse engineering and software maintenance a practicasl approach /

By: Series: seriesPublication details: McGraw-Hill England 1993Edition: 1ERA EDICIONDescription: 251 Ilustraciones, tablas, graficos 24cmISBN:
  • 0-07-707897-7
Subject(s):
Contents:
Preface 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
Summary: This 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
Holdings
Item type Current library Call number Copy number Status Date due Barcode
Libro Libro CI Gustavo A. Madero 2 1 Available

Editorial
McGraw-Hill
ISBN
0-07-707897-7

Preface

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

This 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

Ingeniería en Tecnologías de la Información y Comunicación

There are no comments on this title.

to post a comment.

Click on an image to view it in the image viewer

Local cover image

Libros electrónicos

eLibro eLibro

Recursos de investigación libres

image host image host image host image host image host image host image host image host image host image host

Recursos informativos



TecNM | Tecnológico Nacional de México

© 2025 by Biblionexus