第3章 用况图_第1页
第3章 用况图_第2页
第3章 用况图_第3页
第3章 用况图_第4页
第3章 用况图_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1第3章 用况图3.1 系统边界系统边界3.2 参与者参与者3.3 用况用况3.4 用况图用况图3.5 用况分析用况分析3.6 高级用况建模高级用况建模3.7 检查与调整检查与调整3.8 例题例题2第3章 用况图什么是用户需求?什么是用户需求? 用户需求即用户对所要开发系统提出的各种要求和用户需求即用户对所要开发系统提出的各种要求和期望。期望。 它包括系统的功能、性能、可靠性和保密要求以及它包括系统的功能、性能、可靠性和保密要求以及交互方式等技术性要求和资金额度、交付时间、资源使交互方式等技术性要求和资金额度、交付时间、资源使用限制等非技术性要求。用限制等非技术性要求。 对分析员而言对分析员而

2、言,功能需求是分析阶段要考虑的核心因功能需求是分析阶段要考虑的核心因素。素。 3第3章 用况图软件开发中的常见现象(严峻的现实):软件开发中的常见现象(严峻的现实): 用户提出的要求不完整、不准确用户提出的要求不完整、不准确 需求经常变化,工作没完没了需求经常变化,工作没完没了 开发后期才发现误解了需求开发后期才发现误解了需求 功能都实现了,但由于性能,使用方面问题导致用户不满功能都实现了,但由于性能,使用方面问题导致用户不满 客户的许多增强需求未及早提出,导致软件后期维护费用客户的许多增强需求未及早提出,导致软件后期维护费用陡升陡升 测试效果差,因为测试人员不明白软件要做什么测试效果差,因为

3、测试人员不明白软件要做什么 支付了客户并不想要的产品支付了客户并不想要的产品4第3章 用况图 软件项目中,软件项目中,40%-60%的问题都是在需求分析阶段的问题都是在需求分析阶段埋下的隐患,在需求审核上投入埋下的隐患,在需求审核上投入1个小时,可节省个小时,可节省10倍以上倍以上错误更正时间,返工开工占开发总费用的错误更正时间,返工开工占开发总费用的40%,而,而70%-80%的返工是由需求方面的错误导致。的返工是由需求方面的错误导致。 成功有效的需求开发和需求管理能为组织节省大量时成功有效的需求开发和需求管理能为组织节省大量时间和金钱。间和金钱。需求提取:可能是软件开发中最困难、最关键、最

4、容易出错,需求提取:可能是软件开发中最困难、最关键、最容易出错,最需沟通的方面(引导用户说出他们想要的东西:面谈、最需沟通的方面(引导用户说出他们想要的东西:面谈、问卷、观察、文档、原型法等问卷、观察、文档、原型法等记录下需求)记录下需求) Ivar Jacobson 从从1967年开始在爱立信公司所从事的近年开始在爱立信公司所从事的近20多年对大量不同电话呼叫类型建模的工作经验,发明了多年对大量不同电话呼叫类型建模的工作经验,发明了use case概念。概念。5需求技术n获取软件的需求是软件开发过程的重要难题,在当今的软件需求的实践中,RUP过程中的用例技术、XP中的用户故事(User St

5、ory)技术、FDD的Feature描述技术是获取需求的最佳技术,这三个技术的共同点是:站在用户的角度看待系统、定义系统 ;使用用户能够看懂的语言来描述系统,定义系统三种需求技术的特点见表6-1所示。需求技术种类描述用例(Use case)描绘一个系统外在可见的需求情况,是代表系统中各个项目相关人员(风险承担人,Stakeholder)之间就系统的行为所达成的契约用户故事(user story)由客户参与编写,说明他们需要系统为他们做什么,一般用客户的术语编写,其长度约为三句话左右需求特性(Feature)就是一个小的,具有客户价值的功能,通常表示为表6-1 三种获取需求的技术6第3章 用况图

6、 软件开发的途径:首先要准确地描述用户需求中的功能软件开发的途径:首先要准确地描述用户需求中的功能需求需求,形成功能规格说明(形成功能规格说明(SRS)。(大多数情况下)。(大多数情况下,使用的是使用的是自然语言。)自然语言。) 用况图的作用:用况图的作用: 1、实现对功能需求描述。用于对系统的功能及与系统进、实现对功能需求描述。用于对系统的功能及与系统进行交互的外部事物建模。行交互的外部事物建模。 2、通过找出与系统交互的外部事物、通过找出与系统交互的外部事物,说明它们如何与系统说明它们如何与系统交互更易于对系统进行探讨和理解。交互更易于对系统进行探讨和理解。 3、用况图是进行、用况图是进行

