Section3用例和用例.ppt

上传人:公**** 文档编号:571095357 上传时间:2024-08-08 格式:PPT 页数:75 大小:1.17MB
返回 下载 相关 举报
Section3用例和用例.ppt_第1页
第1页 / 共75页
Section3用例和用例.ppt_第2页
第2页 / 共75页
Section3用例和用例.ppt_第3页
第3页 / 共75页
Section3用例和用例.ppt_第4页
第4页 / 共75页
Section3用例和用例.ppt_第5页
第5页 / 共75页
点击查看更多>>
资源描述

《Section3用例和用例.ppt》由会员分享,可在线阅读,更多相关《Section3用例和用例.ppt(75页珍藏版)》请在金锄头文库上搜索。

1、1用例和用例图用例和用例图2概述概述用例图着重从系统外部执行者的角度来描述系统需要提用例图着重从系统外部执行者的角度来描述系统需要提供哪些功能,执行者可以是人或外部系统。供哪些功能,执行者可以是人或外部系统。3概述概述用例图的组成元素用例图的组成元素图中的元素包括:参与者、用例、一些表示关系的连接图中的元素包括:参与者、用例、一些表示关系的连接线线参与者与用例的关系:在参与者和用例之间的关联是用参与者与用例的关系:在参与者和用例之间的关联是用一根线来表示的一根线来表示的 用例之间的关系:用例之间的关系:1)包含关系)包含关系2)扩展关系)扩展关系3)泛化关系)泛化关系4基于用例的建模过程基于用

2、例的建模过程获取原始需求获取原始需求识别参与者识别参与者识别用例识别用例识别用例之间的关系识别用例之间的关系描述脚本描述脚本构建用例图构建用例图进行用例描述进行用例描述5获取原始需求:石头问题获取原始需求:石头问题我要一我要一块石石头差不多,但我要小一点的差不多,但我要小一点的很好,不很好,不过我要我要蓝色的色的啊,没有那么小啊,没有那么小咳,咳,还是原来那个好了是原来那个好了 小一点的蓝色大理石小一点的蓝色大理石难难捕捕获获,易易变变!6获取原始需求:如此脆弱获取原始需求:如此脆弱客户客户/用户的要用户的要求求/想法想法/期望期望软件设计软件设计软件产品软件产品分析和设计分析和设计编码和测试

3、编码和测试验验 收收没价值的没价值的软件需求软件需求补文档补文档7获取原始需求:也需要开发获取原始需求:也需要开发客户客户/用户的要用户的要求求/想法想法/期望期望软件设计软件设计软件产品软件产品开发开发编码和测试编码和测试验收验收有价值的有价值的软件需求软件需求分析和设计分析和设计8技巧技巧描述描述实地观察实地观察实地观察实地观察直接观察个人工作的情况,以发现现存的实践方式和问题访谈访谈访谈访谈从个人处收集特定信息特定群体特定群体特定群体特定群体调查调查调查调查对一组人员进行调查,以便了解工作态度和共同看法问卷调查问卷调查问卷调查问卷调查收集详细数据和统计意义上比较重要的数据用户指导用户指导

4、用户指导用户指导让最终用户告诉你,他们是如何操作系统的原型制作原型制作原型制作原型制作模拟一个无法直接测试的系统统计版本统计版本统计版本统计版本使用具有统计功能的应用程序来记录用户完成任务的方式获取原始需求:技巧获取原始需求:技巧9目标:构建一个棋牌馆管理系统目标:构建一个棋牌馆管理系统问题描述:问题描述:客户通过客户通过InternetInternet预订座位,检查座位详情,如果没有空闲预订座位,检查座位详情,如果没有空闲的座位或满意的座位,可以选择进入等候队列。的座位或满意的座位,可以选择进入等候队列。总台服务员在客户到棋牌馆时,根据客户的预订信息,安排总台服务员在客户到棋牌馆时,根据客户

5、的预订信息,安排客户座位。客户座位。当客户要离开棋牌馆时,客户到总台服务员办理结账,可以当客户要离开棋牌馆时,客户到总台服务员办理结账,可以采用两种方式,一种是现金结账,另一种是银行卡结账,而采用两种方式,一种是现金结账,另一种是银行卡结账,而银行卡结账将通过与银联银行卡结账将通过与银联POSPOS系统交互来完成。系统交互来完成。获取原始需求获取原始需求10识别参与者识别参与者(actor)(actor) 对于一个大系统,难以列出所有用例的清单。此时,应先对于一个大系统,难以列出所有用例的清单。此时,应先对于一个大系统,难以列出所有用例的清单。此时,应先对于一个大系统,难以列出所有用例的清单。

6、此时,应先列出所有的参与者,然后在对每个参与者列出他所需的所列出所有的参与者,然后在对每个参与者列出他所需的所列出所有的参与者,然后在对每个参与者列出他所需的所列出所有的参与者,然后在对每个参与者列出他所需的所有用例。即提供了一种获取用例的系统化过程。有用例。即提供了一种获取用例的系统化过程。有用例。即提供了一种获取用例的系统化过程。有用例。即提供了一种获取用例的系统化过程。 “参与者参与者”(活动者、执行者)(活动者、执行者)是指在是指在系统之外系统之外,透过,透过系系统边界统边界与系统进行与系统进行有意义交互有意义交互的的任何事物任何事物。11识别参与者识别参与者UML中的中的Actor实

