由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
100%刮中券,最高50元无敌券,券有效期7天
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
醉染图书软件工程9787111499312
¥ ×1
新春将至,本公司假期时间为:2025年1月23日至2025年2月7日。2月8日订单陆续发货,期间带来不便,敬请谅解!
CHAPTER 1 THE NATURE OF SOFTWARE 1
1.1 The Nature of Software 3
1.1.1 De ning Software 4
1.1.2 Software Application Domains 6
1.1.3 Legacy Software 7
1.2 The Changing Nature of Software 9
1.2.1 WebApps 9
1.2.2 Mobile Applications 9
1.. Cloud Computing 10
1.2.4 Product Line Software 11
PROBLEMS AND POINTS TO PONDER 12
FURTHER READINGS AND INFORMATION SOURCES 12
CHAPTER 2 SOFTWARE ENGINEERING 14
2.1 De ning the Discipline 15
2.2 The Software Process 16
2.2.1 The Process Framework 17
2.2.2 Umbrella Activities 18
2.. Process Adaptation 18
. Software Engineering Practice 19
..1 The Essence of Practice 19
..2 General Principles 21
2.4 Software Develomn&bsp;Myths
2.5 How It All Starts 26
PROBLEMS AND POINTS TO PONDER 27
FURTHER READINGS AND INFORMATION SOURCES 27
PART ONE THE SOFTWARE PROCESS 29
CHAPTER 3 SOFTWARE PROCESS STRUCTURE 30
3.1 A Generic Process Model 31
3.2 De ning a Framework Activity 32
3.3 Identifying a Task Set 34
3.4 Process Patterns 35
PROBLEMS AND POINTS TO PONDER 37
FURTHER READINGS AND INFORMATION SOURCES 38
CHAPTER 4 PROCESS MODELS 39
4.1 Prescriptive Process Models 40
4.1.1 The Waterfall Model 40
4.1.2 Incremental Process Models 42
4.1.3 Evolutionary Process Models 44
4.1.4 Concurrent Models 48
4.1.5 A Final Word on Evolutionary Processes 50
4.2 Speized Process Models 51
4.2.1 Component-Based Develomn&bsp; 52
4.2.2 The Formal Methods Model 52
4.. Aspect-Oriented Software Develomn&bsp; 53
4.3 The Uni ed Process 54
4.3.1 A Brief History 55
4.3.2 Phases of the Uni ed Process 55
4.4 Product and Process 57
PROBLEMS AND POINTS TO PONDER 59
FURTHER READINGS AND INFORMATION SOURCES 59
CHAPTER 5 AGILE DEVELOPMENT 60
5.1 What Is Agility? 62
5.2 Agility and the Cost of Change 62
5.3 What Is an Agile Process 63?
5.3.1 Agility Principles 64
5.3.2 The Politics of Agile Develomn&bsp; 65
5.4 Extreme Programming 66
5.4.1 The XP Process 66
5.4.2 Industrial XP 69
5.5 Other Agile Process Models 71
5.5.1 Scrum 72
5.5.2 Dynamic Systems Develomn&bsp;Method 73
5.5.3 Agile Modeling 74
5.5.4 Agile Uni ed Process 76
5.6 A Tool Set for the Agile Process 77
PROBLEMS AND POINTS TO PONDER 78
FURTHER READINGS AND INFORMATION SOURCES 79
CHAPTER 6 HUMAN ASPECTS OF SOFTWARE ENGINEERING 81
6.1 Characteristics of a Software Engineer 82
6.2 The Psychology of Software Engineering 83
6.3 The Software Team 84
6.4 Team Structures 86
6.5 Agile Teams 87
6.5.1 The Generic Agile Team 87
6.5.2 The XP Team 88
6.6 The Impact of So Media 89
6.7 Software Engineering Using the Cloud 91
6.8 Collaboration Tools 92
6.9 Global Teams 93
PROBLEMS AND POINTS TO PONDER 94
FURTHER READINGS AND INFORMATION SOURCES 95
PART TWO MODELING 97
CHAPTER 7 UNDERSTANDING REUIREMENTS 98
7.1 Requirements Engineering 99
7.2 Establishing the Groundwork 105
7.2.1 Identifying Stakeholders 106
7.2.2 Recognizing Multiple Viewpoints 106
7.. Working toward Collaboration 107
7.2.4 Asking the First estions 107
7.3 Eliciting Requirements 108
7.3.1 Collaborative Requirements Gathering 109
7.3.2 lity Function Deployment 112
7.3.3 Usage Scenarios 112
7.3.4 Elicitation Work Products 113
7.3.5 Agile Requirements Elicitation 114
7.3.6 Service-Oriented Methods 114
7.4 Developing Use Cases 115
7.5 Building the Analysis Model 120
7.5.1 Elements of the Analysis Model 120
7.5.2 Analysis Patterns 1
7.5.3 Agile Requirements Engineering 124
7.5.4 Requirements for Self-Adaptive Systems 124
7.6 Avoiding Common Mistakes 125
PROBLEMS AND POINTS TO PONDER 125
FURTHER READINGS AND OTHER INFORMATION SOURCES 126
CHAPTER 8 REUIREMENTS MODELING: SCENARIO-BASED METHODS 128
8.1 Requirements Analysis 129
8.1.1 Overall Objectives and Philosophy 130
8.1.2 Analysis Rules of Thumb 131
8.1.3 Domain Analysis 132
8.1.4 Requirements Modeling Approaches 133
8.2 Scenario-Based Modeling 135
8.2.1 Creating a Preliminary Use Case 135
8.2.2 Re ning a Preliminary Use Case 138
8.. Writing a Formal Use Case 139
8.3 UML Models That Supplement the Use Case 141
8.3.1 Developing an Activity Diagram 142
8.3.2 Swimlane Diagrams 143
PROBLEMS AND POINTS TO PONDER 144
FURTHER READINGS AND INFORMATION SOURCES 145
CHAPTER 9 REUIREMENTS MODELING: CLASS-BASED METHODS 146
9.1 Identifying Analysis Classes 147
9.2 Specifying Attributes 150
9.3 De ning Oraios 151
9.4 Class-Responsibility-Collaborator Modeling 154
9.5 Associations and Dependencies 160
9.6 Analysis Packages 161
PROBLEMS AND POINTS TO PONDER 162
FURTHER READINGS AND INFORMATION SOURCES 163
CHAPTER 10 REUIREMENTS MODELING: BEHIOR, PATTERNS, AND燱EB/MOBILE APPS 164
10.1 Creating a Behavioral Model 165
10.2 Identifying Events with the Use Case 165
10.3 State Representations 166
10.4 Patterns for Requirements Modeling 169
10.4.1 Discovering Analysis Patterns 170
10.4.2 A Requirements Pattern Example: Actuator-Sensor 171
PROBLEMS AND POINTS TO PONDER 175
FURTHER READINGS AND INFORMATION SOURCES 176
CHAPTER 11 DESIGN CONCEPTS 177
11.1 Design within the Context of Software Engineering 178
11.2 The Design Process 1811
1.2.1 Software lity Guidelines and Attributes 181
11.2.2 The Evolution of Software Design 183
11.3 Design Concepts 184
11.3.1 Abstraction 185
11.3.2 Architecture 185
11.3.3 Patterns 186
11.3.4 Separation of Concerns 187
11.3.5 Moarty 187
11.3.6 Information Hiding 188
11.3.7 Functional Independence 189
11.3.8 Re nement 190
11.3.9 Ascs&bsp; 190
11.3.10 Refactoring 191
11.3.11 Object-Oriented Design Concepts 191
11.3.12 Design Classes 192
11.3.13 Dependency Inversion 194
11.3.14 Design for Test 195
11.4 The Design Model 196
11.4.1 Data Design Elements 197
11.4.2 Architectural Design Elements 197
11.4.3 Interface Design Elements 198
11.4.4 Component-Level Design Elements 200
11.4.5 Deployment-Level Design Elements 201
PROBLEMS AND POINTS TO PONDER 202
FURTHER READINGS AND INFORMATION SOURCES 203
CHAPTER 12 ARCHITECTURAL DESIGN 204
12.1 Software Architecture 205
12.1.1 What Is Architecture 205
12.1.2 Why Is Architecture Important 206
12.1.3 Architectural Descriptions 207
12.1.4 Architectural Decisions 208
12.2 Architectural Genres 209
1. Architectural Styles 210
1..1 A Brief Taxonomy of Architectural Styles 210
1..2 Architectural Patterns 215
1.. Organization and Re nement 215
12.4 Architectural Considerations 216
12.5 Architectural Decisions 218
12.6 Architectural Design 219
12.6.1 Representing the System in Context 219
12.6.2 De ning Archetypes 221
12.6.3 Re ning the Architecture into Components 222
12.6.4 Describing Instantiations of the System 224
12.6.5 Architectural Design for Web Apps 225
12.6.6 Architectural Design for Mobile Apps 226
12.7 Assessing Alternative Architectural Designs 226
12.7.1 Architectural Description Languages 228
12.7.2 Architectural Reviews 229
12.8 Lessons Learned 0
12.9 Pattern-based Architecture Review 0
12.10 Architecture Conformance Checking 1
12.11 Agility and Architecture 2
PROBLEMS AND POINTS TO PONDER 4
FURTHER READINGS AND INFORMATION SOURCES 4
CHAPTER 13 COMPONENT-LEVEL DESIGN
13.1 What Is a Component
13.1.1 An Object-Oriented View
13.1.2 The Traditional View
13.1.3 A Process-Related View 242
13.2 Designing Class-Based Components 242
13.2.1 Basic Design Principles 243
13.2.2 Component-Level Design Guidelines 246
13.. Cohesion 247
13.2.4 Coupling 249
13.3 Conducting Component-Level Design 250
13.4 Component-Level Design for WebApps 256
13.4.1 Content Design at the Component Level 257
13.4.2 Functional Design at the Component Level 257
13.5 Designing Traditional Components 257
13.6 Component-Based Develomn&bsp; 258
13.6.1 Domain Engineering 259
13.6.2 Component li cation, Adaptation, and Coition 259
13.6.3 Architectural Mismatch 261
13.6.4 Analysis and Design for Reuse 262
13.6.5 Classifying and Retrieving Components 262
PROBLEMS AND POINTS TO PONDER 264
FURTHER READINGS AND INFORMATION SOURCES 264
CHAPTER 14 USER INTERFACE DESIGN 266
14.1 The Golden Rules 267
14.1.1 Place the User in Control 267
14.1.2 Reduce the User抯 Memory Load 268
14.1.3 Make the Interface Consistent 270
14.2 User Interface Analysis and Design 271
14.2.1 Interface Analysis and Design Models 271
14.2.2 The Process 272
14.3 Interface Analysis 274
14.3.1 User Analysis 274
14.3.2 Task Analysis and Modeling 275
14.3.3 Analysis of Display Content 280
14.3.4 Analysis of the Work Environment 280
14.4 Interface Design Steps 281
14.4.1 Applying Interface Design Steps 281
14.4.2 User Interface Design Patterns 283
14.4.3 Design Issues 284
14.5 Design Evaluation 286
PROBLEMS AND POINTS TO PONDER 288
FURTHER READINGS AND INFORMATION SOURCES 289
PART THREE UALITY MANAGEMENT 291
CHAPTER 15 UALITY CONCEPTS 292
15.1 What Is lity 293
15.2 Software lity 294
15.2.1 Garvin抯 lity Dimensions 295
15.2.2 McCall抯 lity Factors 296
15.. ISO 9126 lity Factors 298
15.2.4 Targeted lity Factors 298
15.2.5 The Transition to a ntitative View 300
15.3 The Software lity Dilemma 300
15.3.1 揋ood Enough?Software 301
15.3.2 The Cost of lity 302
15.3.3 Risks 304
15.3.4 Negligence and Liability 305
15.3.5 lity and Security 305
15.3.6 The Impact of Management Actions 306
15.4 Achieving Software lity 307
15.4.1 Software Engineering Methods 307
15.4.2 Project Management Techniques 307
15.4.3 lity Control 307
15.4.4 lity Assurance 308
PROBLEMS AND POINTS TO PONDER 308
FURTHER READINGS AND INFORMATION SOURCES 309
CHAPTER 16 SOFTWARE UALITY ASSURANCE 310
16.1 Background Issues 311
16.2 Elements of Software lity Assurance 312
16.3 SA Processes and Product Characteristics 314
16.4 SA Tasks, Goals, and Metrics 314
16.4.1 SA Tasks 315
16.4.2 Goals, Attributes, and Metrics 316
16.5 Formal Approaches to SA 318
16.6 Statistical Software lity Assurance 318
16.6.1 A Generic Example 319
16.6.2 Six Sigma for Software Engineering 320
16.7 Software Reliability 321
16.7.1 Measures of Reliability and Availability 321
16.7.2 Software Safety 322
16.8 The ISO 9000 lity Standards 3
16.9 The SA Plan 325
16.10 A Framework for Product Metrics 325
16.10.1 Measures, Metrics, and Indicators 325
16.10.2 The Challenge of Product Metrics 326
16.10.3 Measurement Principles 327
16.10.4 Goal-Oriented Software Measurement 327
16.10.5 The Attributes of Effective Software Metrics 328
PROBLEMS AND POINTS TO PONDER 329
FURTHER READINGS AND INFORMATION SOURCES 330
CHAPTER 17 SOFTWARE TESTING STRATEGIES 332
17.1 A Strategic Approach to Software Testing 332
17.1.1 Veri cation and Validation 334
17.1.2 Organizing for Software Testing 334
17.1.3 Software Testing Strategy桾he Big Picture 335
17.1.4 Criteria for Comlio of Testing 338
17.2 Strategic Issues 338
17.3 Test Strategies for Conventional Software 339
17.3.1 Unit Testing 339
17.3.2 Integration Testing 341
17.4 Test Strategies for Object-Oriented Software 347
17.4.1 Unit Testing in the OO Context 347
17.4.2 Integration Testing in the OO Context 347
17.5 Validation Testing 348
17.5.1 Validation-Test Criteria 348
17.5.2 Con guration Review 349
17.5.3 Alpha and Beta Testing 349
17.6 System Testing 350
17.6.1 Recovery Testing 350
17.6.2 Security Testing 351
17.6.3 Stress Testing 351
17.6.4 Performance Testing 352
17.6.5 Deployment Testing 352
17.7 The Art of Debugging 353
17.7.1 The Debugging Process 353
17.7.2 Psychological Considerations 354
17.7.3 Debugging Strategies 355
17.7.4 Correcting the Error 357
PROBLEMS AND POINTS TO PONDER 357
FURTHER READINGS AND INFORMATION SOURCES 358
CHAPTER 18 TESTING CONVENTIONAL APPLICATIONS 360
18.1 Software Testing Fundamentals 361
18.2 Internal and External Views of Testing 363
18.3 White-Box Testing 364
18.4 Basis Path Testing 364
18.4.1 Flow Graph Notation 364
18.4.2 Independent Program Paths 366
18.4.3 Deriving Test Cases 368
18.5 Control Structure Testing 370
18.6 Black-Box Testing 372
18.6.1 Equivalence Partitioning 372
18.6.2 Boundary Value Analysis 373
18.7 Model-Based Testing 374
PROBLEMS AND POINTS TO PONDER 375
FURTHER READINGS AND INFORMATION SOURCES 375
CHAPTER 19 TESTING OBJECT-ORIENTED APPLICATIONS 377
19.1 Broadening the View of Testing 378
19.2 Testing OOA and OOD Models 379
19.2.1 Correctness of OOA and OOD Models 379
19.2.2 Consistency of Object-Oriented Models 380
19.3 Object-Oriented Testing Strategies 382
19.3.1 Unit Testing in the OO Context 382
19.3.2 Integration Testing in the OO Context 383
19.3.3 Validation Testing in an OO Context 383
19.4 Object-Oriented Testing Methods 383
19.4.1 The Test-Case Design Implications of OO Concepts 384
19.4.2 Applicability of Conventional Test-Case Design Methods 385
19.4.3 Fault-Based Testing 385
19.4.4 Scenario-Based Test Design 386
19.5 Testing Methods Applicable at the Class Level 386
19.5.1 Random Testing for OO Classes 386
19.5.2 Partition Testing at the Class Level 387
19.6 Interclass Test-Case Design 388
19.6.1 Multiple Class Testing 388
19.6.2 Tests Derived from Behavior Models 390
PROBLEMS AND POINTS TO PONDER 391
FURTHER READINGS AND INFORMATION SOURCES 392
CHAPTER 20 SECURITY ENGINEERING 393
20.1 Analyzing Security Requirements 394
20.2 Security and Privacy in an Online World 395
20.2.1 So Media 396
20.2.2 Mobile Applications 396
20.. Cloud Computing 396
20.2.4 The Internet of Things 397
20.3 Security Engineering Analysis 397
20.3.1 Security Requirement Elicitation 398
20.3.2 Security Modeling 399
20.3.3 Measures Design 400
20.3.4 Correctness Checks 400
20.4 Security Assurance 401
20.4.1 The Security Assurance Process 401
20.4.2 Organization and Management 402
20.5 Security Risk Analysis 403
20.6 The Role of Conventional Software Engineering Activities 404
20.7 Veri cation of Trustworthy Systems 406
PROBLEMS AND POINTS TO PONDER 408
FURTHER READINGS AND INFORMATION SOURCES 408
CHAPTER 21 SOFTWARE CONFIGURATION MANAGEMENT 410
21.1 Software Con guration Management 411
21.1.1 An SCM Scenario 412
21.1.2 Elements of a Con guration Management System 413
21.1.3 Baselines 413
21.1.4 Software Con guration Items 415
21.1.5 Management of Dependencies and Changes 415
21.2 The SCM Repository 417
21.2.1 General Features and Content 417
21.2.2 SCM Features 418
21.3 The SCM Process 419
21.3.1 Identi cation of Objects in the Software Con guration 420
21.3.2 Version Control 421
21.3.3 Change Control 422
21.3.4 Impact Management 425
21.3.5 Con guration Audit 426
21.3.6 Status Reporting 426
PROBLEMS AND POINTS TO PONDER 427
FURTHER READINGS AND INFORMATION SOURCES 428
PART FOUR MANAGING SOFTWARE PROJECTS 431
CHAPTER 22 PROJECT MANAGEMENT CONCEPTS 432
22.1 The Management Spectrum 433
22.1.1 The People 433
22.1.2 The Product 434
22.1.3 The Process 434
22.1.4 The Project 434
22.2 People 435
22.2.1 The Stakeholders 435
22.2.2 Team Leaders 436
22.. The Software Team 437
22.2.4 Agile Teams 439
22.2.5 Coordination and Communication Issues 440
2. The Product 441
2..1 Software Scope 442
2..2 Problem Decoition 442
22.4 The Process 442
22.4.1 Melding the Product and the Process 443
22.4.2 Process Decoition 444
22.5 The Project 445
22.6 The W5HH Principle 446
22.7 Critical Practices 447
PROBLEMS AND POINTS TO PONDER 448
FURTHER READINGS AND INFORMATION SOURCES 448
CHAPTER PROCESS AND PROJECT METRICS 451
.1 Metrics in the Process and Project Domains 452
.1.1 Process Metrics and Software Process Improvement 452
.1.2 Project Metrics 455
.2 Software Measurement 456
.2.1 Size-Oriented Metrics 457
.2.2 Function-Oriented Metrics 458
.. Reconciling LOC and FP Metrics 459
.2.4 Object-Oriented Metrics 461
.2.5 Use Case-Oriented Metrics 462
. Metrics for Software lity 462
..1 Measuring lity 463
..2 Defect Removal Ef ciency 464
PROBLEMS AND POINTS TO PONDER 466
FURTHER READINGS AND INFORMATION SOURCES 467
CHAPTER 24 ESTIMATION FOR SOFTWARE PROJECTS 469
24.1 Observations on Estimation 470
24.2 The Project Planning Process 471
24.3 Software Scope and Feasibility 472
24.4 Resources 473
24.4.1 Human Resources 473
24.4.2 Reusable Software Resources 474
24.4.3 Environmental Resources 474
24.5 Software Project Estimation 475
24.6 Decoition Techniques 476
24.6.1 Software Sizing 476
24.6.2 Problem-Based Estimation 477
24.6.3 An Example of LOC-Based Estimation 478
24.6.4 An Example of FP-Based Estimation 480
24.6.5 Process-Based Estimation 481
24.6.6 An Example of Process-Based Estimation 482
24.6.7 Estimation with Use Cases 482
24.6.8 An Example of Estimation Using Use Case Points 484
24.6.9 Reconciling Estimates 484
24.7 Empirical Estimation Models 485
24.7.1 The Structure of Estimation Models 486
24.7.2 The COCOMO II Model 486
24.7.3 The Software Equation 486
24.8 Estimation for Object-Oriented Projects 488
PROBLEMS AND POINTS TO PONDER 488
FURTHER READINGS AND INFORMATION SOURCES 489
CHAPTER 25 PROJECT SCHEDULING 490
25.1 Basic Concepts 491
25.2 Project Scheng 493
25.2.1 Basic Principles 494
25.2.2 The Relationship between People and Effort 495
25.. Effort Distribution 496
25.3 De ning a Task Set for the Software Project 497
25.3.1 A Task Set Example 498
25.3.2 Re nement of Major Tasks 499
25.4 De ning a Task Network 500
25.5 Scheng 501
25.5.1 Time-Line Charts 502
25.5.2 Tracking the Schedule 503
25.5.3 Tracking Progress for an OO Project 504
25.6 Earned Value Analysis 505
PROBLEMS AND POINTS TO PONDER 508
FURTHER READINGS AND INFORMATION SOURCES 509
CHAPTER 26 RISK MANAGEMENT 510
26.1 Reactive versus Proactive Risk Strategies 511
26.2 Software Risks 511
26.3 Risk Identi cation 513
26.3.1 Assessing Overall Project Risk 514
26.3.2 Risk Components and Drivers 515
26.4 Risk Projection 515
26.4.1 Developing a Risk Table 516
26.4.2 Assessing Risk Impact 518
26.5 Risk Re nement 520
26.6 Risk Mitigation, Monitoring, and Management 521
26.7 The RMMM Plan 5
PROBLEMS AND POINTS TO PONDER 525
FURTHER READINGS AND INFORMATION SOURCES 526
APPENDIX 1 AN INTRODUCTION TO UML 527
APPENDIX 2 OBJECT-ORIENTED CONCEPTS 548
REFERENCES 556
罗杰S.普莱斯曼(Roger S.Pressman),软件过程改进和软件工程技术方面的靠前知名人士。Pressman博士著有6部著作,并撰写了很多技术文章,是多种行业期刊的固定撰稿人,曾任多种行业杂志的编委,多年来一直担任《IEEE Software》杂志的Manager专栏的编辑。他还是美国计算机协会(ACM)、美国电气与协会(IEEE)等组织的成员。
布鲁斯R.马克西姆(Bruce R.Maxim),在30多年的职业生涯中,Maxim博士曾先后担任过软件、项目经理、大学教授、图书作者和技术顾问,具有丰富的产业和学术经验。Maxim博士现为密歇根大学迪尔伯恩分校计算机和信息科学副教授,还是美国计算机协会(ACM)、美国电气与协会(IEEE)、美国工程教育学会(ASEE)等组织的成员。
PREFACEWhen computer software succeeds梬hen it meets the needs of the people who use it, when it performs awlessly over a long period of time, when it is easy to modify and even easier to use梚t can and does change things for the better. But when software fails梬hen its users are dissatis ed, when it is error prone, when it is dif cult to change and even harder to use梑ad things can and do happen. We all want to build software that makes things better, avoiding the bad things that lurk in the shadow of failed efforts. To succeed, we need discipline when software is designed and built. We need an engineering approach. It has been almost three and a half decades since the rst edition of this book was written. During that time, software engineering has evolved from an obscure idea practiced by a relatively small number of zealots to a legitimate engineering disci-pline. Today, it is recognized as a subject worthy of serious research, conscientious study, and tumultuous debate. Throughout the industry, software engineer has re-placed programmer as the job title of preference. Software process models, software engineering methods, and software tools have been adopted successfully across a broad spectrum of industry segments. Althou&nsp;managers and practitioners alike recognize the need for a more disci-plined approach to software, they continue to debate the manner in which discipline is to be applied. Many individuals and companies still develop software haphazardly, even as they build systems to service today抯 most advanced technologies. Many pro-fessionals and students are unaware of modern methods. And as a result, the quality of the software that we produce suffers, and bad things happen. In addition, debate and controversy about the true nature of the software engineering approach continue. The status of software engineering is a study in contrasts. Attitudes have changed, progress has been made, but much remains to be done before the discipline reaches full maturity. The eighth edition of Software Engineering: A Practitioner抯 Approach is intended to serve as a guide to a maturing engineering discipline. The eighth edition, like the seven editions that preceded it, is intended for both students and practitioners, re-taining its appeal as a guide to the industry professional and a comprehensive intro-duction to the student at the upper-level undergraduate or rst-year graduate level. The eighth edition is considerably more than a simple update. The book has been revised and restructured to improve pedagogical ow and emphasize new and im-portant software engineering processes and practices. In addition, we have further enhanced the popular 搒upport system?for the book, providing a comprehensive set of student, instructor, and professional resources to complement the content of the book. These resources are presented as part of a website (www.mhhe.com/pressman) speci cally designed for Software Engineering: A Practitioner's Approach. The Eighth Edition. fourparts. This organization better compartmentalizes topics and assists instructors who may not have the time to comle&bsp;the entire book in one term.Part 1, The Process, presents a variety of different views of software process, consid-ering all important process models and addressing the debate between prescriptive and agile process philosophies. Part 2, Modeling, presents analysis and design meth-ods with an emphasis on object-oriented techniques and UML modeling. lity Management, presents the concepts, procedures, and methods Managing Software Projects, Part?, that enable effective testing strategy and topics that are relevant to those who plan, manage, and control a software develo-mn&bsp;project. Continuingin the tradition of past editions, a series of sidebars is used throughout the book to present the trials and tribulations of a ( ctional) software team to chapter topics. and to provide supple-mentary materials about methods and tools that are relevant to chapter topics.Acknowledgments. Spe thanks go to Tim Lethbridge of the University of Ottawa who assisted us in the develomn&bsp;of UML and OCL examples, and developed the case study that accompanies this book, and Dale Skrien of Colby College, who devel-oped the UML tutorial in Appendix 1. Their assistance and comments were invaluable. In addition, we抎 like to thank Austin Krauss, Senior Software Engineer at Treyarch, for providing insight into software develomn&bsp;in the video game industry. We also wish to thank the reviewers of the eighth edition: Manuel E. Bermudez, University of Florida; Scott DeLoach, Kansas State University; Alex Liu, Michigan State University; and Dean Mathias, Utah State University. Their in-depth comments and thoughtful criticism have helped us make this a much better book.Spe Thanks. BRM: I am grateful to have had the opportunity to work with Roger on the eighth edition of this book. During the time I have been working on this book my son Benjamin shipped his rst MobileApp and my daughter Katherine launched her interior design career. I am quite pleased to see the adults they have become. Im very grateful to my wife, Norma, for the enthusiastic support she has given me as I lled my free time with working on this book. RSP: As the editions of this book have evolved, my sons, Mathew and Michael, have grown from boys to men. Their maturity, character, and success in the real world have been an inspiration to me. Nothing has lled me with more pride. They now have children of their own, Maya and Lily, who start still another generation. Both girls are already wizards on mobile computing devices. Finally, to my wife Barbara, my love and thanks for tolerating the many, many hours in the of ce and encouraging still another edition of "he book."Roger S. PressmanBruce R. MaximABOUT THE AUTHORSRoger S. Pressman is an internationally recognized consultant and author in soft-ware engineering. For more than four decades, he has worked as a software engi-neer, a manager, a professor, an author, a consultant, and an entrepreneur. Dr. Pressman is president of R. S. Pressman & Associates, Inc., a consulting rm that speizes in helping companies establish effective software engineer-ing practices. Over the years he has developed a set of techniques and tools that improve software engineering practice. He is also the founder of Teslaccessories, LLC, a sr-u manufacturing company that speizes in custom products for the Tesla Model S electric vehicle. Dr. Pressman is the author of nine books, including two novels, and many techni-cal and management papers. He has been on the editorial boards of IEEE Software and The Cutter IT Journal and was editor of the 揗anager?column in IEEE Software. Dr. Pressman is a well-known speaker, keynoting a number of major industry conferences. He has presented tutorials at the International Conference on Soft-ware Engineering and at many other industry meetings. He has been a member of the ACM, IEEE, and Tau Beta Pi, Phi Kappa Phi, Eta Kappa Nu, and Pi Tau Sigma. Bruce R. Maxim has worked as a software engineer, project manager, professor, author, and consultant for more than thirty years. His research interests include software engineering, human computer interaction, game design, so media, arti intelligence, and computer science education. Dr. Maxim is associate professor of computer and information science at the University of Michigan桪earborn. He established the GAME Lab in the College of Engineering and Computer Science. He has published a number of papers on computer algorithm animation, game develomn,&bsp;and engineering education. He is coauthor of a best-selling introductory computer science text. Dr. Maxim has supervised several hundred industry-based software develomn&bsp;projects as part of his work at UM-Dearborn. Dr. Maxim抯 professional experience includes managing research informa-tion systems at a medical school, directing instructional computing for a medical campus, and working as a statistical programmer. Dr. Maxim served as the chief technology of cer for a game develomn&bsp;company. Dr. Maxim was the reciin&bsp;of several distinguished teaching awards and a distinguished community service award. He is a member of Sigma Xi, Upsilon Pi Epsilon, Pi Mu Epsilon, Association of Computing Machinery, IEEE Computer Society, American Society for Engineering Education, Society of Women Engineers, and International Game Developers Association.
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
非常抱歉,您前期未参加预订活动,
无法支付尾款哦!
抱歉,您暂无任性付资格