技术教育社区
www.teccses.org

软件工程实践者的研究方法-(英文精编版.第7版)

封面

作者:普雷斯曼

页数:542

出版社:机械工业出版社

出版日期:2011

ISBN:9787111359654

电子书格式:pdf/epub/txt

内容简介

  本书自30年前第1版问世以来,一直受到软件工程界的高度重视,对该学科的发展具有深刻影响,其权威性是公认的、无可置疑的。它在全面而系统地介绍软件工程的有关概念、原则、方法和工具方面获得了广大读者的好评。第7版在结构和内容上均有调整、更新和充实,更加突出软件过程,强调普遍使用的软件工程方法。

  本书基于原书第7版进行改编,保留其中的基本内容,压缩或删除了一些高级内容,更加适合作为国内高校计算机、软件工程及相关专业本科生的软件工程课程教材。

  本书基于原书第7版进行精简,使内容更符合普通高校本科生的课程大纲,让本科生可以在一学期内掌握软件工程的最核心基础内容:
   第一部分 软件过程,介绍了说明性模型和敏捷过程模型。
   第二部分 建模,介绍了现代分析与设计方法,重点放在基于uml的建模方面。
   第三部分 质量管理,是第7版中新增加的内容,描述质量评审技术、软件质量保证、软件测试、软件配置管理的各个方面。

作者简介

  Roger S. Pressman
软件过程改善和软件工程技术方面的国际知名的权威人士。30多年来,他作为软件工程师、管理人员、教授、作者及咨询顾问始终工作在软件工程领域。Pressman博士著有6部著作,并撰写了很多技术文章,是多种行业期刊的固定撰稿人,曾任多种行业杂志的编委,多年来一直担任《IEEE
Software》杂志的Manager专栏的编辑。Pressman博士是知名的演讲者,曾在许多行业会议上演讲,他还是美国计算机协会(ACM)、美国电气与电子工程师协会(IEEE)等组织的成员。

相关资料

  roger
pressman编写的这部翔实而全面的软件工程指南,广泛适合软件工程专业的学生及投身软件工程实践或需要参与这种实践的软件开发人员和管理人员。

   ——《ieee software》
  
这是一本经典的现代教材,叙述清晰而又具有权威性。本书包含大量插图、例子、习题和参考资料……如果读者心存疑问:“软件工程是什么?它现在在哪里?”那么最好阅读这本书。

   ——《acm computing reviews》

本书特色

普雷斯曼编著的《软件工程:实践者的研究方法(英文精编版·第7版)》是一本经典的现代教材,叙述清晰而又具有权威性。该书包含大量插图、例子、习题和参考资料……如果读者心存疑问:“软件工程是什么 它现在在哪里 ”那么最好阅读这本书。

目录