7、OOA的第一步工作的第一步工作,对对OOD阶段的人机交阶段的人机交互设计和系统测试来说互设计和系统测试来说,用况也是非常重要的。用况也是非常重要的。7第3章 用况图3.1 系统边界系统边界系统边界:一个系统所包含的所有系统成分与系统以外事系统边界:一个系统所包含的所有系统成分与系统以外事物物 的分界线。的分界线。对系统的组成认识:对系统的组成认识:系统:被开发的计算机软硬件自身系统:被开发的计算机软硬件自身系统成分:在系统成分:在OOA/OOD中定义的那些系统元素中定义的那些系统元素系统外部实体:人员、设备、外系统系统外部实体:人员、设备、外系统8第3章 用况图现实世界中的事物与系统的关系包括

8、如下几种情况现实世界中的事物与系统的关系包括如下几种情况: 某些事物作为系统成分位于系统边界内。某些事物作为系统成分位于系统边界内。 某些事物将是与系统进行交互的参与者,系统中没有相某些事物将是与系统进行交互的参与者,系统中没有相应的成分作为它们的抽象表示。它们只是系统边界外的应的成分作为它们的抽象表示。它们只是系统边界外的参与者。参与者。 某些事物可能既有一个对象作为其抽象描述,而本身某些事物可能既有一个对象作为其抽象描述,而本身(作作为现实世界中的事物为现实世界中的事物)又在系统边界以外与系统进行交互。又在系统边界以外与系统进行交互。 某些事物即使属于问题域,也与系统责任没有什么关系。某些

9、事物即使属于问题域,也与系统责任没有什么关系。超市超市-商品商品超市超市-收款员收款员超市超市-收款员(顾客)收款员(顾客)超市超市-保安保安9第3章 用况图 系统是由一条边界图包围起来的未知空间,系统只系统是由一条边界图包围起来的未知空间,系统只通过有限几个接口与外部交互。因此,把内外交互情况通过有限几个接口与外部交互。因此,把内外交互情况描述清除就确切定义了系统需求。描述清除就确切定义了系统需求。1用例图的认识 用例图是描述用例、参与者及其关系的图。与所有UML的其它图一样,用例图可以包括注释、约束。 图中的元素包括:参与者、用例、一个方框和一些表示关系的连接线,所有的用例都位于方框之内,

10、该方框称为“系统边界”。 方框内是棋牌管理系统的多个用例,方框外是外部参与者。10第3章 用况图3.2 参与者参与者3.2.1 概念与表示法概念与表示法1、参与者的语义及表示法、参与者的语义及表示法 参与者:参与者:是为了完成某个任务,而与系统进行交互的实体。是用户相对系统而言所扮演的角色超市收款员超市收款员收款收款检查货物检查货物检查会员卡检查会员卡11第3章 用况图 参与者是虚拟的概念:可以是人、设备、外系统。一参与者是虚拟的概念:可以是人、设备、外系统。一个人可以扮演多个角色。个人可以扮演多个角色。参与者可以请求系统提供服务参与者可以请求系统提供服务参与者也可以响应系统发出的请求参与者也

11、可以响应系统发出的请求所有参与者的请求所有参与者的请求/响应的完全集成构成了可以觉察到响应的完全集成构成了可以觉察到的系统边界。的系统边界。表示法:表示法:顾客actor 外系统12第3章 用况图 参与者命名,应是最能描述其功能的合适名称。参与者命名,应是最能描述其功能的合适名称。 避免为代表人的参与者起一个实际人名。避免为代表人的参与者起一个实际人名。 要以他们使用系统时的工作头衔作为参与者命名。要以他们使用系统时的工作头衔作为参与者命名。张三、李四张三、李四教师、开发教师、开发人员等人员等 即使工作头衔不同,但所做操作相同,也需要将其合即使工作头衔不同,但所做操作相同,也需要将其合并。并。

12、讲师、助教、副教授、教授讲师、助教、副教授、教授教师教师13第3章 用况图3.2.2 识别参与者识别参与者1、人员、人员 从直接使用系统的人员发现参与者。强调直接使用从直接使用系统的人员发现参与者。强调直接使用 注意:特定的人在系统中扮演不同的角色,因此要分注意:特定的人在系统中扮演不同的角色,因此要分属不同的参与者属不同的参与者2、外部系统、外部系统 所有与系统交互的外部应用系统都是参与者所有与系统交互的外部应用系统都是参与者3、设备、设备 所有与系统交互的设备所有与系统交互的设备其他子系统其他子系统其上级系统其上级系统监视器、鼠标、键盘等标准用户接口监视器、鼠标、键盘等标准用户接口设备,不

