谭老师,您好

我现在有一个疑问,在银行的自助终端系统进行业务建模时,客户端(即自助终端)连接银行中间业务平台系统。

终端用户可以利用自助终端进行如下操作,如终端用户业务用例图所示

自助终端的业务用例图如下图所示:

问题1) 我把所有终端用户的请求在自助终端用例图里都概括转化为一个“业务请求”,您觉得这么做合适吗?应该怎么做呢?

下面是订购机票的业务场景图,如下图所示


问题2) 在这里有“终端用户”、“自助终端”、“中间业务平台”、“航空公司”等四个泳道,是否有多余?或者有遗漏?

问题3) 你在博客中说泳道都是在定义涉众时所定义的Business Actor,我看您的例子里面,泳道都是人!我这里除了“终端用户”是人外,

其它都是系统,这样做合适否?是不是有点系统建模的意味了?

谭老师,在这里建模的时候,每遇到新的场景或新的问题,就感觉有些不知所措了,希望谭老师在百忙之中抽出时间为我指点一下。多谢!!

祝你元旦快乐,新年新气象!!

我的回复:

问题一:

这样做是可以的,相当于你从大量业务用例当中抽象出了一个大家都会使用到的业务请求用例。不过,这样做要基于以下的几点考虑:
1. 这个业务请求用例对于其它的业务用例来说,用例场景是一致的,也就是说它对其它业务用例来说是公用的;
2. 这个业务请求用例不依赖于某个业务用例的场景。换言之,它可以独立出来,它的启动、停止和执行过程不依赖于其它的业务用例;
3. 其它业务用例与它的关系是扩展或包含的关系,即其它用例扩展或包含它,而不是它来扩展或包含其它业务用例;
如果符合以上三点,那么把它抽象出来是合理的。不过,即使是合理的,我仍然建议不要在业务建模阶段做这样的抽象。原因是诸如充值、缴费这些业务用例对应于实际的业务,非常好理解,并且能够很清楚的向业务人员和技术人员解释。如果抽象出一个所谓业务请求用例,它就没有与现实业务有对应关系,并且你不能够把它的业务目标说清楚。业务请求?请求什么?返回什么?谁来请求?如何请求?,这些问题你必须把所有的其它相关业务用例都融合进来才能讲清楚。对吧,因为这是一个抽象用例,必须结合实际才能解释明白,在业务层面上太多抽象是不太合适的。你可以在概念建模阶段来抽象它,也可以在系统建模时来抽象它。概念建模阶段这个抽象用例可以给你提供公用的场景来分析公用的分析对象;系统建模阶段则可以给你提供公共的接口分析设计来源。
问题二:
以我的业务理解,这里不缺什么内容了。判断是否有多余或者遗漏不是从技术层面来的,而是业务层面,应该由业务专家来评判。
问题三:
business actor可以是人,也可以是物。我的例子里全是人是因为我的例子是一个单一的人机交互系统,业务是人与人借助系统交互完成的。你这个系统是由系统和系统交互来完成的,所以泳道是系统完全没有问题。你这里虽然有系统存在,但绝对不是系统建模,所谓系统建模,是要描述系统行为,而不是业务行为,对应的,泳道应当是具体的对象,并且消息应当是方法级别的。

转载于:https://www.cnblogs.com/fengju/archive/2008/12/31/6173674.html

