图书介绍
软件工程Java语言实现 英文版·第4版PDF|Epub|txt|kindle电子书版本网盘下载
- (美)(S.R.沙赫)Stephen R.Schach著 著
- 出版社: 北京:机械工业出版社
- ISBN:7111067142
- 出版时间:1999
- 标注页数:618页
- 文件大小:26MB
- 文件页数:636页
- 主题词:
PDF下载
下载说明
软件工程Java语言实现 英文版·第4版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
PART 1 Introduction to the Software Process3
PART 1 Introduction to the Software Process3
Prologue 13
Prologue 13
CHAPTER 1 Scope of Software Engineering5
CHAPTER 1 Scope of Software Engineering5
1.1 Historical Aspects6
1.2 Economic Aspects9
1.3 Maintenance Aspects10
1.4 Specification and Design Aspects14
1.5 Team Programming Aspects16
1.6 The Object-Oriented Paradigm17
1.7 Terminology22
Chapter Review24
For Further Reading25
Problems26
References27
CHAPTER 2 The Software Process and Its Problems30
CHAPTER 2 The Software Process and Its Problems30
2.1 Client,Developer,and User32
2.2 Requirements Phase33
2.2.1 Requirements Phase Testing34
2.3 Specification Phase35
2.3.1 Specification Phase Testing36
2.4 Planning Phase36
2.4.1 Planning Phase Testing37
2.5 Design Phase38
2.6.1 Implementation Phase Testing39
2.6 Implementation Phase39
2.5.1 Design Phase Testing39
2.7 Integration Phase40
2.7.1 Integration Phase Testing40
2.8 Maintenance Phase41
2.8.1 Maintenance Phase Testing42
2.9 Retirement42
2.10 Problems with Software Production:Essence and Accidents43
20.10.1 Complexity44
20.10.2 Conformity46
20.10.3 Changeability47
20.10.4 Invisibility48
20.10.5 No Silver Bullet?49
Chapter Review50
For Further Reading50
Problems51
References52
CHAPTER 3 Software Life-Cycle Models53
CHAPTER 3 Software Life-Cycle Models53
3.2 Waterfall Model54
3.2.1 Analysis of the Waterfall Model57
3.3 Rapid Prototyping Model59
3.3.1 Integrating the Waterfall and Rapid Prototyping Models61
3.4 Incremental Model61
3.4.1 Analysis of the Incremental Model63
3.5 Spiral Model66
3.5.1 Analysis of the Spiral Model70
3.6 Comparison of Life-Cycle Models71
3.7 Capability Maturity Model71
3.8 ISO 900075
Chapter Review76
For Further Reading77
Problems78
References78
CHAPTER 4 Stepwise Refinement,CASE,and Other Tools of the Trade82
CHAPTER 4 Stepwise Refinement,CASE,and Other Tools of the Trade82
4.1 Stepwise Refinement82
4.1.1 Stepwise Refinement Example83
4.2 Cost-Benefit Analysis89
4.3 CASE(Computer-Aided Software Engineering)90
4.3.1 Taxonomy of CASE90
4.4 Scope of CASE92
4.5.1 Revisions96
4.5 Software Versions96
4.5.2 Variations97
4.6 Configuration Control98
4.6.1 Configuration Control during Product Maintenance100
4.6.2 Baselines101
4.6.3 Configuration Control during Product Development101
4.7 Build Tools102
4.8 Productivity Gains with CASE Technology103
4.9 Software Metrics103
For Further Reading105
Chapter Review105
Problems106
References108
CHAPTER 5 Testing Principles110
CHAPTER 5 Testing Principles110
5.1 Quality Issues111
5.1.1 Software Quality Assurance111
5.1.2 Managerial Independence112
5.2 Nonexecution-Based Testing113
5.2.1 Walkthroughs113
5.2.2 Managing Walkthroughs114
5.2.3 Inspections115
5.2.4 Comparison of Inspections and Walkthroughs117
5.2.5 Metrics for Inspections118
5.3 Execution-Based Testing118
5.4 What Should Be Tested?119
5.4.2 Reliability120
5.4.1 Utility120
5.4.3 Robustness121
5.4.4 Performance121
5.4.5 Correctness122
5.5 Testing versus Correctness Proofs124
5.5.1 Example of acorrectness Proof124
5.5.2 Correctness Proof Case Study128
5.5.3 Correctness Proofs and Software Engineering129
5.6 Who Should Perform Execution-Based Testing?131
5.7 When Testing Stops133
Chapter Review134
For Further Reading134
Problems135
References137
CHAPTER 6 Introduction to Objects140
CHAPTER 6 Introduction to Objects140
6.1 What Is a Module?140
6.2 Cohesion144
6.2.1 Coincidental Cohesion145
6.2.2 Logical Cohesion145
6.2.3 Temporal Cohesion146
6.2.4 Procedural Cohesion147
6.2.6 Informational Cohesion148
6.2.5 Communicational Cohesion148
6.2.7 Functional Cohesion149
6.2.8 Cohesion Example150
6.3 Coupling151
6.3.1 Content Coupling151
6.3.2 Common Coupling151
6.3.3 Control Coupling154
6.3.4 Stamp Coupling154
6.3.5 Data Coupling155
6.3.6 Coupling Example156
6.4 Data Encapsulation157
6.4.1 Data Encapsulation and Product Development161
6.4.2 Data Encapsulation and Product Maintenance163
6.5 Abstract Data Types166
6.6 Information Hiding168
6.7 Objects171
6.8 Polymorphism and Dynamic Binding175
6.9 Cohesion and Coupling of Objects177
6.10 Reuse178
6.10.1 Impediments to Reuse179
6.11 Reuse Case Studies180
6.11.1 Raytheon Missile Systems Division180
6.11.2 Toshiba Software Factory182
6.11.3 NASA Software183
6.11.4 GTE Data Services184
6.11.5 Hewlett-Packard184
6.12 Reuse and Maintenance185
6.13 Objects and Productivity186
Chapter Review188
For Further Reading188
Problems189
References191
PART 2 The Phases of the Software Process192
PART 2 The Phases of the Software Process195
CHAPTER 7 Requirements Phase197
CHAPTER 7 Requirements Phase197
7.1 Requirements Analysis Techniques198
7.2 Rapid Prototyping199
7.3 Human Factors201
7.4 Rapid Prototyping as a Specification Technique203
7.5 Reusing the Rapid Prototype205
7.6 Other Uses of Rapid Profotyping207
7.7 Management Implications of the Rapid Prototyping Model208
7.8 Experiences with Rapid Prototyping209
7.9 Joint Application Design211
7.10 Comparison of Requirements Analysis Techniques211
7.11 Testing during the Requirements Phase212
7.12 CASE Tools for the Requirements Phase212
7.13 Metrics for the Requirements Phase213
7.14 MSG Case Study:Requirements Phase214
7.15 MSG Case Study:Rapid Prototype216
Chapter Review217
For Further Reading218
Problems219
References220
8.1 The Specification Document222
CHAPTER 8 Specificaton Phase222
CHAPTER 8 Specification Phase222
8.2 Informal Specifications224
8.2.1 Case Study:Text Processing225
8.3.1 Sally s Software Shop226
8.3 Structured Systems Analysis226
8.4 Other Semiformal Techniques234
8.5 Entity-Relationship Modeling235
8.6 Finite State Machines237
8.6.1 Elevator Problem:Finite State Machines239
8.7 Petri Nets244
8.7.1 Elevator Problem:Petri Nets247
8.8 Z250
8.8.1 Elevator Problem:Z251
8.8.2 Analysis of Z253
8.9 Other Formal Techniques255
8.10 Comparison of Specification Techniques256
8.11 Testing during the Specification Phase256
8.12 CASE Tools for the Specification Phase257
8.13 Metrics for the Specification Phase258
8.14 MSG Case Study:Structured Systems Analysis258
Chapter Review260
For Further Reading261
Problems262
References264
CHAPTER 9 Object-Oriented Analysis Phase268
9.1 Object-Oriented versus Structured Paradigm268
CHAPTER 9 Object-Oriented Analysis Phase268
9.2 Object-Oriented Analysis270
9.3 Elevator Problem:Object-Oriented Analysis272
9.3.1 Class Modeling272
9.3.2 Dynamic Modeling275
9.3.3 Functional Modeling278
9.4 Object-Oriented Life-Cycle Models280
9.5 CASE Tools for the Object-Oriented Analysis Phase282
9.6 MSG Case Study:Object-Oriented Analysis283
Chapter Review286
For Further Reading286
Problems288
References289
CHAPTER 10 Planning Phase291
10.1 Estimating Duration and Cost291
CHAPTER 10 Planning Phase291
10.1.1 Metrics for the Size of a Product293
10.1.2 Techniques of Cost Estimation297
10.1.3 Intermediate COCOMO299
10.1.4 Tracking Duration and Cost Estimates303
10.2 Components of a Software Project Management Plan303
10.3 Software Project Management Plan Framework305
10.4 IEEE Software Project Management Plan305
10.5 Planning of Testing308
10.6 Planning of Object-Oriented Projects310
10.7 Training Requirements310
10.8 Documentation Standards311
10.9 CASE Tools for the Planning Phase312
Chapter Review315
10.11 MSG Case Study:Planning Phase315
10.10 Testing during the Planning Phase315
For Further Reading316
Problems317
Refrences318
CHAPTER 11 Design Phase322
11.1 Design and Abstraction322
CHAPTER 11 Design Phase322
11.2 Action-Oriented Design324
11.3 Data Flow Analysis324
11.3.1 Data Flow Analysis Example325
11.4 Transaction Analysis329
11.3.2 Extensions329
11.5 Data-Oriented Design332
11.6 Jackson System Development333
11.6.1 Overview of Jackson System Development333
11.6.2 Why Jackson System Development Is Presented in This Chapter335
11.6.3 Elevator Problem:Jackson System Development336
11.6.4 Analysis of Jackson System Development344
11.7 Techniques of Jackson ,Wamier,and Orr345
11.8 Object-Oriented Design346
11.8.1 Elevator Problem:Object-Oriented Design347
11.9 Detailed Design350
11.10 Comparison of Action-,Data-,and Object-Oriented Design352
11.11 Difficulties Associated with Real-Time Systems353
11.12 Real-Time Design Techniques354
11.13 Testing during the Design Phase355
11.14 CASE Tools for the Design Phase356
11.15 Metrics for the Design Phase357
11.16 MSG Case Study:Object-Oriented Design358
Chapter Review359
For Further Reading361
Problems363
References364
12.1 Choice of Programming Language368
CHAPTER 12 Implementation Phase368
CHAPTER 12 Implementation Phase368
12.2 Fourth Generation Languages372
12.3.1 History of Structured Programming375
12.3 Structured Programming375
12.3.2 Why the goto Statement Is Considered Harmful377
12.4 Good Programming Practice378
12.5 Coding Standards383
12.6 Team Organization385
12.7 Democratic Team Approach387
12.7.1 Analysis of the Democratic Team Approach388
12.8 Classical Chief Programmer Team Approach388
12.8.1 The New York Times Project390
12.8.2 Impracticality of the Classical Chief Programmer Team Approach391
12.9 Beyond Chief Programmer and Democratic Teams392
12.10 Portability396
12.10.1 Hardware Incompatibilities396
12.10.2 Operating System Incompatibilities398
12.10.3 Numerical Software Incompatibilities398
12.10.4 Compiler Incompatibilities399
12.11 Why Portability?402
12.12 Techniques for Achieving Portability404
12.12.1 Portable System Software404
12.12.2 Portable Application Software405
12.12.3 Portable Data406
12.13 Module Reuse407
12.14 Module Test Case Selection407
12.14.1 Testing to Specifications versus Testing to Code408
12.14.2 Feasibility of Testing to Specifications408
12.14.3 Feasibility of Testing to Code409
12.15 Black-Box Module-Testing Techniques411
12.15.1 Equivalence Testing and Boundary Value Analysis411
12.15.2 Functional Testing413
12.16 Glass-Box Module-Testing Techniques414
12.16.1 Structural Testing:Statement,Branch,and Path Coverage414
12.16.2 Complexity Metrics415
12.17 Code Walkthroughs and Inspections418
12.18 Comparison of Module-Testng Techniques418
12.19 Cleanroom419
12.20 Testing Objects420
12.21 Management Aspects of Module-Testing423
12.21.1 When to Rewrite Rather Than Debug a Module424
12.22 Testing Distributed Software425
12.23 Testing Real-Time Software427
12.24 CASE Tools for the Implementation Phase429
12.25 MSG Case Study:Black-Box Test Cases429
Chapter Review431
For Further Reading431
Problems433
References435
CHAPTER 13 Implementation and Integration Phase441
CHAPTER 13 Implementation and Integration Phase441
13.1 Implementation and Integration441
13.1.1 Top-Down Implementation and Integration442
13.1.2 Bottom-Up Implementation and Integration444
13.1.3 Sandwich Implementation and Integration445
13.1.4 Implementation and Integration of Object-Oriented Products446
13.1.5 Management Issues during the Implementation and Integration Phase446
13.2 Testing during the Implementation and Integration Phase447
13.3 Integration Testing of Graphical User Interfaces447
13.4 Product Testing448
13.5 Acceptance Testing449
13.6 CASE Tools for the Implementation and Integration Phase450
13.7 CASE Tools for the Complete Software Process451
13.8 Language-Centered Environments451
13.9 Structure-Oriented Environments452
13.10 Toolkit Environments452
13.11 Integrated Environments452
13.11.1 Process Integration453
13.11.2 Tool Integration454
13.11.3 Other Forms of Integration456
13.12 Environments for Business Applications456
13.13 Public Tool Infrastructures457
13.14 Comparison of Environment Types458
13.15 Metrics for the Implementation and Integration Phase458
13.16 MSG Case Study:Implementation and Integration Phase459
Chapter Review460
For Further Reading460
Problems461
References462
CHAPTER 14 Maintenance Phase465
CNAPTER14 Maintenance Phase465
14.1 Why Maintenance Is Necessary465
14.2 What Is Required of Maintenance Programmers466
14.3 Maintenance Case Study468
14.4 Management of Maintenance470
14.4.1 Fault Reports470
14.4.2 Authorizing Changes to the Product471
14.4.3 Ensuring Maintainability472
14.4.4 Problem of Repeated Maintenance472
14.5 Maintenance of Object-Oriented Software473
14.6 Maintenance Skills versus Development Skills476
14.7 Reverse Engineering476
14.8 Testing during the Maintenance Phase477
14.9 CASE Tools for the Maintenance Phase478
14.10 Metrics for the Maintenance Phase479
Chapter Review479
For Further Reading480
Problems480
References481
Epilogue483
Appendices483
Epilogue483
Appendices483
APPENDIX A Osbert Oglesby,Art Dealer491
APPENDIX A Osbert Oglesby—Art Dealer491
APPENDIX B Software Engineering Resources494
APPENDIX B Software Engineering Resources494
APPENDIX C MSG Case Study:Rapid Prototype496
APPENDIX C MSG Case Study:Rapid Prototype496
APPENDIX D MSG Case Study:Structured Systems Analysis509
APPENDIX D MSG Case Study:Structured Systems Analysis509
APPENDIX E MSG Case Study:Object-Oriented Analysis513
APPENDIX E MSG Case Study:Object-Oriented Analysis513
APPENDIX F MSG Case Study:Software Project Management Plan514
APPENDIX F MSG Case Study:Software Project Management Plan514
APPENDIX G MSG Case Study:Design519
APPENDIX G MSG Case Study:Design519
APPENDIX H MSG Case Study:Black-Box Test Cases539
APPENDIX H MSG Case Study:Black-Box Test Cases539
APPENDIX I MSG Case Study:Source Code542
APPENDIX I MSG Case Study:Source Code542
Bibliography581
Bibliography581
Author Index605
Author Index605
Subject Index608
Subject Index608