表2用例描述格式课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《表2用例描述格式课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 描述 格式 课件
- 资源描述:
-
1、2023年2月8日星期三第1页第4章 建立用例模型v4.1 需求获取v4.2 分析需求v4.3 用例在需求分析中的使用v4.4 识别参与者v4.5 确定用例v4.6 用例的粒度v4.7 用例间的关系v4.8 用例描述v4.9 用例建模2023年2月8日星期三第2页v需求分析就是分析软件用户的需求是什么。v需求分析之所以重要,就因为他具有决策性、方向性和策略性的作用,它在软件开发过程中具有举足轻重的地位,在一个大型软件系统的开发中,他的作用要远远大于程序设计。v需求分析的任务就是解决“做什么”的问题,就是要全面地理解用户的各项要求,并准确地表达所接受的用户需求。2023年2月8日星期三第3页v整
2、个软件需求工程研究领域划分为需求开发和需求管理两部分。需求工程 需求开发 需求管理 验证 编写规格说明 分析 问题获取 2023年2月8日星期三第4页4.1 需求获取v需求是客户在项目立项时就有的一个远景。客户需求将决定在整个项目中需要承办方具体做些什么,即承办方的任务。承办方在明确了需求后,就会开始后期的设计、开发、测试、部署等工作。2023年2月8日星期三第5页4.1 需求获取v需求获取在软件工程中非常重要,因为后续的设计、开发等都基于需求。如果需求获取不正确或在需求开发过程中很多功能没有挖掘出来,那么在后期选择弥补时,将会造成项目延期以及成本大幅度增加的严重后果。v如何获取需求是摆在承办
3、方面前的首要任务。2023年2月8日星期三第6页4.1 需求获取v需求获取的目的是通过各种途径获取用户的需求信息,由于在实际工作中,大部分客户无法完整地讲述其需求,因此需求获取是一件看似简单,做起来却很难的一件事情。v在需求获取过程中,主要需要弄清楚3个问题,即:明确需要获取的信息(What)明确所获取信息的来源和渠道(Where)怎样获取需求(How)。2023年2月8日星期三第7页4.1 需求获取v(1)明确需要获取的信息(What)v需求分析师应在需求获取前明确需要获取的信息,以确保在实施需求获取时有的放矢。通常需求获取需要获取的信息包括三大类:a.与问题域相关的背景信息(如业务资料、组
4、织结构图和业务处理流程等);b.与要求解决的问题直接相关的信息;c.用户对系统的特别期望与施加的任何约束信息。2023年2月8日星期三第8页4.1 需求获取v(2)明确所获取信息的来源和渠道(Where)v需求分析师还应确定获取需求信息的来源与渠道,以提高需求分析师在需求获取阶段的工作效率,使得所收集的信息更加有价值、更加全面。v需求信息的来源通常包括:a.来自客户的需求;b.竞争对手的产品优势与不足;c.国家政策、业务规则以及相关行业标准;d.实施产品设计所需满足的需求;e.执行测试验证工作所需满足的需求;f.实施系统安装、维护所需满足的需求。2023年2月8日星期三第9页4.1 需求获取v
5、获取需求信息的渠道包括:a.用户或客户b.公司研发管理部门c.公司技术管理部门d.项目实施部门e.营销管理部门f.旧有系统的研发项目组g.来自项目组内2023年2月8日星期三第10页4.1 需求获取v(3)怎样获取需求(How)v需求分析师应选择至少一种需求获取技术获取相关的需求,作为需求分析的依据。需求获取技术包括但不限于:a.用户访谈b.用户调查c.现场观摩用户的工作流程,观察用户的实际操作d.从行业标准、规范中提取需求e.文档挖掘f.需求讨论会g.原型法 2023年2月8日星期三第11页4.2 分析需求v通过需求获取,总结出客户服务系统主要功能需求包括以下几个方面:(1)客户可以通过不同
6、的方式(如电话,互联网)对软件产品或项目提出使用中的BUG或疑难问题以及投诉建议等内容。(2)客户服务人员应当能保存客户资料,保存客户历次来电内容,并对客户提出的问题及时给予解答,不能在电话中处理的应当交由相关技术工程师继续跟进处理。(3)对需要安排上门维护的申请应能及时反映给相关部门领导,并由其作出派工处理。(4)应能及时反馈有派工任务的消息给相关技术工程师,并能保存其处理结果。(5)各部门领导应能对投诉的申请给予及时处理,并能保存处理结果。(6)公司领导和部门领导应能及时查询客户的来电内容,了解产品使用情况及客户服务人员的售后服务质量等相关业务的综合统计信息。v以上需求信息需要进行详细的分
7、析、归纳。2023年2月8日星期三第12页4.2 分析需求v经过分析,为满足上述需求的客户服务系统应包括以下几个模块:(1)基础资料维护模块。包括客户基础资料录入修改,客户服务系统用户信息的添加、删除和修改,软件产品的基础资料维护,已上线项目的基础资料维护以及FAQ经验库的数据维护。(2)客户服务业务处理模块。包括客户咨询服务处理,故障申报处理,投诉处理,客户服务人员回访处理,维护人员上门处理,部门领导派工处理。(3)信息查询统计模块。包括基础资料查询统计,客户咨询的查询与统计,派工单完成情况,回访情况,维护报告查询统计以及相关报表的查询。2023年2月8日星期三第13页4.2 分析需求v软件
8、系统的需求分析可以由产品工程师或系统分软件系统的需求分析可以由产品工程师或系统分析师或两者分阶段合作完成全部的需求分析工作。析师或两者分阶段合作完成全部的需求分析工作。其主要任务是逐步细化所有的软件功能,找出系其主要任务是逐步细化所有的软件功能,找出系统各元素间的联系、接口特性和设计上的限制,统各元素间的联系、接口特性和设计上的限制,分析它们是否满足需求,剔除不合理部分,增加分析它们是否满足需求,剔除不合理部分,增加需要部分。最后,综合成系统的解决方案,给出需要部分。最后,综合成系统的解决方案,给出待开发系统的详细逻辑模型。其主要包括以下几待开发系统的详细逻辑模型。其主要包括以下几个步骤:个步
9、骤:2023年2月8日星期三第14页4.2 分析需求v(1)提取出核心、主要、急迫的业务,明晰业务流程通过需求调研,我们会发现用户各方面的业务很多,从大处着眼,包括用户的各种业务项目、业务流程,再明细到业务过程的每一个单据,每一条记录。从用户繁杂的业务中进行业务、业务流程的提取。需要分析用户的这个业务流程中哪些是系统能帮助管理的,哪些是要在系统外处理的,充分分析用户现有的业务和业务流程。2023年2月8日星期三第15页4.2 分析需求v(2)运用管理思想,优化业务流程客户服务系统是管理软件产品,要帮助用户解决的是管理问题,那么用户是这样的业务流程,就需要分析这样的流程合理吗?还有缺陷吗?怎样做
10、能提高效率、解决问题?可以运用更先进的管理思想吗?。一般情况下,需要从两个方面考虑业务流程的优化。一是我们采用了网络计算机这些新的技术手段,较之原先手工、电话等方式在信息的传递、信息的共享、数据的处理等方面将会带来新的方式,必将改变原有的业务流程。另一方面就是我们根据对用户业务的理解,考虑是否可以运用先进的管理思想,进行现有业务流程的重组或优化。2023年2月8日星期三第16页4.2 分析需求v(3)进行业务分类,规划系统蓝图明确以上内容后就可以描绘系统蓝图了。系统有几个子系统,每个子系统有哪些模块,各个模块处理哪些业务,等等。v以上内容主要是针对系统功能性需求,除此之外,系统还有性能需求也需
11、要明确。2023年2月8日星期三第17页4.3 用例在需求分析中的使用v规划出了软件的功能模块,只是软件的功能框架结构,下一步就需要明确描述每个模块的具体内容。包含什么内容、能做什么操作,每一个功能点的说明、业务规则、详细功能描述等等。这些软件需求规格必须描述的内容需要有个标准的表现方式。2023年2月8日星期三第18页4.3 用例在需求分析中的使用v用例(Use Case)是一种描述系统需求的方法,使用用例的方法来描述系统需求的过程就是用例建模。用例模型包括用例图和用例描述。v用例图主要由以下模型元素构成:2023年2月8日星期三第19页4.3 用例在需求分析中的使用v(1)参与者(Acto
12、r)参与者是指存在于被定义系统外部并与该系统发生交互的人或其他系统,他们代表的是系统的使用者或使用环境。2023年2月8日星期三第20页4.3 用例在需求分析中的使用v(2)用例(Use Case)用例用于表示系统所提供的服务,它定义了系统是如何被参与者所使用的,它描述的是参与者为了使用系统所提供的某一完整功能而与系统之间发生的一段对话。2023年2月8日星期三第21页4.3 用例在需求分析中的使用v(3)关联(Association)关联用于表示参与者和用例之间的对应关系,它表示参与者使用了系统中的哪些服务(用例),或者说系统所提供的服务(用例)是被哪些参与者所使用的。2023年2月8日星期
13、三第22页4.3 用例在需求分析中的使用v以课程注册系统为例,当参与者是学生时,学生使用该系统可以进行登录系统、注册课程和查看报告的操作。登录注册课程学生查看报告2023年2月8日星期三第23页4.3 用例在需求分析中的使用v用例方法完全站在用户的角度上(从系统的外部)来描述系统的功能。v在用例方法中,把被定义系统看作是一个黑箱,我们并不关心系统内部是如何完成它所提供的功能的。v用例方法首先描述了被定义系统有哪些外部使用者(抽象成为Actor),这些使用者与被定义系统发生交互;针对每一参与者,用例方法又描述了系统为这些参与者提供了什么样的服务(抽象成为Use Case),或者说系统是如何被这些
14、参与者使用的。v所以从用例图中,我们可以得到对于被定义系统的一个总体印象。2023年2月8日星期三第24页4.3 用例在需求分析中的使用v与传统的功能分解方式相比,用例方法完全是从外部来定义系统的功能,它把需求与设计完全分离开来。v在面向对象的分析设计方法中,用例模型主要用于表述系统的功能性需求,系统设计主要由对象模型来记录描述。另外,用例定义了系统功能的使用环境与上下文,每一个用例描述的是一个完整的系统服务。用例方法比传统的SRS更易于被用户所理解,它可以作为开发人员和用户之间针对系统需求进行沟通的一个有效手段。2023年2月8日星期三第25页4.3 用例在需求分析中的使用v在RUP中,用例
15、被作为整个软件开发流程的基础,很多类型的开发活动都把用例作为一个主要的输入制品(Artifact),如项目管理、分析设计、测试等。根据用例来对目标系统进行测试,可以根据用例中所描述的环境和上下文来完整地测试一个系统服务,可以根据用例的各个场景(Scenario)来设计测试用例,完全地测试用例的各种场景可以保证测试的完备性。2023年2月8日星期三第26页4.4 识别参与者v客户服务系统是对公司和客户进行统一管理的系统,根据客户服务系统案例需求说明书,具体包括以下几个方面:(1)基础资料维护。包括系统管理员添加、删除、修改客户服务系统账户信息,添加、修改、删除公司产品及项目信息;客户服务人员添加
16、、修改、删除客户资料信息,添加、修改、删除经验库信息等。(2)业务处理。包括客户服务人员新增、修改、删除客户咨询信息;维护人员处理客户问题、填写维护报告;部门领导处理投诉,安排任务等。(3)统计查询。包括客户资料查询、客户来电咨询查询、经验库查询、客户服务系统用户信息查询、回访任务及维护报告查询等。v明确以上信息后,分析系统的参与者。2023年2月8日星期三第27页4.4 识别参与者v对于这个系统,通过需求陈述文档,可以得到以下一些信息:系统管理员维护系统用户帐号和产品项目信息。客户服务人员维护客户资料、客户咨询以及经验库信息。维护人员填写维护报告。部门领导处理投诉。v所以创建以下参与者:系统
17、管理员、客户服务人员、维护人员、部门领导。2023年2月8日星期三第28页4.4 识别参与者v参与者是在系统之外,透过系统边界与系统进行有意义交互的任何事物。通俗地讲,参与者就是我们所要定义系统的使用者。寻找参与者可以从以下问题入手:(1)系统开发完成之后,有哪些人会使用这个系统?(2)系统需要从哪些人或其他系统中获得数据?(3)系统会为哪些人或其他系统提供数据?(4)系统需要与哪些其他系统交互?(5)系统是由谁来维护和管理并保持其正常运行?(6)系统需要应付(处理)哪些硬设备?(7)谁(或什么)对系统运行产生的结果感兴趣?(8)有没有自动发生的事件?2023年2月8日星期三第29页4.4 识
18、别参与者v在这里需要注意的是:系统参与者一定是与系统有直接联系的事物,这里事物包括人和其他系统。“直接联系”是个什么概念呢?在客户服务系统中,客户打电话给客户服务人员反馈问题,客户服务通过系统对反馈的问题进行处理,在这个业务过程中,客户并没有直接操作客户服务系统,就没有直接联系,所以客户不是系统的参与者。这样的例子还有很多,比如超市的收银系统,收银员是该系统的参与者,而超市客户则不是;银行系统中,银行的窗口服务员是参与者,而在窗口存钱或取钱的客户不是参与者。但在银行ATM系统中,客户从银行ATM机存取款,客户是ATM系统中的参与者。2023年2月8日星期三第30页4.5 确定用例v找到参与者之
19、后,就需要根据参与者来确定系统的用例。v对于每一个参与者,相对应的用例如下:2023年2月8日星期三第31页4.5 确定用例v客户服务人员:(1)登录系统(2)查询客户信息及咨询记录(3)查询经验库信息(4)查询基础资料信息(5)补充完善经验库信息(6)维护客户资料(7)维护来电记录 2023年2月8日星期三第32页4.5 确定用例v维护人员:(1)查询自己的派工单及报告信息(2)接受并处理自己的派工单(3)填写报告2023年2月8日星期三第33页4.5 确定用例v系统管理员:(1)管理用户(2)维护基础资料(3)维护系统 2023年2月8日星期三第34页4.5 确定用例v部门领导:(1)查询
20、客户资料及咨询信息(2)查询项目及产品信息(3)查询维护人员派工单的执行情况(4)安排派工任务2023年2月8日星期三第35页4.5 确定用例v确定用例主要是看各参与者需要系统提供什么样的服务,或者说参与者是如何使用系统的,用例命名往往采用动宾结构。参与者与用例连起来读,往往是一条通顺的句子,例如:客户服务人员(参与者)维护客户资料(用例)。2023年2月8日星期三第36页4.5 确定用例v寻找用例可以从以下问题入手(针对每一个参与者):(1)参与者为什么要使用该系统?(2)参与者是否会在系统中创建、修改、删除、访问、存储数据?如果是的话,参与者又是如何来完成这些操作的?(3)参与者是否会将外
21、部的某些事件通知给该系统?(4)系统是否会将内部的某些事件通知该参与者?2023年2月8日星期三第37页4.6 用例的粒度v对于一个系统来说,不同的人进行用例分析后得到的用例数目有多有少。v如果用例粒度很大,那么得到的用例数就会很少,如果用例粒度很小,那么得到的用例数就会很多。v那么到底多大的粒度才是比较合适的?2023年2月8日星期三第38页4.6 用例的粒度v用例就是客户付钱给我们,要我们帮助解决的问题。这些问题是软件系统的重心所在,也是客户的价值所在。当客户来找我们解决问题时,如同一个病人去找医生看病。这个病可能是大病,也可能是小病。正如医生无法决定病人得什么病一样,我们也无法决定客户所
22、遇到的问题,我们所能选择的只是解决这些问题的方案。v所以用例(大小)粒度的决定在于客户,用例的关键在于准确反映客户需求。2023年2月8日星期三第39页4.6 用例的粒度v用例是一种用来探索需求的技术,而需求和设计之间的区别在于需求解决的是系统“做什么”的问题;而设计则是针对需求中提出的问题,解决系统该“怎么做”的问题。需求调研的过程是发现和界定问题的过程,设计的过程是寻找解决方案的过程。需求分析的思维方式是总结和抽象,系统设计的思维方式是分解和细化。2023年2月8日星期三第40页4.6 用例的粒度v在确定用例过程中,主要有两个方面的问题会迷惑分析者。其一是当分析人员面对具有业务流程的用例时
展开阅读全文