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

- (美)(R.S.普雷斯曼)Roger S.Pressman著 著
- 出版社: 北京:机械工业出版社
- ISBN:7111067118
- 出版时间:1999
- 标注页数:852页
- 文件大小:50MB
- 文件页数:878页
- 主题词:
PDF下载
下载说明
软件工程实践者的研究方法 英文版·第4版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
PREFACE1
PREFACE1
PART ONE THE PRODUCT AND THE PROCESS1
PART ONE THE PRODUCT ADND THE PROCESS1
CHAPTER1 THE PRODUCT3
CHAPTER1 THE PRODUCT3
1.1THE EVOIVING ROLE OF SOFTWARE4
1.1.1 An Industry Perspective7
1.1.2 An Aging Software Plant8
1.1.3 Software Competitiveness9
1.2 SOFTWARE9
1.2.1 Software Characteristics10
1.2.2 Software Components13
1.2.3 Software Applications14
1.3 SOFTWARE: A CRISIS ON THE HORIZON16
1.4 SOFTWARE MYTHS17
1.5 SUMMARY19
REFERENCES19
PROBLEMS AND POINTS TO PONDER20
FURTHER READINGS AND INFORMATION SOURCES21
CHAPTER2 THE PROCESS22
CHAPTER2 THE PROCESS22
2.1 SOFTWARE ENGINEERING—A LAYERED TECHNOLOGY22
2.1.1 Process, Methods, and Tools23
2.1.2 A Generic View of Software Engineering24
2.2 THE SOFTWARE PROCESS26
2.3 SOFTWARE PROCESS MODELS28
2.4 THE LINEAR SEQUENTIAL MQDEL29
2.5 THE PROTOTYPING MODEL32
2.6 THE RAD MODEL34
2.7 EVOLUTIONARY SOFTWARE PROCESS MODELS37
2.7.1 The Incremental Model37
2.7.2 The Spiral Model39
2.7.3 The Component Assembly Model42
2.7.4 The Concurrent Development Model43
2.8 THE FORMAL METHODS MODEL45
2.9 FOURTH GENERATION TECHNIQUES46
2.10 PROCESS TECHNOLOGY47
2.11 PRODUCT AND PROCESS48
2.12 SUMMARY49
REFERENCES49
PROBLEMS AND POINTS TO PONDER50
FURTHER READINGS AND OTHER INFORMATION SOURCES51
PART TWO MANAGING SOFTWARE PROJECTS55
PART TWO MANAGING SOFTWARE PROJECTS55
CHAPTER3 PROJECT MANAGEMENT CONCEPTS57
CHAPTER3 PROJECT MANAGEMENT CONCEPTS57
3.1 THE MANAGEMENT SPECTRUM58
3.1.1 Peole58
3.1.2 The Problem58
3.1.3 The Process59
3.2PEOPLE59
3.2.1 The Players60
3.2.2 Team Leaders60
3.2.3 The Software Team61
3.2.4 Coordination and Communication lssues65
3.3.1 Software Scope66
3.3 THE PROBLEM66
3.3.2 Problem Decomposition67
3.4 THE PROCESS68
3.4.1 Melding the Problem and the Process69
3.4.2 Process Decomposition70
3.5 THE PROJECT71
3.6 SUMMARY72
REFERENCES72
PROBLEMS AND POINTS TO PONDER73
FURTHER READINGS AND OTHER INFORMATION SOURCES74
CHAPTER4 SOFTWARE PROCESS AND PROJECT METRICS76
CHAPTER4 SOFTWARE PROCESS AND PROJECT METRICS76
4.1 MEASURES, METRICS, AND INDICATORS77
4.2 METRICS IN THE PROCESS AND PROJECT DOMAINS77
4.2.1 Process Metrics and Software Process Improvement78
4.2.2 Project Metrics82
4.3 SOFTWARE MEASUREMENT83
4.3.1 Size-Oriented Metrics84
4.3.2 Function-Oriented Metrics85
4.3.3 Extended Function Point Metrics87
4.4 RECONCILING DIFFERENT METRICS APPROACHES90
4.5 METRICS FOR SOFTWARE QUALITY92
4.5.1 An Overview of Factors That Affect Quality92
4.5.2 Measuring Quality93
4.5.3 Defect Removal Efficiency94
4.6 INTEGRATING METRICS WITHIN THE SOFTWARE PROCESS95
4.7 SUMMARY97
REFERENCES98
PROBLEMS AND POINTS TO PONDER99
FURTHER READINGS AND OTHER INFORMATION SOURCES100
CHAPTER5 SOFTWARE PROJECT PLANNING102
CHAPTER5 SOFTWARE PROJECT PLANNING102
5.1 OBSERVATIONS ON ESTIMATING102
5.3.1 Obtaining Information Necessary for Scope104
5.3 SOFTWARE SCOPE104
5.2 PROJECT PTANNING OBJECTIVES104
5.3.2 A Scoping Example106
5.4 RESOURCES108
5.4.1 Human Resources109
5.4.2 Reusable Software Resources109
5.4.3 Environmental Resources110
5.5 SOFTWARE PROJECT ESTIMATION111
5.6 DECOMPOSITION TECHNIQUES112
5.6.1 Software Sizing112
5.6.2 Problem-Based Estimation113
5.6.3 An Example of LOC-Based Estimation115
5.6.4 An Example of FP-Based Estimation116
5.6.5 Process-Based Estimation118
5.6.6 An Example of Process-Based Estimalion118
5.7.1 The Structure of Estimation Models120
5.7 EMPIRICAL ESTIMATION MODELS120
5.7.2 The COCOMO Model121
5.7.3 The Software Equation124
5.8 THE MAKE-BUY DECISION125
5.8.1 Creating a Decision Tree126
5.8.2 Outsourcing127
5.9 AUTOMATED ESTIMATION TOOLS128
5.10 SUMMARY129
REFERENCES129
PROBLEMS AND POINTS TO PONDER129
FURTHER READINGS AND OTHER INFORMATION SOURCES130
CHAPTER6 RISK MANAGEMAENT132
CHAPTER6 RISK MANAGEMENT132
6.2 SOFTWARE RISKS133
6.1 REACTIVE VS.PROACTIVE RISK STRATEGIES133
6.3 RISK IDENTIFICATION134
6.3.1 Product Size Risks135
6.3.2 Business Impact Risks136
6.3.3 Customer-Related Risks136
6.3.4 Process Risks137
6.3.5 Technology Risk139
6.3.6 Development Environment Risks139
6.3.7 Risks Associated with Staff Size and Experience140
6.3.8 Risk Components and Drivers141
6.4 RISK PROJECTION141
6.4.1 Developing a Risk Table141
6.4.2 Assessing Risk Impact144
6.4.3 Risk Assessment145
6.5 RISK MITIGATION, MONITORING, AND MANAGEMENT146
6.6 SAFETY RISKS AND HAZARDS148
6.7 THE RMMM PLAN149
6.8 SUMMARY149
REFERENCES150
PROBLEMS AND POINTS TO PONDER150
FURTHER READINGS AND OTHER INFORMATION SOURCES151
CHAPTER7 PROJECT SCHEDULING AND TRACKING153
CHAPTER7 PROJECT SCHEDULING AND TRACKING153
7.1BASIC CONCEPTS154
7.1.1 Comments on Lateness154
7.1.2 Basic Principles156
7.2 THE RELATIONSHIP BETWEEN PEOPLE AND EFFORT157
7.2.1 An Example158
7.2.2 An Empirical Relationship158
7.2.3 Effort Distribution159
7.3 DEFINING A TASK SET FOR THE SOFTWARE PROJECT160
7.3.1 Degree of Rigor161
7.3.2 Defining Adaptation Criteria161
7.3.3 Computing a Task Set Selector Value162
7.3.4 Interpreting the TSS Value and Selecling the Task Set163
7.4 SELECTING SOFTWARE ENGINEERING TASKS164
7.5 REFINEMENT OF MAJOR TASKS165
7.6 DEFINING A TASK NETWORK168
7.7 SCHEDULING170
7.7.1 Timeline Charts170
7.7.2 Tracking the Schedule172
7.8 THE PROJECT PLAN174
7.8 SUMMARY175
REFERENCES176
PROBLEMS AND POINTS TO PONDER176
FURTHER READINGS AND OTHER INFORMATION SOURCES177
CHAPTER8 SOFTWARE QUAUTY ASSURANCE179
CHAPTER8 SOFTWARE QUALITY ASSURANCE179
8.1 QUALITY CONCEPTS180
8.1.1 Quality181
8.1.2 Quality Control181
8.1.3 Quality Assurance182
8.1.4 Cost of Quality182
8.2 THE QUALITY MOVEMENT184
8.3 SOFTWARE QUALITY ASSURANCE185
8.3.1 Background Issues185
8.3.2 SQA Activities186
8.4 SOFTWARE REVIEWS187
8.4.1 Cost Impact of Software Defects188
8.4.2 Defect Amplification and Removal189
8.5 FORMAL TECHNICAL REVIEWS190
8.5.1 The Review Meeting191
8.5.2 Review Reporling and Record Keeping192
8.5.3 Review Guidelines193
8.6 FORMAL APPROACHES TO SQA194
8.7 STATISTICAL QUALITY ASSURANCE195
8.8 SOFTWARE RELIABILITY197
8.8.1 Measures of Reliability and Availability198
8.8.2 Software Safety and Hazard Analysis198
8.9 THE SQA PLAN200
8.10.2 The ISO 9001 Standard202
8.10 THE ISO 9000 QUALITY STANDARDS202
8.10.1 The ISO Approach to Quality Assurance Systems202
8.11 SUMMARY203
REFERENCES204
PROBLEMS AND POINTS TO PONDER205
FURTHER READINGS AND OTHER INFORMATION SOURCES206
CHAPTER 9 SOFTWARE CONFIGURATION MANAGEMENT209
CHAPTER9 SOFTWARE CONFIGURATION MANAGEMENT209
9.1 SOFTWARE CONFIGURATION MANAGEMENT210
9.1.1 Baselines210
9.1.2 Software Configuration Items212
9.2 THE SCM PROCESS214
9.3 IDENTIFICATION OF OBJECTS IN THE SOFTWARE CONFIGURATION215
9.4 VERSION CONTROL218
9.5 CHANGE CONTROL220
9.6 CONFIGURATION AUDIT223
9.7 STATUS REPORTING224
9.8 SCM STANDARDS224
9.9 SUMMARY224
REFERENCES225
PROBLEMS AND POINTS TO PONDER226
FURTHER READINGS AND OTHER INFORMATION SOURCES226
PART THREE CONVENTIONAL METHODS FOR SOFTWARE ENGINEERING229
PART THREE CONVENTIONAL METHODS FOR SOFTWARE ENGINEERING229
CHAPTER10 SYSTEM ENGINEERING231
CHAPTER10 SYSTEM ENGINEERING231
10.1 COMPUTER-BASED SYSTEMS232
10.2 THE SYSTEM ENGINEERING HIERARCHY234
10.2.1 System Modeling235
10.2.2 Information Engineering: An Overview237
10.2.3 Product Engineering: An Overview239
10.3 INFORMATION ENGINEERING241
10.4 INFORMATION STRATEGY PLANNING241
10.4.1 Enterprise Modeling242
10.4.2 Business-Level Data Modeling244
10.5 BUSINESS AREA ANALYSIS245
10.5.1 Process Modeling247
10.5.2 Information Flow Modeling247
10.6 PRODUCT ENGINEERING250
10.6.3 Feasibility Study253
10.6.1 System Analysis253
10.6.2 Identification of Need253
10.6.4 Economic Analysis255
10.6.5 Technical Analysis256
10.7 MODELING THE SYSTEM ARCHITECTURE259
10.8 SYSTEM MODELING AND SIMULATION262
10.9 SYSTEM SPECIFICATION264
10.10 SUMMARY264
REFERENCES266
PROBLEMS AND POINTS TO PONDER266
FURTHER READINGS AND OTHER INFORMATION SOURCES268
11.1 REQUIREMENTS ANALYSIS270
CHAPTER11 ANALYSIS CONCEPTS AND PRINCIPLES270
CHAPTER11 ANALYSIS CONCEPTS AND PRINCIPLES270
11.2 COMMUNICATION TECHNIQUES272
11.2.1 Initiating the Process273
11.2.2 Facilitated Application Specification Techniques274
11.2.3 Quality Function Deployment277
11.3 ANALYSIS PRINCIPLES278
11.3.1 The Information Domain279
11.3.2 Modeling281
11.3.3 Partitioning282
11.3.4 Essential and Implementation Views284
11.4.1 Selecting the Prototyping Approach285
11.4 SOFTWARE PROTOTYPING285
11.4.2 Prototyping Methods and Tools287
11.5 SPECIFICATION288
11.5.1 Specification Principles288
11.5.2 Representation289
11.5.3 The Software Requirements Specification290
11.6 SPECIFICATION REVIEW292
11.7 SUMMARY293
REFERENCES294
PROBLEMS AND POINTS TO PONDER295
FURTHER READINGS AND OTHER INFORMATION SOURCES296
CHAPTER12 ANALYSIS MODELING298
CHAPTER12 ANALYSIS MODELING298
12.1 A BRIEF HISTORY299
12.2 THE ELEMENTS OF THE ANALYSIS MODEL300
12.3 DATA MODELING301
12.3.1 Data Objects, Attributes, and Relationships301
12.3.2 Cardinality and Modality304
12.3.3 Entity-Relationship Diagrams305
12.4 FUNCTIONAL MODELING AND INFORMATION FLOW309
12.4.1 Data Flow Diagrams309
12.4.2 Extensions for Real-Time Systems312
12.4.3 Ward and Mellor Extensions312
12.4.4 Hatley and Pirbhai Extensions315
12.5 BEHAVIORAL MODELING316
12.6 THE MECHANICS OF STRUCTURED ANALYSIS320
12.6.1 Creating on Entity-Relationship Diagram321
12.6.2 Creating a Data Flow Model323
12.6.3 Creating a Control Flow Model325
12.6.4 The Control Specification328
12.6.5 The Process Specification330
12.7 THE DATA DICTIONARY330
12.8 AN OVERVIEW OF OTHER CLASSICAL ANALYSIS METHODS334
13.8.1 Data Structured Systems Development334
12.8.2 Jackson System Development335
12.8.3 SADT335
12.9 SUMMARY336
REFERENCES336
PROBLEMS AND POINTS TO PONDER337
FURTHER READINGS AND OTHER INFORMATION SOURCES339
CHAPTER13 DESIGN CONCEPTS AND PRINCIPLES341
13.1 SOFTWARE DESIGN AND SOFTWARE ENGINEERING341
CHAPTER13 DESIGN CONCEPTS AND PRINCIPLES341
13.2 THE DESIGN PROCESS343
13.2.1 Design and Software Quality343
13.2.2 The Evolution of Software Design344
13.3 DESIGN PRINCIPLES345
13.4 DESIGN CONCEPTS346
13.4.1 Abstraction347
13.4.2 Refinement348
13.4.3 Modularily348
13.4.4 Software-Architecture351
13.4.5 Control Hierarchy352
13.4.6 Structural Partitioning353
13.4.7 Data Structure354
13.4.8 Software Procedure355
13.4.9 Information Hiding356
13.5 EFFECTIVE MODULAR DESIGN357
13.5.1 Functional Independence357
13.5.2 Cohesion358
13.5.3 Coupling359
13.6 DESIGN HEURISTICS FOR EFFECTIVE MODULARITY361
13.8 DESIGN DOCUMENTATION363
13.7 THE DESIGN MODEL363
13.9 SUMMARY365
REFERENCES366
PROBLEMS AND POINTS TO PONDER367
FURTHER READINGS AND OTHER INFORMATION SOURCES368
CHAPTER14 DESIGN METHODS371
14.1 DATA SESIGN371
CHAPTER14 DESIGN METHODS371
14.2 ARCHITECTURAL DESIGN373
14.2.1 Contributors374
14.2.2 Areas of Application374
14.3.1 Transform Flow375
14.3 THE ARCHITECTURAL DESIGN PROCESS375
14.3.2 Transaction Flow375
14.4 TRANSFORM MAPPING377
14.4.1 An Example377
14.4.2 Design Steps378
14.5 TRANSACTION MAPPING387
14.5.1 An Example387
14.5.2 Design Steps387
14.6 DESIGN POSTPROCESSING390
14.7 ARCHITECTURAL DESIGN OPTIMIZATION391
14.8 INTERFACE DESIGN393
14.8.1 Internal and External Interface Design394
14.8.2 User Interface Design394
14.9 HUMAN-COMPUTER INTERFACE DESIGN395
14.9.1 Interface Design Models395
14.9.2 Task Analysis and Modeling396
14.9.3 Design Issues398
14.9.4 Implementation Tools400
14.9.5 Design Evaluation401
14.10.1 General Interaction403
14.10 INTERFACE DESIGN GUIDELINES403
14.10.2 Information Display404
14.10.3 Data Input405
14.11.1 Structured Programming406
14.11 PROCEDURAL DESIGN406
14.11.2 Graphical Design Notation407
14.11.3 Tabular Design Notation409
14.11.4 Program Design Language411
14.11.5 A PDL Example412
14.12 SUMMARY415
REFERENCES416
PROBLEMS AND POINTS TO PONDER417
FURTHER READINGS AND OTHER INFORMATION SOURCES421
CHAPTER15 DESIGN FOR REAL-TIME SYSTEMS423
CHAPTER15 DESIGN FOR REAL-TIME SYSTEMS423
15.1 SYSTEM CONSIDERATIONS424
15.2.1 Integration and Performance Issues425
15.2 REAL-TIME SYSTEMS425
15.2.2 Interrupt Handing426
15.2.3 Real-Time Data Bases426
15.2.4 Real-Time Operating Systems428
15.2.5 Real-Time Languages429
15.2.6 Task Synchronization and Communication430
15.3 ANALYSIS AND SIMULATION OF REAL-TIME SYSTEMS430
15.3.1 Mathematical Tools for Real-Time System Analysis431
15.3.2 Simulation and Modeling Techniques435
15.4 REAL-TIME DESIGN442
15.5 SUMMARY443
REFERENCES444
PROBLEMS AND POINTS TO PONDER445
FURTHER READINGS AND OTHER INFORMATION SOURCES445
CHAPTER16 SOFTWARE TESTING TECHNIQUES448
CHAPTER16 SOFTWARE TESTING METHODS448
16.1 SOFTWARE TESTING FUNDAMENTALS449
16.1.1 Testing Objectives449
16.1.2 Testing Principles450
16.1.3 Testability451
16.2 TEST CASE DESIGN453
16.4 BASIS PATH TESTING455
16.3 WHITE BOX TESTING455
16.4.1 Flow Graph Notation456
16.4.2 Cyclomatic Complexity458
16.4.3 Deriving Test Cases460
16.4.4 Graph Matrices463
16.5 CONTROL STRUCTURE TESTING464
16.5.1 Condition Testing465
16.5.2 Data flow Testing467
16.5.3 Loop Testing469
16.6 BLACK-BOX TESTING470
16.6.1 Graph-Based Testing Methods471
16.6.2 Equivalence Partitioning474
16.6.3 Boundary Value Analysis475
16.6.4 Comparison Testing476
16.7 TESTING FOR SPECIALIZED ENVIRONMENTS477
16.7.1 Testing GULs477
16.7.3 Testing Documentation and Help Facilities479
16.7.2 Testing of Client/Server Architecures479
16.7.4 Testing for Real-Time Systems480
16.8 SUMMARY481
REFERENCES482
PROBLEMS AND POINTS TO PONDER483
FURTHER READINGS AND OTHER INFORMATION SOURCES484
CHAPTER17 SOFTWARE TESTING STRATEGIES487
CHAPTER17 SOFTWARE TESTING STRATEGIES487
17.1A STRATEGIC APPROACH TO SOFTWARE TESTING488
17.1.1 Verification and Validation488
17.1.2 Organizing for Software Testing489
17.1.3 A Software Testing Strategy490
17.1.4 Criteria for Completion of Testing492
17.2 STRATEGIC ISSUES493
17.3 UNIT TESTING494
17.3.1 Unit Test Considerations495
17.3.2 Unit Test Procedures497
17.4 INTEGRATION TESTING498
17.4.1 Top-Down Integration499
17.4.2 Bottom-Up Integration501
17.4.3 Regression Testing501
17.4.4 Comments on Integration Testing503
17.4.5 Integration Test Documentation503
17.5 VALIDATION TESTNG505
17.5.1 Validation Test Criteria506
17.5.2 Configuration Review506
17.5.3 Alpha and Beta Testing506
17.6 SYSTEM TESTING507
17.6.1 Recovery Testing507
17.6.2 Security Testing508
17.6.3 Stress Testing508
17.6.4 Performacce Testing509
17.7 THE ART OF DEBUGGING509
17.7.1 The Debugging Process510
17.7.2 Psychological Considerations511
17.7.3 Debugging Approaches511
17.8 SUMMARY513
REFERENCES514
PROBLEMS AND POINTS TO PONDER514
FURTHER READINGS AND OTHER INFORMATION SOURCES515
CHAPTER18 TECHNICAL METRICS FOR SOFTWARE517
CHAPTER18 TECHNICAL METRICS FOR SOFTWARE517
18.1 SOFTWARE QUALITY518
18.1.1 McCall s Quality Factors519
18.1.2 FURPS521
18.1.3 The Transition to a Quantitative View522
18.2 A FRAMEWORK FOR TECHNICAL SOFTWARE METRICS523
18.2.1 The Challenge of Technical Metrics523
18.2.2 Measurement Principles524
18.2.3 The Attributes of Effective Software Metrics525
18.3 METRICS FOR THE ANALYSIS MODEL526
18.3.1 Function-Based Metrics527
18.3.2 The Bang Metric529
18.3.3 Metrics for Specification Quality531
18.4 METRICS FOR THE DESIGN MODEL532
18.4.1 High-Level Design Metrics533
18.4.2 Component-Level Design Metrics536
18.4.3 Interface Design Metrics539
18.5 METRICS FOR SOURCE CODE540
18.6 METRICS FOR TESTING542
18.7 METRICS FOR MAINTENANCE543
18.8 SUMMARY544
REFERENCES544
PROBLEMS AND POINTS TO PONDER546
FURTHER READINGS AND OTHER INFORMATION SOURCES547
PART FOUR OBJECT-ORIENTED SOFTWARE ENGINEERING549
PART FOUR OBJECT-ORIENTED SOFTWARE ENGINEERING549
CHAPTER19 OBJECT-ORIENTED CONCEPTS AND PRINCIPLES551
CHAPTER19 OBJECT-ORIENTED CONCEPTS AND PRINCIPLES551
19.1 THE OBJECT-ORIENTED PARADIGM552
19.2 OBJECT-ORIENTED CONCEPTS553
19.2.1 Classes and Objects556
19.2.2 Attributes557
19.2.3 Operations, Methods, and Services558
19.2.4 Messages558
19.2.5 Encapsulation, Inheritance, and Polymorphism560
19.3 IDENTIFYING THE ELEMENTS OF AN OBJECT MODEL564
19.3.1 Identifying Classes and Objects565
19.3.2 Specifying Attributes568
19.3.3 Defining Operations569
19.3.4 Finalizing the Object Definition571
19.4 MANAGEMENT OF OBJECT-ORIENTED SOFTWARE PROJECTS571
19.4.1 The Common Process Framework for OO572
19.4.2 Object-Oriented Project Metrics and Estimation573
19.4.3 An OO Estimating and Scheduling Approach575
19.4.4 Progress for on Object-Oriented Project576
19.5 SUMMARY577
REFERENCES578
PROBLEMS AND POINTS TO PONDER578
FURTHER READINGS AND OTHER INFORMATION SOURCES579
CHAPTER20 OBJECT-ORIENTED ANALYSIS581
CHAPTER20 OBJECT-ORIENTED ANALYSIS581
20.1 OBJECT-ORIENTED ANALYSIS582
20.1.1 Conventional vs. OO Approaches582
20.1.2 The OOA Landscape583
20.2 DOMAIN ANALYSIS586
20.2.1 Reuse and Domain Analysis587
20.2.2 The Domain Analysis Process587
20.3 GENERIC COMPONENTS OF THE OO ANALYSIS MODEL590
20.4 THE OOA PROCESS591
20.4.1 Use Cases592
20.4.2 Class-Responsibility-Collaborator Modeling594
20.4.3 Defining Structures and Hierarchies599
20.4.4 Defining Subjects and Subsystems600
20.5 THE OBJECT-RELATIONSHIP MODEL601
20.6 THE OBJECT-BEHAVIOR MODEL605
20.6.1 Event Identification with Use Cases605
20.6.2 State Representaions606
20.7 SUMMARY609
REFERENCES610
PROBLEMS AND POINTS TO PONDER611
FURTHER READINGS AND OTHER INFORMATION SOURCES612
CHAPTER21 OBJECT-ORIENTED DESIGN614
CHAPTER21 OBJECT-ORIENTED DESIGN614
21.1 DESIGN FOR OBJECT-ORIENTED SYSTEMS615
21.1.1 Conventional vs. OO Approaches616
21.1.2 Design Issues617
21.1.3 The OOD Landscape618
21.2 THE GENERIC COMPONENTS OF THE OO DESIGN MODEL623
21.3 THE SYSTEM DESIGN PROCESS624
21.3.1 Partitioning the Analysis Model625
21.3.2 Concurrency and Subsystem Allocaion626
21.3.3 The Task Management Component626
21.3.4 The Data Management Component627
21.3.5 The Resource Management Component628
21.3.6 The Human-Computer Interface Component628
21.3.7 Inter-Subsystem Communication629
REFERENCES630
21.4.1 Object Descriptions631
21.4 THE OBJECT DESIGN PROCESS631
21.4.2 Designing Algorithms and Data Structures632
21.4.3 Program Components and Interfaces634
21.5 DESIGN PATTERNS636
21.5.1 Describing a Design Pattern637
21.5.2 Using Patterns in Design638
21.6 OBJECT-ORIENTED PROGRAMMING638
21.7 SUMMARY639
PROBLEMS AND POINTS TO PONDER640
FURTHER READINGS AND OTHER INFORMATION SOURCES641
CHAPTER22 OBJECT-ORIENTED TESTING644
22.1 BROADENING THE VIEW OF TESTING644
CHAPTER22 OBJECT-ORIENTED TESTING644
22.2 TESTING OOA AND OOD MODELS646
22.2.1 Correctness of OOA and OOD Models646
22.2.2 Consistency of OOA and OOD Models646
22.3 OBJECT-ORIENTED TESTING STRATEGIES648
22.3.1 Unit Testing in the OO Contetx648
22.3.2 Integration Testing in the OO Context649
22.3.3 Validation Testing in an OO Context650
22.4 TEST CASE DESIGN FOR OO SOFTWARE650
22.4.1 The Test Case Design Implications of OO Concepts650
22.4.3 Fault-Based Testing651
22.4.2 Applicability of Conventional Test Case Design Methods651
22.4.4 The Impact of OO Programming on Testing652
22.4.5 Test Cases and the Class Hierarchy653
22.4.6 Scenario-Based Test Design654
22.4.7 Testing Surface Structure and Deep Structure655
22.5 TESTING METHODS APPLICABLE AT THE CLASS LEVEL656
22.5.1 Random Testing for OO Classes656
22.5.2 Partition Testing of the Class Level657
22.6 INERCLASS TEST CASE DESIGN658
22.6.1 Multiple Class Tesing658
22.6.2 Tests Derived form Behavior Models659
22.7 SUMMARY661
REFERENCES662
PROBLEMS AND POINTS TO PONDER662
FURTHER READINGS AND OTHER INFORMATION SOURCES663
CHAPTER23 TECHNICAL METRICS FOR OBJECT-ORIENTED SYSTEMS664
CHAPTER23 TECHNICAL METRICS FOR OBJECT-ORIENTED SYSTEMS664
23.1 THE INTENT OF OBJECT-ORIENTED METRICS664
23.2 THE DISTINGUISHING CHARACTERISTICS665
23.2.1 Localizotion665
23.2.3 Information hiding666
23.2.4 Inheritance666
23.2.2 Encapsulation666
23.2.5 Abstraction667
23.3 METRICS FOR THE OO DESIGN MODEL667
23.4 CLASS-ORIENTED METRICS667
23.4.1 The CK Metrics Suite667
23.4.2 Metrics Proposed by Lorenz and Kidd670
23.5 OPERATION-ORIENTED METRICS672
23.6 METRICS FOR OBJECT-ORIENTED TESTING672
23.7 METRICS FOR OBJECT-ORIENTED PROJECTS673
23.8 SUMMARY674
REFERENCES675
PROBLEMS AND POINTS TO PONDER675
FURTHER READINGS AND OTHER INFORMATION SOURCES676
PART FIVE ADVANCED TOPICS IN SOFTWARE ENGINEERING679
PART FIVE ADVANCED TOPICS IN SOFTWARE ENGINEERING679
CHAPTER24 FORMAL METHODS681
24.1 BASIC CONCEPTS681
CHAPTER24 FORMAL METHODS681
24.1.1 Deficiencies of Less Formal Approaches682
24.1.2 Mathematics in Software Development684
24.1.3 Formal Methods Concepts685
24.2 MATHEMATICAL PRELIMINARIES690
24.2.1 Sets and Constructive Specification690
24.2.2 Set Operators691
24.2.3 Logic Operators694
24.3 APPLYING MATHEMATICAL NOTATION FOR FORMAL SPECIFICATION696
24.4 FORMAL SPECIFICATION LANGUAGES698
24.5 USING ZTO REPRESENT AN EXAMPLE SOFTWARE COMPONENT699
24.6 THE TEN COMMANDMENTS OF FORMAL METHODS701
24.7 FORMAL METHODS—THE ROAD AHEAD702
24.8 SUMMARY703
REFERENCES703
PROBLEMS AND POINTS TO PONDER704
FURTHER READINGS AND OTHER INFORMATION SOURCES705
CHAPTER25 CLEANROOM SOFTWARE ENGINEERING707
CHAPTER25 CLEANROOM SOFTWARE ENGINEERING707
25.1 THE CLEANROOM APPROACH708
25.1.1The Cleanroom Strategy708
25.1.2 What Makes Cleanroom Different?711
25.2 FUNCTIONAL SPECIFICATION711
25.2.1 Black-Box Specification712
25.2.2 State-Box Specification713
25.3 DESIGN REFINEMENT AND VERIFICATION714
25.3.1 Design Refinement and Verification715
25.3.2 Advantages of Design Verification*719
25.4 CLEANROOM TESTING720
25.4.1Statistical Use Testing721
25.4.2 Gertification722
25.5 SUMMARY723
PROBLEMS AND POINTS TO PONDER724
REFERENCES724
FURTHER READINGS AND OTHER INFORMATION SOURCES725
CHAPTER26 SOFTWARE REUSE728
CHAPTER26 SOFTWARE REUSE728
26.1 MANAGEMENT ISSUES729
26.1.1 Roadblocks to Reuse729
26.1.2 A Hardware Analogy730
26.1.3 Some Suggestions for Establishing on Approach to Reuse731
26.2 THE REUSE PROCESS732
26.2.1 Reusable Artifacts732
26.2.2 A Process Model734
26.3 DOMAIN ENGINEERING735
26.3.1 The Domain Analysis Process736
26.3.2 Characterization Functions737
26.3.3 Structural Modeling and Structure Points738
26.4 BUILDING REUSABLE COMPONENTS740
26.4.1 Analysis and Design for Reuse740
26.4.2 Construction Methods741
26.4.3 Component-Based Development742
26.5 CLASSIFYING AND RETRIEVING COMPONENTS743
26.5.1 Describing Reusable Components744
26.5.2 The Reuse Environment746
26.6 ECONOMICS OF SOFTWARE REUSE747
26.6.1 Impact on Quality,Productivity,and Cost747
26.6.2 Cost Analysis Using Structure Points748
26.6.3 Reuse Metrics749
26.7 SUMMARY750
REFERENCES751
PROBLEMS AND POINTS TO PONDER752
FURTHER READINGS AND OTHER INFORMATION SOURCES753
CHAPTER27 REENGINEERING756
CHAPTER27 REENGINEERING756
27.1BUSINESS PROCESS REENGINEERING757
27.1.1 Business Processes757
27.1.2 Principles of Business Process Reengineering759
27.1.3 A BPR Model760
27.1.4 Words of Warning761
27.2 SOFTWARE REENGINEERING762
27.2.1 Software Maintenance762
27.2.2 A Software Reengineering Process Model763
27.3 REVERSE ENGINEERING767
27.3.1 Reverse Engineering to Understand Processing768
27.3.2 Reverse Engineering to Understand Data770
27.3.3 Reverse Engineering User Interfaces771
27.4 RESTRUCTURING773
27.4.1 Code Restructuring773
27.4.2 Data Restructuring774
27.5 FORWARD ENGINEERING774
27.5.1 Forward Engineering for Client/Server Architectures775
27.5.2 Forward Engineering for Object-Oriented Architectures777
27.6 THE ECONOMICS OF REENGINEERING778
27.5.3 Forward Engineering User Interfaces778
27.7 SUMMARY779
REFERENCES780
PROBLEMS AND POINTS TO PONDER781
FURTHER READINGS AND OTHER INFORMATION SOURCES782
CHAPTER28 CUENT/SERVER SOFTWARE ENGINEERING784
CHAPTER28 CUENT/SERVER SOFTWARE ENGINEERING784
28.1 THE STRUCTURE OF CLIENT/SERVER SYSTEMS785
28.1.1 Software Components for C/S Systems786
28.1.2 The Distribution of Software Components787
28.1.3 Guidelines for Distributing Application Components788
28.1.4 Linking C/S Software Components789
28.1.5 Middleware and Object Request Broker Architectures789
28.2 SOFTWARE ENGINEERING FOR C/S SYSTEMS791
28.3 ANALYSIS MODELING ISSUES791
28.4 DESIGN FOR C/S SYSTEMS792
28.4.2 Database Design793
28.4.1 Conventional Design Approaches793
28.4.3 An Overview of a Design Approach796
28.4.4 Process Design Iteration797
28.5.1 Overall C/S Testing Strategy798
28.5 TESTING ISSUES798
28.5.2 C/S Testing Tactics801
28.6 SUMMARY801
REFERENCES802
PROBLEMS AND POINTS TO PONDER803
FURTHER READINGS AND OTHER INFORMATION SOURCES803
CHAPTER29 COMPUTER-AIDED SOFTWARE ENGINEERING805
CHAPTER29 COMPUTER-AIDED SOFTWARE ENGINEERING805
29.1 WHAT IS CASE?806
29.2 BUILDING BLOCKS FOR CASE806
29.3 A TAXONOMY OF CASE TOOLS808
29.4 INTEGRATED CASE ENVIRONMENTS813
29.5 THE INTEGRATION ARCHITECTURE814
29.6.1 The Role of the Repository in l-CASE816
29.6 THE CASE REPOSITORY816
29.6.2 Features and Content817
29.7 SUMMARY821
REFERENCES822
PROBLEMS AND POINTS TO PONDER822
FURTHER READINGS AND OTHER INFORMATION SOURCES823
CHAPTER30 THE ROAD AHEAD826
CHAPTER30 THE ROAD AHEAD826
30.1 THE IMPORTANCE OF SOFTWARE—REVISITED827
30.2 THE SCOPE OF CHANGE827
30.3 PEOPLE AND THE WAY THEY BUILD SYSTEMS829
30.4 THE NEW SOFTWARE PROCESS832
30.5 NEW MODES FOR REPRESENTING INFORMATION833
30.6 TECHNOLOGY AS A DRIVER835
30.7 A CONCLUDING COMMENT837
REFERENCES837
PROBLEMS AND POINTS TO PONDER838
FURTHER READINGS AND OTHER INFORMATION SOURCES838
INDEX840
INDEX840
热门推荐
- 3245946.html
- 3888862.html
- 1965677.html
- 2896941.html
- 1371634.html
- 516393.html
- 340074.html
- 1157964.html
- 2042194.html
- 791823.html
- http://www.ickdjs.cc/book_125836.html
- http://www.ickdjs.cc/book_1139866.html
- http://www.ickdjs.cc/book_3867991.html
- http://www.ickdjs.cc/book_120199.html
- http://www.ickdjs.cc/book_1029571.html
- http://www.ickdjs.cc/book_854853.html
- http://www.ickdjs.cc/book_640433.html
- http://www.ickdjs.cc/book_497236.html
- http://www.ickdjs.cc/book_2422432.html
- http://www.ickdjs.cc/book_736962.html