13、算设备,不算外部传感器、受控马达等算外部传感器、受控马达等算到此,我们找出食堂管理系统的参与者到此,我们找出食堂管理系统的参与者14参与者间的关系n在用例图中,使用泛化关系来描述多个参与者之间的公共行为。 n参与者间的泛化关系示例:15第3章 用况图识别和组织参与者的策略:识别和组织参与者的策略: 启动系统行为的参与者启动系统行为的参与者最容易识别的参与者最容易识别的参与者 从用户角度考虑怎样使用这个系统,重点考虑上述三种从用户角度考虑怎样使用这个系统,重点考虑上述三种类型的参与者类型的参与者 记录参与者责任记录参与者责任 通过识别继承关系,组织参与者通过识别继承关系,组织参与者我们给出的参与

14、者可否使用继承关系组织?我们给出的参与者可否使用继承关系组织?16第3章 用况图3.3 用况用况描述参与者与系统的交互,系统外在的可见的需求情况描述参与者与系统的交互,系统外在的可见的需求情况详细说明:详细说明:一个用况是一个或几个参与者,使用系统一项一个用况是一个或几个参与者,使用系统一项功能时所进行的交互过程的描述。功能时所进行的交互过程的描述。使用用况的原因如下使用用况的原因如下:(用况的优点):(用况的优点) 是对用户需求的规范化描述是对用户需求的规范化描述 可以为开发者提供一种认识和理解系统的技术可以为开发者提供一种认识和理解系统的技术 为领域专家,最终用户和开发者提供了一种相互交流

15、的为领域专家,最终用户和开发者提供了一种相互交流的手段手段 方便设计人机界面及测试用例方便设计人机界面及测试用例17第3章 用况图定义用况的含义定义用况的含义1-8: 一项功能。外部参与者触发该功能一项功能。外部参与者触发该功能 系统级的功能系统级的功能 只描述做什么,不描述怎么做只描述做什么,不描述怎么做 可观察的结果值是指系统对参与者的动作要做出响应可观察的结果值是指系统对参与者的动作要做出响应 表达了系统的功能需求,也表达了系统的功能划分表达了系统的功能需求,也表达了系统的功能划分 相对完整的功能相对完整的功能在自动提款机上在自动提款机上提取现金提取现金插入卡插入卡输入密码输入密码选择取

16、款数目选择取款数目18第3章 用况图 仅描述参与者与系统要完成的一件事情(不能过于综合)仅描述参与者与系统要完成的一件事情(不能过于综合) 参与者发起交互的可能性大参与者发起交互的可能性大用况表示法:包含有用况名字的椭圆用况表示法:包含有用况名字的椭圆用况名用况名用况名可以是带有数字、字母和除保留符号用况名可以是带有数字、字母和除保留符号冒号以冒号以外的任何标点符号的任意字符号外的任何标点符号的任意字符号注意事项:注意事项: 创建一个用况名时,要尽量使用主动语态动词和可以创建一个用况名时,要尽量使用主动语态动词和可以描述系统上执行的功能的名词。描述系统上执行的功能的名词。 eg:撞车、丢钱等:

17、撞车、丢钱等为什么命名时不允许使用为什么命名时不允许使用“:”? 也有例外:系统发现异常也有例外:系统发现异常 系统主动向设备发命令系统主动向设备发命令 19第3章 用况图编写用况容易出现的问题编写用况容易出现的问题 用户界面太多,用户界面属于设计范畴,鼠标,按用户界面太多,用户界面属于设计范畴,鼠标,按键等内容不应出现在用况中键等内容不应出现在用况中 较低目标层次上的用况太多,无法展示系统将会给较低目标层次上的用况太多,无法展示系统将会给其最终用户提供什么功能其最终用户提供什么功能 使用用况表示非行为信息,性能需求,业务规则等使用用况表示非行为信息,性能需求,业务规则等不要在用况中描述不要在

18、用况中描述 目标实现不完整,尤其是错误处理目标实现不完整,尤其是错误处理20第3章 用况图描述格式描述格式: (无标准规定)(无标准规定)用况文档模板(不要求都有,可取舍)用况文档模板(不要求都有,可取舍)用况名用况名通常为一动词通常为一动词简述简述对用况的简单描述对用况的简单描述参与者参与者包含、扩展、继承的用况包含、扩展、继承的用况前置条件:描述启动此用况所必须具备的条件前置条件:描述启动此用况所必须具备的条件后置条件:描述用况结束时确保成立的条件后置条件:描述用况结束时确保成立的条件基本流(主要成功场景)基本流(主要成功场景)可选流(扩展流)可选流(扩展流)例外例外限制限制注释(附加信息

19、)注释(附加信息)21第3章 用况图注意:注意:基本流基本流 通常不包括任何条件和分支通常不包括任何条件和分支 如下页如下页扩展流扩展流 存放所有的条件处理存放所有的条件处理 扩展部分非常重要,它说明了所有其他场景或分支扩展部分非常重要,它说明了所有其他场景或分支 (无论成功的还是失败的)(无论成功的还是失败的) 有时候从某个位置产生的扩展会非常复杂,这时就有时候从某个位置产生的扩展会非常复杂,这时就 会促使我们使用一个单独的用况来表达这个扩展;会促使我们使用一个单独的用况来表达这个扩展; 22 用例事件流的表示场景名称场景名称 取款取款3000元元参与者参与者 客户小刘客户小刘事件流事件流

