需求分析——UML用例图STUD-PPT.ppt

上传人:知*** 文档编号:97777627 上传时间:2024-07-06 格式:PPT 页数:84 大小:1.07MB
返回 下载 相关 举报
需求分析——UML用例图STUD-PPT.ppt_第1页
第1页 / 共84页
需求分析——UML用例图STUD-PPT.ppt_第2页
第2页 / 共84页
点击查看更多>>
资源描述

《需求分析——UML用例图STUD-PPT.ppt》由会员分享,可在线阅读,更多相关《需求分析——UML用例图STUD-PPT.ppt(84页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、用例建模用例建模Use-Case ModelingUse-Case Modeling-2-课程内容课程内容UML概述概述理解需求理解需求需求,难在何处?需求,难在何处?以用例为中心组织需求以用例为中心组织需求基于用例的需求分析过程基于用例的需求分析过程-3-课程内容课程内容UML概述概述理解需求理解需求需求,难在何处?需求,难在何处?以用例为中心组织需求以用例为中心组织需求基于用例的需求分析过程基于用例的需求分析过程-4-What Is the UML?The UML is a language forVisualizingSpecifyingConstructingDocumenting t

2、he artifacts of a software-intensive systemUnified Modeling LanguageUnified Modeling Language(统一建模语言)是对象管(统一建模语言)是对象管(统一建模语言)是对象管(统一建模语言)是对象管理组织理组织理组织理组织(OMGOMG)制定的一个制定的一个制定的一个制定的一个通用通用通用通用的、的、的、的、可视化可视化可视化可视化的的建模语言建模语言建模语言建模语言标标标标准,可以用来准,可以用来准,可以用来准,可以用来可视化可视化可视化可视化(visualizevisualize)、描述描述描述描述(spe

3、cifyspecify)、)、)、)、构造构造构造构造(constructconstruct)和)和)和)和文档化文档化文档化文档化(documentdocument)软件密集型系)软件密集型系)软件密集型系)软件密集型系统的各种工件(统的各种工件(统的各种工件(统的各种工件(artifactsartifacts,又译制品),又译制品),又译制品),又译制品)-5-UML诞生诞生工工 业业化化标标 准准化化统统 一一化化分分 散散的的各各 部部分分公公众众反反馈馈1997.11.171997.11.17 UML 1.1UML 1.1被被被被OMG OMG 接纳为标准接纳为标准接纳为标准接纳为标

4、准OOPSLA95 Unified Method 0.8 Booch93 OMT-21996.6和和1996.10 UML 0.9&0.911997.9公布公布 UML 1.1 1997.1公布公布 UML 1.0合作伙伴合作伙伴意见意见 Booch91 OMT-1 其他方法其他方法 OOSEGrady Booch Jim Rumbaugh Ivar Jacobson-6-UML发展现状发展现状目前通用的是目前通用的是UML 1.x版版主要主要UML 1.3、UML 1.42003年年3月正式发布月正式发布UML 1.5UML 2.02003年年6月月OMG采纳了采纳了UML 2.0的的Sup

5、erstructure的提案的提案正式文本尚未发布正式文本尚未发布-7-UML 9种图种图类类 图:类以及类之间的相互关系图:类以及类之间的相互关系对象图:对象以及对象之间相互关系对象图:对象以及对象之间相互关系构件图:构件及其相互依赖关系构件图:构件及其相互依赖关系部署图:构件在各节点上的部署部署图:构件在各节点上的部署顺序图:强调时间顺序的交互图顺序图:强调时间顺序的交互图协作图:强调对象协作的交互图协作图:强调对象协作的交互图状态图:类所经历的各种状态状态图:类所经历的各种状态活动图:对工作流建模活动图:对工作流建模用例图:需求捕获,测试依据用例图:需求捕获,测试依据结结构构行行为为用例

6、图用例图用例图用例图静态图静态图静态图静态图实现图实现图实现图实现图交互图交互图交互图交互图行为图行为图行为图行为图-8-UML建模工具建模工具IBM Rational Rose 2003Borland Together 7.0Microsoft Visio 2003Sybase PowerDesigner 10NetBeans UML“非程序员杂志非程序员杂志”第第26到到30期期UML工具一览,工具一览,列出了约列出了约129个个UML开发工具开发工具-9-内容安排内容安排UML概述概述理解需求理解需求需求,难在何处?需求,难在何处?以用例为中心组织需求以用例为中心组织需求基于用例的需求分

