收藏 分享(赏)

uml第03章 用例和用例图.ppt

上传人:hwpkd79526 文档编号:10135968 上传时间:2019-10-13 格式:PPT 页数:53 大小:587.50KB
下载 相关 举报
uml第03章 用例和用例图.ppt_第1页
第1页 / 共53页
uml第03章 用例和用例图.ppt_第2页
第2页 / 共53页
uml第03章 用例和用例图.ppt_第3页
第3页 / 共53页
uml第03章 用例和用例图.ppt_第4页
第4页 / 共53页
uml第03章 用例和用例图.ppt_第5页
第5页 / 共53页
点击查看更多>>
资源描述

1、第3章 用例和用例图,面向对象分析与设计 & UML,2,3.1 用例,用例(use case)是Ivar Jacobson发明的. 其它的中文译名有: 用况、用案等.,定义1: 用例是对一个活动者(actor)使用系统的一项功能时所进行的交互过程的一个文字描述序列.,定义2: 用例是系统、子系统或类和外部参与者交互的动作序列的说明, 包括可选的动作序列和会出现异常的动作序列.,1.擅长分析用户(user)为什么(why)使用(use)系统,或如何(how)使用系统。 2.用例表达了系统的责任,即用户对系统的需求。,面向对象分析与设计 & UML,3,3.1 用例,UML中用例用椭圆表示, 使

2、用动宾结构或主谓结构命名.,例: 字处理程序中, “置正文为黑体”和”创建索引”都可以是用例.,例: 在一个银行业务系统中可能有如右的用例,浏览账户余额 列出交易内容 划拨资金 ,面向对象分析与设计 & UML,4,3.1 用例,使用用例进行需求分析,用例从使用系统的角度描述系统中的信息. 用例对应一个具体的用户目标. 用例是对系统行为的描述, 属于UML的动态建模部分.,UC:买汉堡 用户动作 系统响应 指定购买汉堡并付款 收钱、做汉堡给收据和汉堡拿走汉堡 ,面向对象分析与设计 & UML,5,Use case 、对象与系统的亲密关系(青蛙、荷叶、根茎),面向对象分析与设计 & UML,6,

3、3.2 参与者,参与者(actor)是指系统以外的、需要使用系统或与系统交互的事物, 包括: 人、设备、外部系统等. 其它译名有: 活动者、执行者、行动者等.,例:一个银行业务系统中的参与者,例:一个银行业务系统中的参与者 客户:从系统获取住处并执行金融交易 管理人员:创建系统的用户, 获取并更新信息 厂商:接受作为转账支付结果的资金 Mail系统:与系统交互, 发送或接收邮件,面向对象分析与设计 & UML,7,3.2 参与者,UML中的Actor实际上是一个版型化的类, 可以有三种表示形式,Icon形式,Label形式,Decoration形式,面向对象分析与设计 & UML,8,3.2

4、参与者,由于Actor实际上是一个类, 因此它们之间可以存在一定的关系,如:,面向对象分析与设计 & UML,9,UC:吃晚餐 用户动作 系统响应 点餐 上开胃菜上主餐请上点心上点心买单结账开收据拿走收据 ,面向对象分析与设计 & UML,10,3.3 脚本,脚本(scenario)在UML中指贯穿用例的一条单一路径, 用来显示用例中的某种特殊情况. 其它译名: 情景、场景、情节、剧本.,例:在“订货”用例中包括几个相关脚本: 订货顺利进行的脚本; 相关货源不足时的脚本; 购货者的信用卡被拒绝时的脚本; ,面向对象分析与设计 & UML,11,3.4 用例之间的关系,用例与参与者之间有关联(a

5、ssociation)关系. 用例之间的关系有: 泛化(generalization)、包含(include)、扩展(extend)等.,面向对象分析与设计 & UML,12,3.4.1 泛化关系,泛化关系代表一般与特殊的关系, 与继承类似. 在泛化关系中, 子用例继承了父用例的行为和含义, 子用例也可以增加新的行为和含义或覆盖父用例中的行为和含义.,右图的例子演示了泛化关系,面向对象分析与设计 & UML,13,3.4.1 泛化关系,面向对象分析与设计 & UML,14,3.4.2 包含关系,包含关系是指一个用例(基本用例)的行为包含了另一个用例(包含用例)的行为. 包含关系是依赖关系的版型

