出版时间:2008-8 出版社:清华大学出版社 作者:李彤 页数:213
内容概要
软件演化是近年来软件工程领域正逐步受到重视的研究方向,并将得到越来越多的关注。本书从软件演化管理的角度,较为系统地讨论了软件演化过程的相关问题,包括软件演化过程元模型、软件演化过程描述语言、软件演化过程框架、软件演化过程建模方法、软件演化过程改进等。本书还给出了一个软件演化过程的支撑工具,并提供了多个案例研究。 本书可以作为计算机专业研究生和高年级本科生的教材和教学参考书,也可供从事软件工程的科技人员使用和参考。
书籍目录
Preface ixList of Figures and Tablesxiii1 Introduction .1 Motivation 1.2 Contributions 1.3 Research Methods 1.4 Success Criteria 1.5 Validation Methods 1.6 Outline References 2 Overview of Software Processes and Software Evolution 8 2.1 Introduction 2.2 Software Processes 2.2.1 Concepts of Software Process 2.2.2 Software Process Modelling and Descriptions 2.2.3 Software Process Modelling and Description Languages 2.2.4 Software Process Improvement and CMM 2.2.5 Software Process Reuse 2.2.6 Process-Centred Software Engineering Environments 2.3 Software Evolution 2.3.1 Concepts of Software Evolution 2.3.2 Software Reengineering 2.3.3 Software Evolution 2.4 Summary References 3 Related Work 3.1 Introduction 3.2 Software Evolution Process 3.3 Concurrency in the Software Life Cycle 3.4 Petri Nets 3.5 Dependence Analysis 3.6 Formal Functional Decomposition 3.7 Summary References 4 Software Evolution Process Meta-Model EPMM 4.1 Introduction 4.2 Properties of Software Evolution Processes 4.3 Iteration in Software Evolution Processes 4.4 Concurrency in Software Evolution Processes 4.4.1 Version Concurrency 4.4.2 Process Concurrency 4.4.3 Sub-Process Concurrency 4.4.4 Phase Concurrency 4.4.5 Activity Concurrency 4.4.6 Task Concurrency 4.5 Static Component Definitions of EPMM 4.5.1 Task 4.5.2 Activity 4.5.3 Software Process 4.5.4 Example: Prototype Evolution Process Model 4.5.5 Global Model 4.6 Dynamic Component Definitions of EPMM 4.7 Supports for Software Evolution Processes 4.8 Summary References 5 Software Evolution Process Description Language EPDL 5.1 Introduction 5.2 Survey of EPDL 5.2.1 Design Goals 5.2.2 Characteristics 5.2.3 Program Structure 5.3 Task 5.4 Activity 5.5 Software Process 5.6 Global Model 5.7 EPDL Program 5.8 Example 5.9 Summary References 6 Framework of Software Evolution Processes 6.1 Introduction 6.2 Framework of Software Evolution Processes 6.3 Steps for Modelling Software Evolution Processes 6.4 Designing Global Models 6.5 Evolution Process Descriptions 6.6 Summary References 7 Designing Processes and Activities 7.1 Introduction 7.2 Designing Processes 7.2.1 Basic Blocks 7.2.2 Software Process Package 7.2.3 Procedure for Modelling Processes 7.3 Designing Activities 7.4 Reuse of Software Evolution Processes 7.4.1 Reuse by Inheritance 7.4.2 Reuse of Basic Blocks 7.4.3 Reuse of Process Packages 7.5 Summary References 8 Designing Tasks 8.1 Introduction 8.2 Procedure of Designing Tasks 8.3 Structures of Functional Decomposition 8.4 Decomposition Rules 8.4.1 Sequence Decomposition 8.4.2 Selection Decomposition 8.4.3 Repetition Decomposition 8.5 Structure of the Knowledge Base 8.5.1 The Case Base 8.5.2 The Segment Base 8.5.3 The Rule Base 8.6 Decomposition 8.6.1 The Decomposition Tree 8.6.2 Match Between Two 2-Assertions 8.6.3 The Decomposition Process 8.6.4 Supports by Modellers 8.7 Summary References 9 Efficiency Improvement of the Software Evolution Processes 9.1 Introduction 9.2 Procedure of Efficiency Improvement 9.3 Dependence Analysis Between Entities 9.3.1 Constructing a Dependence Graph 9.3.2 Localising Dependences 9.4 Reconstructing Process Segments 9.4.1 Preprocessing an ADG 9.4.2 Transformation Rules 9.4.3 Transformation Algorithm 9.4.4 Examples 9.5 Capturing Concurrency within an Activity 9.6 Analysing Dependences Between Partition Blocks 9.7 Extending Concurrency 9.8 Reconstructing Software Processes 9.9 Summary References 10 Support Environment EPT 10.1 Introduction 10.2 Architecture of EPT 10.3 File Depository 10.3.1 Data Structures of EPDL Object Codes 10.3.2 Other Data Structures 10.4 Process Server 10.4.1 Modelling Manager 10.4.2 EPDL Compiler 10.4.3 Runtime Manager 10.5 User Interface and Message Server 10.6 Summary References 11 Case Studies 11.1 Introduction 11.2 First Case Study: The Waterfall Model 11.3 Second Case Study: Three Software Processes Involved in Evolution 11.4 Third Case Study: An Evolution Process of an Information Security System 11.4.1 Background 11.4.2 The Process of Modelling 11.4.3 EPDL Program 11.4.4 White Box Approach 11.4.5 Black Box Approach 11.4.6 Efficiency Improvement 11.5 Fourth Case Study: The Maintenance Process of ISO/IEC 12207 11.5.1 Background 11.5.2 EPDL Program 11.5.3 Activity: Process Implementation 11.5.4 Activity: Problem and Modification Analysis 11.5.5 Activity: Modification Implementation 11.5.6 Activity: Maintenance Review/Acceptance 11.5.7 Activity: Migration 11.5.8 Activity: Software Retirement 11.6 Summary References 12 Conclusions 12.1 Success Criteria Revisited 12.2 Evaluations 12.2.1 Comparison with Osterweil's Approach 12.2.2 Comparison with Lehman's Approach 12.2.3 Evaluations 12.3 Summary 12.4 Future Work 12.4.1 Limitations 12.4.2 Directions for Future Work References Index
图书封面
评论、评分、阅读与下载