项目一 软件建模和软件工程 1
1.1 软件建模概述 1
1.1.1 软件建模概述 2
1.1.2 UML简介 3
1.1.3 建模工具Enterprise Architect 6
1.2 软件工程与Rational统一过程 10
1.2.1 软件 10
1.2.2 软件危机 12
1.2.3 软件工程 12
1.2.4 面向对象软件工程方法 14
1.2.5 Rational统一过程 15
1.3 UML基本组成 19
1.3.1 UML事物 19
1.3.2 UML关系 22
1.3.3 UML图 24
1.4 扩展阅读——Rational Rose工具简介 27
1.4.1 建模工具Rational Rose简介 28
项目二 需求建模 35
2.1 用例图 36
2.1.1 参与者 37
2.1.2 用例 38
2.1.3 用例图 41
2.1.4 用例与事件流 42
2.1.5 用例之间的关系 43
2.2 诚信管理论坛系统需求分析 48
2.3 技能提升——在线聊天系统需求分析 55
2.4 活动图 58
2.4.1 活动图的基本概念 58
2.5 技能提升——在线聊天系统需求动态建模 74
2.6 扩展阅读——面向对象需求分析方法 75
2.6.1 面向对象的概念与特征 75
2.6.2 面向对象软件开发的分析模型 78
2.6.3 基于UML的软件开发过程 80
2.6.4 面向对象的需求分析 82
项目三 架构建模 89
3.1 状态图 90
3.1.1 事件 90
3.1.2 状态 93
3.1.3 转换 94
3.1.4 状态图 96
3.1.5 技能提升——在线聊天系统服务器运行状态建模 101
3.2 类 103
3.2.1 类 104
3.2.2 类成员的可见性 106
3.2.3 类的类型和类的寻找 107
3.2.4 技能提升——寻找在线聊天系统中的类 116
3.3 类的关系 118
3.3.1 依赖 119
3.3.2 泛化 121
3.3.3 实现 122
3.3.4 关联 123
3.3.5 技能提升——在线聊天系统类的关系建模 130
3.4 交互图 132
3.4.1 顺序图 132
3.4.2 协作图 134
3.4.3 技能提升——在线聊天系统类的动态建模 140
3.5 扩展阅读——面向对象设计 141
3.5.1 面向对象设计的任务 142
3.5.2 面向对象设计的准则 143
3.5.3 启发性规则 145
3.5.4 面向对象设计过程 146
3.5.5 面向对象设计实例 153
项目四 应用建模 162
4.1 对象图和包 163
4.1.1 对象图 163
4.1.2 包 165
4.1.3 技能提升——在线聊天系统对象图 172
4.2 组件图和部署图 174
4.2.1 组件图 174
4.2.2 部署图 180
4.2.3 技能提升——在线聊天系统应用建模 185
4.3 正向工程与逆向工程 187
4.3.1 正向工程 188
4.3.2 逆向工程 192
4.3.3 技能提升——在线聊天系统正向工程 196
软件建模技术理论考核试卷(一) 200
软件建模技术理论考核(二) 205
软件建模技术理论考核试卷(三) 209
软件建模技术习题(四) 214
参考文献 218