7、析过程基于用例的需求分析过程认识问题认识问题认识问题认识问题分析问题分析问题分析问题分析问题解决问解决问解决问解决问题题题题最终用户最终用户最终用户最终用户(提出问题提出问题提出问题提出问题)开发团队开发团队开发团队开发团队(解决问题解决问题解决问题解决问题)以以以以用户用户用户用户的身份站在的身份站在的身份站在的身份站在用户用户用户用户的的的的角度认识问题角度认识问题角度认识问题角度认识问题获取需求获取需求获取需求获取需求用例建模技术用例建模技术用例建模技术用例建模技术以以以以开发者开发者开发者开发者的身份站在的身份站在的身份站在的身份站在用户用户用户用户的角度分析问题的角度分析问题的角度分

8、析问题的角度分析问题分析需求分析需求分析需求分析需求用例分析技术用例分析技术用例分析技术用例分析技术以以以以开发者开发者开发者开发者的身份站在的身份站在的身份站在的身份站在开发开发开发开发团队团队团队团队的角度分析问题的角度分析问题的角度分析问题的角度分析问题解决需求解决需求解决需求解决需求面向对象设计面向对象设计面向对象设计面向对象设计-11-需求需求建造建造“正确正确”的系统的系统需求:系统必须满足的条件或具备的能需求:系统必须满足的条件或具备的能力力软件质量准则软件质量准则“FURPS”功能性(功能性(Functionality)可用性(可用性(Usability)可靠性(可靠性(Rel

9、iability)性能(性能(Performance)可支持性(可支持性(Supportability)非功能性需求非功能性需求非功能性需求非功能性需求-12-内容安排内容安排UML概述概述理解需求理解需求需求,难在何处?需求,难在何处?以用例为中心组织需求以用例为中心组织需求基于用例的需求分析过程基于用例的需求分析过程-13-需求:饮料问题需求:饮料问题我要一瓶饮料我要一瓶饮料差不多,但我要无糖饮料差不多,但我要无糖饮料很好,不过我要绿茶的很好,不过我要绿茶的啊,没有大瓶的啊,没有大瓶的大瓶的无糖绿茶饮料大瓶的无糖绿茶饮料难难捕捕获获,易易变变!-14-需求:如此脆弱需求:如此脆弱客户客户/

10、用户的要用户的要求求/想法想法/期望期望软件设计软件设计软件产品软件产品分析和设计分析和设计编码和测试编码和测试验验 收收没价值的没价值的软件需求软件需求补文档补文档-15-需求:也需要开发需求:也需要开发客户客户/用户的要用户的要求求/想法想法/期望期望软件设计软件设计软件产品软件产品开发开发编码和测试编码和测试验收验收有价值的有价值的软件需求软件需求分析和设计分析和设计-16-获取好的需求获取好的需求需求收集包括五个关键步骤需求收集包括五个关键步骤找到可以帮助你理解这个系统的人找到可以帮助你理解这个系统的人倾听这些相关人员的描述,并从他们的角度倾听这些相关人员的描述,并从他们的角度来理解系

11、统来理解系统利用一个容易理解的模型来描述用户希望如利用一个容易理解的模型来描述用户希望如何使用这个系统以及为他们提供的什么价值何使用这个系统以及为他们提供的什么价值详细地描述系统和客户以及系统和外部系统详细地描述系统和客户以及系统和外部系统之间的交互之间的交互重构(重构(refactor)这个详细描述以保证它是)这个详细描述以保证它是可读且易懂的可读且易懂的-17-内容安排内容安排UML概述概述理解需求理解需求需求,难在何处?需求,难在何处?以用例为中心组织需求以用例为中心组织需求基于用例的需求分析过程基于用例的需求分析过程-18-需求问题:对策需求问题:对策难捕获难捕获难捕获难捕获易变易变易

12、变易变从用户视角看问题从用户视角看问题从用户视角看问题从用户视角看问题合理的结构合理的结构合理的结构合理的结构用例用例用例用例-19-以用例为中心组织需求以用例为中心组织需求用例用例用例用例可用性可用性可用性可用性可靠性可靠性可靠性可靠性网络协议网络协议网络协议网络协议业务规则业务规则业务规则业务规则硬件接口硬件接口硬件接口硬件接口界面约束界面约束界面约束界面约束性能性能性能性能-20-内容安排内容安排UML概述概述理解需求理解需求需求,难在何处?需求,难在何处?以用例为中心组织需求以用例为中心组织需求基于用例的需求分析过程基于用例的需求分析过程-21-基于用例的需求分析过程基于用例的需求分析

13、过程1.获取原始需求获取原始需求2.开发一个可以理解的需求开发一个可以理解的需求2.1 识别参与者识别参与者2.2 识别用例识别用例2.3 构建用例图构建用例图3 详细、完整地描述需求详细、完整地描述需求进行用例阐述进行用例阐述4 重构用例模型重构用例模型4.1 识别用例间的关系识别用例间的关系4.2 对用例进行组织和分包对用例进行组织和分包-22-基于用例的需求分析过程基于用例的需求分析过程 1.1.获取原始需求获取原始需求获取原始需求获取原始需求2.开发一个可以理解的需求开发一个可以理解的需求2.1 识别参与者识别参与者2.2 识别用例识别用例2.3 构建用例图构建用例图3.详细、完整地描

14、述需求详细、完整地描述需求进行用例阐述进行用例阐述4.重构用例模型重构用例模型4.1 识别用例间的关系识别用例间的关系4.2 对用例进行组织和分包对用例进行组织和分包-23-获取需求的技巧获取需求的技巧技巧技巧技巧技巧描述描述描述描述实地观察实地观察实地观察实地观察直接观察个人工作的情况,以发现现存的实践方式和问题直接观察个人工作的情况,以发现现存的实践方式和问题访谈访谈访谈访谈从个人处收集特定信息从个人处收集特定信息特定群体特定群体特定群体特定群体调查调查调查调查对一组人员进行调查,以便了解工作态度和共同看法对一组人员进行调查,以便了解工作态度和共同看法问卷调查问卷调查问卷调查问卷调查收集详

15、细数据和统计意义上比较重要的数据收集详细数据和统计意义上比较重要的数据用户指导用户指导用户指导用户指导让最终用户告诉你,他们是如何操作系统的让最终用户告诉你,他们是如何操作系统的原型制作原型制作原型制作原型制作模拟一个无法直接测试的系统模拟一个无法直接测试的系统统计版本统计版本统计版本统计版本使用具有统计功能的应用程序来记录用户完成任务的方式使用具有统计功能的应用程序来记录用户完成任务的方式行业知识行业知识行业知识行业知识收集和整理行业中的法律、法规,用户所使用的规章制度、操收集和整理行业中的法律、法规,用户所使用的规章制度、操作规程等内容作规程等内容-24-获取需求:考勤卡应用程序获取需求:

16、考勤卡应用程序初次访谈记录初次访谈记录初次访谈记录初次访谈记录开发者开发者:谁将使用这个应用程序?客客 户户:所有用它来记录可记帐以及不可记帐的工时的雇员开发者开发者:现在考勤卡应用程序是什么样的?客客 户户:每半个月就用一个Excel表格来记录。每个雇员都将通过他的表格填好,然后用电子邮件发给我。这个表格相当标准:纵向是收费项目代码,横向是日期。雇员可以在每个条目上填写说明。开发者开发者:这个收费项目代码可以从什么地方得到?开发者开发者:谁来管理收费项目代码?客客 户户:嗯,必要的时候由我来添加这个代码。而每个经理总会告诉他的下属应该填写什么。-25-基于用例的需求分析过程基于用例的需求分析

17、过程1.获取原始需求获取原始需求 2.2.开发一个可以理解的需求开发一个可以理解的需求开发一个可以理解的需求开发一个可以理解的需求2.1 识别参与者识别参与者2.2 识别用例识别用例2.3 构建用例图:确定参与者和用例之间的关系构建用例图:确定参与者和用例之间的关系3.详细、完整地描述需求详细、完整地描述需求进行用例阐述进行用例阐述4.重构用例模型重构用例模型4.1 识别用例间的关系识别用例间的关系4.2 对用例进行组织和分包对用例进行组织和分包-26-相关术语相关术语场景场景场景场景:是用来描述用户和系统之间交互的顺序的步骤:是用来描述用户和系统之间交互的顺序的步骤用例用例用例用例:是为了达

18、到某一用户目标而组合在一起的一组场景:是为了达到某一用户目标而组合在一起的一组场景用例图用例图用例图用例图:用来显示在系统(或其它实体)内的用例与系统参:用来显示在系统(或其它实体)内的用例与系统参与者之间的关系与者之间的关系主要使用场合:需求获取、定义、分析主要使用场合:需求获取、定义、分析主要使用场合:需求获取、定义、分析主要使用场合:需求获取、定义、分析用例模型用例模型用例模型用例模型:是系统既定功能及系统环境的模型,并作为客户:是系统既定功能及系统环境的模型,并作为客户和开发人员之间的契约。用例模型用作分析、设计和测试活和开发人员之间的契约。用例模型用作分析、设计和测试活动的基本输入。

19、动的基本输入。-27-用例图元素用例图元素参与者参与者用例用例系统边界系统边界直接直接关联关联扩展扩展包含包含泛化泛化注释体注释体注释连接注释连接关联关联-28-2.1 识别参与者识别参与者参与者,参与者,Actor关键词:关键词:边界边界参与者:在参与者:在系统之外系统之外,透过,透过系统边界系统边界与系统与系统进行进行有意义交互有意义交互的的任何事物任何事物-29-参与者要点参与者要点系统外系统外参与者代表在系统边界之外的真实事物,并参与者代表在系统边界之外的真实事物,并不是系统的成分不是系统的成分系统边界系统边界参与者透过系统边界参与者透过系统边界直接直接与系统交互,参与与系统交互,参与

20、者的确定代表者的确定代表系统边界系统边界的确定的确定有意义的交互有意义的交互任何事物任何事物人、外系统、外部因素、时间人、外系统、外部因素、时间-30-识别参与者:考勤卡系统识别参与者:考勤卡系统开发者开发者:谁将使用这个应用程序?客客 户户:所有用它来记录可记帐以及不可记帐的工时的雇员雇员雇员雇员开发者开发者:现在考勤卡应用程序是什么样的?客客 户户:每半个月就用一个Excel表格来记录。每个雇员都将通过他的表格填好,然后用电子邮件发给我。这个表格相当标准:纵向是收费项目代码,横向是日期。雇员可以在每个条目上填写说明。开发者开发者:这个收费项目代码可以从什么地方得到?开发者开发者:谁来管理收

21、费项目代码?客客 户户:嗯,必要的时候由我(业务经理)(业务经理)(业务经理)(业务经理)来添加这个代码。而每个经理总会告诉他的下属应该填写什么。-31-2.2 识别用例识别用例关键词:价值关键词:价值定义定义用例实例是用例实例是系统执行系统执行的的一系列动作一系列动作,这些动,这些动作将生成特定作将生成特定参与者可观测参与者可观测的的结果值结果值一个用例定义一个用例定义一组用例实例一组用例实例简洁:参与者简洁:参与者使用系统使用系统达到目标达到目标-32-识别用例:考勤卡系统识别用例:考勤卡系统开发者开发者:谁将使用这个应用程序?客客 户户:所有用它来记录可记帐以及不可记帐的工时记录可记帐以

22、及不可记帐的工时记录可记帐以及不可记帐的工时记录可记帐以及不可记帐的工时的雇员雇员雇员雇员开发者开发者:现在考勤卡应用程序是什么样的?客客 户户:每半个月就用一个Excel表格来记录。每个雇员都将通过他的表格填好,然后用电子邮件发给我。这个表格相当标准:纵向是收费项目代码,横向是日期。雇员可以在每个条目上填写说明。开发者开发者:这个收费项目代码可以从什么地方得到?开发者开发者:谁来管理收费项目代码管理收费项目代码管理收费项目代码管理收费项目代码?客客 户户:嗯,必要的时候由我(业务经理)(业务经理)(业务经理)(业务经理)来添加这个代码。而每个经理总会告诉他的下属应该填写什么。-33-用例要点

23、用例要点可观测可观测用例止于系统边界用例止于系统边界结果值结果值用例是有意义的目标用例是有意义的目标系统执行系统执行结果值由系统生成结果值由系统生成由参与者观测由参与者观测业务语言、用户观点业务语言、用户观点一组用例实例一组用例实例用例的粒度用例的粒度-34-要点:用例止于系统边界要点:用例止于系统边界描述交互,而不是内在的系统活动描述交互,而不是内在的系统活动描述交互,而不是内在的系统活动描述交互,而不是内在的系统活动-35-要点:有要点:有意义意义的目标的目标-36-要点:结果值由系统生成要点:结果值由系统生成系统需要处理的,由系统生成系统需要处理的,由系统生成系统需要处理的,由系统生成系

24、统需要处理的,由系统生成-37-要点:业务语言而非技术语言要点:业务语言而非技术语言用户词汇,而不是技术词汇用户词汇,而不是技术词汇如:发票,商品,洗衣机如:发票,商品,洗衣机而不是:记录,字段,而不是:记录,字段,COM,C+等等-38-要点:用户观点而非系统观点要点:用户观点而非系统观点用户观点用户观点用户观点用户观点系统观点系统观点系统观点系统观点-39-用例用例 VS.功能功能呼叫某人呼叫某人接听电话接听电话发送短信发送短信记住电话号码记住电话号码传输传输/接收接收电源电源/基站基站输入输出(显示、键盘)输入输出(显示、键盘)电话簿管理电话簿管理用户观点用户观点用户观点用户观点系统观点

25、系统观点系统观点系统观点-40-用例的命名用例的命名执行者视角:执行者视角:一个简单、描述性的名称,一般为带有动作性的词。一个简单、描述性的名称,一般为带有动作性的词。-41-要点:用例粒度要点:用例粒度-1用例要有路径,路径要有步骤;而这一用例要有路径,路径要有步骤;而这一切都是可观测的切都是可观测的最常犯错误:粒度过细,陷入功能分解最常犯错误:粒度过细,陷入功能分解过细的粒度,一般都会导致技术语言的描述,过细的粒度,一般都会导致技术语言的描述,而不再是业务语言而不再是业务语言-42-用例粒度用例粒度-2把步骤当用例把步骤当用例把系统活动当用例把系统活动当用例-43-用例粒度用例粒度-3“四

26、轮马车四轮马车”C(Create)R(Read)U(Update)D(Delete)所有业务最终对会成为所有业务最终对会成为CRUD?CRUD能为能为Actor提供价提供价值?值?CRUD掩盖业务,掩盖业务,锐变成锐变成关系数据库的建模:关系数据库的建模:“系统就是数据的增删系统就是数据的增删改查改查”关心数据的存储和维护,关心数据的存储和维护,反而忽略了用户的目的反而忽略了用户的目的-44-用例粒度用例粒度-4如果确实是如果确实是CRUD?如果如果CRUD不涉及复杂的交互,一个用例不涉及复杂的交互,一个用例“管理管理”即可即可不管是不管是C、R、U、D,都是为了完成,都是为了完成“管理管理”

27、目目标标甚至很多种的基本数据管理都可以用一个用例表甚至很多种的基本数据管理都可以用一个用例表示示-45-用例粒度用例粒度-5灵活处理灵活处理CRUD可以把包含复杂交互的路径独立出去形成用例可以把包含复杂交互的路径独立出去形成用例可以把包含复杂交互的路径独立出去形成用例可以把包含复杂交互的路径独立出去形成用例-46-思考:识别用例思考:识别用例-1Email客户端(如:客户端(如:outlook express),),A在北京发邮件给上海的在北京发邮件给上海的B,系统提醒,系统提醒B你有你有“新新邮件邮件”,B收邮件收邮件错误错误-47-思考:识别用例思考:识别用例-2-48-2.3 构建用例图

28、构建用例图-49-基于用例的需求分析过程基于用例的需求分析过程1.获取原始需求获取原始需求2.开发一个可以理解的需求开发一个可以理解的需求2.1 识别参与者识别参与者2.2 识别用例识别用例2.3 构建用例图构建用例图 3.3.详细、完整地描述需求详细、完整地描述需求详细、完整地描述需求详细、完整地描述需求进行用例阐述进行用例阐述4.重构用例模型重构用例模型(高级用例建模方法高级用例建模方法高级用例建模方法高级用例建模方法)4.1 识别用例间的关系识别用例间的关系4.2 对用例进行组织和分包对用例进行组织和分包-50-进行用例阐述:写用例规约进行用例阐述:写用例规约用例规约用例规约(Use c

29、ase Specification):更进一步的精度更进一步的精度用例文档的核心,作为用例文档的总图用例文档的核心,作为用例文档的总图进一步的精度:有层次的文档进一步的精度:有层次的文档文档中每一句话都有其价值文档中每一句话都有其价值用例图是骨架,而用例规约则是其内在的肉用例图是骨架,而用例规约则是其内在的肉用例图是骨架,而用例规约则是其内在的肉用例图是骨架,而用例规约则是其内在的肉-51-谁来写用例文档谁来写用例文档最完美:业务人员接受训练,写出优美最完美:业务人员接受训练,写出优美的用例文档的用例文档 最现实:业务人员提供素材,开发人员最现实:业务人员提供素材,开发人员写用例文档写用例文档

30、最糟糕:业务人员不管,完全由开发人最糟糕:业务人员不管,完全由开发人员杜撰员杜撰-52-用例规约组成用例规约组成用例名称用例名称用例标识用例标识涉及的参与者涉及的参与者描述描述用例的规格说明用例的规格说明前置条件前置条件 PreConditions后置条件后置条件 PostConditions正常事件流正常事件流 Flow of events备选事件流备选事件流 Alternate flow其它其它非功能需求、设计约束、尚存在的问题非功能需求、设计约束、尚存在的问题-53-前置、后置条件前置、后置条件-1前置条件约束在用例开始前前置条件约束在用例开始前系统的状态系统的状态把它们看做是看门人,它

31、阻把它们看做是看门人,它阻止参与者触发该用例直到满止参与者触发该用例直到满足所有条件足所有条件说明在用例触发之前什么必说明在用例触发之前什么必须为真须为真后置条件约束用例执行后系后置条件约束用例执行后系统的状态统的状态用例执行后什么必须为真用例执行后什么必须为真对于有多个事件流的用例,对于有多个事件流的用例,则应该有多个后置条件则应该有多个后置条件-54-前置、后置条件前置、后置条件-2某些用例依赖于其他用例某些用例依赖于其他用例一个用例在离开系统时,可能是另一个用例一个用例在离开系统时,可能是另一个用例的前置条件(例如:的前置条件(例如:“登录登录”和和“管理系统管理系统”)有助于识别漏掉的

32、用例有助于识别漏掉的用例如果一个用例的前置条件不能有执行其他用如果一个用例的前置条件不能有执行其他用例满足,可能意味着丢失了用例(例如:例满足,可能意味着丢失了用例(例如:“管理订单管理订单”却没有却没有“登录登录”用例)用例)-55-用例交互四部曲用例交互四部曲-事件流事件流1.动动 作作4.回回 应应2.改变改变3.验证验证系系 统统写:可观测的、体现客户利益的文字写:可观测的、体现客户利益的文字写:可观测的、体现客户利益的文字写:可观测的、体现客户利益的文字-56-事件流描述要点事件流描述要点1.只书写只书写“可观测可观测”的的2.使用主动语句使用主动语句3.句子必须以参与者或系统作为主

33、语句子必须以参与者或系统作为主语4.不要涉及界面细节不要涉及界面细节5.分支和循环分支和循环-57-要点要点1:只写:只写“可观测可观测”的的系统通过系统通过ADO建立数据库连接,传送建立数据库连接,传送SQL查询语句,从查询语句,从“商品表商品表”查询商品查询商品的详细信息的详细信息系统按照查询条件搜索商品的详细信息系统按照查询条件搜索商品的详细信息-58-要点要点2:主动语句:主动语句用户输入搜索条件,页面显示系统搜索用户输入搜索条件,页面显示系统搜索的结果的结果出纳员出纳员系统系统-59-要点要点3:以参与者或系统作主语:以参与者或系统作主语参与者参与者系统系统出纳员接收顾客的付款出纳员

34、接收顾客的付款顾客的付款数可能顾客的付款数可能高于商品总额高于商品总额出纳员录入顾客所付的现金总额出纳员录入顾客所付的现金总额系统显示出应找还给顾客的余额,打印付款系统显示出应找还给顾客的余额,打印付款收据收据-60-要点要点4:不涉及界面细节:不涉及界面细节会员从下拉框中选择类别会员从下拉框中选择类别会员在相应文本框中输入查询条件会员在相应文本框中输入查询条件会员点击会员点击“确定确定”按钮按钮-61-要点要点5:分支和循环:分支和循环分支:放到扩展路径分支:放到扩展路径参与者的选择参与者的选择另一条成功线路另一条成功线路系统进行验证系统进行验证循环:直接描述循环:直接描述-62-用例规约:

35、记录时间用例规约:记录时间UC01:“Record Time”用例文档用例文档用例名称:用例名称:Record Time(记录时间)(记录时间)用例标识用例标识:UC01涉及的参与者:涉及的参与者:雇员、系统管理员描述:描述:雇员利用“Record Time”用例来登记他们的工时 系统管理员用这个用例为任何雇员登记时间前置条件:前置条件:用户必须已经登录到这个系统后置条件:后置条件:系统将雇员的工时正确的记录到数据库中-63-用例规约:记录时间用例规约:记录时间(续续)正常事件流(正常事件流(Basic Flow):):1.雇员查看当前时间之前输入的数据;2.雇员从已有的支付号码中选择一个,这

36、些收费代码是按客户和项目组织的;3.雇员从当前的时间段选择一个日期;4.雇员输入以正整数表示的工时;5.系统在视图中显示这个数据,并在以后的视图中看到这个数据。备选事件流(备选事件流(Alternative Flow)1:雇员更改他的时间雇员更改他的时间1.雇员查看当前时间之前输入的数据;2.雇员选择一个已有的条目;3.雇员改变工时;4.在视图中更新这个信息,并在以后的视图中都可以看到。-64-用例规约:记录时间用例规约:记录时间(续续)非功能需求:非功能需求:无设计约束:设计约束:无部署约束:部署约束:用户可以从客户端或雇员的家中访问到“Record Time”用例,如果是从客户端访问,则要

37、考虑到客户端的防火墙未解决的问题未解决的问题雇员是否可以在以前的考勤卡上输入和更改时间雇员是否可以在以后的考勤卡上输入和更改时间,例如,在休假之前?-65-活动图活动图-简述用例流程简述用例流程-66-活动图活动图Activity Diagram通过动作来组织,主要用于描述某一方法、机通过动作来组织,主要用于描述某一方法、机制或制或用例用例用例用例的的内部行为内部行为内部行为内部行为 活动活动活动活动(ActivitiesActivities),which are steps in the,which are steps in the workflow.workflow.动作动作动作动作(Ac

38、tionsActions),which are steps within an,which are steps within an activity.Actions may occur when entering activity.Actions may occur when entering the activity,exiting the activity,while inside the activity,exiting the activity,while inside the activity,or upon a specific event.the activity,or upon

39、 a specific event.转移(转移(转移(转移(TransitionsTransitions)、决策()、决策()、决策()、决策(DecisionDecision)、同步)、同步)、同步)、同步条(条(条(条(SynchronizationsSynchronizations)业务对象(业务对象(业务对象(业务对象(Business objectsBusiness objects)起始状态(起始状态(起始状态(起始状态(The start stateThe start state)、终止状态()、终止状态()、终止状态()、终止状态(The The end stateend sta

40、te)-67-活动图活动图-推荐的使用场合推荐的使用场合 分析用例:分析用例:分析用例:分析用例:能直观清晰地分析用例,了解应当能直观清晰地分析用例,了解应当采取哪些动作以及这些动作之间的依赖关系。采取哪些动作以及这些动作之间的依赖关系。一张完整的活动图是所有用例的集成图一张完整的活动图是所有用例的集成图理解牵涉理解牵涉多个用例的工作流:多个用例的工作流:多个用例的工作流:多个用例的工作流:在难于区分不同在难于区分不同用例而对整个系统的工作过程又十分清楚时,用例而对整个系统的工作过程又十分清楚时,可以先构造活动图,然后用切片技术派生用例可以先构造活动图,然后用切片技术派生用例图图 处理多线程处

41、理多线程处理多线程处理多线程应用:采用应用:采用“分层抽象,逐步细化分层抽象,逐步细化”的原则描述多线程的原则描述多线程-68-基于用例的需求分析过程基于用例的需求分析过程1.获取原始需求获取原始需求2.开发一个可以理解的需求开发一个可以理解的需求2.1 识别参与者识别参与者2.2 识别用例识别用例2.3 构建用例图构建用例图3 详细、完整地描述需求详细、完整地描述需求进行用例阐述进行用例阐述 4 4 重构用例模型重构用例模型重构用例模型重构用例模型(高级用例建模方法高级用例建模方法高级用例建模方法高级用例建模方法)4.1 识别用例间的关系识别用例间的关系4.2 对用例进行组织和分包对用例进行

42、组织和分包-69-4.1 用例关系用例关系ExtendIncludeGeneralization-70-通过关系整理文档通过关系整理文档Extend分离扩展路径分离扩展路径Include提取公共步骤,便于复用提取公共步骤,便于复用Generalization同一业务目的的不同技术实现同一业务目的的不同技术实现-71-扩展关系扩展关系 基用例路径本身是完整的基用例路径本身是完整的基用例路径本身是完整的基用例路径本身是完整的,可能是一条扩展路,可能是一条扩展路径径扩展路径步骤多扩展路径步骤多扩展路径内部还有扩展点扩展之扩展扩展路径内部还有扩展点扩展之扩展-72-扩展关系误用扩展关系误用-73-识别

43、扩展点思路识别扩展点思路执行者的选择执行者的选择系统验证系统验证步骤失败步骤失败必须是系统能感知的必须是系统能感知的必须是系统能感知的必须是系统能感知的-74-包含关系包含关系某些步骤在多个用例重复出现,且单独某些步骤在多个用例重复出现,且单独形成价值形成价值用例步骤较多时,可用用例步骤较多时,可用Include简化(慎简化(慎用)用)-75-包含关系误用包含关系误用-76-泛化关系泛化关系同一业务目的不同技术实现:同一业务目的不同技术实现:一个用例可以特化另一个更普通用例(更普通用例一个用例可以特化另一个更普通用例(更普通用例泛化特殊用例)泛化特殊用例)UML 1.5:用例间的泛化关系表明子

44、用例包含父用用例间的泛化关系表明子用例包含父用例中定义的所有属性、行为序列和扩展点,并且参例中定义的所有属性、行为序列和扩展点,并且参与父用例中所有的关系与父用例中所有的关系-77-用例关系:扩展用例关系:扩展 VS.泛化泛化采用不同关系,文档结构不同采用不同关系,文档结构不同采用不同关系,文档结构不同采用不同关系,文档结构不同-78-重构后的用例图:考勤卡系统重构后的用例图:考勤卡系统-79-4.2 为什么要对用为什么要对用例进行分级例进行分级用例和开发周期用例和开发周期开发周期是围绕用例的需求来组织的开发周期是围绕用例的需求来组织的一个开发周期要被指派一个到多个用例,如果完全一个开发周期要

45、被指派一个到多个用例,如果完全版本的用例在一个开发周期中处理起来太复杂的话,版本的用例在一个开发周期中处理起来太复杂的话,那就采用简化版本的用例那就采用简化版本的用例用例用例A-简化版本简化版本用例用例A-完整版本完整版本用例用例B用例用例C-80-用例分级原则用例分级原则用例分级的一个基本原则用例分级的一个基本原则高级别的用例是那些对系统核心体系结构影响最大高级别的用例是那些对系统核心体系结构影响最大的用例的用例提高用例级别的特性:提高用例级别的特性:a.对体系结构设计有重要影响的用例,如在领域层对体系结构设计有重要影响的用例,如在领域层中增加多个类的用例或者需要持久化的用例中增加多个类的用

46、例或者需要持久化的用例b.不需要花费很多努力就可以从中获得重要信息和不需要花费很多努力就可以从中获得重要信息和线索的那些用例线索的那些用例c.含有开发风险、时间紧迫或功能复杂的用例含有开发风险、时间紧迫或功能复杂的用例d.涉及到重要技术研究或者新技术和高风险的用例涉及到重要技术研究或者新技术和高风险的用例e.代表主要的在线业务流程的用例代表主要的在线业务流程的用例f.能产生直接经济效益或者降低成本的用例能产生直接经济效益或者降低成本的用例-81-用例分级实施策略用例分级实施策略可以使用一个简单的但是有些不精确的分级方可以使用一个简单的但是有些不精确的分级方法,如将用例划分成高、中、低三个等级法

47、,如将用例划分成高、中、低三个等级-82-用例的组织用例的组织对用例进行分包对用例进行分包让用例图能够更为清晰地表现出系统的业务逻辑关系和层次让用例图能够更为清晰地表现出系统的业务逻辑关系和层次对系统进行模块的分割,这将影响到今后的开发和系统的最对系统进行模块的分割,这将影响到今后的开发和系统的最终表现形式终表现形式常见的分包方式常见的分包方式按参与者分包按参与者分包按主题分包按主题分包按开发团队分包按开发团队分包按发布情况分包按发布情况分包可以先按主题分包,主题内再按开发团队和发布情况分包可以先按主题分包,主题内再按开发团队和发布情况分包可以先按主题分包,主题内再按开发团队和发布情况分包可以

48、先按主题分包,主题内再按开发团队和发布情况分包-83-补充需求规约补充需求规约Supplementary Specification补充需求规约补充需求规约Supplementary Specification非功能需求非功能需求(URPS)可用性(可用性(Usability)可靠性(可靠性(Reliability)性能(性能(Performance)可支持性(可支持性(Supportability)设计约束设计约束用用Oracle数据库平台,用数据库平台,用PB开发开发软件必须符合软件必须符合ISO标准标准本质上不是需求,只是从商业、行政、技术上的约束本质上不是需求,只是从商业、行政、技术上

49、的约束词汇表词汇表Glossary描述数据描述数据-84-题外话:何时适用用例建模题外话:何时适用用例建模用例是从参与者角度捕获系统功能,当系统只有一个用例是从参与者角度捕获系统功能,当系统只有一个或者没有参与者时,显然它们不是非常有效的或者没有参与者时,显然它们不是非常有效的用例捕获功能需求,因此它们对于系统的非功能需求用例捕获功能需求,因此它们对于系统的非功能需求不是有效不是有效当遇到下述情况时,用例是需求捕获的最好选择当遇到下述情况时,用例是需求捕获的最好选择系统由功能需求所主导系统由功能需求所主导系统具有很多类型的用户,系统对他们提供不同的功能系统具有很多类型的用户,系统对他们提供不同的功能系统具有很多接口系统具有很多接口当遇到下述情况时,用例是一个糟糕的选择:当遇到下述情况时,用例是一个糟糕的选择:系统有非功能需求所主导(如:系统有非功能需求所主导(如:Google)系统具有很少的用户系统具有很少的用户系统具有很少的接口(非内部功能)系统具有很少的接口(非内部功能)如:嵌入式系统、算法复杂但接口少的系统等如:嵌入式系统、算法复杂但接口少的系统等

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