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

链接地址:https://www.31ppt.com/p-5451594.html