《补充课堂练习》PPT课件.ppt
课 堂 练 习,-用例图与用例规约,2,用户需求简要描述,某公司要开发一个旅店预定系统,该旅店可对外开放豪华双人间、双人间、三人间和单人间,房间费用视情况按季节调整,但周一到周五半价(周末全价)折扣不变。对于外界请求,该系统应能根据请求入住时间预定指定档次的房间,记录旅客姓名、地址、联系电话、有效证件号、房间类型和预定天数,并计算出总费用。预定的同时旅客按规定须提交10%定金。六个小时之内旅店允许旅客取消预定,并退回所有定金,超过六个小时定金不退还。每周一系统自动打印一周预定情况清单。采用哪种费用支付方式和何种类型操作界面尚不确定。,3,要求:,按需求简要描述为旅店预订系统创建用例图;选择一个用例进行场景描述;为该用例建立用例表;为该用例创建活动图。,4,问题用例图1,5,问题用例图2,6,问题用例图3,7,1.不恰当的“时间”参与者,时间:参与者,一种习惯用法,用于激活那些系统定期的、自动执行的用例“检查是否可以退定金”的时候,时间仅仅是一个系统内部的判断条件,而不是参与者,8,2.无效的参与者泛化,参与者泛化:特殊参与者会继承泛化参与者所有的要素!参与者的重要性在一识别用例,如果泛化没有带来任何用例,则这样的方法没有任何意义在系统中如果两个参与者涉及相同的用例,则合并,9,3.错误的用例关系,依赖关系:include,extend都是依赖关系(dependency)的构造型(stereotype),带箭头的虚线表示扩展关系:“extend”关系的方向,子用例对主用例的扩展,10,3.错误的用例关系,用例的顺序在活动图中表现,11,3.错误的用例关系,12,4.“其他”用例?,“其他”、“打印清单”用例和外围没有任何有意义交互,和其他用例也没有任何关系,这样的用例有意义吗?“其他”用例又代表什么呢?想说明什么样的功能需求?,13,“打印报表”和“酒店管理员”之间的关联是有意义的交互吗?,5.参与者和用例间的关系,14,6.用例粒度太小,15,较为合理的用例图,16,用例名称:预定房间涉及的参与者:酒店前台描述:酒店前台人员根据旅客的入住请求,预定某个时间指定档次的房间,预定的同时旅客按规定须提交10%定金。前置条件:前台工作人员必须已经登录到这个系统后置条件:预定信息正确的记录到系统中正常事件流:1)前台人员向系统提供需要预定房间的类型、时间和预定天数。2)系统确认有相应档次的空闲房间,并计算出总费用和定金。3)前台人员向系统提供旅客信息(姓名、地址、联系电话、证件号等)。4)系统记录旅客信息。5)前台人员确认已经交纳定金。6)系统记录房间已经预定,工作完成。备选事件流:2a.没有指定类型的空闲房间,可以转到第一步或者取消预定,用例结束5a.顾客没有交纳定金,前台工作人员取消预定,用例结束。,较为合理的用例规格说明1,17,n用例名称:取消预订n主要参与者:酒店前台n描述:酒店前台利用该用例来取消顾客的预定,如果在指定时间内,则取消时需要返还顾客定金n前置条件:用户必须已经预订了某个房间n后置条件:系统将取消预定的房间恢复为空闲,并且定金已返还给顾客n正常事件流:前台人员提供给系统顾客信息,比如顾客姓名或证件号码;系统进行检查并返回该顾客的预订信息,包括顾客姓名、证件号码、联系电话、房间类型、预订时间、预订天数和总费用;前台人员确认取消该预定;系统取消该房间预订n备选事件流:2a.系统提示没有该顾客的预定信息。4a.当取消预订在六小时之内,系统提示需要退还顾客定金。4a1.系统提示返回金额;4a2.前台人员确认已退还定金;4a3.系统记录定金已退还。,较为合理的用例规格说明2,