UML系统建模与分析设计.ppt
《UML系统建模与分析设计.ppt》由会员分享,可在线阅读,更多相关《UML系统建模与分析设计.ppt(94页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、需求分析与用例建模需求分析与用例建模2022/10/291n用例用于表示系统所提供的服务,它定义了系统是如何被参与者所使用的,它描述的是参与者为了使用系统所提供的某一完整功能而与系统之间发生的一段对话。n用例驱动是统一过程的重要概念,或者说整个软件生产过程就是用例驱动的。分析、设计、实现、测试都是用例驱动的,都是以实现用例为目标。n在这些开发过程中,开发人员首先捕获客户的需求,并以用例的形式组织成用例模型。然后分析并设计系统来满足这些用例,因此在用例模型之后就是分析模型,接着是设计模型和实施模型。在实现了整个系统之后,还将根据用例模型设计出测试模型来对系统进行验证。n这些模型之间并不是线性转变
2、的,它们是一个迭代、增量的开发过程。也就是在整个项目开发周期中,将会多次经过这五个模型的迭代,每次都将越来越精化。1 客户需求分析与用例建模2022/10/292 1.1 1.1 建造需求模型建造需求模型用例建模用例建模 用用例例建建模模技技术术,用用于于描描述述系系统统的的功功能能需需求求。在在宏宏观观上上给给出出模模型型的的总总体体轮轮廓廓。通通过过对对典典型用例的分析,使开发者能够有效地了解用户的需求。型用例的分析,使开发者能够有效地了解用户的需求。对于正在构造的新系统用例描述系统应该作什么?对于已构造完毕的系统用例则反映了系统能够完成什么样的功能?用例建模的主要目标是用例建模的主要目标
3、是:将将需求规约需求规约变为可视化模型,并得到用户确认;变为可视化模型,并得到用户确认;给出清晰、一致的关于系统给出清晰、一致的关于系统做什么的做什么的描述,确定系统的功能要描述,确定系统的功能要求;求;提供从功能需求到系统分析、设计、实现各阶段的提供从功能需求到系统分析、设计、实现各阶段的度量标准;度量标准;为最终为最终系统测试提供基准系统测试提供基准,据此验证系统是否达到功能要求;,据此验证系统是否达到功能要求;为项目目标进度管理和风险管理为项目目标进度管理和风险管理提供依据。提供依据。2022/10/293用例图中包含系统、角色和用例等三种模型元素,以及它们之间的关系。贸易经理贸易经理贸
4、易经理贸易经理风险分析风险分析风险分析风险分析进行交易进行交易进行交易进行交易交易估价交易估价交易估价交易估价更新帐目更新帐目更新帐目更新帐目使用使用使用使用使用使用使用使用扩展扩展扩展扩展营销人员营销人员营销人员营销人员超越边界超越边界超越边界超越边界评价评价评价评价销售人员销售人员销售人员销售人员记账系统记账系统记账系统记账系统设置边界2022/10/294n用例模型描述的是外部执行者(Actor)所理解的系统功能。它描述了待开发系统的功能需求。n 它驱动了需求分析之后各阶段的开发工作,不仅在开发过程中保证了系统所有功能的实现,而且被用于验证和检测所开发的系统,从而影响到开发工作的各个阶段
5、和 UML 的各个模型。n 用例模型由由若干个用例图构成,用例图中主要描用例图构成,用例图中主要描述执行者和用例之间的关系。述执行者和用例之间的关系。在UML中,构成用例图的主要元素是用例和执行者及其它们之间的联系。2022/10/295确定系统的范围和边界;确定系统的范围和边界;确定系统的执行者和用例;确定系统的执行者和用例;对用例进行描述;对用例进行描述;定义用例之间的关系;定义用例之间的关系;审核用例模型。审核用例模型。用例建模的步骤:2022/10/2961.2 用例图 图中的元素包括:参与者、图中的元素包括:参与者、用例、一个方框和一些表示用例、一个方框和一些表示关系的连接线关系的连
6、接线。所有的用例都位于方框之内,所有的用例都位于方框之内,该方框称为该方框称为“系统边界系统边界”参与者与用例的关系:在参参与者与用例的关系:在参与者和用例之间的关联是用与者和用例之间的关联是用一根带箭头的线来表示的一根带箭头的线来表示的 用例之间的关系:用例之间的关系:1)包含关系)包含关系2)扩展关系)扩展关系3)泛化关系)泛化关系角色与用例的关联表示角色角色与用例的关联表示角色与用例相关性。在与用例相关性。在UML中是中是使用一条使用一条实线实线连接角色与用连接角色与用例例2022/10/2971.3 1.3 定义系统的边界和范围定义系统的边界和范围 系统:系统:特指基于计算机的用于解决
7、某个特定问题域的软硬件系特指基于计算机的用于解决某个特定问题域的软硬件系统。它代表的是一个活动范围。统。它代表的是一个活动范围。定义系统:定义系统:要定义系统的范围和边界要定义系统的范围和边界1 1定义系统的范围定义系统的范围 :系统问题域的目标、任务、规模即系统系统问题域的目标、任务、规模即系统提供的功能和任务。提供的功能和任务。2 2定义系统的边界定义系统的边界:一个系统的所有元素与系统以外的事物的一个系统的所有元素与系统以外的事物的分界线。分界线。2022/10/2981.4 确定执行者(参与者,角色)n执行者(actor)是指在系统外部与系统交互的人或其他系统,它以某种方式参与了系统内
8、用例的执行。角色在UML中通常以一个稻草人图符来表示。n执行者类型:参与者不仅可以由人承担,还可以是其它系统、硬件设备、甚至是时钟:1)其它系统:当系统需要与其它系统交互时,如ATM柜员机系统中,银行后台系统就是一个参与者;2)硬件设备:如果系统需要与硬件设备交互时,如在开发IC卡门禁系统时,IC卡读写器就是一个参与者;3)时钟:当系统需要定时触发时,时钟就是参与者n角色与系统交互:角色向系统发送消息、从系统接受消息、或是与系统交换信息。n角色与用例:角色往往是发现新用例的基础,同时也是分析员和用户交流的起点。一个执行者可用启动多个用例,而一个用例也可以被多个执行者启动。2022/10/299
9、1.寻找和确定执行者通过向用户提问来识别角色:n谁使用系统提供的主要功能?(主要角色)n谁来维护、管理系统?(次要角色)n谁需要借助于系统完成日常工作任务?n系统需要控制的硬件设备有哪些?n系统需要与其他哪些系统交互?n系统从哪儿得到信息?n对系统产生的结果感兴趣的人或事是哪些?!不能把目光只专著于人身上。不能把目光只专著于人身上。2022/10/2910ATM系统的系统的Actor1、谁使用ATM系统的主要功能(提款)?答:答:储户2、谁使用使用ATM系系统的支持以完成日常工作任的支持以完成日常工作任务?答:出答:出纳员?还不肯定,先放在不肯定,先放在这里里3、谁来来维护、管理并保持系、管理
10、并保持系统正常运行?正常运行?答:答:ATM系系统工程工程师,银行人行人员2022/10/29115、ATM系系统需要需要处理哪些理哪些设备?答:信用卡答:信用卡6、谁对ATM系系统运行的运行的结果感果感兴趣?趣?答:答:银行会行会计、储户4、该系系统需要和哪些系需要和哪些系统交互?交互?答:目前答:目前还不清楚不清楚2022/10/29122022/10/29132.定义执行者时应该注意的问题n1)执行者之间可以有继承关系)执行者之间可以有继承关系2022/10/2914n(2)执行者代表一种角色而不是具体某个人)执行者代表一种角色而不是具体某个人n(3)对同一个人担任角色的限制)对同一个人
11、担任角色的限制n(4)执行者可分成主执行者和副执行者)执行者可分成主执行者和副执行者n(5)执行者还可细分为主动执行者和被动执行者)执行者还可细分为主动执行者和被动执行者n主动角色:Use Case的动作序列是由他先发起的,通常系统返回最后结果主叫方,采购人员,票据录入员等n被动角色:系统通过调用角色来完成Use Case的动作序列(或其中的某一个动作)不是初始动作的发起者当系统需要它们帮助的时候最终是为了满足主动角色的需要通常是机器或其他系统2022/10/29151.5 确定用例确定用例n用例,就是一件事情,要完成这件事情,需要做一系列的活动;而做一件事情可以有很多不同的方法和步骤,也可能
12、会遇到各种各样的意外情况,因此这件事情是由很多不同情况的集合构成的,在UML中我们称之为场景。一个场景就是一个用例的实例。n从本质上讲,一个用例是用户与计算机之间的一次典型交互作用。在UML中,用例被定义成系统执行的一系列动作(功能)。2022/10/29161.用例的特征响应性。响应性。一个用例不自动执行,总是有一个用例不自动执行,总是有执行者启执行者启动。动。n这件事必须由一个执行者发起,执行者的愿望是用例存在的原因。不存在没有执行者的用例,也不应该主动启动另一个用例。2022/10/2917n回执性。用例执行完毕,向执行者提供用例执行完毕,向执行者提供可识别可识别的的返回值。用例的执行结
13、果对参与者来说是可观测返回值。用例的执行结果对参与者来说是可观测的和有意义的。的和有意义的。如,系统会监控参与者在系统里的操作,并在参与者删除数据之如,系统会监控参与者在系统里的操作,并在参与者删除数据之前备份。虽然它是系统的一个必需组成部分,但它在需求阶段却不应前备份。虽然它是系统的一个必需组成部分,但它在需求阶段却不应该作为用例出现。因为这是一个后台进程,对参与者来说是不可观测该作为用例出现。因为这是一个后台进程,对参与者来说是不可观测的,它应该在系统用例分析阶段定义。的,它应该在系统用例分析阶段定义。又比如,登录系统是一个有效的用例,但输入密码却不是。这是又比如,登录系统是一个有效的用例
14、,但输入密码却不是。这是因为登录系统对参与者是有意义的,这样他可以获得身份认证和授权,因为登录系统对参与者是有意义的,这样他可以获得身份认证和授权,但输入密码却是没有意义的,输入完了呢?有什么结果吗?但输入密码却是没有意义的,输入完了呢?有什么结果吗?2022/10/2918完整性。完整性。用例表示一个完整的功能,必须是一完用例表示一个完整的功能,必须是一完整的描述。整的描述。必须以向执行者提供返回值作为该必须以向执行者提供返回值作为该用用例完整性例完整性的标志。的标志。2022/10/2919n用例的特征-动宾短语n用例必然是以动宾短语形式出现的。即,这件事必须有一个动作和动作的受体。n例如
15、,喝水是一个有效的用例,而“喝”和“水”却不是。虽然生活常识告诉我们,在没有水的情况下人是不会做出喝这个动作的,水也必然是喝进去的,而不是滑进去的.n但是我们所见的很多用例中类似“计算”,“统计”,“报表”,“输出”,“录入”之类的并不在少数。2022/10/29202寻找和确定用例n业务用例:开始阶段,在确定用户需求过程中,开始阶段,在确定用户需求过程中,系统分析员通过与客户交流建立业务模型来发现系统分析员通过与客户交流建立业务模型来发现和确定的用例。和确定的用例。n系统用例:系统构造阶段,系统分析和设计人员系统构造阶段,系统分析和设计人员在进行系统分析和设计时,根据系统的需求建立在进行系统
16、分析和设计时,根据系统的需求建立的用例。的用例。n在系统开发的开端阶段,应把注意力集中在业务在系统开发的开端阶段,应把注意力集中在业务用例上,在精化阶段和构建阶段再考虑系统用例。用例上,在精化阶段和构建阶段再考虑系统用例。2022/10/2921建立用例模型时,可询问?n用户用户(执行者执行者)需要系统提供哪些业务功能需要系统提供哪些业务功能,即系统能做什么即系统能做什么?n用户最关心系统中哪些事件用户最关心系统中哪些事件?从功能观点看从功能观点看,这些事件表示这些事件表示什么什么?n用户要了解系统在工作中发生了哪些事件及其结果用户要了解系统在工作中发生了哪些事件及其结果?n用户自己需要做什么
17、用户自己需要做什么?n用户是否要在系统中创建、删除、读、修改或存储某类业用户是否要在系统中创建、删除、读、修改或存储某类业务数据?务数据?n系统为了维持正常运转需要增加的功能和信息的交互;系统为了维持正常运转需要增加的功能和信息的交互;n这些信息从何而来,到哪里去?这些信息从何而来,到哪里去?n实现当前系统(可能是人工系统而不是自动化系统)的关实现当前系统(可能是人工系统而不是自动化系统)的关键问题是什么?键问题是什么?2022/10/2922n通过与用户反复交流,确定通过与用户反复交流,确定主要业务用例主要业务用例和和次要次要业务用例。业务用例。n对于建立的每一个业务用例,都需要一组系统用对
18、于建立的每一个业务用例,都需要一组系统用例来辅助和支持。(不严谨)例来辅助和支持。(不严谨)n系统用例系统用例是执行者与系统的交互,它描述了系统是执行者与系统的交互,它描述了系统的功能需求和动态行为。的功能需求和动态行为。n系统用例用于建立系统用例模型,可通过分析系系统用例用于建立系统用例模型,可通过分析系统的统的业务流和控制流业务流和控制流来寻找和确定系统用例。来寻找和确定系统用例。(活动图活动图)2022/10/2923如何获得用例访谈n您对系统有什么期望?n您打算在这个系统里面做些什么事情?n您做这件事的目的是什么?n您做完这件事情希望有一个什么样的结果?一个明确的有效地目标才是一个用例
19、的来源。一个真实的目标应当完备地表达执行者的期望。一个有效地目标应当在系统边界内,由主角发动,并具有明确的后果。n应当先建立业务应当先建立业务用例用例模型,然后再从业务模型,然后再从业务用例用例模型向系统模型向系统用例用例模型映射。模型映射。n注意注意用例用例图的层次图的层次,从系统到子系统逐层建立,从系统到子系统逐层建立用例用例图图。2022/10/2924目标和步骤的误区2022/10/2925怎样确定用例的粒度?n用例的粒度(用例的大小)可大可小,一用例的粒度(用例的大小)可大可小,一般一个系统宜控制在般一个系统宜控制在20个用例左右。个用例左右。n用例是系统级的、抽象的描述,不是细化用
20、例是系统级的、抽象的描述,不是细化的(是做什么,非怎样做)的(是做什么,非怎样做)n对复杂的系统可以划分为若干子系统处理。对复杂的系统可以划分为若干子系统处理。n用例粒度的划分用例粒度的划分最标准的方法最标准的方法应该是:应该是:以该用以该用例是否完成了参与者的某个完整目的为依据的例是否完成了参与者的某个完整目的为依据的。2022/10/2926nATM取钱的场景中,取钱,读卡,验证账号,取钱的场景中,取钱,读卡,验证账号,打印回执单等都是可能的用例?打印回执单等都是可能的用例?n客客户代表代表说:我希望:我希望这台台ATM能支持跨行能支持跨行业务,我插入卡片我插入卡片输入密入密码后,可以后,
21、可以让我我选择是取是取钱还是存是存钱;为了方便,可以了方便,可以设置一些默置一些默认的存的存取金取金额按按钮;我可以修改密;我可以修改密码,也可以挂失;,也可以挂失;还有我希望可以交有我希望可以交纳水水费、电费和和电话等等费用;用;为了安全起了安全起见,ATM上上应当有警示小心当有警示小心骗子的子的提示条,提示条,还有有摄像像头;如果;如果输入三次密入三次密码错误,卡片卡片应当被自当被自动吞没。吞没。2022/10/2927判断题n支持跨行业务支持跨行业务n插入卡片插入卡片n输入密码输入密码n选择服务选择服务n取钱取钱n存钱存钱n挂失卡片挂失卡片n交纳费用交纳费用n警示骗子警示骗子n三次错误吞
22、没卡片三次错误吞没卡片2022/10/2928n支持跨行业务错,这是一个业务规则,限定业务的范围n插入卡片 错,这是一个过程步骤,不是完整目标n输入密码 错,这是一个过程步骤,不是完整目标n选择服务 错,这是一个过程步骤,不是完整目标n取钱对,这是一个完整有效的目标n存钱对,这是一个完整有效的目标n挂失卡片 对,这是一个完整有效的目标n交纳费用 对,这是一个完整有效的目标n警示骗子 错,已超出了边界范围n三次错误吞没卡片 错,这是一个业务规则,限定业务的范围2022/10/29293.描述用例n用例名:用例名:n简单名:简单名:n路径名:路径名:2022/10/2930用例文字描述用例文字描述
23、n更详细地描述更详细地描述 用例的功能用例的功能v 用例用例编号号v 用例名用例名v 用例描述用例描述v 参与者参与者v 前置条件前置条件v 后置条件后置条件v 基本路径基本路径1,.X X X X 2.X X X Xv 扩展点展点 2a.X X X X 2a1.X X X Xv 变异点异点v 补充充说明明2022/10/2931v 用例用例编号号:001v 用例名用例名:ATM取款取款v 用例描述用例描述:储户使用信用卡,在使用信用卡,在ATM机上取款机上取款v 参与者:参与者:储户v 前置条件:前置条件:ATM机器机器处于正常准于正常准备状状态v 后置条件:若成功,后置条件:若成功,则储户
24、取出取出钱,帐户上扣除上扣除钱;若;若失失败,储户没有取到没有取到钱,帐户上上钱数不数不变。v 基本路径基本路径1.储户插卡;插卡;2.ATM机提示机提示输入用入用户口令;口令;3.储户输入口令;入口令;机口令机口令验证通通过,提示,提示输入入钱数;数;5.储户输入入钱数;数;机机进行行钱数有效性数有效性检查,提示操作成功,吐出卡,提示操作成功,吐出卡和和钱;ATM取取款款用用例例描描述述2022/10/2932 7.储户取走卡和取走卡和钱;机屏幕恢复机屏幕恢复为初始状初始状态。v 扩展点展点 4a.ATM机机验证用用户口令不通口令不通过4a1.ATM机机给出提示信息,并吐出信用卡;出提示信息
25、,并吐出信用卡;4a2.储户取出卡;取出卡;4a3.ATM机屏幕恢复机屏幕恢复为初始状初始状态.6a.ATM验证用用户输入入钱数超数超过3000 6a1.ATM机机给出提示信息,并吐出信用卡;出提示信息,并吐出信用卡;6a2.储户取出卡;取出卡;6a3.ATM机屏幕恢复机屏幕恢复为初始状初始状态.。v 变异点异点无无v 补充充说明明2022/10/2933n用例名称:学生选课用例名称:学生选课 n执行者:学生执行者:学生n目的:完成一次学生选课的完整过程。目的:完成一次学生选课的完整过程。n类型:主要的、基本的类型:主要的、基本的n级别:一级级别:一级n过程描述:过程描述:(1)学生输入标识码
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UML 系统 建模 分析 设计
限制150内