《chapter06用例图用例建模作业.ppt》由会员分享,可在线阅读,更多相关《chapter06用例图用例建模作业.ppt(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、李鹏飞李鹏飞UML系统分析与设计系统分析与设计UML-System Analysis&Design1第6 章用例建模作业 Use-Case Modeling2旅店管理系统某公司要开发一个旅店管理系统,该旅店可对外开放某公司要开发一个旅店管理系统,该旅店可对外开放某公司要开发一个旅店管理系统,该旅店可对外开放某公司要开发一个旅店管理系统,该旅店可对外开放1010个双人间和个双人间和个双人间和个双人间和1010个单人间,房间费用视情况按季节调整,个单人间,房间费用视情况按季节调整,个单人间,房间费用视情况按季节调整,个单人间,房间费用视情况按季节调整,但周一到周五半价(周末全价)折扣不变。对于外界
2、请求,但周一到周五半价(周末全价)折扣不变。对于外界请求,但周一到周五半价(周末全价)折扣不变。对于外界请求,但周一到周五半价(周末全价)折扣不变。对于外界请求,该系统应能根据请求入住时间预定指定档次的房间,记录该系统应能根据请求入住时间预定指定档次的房间,记录该系统应能根据请求入住时间预定指定档次的房间,记录该系统应能根据请求入住时间预定指定档次的房间,记录旅客姓名、地址、联系电话、有效证件号、房间类型和预旅客姓名、地址、联系电话、有效证件号、房间类型和预旅客姓名、地址、联系电话、有效证件号、房间类型和预旅客姓名、地址、联系电话、有效证件号、房间类型和预定天数,并计算出总费用。预定的同时旅客
3、按规定须提交定天数,并计算出总费用。预定的同时旅客按规定须提交定天数,并计算出总费用。预定的同时旅客按规定须提交定天数,并计算出总费用。预定的同时旅客按规定须提交10%10%定金。六个小时之内旅店允许旅客取消预定,并退定金。六个小时之内旅店允许旅客取消预定,并退定金。六个小时之内旅店允许旅客取消预定,并退定金。六个小时之内旅店允许旅客取消预定,并退回所有定金,超过六个小时定金不退还。每周一系统自动回所有定金,超过六个小时定金不退还。每周一系统自动回所有定金,超过六个小时定金不退还。每周一系统自动回所有定金,超过六个小时定金不退还。每周一系统自动打印一周预定情况清单。采用哪种费用支付方式和何种类
4、打印一周预定情况清单。采用哪种费用支付方式和何种类打印一周预定情况清单。采用哪种费用支付方式和何种类打印一周预定情况清单。采用哪种费用支付方式和何种类型操作界面尚不确定。型操作界面尚不确定。型操作界面尚不确定。型操作界面尚不确定。3问题用例图问题用例图1领导的角色没有价值;领导的角色没有价值;旅店房间预订系统用例没有意义旅店房间预订系统用例没有意义4问题用例图问题用例图2用例图不描述用例图不描述业务流程业务流程图中箭头不代图中箭头不代表前后顺序表前后顺序5问题用例图问题用例图3用例图不描述程序流程用例图不描述程序流程不描述控制逻辑不描述控制逻辑6基于用例的需求分析过程1.获取原始需求2.开发一
5、个可以理解的需求l识别参与者l识别用例l构建用例图3 详细、完整地描述需求进行用例阐述4 重构用例模型l识别用例间的关系l对用例进行组织和分包71 识别参与者l参与者,Actorl关键词:边界l参与者:在系统之外,透过系统边界与系统进行有意义交互的任何事物81 识别参与者参与者要点参与者要点参与者要点参与者要点l系统外l参与者代表在系统边界之外的真实事物,并不是系统的成分l系统边界l参与者透过系统边界直接与系统交互,参与者的确定代表系统边界的确定l有意义的交互l考虑责任边界,非物理边界l任何事物l人、外系统、外部因素、时间9识别参与者思路l谁使用系统的主要功能l谁改变系统的数据l谁从系统获取信
6、息l谁需要系统的支持以完成日常工作任务l谁负责日常维护、管理并保证系统正常运行l系统需要应付(处理)那些硬设备l系统需要和那些外部系统交互l谁(或什么)对系统运行产生的结果(值)感兴趣l时间、气温等内部外部条件l服务员服务员服务员服务员顾客顾客顾客顾客时间时间时间时间10“时间”参与者的使用时间时间时间时间:参与者,一种:参与者,一种:参与者,一种:参与者,一种习惯用法,用于激活习惯用法,用于激活习惯用法,用于激活习惯用法,用于激活那些系统定期的、自那些系统定期的、自那些系统定期的、自那些系统定期的、自动执行的用例动执行的用例动执行的用例动执行的用例“计算总费用计算总费用计算总费用计算总费用”
7、的时的时的时的时候,时间仅仅是一个候,时间仅仅是一个候,时间仅仅是一个候,时间仅仅是一个条件,而不是参与者,条件,而不是参与者,条件,而不是参与者,条件,而不是参与者,因为此时它是作为系因为此时它是作为系因为此时它是作为系因为此时它是作为系统的一部分统的一部分统的一部分统的一部分11不恰当的不恰当的“时间时间”参与者参与者时间时间:参与者,一种习惯用法,用于激活那:参与者,一种习惯用法,用于激活那些系统定期的、自动执行的用例些系统定期的、自动执行的用例“检查是否可以退定金检查是否可以退定金”的时候,时间仅仅的时候,时间仅仅是一个系统内部的判断条件,而不是参与者是一个系统内部的判断条件,而不是参
8、与者12无效的参与者泛化无效的参与者泛化参与者泛化参与者泛化:特殊参与者会继承泛化参与者所有的要素!:特殊参与者会继承泛化参与者所有的要素!参与者的重要性在一识别用例,如果泛化没有带来任何用例,则参与者的重要性在一识别用例,如果泛化没有带来任何用例,则这样的方法没有任何意义这样的方法没有任何意义在系统中如果两个参与者涉及相同的用例,则合并在系统中如果两个参与者涉及相同的用例,则合并132 识别用例l关键词:价值l定义l用例实例是系统执行的一系列动作,这些动作将生成特定参与者可观测的结果值l一个用例定义一组用例实例l简洁:参与者使用系统达到目标142 识别用例用例要点用例要点l可观测用例止于系统
9、边界l结果值用例是有意义的目标l系统执行结果值由系统生成l由参与者观测业务语言、用户观点l一组用例实例用例的粒度152 识别用例某公司要开发一个旅店管理系统,该旅店可对外开放某公司要开发一个旅店管理系统,该旅店可对外开放某公司要开发一个旅店管理系统,该旅店可对外开放某公司要开发一个旅店管理系统,该旅店可对外开放1010个双人间和个双人间和个双人间和个双人间和1010个单人间,房间个单人间,房间个单人间,房间个单人间,房间费用视情况按季节调整费用视情况按季节调整费用视情况按季节调整费用视情况按季节调整,但周一到周五半价(周末全价)折扣不变。对于外界请求,但周一到周五半价(周末全价)折扣不变。对于
10、外界请求,但周一到周五半价(周末全价)折扣不变。对于外界请求,但周一到周五半价(周末全价)折扣不变。对于外界请求,该系统应能根据请求入住时间该系统应能根据请求入住时间该系统应能根据请求入住时间该系统应能根据请求入住时间预定指定档次的房间预定指定档次的房间预定指定档次的房间预定指定档次的房间,记录,记录,记录,记录旅客姓名、地址、联系电话、有效证件号、房间类型和预旅客姓名、地址、联系电话、有效证件号、房间类型和预旅客姓名、地址、联系电话、有效证件号、房间类型和预旅客姓名、地址、联系电话、有效证件号、房间类型和预定天数,并定天数,并定天数,并定天数,并计算出总费用计算出总费用计算出总费用计算出总费
11、用。预定的同时旅客按规定须提交。预定的同时旅客按规定须提交。预定的同时旅客按规定须提交。预定的同时旅客按规定须提交10%10%定金。六个小时之内旅店允许旅客定金。六个小时之内旅店允许旅客定金。六个小时之内旅店允许旅客定金。六个小时之内旅店允许旅客取消预定取消预定取消预定取消预定,并,并,并,并退退退退回所有定金,超过六个小时定金不退还回所有定金,超过六个小时定金不退还回所有定金,超过六个小时定金不退还回所有定金,超过六个小时定金不退还。每周一系统。每周一系统。每周一系统。每周一系统自动自动自动自动打印一周预定情况清单打印一周预定情况清单打印一周预定情况清单打印一周预定情况清单。采用哪种费用支付
12、方式和何种类。采用哪种费用支付方式和何种类。采用哪种费用支付方式和何种类。采用哪种费用支付方式和何种类型操作界面尚不确定。型操作界面尚不确定。型操作界面尚不确定。型操作界面尚不确定。16用例干什么?“其他其他其他其他”、“打印清打印清打印清打印清单单单单”用例和外围没有任用例和外围没有任用例和外围没有任用例和外围没有任何何何何有意义交互有意义交互有意义交互有意义交互,和其他,和其他,和其他,和其他用例也没有任何关系,用例也没有任何关系,用例也没有任何关系,用例也没有任何关系,这样的用例有意义吗?这样的用例有意义吗?这样的用例有意义吗?这样的用例有意义吗?“其他其他其他其他”用例用例用例用例又代
13、表什又代表什又代表什又代表什么呢?想说明什么样的么呢?想说明什么样的么呢?想说明什么样的么呢?想说明什么样的功能需求?功能需求?功能需求?功能需求?17用例粒度注意注意注意注意“管理管理管理管理用例用例用例用例”的使用!的使用!的使用!的使用!18用例粒度太小用例粒度太小19看看这个用例图参与者与用例的定义!参与者与用例的定义!参与者与用例的定义!参与者与用例的定义!203 构建用例图(一)顾客21用例关系ExtendIncludeGeneralization224.用例关系-1:明显的错误依赖关系依赖关系依赖关系依赖关系:include,include,extendextend都是依赖关系都
14、是依赖关系都是依赖关系都是依赖关系(dependency)(dependency)的构造的构造的构造的构造型型型型(stereotype)(stereotype),带箭,带箭,带箭,带箭头的虚线表示头的虚线表示头的虚线表示头的虚线表示“extendextend”关系的方关系的方关系的方关系的方向,子用例对主用例的向,子用例对主用例的向,子用例对主用例的向,子用例对主用例的扩展扩展扩展扩展234.用例关系-2:什么关系?用例是一个完用例是一个完用例是一个完用例是一个完整的交互,用例整的交互,用例整的交互,用例整的交互,用例之间没有顺序的之间没有顺序的之间没有顺序的之间没有顺序的关系关系关系关系2
15、44.用例关系-325扩展关系的使用l使用扩展的一个潜在问题是创建过深的扩展依赖层次lJacobson博士建议永远不要扩展一个扩展l对于在描述用例的时候,什么时候用扩展,什么时候用可选路径,Jacobson建议:l只有当扩展用例与被扩展用例完全分离(即它本身是一个独立的具体用例或者是其他用例需要的一个小片段)时,才使用扩展关系l基用例自身必须是完整的,它的正确执行不需要扩展。否则,就应该用可选路径来描述附加行为26包含关系的使用l包含关系使用不当容易诱使人们进行功能分解,从而导致对用例的误用lJacobson说,“事实上,今天一些人误用了用例,把它们用来描述功能(注:指功能分解式的分析)而不是
16、对象,反过来又指责用例概念存在问题”27泛化的危害一个售货员可以终止任何交易,除了那些需要特殊的售一个售货员可以终止任何交易,除了那些需要特殊的售一个售货员可以终止任何交易,除了那些需要特殊的售一个售货员可以终止任何交易,除了那些需要特殊的售货员(高级代理)终止的超过了一定限制的交易货员(高级代理)终止的超过了一定限制的交易货员(高级代理)终止的超过了一定限制的交易货员(高级代理)终止的超过了一定限制的交易28再看一个29用例规约l用例规约用来描述用例的,不是用例图l用例规约该写什么?l用例规约需要与用例图相对应l用例的名称l用例描述:一句完整的话l用例间的关系l用例与参与者的关系l事件流的详
17、细程度l事件流之间的流转30用例规格描述常见错误用例规格描述常见错误l用例描述中没有主参与者。l用例描述中只有参与者动作,没有系统动作。l事件流中的动作没有主语。l描述中有过多的用户操作细节,如按钮等界面元素的具体实现。l描述过低的目标级别。31较为合理的用例图较为合理的用例图(二二)争论:争论:使用包含还使用包含还是扩展?是扩展?32较为合理的用例规格说明较为合理的用例规格说明1用例名称:预定房间涉及的参与者:酒店前台描述:酒店前台人员根据旅客的入住请求,预定某个时间指定档次的房间,预定的同时旅客按规定须提交10%定金。前置条件:前台工作人员必须已经登录到这个系统后置条件:预定信息正确的记录
18、到系统中主事件流:1)前台人员向系统提供需要预定房间的类型、时间和预定天数。2)系统确认有相应档次的空闲房间,并计算出总费用和定金。3)前台人员向系统提供旅客信息(姓名、地址、联系电话、证件号等)。4)系统记录旅客信息。5)前台人员确认已经交纳定金。6)系统记录房间已经预定,工作完成。备选事件流:2a.没有指定类型的空闲房间,可以转到第一步或者取消预定,用例结束5a.顾客没有交纳定金,前台工作人员取消预定,用例结束。33较为合理的用例规格说明较为合理的用例规格说明2n用例名称:取消预订n主要参与者:酒店前台n描述:酒店前台利用该用例来取消顾客的预定,如果在指定时间内,则取消时需要返还顾客定金n
19、前置条件:用户必须已经预订了某个房间n后置条件:系统将取消预定的房间恢复为空闲,并且定金已返还给顾客n正常事件流:前台人员提供给系统顾客信息,比如顾客姓名或证件号码;系统进行检查并返回该顾客的预订信息,包括顾客姓名、证件号码、联系电话、房间类型、预订时间、预订天数和总费用;前台人员确认取消该预定;系统取消该房间预订n备选事件流:2a.系统提示没有该顾客的预定信息。4a.当取消预订在六小时之内,系统提示需要退还顾客定金。4a1.系统提示返回金额;4a2.前台人员确认已退还定金;4a3.系统记录定金已退还。34用例规约:预定房间涉及的用例:涉及的用例:计算总费用计算总费用计算总费用计算总费用前置条
20、件:前置条件:用户成功登录用户成功登录用户成功登录用户成功登录正常事件流:正常事件流:1.1.用户选择预定房间后启动该用例用户选择预定房间后启动该用例用户选择预定房间后启动该用例用户选择预定房间后启动该用例2.2.系统显示用户系统显示用户系统显示用户系统显示用户可以预定的房间列表可以预定的房间列表可以预定的房间列表可以预定的房间列表3.3.用户选择某一个房间用户选择某一个房间用户选择某一个房间用户选择某一个房间4.4.系统启动系统启动系统启动系统启动“计算总费用计算总费用计算总费用计算总费用”用例,来计算该房间的费用用例,来计算该房间的费用用例,来计算该房间的费用用例,来计算该房间的费用5.5.用户确认本次预定业务用户确认本次预定业务用户确认本次预定业务用户确认本次预定业务6.6.用户用户用户用户选择支付方式选择支付方式选择支付方式选择支付方式,以便,以便,以便,以便预付定金预付定金预付定金预付定金35