统一建模语言UML三讲PPT课件.ppt

上传人:可****阿 文档编号:72368052 上传时间:2023-02-10 格式:PPT 页数:74 大小:1.72MB
返回 下载 相关 举报
统一建模语言UML三讲PPT课件.ppt_第1页
第1页 / 共74页
统一建模语言UML三讲PPT课件.ppt_第2页
第2页 / 共74页
点击查看更多>>
资源描述

《统一建模语言UML三讲PPT课件.ppt》由会员分享,可在线阅读,更多相关《统一建模语言UML三讲PPT课件.ppt(74页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、1第第6 6章章 介绍用例介绍用例主要内容:主要内容:1什么是用例2用例分析的基本概念2用例用例的交互的交互概念概念人类的社会是社会对象之间交互的社会。社会对象之间的交互产生新的有价值的结果(产品)。现代社会对象之间的交互主要是信息交现代社会对象之间的交互主要是信息交互。互。用例是描述人类社会对象之间交互行为用例是描述人类社会对象之间交互行为的一种方法。的一种方法。3用例概念用例概念用例是从系统的外部对系统进行黑盒视黑盒视图图描述的一种组织方法。用例是抽象使用系统的一种方式,用户通过用例与系统交互。用例是开发人员卖给客户的商品的描述。因此系统的买主和系统的构建者对用例(黑盒视图)是否达成共识事

2、关重大。用例是我们构建正确系统的基础。4用例的重要性用例的重要性定义功能性需求导出对象把功能分配给对象定义对象交互和对象接口设计用户界面执行集成测试定义测试用例确定开发增量编写用户文挡和手册5用例是捕获需求的一种方法用例是捕获需求的一种方法用例通常作为一种捕获需求和对已知功能需求用例通常作为一种捕获需求和对已知功能需求进行建模的方法而被使用。进行建模的方法而被使用。用例提供了一种大部分项目相关人员都能理解用例提供了一种大部分项目相关人员都能理解的形式来表述问题。的形式来表述问题。用例确实是需求,但用例不是所有的需求。用例只是行为需求用例只是行为需求,外部接口、数据格式、业务规则、计算公式等是用

3、例行为需求的聚集。6用例适合于项目管理用例适合于项目管理用例用来定义迭代的内容。与用户交流划定系统界限从用例中导出工作量估计。以用例为单位制定开发计划。以用例为单位进行项目状态的追踪和管理。以用例中的各种元素为单位进行度量。7用例分析中的一些概念用例分析中的一些概念用例参与者(角色)事件流用例实现8用例的定义用例的定义系统的参与者与系统交互后系统的参与者与系统交互后,由系统由系统所执行的动作序列所执行的动作序列,对特定的操作者对特定的操作者产生可以观察到的可度量的有价值产生可以观察到的可度量的有价值的结果值。的结果值。用例的定义对于我们捕获需求、用例描述、用例粒度分析有直接的帮助。9参与者参与

4、者(角色角色)是系统之外与系统能产生交互作用的某个某个人或某件事人或某件事。软件是由人来使用的,操作者使用用例来完成他的任务,许多任务的集合代表了操作操作者的职责者的职责。每个主用例至少和一每个主用例至少和一个参与者有关联,称个参与者有关联,称为为交流关联交流关联。交流关联交流关联10参与者参与者(角色角色)用例自己永远不会发起行动。系统是我们的研究对象;参与者与之交互,用例定义了这些交互作用交互作用。11动作动作是一个计算程序或算法程序,在参与者或系统得到一个事件时被调用。动作是原子的,或是执行全部动作或是根本不执行。动作中不能由操作者打断。一个动作的完成意味着将某种信号传递给调用动作的参与

5、者。12动作序列动作序列贯穿于系统的事件流事件流。有各种各样的事件流,为使用例模型易于理解,将同一类事件流合并为一个用例。动作序列可以用状态图或活动图说明,它是用例的一条路径,并可能存在多条类似的路径(候选动作序列)。13系统执行系统执行系统是我们的研究对象;参与者与之交互,用例定义了这些交互作用交互作用。我们关心系统要做些什么才能完成动作序列,用例帮助我们限定系统的边界(范围)。14可度量的有价值的可见结果可度量的有价值的可见结果动作序列一定要产生对系统的参与者可度量的可度量的有价值的结果。可见结果表达了交互的作用。价值表达了交互的必要性。重视价值可确保用例的适度性。度量体现了度量体现了交互

6、价值的用户评价。可确保用户理解用例的粒度水平。15特定的操作者特定的操作者重视特定的操作者可帮助我们分隔提供给系统某一组特定用户的价值,确保系统满足它们的需要。任何软件产品都面向软件产品的操作者和一些特定的操作者以及这些操作者的不同的使用环境,重视不同的操作者不同的操作者以及它们不同的使用环境不同的使用环境可确保软件产品的价值。ATMATM机机ATMATM机机环境:环境:学校学校操作者操作者:学生学生环境:杭州大厦环境:杭州大厦操作者操作者:购物者购物者16ATMATM机用例图机用例图银行客户可以通过使用自动取款机提款、查询帐户余额、修改帐户密码。这些功能可以通过一组用例表示出来。用例名称通常

7、可以表达提供给参予者的价值。17用例的概念用例的概念用例可以用来捕获系统的需求,尤其是交互系统的需求。每一个用例代表了一个特定的事件流。一组用例就可以定义系统的功能。一个用例是一种规格说明,它规定了动态事物的一种对交互双方有价值的行为。18事件流事件流事件流描述了参与者与系统之间的动作序列,它用自然语言写成,或者用含有精确术语的前后一致的散文写成。这些术语通常来自于问题域中的术语表。用例事件流最终要描述所有可能的过程。19事件流事件流用例的事件流从系统的黑盒视角黑盒视角描述了系统的行为,而在设计中的用例实现则是白盒视角白盒视角。三种事件流可以将一个用例中的各种状况包括在内主事件流 (基本路径)

8、备选事件流(可选路径)异常事件流(缺陷路径)20用例描述模板属性用例描述模板属性用例编号用例编号创建人创建人创建日期创建日期版本号版本号主要参与者主要参与者次要参与者次要参与者简要描述 触发事件触发事件 前置条件前置条件事件流事件流 后置条件后置条件 可选事件流可选事件流例外例外非功能性需求假设备注补充规格说明书修改历史21ATMATM机示例机示例客户使用工商银行的ATM机取款或查询余额。22取款用例描述取款用例描述(1)(1)用例编号用例编号:001创建人创建人:李四创建日期创建日期:2005.10.08版本号版本号:01主要参与者主要参与者:持有工商银行灵通卡或牡丹卡的客户次要参与者次要参

9、与者:无简要描述:无触发事件触发事件:当灵通卡或牡丹卡扦入ATM机时前置条件前置条件:ATM机处于待机状态23取款用例描述取款用例描述(2)(2)事件流事件流:S1:当客户将灵通卡或牡丹卡扦入ATM机时,系统验证 灵通卡或牡丹卡的ID号,如果ID号正确,系统将提 示客户。S2:客户输入六位密码并以确认键完成密码输入。系统验证密码,如果密码正确执行S3。S3:系统提示操作功能菜单供用户选择其中一种操作 (或或)S3.1:客户选择功能键时,转向执行S6。24取款用例描述取款用例描述(3)(3)S4:客户选择操作后,系统提示客 户输入(条件:50元的整倍数)S5:系统提示的同时,系统检查客户帐户 余

10、额,如果余额足够则将客户正确要求的数 额钱币从ATM机的出币口送出后,转向执行 S3。如果余额不足转向执行S6。S6:ATM机将灵通卡或牡丹卡从ATM机退卡口退 卡并将ATM机转入待机状态。25取款用例描述取款用例描述(4)(4)后置条件后置条件:灵通卡或牡丹卡从ATM机退币口退出或ATM机吞卡。可选事件流可选事件流:S1.1:系统验证灵通卡或牡丹卡的ID号,ID号不正确,系 统提示后,转向S6。S2.1:客户输入四位或六位密码并以结束键完成密码输 入。系统验证密码,密码不正确,系统将再次提示 客户。S2.2:客户再二次输入密码,如果密码正确执行S3。S2.3:客户再三次输入密码不正确,系统进

11、行吞卡操作后 将ATM机转入待机状态。26取款用例描述取款用例描述(4)(4)S5.1:客户帐户余额不足时,系统提示后转向S6。例外例外:无无非功能性需求非功能性需求:客户与系统交互的平均等待时间不得大于15秒。假设假设:无备注备注:无补充规格说明书补充规格说明书:无修改历史修改历史:无27用例用例用例实例用例实例一个用例定义一个用例定义一组一组用例实例用例实例用例用例用例用例用例用例一组用例就可以一组用例就可以定义系统的功能定义系统的功能用例实例是系统用例实例是系统执行的一系列动作执行的一系列动作用例实例用例实例一个用例代表了一个用例代表了一个特定的事件流一个特定的事件流一个实例可能会一个实

12、例可能会有许多事件流有许多事件流事件流事件流事件流系统功能系统功能用例实现用例实现活动图活动图序列图序列图协作图协作图类图类图对象图对象图状态图状态图UMLUML用例驱动用例驱动28第第7 7章章 用例图用例图主要内容:主要内容:1如何表示一个用例模型2如何可视化用例之间的关系3如何创建和应用用例模型29用例图用例图用例图可用来迅速地了解系统概貌。展示各类外部行为者行为者(操作者操作者)与系统所提供的用例用例之间的连接。连接。一个用例是系统所提供的一个功能的描功能的描述。述。操作者操作者是指那些可能使用这些用例的人或外部系统,操作者操作者与用例的连接表示该行为者使用了哪个用例。30用例图用例图

13、用例图给出了用户所感受到的系统行为,但不描述系统如何实现该功能。用例通常用普通正文描述,称为用例描述。用例描述。31用例用例(用例名用例名)角色角色(角色名角色名)系统系统(系统名称描述)参与参与(关系关系)使用使用(关系关系)扩展扩展(关系关系)注释注释注释连接注释连接用例术语和概念用例术语和概念32用例名称用例名称每个用例都必须有一个区别于其他用例的名称。在用例名前加上它所属于的包的名称的用例名叫做路径名。用例的名称是简短的主动语态的动词短语,用用例的名称是简短的主动语态的动词短语,用来命名被建模的系统的某些行为来命名被建模的系统的某些行为。33角色角色(参与者参与者)一个参与者表示的是用

14、例的使用者在与这些用例进行交互时所扮演的角色的一个紧密的集合。参与者可以是人、硬件设备或自动的系统参与者可以是人、硬件设备或自动的系统。角色具有唯一的角色名称。34用例图用例图用例图显示主角、用例、用例包以及它们之间的关系的一种表达方式。一种用于显示不同的用户角色和这些用户角色如何使用系统的图。可以将您认为模型中值得注意的关系显示在图中。35包含包含(使用使用)关系的概念关系的概念 包含关系用于提取共用的用例提取共用的用例(通用的功能段)。包含关系是从基本用例基本用例到包含用例包含用例(抽象用例抽象用例)的关系,它指定如何将为包含用例定义的行为明确地插入到为基本用例定义的(指定位置指定位置)行

15、为中。36包含包含(使用使用)关系的概念关系的概念基本用例基本用例A基本用例基本用例B基本用例基本用例A基本用例基本用例B包含用例包含用例THANK YOUSUCCESS2023/2/937可编辑38包含包含(使用使用)关系的概念关系的概念在具备包含关系的两个用例中,包含用例包含用例(抽抽象用例象用例)不能单独存在不能单独存在(从不孤立存在从不孤立存在,即不能即不能单独实例化单独实例化)。包含用例总是抽象的。它描述在执行基本用例的用例实例中插入的行为段。基本用例可控制与包含用例的关系,并可依赖于执行包含用例所得的结果,但基本用例和包含用例都不能访问对方的属性。从这种意义上讲,包含用例是被封装的

16、,包含用例是被封装的,它代表可在各种不同基本用例中复用的行为。39包含包含(使用使用)关系的概念关系的概念由于包含用例是抽象的,因此它不需要有与它相关的主角。只有当包含用例中的行为明确地涉及到与主角的交互时,才需要与主角的通信关联关系。40包含用例作为基本用例自身行为的一部分包含用例作为基本用例自身行为的一部分41执行包含执行包含 包含用例的行为插入到基本用例中的一个位置。当遵循基本用例说明的用例实例到达基本用例中定义了包含关系的位置,它就将改而遵循包含用例的说明。一旦执一旦执行完包含用例,用例实行完包含用例,用例实例就将在基本用例中它例就将在基本用例中它先前停止的地方重新开先前停止的地方重新

17、开始。始。42用例的包含关系用例的包含关系一个基本用例可以有多个包含用例。一个包含用例可以包含在若干基本用例中。这并不表示这些基本用例之间存在任何关系。甚至同一个包含用例和同一个基本用例之间可以有多个包含关系,前提是包含用例必须在基本用例中的不同位置插入。而包含关系就定义了插入的位置。添加的所有用例都可以是嵌套的,这意味着一个包含用例可以用作另一个包含用例的基本用例。43用例的包含关系的要点用例的包含关系的要点1.包含用例本身是不完整的,它必须拥有基本用例以保证完整性。2.包含用例本身并不知道自己何时或是否被包含。因此,它不能依赖任何包含它的用例。3.被包含的用例一定可以被另外的用例包含(即共

18、用性和独立性)4.从工程角度上,包含关系用于系统分析时共性功能的合并、抽取。5.5.包含关系通常在用例建模后期而不是前期被发现。包含关系通常在用例建模后期而不是前期被发现。6.6.很难在包含关系上对系统进行维护修改。很难在包含关系上对系统进行维护修改。44用例扩展关系的概念用例扩展关系的概念在不改变原始用例的情况下有条件地扩展已有有条件地扩展已有用例的行为用例的行为。扩展关系是从扩展用例扩展用例到基本用例基本用例的关系,它说明为扩展用例定义的行为如何插入到为基本用例定义的行为中。45用例扩展关系的概念用例扩展关系的概念基本用例基本用例 扩展点扩展点具有条件具有条件扩展用例扩展用例执行执行返回返

19、回46用例扩展关系的概念用例扩展关系的概念每次提取现金操作后,使用另外一个用例计数并统计。扩展关系的优点扩展关系的优点:原用例描述因为没有随扩展而修改,从而保持了原用例便于理解的特点。扩展行为和其它行为描述界限清晰。47用例扩展关系的概念用例扩展关系的概念基本用例基本用例可以单独存在,但是在一定的条件下,它的行为可以被另一个用例的行为扩展。当一个用例有多个子流程时当一个用例有多个子流程时(可选系统行为),可以用扩展关系对其进行扩展,使得基本用例的不同子流程能在不同的情形下以扩展用例的形式被激活。通过这种方式,可以把可选行为从必须行为中分离出来。48用例的扩展关系用例的扩展关系使用扩展关系还可以

20、描述一个只有在给给定条件定条件下执行的独立的子流。基本用例可以独立于扩展用例单独存在。首先要决定你的用例需要扩展什么扩展什么和要在用例的什么地方什么地方进行扩展。我们不想改变原始用例,因为我们希望可以在别的应用程序中重用它。49扩展用例作为基本用例的增量扩展扩展用例作为基本用例的增量扩展50扩展用例作为基本用例的增量扩展扩展用例作为基本用例的增量扩展51执行扩展执行扩展 扩展用例可以有基本事件流和备选事件流。用例实例通过扩展到底会采取哪条路径,这不仅取决于在执行之执行扩展前发生的事件,而且还取决于执行扩展时在与主角的交互中发生的事件执行扩展。用例执行扩展实例一旦执行用例执行扩展实例一旦执行了扩

21、展,它就会在基本用例了扩展,它就会在基本用例的中断点处继续执行基本用的中断点处继续执行基本用例。例。52包含关系与扩展关系的区别包含关系与扩展关系的区别包含关系包含关系1.当在两个或多个独立用例重复自已并希望避免重复时2.在基本用例上插入附加行为并具有明确的描述3.包含用例作为基本用例自身行为的一部分4.包含关系是无条件的 扩展关系扩展关系1.当表述关于正常行为的一个变化情况时2.在基本用例上插入基本用例不能说明的扩展部分3.扩展用例作为基本用例的增量扩展4.扩展用例是按条件要求执行的53包含关系与扩展关系的区别包含关系与扩展关系的区别包含关系包含关系1.包含用例是共用的用例2.一个基本用例可

22、以有多个包含用例。3.一个包含用例可以包含在若干基本用例中。4.很难在包含关系上对系统进行维护修改。扩展关系扩展关系1.扩展用例不是共用的用例2.把可选行为从必须行为中分离出来3.有条件地扩展已有用例的行为。4.基本用例可以独立于扩展用例单独存在。5.适合于功能需求的增加(基本用例的增量扩展)54继承关系继承关系在用例图中,继承可以在执行者或者用例之间使用。执行者之间的继承意味着一个执行者可以完成另一个执行者的同样的任务,它也可能补充额外的角色,它以同样的方式与相同的用例进行交互。55继承关系继承关系用例之间的继承(泛化)意味一个用例与另一个用例相似,但做的内容更多。56继承关系继承关系用例之

23、间的继承(泛化)意味一个用例与另一个用例相似,但做的内容更多。57简单电话系统示例简单电话系统示例(泛化关系泛化关系)一个简单电话系统的两个用例 58简单电话系统示例简单电话系统示例(泛化关系泛化关系)拨打本地电话拨打本地电话呼叫方拿起听筒。呼叫方拿起听筒。系统发出拨号音。系统发出拨号音。呼叫方拨打一位数字。呼叫方拨打一位数字。系统结束拨号音。系统结束拨号音。呼叫方输入电话号码的其余呼叫方输入电话号码的其余数字。数字。系统分析该号码。系统分析该号码。系统找到相应的当事人。系统找到相应的当事人。系统连接相应的当事人系统连接相应的当事人。当事人之间断开连接。当事人之间断开连接。拨打长途电话拨打长途

24、电话呼叫方拿起听筒。呼叫方拿起听筒。系统发出拨号音。系统发出拨号音。呼叫方拨打一位数字。呼叫方拨打一位数字。系统结束拨号音。系统结束拨号音。呼叫方输入电话号码的其余呼叫方输入电话号码的其余数字。数字。系统分析该号码。系统分析该号码。系统将号码发送到其他系统。系统将号码发送到其他系统。系统连接该线路。系统连接该线路。当事人之间断开连接。当事人之间断开连接。59简单电话系统示例简单电话系统示例(泛化关系泛化关系)在这两个用例中,使用黑色的文本部分是非常相似的。当这两个用例是如此相似时,我们应该考虑将它们合二为一。其中,其他分支流显示了拨打本地电话和拨打长途电话之间的差别。60简单电话系统示例简单电

25、话系统示例(泛化关系泛化关系)提取它们之间的公有行为,组成一个新的、更一般的用例即“拨打电话”用例。61执行用例泛化关系执行用例泛化关系 执行子用例的用例实例将遵循父用例的事件流,同时插入附加行为或修改在子用例事件流中定义的行为。用例实例遵循父用例,用例实例遵循父用例,而行为按子用例中的而行为按子用例中的说明插入或进行修改。说明插入或进行修改。62用例关系的总结用例关系的总结在用例模型中引入的关系越多,这种功能分解所带来的风险就越大,同时抽象用例也就越多,这会危害用例模型的可读性、可维护性以及总体的可用性。63构建用例模型构建用例模型构建用例模型有三个主要的原因:使用例更易于理解。将在许多用例

26、内说明的公有行为分离出来。使用例模型更易于维护。64实例一实例一 学生课程注册系统学生课程注册系统考虑注册系统中的学生考虑注册系统中的学生:选课选课付费付费选课系统中的注册人员选课系统中的注册人员:添加课程添加课程删除课程删除课程修改课程修改课程65用例图Select CourseSelect CoursePay FeePay FeeStudentStudentCourse Registration SystemCourse Registration System66用例图Course Registration SystemCourse Registration SystemAdd Cours

27、eAdd CourseModify CourseModify CourseDelete CourseDelete CourseRegistrarRegistrar67用例图Course Registration SystemCourse Registration SystemSelect CourseSelect CourseDelete CourseDelete CourseModify CourseModify CourseAdd CourseAdd CoursePay FeePay FeeRegistrarRegistrarStudentStudent68实例二实例二大学生成绩记录系统大学生成绩记录系统69大学生成绩记录系统的业务流程 70大学生成绩记录系统的功能 教务处:发布课程清单学生:选课教师:成绩登录教务处:成绩发布71大学生成绩记录系统的对象教务处课程清单学生选课教师成绩72大学生成绩记录系统的实体类课程清单选课信息成绩73类之间的静态和动态关系 1 *THANK YOUSUCCESS2023/2/974可编辑

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 初中资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