6、, 但其含义更多.,右图的例子演示了包含关系,注意: 箭头方向为基本用例到包含用例.,面向对象分析与设计 & UML,15,3.4.2 包含关系,面向对象分析与设计 & UML,16,3.4.3 扩展关系,扩展关系的基本含义与泛化关系类似, 但对扩展用例有更多限制, 即基本用例必须声明若干”扩展点”, 扩展用例只能在扩展点上增加行为和含义. 扩展关系是依赖关系版型.,面向对象分析与设计 & UML,17,网上购物的部分用例,3.4.3 扩展关系,面向对象分析与设计 & UML,18,3.4.3 扩展关系,面向对象分析与设计 & UML,19,3.4.4 几种关系的比较,泛化和扩展表示用例之间的

7、 “is a”, 包含关系表示用例之间的“has a”. 需要重复处理两个或多个用例时, 可以考虑包含关系. 处理正常行为的变型且只是偶而描述时, 可以考虑只使用泛化关系.,面向对象分析与设计 & UML,20,3.4.4 几种关系的比较,面向对象分析与设计 & UML,21,3.5 用例图,用例图(use case diagram)是显示一组用例、参与者以及它们之间的关系的图. 在UML中, 一个用例模型若干个用例图描述.,面向对象分析与设计 & UML,22,例: 金融贸易系统的用例图,面向对象分析与设计 & UML,23,3.6 以use case 表达创新功能(咖啡机1),基本的“UC

8、:煮咖啡”用户动作 系统响应 1.选取咖啡种类2.注入选取的咖啡粉3.注入所需的水4.开始煮咖啡5.把咖啡注入咖啡杯 6.取走咖啡杯,面向对象分析与设计 & UML,24,3.6 以use case 表达创新功能(咖啡机2),修正基本的“UC:煮咖啡”用户动作 系统响应 1.选取咖啡种类2.注入选取的咖啡粉2.1 如果咖啡粉不足,须显示信息通知用户3.注入所需的水3.1 如果水不足,须显示信息通知用户4.开始煮咖啡5.把咖啡注入咖啡杯 6.取走咖啡杯,面向对象分析与设计 & UML,25,3.6 以use case 表达创新功能(咖啡机3),修正基本的“UC:煮咖啡”用户动作 系统响应 1.选

9、取咖啡种类2.注入选取的咖啡粉 3.注入所需的水 4.开始煮咖啡4.1 煮好,必须显示ready灯号 5.放好杯子 6.按下ok按钮7.把咖啡注入咖啡杯 8.取走咖啡杯,多功能咖啡机 如加入功能:煮热开水,煮温开水,面向对象分析与设计 & UML,26,3.7 寻找用例,从业务use case出发,“UC:看医生”病人动作 医院响应 1.要求挂号2.办理挂号2.1 告知挂号号码 3.等候看诊4.看诊4.1 进行看诊4.2 更新病例,并告知诊断结果, 开药方 5.等候领药6.领药6.1 收费 6.2 给药,业务用例描述,面向对象分析与设计 & UML,27,从幕后的执行者得出系统的Actor及u

10、se case,面向对象分析与设计 & UML,28,3.8 用例的描述,用例描述是指对一个用例的功能进行的文字描述, 是参与者与系统交互动作序列的说明.,用例采用自然语言描述参与者与系统的交互行为,要易于理解. 其读者是开发人员、用户、项目经理、测试人员等.,面向对象分析与设计 & UML,29,3.8 用例的描述,用例的目标 用例是怎么启动的 参与者与用例之间的消息如何传送 用例中除了主路径外, 其它路径是什么 用例结束后系统的状态 其它需要描述的内容,用例描述一般包括的内容:,描述用例时的原则是尽可能写得“充分”, 而不是形式化、完整或漂亮.,面向对象分析与设计 & UML,30,3.8

