使用业务序列图原因:

一、活动图只关注人,序列图把人当作系统。活动图描述流程时,往往会忽略了非人工系统的责任。

二、活动图表示动作,序列图强迫思考动作背后的目的。序列图不但表达非人工系统的责任,也揭示出某个岗位对外暴露的责任,序列图可以在业务建模和系统建模的过程中始终贯彻“对象协作以完成用例“的思想。

三、活动图更“灵活”,序列图更不“灵活”。“很容易画”的活动图容易掩盖开发人员对业务流程认识不足或者业务流程本身存在缺陷的事实。序列图强迫开发人员通过alt、loop等结构化控制片段描述业务流程的方式去思考,通过故事来思考待开发系统的位置。

业务序列图要点:

一、消息代表责任分配而不是数据流动。在序列图中,焦点是对象之间的责任和写作,数据流是作为消息的输入输出参数存在的。建模人员不但要看到数据的流动,还要找出背后的责任。消息代表对他人提供的服务,如果没有指定目的可以用“处理...”来命名,消息名称中不需要带“请求”二字,箭头已表明请求的意义。

二、聚焦于系统之间的协作。业务建模研究的焦点是组织,所以业务序列图上对象的最小单位是人肉或非人肉系统。建模的基本原则是抽象级别的一致,勿需细化到每一步操作。

三、只画核心域相关的系统。一个智能系统要不要成为序列图上出现的业务实体,要根据“它是否核心域内的系统”来判断。

四、把时间看作特殊的业务实体。这样便可以映射到系统用例的时间执行者。注意,时间是外系统,世上只有一个时间系统,定时器是其他系统用来和时间大交道的边界类,定时器会有无数个。

a.绘制现状业务序列图:现状好比拿着摄像机去拍摄,会拍到什么?把拍到的场景如实绘制成业务序列图。根据不同的业务用例,会有多个业务序列图。

应避免的错误:

一、把“现状”误解为“纯手工”。业务流程中有人工系统也有非人工的系统,新系统的需求需要通过研究业务现状,再结合愿景推导得出。

二、以待开发系统为中心拼凑流程。业务建模时,摄像机应该一路跟随着实现业务用例的流程去拍摄,如实反映拍摄的故事,各个系统知识流程中的一个零件。业务建模就是要从业务流程中待到代开发系统的位置,证明该系统对实现业务用例是有帮助的。

b.绘制业务交互概述图:将各个业务用例的序列图串联起来。

c.改进业务序列图:挑选一个最值得改进的业务序列,阐明原因,然后空降一个系统,画出改进后的序列图,从而得到第一批用例。注意UML建模不是为了“先建模后需求在分析”的顺序而使用,而是迅速定位最值得改进点,得到最有价值的用例,先开发。这才是敏捷。

改进途径:

一、物流变信息流。为降低流转成本,尽可能把物流变成信息流,在需要物的时候才将信息变成物。

二、改善信息流程。可以依靠引入一个新的系统来达到在多个信息系统之间实现信息传递和协调。

三、封装领域逻辑。通过将人脑中的领域逻辑提炼封装到信息系统中,使人脑得到解放。在绘制业务流程时,非常重要的改进点是:一定要注意画出人脑中的思考逻辑,避免白开水一样的业务流程。前两条改进,系统内部封装逻辑不复杂,效率高,而做到第三条,就可以靠软件的功能就能卖钱。

四、阿布思考法。

改进思路是:

1.假设有足够的资源去解决问题,得到一个完美的方案;

2.用手上现有的资源去山寨这个完美方案。例如:中国组织最得力的会议是靠人脑组织的全国人民代表大会,做会议软件的话可以山寨一二。

“创新的需求是从观察和思考的汗水中来,不是把拍脑袋闭门造车的所谓‘头脑风暴‘当作调研”。

2-系统建模:与业务建模不同的是研究对象,业务建模的对研究对象是组织,而系统建模的研究对象是系统。

1.画出系统用例图:有了业务建模的铺垫,系统用例实际上以呼之欲出。

1). 系统用例图:

a. 确定系统执行者:系统执行者的定义是在所研究系统外,与该系统发生功能性交互的其他系统。有了前面的业务建模,就不需要头脑风暴了,直接从业务序列图映射即可得到系统执行者。

理解要点:

一、系统外:系统执行者不是所研究系统的一部分,而是该系统边界外的一个系统。这里的边界指的是责任的边界而非物理的边界。

二、交互:系统执行者必须和系统有交互,不和系统交互的不算是系统的执行者。系统执行者和重要无关,系统执行者只关注谁和这个系统接口,而正真和重要相关的概念是涉众。用例必须在它的路径、步骤、补充约束中考虑这些涉众的利益。

