UML用况图.ppt
《UML用况图.ppt》由会员分享,可在线阅读,更多相关《UML用况图.ppt(80页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第3章 用况图3.1 系统边界系统边界3.2 参与者参与者3.3 用况用况3.4 用况图用况图3.5 用况分析用况分析3.6 高级用况建模高级用况建模3.7 检查与调整检查与调整3.8 例题例题1第3章 用况图什么是用户需求?什么是用户需求?用户需求即用户对所要开发系统提出的各种要求和用户需求即用户对所要开发系统提出的各种要求和期望。期望。它包括系统的功能、性能、可靠性和保密要求以及它包括系统的功能、性能、可靠性和保密要求以及交互方式等技术性要求和资金额度、交付时间、资源使交互方式等技术性要求和资金额度、交付时间、资源使用限制等非技术性要求。用限制等非技术性要求。对分析员而言对分析员而言,功能
2、需求是分析阶段要考虑的核心因功能需求是分析阶段要考虑的核心因素。素。2第3章 用况图软件开发中的常见现象(严峻的现实):软件开发中的常见现象(严峻的现实):用户提出的要求不完整、不准确用户提出的要求不完整、不准确 需求经常变化,工作没完没了需求经常变化,工作没完没了 开发后期才发现误解了需求开发后期才发现误解了需求 功能都实现了,但由于性能,使用方面问题导致用户不满功能都实现了,但由于性能,使用方面问题导致用户不满 客户的许多增强需求未及早提出,导致软件后期维护费用客户的许多增强需求未及早提出,导致软件后期维护费用陡升陡升 测试效果差,因为测试人员不明白软件要做什么测试效果差,因为测试人员不明
3、白软件要做什么 支付了客户并不想要的产品支付了客户并不想要的产品3第3章 用况图 软件项目中,软件项目中,40%-60%的问题都是在需求分析阶段的问题都是在需求分析阶段埋下的隐患,在需求审核上投入埋下的隐患,在需求审核上投入1个小时,可节省个小时,可节省10倍以上倍以上错误更正时间,返工开工占开发总费用的错误更正时间,返工开工占开发总费用的40%,而,而70%-80%的返工是由需求方面的错误导致。的返工是由需求方面的错误导致。成功有效的需求开发和需求管理能为组织节省大量时间成功有效的需求开发和需求管理能为组织节省大量时间和金钱。和金钱。需求提取:可能是软件开发中最困难、最关键、最容易出错,需求
4、提取:可能是软件开发中最困难、最关键、最容易出错,最需沟通的方面(引导用户说出他们想要的东西:面谈、最需沟通的方面(引导用户说出他们想要的东西:面谈、问卷、观察、文档、原型法等问卷、观察、文档、原型法等记录下需求)记录下需求)Ivar Jacobson 从从1967年开始在爱立信公司所从事的近年开始在爱立信公司所从事的近20多年对大量不同电话呼叫类型建模的工作经验,发明了多年对大量不同电话呼叫类型建模的工作经验,发明了use case概念。概念。4需求技术n获取软件的需求是软件开发过程的重要难题,在当今的软件需求的实践中,RUP过程中的用例技术、XP中的用户故事(User Story)技术、F
5、DD的Feature描述技术是获取需求的最佳技术,这三个技术的共同点是:站在用户的角度看待系统、定义系统;使用用户能够看懂的语言来描述系统,定义系统三种需求技术的特点见表6-1所示。需求技术种类描述用例(Use case)描绘一个系统外在可见的需求情况,是代表系统中各个项目相关人员(风险承担人,Stakeholder)之间就系统的行为所达成的契约用户故事(user story)由客户参与编写,说明他们需要系统为他们做什么,一般用客户的术语编写,其长度约为三句话左右需求特性(Feature)就是一个小的,具有客户价值的功能,通常表示为表6-1 三种获取需求的技术5第3章 用况图 软件开发的途径:
6、首先要准确地描述用户需求中的功能需软件开发的途径:首先要准确地描述用户需求中的功能需求求,形成功能规格说明(形成功能规格说明(SRS)。()。(大多数情况下大多数情况下,使用的是自使用的是自然语言。)然语言。)用况图的作用:用况图的作用:1、实现对功能需求描述。用于对系统的功能及与系统进、实现对功能需求描述。用于对系统的功能及与系统进行交互的外部事物建模。行交互的外部事物建模。2、通过找出与系统交互的外部事物、通过找出与系统交互的外部事物,说明它们如何与系统说明它们如何与系统交互更易于对系统进行探讨和理解。交互更易于对系统进行探讨和理解。3、用况图是进行、用况图是进行OOA的第一步工作的第一步
7、工作,对对OOD阶段的人机交阶段的人机交互设计和系统测试来说互设计和系统测试来说,用况也是非常重要的。用况也是非常重要的。6第3章 用况图3.1 系统边界系统边界系统边界:一个系统所包含的所有系统成分与系统以外事物系统边界:一个系统所包含的所有系统成分与系统以外事物 的分界线。的分界线。对系统的组成认识:对系统的组成认识:系统:被开发的计算机软硬件自身系统:被开发的计算机软硬件自身系统成分:在系统成分:在OOA/OOD中定义的那些系统元素中定义的那些系统元素系统外部实体:人员、设备、外系统系统外部实体:人员、设备、外系统7第3章 用况图现实世界中的事物与系统的关系包括如下几种情况现实世界中的事
8、物与系统的关系包括如下几种情况:某些事物作为系统成分位于系统边界内。某些事物作为系统成分位于系统边界内。某些事物将是与系统进行交互的参与者,系统中没有相某些事物将是与系统进行交互的参与者,系统中没有相应的成分作为它们的抽象表示。它们只是系统边界外的应的成分作为它们的抽象表示。它们只是系统边界外的参与者。参与者。某些事物可能既有一个对象作为其抽象描述,而本身某些事物可能既有一个对象作为其抽象描述,而本身(作作为现实世界中的事物为现实世界中的事物)又在系统边界以外与系统进行交互。又在系统边界以外与系统进行交互。某些事物即使属于问题域,也与系统责任没有什么关系。某些事物即使属于问题域,也与系统责任没
9、有什么关系。超市超市-商品商品超市超市-收款员收款员超市超市-收款员(顾客)收款员(顾客)超市超市-保安保安8第3章 用况图 系统是由一条边界图包围起来的未知空间,系统只系统是由一条边界图包围起来的未知空间,系统只通过有限几个接口与外部交互。因此,把内外交互情况通过有限几个接口与外部交互。因此,把内外交互情况描述清除就确切定义了系统需求。描述清除就确切定义了系统需求。1用例图的认识 用例图是描述用例、参与者及其关系的图。与所有UML的其它图一样,用例图可以包括注释、约束。图中的元素包括:参与者、用例、一个方框和一些表示关系的连接线,所有的用例都位于方框之内,该方框称为“系统边界”。方框内是棋牌
10、管理系统的多个用例,方框外是外部参与者。9第3章 用况图3.2 参与者参与者3.2.1 概念与表示法概念与表示法1、参与者的语义及表示法、参与者的语义及表示法 参与者:参与者:是为了完成某个任务,而与系统进行交互的实体。是用户相对系统而言所扮演的角色超市收款员超市收款员收款收款检查货物检查货物检查会员卡检查会员卡10第3章 用况图 参与者是虚拟的概念:可以是人、设备、外系统。一参与者是虚拟的概念:可以是人、设备、外系统。一个人可以扮演多个角色。个人可以扮演多个角色。参与者可以请求系统提供服务参与者可以请求系统提供服务参与者也可以响应系统发出的请求参与者也可以响应系统发出的请求所有参与者的请求所
11、有参与者的请求/响应的完全集成构成了可以觉察到响应的完全集成构成了可以觉察到的系统边界。的系统边界。表示法:表示法:顾客actor 外系统11第3章 用况图 参与者命名,应是最能描述其功能的合适名称。参与者命名,应是最能描述其功能的合适名称。避免为代表人的参与者起一个实际人名。避免为代表人的参与者起一个实际人名。要以他们使用系统时的工作头衔作为参与者命名。要以他们使用系统时的工作头衔作为参与者命名。张三、李四张三、李四教师、开发教师、开发人员等人员等 即使工作头衔不同,但所做操作相同,也需要将其合即使工作头衔不同,但所做操作相同,也需要将其合并。并。讲师、助教、副教授、教授讲师、助教、副教授、
12、教授教师教师12第3章 用况图3.2.2 识别参与者识别参与者1、人员、人员 从直接使用系统的人员发现参与者。强调直接使用从直接使用系统的人员发现参与者。强调直接使用 注意:特定的人在系统中扮演不同的角色,因此要分注意:特定的人在系统中扮演不同的角色,因此要分属不同的参与者属不同的参与者2、外部系统、外部系统 所有与系统交互的外部应用系统都是参与者所有与系统交互的外部应用系统都是参与者3、设备、设备 所有与系统交互的设备所有与系统交互的设备其他子系统其他子系统其上级系统其上级系统监视器、鼠标、键盘等标准用户接口监视器、鼠标、键盘等标准用户接口设备,不算设备,不算外部传感器、受控马达等算外部传感
13、器、受控马达等算到此,我们找出食堂管理系统的参与者到此,我们找出食堂管理系统的参与者13参与者间的关系n在用例图中,使用泛化关系来描述多个参与者之间的公共行为。n参与者间的泛化关系示例:14第3章 用况图识别和组织参与者的策略:识别和组织参与者的策略:启动系统行为的参与者启动系统行为的参与者最容易识别的参与者最容易识别的参与者 从用户角度考虑怎样使用这个系统,重点考虑上述三种从用户角度考虑怎样使用这个系统,重点考虑上述三种类型的参与者类型的参与者 记录参与者责任记录参与者责任 通过识别继承关系,组织参与者通过识别继承关系,组织参与者我们给出的参与者可否使用继承关系组织?我们给出的参与者可否使用
14、继承关系组织?15第3章 用况图3.3 用况用况描述参与者与系统的交互,系统外在的可见的需求情况描述参与者与系统的交互,系统外在的可见的需求情况详细说明:详细说明:一个用况是一个或几个参与者,使用系统一项一个用况是一个或几个参与者,使用系统一项功能时所进行的交互过程的描述。功能时所进行的交互过程的描述。使用用况的原因如下使用用况的原因如下:(用况的优点):(用况的优点)是对用户需求的规范化描述是对用户需求的规范化描述 可以为开发者提供一种认识和理解系统的技术可以为开发者提供一种认识和理解系统的技术 为领域专家,最终用户和开发者提供了一种相互交流的为领域专家,最终用户和开发者提供了一种相互交流的
15、手段手段 方便设计人机界面及测试用例方便设计人机界面及测试用例16第3章 用况图定义用况的含义定义用况的含义1-8:一项功能。外部参与者触发该功能一项功能。外部参与者触发该功能 系统级的功能系统级的功能 只描述做什么,不描述怎么做只描述做什么,不描述怎么做 可观察的结果值是指系统对参与者的动作要做出响应可观察的结果值是指系统对参与者的动作要做出响应 表达了系统的功能需求,也表达了系统的功能划分表达了系统的功能需求,也表达了系统的功能划分 相对完整的功能相对完整的功能在自动提款机上在自动提款机上提取现金提取现金插入卡插入卡输入密码输入密码选择取款数目选择取款数目17第3章 用况图 仅描述参与者与
16、系统要完成的一件事情(不能过于综合)仅描述参与者与系统要完成的一件事情(不能过于综合)参与者发起交互的可能性大参与者发起交互的可能性大用况表示法:包含有用况名字的椭圆用况表示法:包含有用况名字的椭圆用况名用况名用况名可以是带有数字、字母和除保留符号用况名可以是带有数字、字母和除保留符号冒号冒号以外的任何标点符号的任意字符号以外的任何标点符号的任意字符号注意事项:注意事项:创建一个用况名时,要尽量使用主动语态动词和可以创建一个用况名时,要尽量使用主动语态动词和可以描述系统上执行的功能的名词。描述系统上执行的功能的名词。eg:撞车、丢钱等撞车、丢钱等为什么命名时不允许使用为什么命名时不允许使用“:
17、”?也有例外:系统发现异常也有例外:系统发现异常 系统主动向设备发命令系统主动向设备发命令 18第3章 用况图编写用况容易出现的问题编写用况容易出现的问题 用户界面太多,用户界面属于设计范畴,鼠标,按键用户界面太多,用户界面属于设计范畴,鼠标,按键等内容不应出现在用况中等内容不应出现在用况中 较低目标层次上的用况太多,无法展示系统将会给其较低目标层次上的用况太多,无法展示系统将会给其最终用户提供什么功能最终用户提供什么功能 使用用况表示非行为信息,性能需求,业务规则等不使用用况表示非行为信息,性能需求,业务规则等不要在用况中描述要在用况中描述 目标实现不完整,尤其是错误处理目标实现不完整,尤其
18、是错误处理19第3章 用况图描述格式描述格式:(无标准规定)(无标准规定)用况文档模板(不要求都有,可取舍)用况文档模板(不要求都有,可取舍)用况名用况名通常为一动词通常为一动词简述简述对用况的简单描述对用况的简单描述参与者参与者包含、扩展、继承的用况包含、扩展、继承的用况前置条件:描述启动此用况所必须具备的条件前置条件:描述启动此用况所必须具备的条件后置条件:描述用况结束时确保成立的条件后置条件:描述用况结束时确保成立的条件基本流(主要成功场景)基本流(主要成功场景)可选流(扩展流)可选流(扩展流)例外例外限制限制注释(附加信息)注释(附加信息)20第3章 用况图注意:注意:基本流基本流 通
19、常不包括任何条件和分支通常不包括任何条件和分支 如下页如下页扩展流扩展流 存放所有的条件处理存放所有的条件处理 扩展部分非常重要,它说明了所有其他场景或分支扩展部分非常重要,它说明了所有其他场景或分支 (无论成功的还是失败的)(无论成功的还是失败的)有时候从某个位置产生的扩展会非常复杂,这时就有时候从某个位置产生的扩展会非常复杂,这时就 会促使我们使用一个单独的用况来表达这个扩展;会促使我们使用一个单独的用况来表达这个扩展;21 用例事件流的表示场景名称场景名称 取款取款3000元元参与者参与者 客户小刘客户小刘事件流事件流 1小刘将银行卡插入桂圆机小刘将银行卡插入桂圆机2桂圆机要求客户输入卡
20、密码桂圆机要求客户输入卡密码3小刘输入卡密码,并确认密码小刘输入卡密码,并确认密码4桂圆机屏幕提示,请客户选择服务类型桂圆机屏幕提示,请客户选择服务类型5小刘选择取款服务小刘选择取款服务6桂圆机提示:请客户输入取款数目桂圆机提示:请客户输入取款数目7客户输入客户输入3000,并确认并确认8桂圆机出钱口输出桂圆机出钱口输出30张一佰元的人民币张一佰元的人民币9小刘取回小刘取回30张一佰元的人民币张一佰元的人民币1桂圆机提示服务类型:确认,或继续,或退卡桂圆机提示服务类型:确认,或继续,或退卡1小刘选择服务类型退卡,结束服务。小刘选择服务类型退卡,结束服务。图6-3 小刘取款场景22第3章 用况图
21、3.4 用况图:展示了用况之间以及用况和参与者之间是用况图:展示了用况之间以及用况和参与者之间是怎样互相联系的。怎样互相联系的。用况和参与者的用况和参与者的关联关联:参与者和用况之间的关系。:参与者和用况之间的关系。意味着参与者与用况之间可通信意味着参与者与用况之间可通信一个参与者与多个用况关联一个参与者与多个用况关联一个用况与多个参与者关联一个用况与多个参与者关联表示:表示:双向双向单项,接收端单项,接收端 用况图创造了一个很好的语境图,显示了系统的边界,用况图创造了一个很好的语境图,显示了系统的边界,哪些在系统外,如何使用系统哪些在系统外,如何使用系统 如果系统比较复杂可绘制多幅,每幅侧重
22、系统功能如果系统比较复杂可绘制多幅,每幅侧重系统功能的一个方面的一个方面23第3章 用况图3.5 用况图分析用况图分析1、选择系统边界(系统边界是否只是一个软件应用,还、选择系统边界(系统边界是否只是一个软件应用,还是硬件与软件作为一个整体,还是需要加上操作者,甚是硬件与软件作为一个整体,还是需要加上操作者,甚至整个组织)至整个组织)2、识别参与者(除明显的参与者外,下列问题)、识别参与者(除明显的参与者外,下列问题)次要参与者:为系统提供服务次要参与者:为系统提供服务谁启动、停止系统谁启动、停止系统谁使用系统谁使用系统谁进行用户管理和安全管理谁进行用户管理和安全管理由于系统对时间事件响应,时
23、间是否也是参与者由于系统对时间事件响应,时间是否也是参与者是否存在一个监控进程,在其系统错误的时候能重启系统是否存在一个监控进程,在其系统错误的时候能重启系统主要参与者主要参与者24第3章 用况图3、捕获用况、捕获用况 识别用况最好的方法是从识别用况最好的方法是从参与者参与者列表开始,考虑每个列表开始,考虑每个参与者如何使用系统。参与者如何使用系统。利用参与者捕获用况利用参与者捕获用况 开始建立用况时,关注点是参与者,要仔细分析参与者,以及开始建立用况时,关注点是参与者,要仔细分析参与者,以及其需求,参与者要达到什么目的,需要系统提供什么服务,把其需求,参与者要达到什么目的,需要系统提供什么服
24、务,把所有向参与者提供的服务项目找到,每个服务项目就是一个用所有向参与者提供的服务项目找到,每个服务项目就是一个用况。况。从系统功能捕获用况从系统功能捕获用况 一项系统功能要描述在一个用况中一项系统功能要描述在一个用况中 穷举方式考虑每个参与者与系统的交互情况穷举方式考虑每个参与者与系统的交互情况 角色扮演:建模人员深入到现场角色扮演:建模人员深入到现场 记录具体流程记录具体流程 脚本场景脚本场景(行为序列)(行为序列)给出食堂管理系统的用况,并与参考者建立联系给出食堂管理系统的用况,并与参考者建立联系25第3章 用况图1、参与者之间的关系、参与者之间的关系 继承关系:如果一组参与者具有共同的
25、性质,可以把这继承关系:如果一组参与者具有共同的性质,可以把这些性质抽取出来放在另一个参与者中,这组参与者再从些性质抽取出来放在另一个参与者中,这组参与者再从中继承。(泛化关系)中继承。(泛化关系)B:cookA:mother cookC:father cook A的实例能与和的实例能与和B的实的实例进行交互的用况实例进行交互的用况实例进行通信例进行通信26第3章 用况图用况在出现以下三种情况时,可考虑产生新用况,并在用用况在出现以下三种情况时,可考虑产生新用况,并在用况间建立关系况间建立关系 在一个用况中存在着几处重复使用的动作序列在一个用况中存在着几处重复使用的动作序列 在几个用况中存在着
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UML 用况图
限制150内