Section 3 用例和用例图.ppt
文本预览下载声明
* Use case: Withdraw cash Actor: customer 主事件流: 储户通过读卡机插入ATM卡 ATM系统从卡上读取银行ID、账号、加密密码, 并通过主银行系统验证银行ID和账号 储户输入密码, ATM系统根据加密密码对输入密码进行验证 储户按 “取款”按钮, 并输入取款数目, 该数目应该为$5的倍数 ATM系统通知主银行系统, 传递账号和金额, 并接收返回的确认信息和账户余额 ATM系统输出现金、ATM卡和收据 ATM系统记录交易到日志文件 ATM系统“取款”用例的正确描述 * 用例描述:前置、后置条件-1 前置条件约束在用例开始前系统的状态 把它们看做是看门人,它阻止参与者触发该用例直到满足所有条件 说明在用例触发之前什么必须为真 后置条件约束用例执行后系统的状态 用例执行后什么必须为真 对于有多个操作流的用例,则应该有多个后置条件 * 用例描述:前置、后置条件-2 某些用例依赖于其他用例 一个用例在离开系统时,可能是另一个用例的前置条件(例如:“登录”和“管理系统”) 有助于识别漏掉的用例 如果一个用例的前置条件不能有执行其他用例满足,可能意味着丢失了用例(例如:“管理订单”却没有“登录”用例) * 用例描述示例 1.用例名称:处理银行卡结帐 2.标识符: 3.用例描述:客户来到付款处,总台服务员记录客户离开信息并接受付款,付款完成后,客户离开。 4.参与者:总台服务员,POS系统 5.前置条件:客户退出棋牌桌。 6.后置条件:无 7.基本操作流 8.可选操作流 4.非功能需求 7.扩展点:无 8.优先级:最高(满意度 5,不满意度5) * 用例描述示例 基本操作流 1.系统显示客户的消费总额。 2.总台服务员接收客户的银行卡。 3.客户输入密码,POS系统对密码进行验证。 4.POS系统返回确认消息。 5.系统打印付款收据 6.总台服务员将银行卡和打印付款收据交给客户 7.系统记录本次交易 8.客户离开 可选操作流 第2步:如果输入的密码不正确,系统显示出错信息 第7步:客户没有足够的现金,则系统显示出错信息,付款不成功。 * 用例描述:操作流描述要点 只书写“可观测”的(说人话) 使用主动语句 句子必须以参与者或系统作为主语 不要涉及界面细节 分支和循环 * 要点1:只写“可观测”的 系统通过ADO建立数据库连接,传送SQL查询语句,从“商品表”查询商品的详细信息… 系统按照查询条件搜索商品的详细信息 * 要点2:主动语句 欧文丛贝克汉姆处得到传球,守门员… 贝克汉姆传球给欧文,欧文射门,守门员扑救… 出纳员…… 系统…… * 要点3:以参与者或系统作主语 参与者…… 系统…… 出纳员接收顾客的付款—顾客的付款数可能高于商品总额 出纳员录入顾客所付的现金总额 系统显示出应找还给顾客的余额,打印付款收据 * 要点4:不涉及界面细节 会员从下拉框中选择类别 会员在相应文本框中输入查询条件 会员点击“确定”按钮 * 要点5:分支和循环 分支:放到扩展路径 参与者的选择 另一条成功线路 系统进行验证 …… 循环:直接描述 循环执行步骤x到y,直到条件满足 * 思考:旅店管理系统 某公司要开发一个旅店管理系统,该旅店可对外开放10个双人间和10个单人间,房间费用视情况按季节调整,但周一到周五半价(周末全价)折扣不变。对于外界请求,该系统应能根据请求入住时间预定指定档次的房间,记录旅客姓名、地址、联系电话、有效证件号、房间类型和预定天数,并计算出总费用。预定的同时旅客按规定须提交10%定金。六个小时之内旅店允许旅客取消预定,并退回所有定金,超过六个小时定金不退还。每周一系统自动打印一周预定情况清单。采用哪种费用支付方式和何种类型操作界面尚不确定。 * References [Cock00], Alistair Cockburn, Writing Effective Use Cases(王雷,张莉译,编写有效用例,机械工业出版社,2002年) [Schn00], Geri Schneider, Jason P.Winters, Applying Use Cases, Second Edition(姚淑珍,李巍译,用例分析技术,机械工业出版社,2002年) [Arri02]CT Arrington, Enterprise Java with UML(马波,李雄锋译,Enterprise Java with UML中文版,机械工业出版社,2003年) [DEV475]IBM Rational, Mastering Object-Oriented Analysis and Design with UML, 2003 系统边界问题:业务建模 定义业务活动,识别相关的业务参与者 有意义的系统交互:图书馆、
显示全部