图书介绍
软件工程 实践者的研究方法 英文版·第7版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- (美)普雷斯曼著 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111318712
- 出版时间:2010
- 标注页数:898页
- 文件大小:160MB
- 文件页数:925页
- 主题词:软件工程-英文
PDF下载
下载说明
软件工程 实践者的研究方法 英文版·第7版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
CHAPTER 1 SOFTWARE AND SOFTWARE ENGINEERING1
1.1 The Nature of Software3
1.1.1 Defining Software4
1.1.2 Software Application Domains7
1.1.3 Legacy Software9
1.2 The Unigue Nature of WebApps10
1.3 Software Engineering12
1.4 The Software Process14
1.5 Software Engineering Practice17
1.5.1 The Essence of Practice17
1.5.2 General Principles19
1.6 Software Myths21
1.7 How It All Starts24
1.8 Summary25
PROBLEMS AND POINTS TO PONDER25
FURTHER READINGS AND INFORMATION SOURCES26
PART ONE THE SOFTWARE PROCESS29
CHAPTER 2 PROCESS MODELS30
2.1 A Generic Process Model31
2.1.1 Defining a Framework Activity32
2.1.2 Identifying a Task Set34
2.1.3 Process Patterns35
2.2 Process Assessment and Improvement37
2.3 Prescriptive Process Models38
2.3.1 The Waterfall Model39
2.3.2 Incremental Process Models41
2.3.3 Evolutionary Process Models42
2.3.4 Concurrent Models48
2.3.5 A Final Word on Evolutionary Processes49
2.4 Specialized Process Models50
2.4.1 Component-Based Development50
2.4.2 The Formal Methods Model51
2.4.3 Aspect-Oriented Software Development52
2.5 The Unified Process53
2.5.1 A Brief History54
2.5.2 Phases of the Unified Process54
2.6 Personal and Team Process Models56
2.6.1 Personal Software Process(PSP)57
2.6.2 Team Software Process(TSP)58
2.7 Process Technology59
2.8 Product and Process60
2.9 Summary61
PROBLEMS AND POINTS TO PONDER62
FURTHER READINGS AND INFORMATION SOURCES63
CHAPTER 3 AGILE DEVELOPMENT65
3.1 What Is Agility?67
3.2 Agility and the Cost Of Change67
3.3 What Is an Agile Process?68
3.3.1 Agility Principles69
3.3.2 The Politics of Agile Development70
3.3.3 Human Factors71
3.4 Extreme Programming(XP)72
3.4.1 XP Values72
3.4.2 The XP Process73
3.4.3 Industrial XP77
3.4.4 The XP Debate78
3.5 Other Agile Process Models80
3.5.1 Adaptive Software Development(ASD)81
3.5.2 Scrum82
3.5.3 Dynamic Systems Development Method(DSDM)84
3.5.4 Crystal85
3.5.5 Feature Driven Development(FDD)86
3.5.6 Lean Software Development(LSD)87
3.5.7 Agile Modeling(AM)88
3.5.8 Agile Unified Process(AUP)89
3.6 A Tool Set for the Agile Process91
3.7 Summary91
PPOBLEMS AND POINTS TO PONDER92
FURTHER READINGS AND INFORMATION SOURCES93
PART TWO MODELING95
CHAPTER 4 PRINCIPLES THAT GUIDE PRACTICE96
4.1 Software Engineering Knowledge97
4.2 Core Principles98
4.2.1 Principles That Guide Process98
4.2.2 Principles That Guide Practice99
4.3 Principles That Guide Each Framework Activity101
4.3.1 Communication Principles101
4.3.2 Planning Principles103
4.3.3 Modeling Principles105
4.3.4 Construction Principles111
4.3.5 Deployment Principles113
4.4 Summary115
PROBLEMS AND POINTS TO PONDER116
FURTHER READINGS AND INFORMATION SOURCES116
CHAPTER 5 UNDERSTANDING REQUIREMENTS119
5.1 Requirements Engineering120
5.2 Establishing the Groundwork125
5.2.1 Identifying Stakeholders125
5.2.2 Recognizing Multiple Viewpoints126
5.2.3 Working toward Collaboration126
5.2.4 Asking the First Questions127
5.3 Eliciting Requirements128
5.3.1 Collaborative Requirements Gathering128
5.3.2 Quality Function Deployment131
5.3.3 Usage Scenarios132
5.3.4 Elicitation Work Products133
5.4 Developing Use Cases133
5.5 Building the Requirements Model138
5.5.1 Elements of the Requirements Model139
5.5.2 Analysis Patterns142
5.6 Negotiating Requirements142
5.7 Volidating Requirements144
5.8 Summary145
PROBLEMS AND POINTS TO PONDER145
FURTHER READINGS AND INFORMATION SOURCES146
CHAPTER 6 REQUIREMENTS MODELING:SCENARIOS,INFORMATION,AND ANALYSIS CLASSES148
6.1 Requirements Analysis149
6.1.1 Overall Objectives and Philosophy150
6.1.2 Analysis Rules of Thumb151
6.1.3 Domain Analysis151
6.1.4 Requirements Modeling Approaches153
6.2 Scenario-Based Modeling154
6.2.1 Creating a Preliminary Use Case155
6.2.2 Refining a Preliminary Use Case158
6.2.3 Writing a Formal Use Case159
6.3 UML Models That Supplement the Use Case161
6.3.1 Developing an Activity Diagram161
6.3.2 Swimlane Diagrams162
6.4 Data Modeling Concepts164
6.4.1 Data Objects164
6.4.2 Data Attributes164
6.4.3 Relationships165
6.5 Class-Based Modeling167
6.5.1 Identifying Analysis Classes167
6.5.2 Specifying Attributes171
6.5.3 Defining Operations171
6.5.4 Class-Responsibility-Collaborator(CRC)Modeling173
6.5.5 Associations and Dependencies180
6.5.6 Analysis Packages182
6.6 Summary183
PROBLEMS AND POINTS TO PONDER183
FURTHER READINGS AND INFORMATION SOURCES184
CHAPTER 7 REQUIREMENTS MODELING:FLOW,BEHAVIOR,PATTERNS,AND WEBAPPS186
7.1 Requirements Modeling Strategies186
7.2 Flow-Oriented Modeling187
7.2.1 Creating a Data Flow Model188
7.2.2 Creating a Control Flow Model191
7.2.3 The Control Specification191
7.2.4 The Process Specification192
7.3 Creating a Behavioral Model195
7.3.1 Identifying Events with the Use Case195
7.3.2 State Representations196
7.4 Patterns for Requirements Modeling199
7.4.1 Discovering Analysis Patterns200
7.4.2 A Requirements Pattern Example:Actuator-Sensor200
7.5 Requirements Modeling for WebApps205
7.5.1 How Much Analysis Is Enough?205
7.5.2 Requirements Modeling Input206
7.5.3 Requirements Modeling Output207
7.5.4 Content Model for WebApps207
7.5.5 Interaction Model for WebApps209
7.5.6 Functional Model for WebApps210
7.5.7 Configuration Models for WebApps211
7.5.8 Navigation Modeling212
7.6 Summary213
PROBLEMS AND POINTS TO PONDER213
FURTHER READINGS AND INFORMATION SOURCES214
CHAPTER 8 DESIGN CONCEPTS215
8.1 Design within the Context of Software Engineering216
8.2 The Design Process219
8.2.1 Software Quality Guidelines and Attributes219
8.2.2 The Evolution of Software Design221
8.3 Design Concepts222
8.3.1 Abstraction223
8.3.2 Architecture223
8.3.3 Patterns224
8.3.4 Separation of Concerns225
8.3.5 Modularity225
8.3.6 Information Hiding226
8.3.7 Functional Independence227
8.3.8 Refinement228
8.3.9 Aspects228
8.3.10 Refactoring229
8.3.11 Object-Oriented Design Concepts230
8.3.12 Design Classes230
8.4 The Design Model233
8.4.1 Data Design Elements234
8.4.2 Architectural Design Elements234
8.4.3 Interface Design Elements235
8.4.4 Component-Level Design Elements237
8.4.5 Deployment-Level Design Elements237
8.5 Summary239
PROBLEMS AND POINTS TO PONDER240
FURTHER READINGS AND INFORMATION SOURCES240
CHAPTER 9 ARCHITECTURAL DESIGN242
9.1 Software Architecture243
9.1.1 What Is Architecture?243
9.1.2 Why Is Architecture Important?245
9.1.3 Architectural Descriptions245
9.1.4 Architectural Decisions246
9.2 Architectural Genres246
9.3 Architectural Styles249
9.3.1 A Brief Taxonomy of Architectural Styles250
9.3.2 Architectural Patterns253
9.3.3 Organization and Refinement255
9.4 Architectural Design255
9.4.1 Representing the System in Context256
9.4.2 Defining Archetypes257
9.4.3 Refining the Architecture into Components258
9.4.4 Describing Instantiations of the System260
9.5 Assessing Alternative Architectural Designs261
9.5.1 An Architecture Trade-Off Analysis Method262
9.5.2 Architectural Complexity263
9.5.3 Architectural Description Languages264
9.6 Architectural Mapping Using Data Flow265
9.6.1 Transform Mapping265
9.6.2 Refining the Architectural Design272
9.7 Summary273
PROBLEMS AND POINTS TO PONDER274
FURTHER READINGS AND INFORMATION SOURCES274
CHAPTER 10 COMPONENT-LEVEL DESIGN276
10.1 What Is a Component?277
10.1.1 An Object-Oriented View277
10.1.2 The Traditional View279
10.1.3 A Process-Related View281
10.2 Designing Class-Based Components282
10.2.1 Basic Design Principles282
10.2.2 Component-Level Design Guidelines285
10.2.3 Cohesion286
10.2.4 Coupling288
10.3 Conducting Component-Level Design290
10.4 Component-Level Design for WebApps296
10.4.1 Content Design at the Component Level297
10.4.2 Functional Design at the Component Level297
10.5 Designing Traditional Components298
10.5.1 Graphical Design Notation299
10.5.2 Tabular Design Notation300
10.5.3 Program Design Language301
10.6 Component-Based Development303
10.6.1 Domain Engineering303
10.6.2 Component Qualification,Adaptation,and Composition304
10.6.3 Analysis and Design for Reuse306
10.6.4 Classifying and Retrieving Components307
10.7 Summary309
PROBLEMS AND POINTS TO PONDER310
FURTHER READINGS AND INFORMATION SOURCES311
CHAPTER 11 USER INTERFACE DESIGN312
11.1 The Golden Rules313
11.1.1 Place the User in Control313
11.1.2 Reduce the User's Memory Load314
11.1.3 Make the Interface Consistent316
11.2 User Interface Analysis and Design317
11.2.1 Interface Analysis and Design Models317
11.2.2 The Process319
11.3 Interface Analysis320
11.3.1 User Analysis321
11.3.2 Task Analysis and Modeling322
11.3.3 Analysis of Display Content327
11.3.4 Analysis of the Work Environment328
11.4 Interface Design Steps328
11.4.1 Applying Interface Design Steps329
11.4.2 User Interface Design Patterns330
11.4.3 Design Issues331
11.5 WebApp Interface Design335
11.5.1 Interface Design Principles and Guidelines336
11.5.2 Interface Design Workflow for WebApps340
11.6 Design Evaluation342
11.7 Summary344
PROBLEMS AND POINTS TO PONDER345
FURTHER READINGS AND INFORMATION SOURCES346
CHAPTER 12 PATTERN-BASED DESIGN347
12.1 Design Patterns348
12.1.1 Kinds of Patterns349
12.1.2 Frameworks352
12.1.3 Describing a Pattern352
12.1.4 Pattern Languages and Repositories353
12.2 Pattern-Based Software Design354
12.2.1 Pattern-Based Design in Context354
12.2.2 Thinking in Patterns356
12.2.3 Design Tasks357
12.2.4 Building a Pattern-Organizing Table358
12.2.5 Common Design Mistakes359
12.3 Architectural Patterns360
12.4 Component-Level Design Patterns362
12.5 User Interface Design Patterns364
12.6 WebApp Design Patterns368
12.6.1 Design Focus368
12.6.2 Design Granularity369
12.7 Summary370
PROBLEMS AND POINTS TO PONDER371
FURTHER READING AND INFORMATION SOURCES372
CHAPTER 13 WEBAPP DESIGN373
13.1 WebApp Design Quality374
13.2 Design Goals377
13.3 A Design Pyramid for WebApps378
13.4 WebApp Interface Design378
13.5 Aesthetic Design380
13.5.1 Layout Issues380
13.5.2 Graphic Design Issues381
13.6 Content Design382
13.6.1 Content Objects382
13.6.2 Content Design Issues382
13.7 Architecture Design383
13.7.1 Content Architecture384
13.7.2 WebApp Architecture386
13.8 Navigation Design388
13.8.1 Navigation Semantics388
13.8.2 Navigation Syntax389
13.9 Component-Level Design390
13.10 Object-Oriented Hypermedia Design Method(OOHDM)390
13.10.1 Conceptual Design for OOHDM391
13.10.2 Navigational Design for OOHDM391
13.10.3 Abstract Interface Design and Implementation392
13.11 Summary393
PROBLEMS AND POINTS TO PONDER394
FURTHER READINGS AND INFORMATION SOURCES395
PART THREE QUALITY MANAGEMENT397
CHAPTER 14 QUALITY CONCEPTS398
14.1 What Is Quality?399
14.2 Software Quality400
14.2.1 Garvin's Quality Dimensions401
14.2.2 McCall's Quality Factors402
14.2.3 ISO 9126 Quality Factors403
14.2.4 Targeted Quality Factors404
14.2.5 The Transition to a Quantitative View405
14.3 The Software Quality Dilemma406
14.3.1 “Good Enough”Software406
14.3.2 The Cost of Quality407
14.3.3 Risks409
14.3.4 Negligence and Liability410
14.3.5 Quality and Security410
14.3.6 The Impact of Management Actions411
14.4 Achieving Software Quality412
14.4.1 Software Engineering Methods412
14.4.2 Project Management Techniques412
14.4.3 Quality Control412
14.4.4 Quality Assurance413
14.5 Summary413
PROBLEMS AND POINTS TO PONDER414
FURTHER READINGS AND INFORMATION SOURCES414
CHAPTER 15 REVIEW TECHNIQUES416
15.1 Cost Impact of Software Defects417
15.2 Defect Amplification and Removal418
15.3 Review Metrics and Their Use420
15.3.1 Analyzing Metrics420
15.3.2 Cost Effectiveness of Reviews421
15.4 Reviews:A Formality Spectrum423
15.5 Informal Reviews424
15.6 Formal Technical Reviews426
15.6.1 The Review Meeting426
15.6.2 Review Reporting and Record Keeping427
15.6.3 Review Guidelines427
15.6.4 Sample-Driven Reviews429
15.7 Summary430
PROBLEMS AND POINTS TO PONDER431
FURTHER READINGS AND INFORMATION SOURCES431
CHAPTER 16 SOFTWARE QUALITY ASSURANCE432
16.1 Background Issues433
16.2 Elements of Software Quality Assurance434
16.3 SQA Tasks,Goals,and Metrics436
16.3.1 SQA Tasks436
16.3.2 Goals,Attributes,and Metrics437
16.4 Formal Approaches to SQA438
16.5 Statistical Software Quality Assurance439
16.5.1 A Generic Example439
16.5.2 Six Sigma for Software Engineering441
16.6 Software Reliability442
16.6.1 Measures of Reliability and Availability442
16.6.2 Software Safety443
16.7 The ISO 9000 Quality Standards444
16.8 The SQA Plan445
16.9 Summary446
PROBLEMS AND POINTS TO PONDER447
FURTHER READINGS AND INFORMATION SOURCES447
CHAPTER 17 SOFTWARE TESTING STRATEGIES449
17.1 A Strategic Approach to Software Testing450
17.1.1 Verification and Validation450
17.1.2 Organizing for Software Testing451
17.1.3 Software Testing Strategy—The Big Picture452
17.1.4 Criteria for Completion of Testing455
17.2 Strategic Issues455
17.3 Test Strategies for Conventional Software456
17.3.1 Unit Testing456
17.3.2 Integration Testing459
17.4 Test Strategies for Object-Oriented Software465
17.4.1 Unit Testing in the OO Context466
17.4.2 Integration Testing in the OO Context466
17.5 Test Strategies for WebApps467
17.6 Validation Testing467
17.6.1 Validation-Test Criteria468
17.6.2 Configuration Review468
17.6.3 Alpha and Beta Testing468
17.7 System Testing470
17.7.1 Recovery Testing470
17.7.2 Security Testing470
17.7.3 Stress Testing471
17.7.4 Performance Testing471
17.7.5 Deployment Testing472
17.8 The Art of Debugging473
17.8.1 The Debugging Process473
17.8.2 Psychological Considerations474
17.8.3 Debugging Strategies475
17.8.4 Correcting the Error477
17.9 Summary478
PROBLEMS AND POINTS TO PONDER478
FURTHER READINGS AND INFORMATION SOURCES479
CHAPTER 18 TESTING CONVENTIONAL APPLICATIONS481
18.1 Software Testing Fundamentals482
18.2 Internal and External Views of Testing484
18.3 White-Box Testing485
18.4 Basis Path Testing485
18.4.1 Flow Graph Notation485
18.4.2 Independent Program Paths487
18.4.3 Deriving Test Cases489
18.4.4 Graph Matrices491
18.5 Control Structure Testing492
18.5.1 Condition Testing492
18.5.2 Data Flow Testing493
18.5.3 Loop Testing493
18.6 Black-Box Testing495
18.6.1 Graph-Based Testing Methods495
18.6.2 Equivalence Partitioning497
18.6.3 Boundary Value Analysis498
18.6.4 Orthogonal Array Testing499
18.7 Model-Based Testing502
18.8 Testing for Specialized Environments,Architectures,and Applications503
18.8.1 Testing GUIs503
18.8.2 Testing of Client-Server Architectures503
18.8.3 Testing Documentation and Help Facilities505
18.8.4 Testing for Real-Time Systems506
18.9 Patterns for Software Testing507
18.10 Summary508
PROBLEMS AND POINTS TO PONDER509
FURTHER READINGS AND INFORMATION SOURCES510
CHAPTER 19 TESTING OBJECT-ORIENTED APPLICATIONS511
19.1 Broadening the View of Testing512
19.2 Testing OOA and OOD Models513
19.2.1 Correctness of OOA and OOD Models513
19.2.2 Consistency of Object-Oriented Models514
19.3 Object-Priented Testing Strategies516
19.3.1 Unit Testing in the OO Context516
19.3.2 Integration Testing in the OO Context516
19.3.3 Validation Testing in an OO Context517
19.4 Object-Oriented Testing Methods517
19.4.1 The Test-Case Design Implications of OO Concepts518
19.4.2 Applicability of Conventional Test-Case Design Methods518
19.4.3 Fault-Based Testing519
19.4.4 Test Cases and the Class Hierarchy519
19.4.5 Scenario-Based Test Design520
19.4.6 Testing Surface Structure and Deep Structure522
19.5 Testing Methods Applicable at the Class Level522
19.5.1 Random Testing for OO Classes522
19.5.2 Partition Testing at the Class Level524
19.6 Interclass Test-Case Design524
19.6.1 Multiple Class Testing524
19.6.2 Tests Derived from Behavior Models526
19.7 Summary527
PROBLEMS AND POINTS TO PONDER528
FURTHER READINGS AND INFORMTION SOURCES528
CHAPTER 20 TESTING WEB APPLICATIONS529
20.1 Testing Concepts for WebApps530
20.1.1 Dimensions of Quality530
20.1.2 Errors within a WebApp Environment531
20.1.3 Testing Strategy532
20.1.4 Test Planning532
20.2 The Testing Process—An Overview533
20.3 Content Testing534
20.3.1 Content Testing Objectives534
20.3.2 Database Testing535
20.4 User Interface Testing537
20.4.1 Interface Testing Strategy537
20.4.2 Testing Interface Mechanisms538
20.4.3 Testing Interface Semantics540
20.4.4 Usability Tests540
20.4.5 Compatibility Tests542
20.5 Component-Level Testing543
20.6 Navigation Testing545
20.6.1 Testing Navigation Syntax545
20.6.2 Testing Navigation Semantics546
20.7 Configuration Testing547
20.7.1 Server-Side Issues547
20.7.2 Client-Side Issues548
20.8 Security Testing548
20.9 Performance Testing550
20.9.1 Performance Testing Objectives550
20.9.2 Load Testing551
20.9.3 Stress Testing552
20.10 Summary553
PROBLEMS AND POINTS TO PONDER554
FURTHER READINGS AND INFORMATION SOURCES555
CHAPTER 21 FORMAL MODELING AND VERIFICATION557
21.1 The Cleanroom Strategy558
21.2 Functional Specification560
21.2.1 Black-Box Specification561
21.2.2 State-Box Specification562
21.2.3 Clear-Box Specification562
21.3 Cleanroom Design563
21.3.1 Design Refinement563
21.3.2 Design Verification564
21.4 Cleanroom Testing566
21.4.1 Statistical Use Testing566
21.4.2 Certification567
21.5 Formal Methods Concepts568
21.6 Applying Mathematical Notation for Formal Specification571
21.7 Formal Specification Languages573
21.7.1 Object Constraint Language(OCL)574
21.7.2 The Z Specification Language577
21.8 Summary580
PROBLEMS AND POINTS TO PONDER581
FURTHER READINGS AND INFORMATION SOURCES582
CHAPTER 22 SOFTWARE CONFIGURATION MANAGEMENT584
22.1 Software Configuration Management585
22.1.1 An SCM Scenario586
22.1.2 Elements of a Configuration Management System587
22.1.3 Baselines587
22.1.4 Software Configuration ltems589
22.2 The SCM Repository590
22.2.1 The Role of the Repository590
22.2.2 General Features and Content591
22.2.3 SCM Features592
22.3 The SCM Process593
22.3.1 Identification of Objects in the Software Configuration594
22.3.2 Version Control595
22.3.3 Change Control596
22.3.4 Configuration Audit599
22.3.5 Status Reporting600
22.4 Configuration Management for WebApps601
22.4.1 Dominant Issues601
22.4.2 WebApp Configuration Objects603
22.4.3 Content Management603
22.4.4 Change Management606
22.4.5 Version Control608
22.4.6 Auditing and Reporting609
22.5 Summary610
PROBLEMS AND POINTS TO PONDER611
FURTHER READINGS AND INFORMATION SOURCES612
CHAPTER 23 PRODUCT METRICS613
23.1 A Framework for Product Metrics614
23.1.1 Measures,Metrics,and Indicators614
23.1.2 The Challenge of Product Metrics615
23.1.3 Measurement Principles616
23.1.4 Goal-Oriented Software Measurement617
23.1.5 The Attributes of Effective Software Metrics618
23.2 Metrics for the Requirements Model619
23.2.1 Function-Based Metrics620
23.2.2 Metrics for Specification Quality623
23.3 Metrics for the Design Model624
23.3.1 Architectural Design Metrics624
23.3.2 Metrics for Object-Oriented Design627
23.3.3 Class-Oriented Metrics—The CK Metrics Suite628
23.3.4 Class-Oriented Metrics—The MOOD Metrics Suite631
23.3.5 OO Metrics Proposed by Lorenz and Kidd632
23.3.6 Component-Level Design Metrics632
23.3.7 Operation-Oriented Metrics634
23.3.8 User Interface Design Metrics635
23.4 Design Metrics for WebApps636
23.5 Metrics for Source Code638
23.6 Metrics for Testing639
23.6.1 Halstead Metrics Applied to Testing639
23.6.2 Metrics for Object-Oriented Testing640
23.7 Metrics for Maintenance641
23.8 Summary642
PROBLEMS AND POINTS TO PONDER642
FURTHER READINGS AND INFORMATION SOURCES643
PART FOUR MANAGING SOFTWARE PROJECTS645
CHAPTER 24 PROJECT MANAGEMENT CONCEPTS646
24.1 The Management Spectrum647
24.1.1 The People647
24.1.2 The Product648
24.1.3 The Process648
24.1.4 The Project648
24.2 People649
24.2.1 The Stakeholders649
24.2.2 Team Leaders650
24.2.3 The Software Team651
24.2.4 Agile Teams654
24.2.5 Coordination and Communication Issues655
24.3 The Product656
24.3.1 Software Scope656
24.3.2 Problem Decomposition656
24.4 The Process657
24.4.1 Melding the Product and the Process657
24.4.2 Process Decomposition658
24.5 The Project660
24.6 The W5HH Principle661
24.7 Critical Practices662
24.8 Summary663
PROBLEMS AND POINTS TO PONDER663
FURTHER READINGS AND INFORMATION SOURCES664
CHAPTER 25 PROCESS AND PROJECT METRICS666
25.1 Metrics in the Process and Project Domains667
25.1.1 Process Metrics and Software Process Improvement667
25.1.2 Project Metrics670
25.2 Software Measurement671
25.2.1 Size-Oriented Metrics672
25.2.2 Function-Oriented Metrics673
25.2.3 Reconciling LOC and FP Metrics673
25.2.4 Object-Oriented Metrics675
25.2.5 Use-Case-Oriented Metrics676
25.2.6 WebApp Project Metrics677
25.3 Metrics for Software Quality679
25.3.1 Measuring Quality680
25.3.2 Defect Removal Efficiency681
25.4 Intecgrating Metrics within the Software Process682
25.4.1 Arguments for Software Metrics683
25.4.2 Establishing a Baseline683
25.4.3 Metrics Collection,Computation,and Evaluation684
25.5 Metrics for Small Organizations684
25.6 Establishing a Software Metrics Program686
25.7 Summary688
PROBLEMS AND POINTS TO PONDER688
FURTHER READINGS AND INFORMATION SOURCES689
CHAPTER 26 ESTIMATION FOR SOFTWARE PROJECTS691
26.1 Observations on Estimation692
26.2 The Project Planning Process693
26.3 Software Scope and Feasibility694
26.4 Resources695
26.4.1 Human Resources695
26.4.2 Reusable Software Resources696
26.4.3 Environmental Resources696
26.5 Software Project Estimation697
26.6 Decomposition Techniques698
26.6.1 Software Sizing698
26.6.2 Problem-Based Estimation699
26.6.3 An Example of LOC-Based Estimation701
26.6.4 An Example of FP-Based Estimation702
26.6.5 Process-Based Estimation703
26.6.6 An Example of Process-Based Estimation704
26.6.7 Estimation with Use Cases705
26.6.8 An Example of Use-Case-Based Estimation706
26.6.9 Reconciling Estimates707
26.7 Empirical Estimation Models708
26.7.1 The Structure of Estimation Models709
26.7.2 The COCOMO II Model709
26.7.3 The Softwgre Equation711
26.8 Estimation for Object-Oriented Projects712
26.9 Specialized Estimation Techniques713
26.9.1 Estimation for Agile Development713
26.9.2 Estimation for WebApp Projects714
26.10 The Make/Buy Decision715
26.10.1 Creating a Decision Tree715
26.10.2 Outsourcing717
26.11 Summary718
PROBLEMS AND POINTS TO PONDER719
FURTHER READINGS AND INFORMATION SOURCES719
CHAPTER 27 PROJECT SCHEDULING721
27.1 Basic Concepts722
27.2 Project Scheduling724
27.2.1 Basic Principles725
27.2.2 The Relationship Between People and Effort725
27.2.3 Effort Distribution727
27.3 Defining a Task Set for the Software Project728
27.3.1 A Tosk Set Example729
27.3.2 Refinement of Software Engineering Actions730
27.4 Defining a Task Network731
27.5 Scheduling732
27.5.1 Time-Line Charts732
27.5.2 Tracking the Schedule734
27.5.3 Tracking Progress for an OO Project735
27.5.4 Scheduling for WebApp Projects736
27.6 Earned Value Analysis739
27.7 Summary741
PROBLEMS AND POINTS TO PONDER741
FURTHER READINGS AND INFORMATION SOURCES743
CHAPTER 28 RISK MANAGEMENT744
28.1 Reactive versus Proactive Risk Strategies745
28.2 Software Risks745
28.3 Risk Identification747
28.3.1 Assessing Overall Project Risk748
28.3.2 Risk Components and Drivers749
28.4 Risk Projection749
28.4.1 Developing a Risk Table750
28.4.2 Assessing Risk Impact752
28.5 Risk Refinement754
28.6 Risk Mitigation,Monitoring,and Management755
28.7 The RMMM Plan757
28.8 Summary759
PROBLEMS AND POINTS TO PONDER759
FURTHER READINGS AND INFORMATION SOURCES760
CHAPTER 29 MAINTENANCE AND REENGINEERING761
29.1 Software Maintenance762
29.2 Software Suppportability764
29.3 Reengineering764
29.4 Business Process Reengineering765
29.4.1 Business Processes765
29.4.2 A BPR Model766
29.5 Software Reengineering768
29.5.1 A Software Reengineering Process Model768
29.5.2 Software Reengineering Activities770
29.6 Reverse Engineering772
29.6.1 Reverse Engineering to Understand Data773
29.6.2 Reverse Engineering to Understand Processing774
29.6.3 Reverse Engineering User Interfaces775
29.7 Restructuring776
29.7.1 Code Restructuring776
29.7.2 Data Restructuring777
29.8 Forward Engineering778
29.8.1 Forward Engineering for Client-Server Architectures779
29.8.2 Forward Engineering for Object-Oriented Architectures780
29.9 The Economics of Reengineering780
29.10 Summary781
PROBLEMS AND POINTS TO PONDER782
FURTHER READINGS AND INFORMATION SOURCES783
PART FIVE ADVANCED TOPICS785
CHAPTER 30 SOFTWARE PROCESS IMPROVEMENT786
30.1 What Is SPI?787
30.1.1 Approachesto SPI787
30.1.2 Maturity Models789
30.1.3 Is SPI for Everyone?790
30.2 The SPI Process791
30.2.1 Assessment and Gap Analysis791
30.2.2 Education and Training793
30.2.3 Selection and Justification793
30.2.4 Installation/Migration794
30.2.5 Evaluation795
30.2.6 Risk Management for SPI795
30.2.7 Critical Success Factors796
30.3 The CMMI797
30.4 The People CMM801
30.5 Other SPI Frameworks802
30.6 SPI Return on Investment804
30.7 SPI Trends805
30.8 Summary806
PROBLEMS AND POINTS TO PONDER806
FURTHER READINGS AND INFORMATION SOURCES807
CHAPTER 31 EMERGING TRENDS IN SOFTWARE ENGINEERING808
31.1 Technology Evolution809
31.2 Observing Software Engineering Trends811
31.3 Identifying“Soft Trends”812
31.3.1 Managing Complexity814
31.3.2 Open-World Software815
31.3.3 Emergent Requirements816
31.3.4 The Talent Mix816
31.3.5 Software Building Blocks817
31.3.6 Changing Perceptions of“Value”818
31.3.7 Open Source818
31.4 Technology Directions819
31.4.1 Process Trends819
31.4.2 The Grand Challenge821
31.4.3 Collaborative Development822
31.4.4 Requirements Engineering824
31.4.5 Model-Driven Software Development825
31.4.6 Postmodern Design825
31.4.7 Test-Driven Development826
31.5 Tools-Related Trends827
31.5.1 Tools That Respond to Soft Trends828
31.5.2 Tools That Address Technology Trends830
31.6 Summary830
PROBLEMS AND POINTS TO PONDER831
FURTHER READINGS AND INFORMATION SOURCES831
CHAPTER 32 CONCLUDING COMMENTS833
32.1 The Importance of Software—Revisited834
32.2 People and the Way They Build Systems834
32.3 New Modes for Representing Information835
32.4 The Long View837
32.5 The Software Engineer's Responsibility838
32.6 A Final Comment839
APPENDIX 1 AN INTRODUCTION TO UML841
APPENDIX 2 OBJECT-ORIENTED CONCEPTS863
REFERENCES871
INDEX889
热门推荐
- 2908199.html
- 3344709.html
- 3645587.html
- 1105801.html
- 3224313.html
- 63381.html
- 2326304.html
- 1235077.html
- 2941864.html
- 1621335.html
- http://www.ickdjs.cc/book_1157630.html
- http://www.ickdjs.cc/book_2234954.html
- http://www.ickdjs.cc/book_2267013.html
- http://www.ickdjs.cc/book_1239237.html
- http://www.ickdjs.cc/book_3632036.html
- http://www.ickdjs.cc/book_2560850.html
- http://www.ickdjs.cc/book_3081933.html
- http://www.ickdjs.cc/book_514210.html
- http://www.ickdjs.cc/book_2969020.html
- http://www.ickdjs.cc/book_1387481.html