20、1小刘将银行卡插入桂圆机小刘将银行卡插入桂圆机2桂圆机要求客户输入卡密码桂圆机要求客户输入卡密码3小刘输入卡密码,并确认密码小刘输入卡密码,并确认密码4桂圆机屏幕提示,请客户选择服务类型桂圆机屏幕提示,请客户选择服务类型5小刘选择取款服务小刘选择取款服务6桂圆机提示:请客户输入取款数目桂圆机提示:请客户输入取款数目7客户输入客户输入3000,并确认并确认8桂圆机出钱口输出桂圆机出钱口输出30张一佰元的人民币张一佰元的人民币9小刘取回小刘取回30张一佰元的人民币张一佰元的人民币1桂圆机提示服务类型:确认,或继续,或退卡桂圆机提示服务类型:确认,或继续,或退卡1小刘选择服务类型退卡,结束服务。小刘

21、选择服务类型退卡,结束服务。图6-3 小刘取款场景23第3章 用况图3.4 用况图:展示了用况之间以及用况和参与者之间是用况图:展示了用况之间以及用况和参与者之间是怎样互相联系的。怎样互相联系的。 用况和参与者的用况和参与者的关联关联:参与者和用况之间的关系。:参与者和用况之间的关系。 意味着参与者与用况之间可通信意味着参与者与用况之间可通信一个参与者与多个用况关联一个参与者与多个用况关联一个用况与多个参与者关联一个用况与多个参与者关联表示:表示:双向双向单项,接收端单项,接收端 用况图创造了一个很好的语境图,显示了系统的边界,用况图创造了一个很好的语境图,显示了系统的边界,哪些在系统外,如何

22、使用系统哪些在系统外,如何使用系统 如果系统比较复杂可绘制多幅,每幅侧重系统功能如果系统比较复杂可绘制多幅,每幅侧重系统功能的一个方面的一个方面24第3章 用况图3.5 用况图分析用况图分析1、选择系统边界(系统边界是否只是一个软件应用,还、选择系统边界(系统边界是否只是一个软件应用,还是硬件与软件作为一个整体,还是需要加上操作者,甚是硬件与软件作为一个整体,还是需要加上操作者,甚至整个组织)至整个组织)2、识别参与者(除明显的参与者外,下列问题)、识别参与者(除明显的参与者外,下列问题)次要参与者:为系统提供服务次要参与者:为系统提供服务谁启动、停止系统谁启动、停止系统谁使用系统谁使用系统谁

23、进行用户管理和安全管理谁进行用户管理和安全管理由于系统对时间事件响应,时间是否也是参与者由于系统对时间事件响应,时间是否也是参与者是否存在一个监控进程,在其系统错误的时候能重启系统是否存在一个监控进程,在其系统错误的时候能重启系统主要参与者主要参与者25第3章 用况图3、捕获用况、捕获用况 识别用况最好的方法是从识别用况最好的方法是从参与者参与者列表开始,考虑每个列表开始,考虑每个参与者如何使用系统。参与者如何使用系统。 利用参与者捕获用况利用参与者捕获用况 开始建立用况时,关注点是参与者,要仔细分析参与者,以及开始建立用况时,关注点是参与者,要仔细分析参与者,以及其需求,参与者要达到什么目的

24、,需要系统提供什么服务,把其需求,参与者要达到什么目的,需要系统提供什么服务,把所有向参与者提供的服务项目找到,每个服务项目就是一个用所有向参与者提供的服务项目找到,每个服务项目就是一个用况。况。 从系统功能捕获用况从系统功能捕获用况 一项系统功能要描述在一个用况中一项系统功能要描述在一个用况中 穷举方式考虑每个参与者与系统的交互情况穷举方式考虑每个参与者与系统的交互情况 角色扮演:建模人员深入到现场角色扮演:建模人员深入到现场 记录具体流程记录具体流程 脚本场景脚本场景(行为序列)(行为序列)给出食堂管理系统的用况,并与参考者建立联系给出食堂管理系统的用况,并与参考者建立联系26第3章 用况

25、图1、参与者之间的关系、参与者之间的关系 继承关系:如果一组参与者具有共同的性质,可以把这继承关系:如果一组参与者具有共同的性质,可以把这些性质抽取出来放在另一个参与者中,这组参与者再从些性质抽取出来放在另一个参与者中,这组参与者再从中继承。(泛化关系)中继承。(泛化关系)BACB: cookA: mother cookC: father cook A的实例能与和的实例能与和B的实的实例进行交互的用况实例进行交互的用况实例进行通信例进行通信27第3章 用况图用况在出现以下三种情况时,可考虑产生新用况,并在用用况在出现以下三种情况时,可考虑产生新用况,并在用况间建立关系况间建立关系 在一个用况中