关于业务用例抽象问题对网友的回复相关推荐

  1. 使用 UML 进行业务建模:理解业务用例与系统用例的相似和不同之处

    來源:http://www.uml.org.cn/requirementproject/200707024.asp 作者:Arthur V. English 出处:IBM   本文来自于 Ration ...

  2. UML用例建模,业务用例建模、概念用例建模、系统用例建模,领域建模

    在面向对象软件开发的过程中,针对复杂系统,我们一般会先进行相关建模来了解现实世界问题,通过抽象方法,建立模型来表征现实世界,获得对现实事物本身的理解,然后将这些理解到的知识概念化,并将这些逻辑概念组织 ...

  3. 需求分析阶段的工作(一):业务用例和系统用例

    在这里要申明的是逻辑模型并不能完全算需求分析阶段的工作,因为它包含了设计模型的概念,但是我又把它归纳了一块到需求分析阶段,原因在于逻辑模型中存在了业务对象模型和分析模型的概念. 言归正传,先来看用例模 ...

  4. 「情报局41」人工智能的下一个目标是什么?了解业务用例

    https://www.toutiao.com/a6651767157778547212/ 2019-01-29 12:13:48 导读: 人工智能(AI)如今已成为企业CIO和其他高管关注的热门技术 ...

  5. 需求用例分析之七:业务用例之小结

    作者:张克强    作者微博:张克强-敏捷307 RUP虽然对于业务对象建模进行了详细的说明,但其本身并没有把业务对象建模(领域模型).业务用例作为必须的工件.Rational系方法把业务用例作为需求 ...

  6. 需求用例分析之六:业务用例之科伯恩系

    作者:张克强    作者微博:张克强-敏捷307 来自于科伯恩<编写有效用例>对业务用例的说明 在<使用 UML 进行业务建模:理解业务用例与系统用例的相似和不同之处>中分析科 ...

  7. 关于用例需要多少文档以及业务用例等等

    整理者:张克强 缘起 @jackyrong 发了如下一条微博 敏捷中的文档该写多少合适,一直是永恒的话题,每个用例故事的设计简要卡片,用例图,序列图,类图,数据字典,简要原型图,算法补充说明,应该是必 ...

  8. 如何查找业务用例和业务执行者

    查找业务参与者 业务参与者可以是与业务交互的任何个人.小组.组织.公司或机器,例如: 客户 合作伙伴 供应商 权威机构(法律.法规等等) 子公司 所有者和投资者(决定董事会是应为业务的一部分,还是应建 ...

  9. 软件开发质量的双保险 — 2.业务设计验证与业务用例

    设计验证的第一层是检验业务设计的质量.业务设计内容是软件的核心,解决了如何用信息化手段替代原来的手工作业. 业务设计验证重点包括:业务逻辑.管控规则是否正确?数据逻辑.来源.公式是否正确?等.检验的方 ...

最新文章

  1. 逻辑模型设计步骤-确定数据分割策略
  2. Redis的优势和特点
  3. C语言Selection Sort选择排序的算法(附完整源码)
  4. 外卖匹配系统_“外卖智能算法”和大学生有啥关系?来自工科生的专业分析
  5. java项目打jar包
  6. java jvm 加载_Jvm是如何加载Java类的?
  7. Costomize Print Output
  8. 数据助力防疫,疫情密切接触人员追踪算法赛期待你的加入
  9. HeadFirstJava——4_对象的行为
  10. 基于博弈论的诱饵路由设计及实现
  11. The following method did not exist: kotlin.collections.ArraysKt.copyInto([B[BIII)[B
  12. 计算机网络中协议分层的目的是什么意思,网络协议分层的作用是什么
  13. 五款最优秀的java微服务框架
  14. java 根据经纬度换算距离
  15. vim下载安装 配置方法(图)
  16. 浅析swift optional
  17. wiondows如何更新pip版本
  18. Linux驱动开发-编写RFID-RC522射频刷卡模块驱动
  19. 视觉检测系统是怎么检测尺寸的?
  20. Halcon高斯背景估计--estimate_background_illumination

热门文章

  1. python pickle模块:数据序列化和反序列化
  2. python扫盲系列--(4)
  3. 数据湖之iceberg系列(三)iceberg快速入门
  4. 基于用户行为的兴趣标签模型
  5. Kubernetes容器云的互联网企业实践
  6. Ubuntu 16.04安装Memcached(单机)
  7. 算法笔记(JavaScript版)——排序
  8. activiti自定义流程之Spring整合activiti-modeler5.16实例(四):部署流程定义
  9. 操作系统概念学习笔记 16 内存管理(二) 段页
  10. SilverLight 4页面跳转大全(转载)