图书介绍

软件工程 面向对象和传统的方法 第7版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

软件工程 面向对象和传统的方法 第7版
  • (美)沙赫(Schach,S.R.)著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:7111208226
  • 出版时间:2007
  • 标注页数:622页
  • 文件大小:346MB
  • 文件页数:646页
  • 主题词:软件工程-高等学校-教材-英文

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

软件工程 面向对象和传统的方法 第7版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

PART ONE INTRODUCTION TO SOFTWARE ENGINEERING1

Chapter 1 The Scope of Software Engineering3

Learning Objectives3

1.1 Historical Aspects4

1.2 Economic Aspects7

1.3 Maintenance Aspects8

1.3.1 Classical and Modern Views of Maintenance9

1.3.2 The Importance of Postdelivery Maintenance11

1.4 Requirements,Analysis,and Design Aspects13

1.5 Team Development Aspects16

1.6 Why There Is No Planning Phase17

1.7 Why There Is No Testing Phase17

1.8 Why There Is No Documentation Phase18

1.9 The Object-Oriented Paradigm19

1.10 The Object-Oriented Paradigm in Perspective23

1.11 Terminology24

1.12 Ethical Issues27

Chapter Review28

For Further Reading28

Key Terms29

Problems30

References31

Chapter 2 Software Life-Cycle Models35

Learning Objectives35

2.1 Software Development in Theory35

2.2 Winburg Mini Case Study36

2.3 Lessons of the Winburg Mini Case Study40

2.4 Teal Tractors Mini Case Study40

2.5 Iteration and Incrementation41

2.6 Winburg Mini Case Study Revisited45

2.7 Risks and Other Aspects of Iteration and Incrementation46

2.8 Managing Iteration and Incrementation49

2.9 Other Life-Cycle Models50

2.9.1 Code-and-Fix Life-Cycle Model50

2.9.2 Waterfall Life-Cycle Model51

2.9.3 Rapid-Prototyping Life-Cycle Model53

2.9.4 Open-Source Life-Cycle Model54

2.9.5 Agile Processes57

2.9.6 Synchronize-and-Stabilize Life-Cycle Model60

2.9.7 SpiralLife-CycleModel60

2.10 Comparison of Life-Cycle Models64

Chapter Review65

For Further Reading66

Key Terms67

Problems67

References68

Chapter 3 The Software Process71

Learning Objectives71

3.1 The Unified Process73

3.2 Iteration and Incrementation within the Object-Oriented Paradigm73

3.3 The Requirements Workflow75

3.4 The Analysis Workflow77

3.5 The Design Workflow79

3.6 The Implementation Workflow80

3.7 The Test Workflow81

3.7.1 Requirements Artifacts81

3.7.2 Analysis Artifacts81

3.7.3 Design Artifacts82

3.7.4 Implementation Artifacts82

3.8 Postdelivery Maintenance84

3.9 Retirement85

3.10 The Phases of the Unified Process85

3.10.1 The Inception Phase86

3.10.2 The Elaboration Phase88

3.10.3 The Construction Phase89

3.10.4 The Transition Phase89

3.11 One- versus Two-Dimensional Life-Cycle Models90

3.12 Improving the Software Process92

3.13 Capability Maturity Models92

3.14 Other Software Process Improvement Initiatives95

3.15 Costs and Benefits of Software Process Improvement96

Chapter Review98

For Further Reading98

Key Terms99

Problems100

References100

Chapter 4 Teams104

Learning Objectives104

4.1 Team Organization104

4.2 Democratic Team Approach106

4.2.1 Analysis of the Democratic Team Approach107

4.3 Classical Chief Programmer Team Approach107

4.3.1 The New York Times Project109

4.3.2 Impracticality of the Classical Chief Programmer Team Approach110

4.4 Beyond Chief Programmer and Democratic Teams110

4.5 Synchronize-and-Stabilize Teams114

4.6 Teams for Agile Processes115

4.7 Open-Source Programming Teams115

4.8 People Capability Maturity Model116

4.9 Choosing an Appropriate Team Organization117

Chapter Review118

For Further Reading118

Key Terms118

Problems119

References119

Chapter 5 TheTools oftheTrade121

Learning Objectives121

5.1 Stepwise Refinement121

5.1.1 Stepwise Refinement Mini Case Study122

5.2 Cost-Benefit Analysis127

5.3 Software Metrics129

5.4 CASE130

5.5 Taxonomy of CASE131

5.6 Scope of CASE133

5.7 Software Versions136

5.7.1 Revisions137

5.7.2 Variations137

5.8 Configuration Control138

5.8.1 Configuration Control during Postdelivery Maintenance140

5.8.2 Baselines140

5.8.3 Configuration Control during Development141

5.9 Build Tools141

5.10 Productivity Gains with CASE Technology142

Chapter Review144