26、存在着几处重复使用的动作序列在一个用况中存在着几处重复使用的动作序列 在几个用况中存在着重复使用的动作序列在几个用况中存在着重复使用的动作序列 一个用况中的主要动作序列或分支动作过于冗长和复杂,一个用况中的主要动作序列或分支动作过于冗长和复杂,并且分离它们有助于管理和理解。并且分离它们有助于管理和理解。用况关系有三种:包含、扩展和继承用况关系有三种:包含、扩展和继承3.6 高级用况建模高级用况建模28第3章 用况图(1)包含关系)包含关系起因:起因: 两个或多个用况中有重复行为,把重复行为放在同一个两个或多个用况中有重复行为,把重复行为放在同一个用况中,原用况引入该用况。用况中,原用况引入该用

27、况。 将过长用况分解将过长用况分解 A到到B的包含关系:用况的包含关系:用况A在它内部说明的某一位置显式的在它内部说明的某一位置显式的使用用况使用用况B的行为结果的行为结果ABteacher记录成绩记录成绩更新成绩更新成绩保存成绩保存成绩A:基用况:基用况 B:被包含用况:被包含用况 好处:避免多次描述同一事件流,有助于确定那里可以重用某些功能,好处:避免多次描述同一事件流,有助于确定那里可以重用某些功能,一个用况可以包含多个用况,也可以被多个用况所包含。一个用况可以包含多个用况,也可以被多个用况所包含。29第3章 用况图(2)扩展关系)扩展关系 起因:一个或几个用况中存在可选的描述系统行为的

28、片段。起因:一个或几个用况中存在可选的描述系统行为的片段。用况中可选的,只在特定条件下运行的行为,把可选行为用况中可选的,只在特定条件下运行的行为,把可选行为描述抽取出来,形成扩展用况。描述抽取出来,形成扩展用况。 A:基用况:基用况 B:扩展用况:扩展用况AB 按按A中指定条件,把中指定条件,把B插入插入A中扩中扩展点定义位置,展点定义位置,A在指定的扩展在指定的扩展点隐式的包含有点隐式的包含有B用况行为。用况行为。30第3章 用况图 扩展点扩展点:用况中的一个或一组位置,在这个位置上,可:用况中的一个或一组位置,在这个位置上,可插入其他用况的完整动作序列或其中的片段(一个用况插入其他用况的

29、完整动作序列或其中的片段(一个用况中,各扩展点的名字是唯一的)中,各扩展点的名字是唯一的)考试考试补考补考扩展点扩展点未通过未通过还书还书罚款罚款扩展点扩展点超期超期31第3章 用况图teacher记录成绩记录成绩修改成绩修改成绩保存成绩保存成绩60分以下分以下提醒管理员提醒管理员 问题:如果每次都要提醒管理员,该用况图如何表示?问题:如果每次都要提醒管理员,该用况图如何表示?32第3章 用况图 当建立了多个扩展用况模型后,扩展点不表示哪个用况扩当建立了多个扩展用况模型后,扩展点不表示哪个用况扩展了基用况,而只表示是否有扩展使用。一个基用况可以展了基用况,而只表示是否有扩展使用。一个基用况可以

30、有多个扩展点,而所有的扩展点必须对基用况为真。有多个扩展点,而所有的扩展点必须对基用况为真。扩展与包含的区别:扩展与包含的区别: 扩展:可选行为;包含:义务行为,必选行为扩展:可选行为;包含:义务行为,必选行为 扩展:基用况可单独存在;包含:基用况不能单独存在扩展:基用况可单独存在;包含:基用况不能单独存在 表示法不同:表示法不同:扩展:由扩展用况指向基用况扩展:由扩展用况指向基用况包含:由基用况指向被包含用况包含:由基用况指向被包含用况 扩展:参与者不能与扩展用况直接通信扩展:参与者不能与扩展用况直接通信 包含:参与者可以与被包含用况直接通信包含:参与者可以与被包含用况直接通信33第3章 用

31、况图(3)继承关系)继承关系 与类之间或参与者之间的继承关系一样与类之间或参与者之间的继承关系一样B到到A的继承关系:特殊用况的继承关系:特殊用况B是一般用况是一般用况A的的详细说明特殊用况可以增加或覆盖一般用况的详细说明特殊用况可以增加或覆盖一般用况的行为行为 注意注意:被包含的用况和用于扩展的用况一般不能单独使:被包含的用况和用于扩展的用况一般不能单独使用,只能作为基用况的一部分存在,而一般用况和特殊用,只能作为基用况的一部分存在,而一般用况和特殊用况可单独存在。用况可单独存在。AB34第3章 用况图3.7 检查与调整检查与调整 检查与调整原则:检查与调整原则:(1)参与者)参与者 确定所

