版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章第二章 用例与用例图用例与用例图 用例、参与者用例、参与者 用例之间的关系用例之间的关系 用例图用例图 用例的建模技术用例的建模技术 一个用例图的例子一个用例图的例子用例概念用例概念1 1) 一个用例表示系统中一部分功能和行为;系一个用例表示系统中一部分功能和行为;系统所有的功能和行为都可建模为用例。统所有的功能和行为都可建模为用例。 一个用例是系统所执行的一组动作的规范;一个用例是系统所执行的一组动作的规范; 动作的执行将产生一个可观察的结果;动作的执行将产生一个可观察的结果; 该结果对参与者或相关人具有特殊价值。该结果对参与者或相关人具有特殊价值。用例概念用例概念2 2) 用例描述将
2、实现的行为,而不描述其如何实用例描述将实现的行为,而不描述其如何实现,使所有人员不必为细节所累。现,使所有人员不必为细节所累。 系统级功能,完整的功能需求。系统级功能,完整的功能需求。 参与者参与者actoractor与用例的交互关系。参与者可与用例的交互关系。参与者可以是人或自动系统。以是人或自动系统。 一个用例完成一项与参与者利益相关的确定一个用例完成一项与参与者利益相关的确定工作。工作。 用例作为测试来源。用例作为测试来源。 用例进一步可用交互表示其如何实现。用例进一步可用交互表示其如何实现。用例的表示用例的表示 命名:一个字符串,简短的主动语态动词短命名:一个字符串,简短的主动语态动词
3、短语。语。 语法:椭圆语法:椭圆用例名用例名用例名参与者和角色参与者和角色 一个参与者一个参与者actoractor确定了一种角色;确定了一种角色; 该角色由用户或其它系统所扮演;该角色由用户或其它系统所扮演; 用户或其它系统在与主体用户或其它系统在与主体subjectsubject交互时交互时 扮演特定角色。扮演特定角色。 角色角色rolerole表示参与特定语境中的某实体被命表示参与特定语境中的某实体被命名的特定行为。名的特定行为。 参与者之间关系:泛化关系。参与者之间关系:泛化关系。参与者的表示参与者的表示 称号:名词短语称号:名词短语 语法:人形符号语法:人形符号 参与者与用例之间有何
4、关系?参与者与用例之间有何关系? 关联关联用例图概念用例图概念 用例图用例图(use case diagram)(use case diagram)是什么?是什么? 表示一组用例、参与者及关系的图。表示一组用例、参与者及关系的图。 用例图中主要有哪些内容?用例图中主要有哪些内容? 用例、参与者、依赖、泛化和关联,还有注用例、参与者、依赖、泛化和关联,还有注解和约束,包解和约束,包 用例图的出发点是什么?用例图的出发点是什么? 表现系统的行为,系统对其外部提供的可见表现系统的行为,系统对其外部提供的可见的服务。的服务。语境概念语境概念 语境语境contextcontext是什么?是什么? 所有存
5、在于系统外部,并与系统交互的事物所有存在于系统外部,并与系统交互的事物。 语境定义了元素存在的环境。语境定义了元素存在的环境。 用例图与系统的语境有何关系?用例图与系统的语境有何关系? 用例图可对系统的语境建模用例图可对系统的语境建模用例图示例用例图示例用例的组织用例的组织 用包用包packagepackage来组织大量的用例。来组织大量的用例。 包名包名:用例名用例名 用例之间的关系用例之间的关系用包来组织用例用包来组织用例用例之间的关系用例之间的关系1 1) 泛化:一个子用例泛化:一个子用例(sub use case)(sub use case)和一个超和一个超用例用例(super use
6、 case)(super use case)间的关系间的关系; ;子用例是其超用例的一种特殊形式;子用例是其超用例的一种特殊形式;子用例继承超用例中所有的特征和关联子用例继承超用例中所有的特征和关联,并可增加新的特征和关联。,并可增加新的特征和关联。 包含:一种包含:一种includeinclude依赖关系,指向被包依赖关系,指向被包含的用例,表示公共行为。含的用例,表示公共行为。 扩展:一种扩展:一种extendextend依赖关系,有条件的延依赖关系,有条件的延伸,伸,Extension points, conditionExtension points, condition用例之间的关系
7、用例之间的关系2 2) include:include:一个用例含有另一个用例的行为一个用例含有另一个用例的行为,指向被包含用例。,指向被包含用例。 extend:extend:从扩展用例到被扩展用例之间的从扩展用例到被扩展用例之间的一种关系;它规范了扩展用例的行为如何和一种关系;它规范了扩展用例的行为如何和何时插入到被扩展用例的行为之中。涉及到何时插入到被扩展用例的行为之中。涉及到一个扩展点一个扩展点extension pointextension point。顾客购买商品下载软件浏览网站送货员填写顾客订单提交顾客订单用例之间的关系用例之间的关系 包含关系和扩展关系都表示用一个用例的行包含关
8、系和扩展关系都表示用一个用例的行为来延伸另一个用例。为来延伸另一个用例。 用例用例A A包含包含B(B(从从A A到到B)B),用例,用例B B扩展扩展A(A(从从B B到到A)A),这两者都表示用例,这两者都表示用例B B的行为将延伸的行为将延伸A A的行为的行为。两者之间有什么区别?。两者之间有什么区别? 主要区别在于主要区别在于“包含是无条件的延伸,有包含是无条件的延伸,有较强的依赖关系;而较强的依赖关系;而“扩展是有条件的延扩展是有条件的延伸,被扩展用例相对独立于扩展用例。伸,被扩展用例相对独立于扩展用例。 留意:留意: “” “”和和“”“”并非中文符号,而是并非中文符号,而是ASC
9、IIASCII字符,十六进制值分别为字符,十六进制值分别为ABAB和和BBBB。用例的建模技术用例的建模技术 为何需要用例建模?为何需要用例建模? 用例为领域专家、最终用户和开发者提供交用例为领域专家、最终用户和开发者提供交流平台。流平台。 为开发者提供直接认识和理解元素的方法为开发者提供直接认识和理解元素的方法 用例是测试模型元素的基础。用例是测试模型元素的基础。 建模技术包括建模技术包括 语境建模语境建模 用例及其关系建模用例及其关系建模 场景建模场景建模 语境建模语境建模1 1) 首先确定系统边界,即系统包括哪些行为以及哪首先确定系统边界,即系统包括哪些行为以及哪些行为和外部有交互,以此
10、来识别系统边界。些行为和外部有交互,以此来识别系统边界。 通过询问问题来识别与系统交互的参与者,以建通过询问问题来识别与系统交互的参与者,以建立系统的语境。立系统的语境。 识别一般和特殊的角色来组织参与者,考虑参与识别一般和特殊的角色来组织参与者,考虑参与者之间可能存在的泛化关系。者之间可能存在的泛化关系。 识别个人扮演的角色,还是机构扮演的角色,考识别个人扮演的角色,还是机构扮演的角色,考虑参与者之间的关联关系。虑参与者之间的关联关系。 避免遗漏重要的参与者,也就是说,询问尽可能避免遗漏重要的参与者,也就是说,询问尽可能广泛的用户,如果此时遗漏了重要的用户,系统广泛的用户,如果此时遗漏了重要
11、的用户,系统就存在潜在的缺陷和不足,将来会导致大量返工就存在潜在的缺陷和不足,将来会导致大量返工。语境建模语境建模2 2) 避免向非专业的客户询问专业问题。如果要建立避免向非专业的客户询问专业问题。如果要建立一个财务系统,最好与有丰富业务经验和计算机一个财务系统,最好与有丰富业务经验和计算机操作经验的领域专家交流,以建立正确的业务规操作经验的领域专家交流,以建立正确的业务规则。则。 有时会出现这样的情形,某些行为难以确定是否有时会出现这样的情形,某些行为难以确定是否在系统内实现。例如,财务经理签批报销凭证,在系统内实现。例如,财务经理签批报销凭证,这个行为在日常是手工签字,现在所有的凭证都这个
12、行为在日常是手工签字,现在所有的凭证都在计算机上实现了,那么是打印出来再手工签批在计算机上实现了,那么是打印出来再手工签批,还是在计算机上用数字签名来签批。这样的决,还是在计算机上用数字签名来签批。这样的决策将对系统的功能需求产生巨大影响。策将对系统的功能需求产生巨大影响。 对于大型多用户系统,可以在一张或几张用例图对于大型多用户系统,可以在一张或几张用例图中专门描述参与者及相互间关系,而无须描述用中专门描述参与者及相互间关系,而无须描述用例。例。 用例及其关系建模用例及其关系建模1 1) 对于每个参与者,考虑与该系统交互的主要方式对于每个参与者,考虑与该系统交互的主要方式,即它期望或需要系统
13、提供的功能或行为,将每,即它期望或需要系统提供的功能或行为,将每一项功能或行为都描述为一个用例。一项功能或行为都描述为一个用例。 除了识别正常的交互,还应考虑可能发生的异常除了识别正常的交互,还应考虑可能发生的异常的交互方式。的交互方式。 用泛化关系来区别抽象用例和具体用例之间的关用泛化关系来区别抽象用例和具体用例之间的关系。应避免出现这样的情形,存在两个用例描述系。应避免出现这样的情形,存在两个用例描述,一个是抽象描述,另一个是具体描述,描述的,一个是抽象描述,另一个是具体描述,描述的是同一项功能或行为,但却没有描述泛化关系,是同一项功能或行为,但却没有描述泛化关系,这样会导致系统重复设计。
14、这样会导致系统重复设计。 在多个用例之间,任何一个用例都不能替代另一在多个用例之间,任何一个用例都不能替代另一个用例,除非具有明确的泛化关系。在泛化关系个用例,除非具有明确的泛化关系。在泛化关系中,具体的用例能替代抽象的用例。中,具体的用例能替代抽象的用例。用例及其关系建模用例及其关系建模2 2) 避免遗漏重要的用例。显然遗漏会导致系统存在避免遗漏重要的用例。显然遗漏会导致系统存在缺陷,隐含着将来可能大量返工。缺陷,隐含着将来可能大量返工。 描述用例的粒度有大小之分,抽象级别有高低之描述用例的粒度有大小之分,抽象级别有高低之分,在一张图中,多个用例之间应具有大体一致分,在一张图中,多个用例之间
15、应具有大体一致的粒度或抽象级别,除非有明确的泛化关系。的粒度或抽象级别,除非有明确的泛化关系。 用包含关系分解并重用公共行为,并用扩展关系用包含关系分解并重用公共行为,并用扩展关系建立有条件的行为变体。注意区别这两种关系。建立有条件的行为变体。注意区别这两种关系。 对于一个包含关系,被包含的用例尽可能选择一对于一个包含关系,被包含的用例尽可能选择一个抽象的用例,这样具体用例就能提供更多灵活个抽象的用例,这样具体用例就能提供更多灵活性,而且包含关系也具有稳定性。性,而且包含关系也具有稳定性。 同理,对于一个扩展关系,扩展用例应尽可能选同理,对于一个扩展关系,扩展用例应尽可能选择一个抽象的用例。择
16、一个抽象的用例。用例及其关系建模用例及其关系建模3 3) 每个用例都必须为特定用户提供可见的价值,应每个用例都必须为特定用户提供可见的价值,应避免描述一些不重要的、琐碎的功能描述。避免描述一些不重要的、琐碎的功能描述。 用例图中并不能描述多个用例之间执行的次序,用例图中并不能描述多个用例之间执行的次序,所以不要试图描述按时间执行的多个用例的前后所以不要试图描述按时间执行的多个用例的前后次序,也不要试图去描述用例的循环执行。次序,也不要试图去描述用例的循环执行。 一般来说,一张用例图中的多个用例之间没有高一般来说,一张用例图中的多个用例之间没有高低左右位置区分。按惯例,抽象用例应该高一点低左右位
17、置区分。按惯例,抽象用例应该高一点,具体用例低一点,这仅仅是为了清晰美观。,具体用例低一点,这仅仅是为了清晰美观。 一张用例图中可以仅描述用例及其关系,而没有一张用例图中可以仅描述用例及其关系,而没有必要同时要描述参与者及其关联。应避免在一张必要同时要描述参与者及其关联。应避免在一张图中描述太多的内容,否则会使用例图难以理解图中描述太多的内容,否则会使用例图难以理解。用例及其关系建模用例及其关系建模4 4) 当发现一个用例与多个参与者关联时,应考当发现一个用例与多个参与者关联时,应考虑这个用例是否对多个参与者都有相同的行虑这个用例是否对多个参与者都有相同的行为。为。 避免遗漏用例与参与者之间的
18、关联。遗漏关避免遗漏用例与参与者之间的关联。遗漏关联会导致参与者缺少功能支持,隐含着功能联会导致参与者缺少功能支持,隐含着功能缺陷或不当。缺陷或不当。 必要时添加约束和注释,注释中可用文字或必要时添加约束和注释,注释中可用文字或图形来详细说明用例的特点。图形来详细说明用例的特点。 场景建模场景建模1 1) 发起用例的参与者:直接与系统交互并触发发起用例的参与者:直接与系统交互并触发业务事件的相关人员。业务事件的相关人员。 用例的触发器:发起用例执行的事件。用例的触发器:发起用例执行的事件。 用例的前置条件:在用例执行之前,对系统用例的前置条件:在用例执行之前,对系统状态的约束条件,通常指需要先
19、执行哪些用状态的约束条件,通常指需要先执行哪些用例。例。 用例的基本事件流:参与者和系统为了满足用例的基本事件流:参与者和系统为了满足用例目标执行的常规动作序列,包括参与者用例目标执行的常规动作序列,包括参与者和系统的交互以及为响应交互系统执行的动和系统的交互以及为响应交互系统执行的动作。作。场景建模场景建模2 2) 替代或异常事件流:如果基本事件流出现异替代或异常事件流:如果基本事件流出现异常或变化时的用例行为。常或变化时的用例行为。 用例的后置条件:用例执行之后,系统状态用例的后置条件:用例执行之后,系统状态应满足的约束条件。应满足的约束条件。 从用例执行中获益的参与者:与发起用例的从用例
20、执行中获益的参与者:与发起用例的参与者可能相同也可能不同。参与者可能相同也可能不同。 用例何时或者如何结束。用例何时或者如何结束。小结小结1 1) 一个用例表示一个系统中的一部分功能和行一个用例表示一个系统中的一部分功能和行为。用例对整个系统、一个子系统或某个类为。用例对整个系统、一个子系统或某个类的行为建模。用例的每次执行都能产生对特的行为建模。用例的每次执行都能产生对特定参与者有价值的结果。定参与者有价值的结果。 参与者是系统的外部、直接与系统交互的实参与者是系统的外部、直接与系统交互的实体。一个参与者确定了一种角色。体。一个参与者确定了一种角色。 一种角色是参与特定语境中的某种实体的被一
21、种角色是参与特定语境中的某种实体的被命名的特定行为。命名的特定行为。 参与者之间可能存在泛化等关系。参与者之间可能存在泛化等关系。小结小结2 2) 用例图是表示一组用例、参与者及相互间关用例图是表示一组用例、参与者及相互间关系的图。系的图。 用例之间的关系主要有泛化、包含和扩展。用例之间的关系主要有泛化、包含和扩展。 泛化表示了一个具体的用例和一个一般化的泛化表示了一个具体的用例和一个一般化的用例之间的关系。用例之间的关系。 包含表示了一个用例的执行将含有另一个用包含表示了一个用例的执行将含有另一个用例的执行。例的执行。 扩展表示了一个用例的行为如何和何时被插扩展表示了一个用例的行为如何和何时
22、被插入到一个被扩展用例之中。入到一个被扩展用例之中。 用例模型可用于系统需求建模。用例模型可用于系统需求建模。用用例例描描述述模模板板v 用例编号用例编号v 用例名用例名v 用例描述用例描述v 参与者参与者v 前置条件前置条件v 后置条件后置条件v 主事件流基本路径)主事件流基本路径)v 1, .X X X X 1, .X X X Xv 2. .X X X X 2. .X X X Xv 其他事件流扩展点)其他事件流扩展点)v 2a. .X X X X 2a. .X X X Xv 2a1. .X X X X 2a1. .X X X Xv补充说明补充说明用例的作用和目的用例场景开始必须为真的条件用
23、例结束后必须为真的条件v 用例编号用例编号:001:001v 用例名用例名:ATM:ATM取款取款v 用例描述用例描述: :储户使用信用卡,在储户使用信用卡,在ATMATM机上取款机上取款v 参与者:储户参与者:储户v 前置条件:前置条件:ATMATM机器处于正常准备状态机器处于正常准备状态v 后置条件:若成功,则储户取出钱,帐户上扣除钱;若失后置条件:若成功,则储户取出钱,帐户上扣除钱;若失败,储户没有取到钱,帐户上钱数不变。败,储户没有取到钱,帐户上钱数不变。v 基本路径基本路径v 1, 1, 储户插卡;储户插卡;v 2. ATM2. ATM机提示输入用户口令;机提示输入用户口令;v 3.3.储户输入口令;储户输入口令;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026饮料行业安全生产风险防控体系构建
- 2026葡萄采摘机器人技术应用与成本效益研究
- 2026中国医院智能结算系统支付方式适配性研究报告
- 2026汽车自动驾驶技术供应商现状及产业链协作商业格局分析
- 2026中国锂矿资源供需格局与海外并购战略分析报告
- 2026中国电缆行业国际标准参与度与话语权研究
- 2026能源互联网电网智能化与节能研究
- 2026电化学储能电站火灾防控系统技术升级与保险定价模型研究
- 2026全球物联网产业发展现状及未来市场预测研究报告
- 2026中国碳纤维复合材料在航空航天领域市场需求与投资机会研究报告
- 【新教材】统编版(2024)九年级上册道德与法治第三课 党是领导一切的 教案(2课时)
- 2026年长沙环境保护职业技术学院单招综合素质考试题库附答案详解
- 2026 年高考(江苏卷)生物试题及答案
- 雨课堂学堂在线学堂云《机器学习实践(北京理工)》单元测试考核答案
- 卫生院工会财务管理制度
- 消化内镜检查的围手术期护理
- 律师事务所风险告知书范本
- 洗煤厂设备维修课件
- 远程费控培训
- 2024年肺结核试题培训及答案
- 《数字孪生技术与应用》课件
评论
0/150
提交评论