




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第5章 需求建模,刘志成 编著,本章学习导航,本章学习导航,本章学习要点,用例模型概述 用例图组成 识别和描述用例 用例间的关系 建议课时:10课时,任务1,了解用例模型的基本功能和基本组成 。,任务目标,分组教学法 资料查询法 案例教学法,教学方法,5.1 用例模型概述,用例模型的功能,用例模型是把应满足用户需求的基本功能(集)聚合起来表示的强大工具。 对于正在构造的新系统,用例描述该系统应该作什么;对于已构造完毕的系统,用例则反映了系统能够完成什么样的功能。 构建用例模型是通过系统开发者与系统的客户(或最终使用者)共同协商完成的,他们要反复讨论需求的规格说明,达成共识,明确系统的基本功能,
2、为后阶段的工作打下基础。,5.1 用例模型概述,用例模型的基本组成,用例模型的基本组成部件是用例、参与者和系统。 用例用于描述系统的功能,也就是从外部用户的角度观察系统应具备哪些功能,帮助分析人员理解系统的行为,它是对系统功能的宏观描述。一个完整的系统中通常包含若干个用例,每个用例具体说明应完成的功能,代表系统的所有基本功能(集)。 参与者是与系统进行交互的外部实体,它可以是系统用户,也可以是其它系统或硬件设备,总之,凡是需要与系统交互的任何东西都可以称作参与者。 系统的边界线以内的区域(即用例的活动区域)则抽象表示系统能够实现的所有基本功能。,5.1 用例模型概述,引入用例的目的,(1)确定
3、系统应具备哪些功能,这些功能是否满足系统的需求(开发者与用户协商达 成共识的东西)。 (2)为系统的功能提供清晰一致的描述,以便为后续的开发工作打下良好的交流基础,方便开发人员传递需求的功能。 (3)为系统验证工作打下基础。通过验证最终实现的系统能够执行的功能是否与最初需求的功能相一致,保证系统的实用性。,任务2,确定WebShop电子商城系统中的参与者、系统边界。,任务目标,分组教学法 SDSPR教学法 案例教学法,教学方法,5.2 用例图组成,购物用户注册帐号 购物用户登录系统 购物用户查看个人资料 购物用户查看历史订单 购物用户查看当前订单 购物用户关闭帐号 系统管理员删除用户,WebS
4、hop用例图,5.2.1 参与者,参与者(Actor)是与系统交互的人或事。所谓“与系统交互”指的是参与者向系统发送消息,从系统中接收消息,或是在系统中交换信息。UML中用一个小人形图形表示角色类,小人的下方书写角色名字。,参与者概述,(1)系统用户 (2)其他系统 (3)一些可以运行的进程,5.2.1 参与者,(1)使用系统主要功能的人是谁(即主要角色)? (2)需要借助于系统完成日常工作的人是谁? (3)谁来维护和管理系统(次要角色),保证系统正常工作? (4)系统控制的硬件设备有哪些? (5)系统需要与哪些其它系统交互?其它系统包括计算机系统,也包括该系统将要使用的计算机中的其它应用软件
5、。其它系统也分成二类,一类是启动该系统的系统,另一类是该系统要使用的系统。 (6)对系统产生的结果感兴趣的人或事是哪些?,确定参与者,5.2.1 参与者,确定WebShop电子商城中的参与者主要是用户,而用户又包括前台购物用户和后台管理员两大类;后台管理员又包括普通管理员和系统管理员两大类。,确定WebShop参与者,5.2.1 参与者,参与者对于系统而言总是外部的,它们可以处于人的控制之外; 参与者可以直接或间接地同系统交互,或使用系统提供的服务以完成某件事务; 参与者表示人或事物与系统发生交互时所扮演的角色,而不是特定的人或者特定的事物; 一个人或事物在与系统发生交互时,可以扮演多个角色;
6、 每一个参与者需要一个具有业务一样的名字,并且必须有简短的描述(从业务角度描述参与者是什么); 参与者可以具有属性和事件,但使用不能太频繁。,参与者说明,5.2.2 系统,系统是用例模型的一个组成部分,代表的是一部机器或一个商务活动等,而并不是真正实现的软件系统。系统的边界用来说明构建的用例模型的应用范围。 先识别出系统的基本功能(集),然后以此为基础定义一个稳定的、精确定义的系统架构,以后再不断地扩充系统功能,逐步完善。这样做的好处在于避免了一开始系统太大,需求分析不易明确,从而导致浪费大量的开发时间。 用例图中的系统用一个长方框表示,系统的名字写在方框上或方框里面,方框内部还可以包含该系统
7、中的用符号表示的用例。,用例模型中的系统,5.2.3 用例,用例是Jacobson在面象对象的软件工程中提出的,但它实际上是独立于面象对象的。 用例代表一个系统或系统的一部分行为,是对一组动作序列的描述,系统执行该动作序列来作为参与者产生一个可观察的结果值。 用例代表的是一个完整的功能。UML中的用例是动作步骤的集合。动作是系统的一次执行(能够给某个参与者输出结果值)。,什么是用例,5.2.3 用例,用例总是由参与者初始化 用例为参与者提供值 用例具有完全性,用例的特征,【提示】 用例表示的也是一个类(如搜索图书),而不是某个具体的实例(搜索名称为“Java程序设计”的图书)。 用例描述了它代
8、表的功能的各个方面,也就是包含了用例执行期间可能发生的种种情况。,课堂实践 1,(1)通过学习小组讨论和上网查询资料形式完成。 (2)使用手绘形式绘制出图书管理系统的参与者和系统边界。,操作提示,(1)小组讨论用例模型的主要功能有哪些。 (2)根据已往的软件开发经验,讨论使用用例模型来描述需求与使用纯文字的方式来描述需求有什么不同。 (3)结合实例说明用例模型由哪几部分组成。 (4)根据典型图书管理系统的需求,确定该系统中的参与者,并说明你确定参与者的根据。 (5)确定图书管理系统的系统边界。,操作要求,任务3,确定WebShop电子商城中的用例,绘制WebShop电子商城的用例图,并对用例进
9、行描述。,任务目标,分组教学法 案例教学法 SDSPR教学法,教学方法,5.3.1 识别用例,了解的问题,1针对参与者 (1)某个参与者要求系统为其提供什么功能;该参与者需要做哪些工作? (2)参与者需要阅读、创建、销毁、更新或存储系统中的某些信息吗? (3)系统中的事件一定要告知参与者吗?参与者需要告诉系统一些什么吗? (4)系统新功能的识别,参与者的日常工作被简化或效率提高了吗? 2针对系统 (1)系统需要什么样的输入和输出?输入来自哪里?输出到哪里去? (2)该系统的当前状况还存在哪些问题? (3)系统的改进的方向?,5.3.1 识别用例,询问以下问题以发现用例,参与者需要从系统中获得哪
10、种功能?参与者需要做什么? 参与者需要读取、产生、删除、修改或存储系统中的某种信息吗? 系统中发生的事件需要通知参与者吗?或者参与者需要通知系统某件事吗?这些事件(功能)能干些什么? 如果用系统的新功能处理参与者的日常工作是简单化了,还是提高了工作效率? 系统需要的输入/输出是什么信息?这些输入/输出信息从哪儿来,到哪儿去? 系统当前的这种实现方法要解决的问题是什么(也许是用自动系统代替手工操作)?,5.3.1 识别用例,购物用户相关用例,5.3.1 识别用例,普通管理员相关用例,5.3.1 识别用例,系统管理员相关用例,5.3.2 绘制WebShop用例图,1新建工程,依次选择【File】【
11、New】菜单,新建一个模型(缺省名称为untitled),5.3.2 绘制WebShop用例图,2新建用例图,在视图区域中右键单击用例视图(Use Case View)节点,依次选择【New】【Use Case Diagram】,新建一个用例图。,5.3.2 绘制WebShop用例图,3添加参与者和用例,(1)绘制参与者 在用例图绘图工具栏上选择图形符号,在绘图区域中单击,即可绘制参与者(默认名称为NewClass),5.3.2 绘制WebShop用例图,3添加参与者和用例,(2)绘制用例 在用例图绘图工具栏上选择图形符号,在绘图区域中完成单击,即可绘制相应的用例图形(如:NewUseCase
12、),5.3.2 绘制WebShop用例图,4删除参与者和用例,(1)在视图区域中删除对象,(2)在绘图区域删除对象,5.3.2 绘制WebShop用例图,5设置参与者属性,在图形绘制区域添加了相关的参与者之后,可以对指定的参与者的属性进行修改。,5.3.2 绘制WebShop用例图,6设置用例的属性,在图形绘制区域添加了相关的用例之后,可以对指定的用例的属性进行修改。,5.3.2 绘制WebShop用例图,7设置字体、调整位置和大小,参与者和用例都可以进行字体大小和字体类型的设置,如图所示。对于参与者来说,“Line Color”、“Fill Color”和“Use Fill Color”菜单
13、项不可用。,5.3.3 通过包对用例进行合理规划,包图概述,包是一种组合机制,把各种各样的模型元素通过内在的语义连在一起成为一个整体就叫做包。包通常用于对模型进行组织管理,因此有时又将包称为子系统。包拥有自己的模型元素,包的实例没有任何语义(含义),只有在模型执行期间,包才有意义。,5.3.4 WebShop用例图(不含关系),系统的参与者,5.3.4 WebShop用例图(不含关系),购物用户管理相关的用例图,5.3.4 WebShop用例图(不含关系),前台购物相关的用例图,5.3.4 WebShop用例图(不含关系),后台管理相关用例图,5.3.4 WebShop用例图(不含关系),后台
14、管理中管理购物用户相关用例图,5.3.5用例描述,用例描述,(1)用例的目标 用例的最终任务是什么?想得到什么样的结果?即每个用例的目标一定要明确。 (2)用例是怎样被启动的 哪个参与者在怎样的情况下启动执行用例。 (3)参与者和用例之间的消息流 参与者和用例之间的哪些消息是用来通知对方的?哪些是修改或检索信息的?哪些是帮助用例做决定的?系统和参与者之间的主消息流描述了什么问题?系统使用或修改了哪些实体? (4)用例的多种执行方案 在不同的条件或特殊情况下,用例能根据当时条件选择一种合适的执行方案。 (5)用例怎样才算完成并把值传给了参与者 描述中应明确指出在什么情况下用例才能被看作完成,当用
15、例被看作完成时要把结果值传给参与者。,5.3.5用例描述,用例描述模板,5.3.5用例描述,用例描述实例,课堂实践 2,(1)通过学习小组讨论和上网查询资料形式完成。 (2)使用Rose 2003进行图形的绘制。 (3)建议通过包图对图书管理系统中用例进行逻辑分类。,操作提示,(1)确定图书管理系统的用例。 (2)绘制图书管理系统的用例图。 (3)对图书管理系统的用例进行描述 。,操作要求,任务4,识别WebShop电子商城中用例间的关系,并绘制其关系图。,任务目标,分组教学法 案例教学法 SDSPR教学法,教学方法,5.4.1 泛化关系,用例泛化关系,用例泛化关系是指一种从子用例到父用例的关
16、系,它指定了子用例如何特化父用例的所有行为和特征。,5.4.1 泛化关系,参与者泛化关系,跟用例一样,参与者和参与者之间也存在着泛化关系 。,5.4.2 使用关系,使用关系,用例使用关系是指一个用例使用另一个用例的关系。一个用例使用另一个用例时,这两个用例之间就构成了使用关系。一般情况下,如果若干个用例的某些行为都是相同的,则可以把这些相同的行为提取出来单独作成一个用例,这个用例称为抽象用例。,5.4.3 包含关系,包含关系,包含关系是指使用一个用例来封装一组跨越多个用例的相似动作(行为片断),以便多个基用例复用的关系。基用例控制与包含用例的关系,以及被包含用例的事件流是否会插入到基用例的事件
17、流中。基用例可以依赖包含用例执行的结果,但是双方都不能访问对方的属性。,5.4.4 扩展关系,扩展关系,扩展关系是将基用例中一段相对独立并且可选的动作,用扩展用例加以封装,再让它从基用例中声明的扩展点上进行扩展,从而使基用例行为更简练和目标更集中。扩展用例为基用例添加新的行为,扩展用例可以访问基用例的属性,因此它能根据基用例中扩展点的当前状态来判断是否执行自己。,5.4.4 扩展关系,扩展关系,引入扩展用例的好处在于: 便于处理基本用例中不易描述的某些具体情况,便于扩展系统,提高系统性能,减少不必要的重复工作。,5.4.5 关系小结,泛化关系和包含关系,用例泛化关系和包含关系都可以用来复用该模
18、型用例间的行为。 二者的区别是: 在用例泛化关系中,执行子用例不受父用例的结构和行为(复用部分)的影响;在包含关系内,执行基本用例只依赖包含用例(复用部分)执行有关功能的结果。 在泛化关系中,子用例有相似的目的和结构;而在包含关系中,复用相同包含用例的基本用例在目的上可以完全不同,但是它们需要执行相同的功能。,5.4.5 关系小结,使用关系和扩展关系,使用关系强调的是用例间的相似性,根据相似性标识出共同行为(抽象用例)。 例如,自动售货系统中,“供货”和“提取销售款”这两个用例的开始动作都是去掉机器保险并打开它,最后的动作一定是关闭机器并加保险,于是可以从这两个用例中把开始的动作抽象成“打开机
19、器”用例,把最后的动作抽象成“关闭机器”用例,那么“供货”和“提取销售款”用例在执行时一定要使用上述的两个抽象用例,它们之间便构成了使用关系。 扩展关系强调的是单个用例的变化情况(扩展用例);,5.4.5 关系小结,包含关系和扩展关系,包含关系:当可以从两个或两个以上的原始用例中提取公共行为,或者发现能够使用一个构件来实现某一个用例的部分功能时,应该使用包含关系来表示它们。 扩展关系:如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能发生多种事情,可以断定,将这个用例分为一个主用例和一个或多个辅用例描述可能更加清晰。,关联关系,用例和参与者之间也有连接关系,用例和参与者之间的关系属于关联(association),又称作通信关联。这种关联表明哪种参与者能与该用例通信。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年江汉艺术职业学院单招职业倾向性测试题库及答案1套
- 第二单元 我和大自然 测试2023-2024学年一年级下册道德与法治同步教学设计(统编版)
- 山东省济宁市2023-2024学年高二上学期2月期末考试地理试题(解析版)
- 第三单元第10课 秦末农民大起义2023-2024学年七年级上册历史同步教学设计(部编版)
- 机器学习原理与应用课件 第13章 集成学习
- 2025年广西质量工程职业技术学院单招职业技能测试题库新版
- 13 我想和你们一起玩(教学设计)2023-2024学年统编版道德与法治 一年级下册
- 2025至2030年中国抱压式液压阀门测试机数据监测研究报告
- 商业计划书中的财务分析
- 商务合作保密协议范本(2篇)
- DZ∕T 0289-2015 区域生态地球化学评价规范(正式版)
- 2020年5月天津高考英语听力试题-(试题+MP3+答案)-
- DB32T 4400-2022《饮用水次氯酸钠消毒技术规程》
- 学校校园禁烟处罚管理方案
- 少儿美术教育知识讲座
- 外科学教学课件:颈、腰椎退行性疾病
- 2023-2024届高考语文复习小说训练(含答案)-孙犁《风云初记》
- 天耀中华合唱简谱大剧院版
- 中医培训课件:《拔罐技术》
- 取节育环之后的护理
- 2023年12月东莞市樟木头镇下属事业单位2024年公开招考4名特聘工程师笔试历年高频考题(难、易错点荟萃)答案带详解附后
评论
0/150
提交评论