《软件工程实践者的研究方法 英文版·第4版》求取 ⇩

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 onLateness154

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.1Software 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

1999《软件工程实践者的研究方法 英文版·第4版》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件(由(美)(R.S.普雷斯曼)Roger S.Pressman著 1999 北京:机械工业出版社 出版的版本) 。对合法合规的求助,我会当即受理并将下载地址发送给你。

高度相关资料

软件工程方法(1992 PDF版)
软件工程方法
1992 北京:科学出版社
计算机科学 c++软件工程方法(第2版)( PDF版)
计算机科学 c++软件工程方法(第2版)
软件测试技术与实践研究(2020 PDF版)
软件测试技术与实践研究
2020
计算机科学—C++软件工程方法(第2版)( PDF版)
计算机科学—C++软件工程方法(第2版)
Behrouz A.Forouzan
软件工程:方法·工具·实践 第二版(1988 PDF版)
软件工程:方法·工具·实践 第二版
1988
科印排版软件的实践及排版技巧( PDF版)
科印排版软件的实践及排版技巧
北京科海培训中心
软件工程:方法、工具和实践( PDF版)
软件工程:方法、工具和实践
安徽微型计算机函授大学
公共关系实践  英文版  第7版(1998 PDF版)
公共关系实践 英文版 第7版
1998 机械工业出版社
实时系统软件设计  英文版( PDF版)
实时系统软件设计 英文版
应用软件实践教程(1986 PDF版)
应用软件实践教程
1986 西北电讯工程学院出版社
软件工程方法(1993 PDF版)
软件工程方法
1993 北京:科学出版社
商务决策的数量方法  英文版  第4版(1998 PDF版)
商务决策的数量方法 英文版 第4版
1998 沈阳:东北财经大学出版社
广告学  原理与实践  英文版第4版(1999 PDF版)
广告学 原理与实践 英文版第4版
1999 北京:清华大学出版社
企业研究方法  英文版  第6版(1998 PDF版)
企业研究方法 英文版 第6版
1998 北京:机械工业出版社
企业决策研究  英文版  第4版(1998 PDF版)
企业决策研究 英文版 第4版
1998 沈阳:东北财经大学出版社