用例驱动的需求分析.pptx
《用例驱动的需求分析.pptx》由会员分享,可在线阅读,更多相关《用例驱动的需求分析.pptx(65页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、什么是用例什么是用例(Use Case)?用例(Use Case):表示系统所提供的服务或可执行的某种行为 定义了系统是如何被参与者所使用的,描述了参与者为了使用系统所提供的某一完整功能而与系统之间发生的一段“对话”。用例的概念在1986年由Ivar Jacobson正式提出之后被广泛接受,迅速发展,已成为OO、UML、RUP的标准规范和方法。描述需求的时候:系统有谁在用?这些人通过系统来做什么?第1页/共65页用例图的要素 用例方法的基本思想:从用户的角度来看,他们并不想了解系统的内部结构和设计,他们所关心的是系统所能提供的服务,也就是被开发出来的系统将是如何被使用的。用例模型主要由以下模型
2、元素构成:参与者(Actor):存在于被定义系统外部并与该系统发生交互的人或其他系统,代表系统的使用者或使用环境。用例(Use Case)通讯关联(Communication Association):用于表示参与者和用例之间的对应 关系,它表示参与者使用了系统中的哪些服务(用例)、系统所提供的服务(用 例)是被哪些参与者所使用的。参与者用例通讯关联第2页/共65页一种新的需求分析技术:用例第3页/共65页用例方法的优点系统被看作是一个黑箱,并不关心系统内部是如何完成它所提供的功能的。首先描述了被定义系统有哪些外部使用者(抽象为Actor)、这些使用者与被定义系统发生交互;针对每一执行者,又描
3、述了系统为这些执行者提供了什么样的服务(抽象成为Use Case)、或者说系统是如何被这些执行者使用的;第4页/共65页用例建模的基本过程Step 1:确定系统边界Step 2:识别并描述参与者(actor);Step 3:识别用例(use case),并给出简要描述;Step 4:识别执行者与用例之间的关联(Association);Step 5:给出每一个用例的详细描述Step 6:细化用例模型第5页/共65页Step 1:确定系统边界:确定系统边界 系统目标 系统范围例:学生成绩管理系统目标:大学?中小学?范围:单机、网络?学籍?课程?第6页/共65页Step 2:识别并描述参与者(ac
4、tor)参与者(actor)是指在系统外部系统外部与系统交互的人或其他系统,他以某种方式参与了系统内用例的执行。第7页/共65页参与者的类型参与者一般分为三种:人:与系统存在交互关系的使用者,管理员,用户等设备:与系统存在交互关系的外部设备,条码扫描仪,ic读卡器,监控摄像头等其他系统:与系统存在交互关系的其他系统,成绩管理系统的选课数据由选课系统提供。时间:有些用例需要系统时钟定时触发,如员工生日祝福操作由系统时钟检测到生日时间后出发第8页/共65页识别参与者通过以下问题来识别Actor:谁使用这个系统的功能?谁从该系统获得信息?谁向该系统提供信息?该系统需要访问(读写)那些外部硬件设备?谁
5、来负责维护和管理这个系统以保证其正常运行?该系统需要与其他系统进行交互吗?系统的主要功能使用者系统的硬件设备系统的维护、管理人员其他系统第9页/共65页 例1:对一个图书管理系统来说,有哪些参与者?读者图书管理者 例2:对ATM系统来说,有哪些参与者?银行客户ATM维护人员后台服务器读者图书管理员银行客户维护人员后台服务器第10页/共65页参与者的特点在建模参与者过程中,记住以下要点。(1)参与者对于系统而言总是外部的,因此它们在你的控制之外。(2)参与者直接同系统交互,这可以帮助定义系统边界。(3)参与者表示人和事物与系统发生交互时所扮演的角色,而不是特定的人或特定的事物。(4)一个人或事物
6、在与系统发生交互时,可以同时或不同时扮演多个角色。例如,某研究生担任某教授的助教,同职业的角度看,他扮演了两个角色学生和助教。(5)每一个参与者需要有一个具有业务一样的名字,在建模中,不推荐使用诸如NewActor这样的名字。(6)每个参与者必须有简短的描述,从业务角度描述参与者是什么。(7)像类一样,参与者可以具有分栏,表示参与者属性和它可接受的事件。一般情况下,这种分栏使用的并不多,很少显示在用例图中。第11页/共65页分组讨论:找出参与者按照分组选择题目进行讨论时间:5分钟1、图书管理系统的参与者(1-4组)2、学生餐饮管理系统的参与者(5-8组)第12页/共65页Step 3:识别用例
7、(use case)找到参与者之后,据此来确定系统的用例,主要是看各参与者需要系统提供什么样的服务,或者说执行者是如何使用系统的。寻找用例可以从以下问题入手(针对每一个参与者):参与者使用该系统执行什么任务?参与者是否会在系统中创建、修改、删除、访问、存储数据?如果是的话,执行者又是如何来完成这些操作的?参与者是否会将外部的某些事件通知给该系统?系统是否会将内部的某些事件通知该执行者?第13页/共65页用例的特征v这件事必须由一个执行者发起,执行者的愿望是用例存在的原因。不存在没有执行者的用例,也不应该主动启动另一个用例。第14页/共65页v用例是相对独立的,即用例的“功能”是完备的第15页/
8、共65页v用例的执行结果对执行者来说是可观测和有意义的第16页/共65页v用例必然是以动宾短语形式出现的。第17页/共65页识别用例 例1:对图书馆管理系统来说,有哪些参与者和用例?图书管理员管理读者信息管理图书信息登记借书登记还书 例2:对ATM系统来说,有哪些参与者和用例?银行客户查询取款转账 普通读者:预订图书取消预订查询浏览图书信息 ATM维护人员维护系统 后台服务器周期性操作第18页/共65页Step 4:识别执行者与用例之间的关联数据流向由谁启动第19页/共65页Step 3:识别执行者与用例之间的关联数据流向由谁启动第20页/共65页Step 3:识别执行者与用例之间的关联数据流
9、向由谁启动第21页/共65页参与者与用例的关系启动用例第22页/共65页获取用例的服务为用例提供服务第23页/共65页给系统提供信息第24页/共65页讨论讨论下面的用例图,有什么问题?第25页/共65页目标和步骤的误区目标和步骤的误区第26页/共65页用户观点而非系统观点用户观点用户观点系统观点系统观点第27页/共65页用例的粒度ATM取钱的场景中,取钱,读卡,验证账号,打印回执单等都是可能的用例?用例粒度的划分最标准的方法应该是:以该用例是否完成了执行者的某个完整目的为依据的。第28页/共65页 案例:ATM的用例客户代表客户代表说:我希望这台ATM能支持跨行业务,我插入卡片并输入密码后,可
10、以让我选择是取钱还是存钱;为了方便,可以设置一些默认的存取金额按钮;我可以修改密码,也可以挂失;还有我希望可以交纳水费、电费和电话等费用;为了安全起见,ATM上应当有警示小心骗子的提示条,还有摄像头;如果输入三次密码错误,卡片应当被自动吞没。第29页/共65页判断下列操作,哪些是用例支持跨行业务插入卡片输入密码选择服务取钱存钱修改密码挂失卡片交纳费用警示骗子三次错误吞没卡片第30页/共65页支持跨行业务错,这是一个业务规则,限定业务的范围插入卡片错,这是一个过程步骤,不是完整目标输入密码错,这是一个过程步骤,不是完整目标选择服务错,这是一个过程步骤,不是完整目标取钱对,这是一个完整有效的目标存
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 驱动 需求 分析
限制150内