您好,欢迎来到聚文网。 登录 免费注册
UML 建模.设计与分析从新手到高手

UML 建模.设计与分析从新手到高手

  • 字数: 680千字
  • 装帧: 平装
  • 出版社: 清华大学出版社
  • 作者: 夏丽华
  • 出版日期: 2019-04-01
  • 商品条码: 9787302491996
  • 版次: 1
  • 开本: 其他
  • 页数: 354
  • 出版年份: 2019
定价:¥69 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
编辑推荐
紧扣UML专业知识,详解UML 建模、设计与分析。由高校专业教师联合编写,具备专业品质。内容具有全面性、递进性和实用性实例众多、图例丰富、实用性强。附赠高品质素材和案例。
内容简介
UML是支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,是一种重要的建模、设计与分析工具。全书分3篇19章,介绍了UML概述、UML建模工具概述、用例和用例图、类图、对象图和包图、活动图、顺序图、通信图和时序图、状态机图、组件图和部署图、组合结构图和交互概览图、UML与RUP、对象约束语言、UML扩展机制、UML与数据库设计、基于C++的UML模型实现、UML与建模、Web应用程序设计、嵌入式系统设计等内容。     本书图文并茂,秉承了基础知识与实例相结合的特点,其内容简单易懂、结构清晰、实用性强、案例经典,适合UML建模初学者、大中专院校师生及计算机培训人员使用,同时也是UML爱好者的推荐参考书。
目录
准备篇 第1章 UML概述 2 1.1 认识UML 3     1.1.1 UML的发展历程 3     1.1.2 UML统一的作用 3     1.1.3 UML体系结构 4     1.1.4 UML建模流程 5 1.2 UML的组成 5     1.2.1 事物 5     1.2.2 关系 7     1.2.3 图 7 1.3 UML的视图和通用机制 10     1.3.1 UML的视图 10     1.3.2 通用机制 11 1.4 Rational统一过程 12     1.4.1 过程的特点 12     1.4.2 阶段和迭代 12     1.4.3 任务和制品 13     1.4.4 制品 14 1.5 面向对象开发 15     1.5.1 面向对象的概念 15     1.5.2 面向对象开发的概述 15     1.5.3 面向对象的主要特征 17     1.5.4 面向对象的层 18     1.5.5 面向对象的模型 19 第2章 UML建模工具概述 20 2.1 常用UML建模工具 21     2.1.1 Visio 21     2.1.2 PowerDesigner 22     2.1.3 StarUML 22 2.2 使用Rational Rose建模 23     2.2.1 Rational Rose概述 23     2.2.2 Rational Rose工作环境 25     2.2.3 Rational Rose中的视图 26 2.3 Rational Rose建模的基本操作 27     2.3.1 新建Rational Rose模型 27     2.3.2 创建Rational Rose框图 28     2.3.3 保存与发布模型 30     2.3.4 导入与导出模型 31     2.3.5 设置全局选项 31 2.4 双向工程 32     2.4.1 正向工程 32     2.4.2 逆向工程 34      基础篇 第3章 用例和用例图 36 3.1 用例图的构成 37     3.1.1 什么是用例图 37     3.1.2 系统 37     3.1.3 参与者 38     3.1.4 用例 39     3.1.5 关系 41 3.2 用例关系和描述 41     3.2.1 泛化关系 41     3.2.2 包含关系 43     3.2.3 扩展关系 44     3.2.4 用例描述 45 3.3 绘制用例图 47     3.3.1 新建用例图 47     3.3.2 创建内容 48 3.4 建模实例:创建BBS论坛用例图 50     3.4.1 确定系统信息 50     3.4.2 前台功能概述 51     3.4.3 构造用例模型 52 3.5 新手训练营 54 第4章 类图 57 4.1 类图的概念 58     4.1.1 类图概述 58     4.1.2 类 59     4.1.3 定义类 62     4.1.4 接口 63 4.2 泛化关系 64     4.2.1 泛化的含义和用途 64     4.2.2 泛化的层次与多重继承 64     4.2.3 泛化约束 65 4.3 依赖关系和实现关系 66     4.3.1 依赖关系 66     4.3.2 实现关系 67 4.4 关联关系 68     4.4.1 二元关联 68     4.4.2 关联类 72     4.4.3 或关联与反身关联 72     4.4.4 聚合关系 73     4.4.5 组合关系 73 4.5 绘制类图 74     4.5.1 创建类图 74     4.5.2 操作类图 75     4.5.3 类图的规范 76 4.6 建模实例:创建BBS论坛类图 78     4.6.1 创建实体类 78     4.6.2 创建类与类之间的关系图 80 4.7 新手训练营 81 第5章 对象图和包图 83 5.1 对象图 84     5.1.1 对象和类 84     5.1.2 对象和链 84     5.1.3 对象图概述 85     5.1.4 对象图和类图的区别 86     5.1.5 使用对象图测试类图 87 5.2 包图 88     5.2.1 包 88     5.2.2 导入包 90     5.2.3 包图概述 90     5.2.4 包之间的关系 92     5.2.5 包图和类图的区别 93 5.3 对象图和包图建模 93     5.3.1 使用对象图建模 93     5.3.2 使用包图建模 93 5.4 绘制对象图 94     5.4.1 绘制方法 94     5.4.2 绘制实例 94 5.5 绘制包图 95     5.5.1 绘制包图 95     5.5.2 规范使用的共性 96     5.5.3 绘制嵌套包图 97 5.6 建模实例:创建机房系统对象图 98     5.6.1 创建对象元素 98     5.6.2 创建对象关系 98 5.7 新手训练营 99 第6章 活动图 100 6.1 活动图概述 101     6.1.1 定义活动图 101     6.1.2 活动图的主要元素 102     6.1.3 了解活动和动作 102 6.2 活动图的组成元素 103     6.2.1 基本组成元素 103     6.2.2 其他组成元素 105 6.3 控制节点 110     6.3.1 分支与合并 110     6.3.2 分叉与汇合 111 6.4 绘制活动图 112     6.4.1 创建活动图 112     6.4.2 操作活动图 112 6.5 建模实例:创建BBS论坛 活动图 116     6.5.1 建模步骤 116     6.5.2 创建活动图 117 6.6 新手训练营 118 第7章 顺序图 120 7.1 顺序图概述 121     7.1.1 什么是顺序图 121     7.1.2 顺序图的元素 121 7.2 顺序图的构成元素 122     7.2.1 对象 122     7.2.2 生命线 123     7.2.3 消息 123     7.2.4 激活 128 7.3 建模和执行 128     7.3.1 建模时间 128     7.3.2 执行规范 129     7.3.3 建模迭代 130 7.4 绘制顺序图 130     7.4.1 创建顺序图 130     7.4.2 操作元素 131     7.4.3 因素和图形项配置 132 7.5 建模实例:创建BBS论坛顺序图 133     7.5.1 会员用户功能顺序图 133     7.5.2 普通用户功能顺序图 134 7.6 新手训练营 135 第8章 通信图和时序图 137 8.1 通信图概述 138     8.1.1 什么是通信图 138     8.1.2 对象与类角色 138     8.1.3 关联角色与链接 139     8.1.4 消息 140 8.2 操作消息元素 140     8.2.1 消息序列号与控制点 140     8.2.2 创建对象 141     8.2.3 消息迭代 141 8.3 时序图概述 142     8.3.1 什么是时序图 142     8.3.2 时序图中的对象 143     8.3.3 状态 143     8.3.4 时间 143     8.3.5 状态线 144     8.3.6 事件与消息 144 8.4 时间约束和替代 145     8.4.1 时间约束 145     8.4.2 时序图的替代表示法 146 8.5 绘制通信图 147     8.5.1 创建通信图 147     8.5.2 操作通信图 147 8.6 建模实例:创建BBS论坛通信图 149     8.6.1 会员用户功能通信图 149     8.6.2 普通用户功能通信图 150 8.7 新手训练营 151 第9章 状态机图 153 9.1 状态机概述 154     9.1.1 状态机及其构成 154     9.1.2 状态机图标记符 154 9.2 转移 155     9.2.1 转移的定义 155     9.2.2 事件 156     9.2.3 动作 158     9.2.4 转移的类型 159 9.3 组合状态 160     9.3.1 顺序状态 160     9.3.2 并发子状态 160     9.3.3 同步状态 161     9.3.4 历史状态 161     9.3.5 子状态机引用状态 162 9.4 绘制状态机图 162     9.4.1 创建状态机图 162     9.4.2 绘制各类元素 163 9.5 建模实例:创建自动取款机 状态机图 165     9.5.1 分析状态机图 165     9.5.2 创建状态机图 166 9.6 新手训练营 167 第10章 组件图和部署图 169 10.1 构造实现方式图概述 170     10.1.1 组件图概述 170     10.1.2 部署图概述 170     10.1.3 组合组件图和部署图 171 10.2 组件图 171     10.2.1 组件 171     10.2.2 接口 173 10.2.3 组件间的关系与 组件嵌套 174     10.2.4 组件图的建模应用 174     10.2.5 组件图的适用情况 175 10.3 部署图 176     10.3.1 节点和连接 176     10.3.2 部署间的关系 177 10.3.3 部署图的适用情况及 绘制 177     10.3.4 部署图的建模应用 178 10.4 绘制部署图 179 10.4.1 初识部署图 179 10.4.2 添加元素 179 10.5 绘制组件图 180 10.5.1 创建组件图 180 10.5.2 添加组件元素 181 10.6 建模实例:创建BBS论坛组 件图和部署图 182 10.6.1 实现BBS论坛组件图 182 10.6.2 实现BBS论坛部署图 183 10.7 新手训练营 183 第11章 组合结构图和交互概览图 186 11.1 组合结构图 187 11.1.1 内部结构 187 11.1.2 端口 188 11.1.3 协作 189 11.2 交互概览图 190 11.2.1 组成部分 190 11.2.2 使用交互 191 11.2.3 组合交互 192 11.3 建模实例:创建网上购物 系统用例图 193 11.3.1 系统概述 193 11.3.2 创建用例图 195 11.4 新手训练营 197 进阶篇 第12章 UML与RUP 200 12.1 RUP概述 201 12.1.1 理解软件开发过程 201 12.1.2 什么是RUP 201 12.1.3 RUP的作用 202 12.1.4 RUP的特点 203 12.2 RUP的二维空间 203 12.2.1 时间维 204 12.2.2 RUP的静态结构 205 12.3 核心工作流程 207 12.3.1 需求获取工作流 207 12.3.2 分析工作流 209 12.3.3 设计工作流 210 12.3.4 实现工作流 211 12.3.5 测试工作流 212 12.4 Rational Rose在RUP模型中的 应用 214 12.4.1 可视化建模 214 12.4.2 Rational Rose建模与 RUP 214 12.4.3 Rational Rose建模与RUP 应用实例 215 12.5 建模实例:创建网上购物系统 静态模型 217 12.5.1 定义系统的类 217 12.5.2 创建类关系 218 12.6 新手训练营 218 第13章 对象约束语言 221 13.1 对象约束语言概述 222 13.1.1 对象约束语言简介 222 13.1.2 语言结构 222 13.1.3 语言语法 223 13.1.4 表达式 225 13.2 数据类型 225 13.2.1 基本数据类型 226 13.2.2 集合类型 227 13.2.3 OclMessage类型 227 13.2.4 OclVoid和OclAny类型 227 13.2.5 模型元素类型 228 13.3 集合 229 13.3.1 创建集合 229 13.3.2 操作集合 229 13.3.3 Collection类型 230 13.3.4 Set类型 231 13.3.5 Bag类型 232 13.3.6 Sequence类型 233 13.4 语言约束 234 13.4.1 使用约束 234 13.4.2 对象级约束 236 13.4.3 消息级约束 237 13.4.4 约束和泛化 238 13.5 建模实例:创建网上购物系统的交互模型 239 13.5.1 顺序图 239 13.5.2 通信图 241 13.6 新手训练营 241 第14章 UML扩展机制 243 14.1 UML的体系结构 244 14.1.1 UML扩展机制概述 244 14.1.2 4层元模型体系结构 244 14.1.3 元元模型层 245 14.1.4 元模型层 246 14.2 UML核心语义 247 14.2.1 模型元素 247 14.2.2 视图元素 248 14.3 构造型 249 14.3.1 表示构造型 249 14.3.2 UML标准构造型 249 14.3.3 使用UML扩展机制 进行建模 252 14.4 标记值 253 14.4.1 表示标记值 254 14.4.2 UML标准标记值 254 14.4.3 自定义标记值 254 14.4.4 标记值应用元素 254 14.5 约束 255 14.5.1 表示约束 255 14.5.2 UML标准约束 256 14.5.3 自定义约束 258 14.6 建模实例:完成网上购物系统的 创建 258 14.6.1 创建状态机图 258 14.6.2 创建实现方式图 260 14.7 新手训练营 261 第15章 UML与数据库设计 263 15.1 数据库设计概述 264 15.1.1 数据库设计与UML模型 264 15.1.2 数据库接口 264 15.2 类图到数据库的转换 265 15.2.1 基本映射转换 265 15.2.2 类到表的转换 266 15.2.3 关联关系的转换 268 15.2.4 需要避免的映射情况 268 15.3 完整性与约束验证 269 15.3.1 父表的约束 269 15.3.2 子表的约束 270 15.4 数据库实现与转换技术 271 15.4.1 类映射到数据库技术 271 15.4.2 UML模型转换为 数据库 272 15.4.3 SQL语句实现 数据库功能 273 15.5 建模实例:创建图书管理 系统用例图 274 15.5.1 需求分析 274 15.5.2 识别参与者和用例 275 15.5.3 用例描述 276 15.6 新手训练营 278 第16章 基于C++的UML模型实现 280 16.1 模型元素的简单实现 281 16.1.1 类 281 16.1.2 实现原理 281 16.2 实现关联 283 16.2.1 基本关联 283 16.2.2 强制对可选或者 强制关联 284 16.2.3 可选对可选关联 284 16.2.4 可选对多关联 284 16.2.5 强制对多关联 285 16.2.6 多对多关联 285 16.2.7 有序关联的实现 286 16.2.8 关联类的实现 286 16.3 受限关联的实现 287 16.3.1 受限关联概述 287 16.3.2 强制或者可选对可选 受限关联 288 16.3.3 可选对强制或者可选 受限关联 288 16.3.4 多对可选的受限关联 289 16.3.5 多对受限关联 290 16.4 UML关系的实现 290 16.4.1 泛化关系的实现 290 16.4.2 聚合与组合关系的 实现 291 16.5 特殊类的实现 291 16.5.1 接口 292 16.5.2 枚举 292 16.5.3 包 293 16.5.4 模板 293 16.6 建模实例:创建图书管理系统 静态结构模型 294 16.6.1 定义系统中的 对象和类 294 16.6.2 定义用户界面类 296 16.6.3 类之间的关系 298 16.7 新手训练营 299 第17章 UML与建模 303 17.1 数据建模 304 17.1.1 数据库设计概述 304 17.1.2 数据库设计的步骤 305 17.1.3 对象模型和数据模型的 互相转换 308 17.2 业务建模 309 17.2.1 业务建模概述 309 17.2.2 UML业务建模扩展 310 17.2.3 业务体系结构 312 17.3 Web建模 312 17.3.1 Web建模概述 312 17.3.2 Web建模扩展WAE 313 17.3.3 Rational Rose中的 Web建模 315 17.4 建模实例:创建图书管理 系统动态行为模型 317 17.4.1 建立顺序图 317 17.4.2 建立状态图 325 17.4.3 物理模型 326 17.5 新手训练营 327 第18章 Web应用程序设计 329 18.1 Web应用程序的结构 330 18.1.1 瘦客户端模式 330 18.1.2 胖客户端模式 331 18.1.3 Web传输模式 332 18.2 Web应用系统的UML建模 方法 332 18.2.1 Web页面建模 332 18.2.2 表单建模 333 18.2.3 组件建模 333 18.2.4 框架建模 334 18.3 UML在学生成绩管理系统建模中的 运用 334 18.3.1 系统需求分析 334 18.3.2 系统设计 335 18.4 系统详细设计和部署 339 18.4.1 系统详细设计 340 18.4.2 系统部署 341 第19章 嵌入式系统设计 342 19.1 嵌入式系统概述 343 19.1.1 嵌入式系统的技术特点 343 19.1.2 嵌入式系统的开发技术 344 19.2 嵌入式系统的需求分析 345 19.2.1 MP3播放器的工作原理 345 19.2.2 外部事件 346 19.2.3 识别用例 347 19.2.4 使用顺序图描述用例 348 19.3 系统的静态模型 349 19.3.1 识别系统中的对象或类 349 19.3.2 绘制类图 349 19.4 系统的动态模型 352 19.4.1 状态机图 352 19.4.2 协作图 353 19.5 体系结构 354
摘要
    第3章 用例和用例图 用例是文本形式的情节描述,广泛应用于需求的发现和记录工作中。而用例图是指由参与者(Actor)、用例(Use Case)以及它们之间的关系构成的用于描述系统功能的视图,是被称为参与者的外部用户所能观察到的系统功能的模型图。用例图是UML中较为重要和常用的一种图,由开发人员与用户经过多次商讨而共同完成,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。本章主要介绍用例图的概念、参与者和用例等一些基本概念及表示方法,以及用例图建模技术及应用技巧。 UML 3.1 用例图的构成      用例图是一种将用例和软件工具相结合的图形表示方式,它由参与者发起,主要显示了一组用例、参与者以及它们之间的关系。 3.1.1 什么是用例图     用例图是由软件需求分析到最终实现的第一步,它从用户角度来描述系统功能,描述系统的参与者与系统用例之间的关系。     用例图通常在进行需求分析时使用,由开发人员与用户经过多次商讨而共同完成,这些图以每一个参与系统开发的人员都可以理解的方式列举系统的业务需求。     用例图使用系统与一个或多个参与者之间的一系列消息来描述系统中的交互,它将系统功能划分为对参与者(系统的理想用户)有用的需求,其交互部分被称作用例。除此之外,用例图仅仅是从外部观察系统功能,也就是从参与者使用系统的角度描述系统中的信息,并不描述这些功能在系统内部的实现过程。     用例图不仅包含系统、参与者和用例3个元素,而且还包含表示这些元素之间存在的泛化关系、关联关系和依赖关系等各种关系。     用例图是描述参与者与系统的关系,因此用例图整体上分为3部分:参与者、系统和关系,通过关系将参与者与系统联系起来。下图描述了一个学生成绩管理系统的用例图,它是一个实际系统简化后的示例。     人形表示参与者;矩形为系统;椭圆形是用例;线条为关系,连接用例和参与者。在下面的小节中将对上述元素作详细介绍。 3.1.2 系统     系统是用例图的一个重要组成部分,用于执行特定功能。它不单指一个软件系统,而是为用户执行某类功能的一个或多个软件构件。如图书馆管理系统、学生选课系统、信息发布系统等都属于系统。     系统的边界用来说明用例图应用的范围。例如,系统拥有一定应用范围,例如一台自动售货机,提供售货、供货、提取销售款等功能,这些功能在自动售货机内的区域起作用,自动售货机外的情况将不考虑。     准确定义系统的边界并不总是很容易的,因为有些情况下,严格地划分哪些任务是由系统完成,而哪些是由人工或其他系统完成是很困难的。另外,系统最初的规模应有多大也应该考虑。一般的做法是,先识别出系统的基本功能,然后以此为基础定义一个稳定的、准确定义的系统架构,以后再不断地扩充系统功能,逐步完善系统。这样做可以避免由于系统太大,需求分析不易明确,从而导致浪费大量的开发时间。     系统在用例图中用一个长方框表示,系统的名称被写在方框上面或方框内。方框内包含了该系统中用符号标识的用例,如下图所示。 3.1.3 参与者     参与者是系统外的一个实体,它代表了与系统交互的用户、设备或另一个系统。     参与者是系统服务的对象,通过向系统输入信息或系统为参与者提供信息来进行交互,以实现系统功能。在确定系统的用例时,首要问题就是识别参与者。 1.参与者的概念     参与者用于表示使用系统的对象。参与者可以是一个人、一个计算机系统、另一个子系统或另外一种对象。例如,计算机网络系统的参与者可以包括操作员、系统管理员、数据库管理员和普通用户,也可以有非人类参与者,如网络打印机。参与者的特征是其作为外部用户与系统发生交互。在系统的实际运作中,一个实际用户可能对应系统的多个参与者。同样,不同的多个用户也可以只对应于一个参与者,从而代表同一个参与者的不同实例。     每个参与者定义了一个角色集合,当系统用户与系统相互作用时会采用它们。参与者的一个集合完整描述了外部用户与系统通信的所有途径。当系统被实现时,参与者也被物理对象实现。物理对象如果可以满足多个参与者的角色,那么它就可以实现多个参与者。例如,一个人可以既是商店售货员又是顾客。这些参与者不是本质上相关的,但是它们可以由一个人来实现。当系统的设计被实施时,系统内的多个参与者被设计成类实现。     在用例图中,参与者由固定的图形表示,并在参与者下面列出参与者的角色名。当为用例图中参与者命名时,给作为系统用户的参与者提供一个最能描述其功能的合适名称是非常重要的。当为参与者命名时要避免为代表人的参与者起一个实际的人名,而应该以其使用系统时的角色为参与者命名。例如下图表示的参与者,老师表示所有以老师身份使用系统的人,而并不单指某个人。     参与者与系统的交互作用量化为用例,用例是设计系统和它的参与者连接的功能块,用来完成对参与者有意义的事情。一个用例可以被一个或多个参与者使用,同样,一个参与者也可以与一个或多个用例交互。最终,参与者由用例和参与者在不同用例中所担任的角色决定。没有参加任何用例的参与者是无意义的。     用例模型刻画了一个实体(如系统、子系统或类)与外部实体相互作用时产生的行为的特征。外部实体是实体的参与者。对于一个系统,参与者既可以由人类用户实现,也可以由其他系统实现。对于一个子系统或类,外部元素可以是整个系统的参与者,或者参与者可以是系统内的其他元素,如其他子系统或类。     在建模初期,参与者和用例交互,但是随着项目的进展,用例被类和组件实现,这时参与者也发生了变化。参与者不再是用户扮演的角色,而变成了用户接口。例如,系统分析阶段的用例图中,图书管理员与借出书目用例交互,以借出某本图书。在设计阶段,该参与者就变成了两个元素,即图书管理员这个角色和图书管理员所使用的接口,用例在这时就变成了许多对象,负责处理与用户接口以及系统的其他部分交互。 2.识别参与者     一个系统在建模之前虽然能确定一些用户和参与者,但并不能全面地不遗漏地将参与者找出,这将导致建模不完善、开发不完善,开发过程中的修改又将导致开发效率降低,漏洞产生。     全面识别参与者才能使建模很好地进行下去。为了能找出所有参与者,可以借助以下几个问题。 ? 系统的主要客户是谁? ? 谁需要借助系统完成日常工作? ? 谁来安装、维护和管理系统,保证系统正常运行? ? 系统控制的硬件设备有哪些? ? 系统需要与哪些其他系统进行交互? ? 在预定的时刻,是否有事件自动发生? ? 系统是否需要定期产生事件或结果? ? 系统如何获取信息?     在寻找系统用户时,建模人员不应把目光只停留在使用计算机的人员身上,而应注意直接或间接地与系统交互或从系统中获取信息的任何人和任何事。在完成参与者的识别后,建模人员就可以从参与者的角度考虑参与者需要系统完成什么功能,从而建立参与者所需要的用例。     一个用例通常要与多个参与者发生交互。其中,不同的参与者所充当的角色不同;有些参与者接收用例所提供的数据,有些参与者则为用例提供某种服务,而另一些参与者要完成系统的管理。这就需要将参与者分类,以保证把系统中所有用例都表示出来。     参与者通常可以被分为主要参与者与次要参与者两类。其中,主要参与者是使用系统较频繁、业务量较大的用户,系统建模人员在识别用例时应该首先识别主要参与者;次要参与者用来给用例提供某些服务。次要参与者与用例进行交互的主要目的是给其他参与者提供所需要的服务,也就是说,次要参与者要使用系统的次要功能。次要功能是指完成系统维护的一般功能。区分主要参与者与次要参与者不应该以参与者使用系统时的权限为依据,一般情况下,应该以使用系统时的业务量为依据。例如,在图书管理系统中,将参与者以主要与次要区分,可以将参与者分成图书管理员和系统管理员。其中,主要参与者负责图书的日常借阅任务,而次要管理者则完成对系统的维护。     除了对参与者进行主次区分外,还可以存在许多其他分类方法。例如,当参与者使用系统时,它们可能会承担着不同的“职责”,建模人员可以利用这些职责来定义参与者与系统间的交互,以及参与者在各种交互中所充当的角色。参与者在系统中的角色主要包括: ? 系统的启动者。 ? 系统的服务者。 ? 系统服务的接收者。     参与者在系统中所扮演的第一种角色是系统的启动者。启动者是系统的外部实体,它们是为了完成某项事务而启动系统的。一个启动者可以请求某种服务或者触发一个事件。例如,一个使用自动提款机提款的用户就是该系统的一个启动者。     参与者所能承担的第二种角色就是系统服务者,服务者也是系统的外部实体,它们响应系统的请求,为系统提供某种服务。例如,在自动提款机的提款事件中,自动提款机系统需要银行的内部系统提供用户的存款信息。这个银行内部系统就是一个为系统提供服务的参与者。     系统服务接收者的主要职责是接收来自系统的信息。例如,使用自动提款机的用户就是自动提款机系统服务的接收者。从这个示例可以看出,一个人可以在系统中扮演不同的参与者。     参与者的分类方式很多,最终目的就是全面不遗漏地找出参与者。在对参与者建模的过程中,开发人员必须牢记以下几点。 ? 参与者对于系统而言总是外部的,因此它们可以处于人的控制之外。 ? 参与者可以直接或间接地同系统交互,或使用系统提供的服务以完成某件事务。 ? 参与者表示人和事物与系统发生交互时所扮演的角色,而不是特定的人或特定的 事物。 ? 一个人或事物在与系统发生交互时,可以同时或不同时扮演多个角色。 ? 每一个参与者需要具有一个与业务一样的名字,在建模中不推荐使用类似于“NewActor”或“新参与者”的名字。 ? 每一个参与者必须有简短的描述,从业务角度描述参与者是什么。 ? 和类一样,参与者可以具有表示参与者的属性和可以接受的事件,但使用得不频繁。 ? 多个参与者之间可以具有与类之间相同的关系。     在完成参与者的识别工作后,建模人员就可以从参与者的角度出发,考虑参与者需要系统完成什么样的功能,从而建立参与者所需要的用例。

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网