需求分析——UML用例图STUD.ppt
《需求分析——UML用例图STUD.ppt》由会员分享,可在线阅读,更多相关《需求分析——UML用例图STUD.ppt(84页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、用例建模用例建模Use-Case ModelingUse-Case Modeling蔡莉蔡莉课程内容课程内容UML概述概述理解需求理解需求需求,难在何处?需求,难在何处?以用例为中心组织需求以用例为中心组织需求基于用例的需求分析过程基于用例的需求分析过程2课程内容课程内容UML概述概述理解需求理解需求需求,难在何处?需求,难在何处?以用例为中心组织需求以用例为中心组织需求基于用例的需求分析过程基于用例的需求分析过程3What Is the UML?The UML is a language forVisualizingSpecifyingConstructingDocumenting the
2、artifacts of a software-intensive systemUnified Modeling LanguageUnified Modeling Language(统一建模语言)是对象管(统一建模语言)是对象管(统一建模语言)是对象管(统一建模语言)是对象管理组织理组织理组织理组织(OMGOMG)制定的一个制定的一个制定的一个制定的一个通用通用通用通用的、的、的、的、可视化可视化可视化可视化的的建模语言建模语言建模语言建模语言标标标标准,可以用来准,可以用来准,可以用来准,可以用来可视化可视化可视化可视化(visualizevisualize)、描述描述描述描述(specif
3、yspecify)、)、)、)、构造构造构造构造(constructconstruct)和)和)和)和文档化文档化文档化文档化(documentdocument)软件密集型系)软件密集型系)软件密集型系)软件密集型系统的各种工件(统的各种工件(统的各种工件(统的各种工件(artifactsartifacts,又译制品),又译制品),又译制品),又译制品)4UML诞生诞生工工 业业化化标标 准准化化统统 一一化化分分 散散的的各各 部部分分公公众众反反馈馈1997.11.171997.11.17 UML 1.1UML 1.1被被被被OMG OMG 接纳为标准接纳为标准接纳为标准接纳为标准OOPS
4、LA95 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 Jacobson5UML发展现状发展现状目前通用的是目前通用的是UML 1.x版版主要主要UML 1.3、UML 1.42003年年3月正式发布月正式发布UML 1.5UML 2.02003年年6月月OMG采纳了采纳了UML 2.0的的Superstruc
5、ture的提案的提案正式文本尚未发布正式文本尚未发布6UML 9种图种图类类 图:类以及类之间的相互关系图:类以及类之间的相互关系对象图:对象以及对象之间相互关系对象图:对象以及对象之间相互关系构件图:构件及其相互依赖关系构件图:构件及其相互依赖关系部署图:构件在各节点上的部署部署图:构件在各节点上的部署顺序图:强调时间顺序的交互图顺序图:强调时间顺序的交互图协作图:强调对象协作的交互图协作图:强调对象协作的交互图状态图:类所经历的各种状态状态图:类所经历的各种状态活动图:对工作流建模活动图:对工作流建模用例图:需求捕获,测试依据用例图:需求捕获,测试依据结结构构行行为为用例图用例图用例图用例
6、图静态图静态图静态图静态图实现图实现图实现图实现图交互图交互图交互图交互图行为图行为图行为图行为图7UML建模工具建模工具IBM Rational Rose 2003Borland Together 7.0Microsoft Visio 2003Sybase PowerDesigner 10NetBeans UML“非程序员杂志非程序员杂志”第第26到到30期期UML工具一览,工具一览,列出了约列出了约129个个UML开发工具开发工具8内容安排内容安排UML概述概述理解需求理解需求需求,难在何处?需求,难在何处?以用例为中心组织需求以用例为中心组织需求基于用例的需求分析过程基于用例的需求分析过
7、程9认识问题认识问题认识问题认识问题分析问题分析问题分析问题分析问题解决问解决问解决问解决问题题题题最终用户最终用户最终用户最终用户(提出问题提出问题提出问题提出问题)开发团队开发团队开发团队开发团队(解决问题解决问题解决问题解决问题)以以以以用户用户用户用户的身份站在的身份站在的身份站在的身份站在用户用户用户用户的的的的角度认识问题角度认识问题角度认识问题角度认识问题获取需求获取需求获取需求获取需求用例建模技术用例建模技术用例建模技术用例建模技术以以以以开发者开发者开发者开发者的身份站在的身份站在的身份站在的身份站在用户用户用户用户的角度分析问题的角度分析问题的角度分析问题的角度分析问题分析
8、需求分析需求分析需求分析需求用例分析技术用例分析技术用例分析技术用例分析技术以以以以开发者开发者开发者开发者的身份站在的身份站在的身份站在的身份站在开发开发开发开发团队团队团队团队的角度分析问题的角度分析问题的角度分析问题的角度分析问题解决需求解决需求解决需求解决需求面向对象设计面向对象设计面向对象设计面向对象设计需求需求建造建造“正确正确”的系统的系统需求:系统必须满足的条件或具备的能需求:系统必须满足的条件或具备的能力力软件质量准则软件质量准则“FURPS”功能性(功能性(Functionality)可用性(可用性(Usability)可靠性(可靠性(Reliability)性能(性能(P
9、erformance)可支持性(可支持性(Supportability)非功能性需求非功能性需求非功能性需求非功能性需求11内容安排内容安排UML概述概述理解需求理解需求需求,难在何处?需求,难在何处?以用例为中心组织需求以用例为中心组织需求基于用例的需求分析过程基于用例的需求分析过程12需求:饮料问题需求:饮料问题我要一瓶饮料我要一瓶饮料差不多,但我要无糖饮料差不多,但我要无糖饮料很好,不过我要绿茶的很好,不过我要绿茶的啊,没有大瓶的啊,没有大瓶的大瓶的无糖绿茶饮料大瓶的无糖绿茶饮料难难捕捕获获,易易变变!13需求:如此脆弱需求:如此脆弱客户客户/用户的要用户的要求求/想法想法/期望期望软件
10、设计软件设计软件产品软件产品分析和设计分析和设计编码和测试编码和测试验验 收收没价值的没价值的软件需求软件需求补文档补文档14需求:也需要开发需求:也需要开发客户客户/用户的要用户的要求求/想法想法/期望期望软件设计软件设计软件产品软件产品开发开发编码和测试编码和测试验收验收有价值的有价值的软件需求软件需求分析和设计分析和设计15获取好的需求获取好的需求需求收集包括五个关键步骤需求收集包括五个关键步骤找到可以帮助你理解这个系统的人找到可以帮助你理解这个系统的人倾听这些相关人员的描述,并从他们的角度倾听这些相关人员的描述,并从他们的角度来理解系统来理解系统利用一个容易理解的模型来描述用户希望如利
11、用一个容易理解的模型来描述用户希望如何使用这个系统以及为他们提供的什么价值何使用这个系统以及为他们提供的什么价值详细地描述系统和客户以及系统和外部系统详细地描述系统和客户以及系统和外部系统之间的交互之间的交互重构(重构(refactor)这个详细描述以保证它是)这个详细描述以保证它是可读且易懂的可读且易懂的16内容安排内容安排UML概述概述理解需求理解需求需求,难在何处?需求,难在何处?以用例为中心组织需求以用例为中心组织需求基于用例的需求分析过程基于用例的需求分析过程17需求问题:对策需求问题:对策难捕获难捕获难捕获难捕获易变易变易变易变从用户视角看问题从用户视角看问题从用户视角看问题从用户
12、视角看问题合理的结构合理的结构合理的结构合理的结构用例用例用例用例18以用例为中心组织需求以用例为中心组织需求用例用例用例用例可用性可用性可用性可用性可靠性可靠性可靠性可靠性网络协议网络协议网络协议网络协议业务规则业务规则业务规则业务规则硬件接口硬件接口硬件接口硬件接口界面约束界面约束界面约束界面约束性能性能性能性能19内容安排内容安排UML概述概述理解需求理解需求需求,难在何处?需求,难在何处?以用例为中心组织需求以用例为中心组织需求基于用例的需求分析过程基于用例的需求分析过程20基于用例的需求分析过程基于用例的需求分析过程1.获取原始需求获取原始需求2.开发一个可以理解的需求开发一个可以理
13、解的需求2.1 识别参与者识别参与者2.2 识别用例识别用例2.3 构建用例图构建用例图3 详细、完整地描述需求详细、完整地描述需求进行用例阐述进行用例阐述4 重构用例模型重构用例模型4.1 识别用例间的关系识别用例间的关系4.2 对用例进行组织和分包对用例进行组织和分包21基于用例的需求分析过程基于用例的需求分析过程 1.1.获取原始需求获取原始需求获取原始需求获取原始需求2.开发一个可以理解的需求开发一个可以理解的需求2.1 识别参与者识别参与者2.2 识别用例识别用例2.3 构建用例图构建用例图3.详细、完整地描述需求详细、完整地描述需求进行用例阐述进行用例阐述4.重构用例模型重构用例模
14、型4.1 识别用例间的关系识别用例间的关系4.2 对用例进行组织和分包对用例进行组织和分包22获取需求的技巧获取需求的技巧技巧技巧技巧技巧描述描述描述描述实地观察实地观察实地观察实地观察直接观察个人工作的情况,以发现现存的实践方式和问题直接观察个人工作的情况,以发现现存的实践方式和问题访谈访谈访谈访谈从个人处收集特定信息从个人处收集特定信息特定群体特定群体特定群体特定群体调查调查调查调查对一组人员进行调查,以便了解工作态度和共同看法对一组人员进行调查,以便了解工作态度和共同看法问卷调查问卷调查问卷调查问卷调查收集详细数据和统计意义上比较重要的数据收集详细数据和统计意义上比较重要的数据用户指导用
15、户指导用户指导用户指导让最终用户告诉你,他们是如何操作系统的让最终用户告诉你,他们是如何操作系统的原型制作原型制作原型制作原型制作模拟一个无法直接测试的系统模拟一个无法直接测试的系统统计版本统计版本统计版本统计版本使用具有统计功能的应用程序来记录用户完成任务的方式使用具有统计功能的应用程序来记录用户完成任务的方式行业知识行业知识行业知识行业知识收集和整理行业中的法律、法规,用户所使用的规章制度、操收集和整理行业中的法律、法规,用户所使用的规章制度、操作规程等内容作规程等内容23获取需求:考勤卡应用程序获取需求:考勤卡应用程序初次访谈记录初次访谈记录初次访谈记录初次访谈记录开发者开发者:谁将使用
16、这个应用程序?客客 户户:所有用它来记录可记帐以及不可记帐的工时的雇员开发者开发者:现在考勤卡应用程序是什么样的?客客 户户:每半个月就用一个Excel表格来记录。每个雇员都将通过他的表格填好,然后用电子邮件发给我。这个表格相当标准:纵向是收费项目代码,横向是日期。雇员可以在每个条目上填写说明。开发者开发者:这个收费项目代码可以从什么地方得到?开发者开发者:谁来管理收费项目代码?客客 户户:嗯,必要的时候由我来添加这个代码。而每个经理总会告诉他的下属应该填写什么。24基于用例的需求分析过程基于用例的需求分析过程1.获取原始需求获取原始需求 2.2.开发一个可以理解的需求开发一个可以理解的需求开
17、发一个可以理解的需求开发一个可以理解的需求2.1 识别参与者识别参与者2.2 识别用例识别用例2.3 构建用例图:确定参与者和用例之间的关系构建用例图:确定参与者和用例之间的关系3.详细、完整地描述需求详细、完整地描述需求进行用例阐述进行用例阐述4.重构用例模型重构用例模型4.1 识别用例间的关系识别用例间的关系4.2 对用例进行组织和分包对用例进行组织和分包25相关术语相关术语场景场景场景场景:是用来描述用户和系统之间交互的顺序的步骤:是用来描述用户和系统之间交互的顺序的步骤用例用例用例用例:是为了达到某一用户目标而组合在一起的一组场景:是为了达到某一用户目标而组合在一起的一组场景用例图用例
18、图用例图用例图:用来显示在系统(或其它实体)内的用例与系统参:用来显示在系统(或其它实体)内的用例与系统参与者之间的关系与者之间的关系主要使用场合:需求获取、定义、分析主要使用场合:需求获取、定义、分析主要使用场合:需求获取、定义、分析主要使用场合:需求获取、定义、分析用例模型用例模型用例模型用例模型:是系统既定功能及系统环境的模型,并作为客户:是系统既定功能及系统环境的模型,并作为客户和开发人员之间的契约。用例模型用作分析、设计和测试活和开发人员之间的契约。用例模型用作分析、设计和测试活动的基本输入。动的基本输入。26用例图元素用例图元素参与者参与者用例用例系统边界系统边界直接直接关联关联扩
19、展扩展包含包含泛化泛化注释体注释体注释连接注释连接关联关联272.1 识别参与者识别参与者参与者,参与者,Actor关键词:关键词:边界边界参与者:在参与者:在系统之外系统之外,透过,透过系统边界系统边界与系统与系统进行进行有意义交互有意义交互的的任何事物任何事物28参与者要点参与者要点系统外系统外参与者代表在系统边界之外的真实事物,并参与者代表在系统边界之外的真实事物,并不是系统的成分不是系统的成分系统边界系统边界参与者透过系统边界参与者透过系统边界直接直接与系统交互,参与与系统交互,参与者的确定代表者的确定代表系统边界系统边界的确定的确定有意义的交互有意义的交互任何事物任何事物人、外系统、
20、外部因素、时间人、外系统、外部因素、时间29识别参与者:考勤卡系统识别参与者:考勤卡系统开发者开发者:谁将使用这个应用程序?客客 户户:所有用它来记录可记帐以及不可记帐的工时的雇员雇员雇员雇员开发者开发者:现在考勤卡应用程序是什么样的?客客 户户:每半个月就用一个Excel表格来记录。每个雇员都将通过他的表格填好,然后用电子邮件发给我。这个表格相当标准:纵向是收费项目代码,横向是日期。雇员可以在每个条目上填写说明。开发者开发者:这个收费项目代码可以从什么地方得到?开发者开发者:谁来管理收费项目代码?客客 户户:嗯,必要的时候由我(业务经理)(业务经理)(业务经理)(业务经理)来添加这个代码。而
21、每个经理总会告诉他的下属应该填写什么。302.2 识别用例识别用例关键词:价值关键词:价值定义定义用例实例是用例实例是系统执行系统执行的的一系列动作一系列动作,这些动,这些动作将生成特定作将生成特定参与者可观测参与者可观测的的结果值结果值一个用例定义一个用例定义一组用例实例一组用例实例简洁:参与者简洁:参与者使用系统使用系统达到目标达到目标31识别用例:考勤卡系统识别用例:考勤卡系统开发者开发者:谁将使用这个应用程序?客客 户户:所有用它来记录可记帐以及不可记帐的工时记录可记帐以及不可记帐的工时记录可记帐以及不可记帐的工时记录可记帐以及不可记帐的工时的雇员雇员雇员雇员开发者开发者:现在考勤卡应
22、用程序是什么样的?客客 户户:每半个月就用一个Excel表格来记录。每个雇员都将通过他的表格填好,然后用电子邮件发给我。这个表格相当标准:纵向是收费项目代码,横向是日期。雇员可以在每个条目上填写说明。开发者开发者:这个收费项目代码可以从什么地方得到?开发者开发者:谁来管理收费项目代码管理收费项目代码管理收费项目代码管理收费项目代码?客客 户户:嗯,必要的时候由我(业务经理)(业务经理)(业务经理)(业务经理)来添加这个代码。而每个经理总会告诉他的下属应该填写什么。32用例要点用例要点可观测可观测用例止于系统边界用例止于系统边界结果值结果值用例是有意义的目标用例是有意义的目标系统执行系统执行结果
23、值由系统生成结果值由系统生成由参与者观测由参与者观测业务语言、用户观点业务语言、用户观点一组用例实例一组用例实例用例的粒度用例的粒度33要点:用例止于系统边界要点:用例止于系统边界描述交互,而不是内在的系统活动描述交互,而不是内在的系统活动描述交互,而不是内在的系统活动描述交互,而不是内在的系统活动34要点:有要点:有意义意义的目标的目标35要点:结果值由系统生成要点:结果值由系统生成系统需要处理的,由系统生成系统需要处理的,由系统生成系统需要处理的,由系统生成系统需要处理的,由系统生成36要点:业务语言而非技术语言要点:业务语言而非技术语言用户词汇,而不是技术词汇用户词汇,而不是技术词汇如:
24、发票,商品,洗衣机如:发票,商品,洗衣机而不是:记录,字段,而不是:记录,字段,COM,C+等等37要点:用户观点而非系统观点要点:用户观点而非系统观点用户观点用户观点用户观点用户观点系统观点系统观点系统观点系统观点38用例用例 VS.功能功能呼叫某人呼叫某人接听电话接听电话发送短信发送短信记住电话号码记住电话号码传输传输/接收接收电源电源/基站基站输入输出(显示、键盘)输入输出(显示、键盘)电话簿管理电话簿管理用户观点用户观点用户观点用户观点系统观点系统观点系统观点系统观点39用例的命名用例的命名执行者视角:执行者视角:一个简单、描述性的名称,一般为带有动作性的词。一个简单、描述性的名称,一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 需求 分析 UML 用例图 STUD
限制150内