Software evolution and feedback: Theory and practice / [edited by] Nazim H. Madhavji, Juan C. Fernández-Ramil and Dewayne E. Perry.

Material type: TextTextPublication details: Chichester, England ; Hoboken, N.J. : John Wiley & Sons, c2006Description: 575 pSubject(s): Computer Software -- DevelopmentDDC classification: 005.1
Contents:
Contents Foreword Preface Acknowledgements Editors' Biographies List of Contributors PART ONE SOFTWARE EVOLUTION 1 1.1 1.2 1.3 Software Evolution Meir Lehman and Juan C. Ferndndez-Ramil Introduction 1.1.1 Evolution 1.1.2 Interpretation of the Term Evolution in the Conte.xt of Softivare The Evolution of Large Software Sy.stems 1.2.1 Early Work 1.2.2 Large Progranu Program Classification 1.3.1 The SPE Program Clas.sification Schema 1.3.2 S-type Application.^ and Software 1.3.3 E-type Applications and Software 1.3.4 P-type Situations and Software 1.4 The Inevitability of Evolution 1.5 Levels of Software-Related Evolution 1.6 Ah Initio Implementation or Change 1.6.1 Process Steps 1.6.2 The LST Paradigm 1.6.3 Phenomenological Analysis of Real-World Computer Usage 1.6.4 Theoretical Underpinning 1.6.5 The Value of Formalisms and oj Verification 1.6.6 Bounding 1.6.7 The Con.sec/uence: Continual System Evolution XIX XXI XXVIl XXIX XXXI 1 7 7 7 9 10 10 10 12 13 13 14 16 16 17 18 18 19 20 21 1.6.8 Summary 1.6.9 Principle of Software Uncertainly 1.7 Software Systems Evolution 1.7.1 Early Work 1.7.2 FEAST 1.7.3 The Growth Trend 1.7.4 Evolution Drivers 1.7.5 Relationship Between the Above Levels of Evolution 1.7.6 Evolutionary Development 1.8 Evolution of the Application and Its Domain 1.9 Process Evolution 1.9.1 Software Processes as Systems 1.9.2 Process Improvement 1.9.3 The Theoretical Approach 1.9.4 Evolving Specifications 1.9.5 The Empirical Approach 1.9.6 Laws of Software Evolution 1.9.7 The Ephemeral Process 1.10 Process Model Evolution 1.10.1 The Nature of the Software Proce.ss 1.10.2 Process Models 1.10.3 Software Process Models 1.10.4 Process Improvement 1.10.5 Links Between Process and Process Mod^l r ; ■ 1.11 Relationships Between Levels '^1 Evolution 1.11.1 The Software/Software Process Comm., 1.13 Acknowledgments References 2 A Nontraditional View of the Dimensions of Dewayne E. Perry Software Evolution 2.1 Introduction 2.2 The Domains 2.2.1 The Real World and Its Model 2.2.2 The Model and the Derived 2.2.3 Theory 'fixation 2.3 Experience 2.3.1 Feedback 2.3.2 Experimentation 2.3.3 Understanding 2.4 Process 2.4.1 Methods 2.4.2 Technology 2.4.d Organization 2.5 Summary 0 6 Acknowledgments References 3 IT Legacy Systems: Enabling Environments That Reduce the Legacy Problem: A Complexity Perspective Professor Eve Mitlelon-Kelly 3.1 Introduction 3.2 The Legacy Problem 3.2.1 Feedback 3.2.2 Co-evoliuion 3.2.3 The Social Ecosystem 3.3 The Two Case Studies 3.3.1 Business ami Market 3.3.2 Organi.sation and Management 3.3.3 Technology 3.3.4 Interactions between the Various Elements 3.4 The Socio-Technical Enabling Environment 3.4.1 The Bank's Enabling Environment 3.4.2 The Building Society and Some Comple.xity Principles 3.5 Summary and Conclusions 3.6 Acknowledgements References 4 Facets of Software Evolution Roland T. Mittermeir 4.1 Introduction 4.2 What is Software? 4.2.! Software: A Technical Artefact 4.2.2 Software: A Utility 4.2.3 Software: A Text, Reflecting Reality 4.2.4 Software is Information 4.3 Evolution 4.3.1 Principles 4.3.2 Evolution Drivers 4.4 Strata of Software-Size and Complexity 4.4.1 Module 4.4.2 Design Unit 4.4.3 Architecture 4.4.4 System 4.4.5 System-of-Systems 4.4.6 Discussion 4.5 Approaches to (??-)evolve 4.5.1 Changes in Modules 4.5.2 Modifying Design Units 4.5.3 Evolution on the Architectural Level 4.5.4 System-Level Evolution 4.5.5 Evolution of Systems-of-Systems 4.6 An Example 4.6.1 A Systeni-of-Sy.stems? 4.6.2 System-Level Changes 4.6.3 Architectural Decisions 4.6.4 Design Units 4.6.5 Modules 4.6.6 Discussion 4.7 Summary References 5 Evolution in Software Systems: Foundations of the SPE Classification Scheme Stephen Cook, Rachel Harrison, Meir M. Lehman and Paul Wernick 5.1 Introduction 5.2 Background and Related Work 5.2.1 Software Evolution 5.2.2 Stakeholders, Architecture and Software Evolution 5.2.3 Hermeneutics and Software Evolution 5.2.4 Requirements Analysis, Paradigms and Hermeneutics 5.3 SPE+ 5.3.1 Introduction 5.3.2 The SPE+ Taxonomy 5.3.3 Validation of SPE+ 5.4 Conclusions and Future Research 5.5 Acknowledgements References 6 A Simple Model of Software System Evolutionary Growth Wladyslaw M. Turski References 7 Statistical Modelling of Software Evolution Processes Tetsuo Tamai and Takako Nakatani 7.1 Introduction 7.2 Approach 7.2.1 Measurement 7.2.2 Case Studies 7.2.3 Metrics 7.3 Observed Evolution Patterns 7.3.1 Stable Statistic Model 7.3.2 Exceptional Data 7.3.3 Discontinuous Change 7.3.4 Class Tree Characteristics 7.4 Distribution Model 7.4.1 Negative Binomial Distribution 7.4.2 Evolution of Model Parameters 7.4.3 Larger Case Study 7.5 Discussions References 8 Software Requirements Changes Due to External Factors Vic Nanda and Nazim H. Madhavji 8.1 Introduction 8.1.1 Organisation of This Chapter 8.2 Congruence Evaluation System (CES): A Case Study 8.2.1 CES Context and Key Events 8.2.2 Contribution. Relevance and Applicability of This Case Stiulv 8.2.3 CES: Background and Implementation Strategy 8.2.4 Analysis of CES Capabilities 8.2.5 The Impact of Environmental Evolution 8.2.6 Threats to Validity 8.3 Lessons Learnt and Conclusions References Appendix A: An Instrument to Assess Sy.stem Deficiencies Appendix B: An Instrument to As.sess Environment Evolution 9 Understanding Open Source Software Evolution Walt Scacchi 9.1 Introduction 9.2 Empirical Studies of Software Evolution 9.2.1 Studies of the Laws of Software Evolution 9.2.2 Other Empirical Studies of Software Evolution 9.3 Evolutionary Patterns in Open Source Software 9.3.1 Types of Entities for Studying F/OSS Evolution 9.3.2 Patterns in Open Source Software Evolution Studies 9.4 Evolution Models and Theories 9.5 Do We Need New or Revised Models, Laws or Theories for Open Source Software Evolution? 9.5.1 Embracing the Feedback Control Sy.stems Ontology 9.5.2 Alternative Ontologies for F/OSS Evolution 9.6 Conclusions 9.7 Acknowledgements References 10 Structural Analysis of Open Source Systems Andrea Capiluppi, Maurizio Morisio and Juan C. Ferndndez-Rantil 10.1 Introduction 10.2 Related Work 10.3 Rationale 10.4 Approach 10.5 Attributes Studied 10.5.1 Source Code Size 10.5.2 Code Structure 10.5.3 Modification Types 10.6 Evolution of Code Structure 10.6.1 Horizontally Expanding 10.6.2 Vertically Shrinking 10.6.3 Vertically E.xpanding 10.7 Summary 10.8 Current and Future Work 10.9 Acknowledgements References Appendix 11 A Study of Software Evolution at Different Levels of Granularity Elizabeth Burd II. 1 Introduction 11.2 Existing Studies of Software Evolution 11.3 Ca.se Study Approach 11.4 Results ! 1.4.1 The System Level 11.4.2 Level 2. The Function Level 11.4.3 Level 3, The Data Level 11.4.4 Comparing Levels 11.5 General Recommendations 11.6 Conclusions References 12 The Role of Ripple Effect in Software Evolution Sue Black 12.1 Introduction 12.2 Impact Analysis 12.3 Software Maintenance and Software Maintenance Models 12.4 Background on the Ripple Effect 12.4.1 Computation of the Ripple Effect 12.4.2 The REST Software Tool 12.5 Links Between Ripple Effect and the Laws of Software Evolution 12.5.1 First Law - Continuing Change 12.5.2 Second Law - Growing Complexity 12.5.3 Third Law - Self Regulation 12.5.4 Fourth Law - Conser\>ation of Organisational Stability 12.5.5 Fifth Law - Conser\'ation of Familiarity 12.5.6 Sixth Law - Contmidng Growth 12.5.7 Seventh Law - Declining Quality 12.5.8 Eighth Law - Feedback System 12.6 Conclu.sions 12.7 Further Work 12.8 Acknowledgements References 13 The Impact of Software-Architecture Compliance on System Evolution R. Mark Greenwood, Ken Mayes, Wykeen Seet, Brian C. Warboys, Dharini Balasubramaniam, Graham Kirby, Ron Morrisoit arid Aled Sage 13.1 Introduction 13.2 Evolution and Compliance 13.3 A Generic Scheduling Problem 13.3.1 A ProcessWeb Example 13.3.2 Programming Around Poor Compliance 13.4 Compliance Through Configuration 13.4.1 Trade-offs in Configuration 13.5 Exploiting an Analytical Model 13.5.1 A First Analytical Model for Proces.sWeb 13.6 Discussion 13.7 Acknowledgements References 14 Comparison of Three Evaluation Methods for Object-Oriented Framework Evolution Michael Mattsson 14.1 Introduction 14.2 Object-oriented Frameworks 14.2.1 The Studied Frameworks 14.3 Methods and Results 14.3.1 Evolution Identification Using Historical Information 14.3.2 Stability Assessment 14.3.3 Distribution of the Development Ejfort 14.4 Method Comparison 14.4.1 Change-prone Modides 14.4.2 Framework Deployment 14.4.3 Change Impact Analysis 14.4.4 Benchmarking 14.4.5 Requirements Management 14.4.6 Some Comments 14.5 Related Work 14.6 Conclusion References 15 Formal Perspectives on Software Evolution: From Refinement to Retrenchment Michael Poppleton and Lindsay Groves 15.1 Introduction 15.2 Program Refinement 15.3 Modifying Refinements by Adapting Derivations 15.4 A Compositional Approach to Program Modification 15.5 Retrenchment 15.5.1 Refinement - a Relational Perspective 15.5.2 The Need to Generalise Refinement 15.5.3 Retrenchment: Generalising Refinement 15.5.4 Retrenchment for Software Evolution 15.6 Conclusions References 16 Background and Approach to Development of a Theory of Software Evolution Meir M. Lehman and Juan C. Ferndndez-Ramil 16.1 Software Evolution 16.2 Global Views of Evolution 16.2.1 Two Approaches 16.2.2 The Verbal Approach 16.2.3 The Nomal Approach 16.2.4 Mutual Support of the Two View.s 16.2.5 Process Improvement 16.3 The Case for Theory 16.4 Theory Development 16.5 A World View 16.5.1 Real-World Program Relationship 16.5.2 Assumptions 16.6 Example 16.6.1 Introduction 16.6.2 Preliminary Definitions 16.6.3 Obserx'ations 16.6.4 Inferences 16.6.5 Guidelines 16.7 The Theory 16.8 Organisation of Theory Development 16.9 Goals 16.10 Related Work 16.11 Final Remarks 16.12 Acknowledgements References PART TWO FEEDBACK 17 Difficulties with Feedback Control in Software Processes Meir M. Lehman, Dewayne E. Perry and Wlad Turski 17.1 Introduction 17.2 Feedback and Control 17.3 Technology versus Sociology 17.4 Manifesto and Model 17.5 Influence versus Control 17.5.1 Immaturity 17.5.2 Feedback Overload 17.5.3 Step Functions versus Regulation 17.5.4 Design versus Production 17.6 Examples of Feedback Control 17.7 Summary 17.8 Acknowledgments References 18 Governing Software Evolution through Policy-oriented Feedback Nazim H. Madhavji and Josee Tasse 18.1 Introduction 18.2 The Policy-Checking Mechanism 18.2.1 Controlling System Growth 18.2.2 Re-engineering Change-Prone Modules 18.2.3 Discussion 18.3 The Contextual Framework 18.3.1 New-Release Development 18.3.2 Roles, Communication and Feedback 18.3.3 The Framework Architecture 18.4 Technological Support 18.4.1 Policy-Checking Mechanism 18.4.2 Framework 18.5 Evaluation 18.6 Related Work 18.7 Conclu.sions References 19 Feedback in Requirements Discovery and Specification: A Quality Gateway for Testing Requirements Suzanne Robertson 19.1 Contents of the Requirements Specification 19.2 Project Drivers 19.2.1 Producers 19.2.2 Consumers 19.2.3 Sponsors 19.2.4 Subject Matter Comsultants 19.2.5 Technical Consultants 19.2.6 Influencers 19.2.7 Project-Sociology Analysis 19.3 Contents of Individual Requirements 19.4 Keeping Track of Connections 19.5 The Quality Gateway 19.6 Lessons Learnt 19.7 Conclusion References 20 Requirements Risk and Software Reliability Norman F. Schneidewind 20.1 Introduction 20.1.1 Requirements Changes and Software Evolution 20.1.2 Objectives 20.1.3 Methods 20.2 Background 20.3 Selected Measurement Research Projects 20.4 Approach to Analyzing Requirements Risk 20.4.1 Categorical Data Analysis 20.5 Risk Factors 20.5.1 Space Shuttle Flight Software Requirements Change Risk Factors 20.6 Solutions to Risk Analysis Example 20.6.1 Categorical Data Analysis 20.6.2 Dependency Check on Risk Factors 20.6.3 Identification of Modides that Caused Failures 20.7 Future Trends 20.8 Conclusions 20.9 Acknowledgments References 21 Combining Process Feedback with Discrete Event Simulation Models to Support Software Project Management David Rajfo and Joseph Vandeville 21.1 Introduction 21.2 Providing Up-to-Date Process Feedback 21.2J Feedback in Simulation Models 21.2.2 Metrics Repository 21.3 Discrete Event Simulation Models 21.4 Combining Process Feedback with the Discrete Model 21.4.1 Comparing Statistical Process Control with Outcome Based Control Limits 21.5 Illustrative Example 21.5.1 The Scenario Under Consideration 21.5.2 Determining the Performance of the Baseline Process 21.5.3 Use of the Model and Metrics for Quantitative Process Feedback Management 21.5.4 Assessing the Implications of Feedback and Developing an Action Plan (Is the Process in Control?) 21.5.5 Taking Corrective Action and Asses.smg the Impact of the Changes 21.6 Conclusions 21.7 Acknowledgements References 22 A Feedforward Capability to Improve Software Reestimation William W. Agresti 22.1 Introduction 22.1.1 Reestimation: State of the Practice 22.1.2 Objective 22.1.3 Related Research 22.2 A Feedforward Capability 22.2.1 Feedforward Estimation in Other Domains 22.2.2 Feedforward Estimation in Software Development 22.2.3 Operation of a Feedforward Model 22.3 Example Uses of the Feedforward Concept 22.3.1 Feedforward Capability Integrated with a Software Estimation Tool 22.3.2 The Role of a Feedforward Capability in Risk Management 22.4 Conclusion 22.5 Acknowledgements Appendix References 23 Modelling the Feedback Part of the Software Process in Software Resource Estimation Juan C. Fernandez-Ramil and Sarah Beecham 23.1 Introduction 23.2 The Evidence of Feedback 23.3 The Need for a Taxonomy 23.4 Feedback as a Cost Factor 23.5 Cost Estimation as a 'System Identification' Problem 23.6 Why do Algorithmic Cost Estimation >proaches such as COCOMO 'Work' ? 23.7 Approaches to Model 'Feedback' in Cost Estimation Models 23.8 Indirect Black-Box Modelling and Feedback-Related Cost Factors 23.9 Final Remarks 23.10 Acknowledgments References 24 Value-Based Feedback in Software and Information Systems Development Barry Boehm and LiGiio Huang 24.1 Introduction 24.2 Feedback Control of Software Development: Four Primary Feedback Cycles 24.2.1 Feedback Cycle I: Project Scoping 24.2.2 Feedback Cycle 2: Project Execution 24.2.3 Feedback Cycle 3: Model Update 24.2.4 Feedback Cycle 4: Organizational Productivity Improvement 24.3 Using 'EV for Feedback Control of Software Development and Evolution 24.3.1 An Earned Value System Example 24.4 Real Earned-Value Feedback Control 24.4.1 Business-Case and Benejits-Realized Monitoring and Control 24.5 Value-Based Feedback Control: An Order Processing Example 24.5.1 Business Case Analysis: Costs, Benejits and Return on Investment 24.5.2 Value-Based Monitoring and Control 24.6 Conclusions and Future Challenges 24.7 Acknowledgments References 25 Expert Estimation of Software Development Cost: Learning through Feedback Magne J0rgensen and Dag Sjdberg 25.1 Introduction 25.2 Estimation Learning 25.3 Estimation Feedback and Process Guidelines 25.3.1 Increase the Motivation for Learning Estimation Skills 25.3.2 Reduce the Impact from Estimation-Learning Biases 25.3.3 Ensure a Fit Between the Estimation Process and Type of Feedback 25.3.4 Provide Learning Situations 25.4 Experiment: Application of the Guidelines 25.4.1 Background 25.4.2 Experiment Design 25.4.3 Results 25.5 Summary 25.6 Acknowledgement References 26 Self-Adaptive Software: Internalized Feedback Robert Laddaga, Paul Robert.son and Howard Shrobe 26.1 Introduction 26.1.1 Some Software Life Cycle Concepts 26.1.2 Brief Introduction to Self-Adaptive Software 26.1.3 Introduction of Binding of Function Call to Function Value 26.2 Historical Perspective 26.2.1 Dynamic Versu.s Static Binding 26.2.2 Language and Compiler Development 26.2.3 Performance Trade-Offs 26.2.4 The Concept of Software Application Evolution 26.2.5 A Note about Software Ecology 26.3 Self-Adaptive Software 26.3.1 Concept.s 26.3.2 Technology Requirements and Opportunities 26.4 Applications of Self-Adaptive Software 26.4.1 Recent Application Work 26.4.2 Vision Systems 26.4.3 Face Recognition 26.4.4 Pen'asive Computing 26.5 Conclusion References 27 Rules and Tools for Software Evolution Planning and Management Meir M. Lehman and Juan C. Ferndndez-Ramil 27.1 Introduction 27.2 Laws of Software Evolution 27.3 S- and £-Type Program Classification 27.3.1 Basic Properties 27.3.2 Implications of the SPE Program Classification Scheme 27.4 First Law: Continuing Change 27.5 Second Law: Increasing Complexity 27.6 Third Law: Self Regulation 27.7 Fourth Law: Conservation of Organisational Stability 27.8 Fifth Law: Conservation of Familiarity 27.9 Sixth Law: Continuing Growth 27.10 Seventh Law: Declining Quality 27.11 Eighth Law: Feedback System 27.12 The FEAST Hypothesis 27.13 The Principle of Software Lfncertainty 27.14 Conclusions 27.15 Acknowledgements References
Tags from this library: No tags from this library for this title. Log in to add tags.
Star ratings
    Average rating: 0.0 (0 votes)