7、际上是一个版型化的类实际上是一个版型化的类, 可以有三可以有三种表示形式种表示形式Icon形式形式Label形式形式Decoration形式形式12识别参与者:参与者要点识别参与者:参与者要点系统外系统外参与者代表在系统边界之外的真实事物,并不是系统的成参与者代表在系统边界之外的真实事物,并不是系统的成分分系统边界系统边界参与者透过系统边界直接与系统交互,参与者的确定代表参与者透过系统边界直接与系统交互,参与者的确定代表系统边界的确定系统边界的确定有意义交互有意义交互任何事物任何事物人、外部系统、外部因素等人、外部系统、外部因素等13识别参与者:参与者要点识别参与者:参与者要点参与者指在系统中

8、所扮演的角色。即在确定参与者时,参与者指在系统中所扮演的角色。即在确定参与者时,应主要考虑他的角色,而不是这个角色的实例。应主要考虑他的角色,而不是这个角色的实例。某些组织中可能有很多营销人员,但他们均起着同某些组织中可能有很多营销人员,但他们均起着同一种作用,扮演着相同的角色。一种作用,扮演着相同的角色。一个用户也可以扮演多种角色:一个高级营销人员一个用户也可以扮演多种角色:一个高级营销人员既可以是贸易经理,也可以是普通的营销人员。既可以是贸易经理,也可以是普通的营销人员。一个参与者可以执行多个用例。一个参与者可以执行多个用例。一个用例也可以由多个参与者使用。一个用例也可以由多个参与者使用。

9、14识别参与者:任何事物识别参与者:任何事物参与者不仅可以由人承担,还可以是其它系统、硬件设参与者不仅可以由人承担,还可以是其它系统、硬件设备、甚至是时钟备、甚至是时钟 1)其它系统:当系统需要与其它系统交互时,如)其它系统:当系统需要与其它系统交互时,如ATM柜员机系统中,银行后台系统就是一个参与者;柜员机系统中,银行后台系统就是一个参与者;2)硬件设备:如果系统需要与硬件设备交互时,如在)硬件设备:如果系统需要与硬件设备交互时,如在开发开发IC卡门禁系统时,卡门禁系统时,IC卡读写器就是一个参与者;卡读写器就是一个参与者;3)时钟:当系统需要定时触发时,时钟就是参与者)时钟:当系统需要定时

10、触发时,时钟就是参与者15思考:思考:识别参与者?识别参与者?寻呼台系呼台系统:用:用户如果如果预定了天气定了天气预报,系,系统每天定每天定时给他他发天气消息;如果当天气温高于天气消息;如果当天气温高于35度,度,还要提要提醒用醒用户注意防暑;注意防暑;在这个叙述里,谁是寻呼台系统的在这个叙述里,谁是寻呼台系统的在这个叙述里,谁是寻呼台系统的在这个叙述里,谁是寻呼台系统的ActorActor?用户?气温?时间?用户?气温?时间?用户?气温?时间?用户?气温?时间?时间作为参与者,一种习惯用法,用于激活那些系统定时间作为参与者,一种习惯用法,用于激活那些系统定时间作为参与者,一种习惯用法,用于激

11、活那些系统定时间作为参与者,一种习惯用法,用于激活那些系统定期的、自动执行的用例期的、自动执行的用例期的、自动执行的用例期的、自动执行的用例16识别参与者:参与者与系统边界识别参与者:参与者与系统边界 系统边界的确定就是要确定我们要开发的系统和外部环系统边界的确定就是要确定我们要开发的系统和外部环系统边界的确定就是要确定我们要开发的系统和外部环系统边界的确定就是要确定我们要开发的系统和外部环境之间的界限,也就是要区分系统本身和它的外部环境。境之间的界限,也就是要区分系统本身和它的外部环境。境之间的界限,也就是要区分系统本身和它的外部环境。境之间的界限,也就是要区分系统本身和它的外部环境。某企业

12、要求开发一个企业信息管理系统,并与原来已有某企业要求开发一个企业信息管理系统,并与原来已有的库存系统相连接的库存系统相连接某企业要求开发一个企业信息管理系统,并把原来已有某企业要求开发一个企业信息管理系统,并把原来已有的库存管理系统加以改造,成为企业信息管理系统的一的库存管理系统加以改造,成为企业信息管理系统的一部分部分17思考:系统边界?思考:系统边界? 一个银行系统,它的系统边界如何确定呢?一个银行系统,它的系统边界如何确定呢?银行系统的外部活动者有储户、前台出纳员、银行管理银行系统的外部活动者有储户、前台出纳员、银行管理员,这些都不属于银行系统本身,他们是此系统的外部员,这些都不属于银行