32、有角色归入响应参与者确定所有角色归入响应参与者 所有参与者至少和一个用况相关联所有参与者至少和一个用况相关联 若一个参与者是另一个参与者的一部分,使用继承若一个参与者是另一个参与者的一部分,使用继承 两个参与者扮演了相同的角色,考虑合并两个参与者扮演了相同的角色,考虑合并 35第3章 用况图(2)用况)用况 每个用况至少和一个参与者或其他用况相关联每个用况至少和一个参与者或其他用况相关联 两个用况有相同类似序列,考虑合并或者抽取新用况两个用况有相同类似序列,考虑合并或者抽取新用况(形成包含、扩展、继承)(形成包含、扩展、继承) 一个用况有完全不同的事件流,可考虑分解一个用况有完全不同的事件流,

33、可考虑分解36第3章 用况图在对系统的功能需求进行捕获和描述时,需要注意以下几点:在对系统的功能需求进行捕获和描述时,需要注意以下几点: 用况正确、无歧义用况正确、无歧义 需求变化、理解偏差(开发中),及时修改用况保证模型需求变化、理解偏差(开发中),及时修改用况保证模型的正确性和完整性的正确性和完整性 不要画成工作流程图不要画成工作流程图 用况大小适中用况大小适中 用况不是人机界面用况不是人机界面 明确系统做什么,而不是如何做明确系统做什么,而不是如何做 尽量不要使用多层包含、扩展和继承关系尽量不要使用多层包含、扩展和继承关系 37第3章 用况图不太适合不太适合用况方法的情况:用况方法的情况

34、: 用户很少或没有,接口也很少,如:科学计算用户很少或没有,接口也很少,如:科学计算/仿真、仿真、杀毒软件、编译程序等杀毒软件、编译程序等 功能需求非常简单,非功能需求和约束占主导地位功能需求非常简单,非功能需求和约束占主导地位适用适用:当前大部分应用软件:功能需求占主导地位,有很:当前大部分应用软件:功能需求占主导地位,有很多参与者(分为不同用户类型,为它们提供不同功能),多参与者(分为不同用户类型,为它们提供不同功能),具有很多接口具有很多接口386阅读用例图n6用例粒度n用例的粒度,就是用来描述用户目标的大小的程度。从大到小可将用例分成三个层次:概述级、用户目标级、子功能级。下面以读者阅

35、读图书为例,说明用例的三个级别。396阅读用例图n概述级n概述级,参与者把整个系统看成一个用例。如图6-15所示。n用户目标级n目标级用例是对概述级进一步细化。n子功能级n子功能级用例是对目标级用例的进一步细化。图6-15 概述级图6-1用户目标级图6-1子功能级40例题1描述如下的用况图(订单处理系统)描述如下的用况图(订单处理系统)订购货物获取订单状态获取目录取消订单客户退货客户代表处理销售报表运送货物运输公司发送货物供应商计算运费职员41例题2研究生学籍管理系统研究生学籍管理系统方法方法1:选课查看学分研究生登录对登录的描述如下:对登录的描述如下:研究生启动系统;研究生启动系统;系统提示

36、研究生输入研究生证号和密码;系统提示研究生输入研究生证号和密码;研究生输入研究生证号和密码;研究生输入研究生证号和密码;系统进行验证,给出验证信息;系统进行验证,给出验证信息;若通过,且该生选择选课;若通过,且该生选择选课;系统执行用况系统执行用况“ 选课选课”若通过,且该生选择查看学分若通过,且该生选择查看学分系统执行用况系统执行用况“查看学分查看学分”42例题2研究生学籍管理系统研究生学籍管理系统方法方法2:对对“选课选课”的描述如下:的描述如下:研究生启动系统;研究生启动系统;系统提示研究生输入研究生证号和密码;系统提示研究生输入研究生证号和密码;研究生输入研究生证号和密码;研究生输入研

37、究生证号和密码;系统进行验证,给出验证信息;系统进行验证,给出验证信息;若通过验证,系统执行用况若通过验证,系统执行用况“选课选课”的其余部分的其余部分登录选课研究生查看学分43例题2研究生学籍管理系统研究生学籍管理系统方法方法3:对对“登录登录”的描述如下:的描述如下:研究生启动系统;研究生启动系统;系统提示研究生输入研究生证号和密码;系统提示研究生输入研究生证号和密码;研究生输入研究生证号和密码;研究生输入研究生证号和密码;系统进行验证,给出验证信息;系统进行验证,给出验证信息;若通过,且该生选择选课;若通过,且该生选择选课;系统在扩展点系统在扩展点“选课选课”处执行用况处执行用况“ 选课