For Further Reading144

Key Terms144

Problems145

References146

Chapter 6 Testing149

Learning Objectives149

6.1 Quality Issues150

6.1.1 Software Quality Assurance151

6.1.2 Managerial Independence151

6.2 Non-Execution-Based Testing152

6.2.1 Walkthroughs153

6.2.2 Managing Walkthroughs153

6.2.3 Inspections154

6.2.4 Comparison of Inspections and Walkthroughs156

6.2.5 Strengths and Weaknesses of Reviews157

6.2.6 Metrics for Inspections157

6.3 Execution-Based Testing157

6.4 What Should Be Tested?158

6.4.1 Utility159

6.4.2 Reliability159

6.4.3 Robustness160

6.4.4 Performance160

6.4.5 Correctness161

6.5 Testing versus Correctness Proofs162

6.5.1 Example of a Correctness Proof162

6.5.2 Correctness Proof Mini Case Study166

6.5.3 Correctness Proofs and Software Engineering167

6.6 Who Should Perform Execution-Based Testing?170

6.7 When Testing Stops171

Chapter Review171

For Further Reading172

Key Terms172

Problems173

References174

Chapter 7 From Modules to Objects177

Learning Objectives177

7.1 What Is a Module?177

7.2 Cohesion181

7.2.1 Coincidental Cohesion181

7.2.2 Logical Cohesion182

7.2.3 Temporal Cohesion183

7.2.4 Procedural Cohesion183

7.2.5 Communicational Cohesion184

7.2.6 Functional Cohesion184

7.2.7 Informational Cohesion185

7.2.8 Cohesion Example185

7.3 Coupling186

7.3.1 Content Coupling186

7.3.2 Common Coupling187

7.3.3 Control Coupling189

7.3.4 Stamp Coupling190

7.3.5 Data Coupling191

7.3.6 Coupling Example191

7.3.7 The Importance of Coupling192

7.4 Data Encapsulation193

7.4.1 Data Encapsulation and Development196

7.4.2 Data Encapsulation and Maintenance197

7.5 Abstract Data Types202

7.6 Information Hiding203

7.7 Objects205

7.8 Inheritance,Polymorphism,and Dynamic Binding209

7.9 The Object-Oriented Paradigm212

Chapter Review214

For Further Reading215

Key Terms215

Problems216

References217

Chapter 8 Reusability and Portability219

Learning Objectives219

8.1 Reuse Concepts220

8.2 Impediments to Reuse222

8.3 Reuse Case Studies223

8.3.1 Raytheon Missile Systems Division224

8.3.2 European SpaceAgency225

8.4 Objects and Reuse226

8.5 Reuse during Design and Implementation226

8.5.1 Design Reuse226

8.5.2 Application Frameworks228

8.5.3 Design Patterns229

8.5.4 SoftwareArchitecture233

8.5.5 Component-Based Software Engineering233

8.6 Reuse and Postdelivery Maintenance234

8.7 Portability235

8.7.1 Hardware Incompatibilities235

8.7.2 Operating System Incompatibilities236

8.7.3 Numerical Software Incompatibilities236

8.7.4 Compiler Incompatibilities237

8.8 Why Portability?241

8.9 Techniques for Achieving Portability241

8.9.1 Portable System Software242

8.9.2 Portable ApplicationSoftware242

8.9.3 Portable Data243

Chapter Review244

For Further Reading245

Key Terms246

Problems246

References247

Chapter 9 Planning and Estimating252

Learning Objectives252

9.1 Planning and the Software Process253

9.2 Estimating Duration and Cost254

9.2.1 Metrics for the Size of a Product256

9.2.2 Techniques of Cost Estimation259

9.2.3 Intermediate COCOMO262

9.2.4 COCOMOⅡ265

9.2.5 Tracking Duration and Cost Estimates266

9.3 Components of a Software Project Management Plan266

9.4 Software Project Management Plan Framework268

9.5 IEEE Software Project Management Plan270

9.6 Planning Testing273

9.7 Planning Object-Oriented Projects274

9.8 Training Requirements274

9.9 Documentation Standards275

9.10 CASE Tools for Planning and Estimating276

9.11 Testing the Software Project Management Plan276

Chapter Review276

For Further Reading277

Key Terms277

Problems278

References279

PART TWO THE WORKFLOWS OF THE SOFTWARE LIFE CYCLE283

Chapter 10 Requirements285

Learning Objectives285

10.1 Determining What the Client Needs285

10.2 Overview of the Requirements Workflow286

10.3 Understanding the Domain287

10.4 The Business Model288

10.4.1 Interviewing288

10.4.2 Other Techniques289

10.4.3 UseCases290

10.5 Initial Requirements291

10.6 Initial Understanding of the Domain:The MSG Foundation Case Study292

10.7 Initial Business Model:The MSG Foundation Case Study294

