用例及用例图案例
- 格式:pptx
- 大小:742.15 KB
- 文档页数:27
用例图和用例描述设计实例作者:ephyer 发表时间:2004-09-09 1 8:01:35更新时间:2004-09-09 1 8:01:35浏览:1954次主题:电脑技术评论:0篇地址:202.19 7.75.*:::栏目:::•Thinking in java 学习笔记•JA VA基础知识•UML•软件设计师•其他类别这里用我开发的一个家教网站来简单的分析用例图的画法和用例描述的写法。
这个网站我用UML完整的分析一下,以下我提取了用例图和用例描述的部分。
这个家教网站分为前台客户系统和后台管理系统。
前台客户系统的用例图如下:后台管理系统用例图如下:对于用例描述,篇幅有限,我在这里只列了后台管理系统中的网站公告发布这个用例的描述。
如下:用例名称:网站公告发布用例标识号:202参与者:负责人简要说明:负责人用来填写和修改家教网站首页的公告,公告最终显示在家教网站的首页上。
前置条件:负责人已经登陆家教网站管理系统基本事件流:1.负责人鼠标点击“修改公告”按钮2.系统出现一个文本框,显示着原来的公告内容3.负责人可以在文本框上修改公告,也可以完全删除,重新写新的公告4.负责人编辑完文本框,按“提交”按钮,首页公告就被修改5.用例终止其他事件流A1:在按“提交”按钮之前,负责人随时可以按“返回”按钮,文本框的任何修改内容都不会影响网站首页的公告异常事件流:1.提示错误信息,负责人确认2.返回到管理系统主页面后置条件:网站首页的公告信息被修改注释:无四.总结其实用例建模并不是这么简单,它涉及到的知识还有很多,我这里只是简单的介绍一下,希望对初学UML建模的同学有所帮助。
上一篇下一篇展开所有评论发表评论推荐转载写信问候返回目录快速返回我的百宝箱用例名称:用户登录用例标识号:01参与者:管理员、普通用户简要说明:参与者输入用户名、密码以及验证码,系统进行验证后,合法者登录系统,否则提供拒绝登录系统。
前置条件:参与者已经打开系统的登录页面(login.jsp)基本事件流:1.参与者在用户名输入框里输入用户名2.在密码框里输入密码3.密码框下方显示验证码,验证码由4位数字构成,用户按原样输入验证码。
大学生二手交易平台:
用例:
基于web的二手交易平台用例图
ﻩ后台管理用例图
用户ﻩ系统
ﻩ支付功能用例图
用例——购物车功能:该用例让用户能用户添加、移出以及查看商品的信息单情况来确认购买商品
一、用户选择“购物车功能”,显示的页面包括“添
加商品”,移出商品“,”“更新购物车”,“查
看商品信息单”
二、用户选择“添加商品”
1.用户选择要添加的商品
2.用户确认添加
3.系统添加该商品的求购信息
三、用户选择“移出商品信息”
1.用户选择要删除的商品
2.用户确认删除
3.系统关闭该商品的求购信息
四、用户选择“查看商品信息单”
1.用户选择需要查看的商品
2.用户查看该商品的信息单情况
3.用户同意购买,选择“支付”,系统产生订
单,通知发货。
UML中的用例图实践案例UML(统一建模语言)是一种用于软件开发的标准化建模语言,它提供了一套丰富的图形符号和概念,用于描述和设计软件系统的各个方面。
其中,用例图是UML中最为常用和重要的一种图形表示方法,它用于描述系统的功能需求和用户与系统之间的交互关系。
本文将通过一个实践案例,介绍用例图在软件开发中的具体应用。
假设我们要开发一个在线购物系统,该系统包括用户注册、浏览商品、添加购物车、下单、支付等功能。
首先,我们需要明确系统的角色和用例。
在这个案例中,系统的角色包括用户、管理员和支付网关。
用户可以注册账号、浏览商品、添加购物车、下单和支付;管理员可以管理商品信息;支付网关负责处理支付请求。
接下来,我们可以使用用例图来表示这些角色和用例之间的关系。
首先,我们可以在用例图中用椭圆形表示各个用例。
在本案例中,我们可以用椭圆形表示注册账号、浏览商品、添加购物车、下单和支付等用例。
然后,我们可以用矩形表示各个角色,即用户、管理员和支付网关。
接着,我们可以使用实线箭头来表示角色与用例之间的关系。
例如,用户可以注册账号,我们可以在用户和注册账号之间画一条实线箭头来表示这种关系。
除了角色和用例之间的关系,用例图还可以表示用例之间的关系。
在本案例中,用户可以浏览商品、添加购物车、下单和支付,这些用例之间存在一定的先后顺序。
我们可以使用虚线箭头来表示这种顺序关系。
例如,用户可以先浏览商品,然后将商品添加到购物车,最后下单和支付。
我们可以在浏览商品和添加购物车之间画一条虚线箭头,表示用户在浏览商品后可以将商品添加到购物车。
此外,用例图还可以表示用例之间的包含和扩展关系。
在本案例中,用户下单时可能需要选择配送地址,我们可以将选择配送地址作为一个包含关系,用一个带有加号的实线箭头表示。
另外,用户下单时还可以选择使用优惠券,这可以作为一个扩展关系,用一个带有箭头和加号的虚线箭头表示。
通过用例图,我们可以清晰地描述系统的功能需求和用户与系统之间的交互关系。
•记录预约(Recork booking)事件路径:1接待员输入要预约的日期2系统显示该日的预约3有一张合适的餐桌可以使用:接待员输入顾客的姓名、电话、预约的时间、用餐人数和餐桌号4系统记录并显示新预约。
可选或例外的事件路径3a 没有可用的餐桌:1 没有合适的餐桌可以使用,用例终止3b 餐桌过小1 接待员输入顾客的姓名电话预约时间,用餐人数和餐桌号2 用餐人数多于餐桌容纳的人数,系统询问是否继续预约3 如果回答“否”, 用例将不进行预约而终止4 如果回答“是”, 预约将被输入,并附有一个警告标志。
•记录到达:(Record arrival)基本事件路径1领班输入当前日期2系统显示当天的预约3领班确认一个选定的预约已经到达4系统对此进行记录并更新显示器,将顾客标记为已经到达。
可选或例外的事件路径3a 没有提前预订:1 系统中没有记录该顾客的预约,领班输入预约时间、人数和餐桌号,创建一个未预约登记;2 系统记录并显示新预约//将红字的部分,独立为一个用例,用例描述如下:●记录未预约顾客(Record walk_in)基本事件路径1 侍者领班执行“显示预约”用例2 侍者领班输入时间、用餐人数和分配给顾客的餐桌3 系统记录并显示新预约●取消预约(Cancel booking)基本事件路径1 侍者领班执行“显示预约”用例2 接待员选择要求的预约3 接待员取消该预约4 系统询问接待员确认取消5 接待员回答“是”,系统记录取消并更新显示可选或例外的事件路径4a 预约的时间是在该现时间之前1 系统显示,预约的时间是在该查询时间之前,2 系统显示不能取消过去某段时间的预约4b 已经记录了顾客到来的预约1 系统显示不能取消该预约 调换餐桌(Table transfer)基本事件路径1 侍者领班选择需要的预约2 侍者领班改变该预约的餐桌分配3 系统记录改变并更新显示•显示预约(Display Bookings):1用户输入一个日期2系统显示当日的预约。
一.旅店管理系统用例图
二.用例规约
1.预定房间
1 .1简要说明
本用例允许客户预订旅店的未被预订的房间,系统提供未被预订的房间的信息列表。
1.2 先置条件
客户进入旅店管理系统,并选择预订房间功能。
1.3 事件流
(1)基本事件流
A 客户选择要预订的房间的类型,双人间或单人间。
B 根据客户选择的房间类型,从所有该类型房间中,筛选未被预定的房间,将这些房间的信息列表显示,供客户查询。
C 客户选定房间,并输入要预订的天数。
(2)备选事件流
A 客户所需要类型的房间已全部被预订,则提示客户,该类型房间已全部被预订,询问客户是否选择另一类型的房间。
B 用户选择预订的房间的时间段与已经预订了该房间的其他客户的时间
段发生冲突,则系统提示,该房间在哪些日期里已被预订,并询问当前客户是更换房间还是修改预订天数。
1.4 后置条件
A 客户选择房间和预订天数并确认后,系统要求客户输入客户信息,包括客户的姓名、地址、联系电话、有效证件号。
另外,系统将计算出客户需要缴纳的定金和总费用,并显示出来。
B 客户重新选择房间类型,或修改天数,则刷新用户界面。
旅游申请系统用例图表1给出了旅游申请系统中“办理申请手续”用例的文档。
由于该用例中并没有明确的非功能需求,因此在文档中也没有体现。
表1 “办理申请手续”用例文档用例名办理申请手续简要描述前台服务员通过该用例为申请人办理申请旅游团的手续参与者前台服务员涉众申请人、前台服务员相关用例暂无前置条件前台服务员登录到系统后置条件申请信息被正确保存,相关旅游团可申请人数减少基本事件流1. 该用例起始于旅客需要办理申请手续;2. 前台服务员录入要申请的旅游团旅行路线代码和出发日期;3. 系统查询要申请的旅游团信息(A-1);4. 系统显示查询到的旅游团和相关路线信息(D-1)(A-2、A-3);5. 前台服务员录入本次申请信息(D-2);6. 系统显示旅行费用的总额和申请订金金额;7. 前台服务员提交该申请信息;8. 系统保存该申请信息(A-4),用例结束。
备选事件流A-* 前台服务员在提交该申请前,随时都可能中止该申请表2给出了“管理参加人”用例文档,与前一个用例文档不同的是,该用例文档的基本事件流被划分成三个子流程,通过子流程的方式可以使该用例文档的结构更加清晰。
表2 “管理参加人”用例文档表3给出了“完成支付”用例文档。
从用例文档可以看出,该用例文档和“管理参加人”用例文档的基本事件流中存在很多相似的地方,即都需要查询申请的信息;在下一节将介绍如何处理这种情况。
表3 “完成支付”用例文档用例文档,注意在该用例文档的基本事件流的第3步中如何表示循环操作。
表4 “打印旅游确认书和余额交款单”用例文档表5给出了“导出财务信息”用例文档。
由于该用例的参与者是时间和财务系统,没有外部用户,所以事件流中全是系统的动作。
此外,由于问题陈述中并没有提及有关财务系统的相关细节,因此与财务系统的交互模式也无法表示清楚。
表5 “导出财务信息”用例文档。
用例图及用例分析用例图及用例分析客户电影信息查询今日电影查询主题电影查询售票工作人员系统管理人员售票维护会员信息<>系统维护日志维护权限维护增删用户后台数据维护<><><>个人信息查询会员信息添加会员信息修改会员信息删除管理电影信息<>订购电影电影校验维护电影数据<>电影信息添加电影信息删除电影信息修改购票<><><><><><><><><><><><><><><><><><>重点用例分析用例名称:售票描述:售票工作人员使用系统销售用例完成售票的任务标识符:uc1优先级:A(高)角色: 售票工作人员前置条件:售票工作人员已成功登录系统并具有查询电影信息、售票的权限主事件流:1. 售票工作人员选择售票选项,用例开始2. 售票工作人员输入账号,系统根据规则检查账号的有效性A1:售票工作人员账号无效3. 售票工作人员输入密码,检查密码是否正确A2:密码错误4.显示登录成功提示信息5.售票工作人员查询输入顾客所购买电影名称6.系统根据输入的电影名,进入数据库调出电影单价,查询余票7.售票工作人员扫描会员卡A3:有会员卡8. 显示电影总价格9. 接受顾客付款,售票工作人员点击确认10. 打印电影票11. 用例结束其他事件流:A1:售票工作人员无效(1).系统售票工作人员无效的提示信息(2).返回主事件流第2步A2:密码错误(1). 系统显示密码错误的提示信息(2). 返回主事件流第3步A3:有会员卡(1).系统显示会员的具体信息,进行折扣计价。
(2).跳至主事件流第8步后置条件:系统成功将已售出的电影信息更新至数据库中特殊需求:用例名称:添加会员描述:工作人员使用系统添加会员用例完成添加会员的任务标识符:uc2优先级:A(高)角色: 工作人员前置条件:工作人员已成功登录系统并具有查询、修改和添加会员的权限主事件流:1. 工作人员选择添加会员选项,用例开始2. 工作人员输入账号,系统根据规则检查账号的有效性A1:工作人员账号无效3. 工作人员输入密码,检查密码是否正确A2:密码错误4.显示登录成功提示信息5.工作人员点击添加会员6.系统进入数据库查询现有会员,生成新的会员号7.工作人员录入会员信息8. 显示最新会员信息9. 接受顾客付款,工作人员点击确认10. 制成会员卡11. 用例结束其他事件流:A1:工作人员无效(1).系统工作人员无效的提示信息(2).返回主事件流第2步A2:密码错误(1). 系统显示密码错误的提示信息(2). 返回主事件流第3步后置条件:系统成功将已添加的会员信息更新至数据库中特殊需求:无用例名称:删除会员描述:工作人员使用系统删除会员用例完成删除会员的任务标识符:uc3优先级:A(高)角色: 工作人员前置条件:工作人员已成功登录系统并具有查询、修改和添加会员的权限主事件流:1. 工作人员选择删除会员选项,用例开始2. 工作人员输入账号,系统根据规则检查账号的有效性A1:工作人员账号无效3. 工作人员输入密码,检查密码是否正确A2:密码错误4.显示登录成功提示信息5.工作人员点击删除会员6.输入会员账号7. 系统进入数据库查询现有会员A3:无此会员8.工作人员点击删除9. 显示确认删除提示10. 工作人员点击确认11. 用例结束其他事件流:A1:工作人员无效(1).系统工作人员无效的提示信息(2).返回主事件流第2步A2:密码错误(1). 系统显示密码错误的提示信息(2). 返回主事件流第3步A3:无此会员(1). 系统显示无此会员的提示信息(2). 返回主事件流第4步后置条件:系统成功将已删除的会员信息移出至数据库中特殊需求:无用例名称:查询会员描述:工作人员使用系统查询会员用例完成查询会员的任务标识符:uc4优先级:A(高)角色: 工作人员前置条件:工作人员已成功登录系统并具有查询、修改和添加会员的权限主事件流:1. 工作人员选择查询会员选项,用例开始2. 工作人员输入账号,系统根据规则检查账号的有效性A1:工作人员账号无效3. 工作人员输入密码,检查密码是否正确A2:密码错误4.显示登录成功提示信息5.工作人员点击查询会员6.输入会员账号7. 系统进入数据库查询现有会员A3:无此会员8.工作人员点击查询9. 显示查询会员的信息10. 用例结束其他事件流:A1:工作人员无效(1).系统工作人员无效的提示信息(2).返回主事件流第2步A2:密码错误(1). 系统显示密码错误的提示信息(2). 返回主事件流第3步A3:无此会员(1). 系统显示无此会员的提示信息(2). 返回主事件流第4步后置条件:无特殊需求:无用例名称:添加电影描述:工作人员使用系统添加电影用例完成添加电影的任务标识符:uc4优先级:A(高)角色: 工作人员前置条件:工作人员已成功登录系统并具有查询、修改和添加电影的权限主事件流:1. 工作人员选择添加电影选项,用例开始2. 工作人员输入账号,系统根据规则检查账号的有效性A1:工作人员账号无效3. 工作人员输入密码,检查密码是否正确A2:密码错误4.显示登录成功提示信息5.工作人员点击添加电影6.系统进入数据库查询现有电影,生成新的电影号7.工作人员录入电影信息8. 显示最新电影信息9. 点击确认10. 用例结束其他事件流:A1:工作人员无效(1).系统工作人员无效的提示信息(2).返回主事件流第2步A2:密码错误(1). 系统显示密码错误的提示信息(2). 返回主事件流第3步后置条件:系统成功将已添加的电影信息更新至数据库中特殊需求:无用例名称:删除电影描述:工作人员使用系统删除电影用例完成删除电影的任务标识符:uc5优先级:A(高)角色: 工作人员前置条件:工作人员已成功登录系统并具有查询、修改和添加电影的权限主事件流:1. 工作人员选择删除电影选项,用例开始2. 工作人员输入账号,系统根据规则检查账号的有效性A1:工作人员账号无效3. 工作人员输入密码,检查密码是否正确A2:密码错误4.显示登录成功提示信息5.工作人员点击删除电影6.输入电影名7. 系统进入数据库查询现有电影A3:无此会员8.工作人员点击删除9. 显示确认删除提示10. 工作人员点击确认11. 用例结束其他事件流:A1:工作人员无效(1).系统工作人员无效的提示信息(2).返回主事件流第2步A2:密码错误(1). 系统显示密码错误的提示信息(2). 返回主事件流第3步A3:无此电影(1). 系统显示无此电影的提示信息(2). 返回主事件流第4步后置条件:系统成功将已删除的会员信息移出至数据库中特殊需求:无用例名称:查询电影描述:工作人员使用系统查询电影用例完成查询电影的任务标识符:uc6优先级:A(高)角色: 工作人员前置条件:工作人员已成功登录系统并具有查询、修改和添加电影的权限主事件流:1. 工作人员选择查询电影选项,用例开始2. 工作人员输入账号,系统根据规则检查账号的有效性A1:工作人员账号无效3. 工作人员输入密码,检查密码是否正确A2:密码错误4.显示登录成功提示信息5.工作人员点击查询电影6.输入电影名7. 系统进入数据库查询现有电影名A3:无此电影8.工作人员点击查询9. 显示查询会员的信息10. 用例结束其他事件流:A1:工作人员无效(1).系统工作人员无效的提示信息(2).返回主事件流第2步A2:密码错误(1). 系统显示密码错误的提示信息(2). 返回主事件流第3步A3:无此电影(1). 系统显示无此电影的提示信息(2). 返回主事件流第4步后置条件:无特殊需求:无用例名称:今日电影查询描述:顾客使用系统今日电影查询用例完成查询电影标识符:uc7优先级:A(高)角色: 顾客前置条件:无主事件流:1. 顾客选择今日电影查询选项,用例开始2. 显示今日电影信息3. 用例结束其他事件流:无后置条件:无特殊需求:无用例名称:个人信息查询描述:顾客使用系统个人信息查询用例完成个人信息查询标识符:uc8优先级:A(高)角色: 顾客前置条件:顾客已成功登录系统主事件流:1. 顾客选择查询个人信息查询选项,用例开始2. 顾客输入账号,系统根据规则检查账号的有效性A1:顾客账号无效3. 顾客输入密码,检查密码是否正确A2:密码错误4.显示登录成功提示信息5 显示顾客个人信息6. 用例结束其他事件流:A1:顾客无效(1).顾客无效的提示信息(2).返回主事件流第2步A2:密码错误(1). 系统显示密码错误的提示信息(2). 返回主事件流第3步后置条件:无特殊需求:无用例名称:检索描述:当功能界面中“请选择”输入3的时候进入检索功能角色: 用户前置条件:已经进行排序主事件流:1.用户选择检索功能,用例开始A1:未完成前置条件2. 用户选择检索条件,输入检索关键字3. 系统根据输入信息查询文件A2:检索失败4.检索成功5.将检索到的信息显示在屏幕上或存储在其他文件中6. 用例结束其他事件流:A1:未完成前置条件返回主菜单A2:检索失败返回搜索菜单后置条件:系统成功将已检索的信息显示在屏幕或存储在文件中特殊需求:无。