11、 用例的描述,描述用例时易出现的错误:,只描述系统的行为, 没有描述参与者的行为 只描述参与者的行为, 没有描述系统的行为 在用例描述中就设定了对用户界面的设计的要求 描述过于冗长,面向对象分析与设计 & UML,31,Use case: Withdraw cash Actor: customer 主事件流: 储户插入ATM卡,并输入密码 储户按“取款”按钮,并输入取款数目 储户取走现金/ATM卡/收据 储户离开,Use case: Withdraw cash Actor: customer 主事件流: ATM系统获得ATM卡和密码 设置交易类型为“取款” ATM系统获得取款金额 输出现金、收

12、据和ATM卡 系统复位,3.8 用例的描述,ATM系统“取款”用例的两个错误描述:,只描述了actor的行为,只描述了System的行为,面向对象分析与设计 & UML,32,3.8 用例的描述,Use case: Withdraw cash Actor: customer 主事件流: 储户通过读卡机插入ATM卡 ATM系统从卡上读取银行ID、账号、加密密码, 并通过主银行系统验证银行ID和账号 储户输入密码, ATM系统根据加密密码对输入密码进行验证 储户按 “取款”按钮, 并输入取款数目, 该数目应该为$5的倍数 ATM系统通知主银行系统, 传递账号和金额, 并接收返回的确认信息和账户余额

13、 ATM系统输出现金、ATM卡和收据 ATM系统记录交易到日志文件,ATM系统“取款”用例的正确描述:,面向对象分析与设计 & UML,33,3.9 use case描述的格式,面向对象分析与设计 & UML,34,3.10 常见问题分析,(1) 用例的粒度问题对于一个目标系统进行用例分析后得到的用例数目有多少比较合适?,面向对象分析与设计 & UML,35,3.10 常见问题分析,(2) 用例的分解/合并系统中相似的功能, 是合并为一个用例还是分解为几个用例?,方法1 一个用例/三个脚本,方法2 三个用例,面向对象分析与设计 & UML,36,3.10 常见问题分析,(3) 下面哪个用例图正

14、确?,面向对象分析与设计 & UML,37,为了方便旅客,某航空公司拟开发一个机票预定系统。旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入该系统,系统为旅客安排航班,旅客在飞机起飞前一天凭取票通知和账单交款取票,系统核对无误即印出机票给顾客。 课程注册系统(P212),面向对象分析与设计 & UML,38,实例分析:语音邮箱系统,目标:构建一个语音邮箱系统 问题描述:语音邮箱系统中,可以为每个系统用户(邮箱主人)分配一个语音邮箱号码.进行留言时, 拨打语音邮箱系统的主号码, 在听到提示音”请输入邮箱号”后,输入要语音邮箱号,听到主人设定的问候语后,进

15、行留言然后挂断电话.邮箱主人拨打语音邮箱系统的主号码,在听到提示音”请输入邮箱号”后,输入要语音邮箱号,听到主人设定的问候语后, 输入密码+#进行邮箱管理. 此时系统提供三种服务:1.接收信息; 2.更改问候语; 3.更改密码.其中接收留言包括收听新留言、存储留言、删除留言等。,面向对象分析与设计 & UML,39,实例分析:语音邮箱系统,1. 找出actor和外部系统,确定系统边界.,参与者:呼叫者、邮箱用户,2. 主要功能分析(参与者期望的系统行为等),(1). 呼叫者保留信息(留言). (2). 邮箱用户管理信息: 收听/存储/删除. (3). 邮箱用户更改问候语. (4). 邮箱用户更

16、改密码.,面向对象分析与设计 & UML,40,实例分析:语音邮箱系统,3. 初步找到的用例,呼叫者:保留信息 邮箱主人:接收信息、更改问候语、更改密码,4. 进一步寻找用例,邮箱主人:登录邮箱 呼叫者、邮箱主人:拨打邮箱号码,5. 分析用例之间的关系,本例较为简单,只使用“包含关系”即可.,面向对象分析与设计 & UML,41,实例分析:语音邮箱系统,6. 绘制初步用例图,面向对象分析与设计 & UML,42,实例分析:语音邮箱系统,7. 编写每一个用例的脚本,8. 区分脚本中的主事流或异常情况事件流,9. 细化用例图,完成用例模型(略),面向对象分析与设计 & UML,43,实例分析:语音

