- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Chap10-2面向对象
第十章面向对象(2)
2
第十章内容概要
面向对象方法学概述
UML基础
面向对象的需求提取
面向对象分析
面向对象设计的准则
启发规则
软件重用
面向对象系统设计
面向对象对象设计
★
3
Use Case的引出(Why Use Case?)
了解需求→分析典型用例→ 不自觉、随意、潦草→ Jacobson提出Use Case分析法→ OO技术进入第二代;
Use Case是什么:
本质上,一个Use Case是用户与计算机之间为达到某个目的的一次典型交互作用;
作为结果,Use Case代表的是系统的一个完整功能。
Use Case
4
Actor:
Actor是与系统交互的外部实体;
Actor是具有构造型Actor的类,所以谈论Actor时考虑的是其角色,而非角色的实例;
Use Case总是由Actor启动的;
Actor与Use Case间是多对多的关系。
Use Case
★
5
Actor有助于获取Use Case
先找出各Actor,再通过他们得到Use Case。
处理Actor与Use Case的关系
一般不必过分关注Actor的细节;
若需对系统分析优化,应了解Actor细节;
对每个用户,提供一张Actor列表,指明其可以扮演的角色,即可以执行的Use Case,有助于协调需求冲突、制定安全策略。
Use Case
6
Use Case的描述:
Use Case的名字:唯一标识
参与的Actor(s):标出其中的主动Actor
入口条件:Use Case启动前需要的条件
事件流:Use Case的动作序列
出口条件:完成后应满足的条件
特殊需求:非功能性需求
Use Case
★
7
Use Case示例:
要编写“报告紧急情况”Use Case
8
9
场景(Scenario):
场景是Use Case的真实例子;
场景通过举例说明情况,帮助理解问题域,进而归纳Use Case;
具体执行一次Use Case,得到一个场景;
场景重在可理解性,Use Case重在完整性。
场景示例:
注意:场景是Use Case的实例,因此其名字带有下划线(对象)
10
11
Use Case间的关系:包含、扩展、泛化
包含:两个Use Case,如果其中一个在其事件流中包含了另一个,那么它们间就有包含关系。
扩展:将常规动作放在一个基本Use Case中,将非常规动作放在其扩展Use Case中。
泛化:对一般性Use Case做特殊化、细化。
包含与扩展的区别
★
12
Use Case的获取分两步:
要获取Actor,请对用户/客户提问:
谁使用系统的主要功能(Primary Actor)?
谁需要系统支持他们的日常工作?
谁来维护、管理系统(Secondary Actor)?
系统需要控制哪些硬件?
系统需要与其他哪些系统交互?
对系统产生的结果感兴趣的是哪些人或事物?
Use Case
13
要获取Use Case,请对Actor提问:
Actor要做的是什么、要求系统提供哪些功能?
Actor需要读、产生、删除、修改或存储系统中的信息有哪些类型?
必须提醒Actor的系统事件有哪些?
Actor必须提醒系统的事件有哪些?怎样把这些事件表示成Use Case中的功能?
Use Case
14
还可以考虑两个问题:
系统需要何种输入输出?它们从哪里来往哪里去?
现存的系统究竟有什么主要问题,以至于要换掉它?
若直接总结Use Case有困难,用场景帮忙:
基于场景和Use Case的需求提取:现实场景→想象场景→快速、小型原型→系统描述→ Use Case形式的需求定义。
Use Case
15
确定Actor
(确定场景)
确定Use Case
改进Use Case:错误、异常→ 全面完整
确定Use Cases间的关系:减少复杂性
确定参与对象:从Use Case迈向对象
确定非功能性需求
基于Use Case的需求提取活动
16
确定每个Use Case的参与对象;
参与对象对应于问题空间的主要概念→形成术语表;
参与对象的确定产生了最初的分析模型:
对象的描述、属性可由用户评审;
作为整个分析模型与用户/客户衔接的部分,通常不会用完整的分析模型“烦恼”用户。
确定参与对象
17
开发人员或用户为理解Use Case所必须阐明的术语;
Use Case中的常用名词(如,事件);
系统需要跟踪的现实世界实体(如,现场工作人员、资源);
系统需要跟踪的现实世界过程(如,紧急操作计划);
Use Case本身(如,报告紧急情况);
数据来源或数据接受器(如,打印机);
接口产品(如,工作站);
总要使用的应用域的术语。
确定参与对象的试探法
18
针对前面举例的事故管理系统中的“报告紧急情况”用例,最初
文档评论(0)