三、功能性交互:执行者和系统发生的交互是系统的功能需求。

四、系统:系统可以是人肉系统,也可以使一个智能系统,甚至是一个特别的外系统——时间。

业务建模映射出系统执行者的方法:与系统交互(存在实的消息线)的人肉系统或其他系统即为系统的执行者。

注意事项:实际工作中,系统执行者和系统用例是一起识别的。

一、不要把执行者和权限管理混淆。用例的主执行者只是表明这个用例是为这一类执行者而做,但不代表系统一定要有权限控制以防止其他的人或电脑系统使用该用例。

b. 系统用例:系统用例的定义是系统能够为执行者提供的,涉众可以接受的价值。

用例识别要点:做需求的目的不是为了安慰自己或者走过场,而是让产品更加好卖,不以这个为出发点的需求工作是没有意义的。即使再难,也只能从涉众的视角来定义需求,切不可贪图方便选一个自己熟悉的视角了事。

一、系统用例可以看做系统执行者和系统之间买卖的平衡点,期望和承诺的平衡点。系统用例可以把需求提升到思考系统“卖什么”的高度。(搞清自己的“用例”,认清自己的定位。)

二、思考用例的过程就是发现价值的过程。

三、“粒度”的问题。开发人员切勿玩弄“粒度原则”、“分层技巧”,应该把屁股挪到涉众那边去,揣摩涉众的心理,实事求是的写下来。

对于判断“用例是否用对”的标准:是否加强了和涉众的联系,如果不是,那就用错了。

业务建模映射出系统用例的识别方法:在业务序列图中,从外部指向所研究系统的消息可以映射为该系统的用例。

识别系统用例的注意事项:

一、主执行者和辅执行者:主执行者从执行者指向用例,而辅执行者从用例指向执行者,主执行者发起用例的交互,辅执行者在交互过程中被动参与进来。场景:主执行者要执行用例,需要辅执行者的帮忙。

二、切勿把到辅执行者的箭头误解为数据传送的方向。

三、主辅执行者是针对某个用例来说的,一个系统在这个用例中充当主执行者,也可以在另一个用例中充当辅执行者。一般说来,辅执行者是人肉系统的情况比较少,更多时候是另一个非人智能系统。

四、用例是涉众愿意“购买”的、对系统的一种“用法”,只要涉众愿意“购买”,当然是越多越好。

五、需求是不考虑“复用“的,如果在考虑”复用“,要紧惕自己是不是已经转换到了设计视角来思考问题。

六、针对不同执行者、不同业务流程,系统提供的价值可大可小,无论大小均是用例。

七、用例的命名。用例命名采用"动宾结构",宾语前可以加定语,把一句话的主语砍掉,剩下的可以做用例的名字。

常见错误:踏实研究业务流程,做好业务建模,尽量从业务序列图中映射出系统用例,这样的系统用例是不会骗人的。

一、把步骤当作用例。Include(包含)关系的目的是为了复用在多个用例中重复出现的步骤集合,形状往往是多个大用例Include一个小用例。

二、CRUD问题。把数据库的各个表名加上新增、检索、修改、删除就得到了用例的名字或者把四种操作合并称为“XX管理”。

三、玩弄“复用”:用例的执行者不同,背后的涉众利益也有差别,不能简单的合并复用为某一个操作。

四、多个主执行者指向同一个用例。如果用例图已完成,对于这种错误的修改,可以通过泛化出抽象的执行者或者分成几个不同的用例的方法来修改。后一种更常见。

五、玩弄”层次“。切勿偷换"研究对象",也切勿”把愿景当系统功能“。

六、玩弄”子系统“:用例很多时可以将用例分包,但用例包是在系统的外部对系统功能所做的划分,而子系统则是根据内部部件的耦合和内聚切割得到。

七:模糊的价值:系统往往无法承诺执行者预期的价值时,则该价值不是执行者的用例。主执行者执行用例时,若是需要辅执行者提供实时的帮助后才能进行,则用例正确,否则用例错误。

转载于:https://www.cnblogs.com/D9412/p/4981564.html

