新書推薦:
《
低空经济:中国经济发展新引擎
》
售價:NT$
403.0
《
汉字学理与小学汉字教学
》
售價:NT$
408.0
《
即将到来的能源战争
》
售價:NT$
407.0
《
时刻人文·臆造南洋:马来半岛的神鬼人兽
》
售價:NT$
296.0
《
时刻人文·信用的承诺与风险:一个被遗忘的犹太金融传说与欧洲商业社会的形成
》
售價:NT$
469.0
《
同与不同:50个中国孤独症孩子的故事
》
售價:NT$
301.0
《
开宝九年
》
售價:NT$
250.0
《
论僭政:色诺芬《希耶罗》义疏(含施特劳斯与科耶夫通信集)
》
售價:NT$
500.0
|
內容簡介: |
本书系统讲解了面向对象方法的基本概念,统一建模语言的概念、结构和建模方法,对象约束语言(OCL)基础知识和使用方法,还详细介绍了业务建模方面的基础知识,包括业务、业务规则、业务模型及其构成要素的概念以及业务建模的方法。
本书详细介绍了各种标准UML模型的概念、构成元素、使用规则和建模方法,这些标准模型包括:用例模型、类图模型、顺序图、通信图、状态图、活动图、构件图和部署图等。同时,还概要介绍了UML 2.0中新增加的一些模型及其建模方法,如复合结构图、交互概览图和时序图等模型。
本书还介绍了设计模式的基础知识和基本理论,概要介绍了每种设计模式的定义、结构、适用情形和主要特点。
*后,本书还提供了若干带有全部实现的软件设计案例,能够更加直观、有效地帮助读者理解面向对象方法中的各种抽象概念、设计原则、建模方法和建模过程。
本书适合作为高等院校软件工程及相关专业的本科生或研究生教材,也可以作为从事软件开发工作和学习面向对象方法的读者的参考资料。
|
目錄:
|
目录
前言
第1章面向对象开发方法1
1.1对象及对象模型1
1.1.1对象的基本概念1
1.1.2对象模型的构成要素5
1.1.3对象模型的主要优点11
1.2面向对象的软件开发12
1.2.1典型的结构化开发方法12
1.2.2面向对象方法的发展过程13
1.2.3面向对象方法与程序设计语言15
1.2.4典型的面向对象的开发方法17
1.3面向对象软件开发过程22
1.3.1面向对象分析(OOA)22
1.3.2面向对象设计(OOD)24
1.3.3OOA与OOD之间的关系25
1.4面向对象分析与设计的应用举例25
1.4.1问题定义25
1.4.2需求分析26
1.4.3软件结构设计28
1.4.4软件行为建模29
1.5小结31
习题31
第2章统一建模语言(UML)概述33
2.1UML的基本概念33
2.1.1UML的定义33
2.1.2UML的主要特点34
2.1.3如何使用UML36
2.2UML的概念模型及视图结构37
2.2.1UML的概念模型37
2.2.2UML中的视图39
2.3模型元素41
2.3.1实体元素41
2.3.2交互元素43
2.3.3组织元素43
2.3.4注释元素44
2.4关系44
2.4.1依赖关系(Dependent)44
2.4.2关联关系(Association)45
2.4.3组合与聚合(Composition and Aggregation)45
2.4.4继承(Inherit)45
2.5图46
2.5.1用例图(Use Case Diagram)47
2.5.2类图(Class Diagram)48
2.5.3对象图(Object Diagram)48
2.5.4顺序图(Sequence Diagram)49
2.5.5通信图(Communication Diagram)50
2.5.6状态图(Statechart Diagram)50
2.5.7活动图(Activity Diagram)51
2.5.8构件图(Component Diagram)52
2.5.9部署图(Deployment Diagram)53
2.5.10其他类型的图53
2.6通用机制53
2.6.1规约(Specification)53
2.6.2修饰符(Decorator)54
2.6.3扩展机制(Extend Mechanism)54
2.6.4约束(Constraint)54
2.7对象约束语言简介55
2.7.1对象约束语言的特点55
2.7.2OCL的主要用途55
2.7.3OCL类型与操作56
2.7.4OCL表达式58
2.7.5集合操作(Collection Operation)61
2.8小结65
习题65
第3章业务模型的建模68
3.1业务模型68
3.1.1业务的概念69
3.1.2良好的业务模型的特点69
3.1.3业务模型的基本结构70
3.1.4业务建模的主要动机71
3.2业务模型的建模方法72
3.2.1UML与业务建模72
3.2.2UML的业务扩展73
3.2.3业务过程模型74
3.2.4软件模型与业务模型之间的关系77
3.3业务规则78
3.3.1派生规则(Derivation)79
3.3.2约束规则(Constraint)80
3.3.3存在性规则(Existence)82
3.4业务过程的建模案例82
3.4.1定义业务系统的目标83
3.4.2业务过程模型84
3.4.3交付业务流程图85
3.4.4网络销售系统的结构86
3.4.5系统需求87
3.5小结89
习题89
第4章用例建模91
4.1用例图的基本概念91
4.2参与者92
4.2.1参与者的定义92
4.2.2识别参与者92
4.2.3参与者之间的泛化关系94
4.3用例95
4.3.1用例的定义和表示95
4.3.2参与者和用例的关联95
4.3.3用例之间的关系96
4.3.4用例描述98
4.3.5用例模板98
4.3.6用例的识别102
4.4用例建模应注意的问题103
4.5小结105
习题105
第5章类图建模108
5.1类图的构成元素108
5.1.1类和对象108
5.1.2类(或对象)之间的关系109
5.1.3关联类(Association Class)113
5.1.4关联限定符(Qualifier)114
5.1.5多继承(Multi Inheritance)114
5.1.6混入技术(Mixin Technique)115
5.1.7模板类(Template Class)117
5.1.8接口(Interface)118
5.2从用例到类119
5.2.1业务逻辑类、实体类和边界类的基本概念119
5.2.2用例模型到结构模型的映射120
5.3问题域子系统设计中的要点123
5.3.1复用已存在的类123
5.3.2为相似的类增加基类124
5.3.3多继承的调整125
5.3.4关联的转换与实现126
5.3.5调整与完善属性129
5.3.6提高软件性能129
5.3.7算法的构造与优化131
5.3.8对象的可访问性131
5.3.9类作用域132
5.3.10例外处理机制132
5.3.11考虑使用设计模式133
5.4小结133
习题134
第6章顺序图与通信图建模138
6.1顺序图的构成元素138
6.1.1对象(Object)139
6.1.2生命线(Lifeline)139
6.1.3控制焦点(Focus of Control)139
6.1.4消息(Message)140
6.1.5撤销(Destroy)141
6.1.6组合片段(Combined Fragment)142
6.1.7条件分支和从属流143
6.2顺序图建模方法144
6.3通信图的构成元素146
6.3.1对象(Object)146
6.3.2链接(Link)147
6.3.3消息(Message)147
6.3.4通信图中的主动对象(Active Object)147
6.4通信图建模方法149
6.5通信图与顺序图的比较149
6.6小结150
习题150
第7章状态图与活动图建模153
7.1状态图的构成元素154
7.1.1状态154
7.1.2转换与事件158
7.2状态图建模方法和原则159
7.2.1状态图的建模方法159
7.2.2状态
|
內容試閱:
|
前言
面向对象方法是计算机软件开发领域中的主流方法,其应用范围覆盖了业务建模、需求分析、系统设计、测试和维护等多个软件过程,甚至扩展到其他非计算机领域。统一建模语言(UML)的出现和发展,极大地促进了面向对象方法的不断丰富和日益成熟。深刻理解和领会面向对象的基本思想、基本概念和基本方法,熟练掌握和运用统一建模语言也已经成为软件开发人员必须具有的知识储备和重要技能。
本书系统介绍了面向对象的基础知识、基本理论,以及统一建模语言的应用方法;在总结了传统的结构化方法的基础上,详细介绍了面向对象方法的基础知识和基本概念,以及统一建模语言的概念、结构和各种模型元素。
为了使读者更好地理解UML的使用方法,本书引入了UML模型约束语言(OCL),并详细介绍了模型约束语言的基础知识和使用方法。对OCL的理解和掌握将直接影响面向对象方法中像约束、不变量、前置条件、后置条件和关联等抽象概念的理解。
为了帮助读者理解和掌握业务建模的一般规律和一般方法,也为了帮助读者理解业务建模在软件开发中的地位和作用,我们在书中加入了业务建模方面内容,包括业务的定义、业务规则的概念、业务模型的构成要素和建模方法等。这部分内容的引入,不仅可以帮助读者扩展知识视野,也可以有效地帮助读者加深对软件建模过程中涉及的相关问题的理解。
本书详细介绍了每一种标准UML模型的概念、构成元素、使用规则和建模方法,并引入了大量的模型实例。这些标准模型包括用例模型、类图模型、顺序图、通信图、状态图、活动图、构件图和部署图等。同时,还简要地介绍了部分UML 2.0中新增加的图,如复合结构图、交互概览图和时序图等。
本书详细地介绍了设计模式的基础知识和基本理论,简要地介绍了每种模式的定义、结构、适用情形和主要特点。最后,还给出了有关设计模式的应用案例。
最后,本书还提供了若干个带有源程序的软件设计案例,并希望这些案例能够帮助读者更加直观、全面和有效地理解面向对象方法中的基本概念、基本方法和开发过程。
本书也是对作者多年教学实践和软件开发经验的总结。在编写过程中,我们查阅了多种教材、专著、资料和文献。认真地编写、修改、核对和校对教材中出现的每一个概念和每一段陈述,精心设计了多个应用实例。书中的大多数实例均来源于实际的软件开发案例。
本书可作为高等院校软件及相关专业本科生或研究生的面向对象分析与设计课程教材或参考读物,也可以作为软件开发人员了解和学习面向对象方法的参考书。
全书共由13章组成。每一章的基本内容和教学建议如下。
第 1 章 面向对象开发方法。本章重点介绍面向对象的基本思想和基本特点;详细介绍了对象模型的各个构成要素及其主要特点;详细介绍了面向对象方法中的各基本概念及基本方法;简单介绍了面向对象的开发过程;阐述了面向对象分析与设计这两个过程之间的联系与区别;并给出了一个初步认识面向对象方法的简单例子。本章重点关注的是经典的面向对象开发方法和对象模型这两个部分的内容。
第 2 章 统一建模语言(UML)概述。本章简要地介绍了统一建模语言的发展历史、基本概念、基本结构、视图、图和公共机制等方面的内容;简单地介绍了各种图的构成和示例;比较详细地介绍了对象约束语言的结构、基本概念和使用方法。本章的教学重点内容包括统一建模语言的基本概念、基本结构、基本概念和模型元素的表示法。可以将对象约束语言部分作为自学内容,也可以作为第5章之后的讲解内容。
第3章 业务模型的建模。本章详细介绍了业务模型的概念、业务模型的基本结构,介绍了业务建模的主要动机;使用UML业务扩展进行业务建模的基本方法,业务模型与软件模型之间的关系;详细介绍了业务规则的概念、分类和表示方法,业务模型的各种要素及其表示法和业务过程的建模方法。本章的重点在于业务系统的概念、业务模型的基本结构、业务规则的概念和表示方法,以及业务模型的建模方法。
第4章 用例建模。本章重点介绍用例模型的概念、结构和建模方法,包括参与者、用例和它们之间的各种关系,如参与者之间的泛化关系、参与者和用例之间的关联以及用例之间的依赖等关系等;介绍了识别参与者和用例的基本方法;详细介绍了用例的结构和各种描述方法。本章的重点在于理解和掌握参与者、用例、参与者和用例之间的各种关系,用例图的绘制方法和用例描述的表示方法;本章的难点是用例描述的表示方法。
第5章 类图建模。本章主要介绍类图模型的结构的表示方法、概念和建模方法。首先介绍了类图中的类、对象、属性、方法、可见性、作用域,以及类(对象)之间各种关系的概念和表示法;其次,介绍了从用例模型识别概念并建立概念模型的建模方法;最后,介绍了问题域中类图的建模策略问题,如复用、增加基类、多继承的调整和关联的简化等多个问题。本章的重点在于理解和掌握类图的建模方法和使用类图建模概念模型的方法,难点在于对各种类关系的理解。
第6章 顺序图与通信图建模。本章主要介绍顺序图和通信图的结构、概念和建模方法;重点介绍了生命线、消息及消息分类、控制焦点、链接、并发和组合片段等概念;详细地介绍了顺序图和通信图之间的联系和区别。本章的重点在于顺序图与通信图的建模方法,难点在于顺序图和通信图之间的语义等价关系。
第7章 状态图与活动图建模。本章主要介绍状态图和活动图的结构、概念和建模方法;详细介绍了状态、复合状态、子状态、顺序子状态、并发子状态、历史子状态、状态迁移、活动、动作、控制流、信息流等概念及其使用方法;详细地介绍了这两种图的建模方法和应用领域。本章的重点在于状态图与活动图的建模方法,难点在于状态图的建模方法。
第8章 包图、组件图以及部署图建模。本章主要介绍包图、组件图以及部署图的结构、概念和建模方法;详细介绍了包图、包图的构成元素、可见性和包之间的各种依赖关系;介绍了包图的建模方法;详细介绍了组件图的概念、各种构成元素以及建模方法;介绍了部署图的概念、结构、构成元素及其建模方法。本章的重点在于包图、组件图以及部署图的建模方法,难点在于包之间的依赖关系。
第9章 UML模型与程序设计。本章介绍了UML模型与应用程序之间的映射问题,类图模型向程序代码之间的映射,包括类、属性、方法的映射;详细介绍了泛化和关联关系的映射,依赖、接口、包和特殊类的映射。本章的重点在于通过理解UML模型元素向程序的映射来加深对软件模型的理解,以提高读者使用UML模型分析和设计软件的能力。
第10章 面向对象设计原则。本章详细介绍了软件质量属性这一概念;介绍了如何开发满足质量要求的软件这一重要问题;详细介绍了基本的面向对象设计原则,以及如何落实这些原则以便开发出具有良好可维护性、可扩充性以及可重用性的软件;并给出了一个按照这些设计原则设计出来的一个具体的软件设计实例,在实际教学中,案例部分可安排自学。
第 11 章 设计模式及其应用。本章简要介绍了设计模式的基本概念和基本理论,每个GOF模式的定义、结构、特点和主要场景;详细介绍了一个具体的设计模式应用实例。本章的教学重点是设计模式的基本概念和基本理论,使用设计模式进行软件设计的基本方法。在学时不充裕的情况下,可以安排学生自学本章的内容。
第 12 章 对象的持久化。本章详细讨论了对象的持久化问题;介绍了比较常见的对象持久化方法;介绍了基于数据文件的持久化方法问题;并给出了比较具体的应用实例;详细说明了对象模型向数据库模型的具体映射及其实现方法。本章的重点在于对持久化概念和持久化技术的理解,对象模型向数据库模型的映射及其实现方法。
第 13 章 面向对象分析设计案例。本章介绍了一个比较完整的交互式图形编辑软件案例;详细地给出了案例的功能模型、概念模型和结构模型及其设计过程;详细介绍了案例中部分功能的具体实现;说明了动态模型在软件设计与实现中的具体应用和某些设计模式在案例软件设计中的应用。本章的重点是通过一个包含了完整的软件分析、设计和实现过程的案例,帮助读者理解面向对象的开发过程和设计方法,理解UML模型在软件开发过程中的地位和作用。在学时不充裕的情况下,可安排学生自学本章的内容。
本书由孙学波带领课题组编写完成,参加编写工作的课题组成员还有曾子维、李林林、姚红岩、张春娜。需要说明的是,课题组与苏州中元动力有限公司密切合作,共同完成了本书的编写工作。该公司的卢圣凯先生也积极参与到本书的编写工作中,为本书的顺利完成做出了积极的贡献。
在本书的编写过程中,我们查阅和参考了大量的文献资料,在此特向所有资料的提供者和作者们表示衷心的感谢!
由于作者的知识水平和能力有限,书中难免会存在错漏之处,敬请广大读者和同行们给予批评指正。
编者
|
|