17、邮箱系统-用例脚本,用例1: 拨打邮箱号 1. 呼叫者拨打语音邮件系统的主号码. 2. 语音邮件系统发出提示音:输入邮箱号码并加#号. 3. 呼叫者输入接收者的邮箱号. 4. 语音邮件系统发出问候语:已进入XX的邮箱,请留言.,面向对象分析与设计 & UML,44,用例2: 保留信息 1. 呼叫者完成邮箱号输入操作. 2. 呼叫者说出信息. 3. 呼叫者挂断电话. 4. 语音邮件系统将记录的信息存放在接收者的邮箱中.,实例分析:语音邮箱系统-用例脚本,面向对象分析与设计 & UML,45,用例3: 登录系统 1. 邮箱用户完成邮箱号输入操作. 2. 邮箱用户键入密码并后跟#键.(默认号码与邮箱

18、号相同) 3. 语音邮件系统播放邮箱菜单:按1键接收信息.按2键更改密码.按3键更改问候语.,实例分析:语音邮箱系统-用例脚本,面向对象分析与设计 & UML,46,用例4: 接收信息 1. 邮箱用户完成登录操作. 2. 邮箱用户选择 “接收信息”菜单选项. 3. 语音邮件系统播放信息菜单:按1收听当前信息; 按2存储当前信息; 按3删除当前信息;按4返回邮箱菜单. 4. 邮箱用户选择“收听当前信息”菜单选项. 5. 语音邮件系统播放当前新信息,若无新信息,播放当前已有信息.(注意: 只播放,不删除) 6. 语音邮件系统播放信息菜单. 7. 用户选择”删除当前信息”,则信息被永久删除. 8.

19、继续执行第3步.,实例分析:语音邮箱系统-用例脚本,面向对象分析与设计 & UML,47,用例4变体#1: 存储一条信息 1.1 以第6步作为开始. 1.2 用户选择“存储当前信息”. 1.3 当前信息从新信息队列中删除并添加到旧信息队列中. 1.4 继承执行第3步.,实例分析:语音邮箱系统-用例脚本,面向对象分析与设计 & UML,48,用例5: 更改问候语 1. 邮箱用户完成登录操作. 2. 邮箱用户选择“更改问候语”菜单选项. 3. 邮箱用户说出新的问候语. 4. 邮箱用户按下#键. 5. 邮件系统设置新的问候语.,用例5变体#1: 在确认前挂断电话 1.1 以第3步作为开始. 1.2

20、邮件用户挂断电话. 1.3 邮件系统保留旧的问候语.,实例分析:语音邮箱系统-用例脚本,面向对象分析与设计 & UML,49,用例6: 更改密码 1. 邮箱用户完成登录操作. 2. 邮箱用户选择“更改密码”菜单选项. 3. 邮箱用户输入新的密码. 4. 邮箱用户按下#键. 5. 邮件系统设置新的密码.,用例6变体#1: 在确认前挂断电话 1.1 以第3步作为开始. 1.2 邮件用户挂断电话. 1.3 邮件系统保留旧的密码.,实例分析:语音邮箱系统-用例脚本,面向对象分析与设计 & UML,50,作业,银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系

21、统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。,对以上问题进行用例分析, 建立系统的完整用例图, 包括: 用例图和用例描述.使用Rose或StarUML等工具作图。,面向对象分析与设计 & UML,51,BANK OF CHINA Teller: RMB Deposit of Fixed Date Date: Depositor: XXXXXX A/C No: (账号) Amount: (数量)For

22、 a period of 12 (months) Int rate 利率Repayable 应付Accountant(会计) checker(收银员)Teller: 出纳,Seal of the Bank,面向对象分析与设计 & UML,52,Bank of China Bill of Withdrawing Money Date: A/C NO.: Card NO: Depositor: Currency: RMB Withdrawing Amount: Paid-out principal: Teller:,Seal,面向对象分析与设计 & UML,53,利息清单 利息、应税利息、税率、税金、税后利息。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报