| 000 | 08242cam a2200373 i 4500 | ||
|---|---|---|---|
| 999 |
_c10153 _d10153 |
||
| 001 | 18298051 | ||
| 005 | 20210103105216.0 | ||
| 008 | 140911t20152015njua b 001 0 eng | ||
| 010 | _a 2014033541 | ||
| 020 | _a9780470603413 (cloth) | ||
| 020 | _a0470603410 (cloth) | ||
| 040 |
_aDLC _beng _cDLC _erda _dDLC |
||
| 042 | _apcc | ||
| 050 | 0 | 0 |
_aQA76.76.S64 _bT75 2015 |
| 082 | 0 | 0 |
_a005.16 _223 _bT.P.S |
| 100 | 1 |
_aTripathy, Priyadarshi, _d1958- _933360 |
|
| 245 | 1 | 0 |
_aSoftware evolution and maintenance : _ba practitioner's approach / _cPriyadarshi Tripathy, Kshirasagar Naik. |
| 264 | 1 |
_aHoboken, New Jersey : _bWiley, _c[2015] |
|
| 300 |
_axxii, 393 pages : _billustrations ; _c25 cm |
||
| 336 |
_atext _2rdacontent |
||
| 337 |
_aunmediated _2rdamedia |
||
| 338 |
_avolume _2rdacarrier |
||
| 500 | _acomputer bookfair2016 | ||
| 504 | _aIncludes bibliographical references and index. | ||
| 505 | 0 | _aTABLE OF CONTENTS Preface xiii List of Figures xvii List of Tables xxi 1 Basic Concepts and Preliminaries 1 1.1 Evolution Versus Maintenance, 1 1.1.1 Software Evolution, 3 1.1.2 Software Maintenance, 4 1.2 Software Evolution Models and Processes, 6 1.3 Reengineering, 9 1.4 Legacy Systems, 11 1.5 Impact Analysis, 12 1.6 Refactoring, 13 1.7 Program Comprehension, 14 1.8 Software Reuse, 15 1.9 Outline of the Book, 16 References, 18 Exercises, 23 2 Taxonomy of Software Maintenance and Evolution 25 2.1 General Idea, 25 2.1.1 Intention-Based Classification of Software Maintenance, 26 2.1.2 Activity-Based Classification of Software Maintenance, 28 2.1.3 Evidence-Based Classification of Software Maintenance, 28 2.2 Categories of Maintenance Concepts, 37 2.2.1 Maintained Product, 37 2.2.2 Maintenance Types, 40 2.2.3 Maintenance Organization Processes, 41 2.2.4 Peopleware, 43 2.3 Evolution of Software Systems, 44 2.3.1 SPE Taxonomy, 46 2.3.2 Laws of Software Evolution, 49 2.3.3 Empirical Studies, 54 2.3.4 Practical Implications of the Laws, 56 2.3.5 Evolution of FOSS Systems, 58 2.4 Maintenance of Cots-Based Systems, 61 2.4.1 Why Maintenance of CBS Is Difficult?, 62 2.4.2 Maintenance Activities for CBSs, 65 2.4.3 Design Properties of Component-Based Systems, 67 2.5 Summary, 70 Literature Review, 73 References, 75 Exercises, 80 3 Evolution and Maintenance Models 83 3.1 General Idea, 83 3.2 Reuse-Oriented Model, 84 3.3 The Staged Model for Closed Source Software, 87 3.4 The Staged Model for Free, Libre, Open Source Software, 90 3.5 Change Mini-Cycle Model, 91 3.6 IEEE/EIA Maintenance Process, 94 3.7 ISO/IEC 14764 Maintenance Process, 99 3.8 Software Configuration Management, 111 3.8.1 Brief History, 112 3.8.2 SCM Spectrum of Functionality, 113 3.8.3 SCM Process, 117 3.9 CR Workflow, 119 3.10 Summary, 125 Literature Review, 126 References, 129 Exercises, 131 4 Reengineering 133 4.1 General Idea, 133 4.2 Reengineering Concepts, 135 4.3 A General Model for Software Reengineering, 137 4.3.1 Types of Changes, 140 4.3.2 Software Reengineering Strategies, 141 4.3.3 Reengineering Variations, 143 4.4 Reengineering Process, 144 4.4.1 Reengineering Approaches, 144 4.4.2 Source Code Reengineering Reference Model, 146 4.4.3 Phase Reengineering Model, 150 4.5 Code Reverse Engineering, 153 4.6 Techniques Used for Reverse Engineering, 156 4.6.1 Lexical Analysis, 157 4.6.2 Syntactic Analysis, 157 4.6.3 Control Flow Analysis, 157 4.6.4 Data Flow Analysis, 158 4.6.5 Program Slicing, 158 4.6.6 Visualization, 160 4.6.7 Program Metrics, 162 4.7 Decompilation Versus Reverse Engineering, 164 4.8 Data Reverse Engineering, 165 4.8.1 Data Structure Extraction, 168 4.8.2 Data Structure Conceptualization, 169 4.9 Reverse Engineering Tools, 170 4.10 Summary, 174 Literature Review, 176 References, 178 Exercises, 185 5 Legacy Information Systems 187 5.1 General Idea, 187 5.2 Wrapping, 189 5.2.1 Types of Wrapping, 189 5.2.2 Levels of Encapsulation, 191 5.2.3 Constructing a Wrapper, 192 5.2.4 Adapting a Program for Wrapper, 194 5.2.5 Screen Scraping, 194 5.3 Migration, 195 5.4 Migration Planning, 196 5.5 Migration Methods, 202 5.5.1 Cold Turkey, 202 5.5.2 Database First, 203 5.5.3 Database Last, 204 5.5.4 Composite Database, 205 5.5.5 Chicken Little, 206 5.5.6 Butterfly, 208 5.5.7 Iterative, 212 5.6 Summary, 217 Literature Review, 218 References, 219 Exercises, 221 6 Impact Analysis 223 6.1 General Idea, 223 6.2 Impact Analysis Process, 225 6.2.1 Identifying the SIS, 228 6.2.2 Analysis of Traceability Graph, 229 6.2.3 Identifying the Candidate Impact Set, 231 6.3 Dependency-Based Impact Analysis, 234 6.3.1 Call Graph, 234 6.3.2 Program Dependency Graph, 235 6.4 Ripple Effect, 238 6.4.1 Computing Ripple Effect, 238 6.5 Change Propagation Model, 242 6.5.1 Recall and Precision of Change Propagation Heuristics, 243 6.5.2 Heuristics for Change Propagation, 245 6.5.3 Empirical Studies, 246 6.6 Summary, 247 Literature Review, 248 References, 249 Exercises, 253 7 Refactoring 255 7.1 General Idea, 255 7.2 Activities in a Refactoring Process, 258 7.2.1 Identify What to Refactor, 258 7.2.2 Determine Which Refactorings Should be Applied, 259 7.2.3 Ensure that Refactoring Preserves the Behavior of the Software, 261 7.2.4 Apply the Refactorings to the Chosen Entities, 262 7.2.5 Evaluate the Impacts of the Refactorings on Quality, 263 7.2.6 Maintain Consistency of Software Artifacts, 265 7.3 Formalisms for Refactoring, 265 7.3.1 Assertions, 265 7.3.2 Graph Transformation, 266 7.3.3 Software Metrics, 267 7.4 More Examples of Refactorings, 271 7.5 Initial Work on Software Restructuring, 273 7.5.1 Factors Influencing Software Structure, 273 7.5.2 Classification of Restructuring Approaches, 275 7.5.3 Restructuring Techniques, 276 7.6 Summary, 282 Literature Review, 283 References, 286 Exercises, 288 8 Program Comprehension 289 8.1 General Idea, 289 8.2 Basic Terms, 291 8.2.1 Goal of Code Cognition, 291 8.2.2 Knowledge, 291 8.2.3 Mental Model, 293 8.2.4 Understanding Code, 296 8.3 Cognition Models for Program Understanding, 298 8.3.1 Letovsky Model, 298 8.3.2 Shneiderman and Mayer Model, 301 8.3.3 Brooks Model, 303 8.3.4 Soloway, Adelson, and Ehrlich Model, 308 8.3.5 Pennington Model, 310 8.3.6 Integrated Metamodel, 312 8.4 Protocol Analysis, 315 8.5 Visualization for Comprehension, 317 8.6 Summary, 321 Literature Review, 321 References, 322 Exercises, 324 9 Reuse and Domain Engineering 325 9.1 General Idea, 325 9.1.1 Benefits of Reuse, 327 9.1.2 Reuse Models, 327 9.1.3 Factors Influencing Reuse, 328 9.1.4 Success Factors of Reuse, 329 9.2 Domain Engineering, 329 9.2.1 Draco, 331 9.2.2 DARE, 331 9.2.3 FAST, 331 9.2.4 FORM, 331 9.2.5 KobrA, 332 9.2.6 PLUS, 332 9.2.7 PuLSE, 332 9.2.8 Koala, 332 9.2.9 RSEB, 332 9.3 Reuse Capability, 333 9.4 Maturity Models, 334 9.4.1 Reuse Maturity Model, 334 9.4.2 Reuse Capability Model, 336 9.4.3 RiSE Maturity Model, 338 9.5 Economic Models of Software Reuse, 340 9.5.1 Cost Model of Gaffney and Durek, 346 9.5.2 Application System Cost Model of Gaffney and Cruickshank, 348 9.5.3 Business Model of Poulin and Caruso, 350 9.6 Summary, 352 Literature Review, 352 References, 353 Exercises, 356 Glossary 359 Index 379 | |
| 650 | 0 | _aSoftware maintenance. | |
| 700 | 1 |
_aNaik, Kshirasagar, _d1959- |
|
| 776 | 0 | 8 |
_iOnline version: _aTripathy, Priyadarshi, 1958- _tSoftware evolution and maintenance _dHoboken, New Jersey : John Wiley & Sons Inc., [2015] _z9781118960295 _w(DLC) 2014036409 |
| 856 |
_3Abstract _uhttp://repository.fue.edu.eg/xmlui/handle/123456789/3644 |
||
| 906 |
_a7 _bcbc _corignew _d1 _eecip _f20 _gy-gencatlg |
||
| 942 |
_2ddc _cBK |
||