出版时间:2006-1 出版社:清华大学出版社 作者:徐宝文 页数:358
Tag标签:无
前言
20世纪90年代,人们推出了许多不同的面向对象设计和分析方法,OMT(Rumbaugh)、Booch和OOSE(Jacobson)是当中最为流行的3种方法。其中,OMT方法强在分析方面,但弱在设计方面;Booch方法强在设计方面,但弱在分析方面;OOSE方法强在行为分析方面,但弱在其他方面。随着时间的推移,Booch出版了他的第2本书,其中采用了Rumbaugh和Jacobson所提倡的许多好的分析技术。Rumbaugh发表了一系列文章阐述了OMT-2,其中采用了Booch的许多好的设计技术。自此,这些面向对象的设计和分析方法之间开始出现了交叉,但它们仍然都拥有自己的独特表示法。这些不同表示法的使用给建模者造成了混乱,因为不同方法中的相同符号的含义可能并不相同。例如,实心小圆圈在OMT方法中是一个多重性指示器,在Booch方法中则是聚合符号。这个阶段就是后来人们所说的方法之战阶段。UML的出现结束了方法之战。事实上,UML是一种统一了Booch、OMT和Objectory的表示法的建模语言,同时也采用了其他许多方法中的优良思想。目前,UML已经成为面向对象分析和设计方法的事实上的标准。UML相当适合于以体系结构为中心的、用案驱动的、迭代式和渐增式的软件开发过程,其应用领域颇为广泛,除了可用于具有实时性要求的软件系统建模以及处理复杂数据的信息系统建模外,还可以用于描述非软件领域的系统。UML适用于系统开发过程中从需求规约到系统完成后测试的各个阶段:在需求分析阶段,可以用用户模型视图来捕获用户需求;在分析和设计阶段,可以用静态结构视图和行为模型视图来描述系统的静态结构和动态行为;在实现阶段,可以将UML模型自动转换为用面向对象编程语言实现的代码;在测试阶段,UML模型还可作为各种类型软件测试的依据。为使读者理解UML在这些方面的应用,本书分成语言篇、建模篇和应用篇三大部分共13章。语言篇包括第1章~第7章,着重介绍UML语言本身:第1章在简介20 世纪90 年代流行的各种面向对象软件建模方法的基础上,从3个方面将它们的建模能力与UML的建模能力进行比较;第2章按照视图、模型元素、图以及公共机制的顺序向读者简单介绍UML 的结构和基本元素,以使读者对UML有一个总体了解;第3章介绍用户模型视图,并在此基础上阐述用案中的控制流识别技术、用案识别技巧以及用案识别中易犯的错误;第4章介绍用来描述系统静态结构的结构模型视图;第5章介绍用来描述系统行为的行为模型视图;第6章介绍用来描述系统构造时结构和行为特征的实现模型视图;第7章介绍用来描述对系统的环境进行建模的环境模型视图。建模篇包括第8章~第12章,着重讨论UML在体系结构建模、实时系统的建模、软件测试、关系数据库和C++语言的映射等方面的内容:第8章介绍利用UML进行软件体系结构建模的几种主要方法;第9章介绍如何利用UML和UML-RT 高效地为实时系统建模,同时分析比较Rational Rose和Rose-RT这两个建模工具实时建模的优缺点;第10章按照单元测试、集成测试和系统测试的顺序讨论基于UML的软件测试方法;第11章讨论从UML模型到关系数据库的映射问题(模型结构的映射和模型功能的映射);第12章研究UML 模型映射为相应C++代码的基本原理和方法,并侧重讨论UML 类图到C++类的映射。应用篇只包括第13章,其目的是介绍UML在建模上的应用:第13章通过一个数码声音录音机的面向对象设计和实现过程来说明如何应用UML进行实际建模。目前,由国内翻译的或者编写的与UML相关的著作已不下十余本,其中对UML中出现的许多专业术语的译法都不完全一致,从而给读者的阅读和理解带来一定的不便。因此,在这本书的编写过程中,编者一方面力求使得术语的中文译法反映英文本意,另一方面力求使其符合读者已有的习惯,同时还不能造成与其他术语已有惯用译法的混淆。例如,读者已经习惯于将use case译作“用例”,同时也习惯于将test case译作“测试用例”,但二者同时出现时就容易导致混淆。经过慎重考虑我国软件界老前辈徐家福先生的建议,本书最后将use case译作“用案”。我国计算机软件奠基人之一徐家福先生以80岁高龄为本书作序,认真审阅了本书,并对本书内容和许多术语的译法提出了很好的建议,使我们深受感动。在此我们对徐先生表示由衷的感谢,同时祝徐先生健康长寿。本书成书于2003年,几经修改,方成此稿。本书不仅适用于对UML比较熟悉并且对软件建模有所了解的开发人员,同时也可作为广大科技工作者和研究人员的参考书。由于UML的许多技术还在不断发展之中,加之编者水平有限,因此书中疏漏谬误之处恳切希望能够得到广大读者的批评指正。
内容概要
《UML与软件建模》在全面介绍UML中的视图、模型元素、图以及公共机制等基本知识的基础上,着重介绍基于UML的软件体系结构建模方法、基于UML的实时系统建模方法(同时分析比较Rational Rose和Rose-RT这两个建模工具实时建模的优缺点)、基于UML的单元测试、集成测试和系统测试方法以及UML模型到关系数据库和C++语言映射的实现细节,并通过一个数码声音录音机的面向对象设计和实现过程来说明如何应用UML进行实际的建模。 《UML与软件建模》共分3篇:第1篇(第1~7章)为语言篇,着重介绍UML语言本身,包括UML 的结构和基本元素;第2篇(第8~12章)为建模篇,着重讨论UML在体系结构建模、实时系统的建模和软件测试上的应用,同时介绍从UML模型到关系数据库和C++语言的映射等实现细节;第3篇(第13章)为应用篇,基于UML的软件建模实例,介绍UML在建模上的应用。《UML与软件建模》提供了大量应用实例,每章后均附有习题。 《UML与软件建模》不仅适用于高等院校计算机、软件工程专业高年级本科生、研究生作为教材使用,也适用于对UML比较熟悉并且对软件建模有所了解的开发人员、广大科技工作者和研究人员作为参考书。
书籍目录
第1篇语言篇第1章面向对象的软件建模概述1.1模型1.2面向对象的软件开发1.3面向对象的软件建模1.4统一建模语言(UML)1.4.1发展历程1.4.2基本组成1.4.3建模能力比较1.5小结习题1第2章UML的构成2.1视图2.2模型元素2.3图2.3.1用案图2.3.2类图2.3.3对象图2.3.4序列图2.3.5协作图2.3.6状态图2.3.7活动图2.3.8构件图2.3.9部署图2.4公共机制2.4.1规约2.4.2修饰符2.4.3扩展机制2.5小结习题2第3章用户模型视图3.1用案图3.1.1系统3.1.2参与者3.1.3用案3.2用案的控制流语义3.2.1包含关系中的控制流3.2.2扩展关系中的控制流3.2.3泛化关系中的控制流3.2.4其他关系中的控制流3.3用案建模3.4小结习题3第4章结构模型视图4.1基本概念4.1.1数据类型4.1.2多重性4.2类4.3类与对象4.3.1属性4.3.2操作4.3.3可见性4.3.4对象标识4.4关联4.4.1自关联4.4.2关联的多重性4.4.3角色名4.4.4关联的具体化4.5泛化和特化4.5.1泛化层次4.5.2泛化的含义4.5.3抽象类4.6属性和操作的继承4.6.1在子类中添加特征4.6.2在子类中覆盖操作4.6.3抽象操作4.7关联泛化4.8聚合关系4.9组合关系4.10关联类4.11受限关联4.12多继承4.12.1源自于公共祖先的继承4.12.2mixin技术4.12.3判别式4.13模板类4.14接口4.15小结习题4第5章行为模型视图5.1序列图5.1.1对象生命线5.1.2交互的描述5.1.3时间约束的表示5.1.4条件分支的表示5.1.5重复执行的表示5.1.6递归调用的表示5.1.7对象的创建和撤销5.2协作图5.2.1协作图的类型5.2.2箭头标签5.2.3多对象5.2.4主动对象5.3状态图5.3.1状态5.3.2事件5.3.3变迁5.4活动图5.4.1状态和变迁5.4.2子活动状态5.4.3动态并发5.4.4泳道5.4.5工作流建模示例5.5小结习题5第6章实现模型视图6.1包6.1.1包的名字6.1.2元素可见性6.1.3包间的依赖关系6.1.4包间的泛化关系6.1.5标准衍型6.2子系统6.3模型6.4构件图6.4.1构件6.4.2源代码文件建模6.4.3可执行程序和库建模6.4.4表、文件和文档建模6.5小结习题6第7章环境模型视图7.1结点7.2处理器和设备建模7.3构件的分布建模7.4嵌入式系统建模7.5客户-服务器建模7.6小结习题7第2篇建模篇第8章UML与软件体系结构建模8.1UML用作体系结构描述语言8.1.1体系结构建模实例8.1.2C2概述8.1.3C2风格用于会议调度系统建模8.1.4用UML建模C2风格的会议调度系统8.2约束UML以支持软件体系结构建模8.2.1基于C2的扩展8.2.2基于Wright的扩展8.2.3基于Rapide的扩展8.3小结习题8第9章UML与实时系统建模9.1实时系统的特征9.2实时统一建模语言UML-RT9.2.1端口和连接子9.2.2封装体9.2.3协议9.2.4RationalRoseRealTime9.3GPRS网关支持结点GGSN9.4GGSN建模9.4.1需求工作流程9.4.2分析和设计工作流程9.4.3实现工作流程9.5小结习题9第10章基于UML的软件测试技术10.1软件测试基础10.1.1软件规约和测试10.1.2软件测试生命期10.1.3面向对象软件的测试10.2基于状态图的测试10.2.1基于控制流的测试用例生成10.2.2基于数据流的测试用例生成10.3基于活动图的测试10.3.1形式活动图的语法与语义10.3.2基于形式活动图的测试用例生成10.3.3座位预订问题10.4基于协作图的测试10.4.1规约层协作图和实例层协作图10.4.2静态测试10.4.3动态测试10.5基于用案图的测试10.5.1生成用案序列10.5.2识别用案场景10.5.3生成变体序列10.6小结习题10第11章UML模型到关系数据库的映射11.1结构映射11.1.1主键的生成11.1.2属性类型到域的映射11.1.3属性到列的映射11.1.4类到表的映射11.1.5关联关系的映射11.1.6应避免的映射情况11.2引用完整性及关系约束检查11.2.1父表操作的约束11.2.2子表的约束11.3其他相关问题11.3.1索引11.3.2存储过程11.3.3触发器11.4实例--航空公司UML模型的映射11.5功能到SQL语句的映射11.6小结习题11第12章UML模型的C++实现12.1概述12.2属性和方法的映射12.3泛化与特化关系的映射12.4关联关系的映射12.4.1单向关联的映射12.4.2双向关联的映射12.4.3强制对可选关联的映射12.4.4强制对强制关联的映射12.4.5可选对可选关联的映射12.4.6可选对多关联的映射12.4.7强制对多关联的映射12.4.8多对多关联的映射12.4.9有序关联的映射12.4.10关联类的映射12.5受限关联关系的映射12.5.1强制对强制(可选/多)受限关联的映射12.5.2可选对可选受限关联的映射12.5.3可选对强制受限关联的映射12.5.4可选对多受限关联的映射12.5.5多对可选受限关联的映射12.5.6多对强制受限关联的映射12.5.7多对多受限关联的映射12.5.8有序受限关联的映射12.6聚合关系和组合关系的映射12.7特殊类的映射12.7.1枚举类的映射12.7.2模板的映射12.7.3接口类的映射12.7.4实用工具类的映射12.8包的映射12.9项目管理系统实例12.9.1类图的映射12.9.2对象图的映射12.9.3序列图的映射12.9.4协作图的映射12.9.5状态图的映射12.9.6活动图的映射12.10小结习题12第3篇应用篇第13章数码录音机UML建模实例13.1需求分析13.1.1外部事件13.1.2用案13.1.3场景13.2分析--对象结构13.2.1识别对象13.2.2建立类图13.3域分析--定义对象行为13.3.1对象的状态及对象间的关系13.3.2用户接口13.4体系结构设计13.4.1物理体系结构13.4.2体系结构的模式13.4.3并发性设计13.5对象协作设计13.6详细设计13.6.1硬件包装器13.6.2声音压缩算法13.6.3使用直接存储器访问通道13.6.4分配硬件资源13.6.5存储器分配13.7实现13.8小结习题13附录主要术语中英文对照参考文献
章节摘录
插图:
编辑推荐
清晰地阐明了UML的构成和概念详细地介绍了UML在软件体系结构建模和实时系统建模上的应用深入地阐述了基于UML的软件测试方法剖析了UML模型向关系数据库的映射技术以及UML模型的C++实现提供了多幅高质量图表
图书封面
图书标签Tags
无
评论、评分、阅读与下载