Holdings
Item type Current library Call number Status Date due Barcode Item holds
General Books General Books Central Library, Sikkim University
General Book Section
005.1 MAD/S (Browse shelf(Opens below)) Available P31931
Total holds: 0

Title from title screen.

Includes bibliographical references and index.

Contents
Foreword
Preface
Acknowledgements
Editors' Biographies
List of Contributors
PART ONE SOFTWARE EVOLUTION
1
1.1
1.2
1.3
Software Evolution
Meir Lehman and Juan C. Ferndndez-Ramil
Introduction
1.1.1 Evolution
1.1.2 Interpretation of the Term Evolution in the Conte.xt of Softivare
The Evolution of Large Software Sy.stems
1.2.1 Early Work
1.2.2 Large Progranu
Program Classification
1.3.1 The SPE Program Clas.sification Schema
1.3.2 S-type Application.^ and Software
1.3.3 E-type Applications and Software
1.3.4 P-type Situations and Software
1.4 The Inevitability of Evolution
1.5 Levels of Software-Related Evolution
1.6 Ah Initio Implementation or Change
1.6.1 Process Steps
1.6.2 The LST Paradigm
1.6.3 Phenomenological Analysis of Real-World Computer Usage
1.6.4 Theoretical Underpinning
1.6.5 The Value of Formalisms and oj Verification
1.6.6 Bounding
1.6.7 The Con.sec/uence: Continual System Evolution
XIX
XXI
XXVIl
XXIX
XXXI
1
7
7
7
9
10
10
10
12
13
13
14
16
16
17
18
18
19
20
21
1.6.8 Summary
1.6.9 Principle of Software Uncertainly
1.7 Software Systems Evolution
1.7.1 Early Work
1.7.2 FEAST
1.7.3 The Growth Trend
1.7.4 Evolution Drivers
1.7.5 Relationship Between the Above Levels of Evolution
1.7.6 Evolutionary Development
1.8 Evolution of the Application and Its Domain
1.9 Process Evolution
1.9.1 Software Processes as Systems
1.9.2 Process Improvement
1.9.3 The Theoretical Approach
1.9.4 Evolving Specifications
1.9.5 The Empirical Approach
1.9.6 Laws of Software Evolution
1.9.7 The Ephemeral Process
1.10 Process Model Evolution
1.10.1 The Nature of the Software Proce.ss
1.10.2 Process Models
1.10.3 Software Process Models
1.10.4 Process Improvement
1.10.5 Links Between Process and Process Mod^l r ; ■
1.11 Relationships Between Levels '^1 Evolution
1.11.1 The Software/Software Process Comm.,
1.13 Acknowledgments
References
2 A Nontraditional View of the Dimensions of
Dewayne E. Perry Software Evolution
2.1 Introduction
2.2 The Domains
2.2.1 The Real World and Its Model
2.2.2 The Model and the Derived
2.2.3 Theory 'fixation
2.3 Experience
2.3.1 Feedback
2.3.2 Experimentation
2.3.3 Understanding
2.4 Process
2.4.1 Methods
2.4.2 Technology
2.4.d Organization
2.5 Summary
0 6 Acknowledgments
References
3 IT Legacy Systems: Enabling Environments That Reduce
the Legacy Problem: A Complexity Perspective
Professor Eve Mitlelon-Kelly
3.1 Introduction
3.2 The Legacy Problem
3.2.1 Feedback
3.2.2 Co-evoliuion
3.2.3 The Social Ecosystem
3.3 The Two Case Studies
3.3.1 Business ami Market
3.3.2 Organi.sation and Management
3.3.3 Technology
3.3.4 Interactions between the Various Elements
3.4 The Socio-Technical Enabling Environment
3.4.1 The Bank's Enabling Environment
3.4.2 The Building Society and Some Comple.xity Principles
3.5 Summary and Conclusions
3.6 Acknowledgements
References
4 Facets of Software Evolution
Roland T. Mittermeir
4.1 Introduction
4.2 What is Software?
4.2.! Software: A Technical Artefact
4.2.2 Software: A Utility
4.2.3 Software: A Text, Reflecting Reality
4.2.4 Software is Information
4.3 Evolution
4.3.1 Principles
4.3.2 Evolution Drivers
4.4 Strata of Software-Size and Complexity
4.4.1 Module
4.4.2 Design Unit
4.4.3 Architecture
4.4.4 System
4.4.5 System-of-Systems
4.4.6 Discussion
4.5 Approaches to (??-)evolve
4.5.1 Changes in Modules
4.5.2 Modifying Design Units
4.5.3 Evolution on the Architectural Level
4.5.4 System-Level Evolution
4.5.5 Evolution of Systems-of-Systems
4.6 An Example
4.6.1 A Systeni-of-Sy.stems?
4.6.2 System-Level Changes
4.6.3 Architectural Decisions
4.6.4 Design Units
4.6.5 Modules
4.6.6 Discussion
4.7 Summary
References
5 Evolution in Software Systems: Foundations of the SPE Classification Scheme
Stephen Cook, Rachel Harrison, Meir M. Lehman and Paul Wernick
5.1 Introduction
5.2 Background and Related Work
5.2.1 Software Evolution
5.2.2 Stakeholders, Architecture and Software Evolution
5.2.3 Hermeneutics and Software Evolution
5.2.4 Requirements Analysis, Paradigms and Hermeneutics
5.3 SPE+
5.3.1 Introduction
5.3.2 The SPE+ Taxonomy
5.3.3 Validation of SPE+
5.4 Conclusions and Future Research
5.5 Acknowledgements
References
6 A Simple Model of Software System Evolutionary Growth
Wladyslaw M. Turski
References
7 Statistical Modelling of Software Evolution Processes
Tetsuo Tamai and Takako Nakatani
7.1 Introduction
7.2 Approach
7.2.1 Measurement
7.2.2 Case Studies
7.2.3 Metrics
7.3 Observed Evolution Patterns
7.3.1 Stable Statistic Model
7.3.2 Exceptional Data
7.3.3 Discontinuous Change
7.3.4 Class Tree Characteristics
7.4 Distribution Model
7.4.1 Negative Binomial Distribution
7.4.2 Evolution of Model Parameters
7.4.3 Larger Case Study
7.5 Discussions
References
8 Software Requirements Changes
Due to External Factors
Vic Nanda and Nazim H. Madhavji
8.1 Introduction
8.1.1 Organisation of This Chapter
8.2 Congruence Evaluation System (CES): A Case Study
8.2.1 CES Context and Key Events
8.2.2 Contribution. Relevance and Applicability of This Case Stiulv
8.2.3 CES: Background and Implementation Strategy
8.2.4 Analysis of CES Capabilities
8.2.5 The Impact of Environmental Evolution
8.2.6 Threats to Validity
8.3 Lessons Learnt and Conclusions
References
Appendix A: An Instrument to Assess Sy.stem Deficiencies
Appendix B: An Instrument to As.sess Environment Evolution
9 Understanding Open Source Software Evolution
Walt Scacchi
9.1 Introduction
9.2 Empirical Studies of Software Evolution
9.2.1 Studies of the Laws of Software Evolution
9.2.2 Other Empirical Studies of Software Evolution
9.3 Evolutionary Patterns in Open Source Software
9.3.1 Types of Entities for Studying F/OSS Evolution
9.3.2 Patterns in Open Source Software Evolution Studies
9.4 Evolution Models and Theories
9.5 Do We Need New or Revised Models, Laws or Theories
for Open Source Software Evolution?
9.5.1 Embracing the Feedback Control Sy.stems Ontology
9.5.2 Alternative Ontologies for F/OSS Evolution
9.6 Conclusions
9.7 Acknowledgements
References
10 Structural Analysis of Open Source Systems
Andrea Capiluppi, Maurizio Morisio and Juan C. Ferndndez-Rantil
10.1 Introduction
10.2 Related Work
10.3 Rationale
10.4 Approach
10.5 Attributes Studied
10.5.1 Source Code Size
10.5.2 Code Structure
10.5.3 Modification Types
10.6 Evolution of Code Structure
10.6.1 Horizontally Expanding
10.6.2 Vertically Shrinking
10.6.3 Vertically E.xpanding
10.7 Summary
10.8 Current and Future Work
10.9 Acknowledgements
References
Appendix
11 A Study of Software Evolution at Different Levels of Granularity
Elizabeth Burd
II. 1 Introduction
11.2 Existing Studies of Software Evolution
11.3 Ca.se Study Approach
11.4 Results
! 1.4.1 The System Level
11.4.2 Level 2. The Function Level
11.4.3 Level 3, The Data Level
11.4.4 Comparing Levels
11.5 General Recommendations
11.6 Conclusions
References
12 The Role of Ripple Effect in Software Evolution
Sue Black
12.1 Introduction
12.2 Impact Analysis
12.3 Software Maintenance and Software Maintenance Models
12.4 Background on the Ripple Effect
12.4.1 Computation of the Ripple Effect
12.4.2 The REST Software Tool
12.5 Links Between Ripple Effect and the Laws of Software Evolution
12.5.1 First Law - Continuing Change
12.5.2 Second Law - Growing Complexity
12.5.3 Third Law - Self Regulation
12.5.4 Fourth Law - Conser\>ation of Organisational Stability
12.5.5 Fifth Law - Conser\'ation of Familiarity
12.5.6 Sixth Law - Contmidng Growth
12.5.7 Seventh Law - Declining Quality
12.5.8 Eighth Law - Feedback System
12.6 Conclu.sions
12.7 Further Work
12.8 Acknowledgements
References
13 The Impact of Software-Architecture Compliance on System Evolution
R. Mark Greenwood, Ken Mayes, Wykeen Seet, Brian C. Warboys,
Dharini Balasubramaniam, Graham Kirby, Ron Morrisoit arid Aled Sage
13.1 Introduction
13.2 Evolution and Compliance
13.3 A Generic Scheduling Problem
13.3.1 A ProcessWeb Example
13.3.2 Programming Around Poor Compliance
13.4 Compliance Through Configuration
13.4.1 Trade-offs in Configuration
13.5 Exploiting an Analytical Model
13.5.1 A First Analytical Model for Proces.sWeb
13.6 Discussion
13.7 Acknowledgements
References
14 Comparison of Three Evaluation Methods for Object-Oriented
Framework Evolution
Michael Mattsson
14.1 Introduction
14.2 Object-oriented Frameworks
14.2.1 The Studied Frameworks
14.3 Methods and Results
14.3.1 Evolution Identification Using Historical Information
14.3.2 Stability Assessment
14.3.3 Distribution of the Development Ejfort
14.4 Method Comparison
14.4.1 Change-prone Modides
14.4.2 Framework Deployment
14.4.3 Change Impact Analysis
14.4.4 Benchmarking
14.4.5 Requirements Management
14.4.6 Some Comments
14.5 Related Work
14.6 Conclusion
References
15 Formal Perspectives on Software Evolution: From Refinement
to Retrenchment
Michael Poppleton and Lindsay Groves
15.1 Introduction
15.2 Program Refinement
15.3 Modifying Refinements by Adapting Derivations
15.4 A Compositional Approach to Program Modification
15.5 Retrenchment
15.5.1 Refinement - a Relational Perspective
15.5.2 The Need to Generalise Refinement
15.5.3 Retrenchment: Generalising Refinement
15.5.4 Retrenchment for Software Evolution
15.6 Conclusions
References
16 Background and Approach to Development of a Theory of Software Evolution
Meir M. Lehman and Juan C. Ferndndez-Ramil
16.1 Software Evolution
16.2 Global Views of Evolution
16.2.1 Two Approaches
16.2.2 The Verbal Approach
16.2.3 The Nomal Approach
16.2.4 Mutual Support of the Two View.s
16.2.5 Process Improvement
16.3 The Case for Theory
16.4 Theory Development
16.5 A World View
16.5.1 Real-World Program Relationship
16.5.2 Assumptions
16.6 Example
16.6.1 Introduction
16.6.2 Preliminary Definitions
16.6.3 Obserx'ations
16.6.4 Inferences
16.6.5 Guidelines
16.7 The Theory
16.8 Organisation of Theory Development
16.9 Goals
16.10 Related Work
16.11 Final Remarks
16.12 Acknowledgements
References
PART TWO FEEDBACK
17 Difficulties with Feedback Control in Software Processes
Meir M. Lehman, Dewayne E. Perry and Wlad Turski
17.1 Introduction
17.2 Feedback and Control
17.3 Technology versus Sociology
17.4 Manifesto and Model
17.5 Influence versus Control
17.5.1 Immaturity
17.5.2 Feedback Overload
17.5.3 Step Functions versus Regulation
17.5.4 Design versus Production
17.6 Examples of Feedback Control
17.7 Summary
17.8 Acknowledgments
References
18 Governing Software Evolution through Policy-oriented Feedback
Nazim H. Madhavji and Josee Tasse
18.1 Introduction
18.2 The Policy-Checking Mechanism
18.2.1 Controlling System Growth
18.2.2 Re-engineering Change-Prone Modules
18.2.3 Discussion
18.3 The Contextual Framework
18.3.1 New-Release Development
18.3.2 Roles, Communication and Feedback
18.3.3 The Framework Architecture
18.4 Technological Support
18.4.1 Policy-Checking Mechanism
18.4.2 Framework
18.5 Evaluation
18.6 Related Work
18.7 Conclu.sions
References
19 Feedback in Requirements Discovery and Specification:
A Quality Gateway for Testing Requirements
Suzanne Robertson
19.1 Contents of the Requirements Specification
19.2 Project Drivers
19.2.1 Producers
19.2.2 Consumers
19.2.3 Sponsors
19.2.4 Subject Matter Comsultants
19.2.5 Technical Consultants
19.2.6 Influencers
19.2.7 Project-Sociology Analysis
19.3 Contents of Individual Requirements
19.4 Keeping Track of Connections
19.5 The Quality Gateway
19.6 Lessons Learnt
19.7 Conclusion
References
20 Requirements Risk and Software Reliability
Norman F. Schneidewind
20.1 Introduction
20.1.1 Requirements Changes and Software Evolution
20.1.2 Objectives
20.1.3 Methods
20.2 Background
20.3 Selected Measurement Research Projects
20.4 Approach to Analyzing Requirements Risk
20.4.1 Categorical Data Analysis
20.5 Risk Factors
20.5.1 Space Shuttle Flight Software Requirements Change Risk Factors
20.6 Solutions to Risk Analysis Example
20.6.1 Categorical Data Analysis
20.6.2 Dependency Check on Risk Factors
20.6.3 Identification of Modides that Caused Failures
20.7 Future Trends
20.8 Conclusions
20.9 Acknowledgments
References
21 Combining Process Feedback with Discrete Event Simulation Models
to Support Software Project Management
David Rajfo and Joseph Vandeville
21.1 Introduction
21.2 Providing Up-to-Date Process Feedback
21.2J Feedback in Simulation Models
21.2.2 Metrics Repository
21.3 Discrete Event Simulation Models
21.4 Combining Process Feedback with the Discrete Model
21.4.1 Comparing Statistical Process Control with Outcome Based Control Limits
21.5 Illustrative Example
21.5.1 The Scenario Under Consideration
21.5.2 Determining the Performance of the Baseline Process
21.5.3 Use of the Model and Metrics for Quantitative Process Feedback
Management
21.5.4 Assessing the Implications of Feedback and Developing an Action Plan
(Is the Process in Control?)
21.5.5 Taking Corrective Action and Asses.smg the Impact of the Changes
21.6 Conclusions
21.7 Acknowledgements
References
22 A Feedforward Capability to Improve Software Reestimation
William W. Agresti
22.1 Introduction
22.1.1 Reestimation: State of the Practice
22.1.2 Objective
22.1.3 Related Research
22.2 A Feedforward Capability
22.2.1 Feedforward Estimation in Other Domains
22.2.2 Feedforward Estimation in Software Development
22.2.3 Operation of a Feedforward Model
22.3 Example Uses of the Feedforward Concept
22.3.1 Feedforward Capability Integrated with a Software Estimation Tool
22.3.2 The Role of a Feedforward Capability in Risk Management
22.4 Conclusion
22.5 Acknowledgements
Appendix
References
23 Modelling the Feedback Part of the Software Process in Software Resource
Estimation
Juan C. Fernandez-Ramil and Sarah Beecham
23.1 Introduction
23.2 The Evidence of Feedback
23.3 The Need for a Taxonomy
23.4 Feedback as a Cost Factor
23.5 Cost Estimation as a 'System Identification' Problem
23.6 Why do Algorithmic Cost Estimation >proaches such as COCOMO 'Work' ?
23.7 Approaches to Model 'Feedback' in Cost Estimation Models
23.8 Indirect Black-Box Modelling and Feedback-Related Cost Factors
23.9 Final Remarks
23.10 Acknowledgments
References
24 Value-Based Feedback in Software and Information Systems Development
Barry Boehm and LiGiio Huang
24.1 Introduction
24.2 Feedback Control of Software Development: Four Primary Feedback Cycles
24.2.1 Feedback Cycle I: Project Scoping
24.2.2 Feedback Cycle 2: Project Execution
24.2.3 Feedback Cycle 3: Model Update
24.2.4 Feedback Cycle 4: Organizational Productivity Improvement
24.3 Using 'EV for Feedback Control of Software Development
and Evolution
24.3.1 An Earned Value System Example
24.4 Real Earned-Value Feedback Control
24.4.1 Business-Case and Benejits-Realized Monitoring and Control
24.5 Value-Based Feedback Control: An Order Processing Example
24.5.1 Business Case Analysis: Costs, Benejits and Return on Investment
24.5.2 Value-Based Monitoring and Control
24.6 Conclusions and Future Challenges
24.7 Acknowledgments
References
25 Expert Estimation of Software Development Cost: Learning through
Feedback
Magne J0rgensen and Dag Sjdberg
25.1 Introduction
25.2 Estimation Learning
25.3 Estimation Feedback and Process Guidelines
25.3.1 Increase the Motivation for Learning Estimation Skills
25.3.2 Reduce the Impact from Estimation-Learning Biases
25.3.3 Ensure a Fit Between the Estimation Process and Type of Feedback
25.3.4 Provide Learning Situations
25.4 Experiment: Application of the Guidelines
25.4.1 Background
25.4.2 Experiment Design
25.4.3 Results
25.5 Summary
25.6 Acknowledgement
References
26 Self-Adaptive Software: Internalized Feedback
Robert Laddaga, Paul Robert.son and Howard Shrobe
26.1 Introduction
26.1.1 Some Software Life Cycle Concepts
26.1.2 Brief Introduction to Self-Adaptive Software
26.1.3 Introduction of Binding of Function Call to Function Value
26.2 Historical Perspective
26.2.1 Dynamic Versu.s Static Binding
26.2.2 Language and Compiler Development
26.2.3 Performance Trade-Offs
26.2.4 The Concept of Software Application Evolution
26.2.5 A Note about Software Ecology
26.3 Self-Adaptive Software
26.3.1 Concept.s
26.3.2 Technology Requirements and Opportunities
26.4 Applications of Self-Adaptive Software
26.4.1 Recent Application Work
26.4.2 Vision Systems
26.4.3 Face Recognition
26.4.4 Pen'asive Computing
26.5 Conclusion
References
27 Rules and Tools for Software Evolution Planning and Management
Meir M. Lehman and Juan C. Ferndndez-Ramil
27.1 Introduction
27.2 Laws of Software Evolution
27.3 S- and £-Type Program Classification
27.3.1 Basic Properties
27.3.2 Implications of the SPE Program Classification Scheme
27.4 First Law: Continuing Change
27.5 Second Law: Increasing Complexity
27.6 Third Law: Self Regulation
27.7 Fourth Law: Conservation of Organisational Stability
27.8 Fifth Law: Conservation of Familiarity
27.9 Sixth Law: Continuing Growth
27.10 Seventh Law: Declining Quality
27.11 Eighth Law: Feedback System
27.12 The FEAST Hypothesis
27.13 The Principle of Software Lfncertainty
27.14 Conclusions
27.15 Acknowledgements
References

There are no comments on this title.

to post a comment.
SIKKIM UNIVERSITY
University Portal | Contact Librarian | Library Portal

Powered by Koha