Atjaunināt sīkdatņu piekrišanu

E-grāmata: Effective Software Maintenance and Evolution: A Reuse-Based Approach

(National University of Singapore)
  • Formāts: 424 pages
  • Izdošanas datums: 07-May-2007
  • Izdevniecība: Auerbach
  • Valoda: eng
  • ISBN-13: 9781420013115
Citas grāmatas par šo tēmu:
  • Formāts - PDF+DRM
  • Cena: 150,28 €*
  • * ši ir gala cena, t.i., netiek piemērotas nekādas papildus atlaides
  • Ielikt grozā
  • Pievienot vēlmju sarakstam
  • Šī e-grāmata paredzēta tikai personīgai lietošanai. E-grāmatas nav iespējams atgriezt un nauda par iegādātajām e-grāmatām netiek atmaksāta.
  • Bibliotēkām
  • Formāts: 424 pages
  • Izdošanas datums: 07-May-2007
  • Izdevniecība: Auerbach
  • Valoda: eng
  • ISBN-13: 9781420013115
Citas grāmatas par šo tēmu:

DRM restrictions

  • Kopēšana (kopēt/ievietot):

    nav atļauts

  • Drukāšana:

    nav atļauts

  • Lietošana:

    Digitālo tiesību pārvaldība (Digital Rights Management (DRM))
    Izdevējs ir piegādājis šo grāmatu šifrētā veidā, kas nozīmē, ka jums ir jāinstalē bezmaksas programmatūra, lai to atbloķētu un lasītu. Lai lasītu šo e-grāmatu, jums ir jāizveido Adobe ID. Vairāk informācijas šeit. E-grāmatu var lasīt un lejupielādēt līdz 6 ierīcēm (vienam lietotājam ar vienu un to pašu Adobe ID).

    Nepieciešamā programmatūra
    Lai lasītu šo e-grāmatu mobilajā ierīcē (tālrunī vai planšetdatorā), jums būs jāinstalē šī bezmaksas lietotne: PocketBook Reader (iOS / Android)

    Lai lejupielādētu un lasītu šo e-grāmatu datorā vai Mac datorā, jums ir nepieciešamid Adobe Digital Editions (šī ir bezmaksas lietotne, kas īpaši izstrādāta e-grāmatām. Tā nav tas pats, kas Adobe Reader, kas, iespējams, jau ir jūsu datorā.)

    Jūs nevarat lasīt šo e-grāmatu, izmantojot Amazon Kindle.

Jarzabek (computer science, National U. of Singapore) addresses both conventional and unconventional means of maintaining software and takes an approach that exploits similarities in software and in patterns of evolutionary change. On the way to green he describes conventional methods, including static program analysis, reverse engineering, model-based design, and configuration management. He then describes reuse-based techniques step-by-step, gives the symptoms and causes of software similarities, develops a mixed-strategy approach to generic design, scales it up, and applies the approach to a range of projects. Distributed by Taylor & Francis. Annotation ©2007 Book News, Inc., Portland, OR (booknews.com)