38、选课”若通过,且该生选择查看学分若通过,且该生选择查看学分系统在扩展点系统在扩展点“查看学分查看学分”处执行用况处执行用况“查看学分查看学分”选课查看学分研究生登录扩展点选课:选择课程查看学分:选择查看学分44例题2研究生学籍管理系统研究生学籍管理系统方法方法4:对对“登录登录”的描述如下:的描述如下:研究生启动系统;研究生启动系统;系统提示研究生输入研究生证号和密码;系统提示研究生输入研究生证号和密码;研究生输入研究生证号和密码;研究生输入研究生证号和密码;系统进行验证,给出验证信息;系统进行验证,给出验证信息;对对“选课选课”的开始部分描述如下:的开始部分描述如下:若通过了登录,且该生选择

39、选课;若通过了登录,且该生选择选课;系统开始执行用况系统开始执行用况“ 选课选课”登录选课研究生查看学分45例题3成绩管理系统成绩管理系统教师可记录成绩。记录成绩包含保存成绩教师可记录成绩。记录成绩包含保存成绩教师可以更新成绩。更新成绩包含加载、保存成绩教师可以更新成绩。更新成绩包含加载、保存成绩教师、学生和管理员可浏览成绩,浏览成绩包含登录教师、学生和管理员可浏览成绩,浏览成绩包含登录管理员可以生成报告卡管理员可以生成报告卡教师可以分发报告卡教师可以分发报告卡根据以上描述画出用况图。根据以上描述画出用况图。46例题3 管理员通过系统管理界面进入,建立本学期要开管理员通过系统管理界面进入,建立

40、本学期要开的各门课程,将课程信息保存到数据库中,并可以对的各门课程,将课程信息保存到数据库中,并可以对课程进行改动和删除。学生通过浏览器根据学号和密课程进行改动和删除。学生通过浏览器根据学号和密码进入选课界面,在这里学生可以查询已选课程信息码进入选课界面,在这里学生可以查询已选课程信息并选课,教师可以选择所上课程并提交成绩,管理员并选课,教师可以选择所上课程并提交成绩,管理员负责维护各项信息。这些操作结果存入数据库中。负责维护各项信息。这些操作结果存入数据库中。47例题3用户管理教师信息 管理学生信息管理员管理课程信息提交成绩教师选择教授课程查询课程学生注册课程登陆数据库48练习 有一个爱书之

41、人,家里各类书籍已过千册,而平时又有一个爱书之人,家里各类书籍已过千册,而平时又时常有朋友外借,因此需要一个个人图书管理系统。该系时常有朋友外借,因此需要一个个人图书管理系统。该系统应该能够将书籍的基本信息按计算机类、非计算机类分统应该能够将书籍的基本信息按计算机类、非计算机类分别建档,实现按书名、作者、类别、出版社等关键字的组别建档,实现按书名、作者、类别、出版社等关键字的组合查询功能。在使用该系统录入新书籍时系统会自动按规合查询功能。在使用该系统录入新书籍时系统会自动按规则生成书号,可以修改信息,但不能够产出记录。该系统则生成书号,可以修改信息,但不能够产出记录。该系统还应该能够对书籍的外

42、借情况记录,可对外借情况列表打还应该能够对书籍的外借情况记录,可对外借情况列表打印。另外,还希望能够对书籍的购买金额按特定时限进行印。另外,还希望能够对书籍的购买金额按特定时限进行统计。统计。49练习新增图书查询图书修改图书查询外借登记外借管理图书管理外借管理员统计信息50练习统计信息新增图书登记外借查询图书修改图书管理员查询外借5169 用例图应用n691 问题描述n当需求分析人员对用户和客户进行访谈后,就要记录下用户和客户对业务系统的描述。开发人员必须把客户对业务系统的陈述转化为完整的,清晰的、可用于开发系统的描述,这种描述业务系统的格式,必须是客户能理解的、认可的标准格式。当然,“完整”

43、和“清晰”实际上是做不到的。第一次是不可能非常接近这些目标的。但是,最终应有一个文档描述了系统应完成的所有工作(和系统不应完成的工作),而且没有误解。n 例如,下面就是汽车租赁系统的业务陈述(Nowhere Cars任务陈述):5269 用例图应用n商店将汽车的跟踪自动化了使用条形码、柜台终端和激光阅读器,这有许多优点:租凭助手的效率提高了20%,汽车很少失踪,客户群很快变大(根据市场调查,其部分原因至少是专业化和效率的显著提高)。n 管理层认为,Internet会提供进一步提高效率、降低成本的机会。例如,现在不是打印可用汽车的目录,而可以让每个Internet冲浪人员在线浏览这些目录。对于有

