目录 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.2.3 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.2.3 Process Adaptation 18 2.3 Software Engineering Practice 19 2.3.1 The Essence of Practice 19 2.3.2 General Principles 21 2.4 Software Development Myths 23 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 Specialized Process Models 51 4.2.1 Component-Based Development 52 4.2.2 The Formal Methods Model 52 4.2.3 Aspect-Oriented Software Development 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 Development 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 Development 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 Social 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 REQUIREMENTS 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.2.3 Working toward Collaboration 107 7.2.4 Asking the First Questions 107 7.3 Eliciting Requirements 108 7.3.1 Collaborative Requirements Gathering 109 7.3.2 Quality 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 123 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 REQUIREMENTS 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.2.3 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 REQUIREMENTS MODELING: CLASS-BASED METHODS 146 9.1 Identifying Analysis Classes 147 9.2 Specifying Attributes 150 9.3 De ning Operations 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 REQUIREMENTS MODELING: BEHAVIOR, 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 Quality Guidelin
以下为对购买帮助不大的评价