基于项目的软件工程 面向对象方法 影印版PDF电子书下载
- 电子书积分:13 积分如何计算积分?
- 作 者:(美)EvelynStiller,(美)CathieLeBlanc著
- 出 版 社:北京:高等教育出版社
- 出版年份:2002
- ISBN:7040114038
- 页数:382 页
CHAPTER 1 Introduction to Software Engineering 1
1.1 Key Concepts 1
1.2 Why Engineer Software? 1
1.3 Elements of a Software Development Paradigm 7
1.3.1 Project Conceptualization 7
1.3.2 Project Representation 9
1.3.3 Project Implementation 10
1.4 A Brief History of Software Engineering Techniques 10
1.4.1 Structured Programming 12
1.4.2 Functional Decomposition 12
1.4.3 Structured Analysis and Design 14
1.4.4 Data-Centered Paradigm 16
1.4.5 Object-Oriented Paradigm 18
1.5 The Costs of Not Engineering Software 22
1.6 Why Software Engineering Is Not Universal 22
1.7 The Role of the Project 23
1.8 Working in Teams 24
1.9 Creating the Project Team 24
1.10 CLASS PROJECT:Functional Requirements 26
1.10.1 Project Overview 27
1.10.2 Game Elements 28
1.10.3 The Game Sequence of Events 28
1.10.4 Moving and Landing on Planets 30
1.10.5 Winning the Game 31
1.10.6 Project Time Frame 31
1.11 Questions for Review 32
CHAPTER 2 Object-Oriented Paradigm Overview 35
2.1 Key Concepts 35
2.2 Getting Acquainted with the Class Project 35
2.2.1 Guidelines for Creating Informal Scenarios 36
2.2.2 Sample Informal Scenario:User Makes a Move 37
2.3 Object-Oriented Conceptualization 38
2.3.1 Application-Specific Relationships 39
2.3.2 Inheritance 40
2.3.3 Aggregation/Composition 41
2.3.4 Other Categorizations of Relationships 42
2.4 The Software Life Cycle 43
2.4.1 The Software Development Process 43
2.5 Object-Oriented Modeling 49
2.5.1 Role of Model Building 49
2.5.2 Creating Quality Modules 50
2.5.3 Modeling Notation 53
2.5.4 Use of Models in Software Engineering 54
2.6 Qualities of a Good Object-Oriented System 55
2.7 Working in Teams 57
2.7.1 The Chief Programmer Team 57
2.7.2 Holding Effective Team Meetings 58
2.8 Questions for Review 60
CHAPTER 3 Object-Oriented Analysis 63
3.1 Key Concepts 63
3.2 Introduction to Requirements Analysis 63
3.3 The Importance of Requirements Analysis 64
3.4 Requirements Specification 67
3.5 CASE STUDY:Library Management System Specification 69
3.6 Evaluating the Requirements Specification 71
3.7 Refining the Requirements Specification 73
3.7.1 Prototyping as a Refinement Tool 73
3.8 Verifying the Requirements Specification 80
3.9 Propagating Requirements throughout Development 82
3.10 The Process of Requirements Analysis 82
3.10.1 Identifying Classes of UCCD 83
3.10.2 CASE STUDY:Identifying Classes for LMS 86
3.10.3 Identifying Use Cases 88
3.10.4 CASE STUDY:Identifying Use Cases in LMS 89
3.10.5 Scenario Development 92
3.10.6 CASE STUDY:Sample Scenarios in LMS 93
3.10.7 Modeling the System with UML 95
3.10.8 Class Diagrams 96
3.10.9 CASE STUDY:Class Diagrams for LMS 98
3.10.10 Use Case Diagrams 101
3.10.11 CASE STUDY:Use Case Diagrams for LMS 103
3.10.12 Requirements Analysis Summary 105
3.10.13 Evolving the System 107
3.11 Analyzing the CLASS PROJECT 107
3.12 Working in Teams 108
3.13 Questions for Review 109
CHAPTER 4 Product Design 111
4.1 Key Concepts 111
4.2 Objectives of Design 111
4.3 Class Design versus Product Design 112
4.4 Product Design Overview and Objectives 112
4.5 Object Persistence 114
4.5.1 Object Serialization 115
4.5.2 Evaluating Object Persistence 118
4.6 CASE STUDY:Object Persistence in LMS 118
4.7 Process Architecture 120
4.7.1 Modeling Multiple Nodes 121
4.7.2 Modeling Interprocess Communication 123
4.7.3 State Machines 123
4.7.4 Modeling Multiple Threads of Control 126
4.7.5 Effective Use of Network Resources 126
4.8 CASE STUDY:Interprocess Communication in LMS 127
4.9 CLASS PROJECT:Interprocess Communication in Galaxy Sleuth 127
4.10 User Interfaces 131
4.11 User Interface Design 132
4.11.1 User-Friendliness 133
4.12 User Interface Design Principles 135
4.12.1 Know the User 135
4.12.2 Rules for Interface Design 137
4.12.3 Interaction Styles 140
4.13 CASE STUDY:User Interface for LMS 150
4.14 Working in Teams 159
4.15 Class Project Product Design 159
4.16 Questions for Review 160
CHAPTER 5 Class Design 163
5.1 Key Concepts 163
5.2 The Class Design Process 163
5.2.1 Class Skeletons 165
5.2.2 CASE STUDY:Class Skeletons in LMS 165
5.2.3 System Decomposition 168
5.3 More UML 170
5.3.1 Notational Adornments for Class Diagrams 170
5.3.2 Interaction Diagrams 173
5.3.3 CASE STUDY:Interaction Diagrams for LMS 174
5.3.4 Collaboration Diagram Creation 178
5.3.5 CASE STUDY:More Interaction Diagrams in LMS 180
5.3.6 Evaluating Design 183
5.3.7 CASE STUDY:Evaluating Design of LMS 183
5.3.8 Object Diagrams 184
5.3.9 CASE STUDY:Object Diagrams for LMS 184
5.3.10 Object Diagram Creation 185
5.4 Objectives of the Class Design Phase 186
5.4.1 Code Reuse 186
5.4.2 CASE STUDY:Code Reuse in LMS 187
5.4.3 Well-Designed Classes and Methods 188
5.4.4 Data Integrity 188
5.5 Verification of the Class Design 189
5.6 Designing the CLASS PROJECT 191
5.7 Questions for Review 192
CHAPTER 6 CASE STUDY:Game2D with Method Design 193
6.1 Key Concepts 193
6.2 Overview 193
6.3 Requirements Specification 194
6.4 Refined Requirements Specification 194
6.5 Requirements Analysis 198
6.5.1 List of Nouns 198
6.5.2 Analysis of List of Nouns 198
6.5.3 List of Primary Classes 200
6.5.4 Use Case Development 200
6.5.5 Scenarios 205
6.5.6 Refined Class List 207
6.5.7 Modeling 208
6.6 Product Design 210
6.6.1 Process Architecture 211
6.6.2 Graphical User Interface Review 214
6.7 Class Design 214
6.7.1 Interaction Diagrams 214
6.7.2 Object Diagrams 216
6.7.3 Reuse 218
6.7.4 Class Skeletons 221
6.8 Method Design 227
6.8.1 Specifying Methods 227
6.8.2 Method Design for Game2D 228
6.8.3 Creating Quality Methods 231
6.9 Questions for Review 233
CHAPTER 7 Implementation 235
7.1 Key Concepts 235
7.2 Introduction 235
7.3 Implementation Approaches 236
7.3.1 Big Bang Implementation 236
7.3.2 Top-Down versus Bottom-Up Implementation 237
7.3.3 Combining the Top-Down and Bottom-Up Approaches 241
7.3.4 Threads Approach to Implementation 242
7.4 Implementation Plan 242
7.5 CASE STUDY:Implementation Plan for the LMS 245
7.6 Programming Style 248
7.6.1 Shorter Is Simpler 250
7.6.2 Simpler Code Has Fewer Decisions 251
7.6.3 Excessively Nested Logic Should Be Avoided 253
7.7 Comments and Internal Documentation 254
7.7.1 Header Comment Block 255
7.7.2 Line Comments 256
7.8 Project Coding Standards 257
7.8.1 CASE STUDY:Programming Standards for the LMS 259
7.9 Implementing the CLASS PROJECT 261
7.10 Questions for Review 261
CHAPTER 8 Testing 263
8.1 Key Concepts 263
8.2 What Is Testing? 263
8.3 Principles of Object-Oriented Testing 264
8.4 Definitions 265
8.4.1 Error,Fault,and Failure 265
8.4.2 Test Plan 266
8.4.3 Test Oracle 268
8.4.4 Test Cases 268
8.4.5 White Box Testing 269
8.4.6 Black Box Testing 270
8.4.7 Unit Testing 271
8.4.8 Integration Testing 272
8.4.9 System Testing 274
8.5 Testing Steps 275
8.5.1 Analysis of Test Results 276
8.6 Special Issues for Testing Object-Oriented Systems 277
8.7 CASE STUDY:Testing the LMS 279
8.7.1 Test Plan 280
8.7.2 Unit Testing Phase I 282
8.7.3 Formulating Test Cases 283
8.8 Testing the CLASS PROJECT 285
8.9 Testing in the Face of Change:Configuration Management 285
8.10 Questions for Review 289
CHAPTER 9 Project Management 291
9.1 Key Concepts 291
9.2 Introduction 291
9.3 Project Manager Responsibilities 293
9.3.1 Software Metrics 294
9.3.2 CASE STUDY:Project Estimation 301
9.3.3 Quality Control Metrics 303
9.3.4 The Mythical Staff-Month 304
9.4 Configuration Management 305
9.4.1 Version Control 306
9.4.2 Change Control 307
9.4.3 Configuration Audit 308
9.4.4 Configuration Status Reporting 308
9.5 Project Planning and Monitoring 309
9.5.1 Evolving the Project 310
9.5.2 CASE STUDY:Evolving Game2D 311
9.5.3 The Project Plan 312
9.5.4 CASE STUDY:Project Plan for Game2D 313
9.5.5 Scheduling 315
9.5.6 Monitoring Progress 317
9.6 Project Teams 319
9.6.1 Building a Project Team 319
9.6.2 The Four Stages of Team Development 321
9.6.3 Conflict 323
9.6.4 Conflict Resolution 324
9.7 Risk Management 325
9.7.1 Sources of Technical Risk 326
9.7.2 Sources of Human Risk 329
9.7.3 Consequences of Risk 331
9.8 Reducing Risk 332
9.8.1 Early Product Evaluation 332
9.8.2 Early Implementation of Risky System Aspects 333
9.8.3 Early Use of New Technology 333
9.8.4 Early Resolution of Class Interaction Problems 333
9.9 Further Readings on Risk Management 333
9.10 CASE STUDY:Risk Analysis in the LMS 334
9.10.1 Risk Trade-Offs in the LMS 334
9.10.2 Technical Risks in the LMS 334
9.11 Questions for Review 335
CHAPTER 10 Design Patterns 337
10.1 Key Concepts 337
10.2 Motivation for Design Patterns 337
10.3 What Are Design Patterns? 338
10.4 Exploring Design Patterns 341
10.4.1 CASE STUDY:Decorator Design Pattern 341
10.4.2 CASE STUDY:Iterator Design Pattern 342
10.4.3 CASE STUDY:State Design Pattern 344
10.4.4 CASE STUDY:Singleton Design Pattern 347
10.5 Questions for Review 348
CHAPTER 11 Software Development Horror Stories 349
11.1 Key Concepts 349
11.2 Introduction 349
11.2.1 Causes of Failure 350
11.3 Therac-25 351
11.4 CONFIRM 354
11.5 Telephones and Communications 356
CHAPTER 12 Completing and Presenting the CLASS PROJECT 359
12.1 Succeeding with the Class Project 359
12.2 Reflecting on the Project 361
12.2.1 Analyzing What Went Wrong 362
12.3 Presenting the Project 363
12.3.1 Categories of Nontechnical Users 363
12.3.2 Elements of the Nontechnical Presentation 364
12.3.3 Elements of the Technical Presentation 364
12.3.4 The Project Presentation 365
References 367
Index 375
- 《市政工程基础》杨岚编著 2009
- 《工程静力学》王科盛主编 2019
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《化学反应工程》许志美主编 2019
- 《绿色过程工程与清洁生产技术 张懿院士论文集精选 上》《绿色过程工程与清洁生产技术》编写组编 2019
- 《软件工程》齐治昌,谭庆平,宁洪编著 2019
- 《化学工程与工艺专业实验指导》郭跃萍主编 2019
- 《微笑 影印本》N.达列基作 1947
- 《天水师范学院60周年校庆文库 新工科视域下的工程基础与应用研究》《天水师范学院60周年校庆文库》编委会编 2019
- 《高等工程教育改革探析》李瀛心,吴价宝著 1997
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《看漫画学钢琴 技巧 3》高宁译;(日)川崎美雪 2019
- 《优势谈判 15周年经典版》(美)罗杰·道森 2018
- 《社会学与人类生活 社会问题解析 第11版》(美)James M. Henslin(詹姆斯·M. 汉斯林) 2019
- 《海明威书信集:1917-1961 下》(美)海明威(Ernest Hemingway)著;潘小松译 2019
- 《迁徙 默温自选诗集 上》(美)W.S.默温著;伽禾译 2020
- 《上帝的孤独者 下 托马斯·沃尔夫短篇小说集》(美)托马斯·沃尔夫著;刘积源译 2017
- 《巴黎永远没个完》(美)海明威著 2017
- 《剑桥国际英语写作教程 段落写作》(美)吉尔·辛格尔顿(Jill Shingleton)编著 2019
- 《全国高等中医药行业“十三五”创新教材 中医药学概论》翟华强 2019
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《习近平总书记教育重要论述讲义》本书编写组 2020
- 《办好人民满意的教育 全国教育满意度调查报告》(中国)中国教育科学研究院 2019
- 《高等数学试题与详解》西安电子科技大学高等数学教学团队 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《教育学考研应试宝典》徐影主编 2019
- 《语文教育教学实践探索》陈德收 2018
- 《家庭音乐素养教育》刘畅 2018