- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十五讲用例建模作业
面向对象技术Object-Oriented Techniques
第15 讲用例建模 Use-Case Modeling
用例分析实例:旅店管理系统
某公司要开发一个旅店管理系统,该旅店可对外开放10个双人间和10个单人间,房间费用视情况按季节调整,但周一到周五半价(周末全价)折扣不变。对于外界请求,该系统应能根据请求入住时间预定指定档次的房间,记录旅客姓名、地址、联系电话、有效证件号、房间类型和预定天数,并计算出总费用。预定的同时旅客按规定须提交10%定金。六个小时之内旅店允许旅客取消预定,并退回所有定金,超过六个小时定金不退还。每周一系统自动打印一周预定情况清单。采用哪种费用支付方式和何种类型操作界面尚不确定。
基于用例的需求分析过程
1. 获取原始需求
2. 开发一个可以理解的需求
识别参与者
识别用例
构建用例图
3 详细、完整地描述需求
进行用例阐述
4 重构用例模型
识别用例间的关系
对用例进行组织和分包
1 识别参与者
参与者,Actor
关键词:边界
参与者:在系统之外,透过系统边界与系统进行有意义交互的任何事物
1 识别参与者
参与者要点
系统外
参与者代表在系统边界之外的真实事物,并不是系统的成分
系统边界
参与者透过系统边界直接与系统交互,参与者的确定代表系统边界的确定
有意义的交互
考虑责任边界,非物理边界
任何事物
人、外系统、外部因素、时间
识别参与者思路
谁使用系统的主要功能
谁改变系统的数据
谁从系统获取信息
谁需要系统的支持以完成日常工作任务
谁负责日常维护、管理并保证系统正常运行
系统需要应付(处理)那些硬设备
系统需要和那些外部系统交互
谁(或什么)对系统运行产生的结果(值)感兴趣
时间、气温等内部外部条件
……
服务员
顾客
时间
“时间”参与者的使用
时间:参与者,一种习惯用法,用于激活那些系统定期的、自动执行的用例
“计算总费用”的时候,时间仅仅是一个条件,而不是参与者,因为此时它是作为系统的一部分
参与者的泛化
参与者泛化:特化的参与者会继承泛化参与者所有的要素!
外围系统表示是已有的或计划中的外围的独立的软件系统!
使用英文时注意单词的正确用法!
2 识别用例
关键词:价值
定义
用例实例是系统执行的一系列动作,这些动作将生成特定参与者可观测的结果值
一个用例定义一组用例实例
简洁:参与者使用系统达到目标
2 识别用例
用例要点
可观测→用例止于系统边界
结果值→用例是有意义的目标
系统执行→结果值由系统生成
由参与者观测→业务语言、用户观点
一组用例实例→用例的粒度
2 识别用例
某公司要开发一个旅店管理系统,该旅店可对外开放10个双人间和10个单人间,房间费用视情况按季节调整,但周一到周五半价(周末全价)折扣不变。对于外界请求,该系统应能根据请求入住时间预定指定档次的房间,记录旅客姓名、地址、联系电话、有效证件号、房间类型和预定天数,并计算出总费用。预定的同时旅客按规定须提交10%定金。六个小时之内旅店允许旅客取消预定,并退回所有定金,超过六个小时定金不退还。每周一系统自动打印一周预定情况清单。采用哪种费用支付方式和何种类型操作界面尚不确定。
用例干什么?
“其他”、“打印清单”用例和外围没有任何有意义交互,和其他用例也没有任何关系,这样的用例有意义吗?
“其他”用例又代表什么呢?想说明什么样的功能需求?
用例粒度
注意“管理用例”的使用!
看看这个用例图
参与者与用例的定义!
3 构建用例图
顾客
用例关系
Extend
Include
Generalization
4. 用例关系-1:明显的错误
依赖关系:include, extend都是依赖关系(dependency)的构造型(stereotype),带箭头的虚线表示
“extend”关系的方向,子用例对主用例的扩展
4. 用例关系-2:什么关系?
用例是一个完整的交互,用例之间没有顺序的关系
4. 用例关系-3
扩展关系的使用
使用扩展的一个潜在问题是创建过深的扩展依赖层次
Jacobson博士建议永远不要扩展一个扩展
对于在描述用例的时候,什么时候用扩展,什么时候用可选路径,Jacobson建议:
只有当扩展用例与被扩展用例完全分离(即它本身是一个独立的具体用例或者是其他用例需要的一个小片段)时,才使用扩展关系
基用例自身必须是完整的,它的正确执行不需要扩展。否则,就应该用可选路径来描述附加行为
包含关系的使用
包含关系使用不当容易诱使人们进行功能分解,从而导致对用例的误用
Jacobson说,“事实上,今天一些人误用了用例,把它们用来描述功能(注:指功能分解式的分析)而不是对象,反过来又指责用例概念存在问题”
泛化的危害
一个售货员可以终止任何交易,除了那些需要特殊的售货员(高级代理)终止
文档评论(0)