chapter06用例图用例建模作业.ppt

上传人:牧羊曲112 文档编号:5421565 上传时间:2023-07-05 格式:PPT 页数:35 大小:466.50KB
返回 下载 相关 举报
chapter06用例图用例建模作业.ppt_第1页
第1页 / 共35页
chapter06用例图用例建模作业.ppt_第2页
第2页 / 共35页
chapter06用例图用例建模作业.ppt_第3页
第3页 / 共35页
chapter06用例图用例建模作业.ppt_第4页
第4页 / 共35页
chapter06用例图用例建模作业.ppt_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《chapter06用例图用例建模作业.ppt》由会员分享,可在线阅读,更多相关《chapter06用例图用例建模作业.ppt(35页珍藏版)》请在三一办公上搜索。

1、李鹏飞,UML系统分析与设计UML-System Analysis&Design,第6 章用例建模作业 Use-Case Modeling,3,旅店管理系统,某公司要开发一个旅店管理系统,该旅店可对外开放10个双人间和10个单人间,房间费用视情况按季节调整,但周一到周五半价(周末全价)折扣不变。对于外界请求,该系统应能根据请求入住时间预定指定档次的房间,记录旅客姓名、地址、联系电话、有效证件号、房间类型和预定天数,并计算出总费用。预定的同时旅客按规定须提交10%定金。六个小时之内旅店允许旅客取消预定,并退回所有定金,超过六个小时定金不退还。每周一系统自动打印一周预定情况清单。采用哪种费用支付方

2、式和何种类型操作界面尚不确定。,4,问题用例图1,领导的角色没有价值;旅店房间预订系统用例没有意义,5,问题用例图2,用例图不描述业务流程图中箭头不代表前后顺序,6,问题用例图3,用例图不描述程序流程不描述控制逻辑,7,基于用例的需求分析过程,1.获取原始需求2.开发一个可以理解的需求识别参与者识别用例构建用例图3 详细、完整地描述需求进行用例阐述4 重构用例模型识别用例间的关系对用例进行组织和分包,8,1 识别参与者,参与者,Actor关键词:边界参与者:在系统之外,透过系统边界与系统进行有意义交互的任何事物,9,1 识别参与者,参与者要点系统外参与者代表在系统边界之外的真实事物,并不是系统

3、的成分系统边界参与者透过系统边界直接与系统交互,参与者的确定代表系统边界的确定有意义的交互考虑责任边界,非物理边界任何事物人、外系统、外部因素、时间,10,识别参与者思路,谁使用系统的主要功能谁改变系统的数据谁从系统获取信息谁需要系统的支持以完成日常工作任务谁负责日常维护、管理并保证系统正常运行系统需要应付(处理)那些硬设备系统需要和那些外部系统交互谁(或什么)对系统运行产生的结果(值)感兴趣时间、气温等内部外部条件,服务员,顾客,时间,11,“时间”参与者的使用,时间:参与者,一种习惯用法,用于激活那些系统定期的、自动执行的用例“计算总费用”的时候,时间仅仅是一个条件,而不是参与者,因为此时

4、它是作为系统的一部分,12,不恰当的“时间”参与者,时间:参与者,一种习惯用法,用于激活那些系统定期的、自动执行的用例“检查是否可以退定金”的时候,时间仅仅是一个系统内部的判断条件,而不是参与者,13,无效的参与者泛化,参与者泛化:特殊参与者会继承泛化参与者所有的要素!参与者的重要性在一识别用例,如果泛化没有带来任何用例,则这样的方法没有任何意义在系统中如果两个参与者涉及相同的用例,则合并,14,2 识别用例,关键词:价值定义用例实例是系统执行的一系列动作,这些动作将生成特定参与者可观测的结果值一个用例定义一组用例实例简洁:参与者使用系统达到目标,15,2 识别用例,用例要点可观测用例止于系统

5、边界结果值用例是有意义的目标系统执行结果值由系统生成由参与者观测业务语言、用户观点一组用例实例用例的粒度,16,2 识别用例,某公司要开发一个旅店管理系统,该旅店可对外开放10个双人间和10个单人间,房间费用视情况按季节调整,但周一到周五半价(周末全价)折扣不变。对于外界请求,该系统应能根据请求入住时间预定指定档次的房间,记录旅客姓名、地址、联系电话、有效证件号、房间类型和预定天数,并计算出总费用。预定的同时旅客按规定须提交10%定金。六个小时之内旅店允许旅客取消预定,并退回所有定金,超过六个小时定金不退还。每周一系统自动打印一周预定情况清单。采用哪种费用支付方式和何种类型操作界面尚不确定。,