出版者的话
Adapter’s Foreword
Preface
About the Author
CHAPTER 1SOFTWARE AND SOFTWARE ENGINEERING  1
1.1The Nature of Software  3
1.1.1Defining Software  4
1.1.2Software Application Domains  7
1.1.3Legacy Software  9
1.2Software Engineering  10
1.3The Software Process  12
1.4Software Engineering Practice  15
1.4.1The Essence of Practice  16
1.4.2General Principles  17
1.5Software Myths  19
1.6Summary  22
PROBLEMS AND POINTS TO PONDER  22
FURTHER READINGS AND INFORMATION SOURCES  23
PART ONETHE SOFTWARE PROCESS
CHAPTER 2PROCESS MODELS  26
2.1A Generic Process Model  27
2.1.1Defining a Framework Activity  28
2.1.2Identifying a Task Set  30
2.1.3Process Patterns  31
2.2Prescriptive Process Models  32
2.2.1The Waterfall Model  34
2.2.2Incremental Process Models  36
2.2.3Evolutionary Process Models  37
2.2.4Concurrent Models  43
2.2.5A Final Word on Evolutionary Processes  44
2.3Specialized Process Models  45
2.3.1Component-Based Development  45
2.3.2The Formal Methods Model  46
2.3.3Aspect-Oriented Software Development  47
2.4The Unified Process  48
2.4.1A Brief History  49
2.4.2Phases of the Unified Process  49
2.5Process Technology  51
2.6Product and Process  52
2.7Summary  53
PROBLEMS AND POINTS TO PONDER  54
FURTHER READINGS AND INFORMATION SOURCES  55
CHAPTER 3AGILE DEVELOPMENT  56
3.1What Is Agility?  58
3.2Agility and the Cost of Change  58
3.3What Is an Agile Process?  59
3.3.1Agility Principles  60
3.3.2The Politics of Agile Development  61
3.3.3Human Factors  62
3.4Extreme Programming (XP)  63
3.4.1XP Values  63
3.4.2The XP Process  64
3.4.3Industrial XP  68
3.4.4The XP Debate  69
3.5Other Agile Process Models  71
3.5.1Adaptive Software Development (ASD)  72
3.5.2Scrum  73
3.5.3Dynamic Systems Development Method (DSDM)  75
3.5.4Crystal  76
3.5.5Feature Driven Development (FDD)  77
3.5.6Lean Software Development (LSD)  78
3.5.7Agile Modeling (AM)  79
3.5.8Agile Unified Process (AUP)  80
3.6A Tool Set for the Agile Process  82
3.7Summary  82
PROBLEMS AND POINTS TO PONDER  83
FURTHER READINGS AND INFORMATION SOURCES  84
PART TWOMODELING
CHAPTER 4UNDERSTANDING REQUIREMENTS  88
4.1Requirements Engineering  89
4.2Establishing the Groundwork  94
4.2.1Identifying Stakeholders  94
4.2.2Recognizing Multiple Viewpoints  95
4.2.3Working toward Collaboration  95
4.2.4Asking the First Questions  96
4.3Eliciting Requirements  97
4.3.1Collaborative Requirements Gathering  97
4.3.2Quality Function Deployment  100
4.3.3Usage Scenarios  101
4.3.4Elicitation Work Products  102
4.4Developing Use Cases  102
4.5Building the Requirements Model  107
4.5.1Elements of the Requirements Model  108
4.5.2Analysis Patterns  111
4.6Negotiating Requirements  111
4.7Validating Requirements  113
4.8Summary  114
PROBLEMS AND POINTS TO PONDER  114
FURTHER READINGS AND INFORMATION SOURCES  115
CHAPTER 5REQUIREMENTS MODELING: SCENARIOS,INFORMATION, AND ANALYSIS CLASSES  117
5.1Requirements Analysis  118
5.1.1Overall Objectives and Philosophy  119
5.1.2Analysis Rules of Thumb  120
5.1.3Domain Analysis  120
5.1.4Requirements Modeling Approaches  122
5.2Scenario-Based Modeling  123
5.2.1Creating a Preliminary Use Case  124
5.2.2Refining a Preliminary Use Case  127
5.2.3Writing a Formal Use Case  128
5.3UML Models That Supplement the Use Case  130
5.3.1Developing an Activity Diagram  130
5.3.2Swimlane Diagrams  131
5.4Data Modeling Concepts  133
5.4.1Data Objects  133
5.4.2Data Attributes  133
5.4.3Relationships  134
5.5Class-Based Modeling  136
5.5.1Identifying Analysis Classes  136
5.5.2Specifying Attributes  140
5.5.3Defining Operations  140
5.5.4Class-Responsibility-Collaborator (CRC) Modeling  142
5.5.5Associations and Dependencies  149
5.5.6Analysis Packages  151
5.6Summary  152
PROBLEMS AND POINTS TO PONDER  152
FURTHER READINGS AND INFORMATION SOURCES  153
CHAPTER 6REQUIREMENTS MODELING: FLOW, BEHAVIOR, PATTERNS  155
6.1Requirements Modeling Strategies  155
6.2Flow-Oriented Modeling  156
6.2.1Creating a Data Flow Model  157
6.2.2Creating a Control Flow Model  160
6.2.3The Control Specification  160
6.2.4The Process Specification  161
6.3Creating a Behavioral Model  164
6.3.1Identifying Events with the Use Case  164
6.3.2State Representations  165
6.4Patterns for Requirements Modeling  168
6.4.1Discovering Analysis Patterns  169
6.4.2A Requirements Pattern Example: Actuator-Sensor  169
6.5Summary  174
PROBLEMS AND POINTS TO PONDER  174
FURTHER READINGS AND INFORMATION SOURCES  175
CHAPTER 7DESIGN CONCEPTS  176
7.1Design within the Context of Software Engineering  177
7.2The Design Process  180
7.2.1Software Quality Guidelines and Attributes  180
7.2.2The Evolution of Software Design  182
7.3Design Concepts  183
7.3.1Abstraction  184
7.3.2Architecture  184
7.3.3Patterns  185
7.3.4Separation of Concerns  186
7.3.5Modularity  186
7.3.6Information Hiding  187
7.3.7Functional Independence  188
7.3.8Refinement  189
7.3.9Aspects  189
7.3.10Refactoring  190
7.3.11Object-Oriented Design Concepts  191
7.3.12Design Classes  191
7.4The Design Model  194
7.4.1Data Design Elements  195
7.4.2Architectural Design Elements  195
7.4.3Interface Design Elements  196
7.4.4Component-Level Design Elements  198
7.4.5Deployment-Level Design Elements  198
7.5Summary  200
PROBLEMS AND POINTS TO PONDER  201
FURTHER READINGS AND INFORMATION SOURCES  201
CHAPTER 8ARCHITECTURAL DESIGN  203
8.1Software Architecture  204
8.1.1What Is Architecture?  204
8.1.2Why Is Architecture Important?  206
8.1.3Architectural Descriptions  206
8.1.4Architectural Decisions  207
8.2Architectural Genres  207
8.3Architectural Styles  210
8.3.1A Brief Taxonomy of Architectural Styles  211
8.3.2Architectural Patterns  214
8.3.3Organization and Refinement  216
8.4Architectural Design  216
8.4.1Representing the System in Context  217
8.4.2Defining Archetypes  218
8.4.3Refining the Architecture into Components  219
8.4.4Describing Instantiations of the System  221
8.5Assessing Alternative Architectural Designs  222
8.5.1An Architecture Trade-Off Analysis Method  223
8.5.2Architectural Complexity  224
8.5.3Architectural Description Languages  225
8.6Architectural Mapping Using Data Flow  226
8.6.1Transform Mapping  226
8.6.2Refining the Architectural Design  232
8.7Summary  234
PROBLEMS AND POINTS TO PONDER  234
FURTHER READINGS AND INFORMATION SOURCES  235
CHAPTER 9COMPONENT-LEVEL DESIGN  236
9.1What Is a Component?  237
9.1.1An Object-Oriented View  237
9.1.2The Traditional View  239
9.1.3A Process-Related View  241
9.2Designing Class-Based Components  242
9.2.1Basic Design Principles  242
9.2.2Component-Level Design Guidelines  245
9.2.3Cohesion  246
9.2.4Coupling  248
9.3Conducting Component-Level Design  250
9.4Designing Traditional Components  256
9.4.1Graphical Design Notation  257
9.4.2Tabular Design Notation  258
9.4.3Program Design Language  259
9.5Component-Based Development  261
9.5.1Domain Engineering  261
9.5.2Component Qualification, Adaptation, and Composition  262
9.5.3Analysis and Design for Reuse  264
9.5.4Classifying and Retrieving Components  265
9.6Summary  267
PROBLEMS AND POINTS TO PONDER  268
FURTHER READINGS AND INFORMATION SOURCES  269
CHAPTER 10USER INTERFACE DESIGN  270
10.1The Golden Rules  271
10.1.1Place the User in Control  271
10.1.2Reduce the User’s Memory Load  272
10.1.3Make the Interface Consistent  274
10.2User Interface Analysis and Design  275
10.2.1Interface Analysis and Design Models  275
10.2.2The Process  277
10.3Interface Analysis  278
10.3.1User Analysis  279
10.3.2Task Analysis and Modeling  280
10.3.3Analysis of Display Content  285
10.3.4Analysis of the Work Environment  286
10.4Interface Design Steps  286
10.4.1Applying Interface Design Steps  287
10.4.2User Interface Design Patterns  288
10.4.3Design Issues  289
10.5Design Evaluation  292
10.6Summary  294
PROBLEMS AND POINTS TO PONDER  295
FURTHER READINGS AND INFORMATION SOURCES  296
PART THREEQUALITY MANAGEMENT  297
CHAPTER 11QUALITY CONCEPTS  298
11.1What Is Quality?  299
11.2Software Quality  300
11.2.1Garvin抯 Quality Dimensions  301
11.2.2McCall抯 Quality Factors  302
11.2.3ISO 9126 Quality Factors  303
11.2.4Targeted Quality Factors  304
11.2.5The Transition to a Quantitative View  305
11.3The Software Quality Dilemma  306
11.3.1揋ood Enough?Software  306
11.3.2The Cost of Quality  307
11.3.3Risks  309
11.3.4Negligence and Liability  310
11.3.5Quality and Security  310
11.3.6The Impact of Management Actions  311
11.4Achieving Software Quality  312
11.4.1Software Engineering Methods  312
11.4.2Project Management Techniques  312
11.4.3Quality Control  312
11.4.4Quality Assurance  313
11.5 Summary  313
PROBLEMS AND POINTS TO PONDER  314
FURTHER READINGS AND INFORMATION SOURCES  314
CHAPTER 12REVIEW TECHNIQUES  316
12.1Cost Impact of Software Defects  317
12.2Defect Amplification and Removal  318
12.3Review Metrics and Their Use  320
12.3.1Analyzing Metrics  320
12.3.2Cost Effectiveness of Reviews  321
12.4Reviews: A Formality Spectrum  323
12.5Informal Reviews  324
12.6Formal Technical Reviews  326
12.6.1The Review Meeting  326
12.6.2Review Reporting and Record Keeping  327
12.6.3Review Guidelines  327
12.6.4Sample-Driven Reviews  329
12.7Summary  330
PROBLEMS AND POINTS TO PONDER  331
FURTHER READINGS AND INFORMATION SOURCES  331
CHAPTER 13SOFTWARE QUALITY ASSURANCE  332
13.1Background Issues  333
13.2Elements of Software Quality Assurance  334
13.3SQA Tasks, Goals, and Metrics  336
13.3.1SQA Tasks  336
13.3.2Goals, Attributes, and Metrics  337
13.4Formal Approaches to SQA  338
13.5Statistical Software Quality Assurance  339
13.5.1A Generic Example  339
13.5.2Six Sigma for Software Engineering  341
13.6Software Reliability  342
13.6.1Measures of Reliability and Availability  342
13.6.2Software Safety  343
13.7The ISO 9000 Quality Standards  344
13.8The SQA Plan  345
13.9A Framework for Product Metrics  346
13.9.1Measures, Metrics, and Indicators  347
13.9.2The Challenge of Product Metrics  347
13.9.3Measurement Principles  348
13.9.4Goal-Oriented Software Measurement  350
13.9.5The Attributes of Effective Software Metrics  350
13.10Function-Based Metrics  351
13.11Summary  355
PROBLEMS AND POINTS TO PONDER  355
FURTHER READINGS AND INFORMATION SOURCES  356
CHAPTER 14SOFTWARE TESTING STRATEGIES  357
14.1A Strategic Approach to Software Testing  358
14.1.1Verification and Validation  358
14.1.2Organizing for Software Testing  359
14.1.3Software Testing Strategy-The Big Picture  360
14.1.4Criteria for Completion of Testing  363
14.2Strategic Issues  363
14.3Test Strategies for Conventional Software  364
14.3.1Unit Testing  364
14.3.2Integration Testing  367
14.4Test Strategies for Object-Oriented Software  373
14.4.1Unit Testing in the OO Context  374
14.4.2Integration Testing in the OO Context  374
14.5Validation Testing  375
14.5.1Validation-Test Criteria  375
14.5.2Configuration Review  376
14.5.3Alpha and Beta Testing  376
14.6System Testing  377
14.6.1Recovery Testing  378
14.6.2Security Testing  378
14.6.3Stress Testing  378
14.6.4Performance Testing  379
14.6.5Deployment Testing  379
14.7The Art of Debugging  380
14.7.1The Debugging Process  380
14.7.2Psychological Considerations  382
14.7.3Debugging Strategies  382
14.7.4Correcting the Error  385
14.8Summary  385
PROBLEMS AND POINTS TO PONDER  386
FURTHER READINGS AND INFORMATION SOURCES  386
CHAPTER 15TESTING CONVENTIONAL APPLICATIONS  388
15.1Software Testing Fundamentals  389
15.2Internal and External Views of Testing  391
15.3White-Box Testing  392
15.4Basis Path Testing  392
15.4.1Flow Graph Notation  392
15.4.2Independent Program Paths  394
15.4.3Deriving Test Cases  396
15.5Control Structure Testing  398
15.5.1Condition Testing  398
15.5.2Data Flow Testing  399
15.5.3Loop Testing  399
15.6Black-Box Testing  401
15.6.1Equivalence Partitioning  401
15.6.2Boundary Value Analysis  402
15.7Summary  403
PROBLEMS AND POINTS TO PONDER  404
FURTHER READINGS AND INFORMATION SOURCES  404
CHAPTER 16TESTING OBJECT-ORIENTED APPLICATIONS  406
16.1Broadening the View of Testing  407
16.2Testing OOA and OOD Models  408
16.2.1Correctness of OOA and OOD Models  408
16.2.2Consistency of Object-Oriented Models  409
16.3Object-Oriented Testing Strategies  411
16.3.1Unit Testing in the OO Context  411
16.3.2Integration Testing in the OO Context  411
16.3.3Validation Testing in an OO Context  412
16.4Object-Oriented Testing Methods  412
16.4.1The Test-Case Design Implications of OO Concepts  413
16.4.2Applicability of Conventional Test-Case Design Methods  413
16.4.3Fault-Based Testing  414
16.4.4Test Cases and the Class Hierarchy  414
16.4.5Scenario-Based Test Design  415
16.4.6Testing Surface Structure and Deep Structure  417
16.5Testing Methods Applicable at the Class Level  417
16.5.1Random Testing for OO Classes  417
16.5.2Partition Testing at the Class Level  419
16.6Interclass Test-Case Design  419
16.6.1Multiple Class Testing  419
16.6.2Tests Derived from Behavior Models  421
16.7Summary  422
PROBLEMS AND POINTS TO PONDER  423
FURTHER READINGS AND INFORMATION SOURCES  423
CHAPTER 17SOFTWARE CONFIGURATION MANAGEMENT  424
17.1Software Configuration Management  425
17.1.1An SCM Scenario  426
17.1.2Elements of a Configuration Management System  427
17.1.3Baselines  427
17.1.4Software Configuration Items  429
17.2The SCM Repository  430
17.2.1The Role of the Repository  430
17.2.2General Features and Content  431
17.2.3SCM Features  432
17.3The SCM Process  433
17.3.1Identification of Objects in the Software Configuration  434
17.3.2Version Control  435
17.3.3Change Control  436
17.3.4Configuration Audit  439
17.3.5Status Reporting  440
17.4Summary  441
PROBLEMS AND POINTS TO PONDER  441
FURTHER READINGS AND INFORMATION SOURCES  442
PART FOURMANAGING SOFTWARE PROJECTS  443
CHAPTER 18PROJECT MANAGEMENT CONCEPTS  444
18.1The Management Spectrum  445
18.1.1The People  445
18.1.2The Product  446
18.1.3The Process  446
18.1.4The Project  446
18.2People  447
18.2.1The Stakeholders  447
18.2.2Team Leaders  448
18.2.3The Software Team  449
18.2.4Agile Teams  452
18.2.5Coordination and Communication Issues  453
18.3The Product  454
18.3.1Software Scope  454
18.3.2Problem Decomposition  454
18.4The Process  455
18.4.1Melding the Product and the Process  455
18.4.2Process Decomposition  456
18.5The Project  458
18.6The W5HH Principle  459
18.7Critical Practices  460
18.8Summary  461
PROBLEMS AND POINTS TO PONDER  461
FURTHER READINGS AND INFORMATION SOURCES  462
CHAPTER 19PROCESS AND PROJECT METRICS  464
19.1Metrics in the Process and Project Domains  465
19.1.1Process Metrics and Software Process Improvement  465
19.1.2Project Metrics  468
19.2Software Measurement  469
19.2.1Size-Oriented Metrics  470
19.2.2Function-Oriented Metrics  471
19.2.3Reconciling LOC and FP Metrics  471
19.2.4Object-Oriented Metrics  473
19.2.5Use-Case-Oriented Metrics  474
19.3Metrics for Software Quality  475
19.3.1Measuring Quality  476
19.3.2Defect Removal Efficiency  477
19.4Summary  479
PROBLEMS AND POINTS TO PONDER  479
FURTHER READINGS AND INFORMATION SOURCES  480
CHAPTER 20ESTIMATION FOR SOFTWARE PROJECTS  481
20.1Observations on Estimation  482
20.2The Project Planning Process  483
20.3Software Scope and Feasibility  484
20.4Resources  485
20.4.1Human Resources  485
20.4.2Reusable Software Resources  486
20.4.3Environmental Resources  486
20.5Software Project Estimation  487
20.6Decomposition Techniques  488
20.6.1Software Sizing  488
20.6.2Problem-Based Estimation  489
20.6.3An Example of LOC-Based Estimation  491
20.6.4An Example of FP-Based Estimation  492
20.6.5Process-Based Estimation  493
20.6.6An Example of Process-Based Estimation  494
20.6.7Estimation with Use Cases  495
20.6.8An Example of Use-Case-Based Estimation  496
20.6.9Reconciling Estimates  497
20.7Empirical Estimation Models  498
20.7.1The Structure of Estimation Models  499
20.7.2The COCOMO II Model  499
20.7.3The Software Equation  501
20.8Estimation for Object-Oriented Projects  502
20.9Summary  503
PROBLEMS AND POINTS TO PONDER  504
FURTHER READINGS AND INFORMATION SOURCES  505
CHAPTER 21PROJECT SCHEDULING  506
21.1Basic Concepts  507
21.2Project Scheduling  509
21.2.1Basic Principles  510
21.2.2The Relationship Between People and Effort  510
21.2.3Effort Distribution  512
21.3Defining a Task Set for the Software Project  513
21.3.1A Task Set Example  514
21.3.2Refinement of Software Engineering Actions  515
21.4Defining a Task Network  516
21.5Scheduling  517
21.5.1Time-Line Charts  517
21.5.2Tracking the Schedule  519
21.5.3Tracking Progress for an OO Project  520
21.6Earned Value Analysis  522
21.7Summary  523
PROBLEMS AND POINTS TO PONDER  524
FURTHER READINGS AND INFORMATION SOURCES  525
CHAPTER 22RISK MANAGEMENT  526
22.1Reactive versus Proactive Risk Strategies  527
22.2Software Risks  527
22.3Risk Identification  529
22.3.1Assessing Overall Project Risk  530
22.3.2Risk Components and Drivers  531
22.4Risk Projection  531
22.4.1Developing a Risk Table  532
22.4.2Assessing Risk Impact  534
22.5Risk Refinement  536
22.6Risk Mitigation, Monitoring, and Management  537
22.7The RMMM Plan  539
22.8Summary  541
PROBLEMS AND POINTS TO PONDER  541
FURTHER READINGS AND INFORMATION SOURCES  542
APPENDIX 1AN INTRODUCTION TO UML
APPENDIX 2OBJECT-ORIENTED CONCEPTS
REFERENCES

下载地址

立即下载

(解压密码:www.teccses.org)

Article Title:《软件工程实践者的研究方法-(英文精编版.第7版)》
Article link:https://www.teccses.org/238303.html