1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,用例与用例图,面向对象的,UML,设计基础,翟亚红,计算机工程系,1,主要内容,基本概念,:,Use case,、,Actor,、,Scenario,Use case,间的关系,Use Case,分析技术,案例讲解,2,Use Case,定义,定义,1,:用例,是对一个活动者,(actor),使用系统的一项功能时所进行的交互过程的一个文字描述序列,。,定义,2,:用例是系统、子系统或类和外部的参与者(,actor,)交互的动作序列的说明,包括可选的动作序列和会出现异常的动作序列。,3,Use Case,特
2、点,用例是代表系统中各个项目相关人员之间就系统的行为所达成的契约。它有如下一些特点:,用例描述了用户提出的一些可见的需求,对应一个具体的用户目标;,用例从使用系统的角度描述系统中的信息,即站在系统外部察看系统功能,而不考虑系统内部对该功能的具体实现形式;,用例是对系统行为的动态描述,属于,UML,的动态建模部分;,用例并不是系统的全部需求,,用例描述的只是,功能性方面,的需求。,4,定义:参与者是指系统以外的、需要使用系统或与系统交互的东西,包括人、设备、外部系统等。通过系统边界与系统进行有意义交互。,参与者未必是人,可以是设备、外部系统等。,一个参与者可以执行多个用例,一个用例也可以由多个参
3、与者使用。,参与者并不是系统的一部分,,尽管在模型中会使用参与者。,参与者(,Actor,),参与者的三种表现形式,5,参与者,识别思路,谁使用该系统,谁改变系统的数据,谁从系统获取信息,谁需要系统的支持以完成日常工作任务,谁负责维护、管理并保持系统正常运行,谁对系统运行产生的结果感兴趣,系统需要应付那些硬件,设备,系统需要和那些,外部系统,交互,6,案例:,库存管理系统,某汽车制造厂需要一套,库存管理系统,,该系统实现的业务:,生产工人根据生产计划领取物料,库存操作员根据,生产系统,的派单,将物料交付给领料工人,余料即时归还库房。库房管理人员定期盘点库存,通知供应商供货,对长期积存的货物,申
4、请退货。,7,识别思路:,谁使用该系统,谁改变系统的数据,谁从系统获取信息,谁需要系统的支持以完成日常工作任务,谁负责维护、管理并保持系统正常运行,系统需要应付哪些硬件设备,系统需要和哪些外部系统交互,谁对系统运行产生的结果感兴趣,操作员,管理员,领料员,退料员,操作员,管理员,供应商,管理员,生产系统,供应商系统,操作员,管理员,领料员,退料员,操作员,管理员,操作员,管理员,8,库存管理系统的参与者,9,10,2、用例(,Use Case),用例描述了系统的功能需求,是系统的一组动作序列的描述。,用例的本质是用户与计算机之间的一次交互作用,。,11,识别用例,执行者使用这个系统达到什么目标
5、语法测试:,【,执行者,】,使用系统来,【,用例,】,12,识别用例,有意义的目标,13,识别用例,业务语言而非技术语言,14,识别用例,用户观点而非系统观点,用户观点,系统观点,15,识别用例,用例命名:,通常采用动宾语结构或主谓结构命名,16,脚本(,scenario),在,UML,中,脚本指贯穿用例的一条单一路径,用来显示用例中的某种特殊情况。,脚本是用例的实例,脚本与用例的关系相当于对象和类的关系。,每个用例都有一系列的脚本,包括一个主要脚本和多个次要脚本。次要脚本描述了执行路径中的异常或可选择的情况。,17,脚本(,scenario),例:在,“,订货,”,这个用例中,包含着几个
6、相关的脚本。一个是订货进行顺利的脚本;一个是相关货源不足的脚本;一个是涉及购货者的信用卡被拒的脚本等。这些脚本的组合构成了一个用例。,18,主要内容,基本概念,:,Use case,、,Actor,、,Scenario,Use case,间的关系,Use Case,分析技术,案例讲解,19,关系,参与者与用例之间,关联关系,用例与用例之间,包含关系(,include),扩展关系(,extend),泛化关系(,generalization),参与者与参与者之间,泛化关系(,generalization),20,关系,参与者与用例之间,关联关系,描述参与者与使用用例之间的关系。在,UML,中,关系
7、用实线表示,实线可以有箭头,也可以没有箭头。,例:参与者与用例,通过关联相连。,21,1),包含关系,(,include),包含关系指两个用例之间的关系,其中一个用例(即基本用例)的行为包含了另一个用例(即包含用例)的行为。,包含关系中箭头的方向是从基本用例到包含用例。,用例间的关系,包含关系,22,用例间的关系,包含关系,本例中,用例,“,Check Credit,”,检查输入的信用卡号,是否有效以及信用卡是否有足够的资金。,23,2),扩展关系(,extend),扩展关系允许一个用例(可选)扩展另一个用例的功能。,扩展只能发生在基本用例的序列中某个特定的点上,这个点叫,扩展点,。,扩展关系
8、中基本用例本身是完整的。,在扩展关系中,箭头的方向是从扩展用例到基本用例。,用例间的关系,扩展关系,24,用例间的关系,扩展关系,25,3),泛化关系,泛化关系其实是子类与父类的关系。和类之间的泛化关系一样,用例和参与者也可以继承另一个用例和参与者。,泛化的示例:银行,存款,有两种方式,一种是,银行柜台存款,,一种是,ATM,机存款,。,用例间的关系,泛化关系,26,关系,参与者与参与者之间,泛化关系,Customer,Company,Personal,27,用例的,粒度,用例的粒度指用例所包含的系统服务或功能单元的多少。用例的粒度越大,用例包含的功能越多,反义包含的功能越少。,例:学生管理系
9、统中维护学生信息用例图如下:,28,主要内容,基本概念,:,Use case,、,Actor,、,Scenario,Use case,间的关系,Use Case,分析技术,案例讲解,29,用例的描述,没有描述的,Use Case,就像是一本书的目录,从用例的定义也可以看出,用例是一个,“,文字描述序列,”,,是,“,动作序列的说明,”,。,用例的描述,是用例的主要部分,是后续的交互图分析和类图分析必不可少的部分。,30,用例的描述,一般说来,用例采用,自然语言,描述参与者与系统进行交互时双方的行为,不追求形式化的语言表达(面向不同人员)。,31,用例描述的内容,用例的目标,用例是怎么启动的,参
10、与者和用例之间的消息是如何传送的,用例中除了主路径外,其他路径是什么,用例结束后的系统状态,其他需要描述的内容,用例描述原则:尽可能写的,“,充分,”,,而不是追求写的形式化、完整或漂亮。,32,33,书写用例文档,路径交互步骤的描述,只书写“可观测”的,使用主动语句,句子必须以执行者或系统作为主语,每一句都要朝目标迈进,分支和循环,不要涉及界面细节,34,书写用例文档,路径交互步骤的描述,(1),系统通过,ADO,建立数据库连接,传送,SQL,查询语句,从“零件”表查询,系统按照查询条件搜索零件,只书写“可观测”的,35,书写用例文档,路径交互步骤的描述,(2),系统从会员处获取用户名和密码
11、会员提交用户名和密码,使用主动语句,用户名和密码被验证,系统验证用户名和密码,36,书写用例文档,路径交互步骤的描述,(3),执行者,系统,系统,执行者,句子必须以执行者或系统作为主语,37,书写用例文档,路径交互步骤的描述,(4),执行者填写姓名,执行者填写电话,执行者填写联系地址,执行者提交,每一句话都要朝目标迈进,38,书写用例文档,路径交互步骤的描述,(5),分支:放到扩展路径,循环:直接描述,分支和循环,39,书写用例文档,路径交互步骤的描述,(6),会员从下拉框中选择类别,会员在相应文本框中输入查询条件,会员点击“确定”按钮,不要涉及到界面细节,40,常见错误,只描述系统的行为,
12、没有描述参与者的行为,只描述参与者的行为,没有描述系统的行为,在用例描述中就设定对用户界面设计的详细要求,描述过于冗长,41,Use Case,:,取款,Actor,:,储户,主事件流:,1,、储户插入,ATM,卡,并键入密码;,2,、储户按,“,取款,”,按钮,并键入取款数目;,3,、储户取走现金、,ATM,卡并拿走收据;,4,、储户离开。,问题:只描述了参与者的动作序列,而没有描述系统的行为,ATM,取款案例,42,ATM,取款案例,Use Case,:,取款,Actor,:,储户,主事件流:,1,、,ATM,系统获得,ATM,卡和密码;,2,、设置事物类型为取款;,3,、,ATM,系统获
13、取要提取的现金数目;,4,、验证帐户上是否有足够储蓄金额;,5,、输出现金、数据和,ATM,卡;,6,、系统复位。,问题:只描述了,ATM,系统的行为,而没有描述参与者的行为,43,ATM,取款(修改后的描述),Use Case,:,取款,Actor,:,储户,主事件流:,1,、通过读卡机,储户插入,ATM,卡;,2,、,ATM,系统从卡上读取银行,ID,、帐号、加密密码、并用主银行系统验证银行,ID,和帐号;,3,、储户按,“,取款,”,按钮,,ATM,系统根据上面读出的卡上加密密码,对密码进行验证;,4,、储户按,“,快速取款,”,按钮,并键入取款数量,取款数量应该是,100,的倍数;,5
14、ATM,系统通知主银行系统,传递储户帐号和取款数量,并接收返回的确认信息和储户帐户余额;,6,、,ATM,系统输出现金、,ATM,卡和显示帐户余额的收据;,7,、,ATM,系统记录事务到日志文件,;,44,用例描述分析,Use Case:Buy Something,参与者:,Customer,主事件流:,1,、系统显示,ID,和密码窗口;,2,、顾客键入,ID,和密码,然后按,OK,键;,3,、系统验证顾客,ID,和密码,并显示个人信息窗口;,4,、顾客键入姓名、街道地址、城市、邮政编码、电话号码,然后按,OK,键;,5,、系统验证用户是否为老顾客;,6,、系统显示可以卖的商品列表;,7
15、顾客在准备购买的商品图片上单击,并在图片旁边输入要购买的数量。选购商品完毕后按,Done,按钮;,8,、系统通过库存系统验证要购买的商品是否有足够库存;,.,(后续描述省略),问题:对用户界面的描述过于详细,对于需求文档来说,,详细的用户描述对获取需求并无帮助。,45,改进后的描述,Use Case,:,Buy Something,参与者:,Customer,主事件流:,1,、顾客使用,ID,和密码进入系统;,2,、系统验证顾客身份;,3,、顾客提供姓名、地址、电话号码;,4,、系统验证顾客是否为老顾客;,5,、顾客选择要购买的商品和数量;,6,、系统通过库存系统验证要购买的商品是否有足够
16、库存,.,(后续描述省略),46,主要内容,基本概念,:,Use case,、,Actor,、,Scenario,Use case,间的关系,Use Case,分析技术,案例讲解,47,案例,1,:,ATM,系统,建立一个具有基本功能的,ATM,机软件,客户可以存钱,取钱,客户可以查询帐户余额,客户可以修改密码,客户可以进行转帐,48,需求建模,用例图,建立用例图分为以下几个步骤:,确定参与者(,Actors),创建用例(,Use Case),创建参与者(,Actors,),用例(,Use Case),关系图,49,参与者,系统用户,与本系统交互的其他系统,50,确定参与者(,Actor),5
17、1,创建用例(,Use Case),用例是参与者启动的,基于这样的考虑,,ATM,系统根据业务流程大致可以分为以下的几个用例:,客户取钱,客户存钱,客户查询余额,客户转帐,客户更改密码,52,建立用例,图,53,完整用例图,54,建立事件流(,用例描述,),事件流的目的是建立使用用例中的逻辑流程,详细描述系统的工作。,55,用例,“,取钱,”,的事件流,(1),简要说明:客户可以从,ATM,机上取出自己帐目上的部分或者全部存款。,前提条件:无,主事件流:,56,客户将卡插入,ATM,机,开始用例。,ATM,显示欢迎消息并提示客户输入密码。,客户输入密码。,ATM,确认密码有效。如果无效则执行其
18、他事件流,A1,。,如果与主机联接有问题,则,执行异常事件流,E1,。,ATM,提供以下选项:存钱,取钱,查询。,用户选择取钱选项。,ATM,提示输入所取金额。,用户输入所取金额。,ATM,确定该帐户是否有足够的金额。如果余额不够,则执行,A2,,,如果与主机联接有问题,则执行,异常事件流,E1,。,ATM,从客户帐户中减去所取金额。,ATM,向客户提供要取的钱。,ATM,打印清单。,ATM,退出客户的卡,用例结束。,57,其他事件流,A1,:,输入无效密码,ATM,告诉客户该密码错误。,ATM,退出客户的卡,用例结束。,其他事件流,A2,:,余额不足,ATM,告诉客户该帐户余额不足。,ATM
19、退出客户的卡,用例结束。,异常事件流,E1:,联接主机出现错误,ATM,告诉客户联接主机出现错误。,ATM,在错误日志记下错误。,ATM,退出客户的卡,用例结束。,事后条件:无,58,案例,2,:远程网络教学系统,网络的普及带给了人们更多的学习途径,随之用来管理远程网络教学的,“,远程网络教学系统,”,也诞生了。,“,远程网络教学系统,”,的功能需求包括:,(1),学生登录网站后,可以浏览课件、查找课件、下载课件、观看教学视频。,(2),教师登录网站后,可以上传课件、上传教学视频、发布教学心得、查看教学心得、修改教学心得。,(3),系统管理员负责对网站页面的维护,审核不法课件和不法教学信息,
20、批准用户注册。,59,(,1,)学生需要登录,“,远程网络教学系统,”,后才能正常使用该系统所有功能。如果忘记密码,可以通过,“,找回密码,”,功能找回密码。登录后学生可以浏览课件、查找课件、下载课件、观看教学视频,请画出学生参与者的用例图。,60,(,2,)教师登录,“,远程网络教学系统,”,后可以上传课件、上传教学视频课件、发布教学心得、修改教学心得。如果忘记密码,可以通过,“,找回密码,”,功能找回密码。请画出教师参与者的用例图。,61,练习,1:,仔细阅读图书管理系统的需求并给出完整的用例图。,1.,这是一个图书馆支持系统;,2.,图书馆将图书和杂志借给,借书,者。借书者已经预先注册,
21、图书和杂志也预先注册;,3.,图书馆负责新书的购买。每一本图书都购进多本书,当旧书超期或破旧时可从图书馆中清除掉。,4.,图书管理员,是图书馆的员工。他们的工作就是和读者打交道并在软件系统的支持下工作。,5.,借阅人,可以预定当前没有的图书和杂志。这样,当他所预定的图书和杂志归还回来或购进时,就通知预定人。当预定了某书的借书者借阅了该书后,,预定,就取消。或者通过显式的取消过程强行,取消预定,。,6.,图书馆能够容易地建立、修改和删除标题、借书者、借阅信息和预定信息。,62,系统用例图,63,练习,2,:仔细阅读教师在线系统的需求然后画出完整的用例图。,教师在线答疑系统需求描述:,1,、它是一个用于教师和学生之间进行即时沟通的系统。,2,、系统由教师使用的教师端,学生使用的学生端和一个有公网地址的登陆服务端组成。,3,、教师登陆系统后会在教师列表中出现,并显示出他的专业、姓名、专长和状态是否忙等信息。也可以看到其他所有登录的教师的信息。,4,、学生登陆后可以看到所有已经登录的教师列表。,5,、学生可以选择一个不忙的教师进行问题咨询,和选择的教师建立连接后就可以通过语音加白板和教师进行交流。此时其他学生将看到该教师处于忙的状态。,64,65,
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818