6、17,用例干什么?,“其他”、“打印清单”用例和外围没有任何有意义交互,和其他用例也没有任何关系,这样的用例有意义吗?“其他”用例又代表什么呢?想说明什么样的功能需求?,18,用例粒度,注意“管理用例”的使用!,19,用例粒度太小,20,看看这个用例图,参与者与用例的定义!,21,3 构建用例图(一),顾客,22,用例关系,Extend,Include,Generalization,23,4.用例关系-1:明显的错误,依赖关系:include,extend都是依赖关系(dependency)的构造型(stereotype),带箭头的虚线表示“extend”关系的方向,子用例对主用例的扩展,24

7、,4.用例关系-2:什么关系?,用例是一个完整的交互,用例之间没有顺序的关系,25,4.用例关系-3,26,扩展关系的使用,使用扩展的一个潜在问题是创建过深的扩展依赖层次Jacobson博士建议永远不要扩展一个扩展对于在描述用例的时候,什么时候用扩展,什么时候用可选路径,Jacobson建议:只有当扩展用例与被扩展用例完全分离(即它本身是一个独立的具体用例或者是其他用例需要的一个小片段)时,才使用扩展关系基用例自身必须是完整的,它的正确执行不需要扩展。否则,就应该用可选路径来描述附加行为,27,包含关系的使用,包含关系使用不当容易诱使人们进行功能分解,从而导致对用例的误用Jacobson说,“

8、事实上,今天一些人误用了用例,把它们用来描述功能(注:指功能分解式的分析)而不是对象,反过来又指责用例概念存在问题”,28,泛化的危害,一个售货员可以终止任何交易,除了那些需要特殊的售货员(高级代理)终止的超过了一定限制的交易,29,再看一个,30,用例规约,用例规约用来描述用例的,不是用例图用例规约该写什么?用例规约需要与用例图相对应用例的名称用例描述:一句完整的话用例间的关系用例与参与者的关系事件流的详细程度事件流之间的流转,31,用例规格描述常见错误,用例描述中没有主参与者。用例描述中只有参与者动作,没有系统动作。事件流中的动作没有主语。描述中有过多的用户操作细节,如按钮等界面元素的具体

9、实现。描述过低的目标级别。,32,较为合理的用例图(二),争论:使用包含还是扩展?,33,较为合理的用例规格说明1,用例名称:预定房间涉及的参与者:酒店前台描述:酒店前台人员根据旅客的入住请求,预定某个时间指定档次的房间,预定的同时旅客按规定须提交10%定金。前置条件:前台工作人员必须已经登录到这个系统后置条件:预定信息正确的记录到系统中主事件流:1)前台人员向系统提供需要预定房间的类型、时间和预定天数。2)系统确认有相应档次的空闲房间,并计算出总费用和定金。3)前台人员向系统提供旅客信息(姓名、地址、联系电话、证件号等)。4)系统记录旅客信息。5)前台人员确认已经交纳定金。6)系统记录房间已

10、经预定,工作完成。备选事件流:2a.没有指定类型的空闲房间,可以转到第一步或者取消预定,用例结束5a.顾客没有交纳定金,前台工作人员取消预定,用例结束。,34,较为合理的用例规格说明2,n用例名称:取消预订n主要参与者:酒店前台n描述:酒店前台利用该用例来取消顾客的预定,如果在指定时间内,则取消时需要返还顾客定金n前置条件:用户必须已经预订了某个房间n后置条件:系统将取消预定的房间恢复为空闲,并且定金已返还给顾客n正常事件流:前台人员提供给系统顾客信息,比如顾客姓名或证件号码;系统进行检查并返回该顾客的预订信息,包括顾客姓名、证件号码、联系电话、房间类型、预订时间、预订天数和总费用;前台人员确认取消该预定;系统取消该房间预订n备选事件流:2a.系统提示没有该顾客的预定信息。4a.当取消预订在六小时之内,系统提示需要退还顾客定金。4a1.系统提示返回金额;4a2.前台人员确认已退还定金;4a3.系统记录定金已退还。,35,用例规约:预定房间,涉及的用例:计算总费用前置条件:用户成功登录正常事件流:1.用户选择预定房间后启动该用例2.系统显示用户可以预定的房间列表3.用户选择某一个房间4.系统启动“计算总费用”用例,来计算该房间的费用5.用户确认本次预定业务6.用户选择支付方式,以便预付定金,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号