本书的各个版本一直都是软件专业人士熟悉的读物,在国际软件工程界享有无可质疑的地位。它在全面而系统、概括而清晰地介绍软件工程的有关概念、原则、方法和工具方面获得了广大读者的好评。此外,本书在给出传统的、对学科发展具有深刻影响的方法时,又适当地介绍了当前正在发展的、具有生命力的新技术。
Table of Contents<br/>Preface xxvii<br/>CHAPTER 1 SOFTWARE AND SOFTWARE ENGINEERING 1<br/>1.1 The Nature of Software 4<br/>1.1.1 Defining Software 5<br/>1.1.2 Software Application Domains 7<br/>1.1.3 Legacy Software 8<br/>1.2 Defining the Discipline 8<br/>1.3 The Software Process 9<br/>1.3.1 The Process Framework 10<br/>1.3.2 Umbrella Activities 11<br/>1.3.3 Process Adaptation 11<br/>1.4 Software Engineering Practice 12<br/>1.4.1 The Essence of Practice 12<br/>1.4.2 General Principles 14<br/>1.5 How It All Starts 15<br/>1.6 Summary 17<br/>PART ONE THE SOFTWARE PROCESS 19<br/>CHAPTER 2 PROCESS MODELS 20<br/>2.1 A Generic Process Model 21<br/>2.2 Defining a Framework Activity 23<br/>2.3 Identifying a Task Set 23<br/>2.4 Prescriptive Process Models 25<br/>2.4.1 The Waterfall Model 25<br/>2.4.2 Prototyping Process Model 26<br/>2.4.3 Evolutionary Process Model 29<br/>2.4.4 Unified Process Model 31<br/>2.5 Product and Process 33<br/>2.6 Summary 35<br/>CHAPTER 3 AGILITY AND PROCESS 37<br/>3.1 What Is Agility? 38<br/>3.2 Agility and the Cost of Change 39<br/>3.3 What Is an Agile Process? 40<br/>3.3.1 Agility Principles 40<br/>3.3.2 The Politics of Agile Development 41<br/>3.4 Scrum 42<br/>3.4.1 Scrum Teams and Artifacts 43<br/>3.4.2 Sprint Planning Meeting 44<br/>3.4.3 Daily Scrum Meeting 44<br/>3.4.4 Sprint Review Meeting 45<br/>3.4.5 Sprint Retrospective 45<br/>3.5 Other Agile Frameworks 46<br/>3.5.1 The XP Framework 46<br/>3.5.2 Kanban 48<br/>3.5.3 DevOps 50<br/>3.6 Summary 51<br/>CHAPTER 4 RECOMMENDED PROCESS MODEL 54<br/>4.1 Requirements Definition 57<br/>4.2 Preliminary Architectural Design 59<br/>4.3 Resource Estimation 60<br/>4.4 First Prototype Construction 61<br/>4.5 Prototype Evaluation 64<br/>4.6 Go, No-Go Decision 65<br/>4.7 Prototype Evolution 67<br/>4.7.1 New Prototype Scope 67<br/>4.7.2 Constructing New Prototypes 68<br/>4.7.3 Testing New Prototypes 68<br/>4.8 Prototype Release 68<br/>4.9 Maintain Release Software 69<br/>4.10 Summary 72<br/>CHAPTER 5 HUMAN ASPECTS OF SOFTWARE ENGINEERING 74<br/>5.1 Characteristics of a Software Engineer 75<br/>5.2 The Psychology of Software Engineering 75<br/>5.3 The Software Team 76<br/>5.4 Team Structures 78<br/>5.5 The Impact of Social Media 79<br/>5.6 Global Teams 80<br/>5.7 Summary 81<br/>PART TWO MODELING 83<br/>CHAPTER 6 UNDERSTANDING REQUIREMENTS 84<br/>6.1 Requirements Engineering 85<br/>6.1.1 Inception 86<br/>6.1.2 Elicitation 86<br/>6.1.3 Elaboration 86<br/>6.1.4 Negotiation 87<br/>6.1.5 Specification 87<br/>6.1.6 Validation 87<br/>6.1.7 Requirements Management 88<br/>6.2 Establishing the Groundwork 89<br/>6.2.1 Identifying Stakeholders 89<br/>6.2.2 Recognizing Multiple Viewpoints 89<br/>6.2.3 Working Toward Collaboration 90<br/>6.2.4 Asking the First Questions 90<br/>6.2.5 Nonfunctional Requirements 91<br/>6.2.6 Traceability 91<br/>CHAPTER 7 REQUIREMENTS MODELING—A RECOMMENDED APPROACH 108<br/>7.1 Requirements Analysis 109<br/>7.1.1 Overall Objectives and Philosophy 110<br/>7.1.2 Analysis Rules of Thumb 110<br/>7.1.3 Requirements Modeling Principles 111<br/>7.2 Scenario-Based Modeling 112<br/>7.2.1 Actors and User Profiles 113<br/>7.2.2 Creating Use Cases 113<br/>7.2.3 Documenting Use Cases 117<br/>7.3 Class-Based Modeling 119<br/>7.3.1 Identifying Analysis Classes 119<br/>7.3.2 Defining Attributes and Operations 122<br/>7.3.3 UML Class Models 123<br/>7.3.4 Class-Responsibility-Collaborator Modeling 126<br/>7.4 Functional Modeling 128<br/>7.4.1 A Procedural View 128<br/>7.4.2 UML Sequence Diagrams 130<br/>7.5 Behavioral Modeling 131<br/>7.5.1 Identifying Events with the Use Case 131<br/>7.5.2 UML State Diagrams 132<br/>7.5.3 UML Activity Diagrams 133<br/>7.6 Summary 136<br/>HAPTER 8 DESIGN CONCEPTS 138<br/>8.1 Design Within the Context of Software Engineering 139<br/>8.2 The Design Process 141<br/>8.2.1 Software Quality Guidelines and Attributes 142<br/>8.2.2 The Evolution of Software Design 143<br/>8.3 Design Concepts 145<br/>8.3.1 Abstraction 145<br/>8.3.2 Architecture 145<br/>8.3.3 Patterns 146<br/>8.3.4 Separation of Concerns 147<br/>8.3.5 Modularity 147<br/>8.3
温馨提示:请使用长沙图书馆的读者帐号和密码进行登录