Successful Evolution of Software Systems

Front Cover
Artech House, 2003 - Computers - 282 pages
In todayOCOs fast-changing, competitive environment, having an up-to-date information system (IS) is critical for all companies and institutions. Rather than creating a new system from scratch, reengineering is an economical way to develop an IS to match changing business needs. Using detailed examples, this practical book gives you methods and techniques for reengineering systems for flexibility and reliability. It helps you reengineer a system to continue to provide for business critical missions as well as achieve a smooth transformation to an up-to-date software technology environment. WhatOCOs more, it shows you how to redevelop a flexible system that can evolve to meet future business objectives, reduce start time and save money in the reengineering process."
 

What people are saying - Write a review

We haven't found any reviews in the usual places.

Selected pages

Contents

Constant Software Changes
1
12 Business changes
2
13 Software evolution
3
References
4
Software Engineering and Evolution
5
22 Software engineering
8
23 Software quality
11
24 Software everywhere
12
73 Translating into EWSL
123
75 Abstracting
124
751 Abstraction and abstraction patterns
125
752 Definitions
127
753 Healthiness obligation
129
754 Relations between abstractions
130
755 Elementary abstraction rules
131
756 Further abstraction rules
132

25 Software maintenance
14
26 Evolving software
19
Software Reengineering for Evolution
23
32 Software reengineering cycle
24
33 Taxonomy of software reengineering
26
34 Reverse engineering
29
35 Current state of formal methods in reengineering
31
36 Classification of formal methods
33
362 Logicbased approach
34
363 Algebraic approach
38
365 Netbased approach
40
37 Criteria and results
42
38 Analysis and summary
45
References
47
WSL and Transformation Theory
53
42 Background
55
43 Syntax and semantics of the kernel language
57
432 The specification statement
59
433 States and state transformations
60
435 Recursion
61
437 Weakest preconditions of statements
62
44 Proving the correctness of a refinement
64
441 Expressing a statement as a specification
66
443 Proof rules for implementations
68
45 Algorithm derivation
70
46 Extending the kernel language
71
47 Example transformations
73
472 Examples of transformations
75
48 Why invent WSL?
76
References
80
The FermaT Evolution Workbench
83
52 Previous transformation tools
84
53 Analyzing assembler code
88
54 The FermaT workbench
89
541 The function catalog
90
543 The text editor
91
545 The data catalog
95
55 Results
100
References
101
An Integrated Evolution Framework
103
612 Structure and data dependency
104
62 The expanded evolution approach
106
622 Architecture of extended WSL EWSL
108
623 Working flow of EWSL
109
63 EWSL
110
632 Timed guarded command language TGCL
112
633 Objectoriented TAM
113
634 Common structural language CSL
114
635 Common objectoriented language COOL
115
64 Summary
116
Process for Evolution
119
761 Knowledge representation
134
762 Uncertainty reasoning and nonmonotonic reasoning
135
763 Program space partitioning
146
764 Programming style and program partitioning
147
765 The DKBA tool
149
771 Definition of component
151
772 Mining components
152
78 Retargeting
154
79 Measuring software evolution
155
791 Software metrics for reverse engineering
156
792 Adaptation and development
157
793 Five categories of measures
158
794 The metric tool in RA
169
Case Studies in Evolution
175
Book index generator
177
811 Goals
178
813 Abstracting a specification
184
814 Reimplementation
188
815 Conclusion
190
821 Topological sorting
191
822 Knuths topological sorting algorithm
193
823 Restructuring
195
824 Abstraction to a specification
198
825 Changing the data representation adding abstract variables
200
826 The abstract program
202
827 Remarks
204
832 The sample program
207
833 The assembler source
208
834 Automatic program transformation
210
835 Abstracting a specification
213
836 Comments
218
841 The assembler problem
219
842 Decompilers
220
844 The assembler modules
221
845 Experimental method
223
846 Results
224
847 Contributing factors
227
Migrating a telecommunications system
228
852 WSL restructuring
229
861 Extracting the specification
231
862 Comments
235
References
237
Concluding Remarks
239
92 Formal or not formal?
240
94 Questions answered
242
WSL Transformations
243
Abstraction rules
261
About the Authors
271
Index
273
Copyright

Other editions - View all

Common terms and phrases

References to this book

About the author (2003)

Hongji Yang holds a Ph.D. in computer science from Durham University and a M. Phil. and B.Sc. in computer science from Jilin University in China. He is a reader at DeMontfort University in England. His previous positions include senior research assistant at Durham University and lecturer at Jilin University in China. Dr. Yang has done extensive research in the areas of software engineering and computer networking. He has published extensively.

Martin Ward holds a Ph.D. in computer science from St. Annes College, Oxford University. He is a senior research fellow at DeMontfort University in England. He was previously a principal consultant, director and senior systems architect at Software Migrations, Ltd., as well as a visiting and research fellow and senior research assistant at the University of Durham. He has published extensively.

Bibliographic information