10.8 Initial Requirements:The MSG Foundation Case Study298

10.9 Continuing the Requirements Workflow:The MSG Foundation Case Study300

10.10 Revising the Requirements:The MSG Foundation Case Study302

10.11 The Test Workflow:The MSG Foundation Case Study310

10.12 The Classical Requirements Phase319

10.13 RapidPrototyping320

10.14 Human Factors321

10.15 Reusing the Rapid Prototype323

10.16 CASE Tools for the Requirements Workflow324

10.17 Metrics for the Requirements Workflow325

10.18 Challenges of the Requirements Workflow325

Chapter Review327

For Further Reading327

Key Terms327

Case Study Key Terms328

Problems328

References329

Chapter 11 Classical Analysis331

Learning Objectives331

11.1 The Specification Document331

11.2 Informal Specifications333

11.2.1 Correctness Proof Mini Case Study Redux334

11.3 Structured Systems Analysis335

11.3.1 Sally's Software Shop Mini Case Study335

11.4 Structured Systems Analysis:The MSG Foundation Case Study343

11.5 Other Semiformal Techniques344

11.6 Entity-Relationship Modeling345

11.7 Finite State Machines347

11.7.1 Finite State Machines:The Elevator Problem Case Study349

11.8 Petri Nets353

11.8.1 Petri Nets:The Elevator Problem Case Study356

11.9 Z358

11.9.1 Z:The Elevator Problem Case Study359

11.9.2 Analysis of Z361

11.10 OtherFormalTechniques363

11.11 Comparison of Classical Analysis Techniques363

11.12 Testing during Classical Analysis365

11.13 CASE Tools for Classical Analysis365

11.14 Metrics for Classical Analysis366

11.15 Software Project Management Plan:The MSG Foundation Case Study366

11.16 Challenges of Classical Analysis367

Chapter Review367

For Further Reading368

Key Terms368

Case Study Key Terms369

Problems369

References371

Chapter 12 Object-Oriented Analysis375

Learning Objectives375

12.1 The Analysis Workflow376

12.2 Extracting the Entity Classes377

12.3 Object-Oriented Analysis:The Elevator Problem Case Study378

12.4 Functional Modeling:The Elevator Problem Case Study378

12.5 Entity Class Modeling:The Elevator Problem Case Study380

12.5.1 Noun Extraction381

12.5.2 CRCCards383

12.6 Dynamic Modeling:The Elevator Problem Case Study384

12.7 The Test Workflow:Object-Oriented Analysis387

12.8 Extracting the Boundary and Control Classes391

12.9 The Initial Functional Model:The MSG Foundation Case Study392

12.10 The Initial Class Diagram:The MSG Foundation Case Study395

12.11 The Initial Dynamic Model:The MSG Foundation Case Study397

12.12 Revising the Entity Classes:The MSG Foundation Case Study399

12.13 Extracting the Boundary Classes:The MSG Foundation Case Study401

12.14 Extracting the Control Classes:The MSG Foundation Case Study401

12.15 Use-Case Realization:The MSG Foundation Case Study402

12.15.1 Estimate Funds Available for Week Use Case402

12.15.2 Manage an Asset UseCase409

12.15.3 Update Estimated Annual Operating Expenses Use Case413

12.15.4 Produce a Report Use Case416

12.16 Incrementing the Class Diagram:The MSG Foundation Case Study421

12.17 The Test Workflow:The MSG Foundation Case Study423

12.18 The Specification Document in the Unified Process423

12.19 More onActors and Use Cases424

12.20 CASE Tools for the Object-Oriented Analysis Workflow425

12.21 Challenges of the Object-Oriented Analysis Workflow425

Chapter Review426

For Further Reading427

Key Terms427

Problems428

References429

Chapter 13 Design431

Learning Objectives431

13.1 Design and Abstraction432

13.2 Operation-Oriented Design432

13.3 Data Flow Analysis433

13.3.1 Mini Case Study:Word Counting434

13.3.2 Data Flow Analysis Extensions439

13.4 Transaction Analysis439

13.5 Data-Oriented Design441

13.6 Object-Oriented Design442

13.7 Object-Oriented Design:The Elevator Problem Case Study443

13.8 Object-Oriented Design:The MSG Foundation Case Study446

13.9 The Design Workflow451

13.10 The Test Workflow:Design453

13.11 The Test Workflow:The MSG Foundation Case Study453

13.12 Formal Techniques for Detailed Design454

13.13 Real-Time Design Techniques454

13.14 CASETools for Design455

13.15 Metrics for Design456

13.16 Challenges of the Design Workflow457

Chapter Review458

For Further Reading458

Key Terms459

Problems459

References460

Chapter 14 Implementation463

Learning Objectives463

14.1 Choice of Programming Language463

14.2 Fourth-Generation Languages466

14.3 Good Programming Practice469

