《An Approach to Modelling Software Evolution》是李彤所著圖書。
基本介紹
- 中文名:An Approach to Modelling Software Evolution
- 作者:李彤
- 語言:英語
內容簡介,目錄,
內容簡介
本書還給出了一個軟體演化過程的支撐工具,並提供了多個案例研究。 本書可以作為計算機專業研究生和高年級本科生的教材和教學參考書,也可供從事軟體工程的科技人員使用和參考。
本書從軟體演化管理的角度,較為系統地討論了軟體演化過程的相關問題,包括軟體演化過程元模型、軟體演化過程描述語言、軟體演化過程框架、軟體演化過程建模方法、軟體演化過程改進等。
目錄
Preface ix
ListofFiguresandTables xiii
1Introduction 1
1.1Motivation 1
1.2Contributions 3
1.3ResearchMethods 4
1.4SuccessCriteria 5
1.5ValidationMethods 5
1.6Outline 6
References 7
2OverviewofSoftwareProcessesandSoftwareEvolution 8
2.1Introduction 9
2.2SoftwareProcesses 9
2.2.1ConceptsofSoftwareProcess 9
2.2.2SoftwareProcessModellingandDescriptions 11
2.2.3SoftwareProcessModellingandDescriptionLanguages 13
2.2.4SoftwareProcessImprovementandCMM 16
2.2.5SoftwareProcessReuse 19
2.2.6Process-CentredSoftwareEngineeringEnvironments 20
2.3SoftwareEvolution 21
2.3.1ConceptsofSoftwareEvolution 21
2.3.2SoftwareReengineering 22
2.3.3SoftwareEvolution 25
2.4Summary 27
References 27
3RelatedWork 34
3.1Introduction 35
3.2SoftwareEvolutionProcess 35
3.3ConcurrencyintheSoftwareLifeCycle 38
3.4PetriNets 39
3.5DependenceAnalysis 43
3.6FormalFunctionalDecomposition 44
3.7Summary 46
References 46
4SoftwareEvolutionProcessMeta-ModelEPMM 50
4.1Introduction 51
4.2PropertiesofSoftwareEvolutionProcesses 52
4.3IterationinSoftwareEvolutionProcesses 52
4.4ConcurrencyinSoftwareEvolutionProcesses 54
4.4.1VersionConcurrency 54
4.4.2ProcessConcurrency 55
4.4.3Sub-ProcessConcurrency 55
4.4.4PhaseConcurrency 56
4.4.5ActivityConcurrency 56
4.4.6TaskConcurrency 57
4.5StaticComponentDefinitionsofEPMM 57
4.5.1Task 58
4.5.2Activity 59
4.5.3SoftwareProcess 60
4.5.4Example:PrototypeEvolutionProcessModel 61
4.5.5GlobalModel 63
4.6DynamicComponentDefinitionsofEPMM 64
4.7SupportsforSoftwareEvolutionProcesses 66
4.8Summary 67
References 68
5SoftwareEvolutionProcessDescriptionLanguageEPDL 70
5.1Introduction 71
5.2SurveyofEPDL 71
5.2.1DesignGoals 71
5.2.2Characteristics 72
5.2.3ProgramStructure 73
5.3Task 74
5.4Activity 76
5.5SoftwareProcess 77
5.6GlobalModel 80
5.7EPDLProgram 80
5.8Example 81
5.9Summary 82
References 83
6FrameworkofSoftwareEvolutionProcesses 85
6.1Introduction 86
6.2FrameworkofSoftwareEvolutionProcesses 86
6.3StepsforModellingSoftwareEvolutionProcesses 88
6.4DesigningGlobalModels 91
6.5EvolutionProcessDescriptions 92
6.6Summary 93
References 93
7DesigningProcessesandActivities 95
7.1Introduction 96
7.2DesigningProcesses 96
7.2.1BasicBlocks 96
7.2.2SoftwareProcessPackage 98
7.2.3ProcedureforModellingProcesses 99
7.3DesigningActivities 100
7.4ReuseofSoftwareEvolutionProcesses 101
7.4.1ReusebyInheritance 101
7.4.2ReuseofBasicBlocks 102
7.4.3ReuseofProcessPackages 106
7.5Summary 107
References 107
8DesigningTasks 109
8.1Introduction 110
8.2ProcedureofDesigningTasks 111
8.3StructuresofFunctionalDecomposition 111
8.4DecompositionRules 113
8.4.1SequenceDecomposition 114
8.4.2SelectionDecomposition 115
8.4.3RepetitionDecomposition 116
8.5StructureoftheKnowledgeBase 117
8.5.1TheCaseBase 118
8.5.2TheSegmentBase 119
8.5.3TheRuleBase 119
8.6Decomposition 119
8.6.1TheDecompositionTree 119
8.6.2MatchBetweenTwo2-Assertions 120
8.6.3TheDecompositionProcess 121
8.6.4SupportsbyModellers 122
8.7Summary 123
References 124
9EfficiencyImprovementoftheSoftwareEvolutionProcesses 125
9.1Introduction 126
9.2ProcedureofEfficiencyImprovement 127
9.3DependenceAnalysisBetweenEntities 130
9.3.1ConstructingaDependenceGraph 130
9.3.2LocalisingDependences 131
9.4ReconstructingProcessSegments 132
9.4.1PreprocessinganADG 133
9.4.2TransformationRules 136
9.4.3TransformationAlgorithm 137
9.4.4Examples 138
9.5CapturingConcurrencywithinanActivity 140
9.6AnalysingDependencesBetweenPartitionBlocks 142
9.7ExtendingConcurrency 144
9.8ReconstructingSoftwareProcesses 146
9.9Summary 149
References 149
10SupportEnvironmentEPT 151
10.1Introduction 152
10.2ArchitectureofEPT 153
10.3FileDepository 154
10.3.1DataStructuresofEPDLObjectCodes 154
10.3.2OtherDataStructures 156
10.4ProcessServer 158
10.4.1ModellingManager 158
10.4.2EPDLCompiler 161
10.4.3RuntimeManager 161
10.5UserInterfaceandMessageServer 163
10.6Summary 165
References 165
11CaseStudies 166
11.1Introduction 167
11.2FirstCaseStudy:TheWaterfallModel 168
11.3SecondCaseStudy:ThreeSoftwareProcessesInvolvedinEvolution 170
11.4ThirdCaseStudy:AnEvolutionProcessofanInformationSecuritySystem 174
11.4.1Background 174
11.4.2TheProcessofModelling 175
11.4.3EPDLProgram 175
11.4.4WhiteBoxApproach 176
11.4.5BlackBoxApproach 179
11.4.6EfficiencyImprovement 180
11.5FourthCaseStudy:TheMaintenanceProcessofISO/IEC12207 183
11.5.1Background 183
11.5.2EPDLProgram 185
11.5.3Activity:ProcessImplementation 186
11.5.4Activity:ProblemandModificationAnalysis 187
11.5.5Activity:ModificationImplementation 189
11.5.6Activity:MaintenanceReview/Acceptance 190
11.5.7Activity:Migration 190
11.5.8Activity:SoftwareRetirement 192
11.6Summary 194
References 195
12Conclusions 196
12.1SuccessCriteriaRevisited 196
12.2Evaluations 198
12.2.1ComparisonwithOsterweil'sApproach 198
12.2.2ComparisonwithLehman'sApproach 200
12.2.3Evaluations 202
12.3Summary 202
12.4FutureWork 204
12.4.1Limitations 204
12.4.2DirectionsforFutureWork 205
References 205
Index 207