13、系统本身,他们是此系统的外部环境;环境;银行系统要打印交易凭条,打印机对于系统来说是外部银行系统要打印交易凭条,打印机对于系统来说是外部环境;环境;银行系统可能与客户的工作单位的工资发放系统有交互,银行系统可能与客户的工作单位的工资发放系统有交互,那么客户工作单位的工资发放系统也是外部环境。那么客户工作单位的工资发放系统也是外部环境。而对于银行系统来说,使用此系统的银行的建筑格局、而对于银行系统来说,使用此系统的银行的建筑格局、人员构成、所处地域等就是此系统的内部环境。人员构成、所处地域等就是此系统的内部环境。18识别参与者:确定系统边界的作用识别参与者:确定系统边界的作用系统边界一确定,我们

14、就已经知道有哪些外部对象在与系统边界一确定,我们就已经知道有哪些外部对象在与系统进行交互,于是我们就可以在系统中为该对象设计系统进行交互,于是我们就可以在系统中为该对象设计相应的接口,从而实现这些交互。相应的接口,从而实现这些交互。如果这些外部环境改变了,我们可能要重新设计我们的如果这些外部环境改变了,我们可能要重新设计我们的接口。但不在系统边界上的因素我们就不用考虑。接口。但不在系统边界上的因素我们就不用考虑。19谁使用系使用系统的主要功能的主要功能谁改改变系系统的数据的数据谁从系从系统获取信息取信息谁需要系需要系统的支持以完成日常工作任的支持以完成日常工作任务谁负责日常日常维护、管理并保、

15、管理并保证系系统正常运行正常运行系系统需要需要应付(付(处理)那些硬理)那些硬设备系系统需要和那些外部系需要和那些外部系统交互交互谁(或什么)(或什么)对系系统运行运行产生的生的结果(果(值)感)感兴趣趣时间、气温等内部外部条件、气温等内部外部条件识别识别参与者:技巧参与者:技巧20识别参与者:棋牌馆管理系统识别参与者:棋牌馆管理系统目标:构建一个棋牌馆管理系统目标:构建一个棋牌馆管理系统问题描述:问题描述:客户客户通过通过InternetInternet预订座位,检查座位详情,如果没有空闲预订座位,检查座位详情,如果没有空闲的座位或满意的座位,可以选择进入等候队列。的座位或满意的座位,可以选

16、择进入等候队列。总台服务员总台服务员在客户到棋牌馆时,根据客户的预订信息,安排在客户到棋牌馆时,根据客户的预订信息,安排客户座位。客户座位。当客户要离开棋牌馆时,客户到总台服务员办理结账,可以当客户要离开棋牌馆时,客户到总台服务员办理结账,可以采用两种方式,一种是现金结账,另一种是银行卡结账,而采用两种方式,一种是现金结账,另一种是银行卡结账,而银行卡结账将通过与银行卡结账将通过与银联银联POSPOS系统系统交互来完成。交互来完成。21识别识别参与者:参与者的泛化参与者:参与者的泛化参与者的泛化表示一个一般性的参与者的泛化表示一个一般性的参与者(父参与者)与另一个更参与者(父参与者)与另一个更