14.3.1 Use of Consistent and Meaningful Variable Names469

14.3.2 The Issue of Self-Documenting Code470

14.3.3 Use of Parameters472

14.3.4 Code Layout for Increased Readability472

14.3.5 Nested if Statements472

14.4 Coding Standards474

14.5 Code Reuse475

14.6 Integration475

14.6.1 Top-down Integration476

14.6.2 Bottom-up Integration478

14.6.3 Sandwich Integration478

14.6.4 Integration of Object-Oriented Products479

14.6.5 Management of Integration480

14.7 The Implementation Workflow481

14.8 The Implementation Workflow:The MSG Foundation Case Study481

14.9 The Test Workflow:Implementation481

14.10 Test Case Selection482

14.10.1 Testing to Specifications versus Testing to Code482

14.10.2 Feasibility of Testing to Specifications482

14.10.3 Feasibility of Testing to Code483

14.11 Black-Box Unit-Testing Techniques485

14.11.1 Equivalence Testing and Boundary Value Analysis486

14.11.2 Functional Testing487

14.12 Black-Box Test Cases:The MSG Foundation Case Study488

14.13 Glass-Box Unit-Testing Techniques490

14.13.1 Structural Testing:Statement,Branch,and Path Coverage491

14.13.2 Complexity Metrics492

14.14 Code Walkthroughs and Inspections493

14.15 Comparison of Unit-Testing Techniques493

14.16 Cleanroom494

14.17 Potential Problems When Testing Objects495

14.18 Management Aspects of Unit Testing498

14.19 When to Rewrite Rather than Debug a Code Artifact498

14.20 Integration Testing499

14.21 Product Testing500

14.22 Acceptance Testing501

14.23 The Test Workflow:The MSG Foundation Case Study502

14.24 CASE Tools for Implementation502

14.24.1 CASE Tools for the Complete Software Process503

14.24.2 Integrated Development Environments503

14.24.3 Environments for Business Applications504

14.24.4 Public Tool Infrastructures505

14.24.5 Potential Problems with Environments505

14.25 CASE Tools for the Test Workflow505

14.26 Metrics for the Implementation Workflow506

14.27 Challenges of the Implementation Workflow507

Chapter Review507

For Further Reading508

Key Terms509

Problems509

References511

Chapter 15 Postdelivery Maintenance515

Learning Objectives515

15.1 Development and Maintenance515

15.2 Why Postdelivery Maintenance Is Necessary517

15.3 What Is Required of Postdelivery Maintenance Programmers?517

15.4 Postdelivery Maintenance Mini Case Study520

15.5 Management of Postdelivery Maintenance521

15.5.1 Defect Reports521

15.5.2 Authorizing Changes to the Product522

15.5.3 Ensuring Maintainability523

15.5.4 Problem of Repeated Maintenance523

15.6 Maintenance of Object-Oriented Software524

15.7 Postdelivery Maintenance Skills versus Development Skills527

15.8 Reverse Engineering527

15.9 Testing during Postdelivery Maintenance528

15.10 CASETools for Postdelivery Maintenance529

15.11 Metrics for Postdelivery Maintenance530

15.12 Postdelivery Maintenance:The MSG Foundation Case Study530

15.13 Challenges of Postdelivery Maintenance530

Chapter Review531

For Further Reading531

Key Terms532

Problems532

References533

Chapter 16 More on UML535

Learning Objectives535

16.1 UML Is Not a Methodology535

16.2 Class Diagrams536

16.2.1 Aggregation537

16.2.2 Multiplicity538

16.2.3 Composition539

16.2.4 Generalization540

16.2.5 Association540

16.3 Notes541

16.4 Use-Case Diagrams541

16.5 Stereotypes541

16.6 Interaction Diagrams543

16.7 Statecharts545

16.8 Activity Diagrams547

16.9 Packages549

16.10 Component Diagrams550

16.11 Deployment Diagrams550

16.12 Review of UML Diagrams551

16.13 UML and Iteration551

Chapter Review551

For Further Reading552

Key Terms552

Problems552

References553

Bibliography554

Appendix A Term Project:Osric's Office Appliances and Decor579

Appendix B Software Engineering Resources583

Appendix C Requirements Workflow:The MSG Foundation Case Study585

Appendix D Structured Systems Analysis:The MSG Foundation Case Study586

Appendix E Analysis Workflow:The MSG Foundation Case Study589

Appendix F Software Project Management Plan:The MSG Foundation Case Study590

Appendix G Design Workflow:The MSG Foundation Case Study595

Appendix H Implementation Workflow:The MSG Foundation Case Study(C++ Version)600

Appendix I Implementation Workflow:The MSG Foundation Case Study(Java Version)601

Appendix J Test Workflow:The MSG Foundation Case Study602

Author Index603

Subject Index606

热门推荐