44、特权的客户,可以提供额外的服务,例如通过鼠标点击进行预约。这个领域的目标是每个商店的运营成本降低15%。n 在两年内,使用电子商务的所有功能,通过Web浏览器提供所有的服务,在客户中完成汽车的交付和收回,以达到虚拟租凭公司的最终目标,将未预约业务的运营成本降到最低。n 5369 用例图应用n上面有三个段落的任务陈述包含了许多信息:公司的自动化历史;客户对日期的满意度;在线目录和预约;有特权和无特权的客户;节约成本的历史和目标;公司的最终目标(“虚拟租凭公司”)。当然,管理层的一些想法实现起来还有很长的路要走(客户适应虚拟租凭商店的时间可能会超过两年),但调查至少有两个很好的起点:公司的商店目前

45、提供什么服务?哪些适合在Internet上提供?n 上述任务陈述是下面案例分析的基础。虚拟公司的新系统称为Coot,客户可使用的Internet功能集合称为iCoot.5469 用例图应用n开发Nowhere Cars系统的优点是:在延长的期限内爱好者出租专用汽车。由于不可能出租所有型号的汽车,客户在要租汽车时,必须找到一家租凭货店。汽车的租凭方式是先到先得到服务,客户可以在当前可用的汽车中选择。另外,如果客户要租用的某型号汽车目前没有,还可以预约,当有匹配的型号汽车时,助手就会与客户直接签约;客户必须在两天内取车(或交抵押金,先于其他客户取车)。会员必须注册,才能电话预约。n692 定义术语

46、表5569 用例图应用n每个业务领域都具有它本身独一无二的词汇,需求分析的目的就是理解和定义这些词汇。词汇应该被项目相关人所理解。术语表必须解决同音异义和同义异音问题。n 一般来说,我们从问题描述中提取术语表。n下面是汽车租赁系统的术语表:nNowhere Cars术语表n术语 定义nCar(业务对象) 由商店保存的、用于出租的CarModel的实例nCarModel(业务对象) 目录中的一个模型,可用于预约nCustomer(业务参与者,业务对象) 为获得一个标准服务而付费的人nMember(业务对象) 其身份和信用状况已得到验证的顾客,因此,可以访问特定的服务(例如电话预约或通过Inter

47、net预约)5669 用例图应用n术语表中的每一项都定义了一个术语,其定义可短可长。n从案例分析的术语表中可以看出,可以记录每个术语与开发阶段之间的关系(业务参与者、系统参与者)。下面是可以使用的关系列表(每一项都可以用于多种关系):n业务参与者:业务需求中出现的参与者n业务对象:业务需求中出现的参与者n系统对象:系统需求中出现(在系统内部)的对象n分析对象:分析模型中出现的对象n部署制品:在系统中部署的某个信息,例如文件n设计对象:设计模型中出现的对象n设计节点:构成系统体系结构的计算机或过程n设计层:子系统的垂直部分n设计包:把多个相关类组织在一起,用于组织开发。n收集需求的活动结束后,开

48、发者建立了两个产品:第一个产品是对业务系统的问题描述;第二个产品是对业务系统中词汇的定义。5769 用例图应用n693 标识参与者n 首先,需要标识业务参与者。参与者是在业务中扮演某个角色的人、部门或者独立的软件系统。一般来说,参与者使用系统或给系统提供服务。n n与现实生活一样,参与者可以在不同的时刻,扮演不同的业务角色。例如,小刘在Nowhere Cars商店上班时,他是一个助手;如果他在回家之前要租用一辆汽车,就成为一个顾客。5869 用例图应用n我们一般是从业务陈述中获取业务参与者。n下面是汽车租赁系统(Nowhere Cars)的业务参与者表:n助手:商店的一个员工,帮助顾客租用其汽

49、车和预约汽车型号。n顾客:为获得一个标准服务而付费的人。n会员:其身份和信用状况已得到验证的顾客,因此,可以访问特定的服务(例如电话预约或通过Internet预约)。n非会员:其身份和信用状况没有验证的顾客,因此,他要月月必须交押金,租用汽车必须提供一份驾照副本。nAuK:处理顾客信息、预约、出租和可用汽车型号目录的已有系统。n债务部门:处理未付费用的Nowhere Cars部门。n法律部门:处理设计租用汽车事故的Nowhere Cars部门。5969 用例图应用n694 标识系统用例n一旦有了参与者,就可以从参与者的角度看系统,问系统能给参与者提供哪些服务?通过一问一答,就可以查找用例。niCoot系统用例列表:nU1:浏览索引:顾客浏览汽车型号的索引。nU2:查看结果:给顾客显示检索到的汽车型号子集。nU3:查看汽车型号细节:给顾客显示检索到的汽车型号细节,例如描述和广告。nU4:搜索:顾客指定类别、构造和引擎规格,搜索汽车型号。nU5:登录:会员使用会员号和

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论