With software maintenance costs averaging 50% of total computing costs, it is necessary to have an effective maintenance program in place. Aging legacy systems, for example, pose an especially rough challenge as veteran programmers retire and their successors are left to figure out how the systems operate. This book explores program analyzers, reverse engineering tools, and reengineering tools in-depth and explains the best ways to deploy them. It also discusses using XML-based tools, the roles of software components, object technology, and metaprogramming in improving systems maintenance, as well as how to align software with business goals through strategic maintenance.
Foreword xiii
The Author xvii
Acknowledgments xix
Prologue xxiii
1 Introduction 1
Chapter Summary
1
1.1 Background
1
1.2 The Problem of Software Change
3
1.3 Software Evolution and Its Challenges
5
1.4 About This Book
8
References
10
PART I: CONVENTIONAL METHODS OF SOFTWARE MAINTENANCE AND EVOLUTION
2 Static Program Analysis Methods
15
Chapter Summary
15
2.1 Introduction to Static Program Analysis
15
2.2 Approaches to Static Program Analysis
17
2.3 How Does an SPA Work?
19
2.4 Source Language: SIMPLE
20
2.5 Program Design Abstractions for SIMPLE
22
2.6 Querying Programs with PQL
33
2.7 Design of PQL and SPA
39
2.8 Optimizing the Performance of Query Evaluation
42
2.9 PQL for COBOL
44
2.10 Conclusions
44
References
45
3 Reverse Engineering Methods
47
Chapter Summary
47
3.1 Review of Approaches to Reverse Engineering
47
3.2 Incremental and Interactive Reverse Engineering Process
49
3.3 Recovering Object Models from Code
51
3.4 Object Recovery Heuristics
53
3.5 Semiautomatic Recovery of Abstract Objects as Candidates for Classes
53
3.6 A Plan for Semiautomatic Recovery of Abstract Data Types as Candidates for Classes
54
3.7 Specifying Reverse Engineering Heuristics in PQL
55
3.8 Specifying Object Recovery Heuristics for C Programs
57
3.9 Generation of Recovered Design Views in Extended PQL
59
3.10 Conclusions
61
References
61
4 Model-Based Design for Ease of Maintenance
67
Chapter Summary
67
4.1 The Role of Models in the Design of Software Tools
67
4.2 The Concept of Model-Based Design
68
4.3 Model-Based PQL Query Validator in SPA and REA
70
4.4 Model-Based Design of the PQL Query Evaluator in SPA and REA
72
4.5 Model-Based Design of a Software Project-Support Environment
73
4.6 Conclusions
91
References
92
5 Evolution of Versions and Configuration Management
95
Chapter Summary
95
5.1 A Working Example: FRS Evolution
96
5.2 FRS Component Architecture
97
5.3 Evolution of FRS with CVS
99
5.4 Reuse of Features Implemented in Past Releases When Building New System Releases
101
5.5 Adding New Features to a System Release
104
5.6 Selective Propagation of New Features to Past Releases
105
5.7 The Visibility of Changes during Evolution
105
5.8 Explosion of Variant Features and Feature Dependencies
106
5.9 Lessons Learned
107
5.10 Related Work
107
5.11 Conclusions
108
References
109
6 Limits of Conventional Techniques
111
Chapter Summary
111
6.1 Software Complexity Factor
112
6.2 Tackling Software Evolution Challenges
114
6.3 Conclusions
117
References
118
PART II: REUSE-BASED SOFTWARE MAINTENANCE AND EVOLUTION
7 The Mixed-Strategy Approach: An Overview
125
Chapter Summary
125
7.1 Concepts of Reuse-Based Evolution
126
7.2 Change-Design versus Design for Change
127
7.3 Concepts of the Mixed-Strategy Approach
128
7.4 A Preview of the Mixed-Strategy Approach: An Example
131
7.5 The Role of Genericity in the Mixed-Strategy Approach
136
7.6 Conclusions
138
References
138
8 Step-by-Step Introduction to XVCL
141
Chapter Summary
141
8.1 Salient Features of XVCL
142
8.2 Flexible Composition of X-Frames
144
8.3 Defining Compositions with XVCL
146
8.4 Specifying Small-Granularity Changes
153
8.5 Changes at Various Abstraction Levels
156
8.6 Defining Generic Structures and Generators
157
8.7 Capturing Change Traces and Similarity Patterns in Evolutionary Changes
159
8.8 Handling Implementation Dependencies among Features
161
8.9 Summary of XVCL Rules
162
8.10 Conclusions
176
References
177
9 Software Similarities: Symptoms and Causes
179
Chapter Summary
179
9.1 The Problem of Software Similarities and Cloning
180
9.2 Software Similarities and Reuse
183
9.3 Software Similarities and Generic Design
184
9.4 Software Similarities, Genericity, and Software Complexity
185
9.5 Similarity Patterns in the Buffer Library: An Example
189
9.6 Similarity Patterns and Clones in STL
202
9.7 Similarity Patterns in Application Programs
203
9.8 General Implications
209
9.9 Identifying Similarity Patterns and Automated Detection of Clones
210
9.10 Conclusions
212
References
212
10 The Mixed-Strategy Approach to Generic Design
217
Chapter Summary
217
10.1 Buffer Library in Java/XVCL Mixed-Strategy Representation
218
10.2 Evaluation of the Mixed-Strategy Buffer Library Solution
228
10.3 Conclusions
234
References
236
11 Evolution with the Mixed-Strategy Approach
237
Chapter Summary
237
11.1 Introduction
237
11.2 Stages of FRS Evolution
239
11.3 An Overview of the FRS X-Framework
240
11.4 Development of a New System Release
243
11.5 Specifying Changes for FRSDATE
244
11.6 Specifying Changes for FRSUSER and FRSDATE,USER
246
11.7 Specifying Changes for FRSDATE,USER,PREF
251
11.8 Specifying Changes for FRSDATE,USER,PAY
252
11.9 Specifying Changes for FRSDATE,USER,PREF,PAY
255
11.10 Specifying Changes for FRSDATE,USER,PAY,BR
255
11.11 Specifying Changes for FRSDATE,USER,PAY,BR,BRD
257
11.12 Specifying Changes for FRSUSER,BR
257
11.13 Specifying Changes for FRSUSER-PD BR
258
11.14 Conclusions
258
12 Scaling Up the Mixed-Strategy Approach
261
Chapter Summary
261
12.1 Introduction
261
12.2 Modeling Features Arising during Evolution
262
12.3 A Mixed-Strategy Evolution Support Environment (MESE)
271
12.4 An FRS Architecture with Connectors
273
12.5 Generic Connectors in the FRS X-Framework
273
12.6 Comments on X-Framework Organization Principles
275
12.7 An Overview of the X-Framework Customization Process
278
12.8 Customization and Assembly Passes over an X-Framework
280
12.9 Using the Customization Decision Tree (CDT)
282
12.10 Using MESE to Customize and Evolve the FRS X-Framework: An Example
282
12.11 Assembly Pass
289
12.12 Related Work on Product Line Research
291
12.13 Conclusions
291
References
292
13 The Mixed-Strategy Approach in Other Projects
295
Chapter Summary
295
13.1 STL in C++/XVCL
296
13.2 DEMS in C#/XVCL
296
13.3 Web Portal Product Line in ASP/XVCL
298
13.4 CAP-WP in J2EE™/XVCL
301
13.5 Role-Playing Games (RPG) for Mobile Phones
302
13.6 Conclusions
304
References
305
14 Other Techniques Related to XVCL
307
Chapter Summary
307
14.1 Frame Technology
307
14.2 Conventional Techniques
308
14.3 Generation Techniques
311
14.4 Separation of Concerns and Its Relation to Generic Design
312
14.5 Conclusions
316
References
316
15 Evaluation of the Mixed-Strategy Approach
319
Chapter Summary
319
15.1 Summary of the Mixed-Strategy Approach
319
15.2 The Mixed-Strategy Process
320
15.3 Trade-Offs Involved in Applying the Mixed-Strategy Approach
322
15.4 XVCL Workbench
326
References
326
16 Conclusions
329
Appendix A: Summary of PQL Grammar Rules 331
Appendix B: Program Design Models for COBOL85 333
Appendix C: XVCL Specifications — A Reference Manual 339
Index 387
National University of Singapore, Singapore