简介
本书是UML创始人Grady Booch的代表作之一,书中介绍的概念都基于牢固的理论基础。同时,本书又是一本注重实效的书,面向架构师和软件开发者等软件工程实践者的实际需要。本书通过大量例子说明了基本概念,解释了方法,并展示了在不同领域的成功应用。全书分为理论和应用两部分。理论部分深刻剖析了面向对象分析与设计(OOAD)的概念和方法。应用部分连续列出了5个不同类型、不同领域的应用,描述如何从初始阶段到移交阶段将OOAD理论和方法应用到项目中。应用部分所涉及的领域包括系统架构、数据获取、密码分析、控制系统和Web开发,还给出了一些关于重要问题的有效建议,包括分类、实现策略和高性价比的项目管理。书中的表示法采用最新的UML 2.0,因此本书是学习UML 2.0不可多得的参考书。
本书作者基于长期丰富的经验,提出了改进的对象开发方法,用于解决系统和软件开发者面临的复杂问题,非常适合实际系统和软件的开发者、系统分析师或构架师、项目经理阅读。本书主要阐述了软件开发的方法,也可以作为高等院校软件工程和高级编程课程的教材使用。
目录
Section I Concepts 1
Chapter 1 Complexity 3
1.1 The Structure of Complex Systems 4
1.2 The Inherent Complexity of Software 7
1.3 The Five Attributes of a Complex System 12
1.4 Organized and Disorganized Complexity 14
1.5 Bringing Order to Chaos 18
1.6 On Designing Complex Systems 24
Chapter 2 The Object Model 29
2.1 The Evolution of the Object Model 29
2.2 Foundations of the Object Model 37
2.3 Elements of the Object Model 43
2.4 Applying the Object Model 71
Chapter 3 Classes and Objects 75
3.1 The Nature of an Object 75
3.2 Relationships among Objects 88
3.3 The Nature of a Class 92
3.4 Relationships among Classes 96
3.5 The Interplay of Classes and Objects 111
3.6 On Building Quality Classes and Objects 112
Chapter 4 Classification 121
4.1 The Importance of Proper Classification 121
4.2 Identifying Classes and Objects 126
4.3 Key Abstractions and Mechanisms 138
Section II Method 145
Chapter 5 Notation 147
5.1 The Unified Modeling Language 147
5.2 Package Diagrams 155
5.3 Component Diagrams 163
5.4 Deployment Diagrams 171
5.5 Use Case Diagrams 175
5.6 Activity Diagrams 185
5.7 Class Diagrams 192
5.8 Sequence Diagrams 206
5.9 Interaction Overview Diagrams 213
5.10 Composite Structure Diagrams 215
5.11 State Machine Diagrams 218
5.12 Timing Diagrams 231
5.13 Object Diagrams 235
5.14 Communication Diagrams 238
Chapter 6 Process 247
6.1 First Principles 248
6.2 The Macro Process: The Software Development Lifecycle 256
6.3 The Micro Process: The Analysis and Design Process 272
Chapter 7 Pragmatics 303
7.1 Management and Planning 304
7.2 Staffing 308
7.3 Release Management 312
7.4 Reuse 314
7.5 Quality Assurance and Metrics 316
7.6 Documentation 320
7.7 Tools 322
7.8 Special Topics 324
7.9 The Benefits and Risks of Object-Oriented Development 326
Section III Applications 331
Chapter 8 System Architecture: Satellite-Based Navigation 333
8.1 Inception 334
8.2 Elaboration 347
8.3 Construction 370
8.4 Post-Transition 371
Chapter 9 Control System: Traffic Management 375
9.1 Inception 376
9.2 Elaboration 385
9.3 Construction 396
9.4 Post-Transition 411
Chapter 10 Artificial Intelligence: Cryptanalysis 413
10.1 Inception 414
10.2 Elaboration 421
10.3 Construction 427
10.4 Post-Transition 446
Chapter 11 Data Acquisition: Weather Monitoring Station 449
11.1 Inception 450
11.2 Elaboration 463
11.3 Construction 474
11.4 Post-Transition 487
Chapter 12 Web Application: Vacation Tracking System 489
12.1 Inception 490
12.2 Elaboration 494
12.3 Construction 506
12.4 Transition and Post-Transition 534
Appendix A Object-Oriented Programming Languages 537
A.1 Language Evolution 537
A.2 Smalltalk 541
A.3 C++ 546
A.4 Java 551
Appendix B Further Reading 557
Notes 567
Glossary 591
Classified Bibliography 603
Index 677
Chapter 1 Complexity 3
1.1 The Structure of Complex Systems 4
1.2 The Inherent Complexity of Software 7
1.3 The Five Attributes of a Complex System 12
1.4 Organized and Disorganized Complexity 14
1.5 Bringing Order to Chaos 18
1.6 On Designing Complex Systems 24
Chapter 2 The Object Model 29
2.1 The Evolution of the Object Model 29
2.2 Foundations of the Object Model 37
2.3 Elements of the Object Model 43
2.4 Applying the Object Model 71
Chapter 3 Classes and Objects 75
3.1 The Nature of an Object 75
3.2 Relationships among Objects 88
3.3 The Nature of a Class 92
3.4 Relationships among Classes 96
3.5 The Interplay of Classes and Objects 111
3.6 On Building Quality Classes and Objects 112
Chapter 4 Classification 121
4.1 The Importance of Proper Classification 121
4.2 Identifying Classes and Objects 126
4.3 Key Abstractions and Mechanisms 138
Section II Method 145
Chapter 5 Notation 147
5.1 The Unified Modeling Language 147
5.2 Package Diagrams 155
5.3 Component Diagrams 163
5.4 Deployment Diagrams 171
5.5 Use Case Diagrams 175
5.6 Activity Diagrams 185
5.7 Class Diagrams 192
5.8 Sequence Diagrams 206
5.9 Interaction Overview Diagrams 213
5.10 Composite Structure Diagrams 215
5.11 State Machine Diagrams 218
5.12 Timing Diagrams 231
5.13 Object Diagrams 235
5.14 Communication Diagrams 238
Chapter 6 Process 247
6.1 First Principles 248
6.2 The Macro Process: The Software Development Lifecycle 256
6.3 The Micro Process: The Analysis and Design Process 272
Chapter 7 Pragmatics 303
7.1 Management and Planning 304
7.2 Staffing 308
7.3 Release Management 312
7.4 Reuse 314
7.5 Quality Assurance and Metrics 316
7.6 Documentation 320
7.7 Tools 322
7.8 Special Topics 324
7.9 The Benefits and Risks of Object-Oriented Development 326
Section III Applications 331
Chapter 8 System Architecture: Satellite-Based Navigation 333
8.1 Inception 334
8.2 Elaboration 347
8.3 Construction 370
8.4 Post-Transition 371
Chapter 9 Control System: Traffic Management 375
9.1 Inception 376
9.2 Elaboration 385
9.3 Construction 396
9.4 Post-Transition 411
Chapter 10 Artificial Intelligence: Cryptanalysis 413
10.1 Inception 414
10.2 Elaboration 421
10.3 Construction 427
10.4 Post-Transition 446
Chapter 11 Data Acquisition: Weather Monitoring Station 449
11.1 Inception 450
11.2 Elaboration 463
11.3 Construction 474
11.4 Post-Transition 487
Chapter 12 Web Application: Vacation Tracking System 489
12.1 Inception 490
12.2 Elaboration 494
12.3 Construction 506
12.4 Transition and Post-Transition 534
Appendix A Object-Oriented Programming Languages 537
A.1 Language Evolution 537
A.2 Smalltalk 541
A.3 C++ 546
A.4 Java 551
Appendix B Further Reading 557
Notes 567
Glossary 591
Classified Bibliography 603
Index 677
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×