17、为特殊的参与者(子参与者)之为特殊的参与者(子参与者)之间的联系。间的联系。子参与者继承了父参与者的行为子参与者继承了父参与者的行为和含义,还可以增加自己特有的和含义,还可以增加自己特有的行为和含义,子参与者可以出现行为和含义,子参与者可以出现在父参与者能出现的任何位置上。在父参与者能出现的任何位置上。如系统中经理可以参加雇员如系统中经理可以参加雇员的所有用例的所有用例22识别识别参与者:泛化关系的误用参与者:泛化关系的误用23识别识别用例(用例(use caseuse case) 分析典型用例是开发者准确迅速地分析典型用例是开发者准确迅速地分析典型用例是开发者准确迅速地分析典型用例是开发者准

18、确迅速地了解用户要求了解用户要求了解用户要求了解用户要求的最常用的最常用的最常用的最常用也是最有效的方法,是用户和开发者一起深入剖析也是最有效的方法,是用户和开发者一起深入剖析也是最有效的方法,是用户和开发者一起深入剖析也是最有效的方法,是用户和开发者一起深入剖析系统功系统功系统功系统功能需求能需求能需求能需求的起点。的起点。的起点。的起点。 “用例用例”是是Ivar Jacobson于于20世纪世纪6070年代在爱立信公年代在爱立信公司开发司开发AKE、AXE系列时发明的。系列时发明的。 “Object-oriented software engineering: a use case dr

19、iven approach”用例实例是在用例实例是在系统中执行系统中执行的的一系列动作一系列动作,这些动作将生成特定,这些动作将生成特定参与者可见参与者可见的的价值结果价值结果。一个用例定义一个用例定义一组用例实例一组用例实例,用例实例也就是常说的,用例实例也就是常说的“使用场使用场景景”,就是用户使用系统的一个实际的、特定的场景,就是用户使用系统的一个实际的、特定的场景24可可观测用例止于系用例止于系统边界界价价值结果果用例是有意用例是有意义的目的目标系系统执行行结果果值由系由系统生成生成由参与者由参与者观测业务语言、用言、用户观点点一一组用例用例实例例用例的粒度用例的粒度识别识别用例:用例

20、要点用例:用例要点25在系统外部描述与系统功能的交互,而不考虑系统在系统外部描述与系统功能的交互,而不考虑系统在系统外部描述与系统功能的交互,而不考虑系统在系统外部描述与系统功能的交互,而不考虑系统内部对该功能的实现方式。内部对该功能的实现方式。内部对该功能的实现方式。内部对该功能的实现方式。用例要点:用例止于系统边界用例要点:用例止于系统边界26用例要点:有意义的目标用例要点:有意义的目标27系统需要处理的,由系统生成系统需要处理的,由系统生成系统需要处理的,由系统生成系统需要处理的,由系统生成用例要点:结果值由系统生成用例要点:结果值由系统生成28用用户词汇,而不是技,而不是技术词汇如:如

21、:发票,商品,洗衣机票,商品,洗衣机而不是:而不是:记录,字段,字段,COMCOM,C+C+等等用例要点:业务语言而非技术语言用例要点:业务语言而非技术语言29用户观点用户观点用户观点用户观点系统观点系统观点系统观点系统观点用例要点:用户观点而非系统观点用例要点:用户观点而非系统观点30用例用例 VS. VS. 功能功能呼叫某人呼叫某人接听电话接听电话发送短信发送短信记住电话号码记住电话号码传输传输/接收接收电源电源/基站基站输入输出(显示、键盘)输入输出(显示、键盘)电话簿管理电话簿管理用户观点用户观点用户观点用户观点系统观点系统观点系统观点系统观点31识别用例:用例的命名识别用例:用例的命

22、名执行者视角:执行者视角:(状语)动词(状语)动词+(定语(定语 )宾语)宾语32识别识别用例:用例粒度用例:用例粒度最常犯错误:粒度过细,陷入功能分解最常犯错误:粒度过细,陷入功能分解把步骤当作用例把步骤当作用例把系统活动当作用例把系统活动当作用例33“四轮马车四轮马车”CRUDCRUD能为能为Actor提提供价值?供价值?CRUD掩盖业务,掩盖业务,锐变成关系数据库锐变成关系数据库的建模:的建模:“系统就是数据的系统就是数据的增删改查增删改查”关心数据的存储和关心数据的存储和维护,反而忽略了维护,反而忽略了用户的目的用户的目的用例粒度用例粒度34如果确如果确实是是CRUD?如果如果CRUD

23、不涉及复不涉及复杂的交互,一个用例的交互,一个用例“管理管理”即可即可不管是不管是C、R、U、D,都是,都是为了完成了完成“管理管理”目目标甚至很多种的基本数据管理都可以用一个用例表示甚至很多种的基本数据管理都可以用一个用例表示用例粒度用例粒度35灵活灵活处理理CRUD可以把包含复杂交互的路径独立出去形成用例可以把包含复杂交互的路径独立出去形成用例可以把包含复杂交互的路径独立出去形成用例可以把包含复杂交互的路径独立出去形成用例用例粒度用例粒度36思考:识别用例思考:识别用例Email客户端(如:客户端(如:outlook express),),A在北京发邮在北京发邮件给上海的件给上海的B,B收

24、邮件收邮件37识别识别用例:用例的获取用例:用例的获取 找出用例的最简单途径是对参与者提问,然后从找出用例的最简单途径是对参与者提问,然后从答案中获取用例答案中获取用例:参与者的主要任务是什么参与者的主要任务是什么?参与者需要了解系统的什么信息参与者需要了解系统的什么信息? 需要修改系统的什么信需要修改系统的什么信息息?参与者是否需要把系统外部的变化通知系统参与者是否需要把系统外部的变化通知系统?参与者是否希望系统把异常情况通知自己参与者是否希望系统把异常情况通知自己?38目标:构建一个棋牌馆管理系统目标:构建一个棋牌馆管理系统问题描述:问题描述:客户客户通过通过InternetInterne

25、t预订座位预订座位,检查座位详情检查座位详情,如果没有空闲,如果没有空闲的座位或满意的座位,可以选择的座位或满意的座位,可以选择进入等候队列进入等候队列。总台服务员总台服务员在客户到棋牌馆时,根据客户的预订信息,在客户到棋牌馆时,根据客户的预订信息,安排安排客户座位客户座位。当客户要离开棋牌馆时,客户到总台服务员当客户要离开棋牌馆时,客户到总台服务员办理结账办理结账,可以,可以采用两种方式,一种是采用两种方式,一种是现金结账现金结账,另一种是,另一种是银行卡结账银行卡结账,而,而银行卡结账将通过与银行卡结账将通过与银联银联POSPOS系统系统交互来完成。交互来完成。识别用例:棋牌馆管理系统识别

26、用例:棋牌馆管理系统39ExtendIncludeGeneralization用例用例之间的关系之间的关系泛化关系中,子用例继承父用例的行为和含义,子用例也泛化关系中,子用例继承父用例的行为和含义,子用例也可以增加新的行为和含义或覆盖父用例中的行为和含义可以增加新的行为和含义或覆盖父用例中的行为和含义一个用例(称作基本用例)的行为包含了另一个用例(称一个用例(称作基本用例)的行为包含了另一个用例(称作包含用例)的行为作包含用例)的行为扩展关系比泛化关系用更多的规则限制,基础用例提供扩扩展关系比泛化关系用更多的规则限制,基础用例提供扩展点,扩展用例只能在这些扩展点上增加新的行为。展点,扩展用例只

27、能在这些扩展点上增加新的行为。40泛化关系泛化关系同一业务目的不同技术实现同一业务目的不同技术实现一个用例可以特化另一个更普通用例(更普通一个用例可以特化另一个更普通用例(更普通用例泛化特殊用例)用例泛化特殊用例)用例间的泛化关系表明子用例包含父用例中定用例间的泛化关系表明子用例包含父用例中定义的所有属性、行为序列和扩展点,并且参与义的所有属性、行为序列和扩展点,并且参与父用例中所有的关系父用例中所有的关系41一个售货员可以终止任何交易,除了那些需要特殊的售一个售货员可以终止任何交易,除了那些需要特殊的售货员(高级代理)终止的超过了一定限制的交易货员(高级代理)终止的超过了一定限制的交易泛化的

28、危害泛化的危害42扩展关系扩展关系常规动作放在一个基本的用例中,将非常规动作放在常规动作放在一个基本的用例中,将非常规动作放在它的扩展用例中。它的扩展用例中。基本用例是可以独立于扩展用例存在的,只是在特定基本用例是可以独立于扩展用例存在的,只是在特定的条件下,它的行为可以被另一个用例的行为所扩展的条件下,它的行为可以被另一个用例的行为所扩展 。扩展用例通过引用扩展点(扩展用例通过引用扩展点(extension point)建立与)建立与基用例的联系,扩展点指明了在基本用例中的扩展位基用例的联系,扩展点指明了在基本用例中的扩展位置置43扩展关系的误用扩展关系的误用44识别扩展关系识别扩展关系系统

29、验证系统验证步骤失败步骤失败45包含关系包含关系某些步骤在多个用例重复出现,且单独形成价值某些步骤在多个用例重复出现,且单独形成价值被包含的用例不是孤立存在的,它仅作为某些包含它被包含的用例不是孤立存在的,它仅作为某些包含它的更大的基用例的一部分出现的更大的基用例的一部分出现用例步骤较多时,可用用例步骤较多时,可用Include简化(慎用)简化(慎用)46包含关系的误用包含关系的误用包含关系使用不当容易包含关系使用不当容易诱使人使人们进行功能分解,从而行功能分解,从而导致致对用例的用例的误用用47包含:由用例包含:由用例A连向用例向用例B,表示用例,表示用例A中使用了用例中使用了用例B中的行中

30、的行为或功能或功能一个基本用例一个基本用例执行行时,一定会,一定会执行包含用例的部分。行包含用例的部分。扩展:由用例展:由用例B连向用例向用例A,表示用例,表示用例A描述了一描述了一项基本基本需求,而用例需求,而用例B则描述了描述了该基本需求的特殊情况,即一种基本需求的特殊情况,即一种扩展展扩展用例的目的是在不改展用例的目的是在不改变某个已存在(或假定存在)的某个已存在(或假定存在)的用例的前提下用例的前提下为之增添新行之增添新行为。一个基本用例一个基本用例执行行时,可以,可以执行、也可以不行、也可以不执行行扩展部分。展部分。扩展扩展VSVS包含包含48扩展和包含用例本展和包含用例本质上其上其

31、实非常相似,都表示从基本用非常相似,都表示从基本用例中抽取一些行例中抽取一些行为放到一个放到一个单独的用例中。独的用例中。扩展和包含用例都与基本用例相展和包含用例都与基本用例相联。在基用例的。在基用例的执行行过程程中,可能在某种条件下基本用例的中,可能在某种条件下基本用例的执行被中断,行被中断,转而而执行行扩展或包含用例(附加用例)。当附加用例展或包含用例(附加用例)。当附加用例执行完行完毕,控,控制将返回到基用例原来被中断的那个位置恢复制将返回到基用例原来被中断的那个位置恢复执行。行。它它们的主要区的主要区别在于用例在于用例实例中断基本用例、例中断基本用例、执行附加行附加用例的方式用例的方式

32、包含用例一定会包含用例一定会执行,行,扩展用例只有在特殊情况下才能展用例只有在特殊情况下才能执行。行。扩展扩展VSVS包含包含49老大知道老二老大知道老二老二知道老大老二知道老大什么时候该我上什么时候该我上场呢?不知道!场呢?不知道!出现这种情况,出现这种情况,就该我上场了!就该我上场了!扩展扩展VSVS包含包含50采用不同关系,文档结构不同采用不同关系,文档结构不同采用不同关系,文档结构不同采用不同关系,文档结构不同扩展扩展VSVS泛化泛化51基本用例基本用例( (扩展关系中扩展关系中) )扩展用例扩展用例( (扩展关系中扩展关系中) )基本用例基本用例( (包含关系中包含关系中) )包含用

33、例包含用例( (包含关系中包含关系中) )用例用例之间的关系:网上购物的部分用例之间的关系:网上购物的部分用例52用例之间的关系:几种关系的符号用例之间的关系:几种关系的符号关系类型关系类型说明说明表示符号表示符号关联关联actor与与use case之间之间泛化泛化actor之间或之间或use case之间之间包含包含use case之间之间扩展扩展use case之间之间53当描述一般行当描述一般行为的某种的某种变化化时,采用泛化关系。,采用泛化关系。当描述一般行当描述一般行为的某种的某种变异且希望通异且希望通过基用例中的基用例中的扩展展点来加以控制点来加以控制时,则应采用采用扩展关系。展

34、关系。当两个或更多的用例中出当两个或更多的用例中出现重复描述而又想避免重复描述而又想避免这种重种重复复时,采用包含关系。,采用包含关系。用例用例之间的关系:之间的关系:用例关系的应用用例关系的应用54脚本脚本(scenario)在在UML中指贯穿用例的一条单一路径中指贯穿用例的一条单一路径, 用来显示用来显示用例中的某种特殊情况用例中的某种特殊情况.其它译名其它译名: 情景、场景、情节、剧本情景、场景、情节、剧本.每个用例有一系列脚本每个用例有一系列脚本, 包括一个主要脚本包括一个主要脚本, 以及几个次要脚本以及几个次要脚本. 相对于主要脚本相对于主要脚本, 次要脚本描述了执行路径中的异常或可

35、选择次要脚本描述了执行路径中的异常或可选择的情况的情况.例:在例:在“订货订货”用例中包括几个相关脚本:用例中包括几个相关脚本:订货顺利进行的脚本订货顺利进行的脚本;相关货源不足时的脚本相关货源不足时的脚本;购货者的信用卡被拒绝时的脚本购货者的信用卡被拒绝时的脚本;脚本脚本55方法方法1 1一个用例一个用例/ /三个脚本三个脚本方法方法2 2 三个用例三个用例脚本示例脚本示例56构建构建用例图用例图57用例描述用例描述用例描述是指对一个用例的功能进行的文字描述用例描述是指对一个用例的功能进行的文字描述, 是参与者与是参与者与系统交互动作序列的说明系统交互动作序列的说明.用例描述才是用例的主要部

36、分用例描述才是用例的主要部分, , 是后续的是后续的交互图分析和类图分析必不可少的部分交互图分析和类图分析必不可少的部分. .用例采用自然语言描述参与者与系统的交互行为用例采用自然语言描述参与者与系统的交互行为,要易于理解要易于理解. 其读者是开发人员、用户、项目经理、测试人员等其读者是开发人员、用户、项目经理、测试人员等.58用例描述:用例描述的内容用例描述:用例描述的内容用例的目用例的目标用例是怎么启用例是怎么启动的的参与者与用例之参与者与用例之间的消息如何的消息如何传送送用例中除了主路径外用例中除了主路径外, 其它路径是什么其它路径是什么用例用例结束后系束后系统的状的状态其它需要描述的内

37、容其它需要描述的内容描述用例时的原则是尽可能写得描述用例时的原则是尽可能写得“充分充分”, 而不是形而不是形式化、完整或漂亮式化、完整或漂亮.59描述项描述项说明说明用例名称用例名称表明用户的意图或用例的用途表明用户的意图或用例的用途标识符标识符可选可选惟一标识符惟一标识符, 便于引用该用例便于引用该用例用例描述用例描述概述用例的几句话概述用例的几句话参与者参与者与此用例相关的参与者与此用例相关的参与者优先级优先级一个有序的排列一个有序的排列, 1代表优先级最高代表优先级最高状态状态可选可选用例状态用例状态, 可以是可以是: 进行中进行中, 等待审查等待审查, 通过审查通过审查, 未通过审查未

38、通过审查前置条件前置条件一个条件列表一个条件列表, 这些条件必须在访问用例前得到满足这些条件必须在访问用例前得到满足后置条件后置条件一个条件列表一个条件列表, 这些条件必须在用例完成之后得到满足这些条件必须在用例完成之后得到满足基本操作流程基本操作流程描述用例中各项工作都顺利进行时用例的工作方式描述用例中各项工作都顺利进行时用例的工作方式可选操作流程可选操作流程描述变异工作方式、出现异常或发生错误的情况下的路径描述变异工作方式、出现异常或发生错误的情况下的路径用例用例描述:用例的描述格式描述:用例的描述格式60描述项描述项说明说明被泛化的用例被泛化的用例此用例所泛化的用例列表此用例所泛化的用例

39、列表被包含的用例被包含的用例此用例所包含的用例列表此用例所包含的用例列表被扩展的用例被扩展的用例此用例所扩展的用例列表此用例所扩展的用例列表修改历史记录修改历史记录可选可选关于用例的修改时间、修改原因、修改人的详细信息关于用例的修改时间、修改原因、修改人的详细信息问题问题可选可选与此用例的开发有关的问题列表与此用例的开发有关的问题列表决策决策可选可选关键决策的列表关键决策的列表, 将这些决策信息记录下来以便维护时使用将这些决策信息记录下来以便维护时使用频率频率可选可选参与者访问此用例的频率参与者访问此用例的频率, 如如: 每日一次每日一次/每月一次等每月一次等用例的描述格式用例的描述格式( (

40、续表续表) )61用例用例描述:描述用例时易出现的错误描述:描述用例时易出现的错误只描述系统的行为只描述系统的行为, 没有描述参与者的行为没有描述参与者的行为只描述参与者的行为只描述参与者的行为, 没有描述系统的行为没有描述系统的行为在用例描述中就设定了对用户界面的设计的要求在用例描述中就设定了对用户界面的设计的要求描述过于冗长描述过于冗长62Use case: Withdraw cashActor: customer主事件流:主事件流:(1)储户插入储户插入ATM卡卡,并输入密码并输入密码(2)储户按储户按“取款取款”按钮按钮,并输入并输入取款数目取款数目(3)储户取走现金储户取走现金/AT

41、M卡卡/收据收据(4)储户离开储户离开Use case: Withdraw cashActor: customer主事件流:主事件流:ATM系统获得系统获得ATM卡和密码卡和密码设置交易类型为设置交易类型为“取款取款”ATM系统获得取款金额系统获得取款金额输出现金、收据和输出现金、收据和ATM卡卡系统复位系统复位ATMATM系统系统“ “取款取款” ”用例的两个错误描述:用例的两个错误描述:只描述了只描述了actor的行为的行为只描述了只描述了System的行为的行为63Use case: Withdraw cashActor: customer主事件流:主事件流:储户通过读卡机插入储户通过读

42、卡机插入ATM卡卡ATM系统从卡上读取银行系统从卡上读取银行ID、账号、加密密码、账号、加密密码, 并通过主银行并通过主银行系统验证银行系统验证银行ID和账号和账号储户输入密码储户输入密码, ATM系统根据加密密码对输入密码进行验证系统根据加密密码对输入密码进行验证储户按储户按 “取款取款”按钮按钮, 并输入取款数目并输入取款数目, 该数目应该为该数目应该为$5的倍的倍数数ATM系统通知主银行系统系统通知主银行系统, 传递账号和金额传递账号和金额, 并接收返回的确并接收返回的确认信息和账户余额认信息和账户余额ATM系统输出现金、系统输出现金、ATM卡和收据卡和收据ATM系统记录交易到日志文件系

43、统记录交易到日志文件ATMATM系统系统“ “取款取款” ”用例的正确描述用例的正确描述64用例描述:用例描述:前置、后置条件前置、后置条件-1-1前置条件约束在用例开始前系统的状态前置条件约束在用例开始前系统的状态把它们看做是看门人,它阻止参与者触发该用例把它们看做是看门人,它阻止参与者触发该用例直到满足所有条件直到满足所有条件说明在用例触发之前什么必须为真说明在用例触发之前什么必须为真后置条件约束用例执行后系统的状态后置条件约束用例执行后系统的状态用例执行后什么必须为真用例执行后什么必须为真对于有多个操作流的用例,则应该有多个后置条对于有多个操作流的用例,则应该有多个后置条件件65用例描述

44、:用例描述:前置、后置条件前置、后置条件-2-2某些用例依某些用例依赖于其他用例于其他用例一个用例在离开系一个用例在离开系统时,可能是另一个用例的前置,可能是另一个用例的前置条件(例如:条件(例如:“登登录”和和“管理系管理系统”)有助于有助于识别漏掉的用例漏掉的用例如果一个用例的前置条件不能有如果一个用例的前置条件不能有执行其他用例行其他用例满足,足,可能意味着可能意味着丢失了用例(例如:失了用例(例如:“管理管理订单”却没却没有有“登登录”用例)用例)66用例描述示例用例描述示例1.1.用例名称:处理银行卡结帐用例名称:处理银行卡结帐2.2.标识符:标识符:3.3.用例描述:客户来到付款处

45、,总台服务员记录客户离用例描述:客户来到付款处,总台服务员记录客户离开信息并接受付款,付款完成后,客户离开。开信息并接受付款,付款完成后,客户离开。4.4.参与者:总台服务员,参与者:总台服务员,POSPOS系统系统5.5.前置条件:客户退出棋牌桌。前置条件:客户退出棋牌桌。6.6.后置条件:无后置条件:无7.7.基本操作流基本操作流8.8.可选操作流可选操作流4.4.非功能需求非功能需求7.7.扩展点:无扩展点:无8.8.优先级:最高(满意度优先级:最高(满意度 5 5,不满意度,不满意度5 5) 67用例描述示例用例描述示例基本操作流基本操作流1.1.系统显示客户的消费总额。系统显示客户的

46、消费总额。2.2.总台服务员接收客户的银行卡。总台服务员接收客户的银行卡。3.3.客户输入密码,客户输入密码,POSPOS系统对密码进行验证。系统对密码进行验证。4.POS4.POS系统返回确认消息。系统返回确认消息。5.5.系统打印付款收据系统打印付款收据6.6.总台服务员将银行卡和打印付款收据交给客户总台服务员将银行卡和打印付款收据交给客户7.7.系统记录本次交易系统记录本次交易8.8.客户离开客户离开可选操作流可选操作流第第2 2步:如果输入的密码不正确,系统显示出错信息步:如果输入的密码不正确,系统显示出错信息第第7 7步:客户没有足够的现金,则系统显示出错信息,付步:客户没有足够的现

47、金,则系统显示出错信息,付款不成功。款不成功。68用例描述:操作用例描述:操作流描述要点流描述要点只只书写写“可可观测”的(的(说人人话)使用主使用主动语句句句子必句子必须以参与者或系以参与者或系统作作为主主语不要涉及界面不要涉及界面细节分支和循分支和循环69要点要点1 1:只写:只写“ “可观测可观测” ”的的系系统通通过ADO建立数据建立数据库连接,接,传送送SQL查询语句,句,从从“商品表商品表”查询商品的商品的详细信息信息系系统按照按照查询条件搜索商品的条件搜索商品的详细信息信息70要点要点2 2:主动语句:主动语句欧文欧文丛贝克克汉姆姆处得到得到传球,守球,守门员贝克克汉姆姆传球球给

48、欧文,欧文射欧文,欧文射门,守,守门员扑救扑救出出纳员系系统71要点要点3 3:以参与者或系统作主语:以参与者或系统作主语参与者参与者系系统出出纳员接收接收顾客的付款客的付款顾客的付款数可能高于商客的付款数可能高于商品品总额出出纳员录入入顾客所付的客所付的现金金总额系系统显示出示出应找找还给顾客的余客的余额,打印付款收据,打印付款收据72要点要点4 4:不涉及界面细节:不涉及界面细节会会员从下拉框中从下拉框中选择类别会会员在相在相应文本框中文本框中输入入查询条件条件会会员点点击“确定确定”按按钮73要点要点5 5:分支和循环:分支和循环分支:放到分支:放到扩展路径展路径参与者的参与者的选择另一

49、条成功另一条成功线路路系系统进行行验证循循环:直接描述:直接描述循循环执行步行步骤x到到y,直到条件,直到条件满足足74思考:旅店管理系统思考:旅店管理系统某公司要开发一个旅店管理系统,该旅店可对外开放某公司要开发一个旅店管理系统,该旅店可对外开放某公司要开发一个旅店管理系统,该旅店可对外开放某公司要开发一个旅店管理系统,该旅店可对外开放1010个双人间和个双人间和个双人间和个双人间和1010个单人间,房间个单人间,房间个单人间,房间个单人间,房间费用视情况按季节调整费用视情况按季节调整费用视情况按季节调整费用视情况按季节调整,但周一到周五半价(周末全价)折扣不变。对于外界请求,但周一到周五半

50、价(周末全价)折扣不变。对于外界请求,但周一到周五半价(周末全价)折扣不变。对于外界请求,但周一到周五半价(周末全价)折扣不变。对于外界请求,该系统应能根据请求入住时间该系统应能根据请求入住时间该系统应能根据请求入住时间该系统应能根据请求入住时间预定指定档次的房间预定指定档次的房间预定指定档次的房间预定指定档次的房间,记录,记录,记录,记录旅客姓名、地址、联系电话、有效证件号、房间类型和预旅客姓名、地址、联系电话、有效证件号、房间类型和预旅客姓名、地址、联系电话、有效证件号、房间类型和预旅客姓名、地址、联系电话、有效证件号、房间类型和预定天数,并定天数,并定天数,并定天数,并计算出总费用计算出

51、总费用计算出总费用计算出总费用。预定的同时旅客按规定须提交。预定的同时旅客按规定须提交。预定的同时旅客按规定须提交。预定的同时旅客按规定须提交10%10%定金。六个小时之内旅店允许旅客定金。六个小时之内旅店允许旅客定金。六个小时之内旅店允许旅客定金。六个小时之内旅店允许旅客取消预定取消预定取消预定取消预定,并,并,并,并退退退退回所有定金,超过六个小时定金不退还回所有定金,超过六个小时定金不退还回所有定金,超过六个小时定金不退还回所有定金,超过六个小时定金不退还。每周一系统。每周一系统。每周一系统。每周一系统自动自动自动自动打印一周预定情况清单打印一周预定情况清单打印一周预定情况清单打印一周预

52、定情况清单。采用哪种费用支付方式和何种类。采用哪种费用支付方式和何种类。采用哪种费用支付方式和何种类。采用哪种费用支付方式和何种类型操作界面尚不确定。型操作界面尚不确定。型操作界面尚不确定。型操作界面尚不确定。75ReferencesReferencesCock00, Alistair Cockburn, Writing Effective Use Cases(王雷,(王雷,张莉莉译,编写有效用例,机械工写有效用例,机械工业出版出版社,社,2002年)年)Schn00, Geri Schneider, Jason P.Winters, Applying Use Cases, Second Edition(姚淑珍,李巍(姚淑珍,李巍译,用例分,用例分析技析技术,机械工,机械工业出版社,出版社,2002年)年)Arri02CT Arrington, Enterprise Java with UML(马波,李雄波,李雄锋译,Enterprise Java with UML中文版,机中文版,机械工械工业出版社,出版社,2003年)年)DEV475IBM Rational, Mastering Object-Oriented Analysis and Design with UML, 2003

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号