《软件方法》读书笔记2相关推荐

  1. 全球通史读书笔记上(第六章——古代文明的新起)

    一.印度文明 1. 哈巴拉文化消失的原因 (1)被雅利安人所破坏 (2)奴隶主阶级的沉重剥削. (3)过度砍伐森林,水土流失,生态失衡 2. (1)印度的楼兰--摩亨约·达罗(或为最早期的印度帝国) ...

  2. 全球通史读书笔记上(第七章——战争的起源)

    一.梭伦改革 1.梭伦改革地点:希腊雅典.雅典在希腊文明史中扮演重要的角色.伯利克里:"雅典是全希腊的学校." 2.梭伦改革背景:公元前6世纪,雅典的奴隶制度确立.贵族成为特权阶层 ...

  3. 《全球通史》读书笔记2

    关键问题似乎在于,在技术变革和使之成为必需的社会变革之间,存在一个时间差.造成这个时间差的原因在于:技术变革能提高生产率和生活水平,所以很受欢迎,且很快便被采用:而社会变革则要求人类进行自我评估和自我 ...

  4. 《全球通史》读书笔记1

    这两天开始读斯塔夫理阿诺斯的<全球通史>第7版. 在推荐序里的一句话读了特别有感觉."--我们甚至依然在用别人的模式理解我们和整个世界的历史."我有时也在想,我们的历史 ...

  5. 读 L. S. Stavrianos 之 《全球通史:从史前到21世纪》

    Leften Stavros Stavrianos, 吴象婴, 梁赤民. 全球通史:从史前到21世纪:第7版新校本.上册. ISBN: 978-7-301-26938-1. Leften Stavro ...

  6. 读书笔记|如何让用户为你的产品尖叫

    文/PM十二   编辑/李老太.小太阳  Hi各位小伙伴,最近新认识的一位从事编辑的小伙伴推荐了<用户思维+:好产品让用户为自己尖叫>,趁着周末把它读完了,因此今天要分享的是一篇读书笔记. ...

  7. 《精通Unix下C语言与项目实践》读书笔记(16)

    <精通Unix下C语言编程与项目实践>读书笔记(new) 文章试读  不拘一个遍程序系列:编程序不能一个脑袋钻到底,有时要学会变通,即所谓的曲线救国.一.二.三.四 职场规划:一些杂七杂八 ...

  8. 第一篇读书笔记,关于UML和模式应用(1)--书籍简介

    新添加了一个读书笔记分类,以后多写一些读书笔记吧.因为真的觉得自己技术太差了,写不出好文章了. 关于UML和模式应用(1)--书籍简介 Applying UML and patterns(Craig ...

  9. PMP读书笔记(第13章)

    大家好,我是烤鸭:     今天做一个PMP的读书笔记. 第十三章 项目相关方管理 项目相关方管理 项目相关方管理的核心概念 项目相关方管理的趋势和新兴实践 裁剪考虑因素 在敏捷或适应型环境中需要考虑 ...

  10. PMP读书笔记(第12章)

    大家好,我是烤鸭:     今天做一个PMP的读书笔记. 第十二章 项目采购管理 项目采购管理 项目采购管理的核心概念 项目采购管理的趋势和新兴实践 裁剪考虑因素 在敏捷或适应型环境中需要考虑的因素 ...

最新文章

  1. 【转】MFC消息映射详解(整理转载)
  2. (五) openwrt打包过程
  3. C#模板设计模式使用和学习心得
  4. tem在c语言中的作用,Temtem状态有什么效果 Temtem各状态效果介绍_游侠网
  5. SAP为企业不同员工带来了什么?
  6. 谈Tensorflow的Batch Normalization
  7. OpenJDK织机和结构化并发
  8. 怎么设置班级文件服务器,如何开设论坛如题下学期老师组织学生开一个班级论坛有专用服务器接下 爱问知识人...
  9. C#中的深度学习:预处理硬币检测数据集
  10. 从零手动实现简易Tomcat
  11. 限制文本框只能输入数字
  12. 4.企业安全建设入门(基于开源软件打造企业网络安全) --- 威胁情报
  13. mysql md5 sha1_PHP md5 vs sha1 性能测试
  14. UFS 3.1协议分析(第一至四章) -- UFS概述
  15. 每日题解:LeetCode 718. 最长重复子数组
  16. 超市总营业额分析程序
  17. 梅卡尔大学-IOT-前端笔记
  18. 乐视android版本怎么升级,乐视网android手机客户端升级
  19. 疑难杂症系列-QQ聊天记录的备份和恢复
  20. 平均股价的时间序列图形_每年的平均股价怎么算

热门文章

  1. IE 不支持单引号(')的实体名称(amp;apos;)
  2. c# 找出目录下的所有子目录_C#遍历文件夹,其实只需要一句话!
  3. 自动设定form的高度_自动升降车
  4. 冯永昌:云计算与大数据时代的量化投资
  5. 中文文本对齐_终于明白Word如何快速对齐姓名!为之前狂敲空格的我,留下一把泪...
  6. java多站点项目_java-在多模块项目构建期间模块之间的Maven...
  7. 评分卡模型开发(二)--用户数据异常值处理
  8. 2.吴恩达机器学习课程-作业2-逻辑回归
  9. 蓝牙学习笔记(五)——AC692x_BLE工具make_gatt_services
  10. 内固定取出术后护理_骨折术后康复治疗全知道!