内 容简 介本书结合大量软件分析与设计实例,重点介绍了UML语言体系结构、UML元素语义、语法,并通过实际的软件开发实例对UML建模方法进行了详细的讲解。全书文字表述通俗易懂,技术讲解深入浅出。全书分为3篇,共15章。第1篇(第1章~第12章)UML语言基础,内容包括:UML语言体系结构、UML组成元素、UML图的表示方法、UML图的作用;第2篇(第13章)UML建模实践,以网上书店为例,重点介绍领域建模与分析过程、用例建模与分析过程、动态建模与分析过程。第3篇(第14章和第15章)UML高级技术,内容包括:Rose的双向工程和统一软件过程(RUP)。通过对本书的学习,读者可以系统地掌握UML语言的阅读方法和建模方法。本书重点突出了UML语言的表示方法和建模方法。书中所有的概念、技术、建模方法都通过实例来演示,内容精炼,表达简明,实例丰富,非常适合作为高等院校计算机专业及相关专业的教材,也可以作为培训机构相关专业的培训教材。
前 言“UML基础与建模实践”是计算机科学专业和软件工程专业学生的必修课程,也是一门非常重要的课程。尽管市面上介绍UML语言的图书不少,但是几乎没有一本书在同一个软件分析与设计实例中全面、具体、正确地涵盖三种重要的建模过程:领域建模、用例建模、动态建模,并且,在建模过程中,技术应用和建模方法是脱节的。因此,学生不能真正理解建模技术和建模方法,在实践中更谈不上正确地运用UML语言来实现面向对象的分析和设计。学生在建模实践中出现的问题主要集中在以下三点:第一,没有真正理解UML表示法,不知道如何使用它们。第二,对统一开发过程(RUP)不理解,不知道在什么情况下采用哪种模型来构造系统。第三,不知道如何运用建模技术和建模方法。本书以网上书店系统为例,全面介绍领域建模、用例建模和动态建模,并且在建模过程中充分体现建模技术和建模方法的具体运用。本教材为大、中型软件系统的建模提供了开发步骤、技术提示和表示方法。本书特色本书以网上书店系统为例,为读者提供了领域建模与分析过程、用例建模与分析过程、动态建模与分析过程,在建模过程中提供了启发性技术和建模方法。本书体系结构安排合理,知识组织风格统一,表达通俗易懂,讲解深入浅出,具体特点如下。(1) 在体系结构的安排上强调内容的系统性、连贯性、逻辑性和实用性。对UML元素的语义、语法和建模方法的讲解由易到难逐层展开,便于读者学习和理解。(2) 对UML语言的讲解中,充分体现文字描述和图形描述的结合。通过文字描述,详细地定义了UML元素的语义、语法;通过图形将UML元素可视化、规范化;对每个UML元素的讲解采用实例演示,使读者易于理解。(3) 知识表达方面,采用框架到细节方法。即首先对知识进行概要描述,然后分解知识,简化知识,对知识进行详细描述,这样就将复杂的建模技术、建模方法简单化,抽象问题具体化。(4) 提供完整的建模实例。以网上书店为例,为读者提供了详细的建模过程、建模技术和建模方法。整个建模流程是可以操作的,也是可以模拟的,学生能真正做到学以致用。读者对象本书以UML设计元素为主线,以系统建模为目标,运用实例系统地阐明UML语言基础、建模技术和建模方法。本书技术、方法和实践结合生动,知识表达通俗易懂,既适合UML语言初学者阅读,也适合系统分析师、设计者和系统测试者阅读;既可作为高等院校计算机专业及相关专业的教材,也可以作为培训机构相关专业的培训教材。作者情况本书作者在大型软件公司从事应用系统的分析和设计工作,在开发系统过程中积累了丰富的系统建模方法,能熟练地运用UML语言把系统需求分析和系统设计形式化为标准的需求分析文档和设计文档。本书第1章由陈辉林编写,第2章~第15章由王爱国编写,全书由王爱国统稿。联系方式本书中的实例虽然经过了多次测试,但难免会存在疏漏和错误,恳请读者批评指正。如有建议或在学习中遇到疑难问题,欢迎大家发电子邮件与本人(11069881@qq.com)联系。编 者
目 录
第1篇 UML语言基础
第1章 UML概述1.1 什么是UML1.1.1 UML简史1.1.2 UML定义1.1.3 UML的特点1.2 什么是模型1.2.1 模型的用途1.2.2 建模目标1.2.3 建模原则1.2.4 用UML建模的好处1.2.5 模型种类1.3 UML工具1.3.1 UML工具介绍1.3.2 如何选择UML工具1.4 UML语言应用1.5 小结1.6 习题第2章 UML语言体系结构2.1 UML语言组成2.2 元素符号2.2.1 结构符号2.2.2 行为符号2.2.3 分组符号2.2.4 注释符号2.3 关系符号2.4 UML图2.4.1 UML图分类2.4.2 视图2.5 规则2.6 公共机制2.6.1 规格描述2.6.2 修饰2.6.3 通用划分2.6.4 扩展机制2.7 系统建模与视图2.8 小结2.9 习题第3章 类图3.1 什么是类图3.2 类的表示3.3 类图中的元素3.4 类图中的关系3.4.1 依赖关系3.4.2 泛化关系3.4.3 实现关系3.4.4 关联关系3.4.5 关联的属性3.5 理解类图3.6 小结3.7 习题第4章 对象图4.1 什么是对象4.2 什么是对象图4.3 对象的表示4.4 对象图中的关系4.5 类图与对象图4.6 小结4.7 习题第5章 包图5.1 什么是包5.2 什么是包图5.3 包的表示5.3.1 包命名5.3.2 包中的元素5.3.3 用构造型表示包5.4 包图中的关系5.4.1 依赖关系5.4.2 泛化关系5.5 包的传递性5.6 创建包图的方法5.6.1 标识候选包5.6.2 调整候选包5.6.3 消除包的循环依赖5.7 包图应用5.7.1 对成组元素建模5.7.2 对体系结构建模5.8 小结5.9 习题第6章 用例图6.1 什么是用例图6.2 参与者与用例6.2.1 参与者的表示6.2.2 用例的表示6.3 参与者之间的关系6.3.1 识别参与者6.3.2 参与者之间的泛化关系6.4 用例之间的关系6.4.1 包含关系6.4.2 扩展关系6.4.3 泛化关系6.5 参与者与用例之间的关系6.6 组织用例6.7 用例规格描述6.7.1 事件流6.7.2 用例模板6.7.3 用例优先级6.7.4 用例粒度6.8 用例描述实例6.9 用例建模要点6.10 小结6.11 习题第7章 交互图7.1 顺序图7.1.1 什么是顺序图7.1.2 顺序图的表示7.1.3 表示分支、并发和循环7.1.4 顺序图应用7.2 协作图7.2.1 协作图的表示7.2.2 表示循环和分支7.2.3 顺序图与协作图的关系7.3 定时图7.4 小结7.5 习题第8章 活动图8.1 什么是活动图8.2 活动图的表示8.3 活动图应用8.3.1 简单活动图8.3.2 展示泳道的活动图8.3.3 展示对象流的活动图8.3.4 展示参数的活动图8.3.5 展示别针的活动图8.3.6 展示中断的活动图8.3.7 展示异常的活动图8.3.8 展示扩展区的活动图8.3.9 展示信号的活动图8.3.10 展示嵌套活动图8.4 构建活动图8.4.1 对工作流程建模8.4.2 对操作流程建模8.5 小结8.6 习题第9章 交互概况图9.1 什么是交互概况图9.2 交互概况图应用9.3 小结9.4 习题第10章 状态机图10.1 什么是状态机图10.2 状态图的表示10.2.1 状态的表示10.2.2 迁移的表示10.2.3 分支的表示10.3 迁移的分类10.3.1 外部迁移10.3.2 内部迁移10.3.3 自动迁移10.3.4 复合迁移10.4 状态的分类10.4.1 简单状态10.4.2 复合状态10.4.3 历史状态10.4.4 子状态机间的异步通信10.4.5 建立状态机图的步骤10.5 状态机图应用10.6 小结10.7 习题第11章 构件图11.1 什么是接口和构件11.1.1 接口11.1.2 端口11.1.3 构件11.1.4 构件类型11.2 什么是构件图11.2.1 构件图的作用11.2.2 构件图的组成元素11.3 构件的表示11.3.1 没有标识接口的构件11.3.2 标识接口的构件11.4 构件间的关系11.5 构件图分类11.5.1 简单构件图11.5.2 嵌套的构件图11.6 制品11.6.1 制品的表示11.6.2 制品的标准元素11.6.3 制品的种类11.6.4 制品与类的区别11.7 建模应用11.7.1 对可执行程序建模11.7.2 对源代码建模11.8 小结11.9 习题第12章 部署图12.1 什么是部署图12.1.1 部署图的作用12.1.2 部署图的组成元素12.2 部署图的表示12.2.1 节点12.2.2 连接12.3 部署图应用12.3.1 设计阶段12.3.2 实现阶段12.4 小结12.5 习题
第2篇 UML建模实践
第13章 网上书店13.1 领域建模与分析过程13.1.1 领域建模方法13.1.2 领域建模过程13.2 用例建模与分析过程13.2.1 用例建模方法13.2.2 用例建模过程13.3 动态建模与分析过程13.3.1 动态建模方法13.3.2 动态建模过程13.4 小结13.5 习题第3篇 UML高级技术
第14章 Rose的双向工程14.1 双向工程简介14.2 正向工程14.3 逆向工程14.4 实例应用14.5 小结14.6 习题第15章 统一软件过程(RUP)15.1 当前流行的软件过程15.2 统一软件过程概述15.2.1 RUP的核心工作流15.2.2 RUP的4个阶段15.2.3 RUP中的迭代模型15.3 RUP中的核心工作流15.3.1 需求工作流15.3.2 分析工作流15.3.3 设计工作流15.3.4 实现工作流15.3.5 测试工作流15.4 RUP裁剪15.5 RUP的十大要素15.6 小结15.7 习题附录A UML图总结参考文献