计算机类“卓越工程师”创新系列教材
UML 系统建模
邹盛荣 主编
周塔 顾爱华 彭昱静 编
科学出版社
I
前 言
近年来,国家启动了“卓越工程师教育培养计划”,目的是加紧培养一批创新性强、
能够适应经济和社会发展需求的各类工程科技人才,着力解决高等工程教育中的实践性和
创新性问题,提高科技创新能力,这对于加快经济发展方式的转变、实现未来我国经济社
会的持续发展,具有重要意义。
“卓越计划”具有三个特点:一是行业企业深度参与培养过程;二是学校按通用标准
和行业标准培养工程人才;三是强化培养学生的工程能力和创新能力。
为了配合该计划的实施,我们总结了编者学校卓越工程师的教学经验、按照卓越工程
师的要求编写了本教材。本书主要介绍UML系统建模的基本理论、软件分析与设计方法,
书中加强了软件案例的UML示例说明,以提高学生的软件分析与设计水平,进一步托展学
生分析问题、解决问题的能力,达到培养“厚基础、宽口径、会应用、能发展”的卓越人
才的宗旨。
全书共13章,内容包括绪论、面向对象方法、UML建模语言、RUP 统一过程、工具、
UML更多细节、系统的需求获取、分析、设计、实现和测试、UML高级课题、案例介绍等。
每章均有相关工程实践中的案例说明及实践应用的创意思考和提示,书的最后一章重点描
述一个完整的UML建模课程设计案例。
本书深入浅出,通俗易懂,具有很好的可读性,实用性强。案例引导,实用性强,不
讲太多的UML理论;按软件系统的大小分类讲述建模,内容全面,一步步引导培养学
生动手实践的能力;结合RUP统一过程,按照软件工程的过程需要
配有精美ppt, 可作为大学本科软件工程类、计算机等专业的教材或参考书,可有针对性
地运用于卓越工程师培养计划,还可供各类研究生及科研人员参考使用,还可供从事软件
开发应用的工程技术人员参考。
书中标有“*”的章节属于前沿课题,老师可不讲,有兴趣的同学可参考学习,并查
找相关书籍或网上资源。
本书编写完成,向历届开课同学表示感谢,向参与其中的各位老师表示感谢,有了你
们的支持和帮助,使本书编排更合理并容易接受 ,让读者更容易从中学会并理解理论知
识,在问题的思考和讨论中学会创新思维能力,并能够运用到将来的工作中。
II
UML 系统建模
目
录
第 1 章 绪论.................................................................................................................................1
1.1 UML 的发展史 ···················································································· 1
1.2 日常生活中的应用 ·················································································2
1. 3 本课程学习中需要注意的问题 ·································································3
第一部分 建模理论概述...............................................................................................................6
第 2 章 面向对象方法...................................................................................................................7
2.1 了解面向对象产生的原因 ········································································8
2.2 面向对象方法基本概念与特征 ································································ 10
2.2.1 面向对象的概念 ················································································· 11
2.2.2 面向对象的特征 ················································································· 11
2.2.3 面向对象的要素 ················································································ 13
2.3 面向对象方法学开发过程 ······································································ 14
2.4 下一步发展方向 ··················································································· 15
第 3 章 UML 统一建模语言.................................................................................................... 19
3.1 建模语言三个类别 ··············································································· 20
3.2 UML 特点 ···························································································20
3.3 网络教学系统案例 UML 简单图示 ··························································· 23
3.3.1 系统功能 ························································································· 24
3.3.2 系统的 UML 建模 ··············································································24
第 4 章 RUP 统一过程................................................................................................................33
4.1 RUP 产生 ····························································································33
4.2 基于统一过程的 UML 系统建模 ································································ 36
4.3 二维开发模型 ····················································································· 36
4.4 RUP 开发过程 ····················································································· 38
4.4.1 初始阶段 ························································································38
4.4.2 细化阶段 ························································································38
4.4.3 构造阶段 ························································································39
4.4.4 交付阶段 ························································································39
4.5 RUP 核心工作流 ···················································································39
4.5.1 商业建模 ························································································39
4.5.2 需求 ······························································································39
4.5.3 分析和设计 ·····················································································39
UML 系统建模
III
4.5.4 实现 ······························································································40
4.5.5 测试 ······························································································40
4.5.6 部署 ······························································································40
4.5.7 配置和变更管理 ···············································································40
4.5.8 项目管理 ························································································40
4.5.9 环境 ······························································································40
4.6 RUP 十大要素和经验........................................................................................................ 40
第 5 章 ROSE 建模工具.........................................................................................................47
5.1 常用的 UML 建模工具 Visio、Rational Rose、PowerDesigner ··························48
5.2 Rose 说明 ··························································································· 51
第 6 章 UML 的进一步讨论...................................................................................................... 61
6.1 UML 的内容及建模机制 ········································································61
6.2 UML 更多细节 ··················································································62
6.3 UML 2.2 ···························································································· 81
6.4 相关行业标准协会 OMG ········································································· 83
第二部分 UML 系统建模的过程...............................................................................................85
第 7 章 需求获取.........................................................................................................................86
7.1 需求流概述 ························································································ 86
7.2 需求获取的困难 ·················································································· 87
7.3 需求获取的方法 ·················································································· 90
7.4 复杂系统的复杂网络需求获取方法 * ······················································ 92
7.5 需求路线图 ························································································ 97
7.6 需求案例 ··························································································· 98
7.6.1 人事组织管理系统功能需求描述 ····························································99
7.6.2 系统的 UML 表示 ············································································· 101
第 8 章 需求分析.......................................................................................................................104
8.1 确定客户需要什么.......................................................................................................... 104
8.2 需求分析方法 ····················································································107
8.2.1 OOA 方法 ······················································································· 107
8.2.2 面向对象的分析 ···············································································108
8.2.3 建立逻辑模型 ··················································································108
8.2.4 建立过程模型 ··················································································114
8.3 路线图 ···························································································· 115
IV
UML 系统建模
8.4 分析案例 ························································································· 116
第 9 章 设计...............................................................................................................................122
9.1 设计介绍 ···························································································122
9.2 对象设计 ·························································································· 124
9.3 路线图 ······························································································126
9.4 设计案例 ·························································································· 127
9.4.1 系统结构设计 ················································································ 127
9.4.2 核心用例的组件图 ·········································································· 127
9.4.3 系统数据库设计 ············································································· 128
第 10 章 实现.............................................................................................................................133
10.1 对象实现 ························································································· 133
10.1.1 程序设计语言 ················································································ 133
10.1.2 类的实现 ······················································································ 134
10.1.3 应用系统的实现 ············································································· 135
10.2 实现案例 ························································································ 135
10.2.1 系统登陆界面 ················································································ 135
10.2.2 员工信息界面 ················································································ 137
10.2.3 假条信息界面 ················································································ 140
10.2.4 工资信息界面 ·················································································141
10.2.5 用户权限登录 ················································································ 143
第 11 章 测试.........................................................................................................................150
11.1 测试流 ···························································································· 150
11.2 面向对象测试模型 ············································································ 152
11.3 测试案例 ························································································ 156
第三部分 高级课题.................................................................................................................161
第 12 章 UML 的形式化*........................................................................................................ 162
12.1 形式化方法介绍 ··············································································· 162
12.2 UML 与形式化方法的结合 ································································ 164
12.2.1 直接对 UML 模型进行形式化语义定义 ················································ 164
12.2.2 UML 到形式化方法的转换 ································································ 164
12.3 形式化方法.....................................................................................................................165
12.3.1 形式化方法的介绍 ·········································································· 165
12.3.2 B 方法 ·························································································· 166
UML 系统建模
V
12.3.3 需求获取形式化语言的表示 ······························································168
12.4 形式化的案例 ·················································································· 168
12.4.1 免疫系统......................................................................................................................169
12.4.2 免疫系统建模..............................................................................................................169
12.4.3 系统模拟及结果分析.................................................................................................. 185
第四部分 实验案例.............................................................................................................188
第 13 章 综合案例...................................................................................................................189
13.1 通讯录安卓版需求分析 ······································································ 189
13.2 总体设计方案 ·················································································· 194
····································································································199
附录 A 知识点框图 ················································································ 214
附录 B 中英文技术词汇对照表 ···································································215
参考文献 ·································································································· 2