1、用例建模用例建模Use-Case ModelingUse-Case Modeling-2-课程内容课程内容UML概述概述理解需求理解需求需求,需求,难在何在何处?以用例以用例为中心中心组织需求需求基于用例的需求分析基于用例的需求分析过程程-3-课程内容课程内容UML概述概述理解需求理解需求需求,需求,难在何在何处?以用例以用例为中心中心组织需求需求基于用例的需求分析基于用例的需求分析过程程-4-What Is the UML?The UML is a language forVisualizingSpecifyingConstructingDocumenting the artifacts o
2、f a software-intensive systemUnified Modeling LanguageUnified Modeling Language(统统一建模一建模一建模一建模语语言)是言)是言)是言)是对对象管象管象管象管理理理理组织组织(OMGOMG)制定的一个制定的一个制定的一个制定的一个通用通用通用通用的、的、的、的、可可可可视视化化化化的的建模建模建模建模语语言言言言标标准,可以用来准,可以用来准,可以用来准,可以用来可可可可视视化化化化(visualizevisualize)、描述描述描述描述(specifyspecify)、)、)、)、构造构造构造构造(constru
3、ctconstruct)和)和)和)和文档化文档化文档化文档化(documentdocument)软软件密集型系件密集型系件密集型系件密集型系统统的各种工件(的各种工件(的各种工件(的各种工件(artifactsartifacts,又,又,又,又译译制品)制品)制品)制品)-5-UML诞生诞生工工 业业化化标标 准准化化统统 一一化化分分 散散的的各各 部部分分公公众众反反馈馈1997.11.171997.11.17 UML 1.1UML 1.1被被被被OMG OMG 接接接接纳为标纳为标准准准准OOPSLA95 Unified Method 0.8 Booch93 OMT-21996.6和和
4、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的的Superstructure的提案的提案正式文本尚未发布正式文本尚未发布-7-UML 9种图种图类类 图:
5、类以及类之间的相互关系图:类以及类之间的相互关系对象图:对象以及对象之间相互关系对象图:对象以及对象之间相互关系构件图:构件及其相互依赖关系构件图:构件及其相互依赖关系部署图:构件在各节点上的部署部署图:构件在各节点上的部署顺序图:强调时间顺序的交互图顺序图:强调时间顺序的交互图协作图:强调对象协作的交互图协作图:强调对象协作的交互图状态图:类所经历的各种状态状态图:类所经历的各种状态活动图:对工作流建模活动图:对工作流建模用例图:需求捕获,测试依据用例图:需求捕获,测试依据结结构构行行为用例用例用例用例图图静静静静态图态图实现图实现图实现图实现图交互交互交互交互图图行行行行为图为图-8-UM
6、L建模工具建模工具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)可靠性(可靠性(Reliability)性能(性能(Performance)可支持性(可支持性(Supportability)非功能性需求非功能性需求非功能性需求非功能性需求-12-内容安排内容安排UML概述概述理解需求理解需求需求,难在何处?需求,难在何处?以用例
9、为中心组织需求以用例为中心组织需求基于用例的需求分析过程基于用例的需求分析过程-13-需求:饮料问题需求:饮料问题我要一瓶饮料我要一瓶饮料差不多,但我要无糖饮料差不多,但我要无糖饮料很好,不过我要绿茶的很好,不过我要绿茶的啊,没有大瓶的啊,没有大瓶的大瓶的无糖大瓶的无糖绿茶茶饮料料难捕捕获,易易变!-14-需求:如此脆弱需求:如此脆弱客户客户/用户的要用户的要求求/想法想法/期望期望软件设计软件设计软件产品软件产品分析和设计分析和设计编码和测试编码和测试验验 收收没价值的没价值的软件需求软件需求补文档补文档-15-需求:也需要开发需求:也需要开发客户客户/用户的要用户的要求求/想法想法/期望期
10、望软件设计软件设计软件产品软件产品开发开发编码和测试编码和测试验收验收有价值的有价值的软件需求软件需求分析和设计分析和设计-16-获取好的需求获取好的需求需求收集包括五个关键步骤需求收集包括五个关键步骤找到可以帮助你理解这个系统的人找到可以帮助你理解这个系统的人倾听这些相关人员的描述,并从他们的角度倾听这些相关人员的描述,并从他们的角度来理解系统来理解系统利用一个容易理解的模型来描述用户希望如利用一个容易理解的模型来描述用户希望如何使用这个系统以及为他们提供的什么价值何使用这个系统以及为他们提供的什么价值详细地描述系统和客户以及系统和外部系统详细地描述系统和客户以及系统和外部系统之间的交互之间
11、的交互重构(重构(refactor)这个详细描述以保证它是)这个详细描述以保证它是可读且易懂的可读且易懂的-17-内容安排内容安排UML概述概述理解需求理解需求需求,难在何处?需求,难在何处?以用例为中心组织需求以用例为中心组织需求基于用例的需求分析过程基于用例的需求分析过程-18-需求问题:对策需求问题:对策难难捕捕捕捕获获易易易易变变从用从用从用从用户视户视角看角看角看角看问题问题合理的合理的合理的合理的结结构构构构用例用例用例用例-19-以用例为中心组织需求以用例为中心组织需求用例用例用例用例可用性可用性可用性可用性可靠性可靠性可靠性可靠性网网网网络协议络协议业务规则业务规则业务规则业务
12、规则硬件接口硬件接口硬件接口硬件接口界面界面界面界面约约束束束束性能性能性能性能-20-内容安排内容安排UML概述概述理解需求理解需求需求,难在何处?需求,难在何处?以用例为中心组织需求以用例为中心组织需求基于用例的需求分析过程基于用例的需求分析过程-21-基于用例的需求分析过程基于用例的需求分析过程1.获取原始需求获取原始需求2.开发一个可以理解的需求开发一个可以理解的需求2.1 识别参与者识别参与者2.2 识别用例识别用例2.3 构建用例图构建用例图3 详细、完整地描述需求详细、完整地描述需求进行用例阐述进行用例阐述4 重构用例模型重构用例模型4.1 识别用例间的关系识别用例间的关系4.2
13、 对用例进行组织和分包对用例进行组织和分包-22-基于用例的需求分析过程基于用例的需求分析过程 1.1.获获取原始需求取原始需求取原始需求取原始需求2.开开发一个可以理解的需求一个可以理解的需求2.1 识别参与者识别参与者2.2 识别用例识别用例2.3 构建用例图构建用例图3.详细、完整地描述需求、完整地描述需求进行用例阐述进行用例阐述4.重构用例模型重构用例模型4.1 识别用例间的关系识别用例间的关系4.2 对用例进行组织和分包对用例进行组织和分包-23-获取需求的技巧获取需求的技巧技巧技巧技巧技巧描述描述描述描述实地观察实地观察实地观察实地观察直接观察个人工作的情况,以发现现存的实践方式和
14、问题直接观察个人工作的情况,以发现现存的实践方式和问题访谈访谈访谈访谈从个人处收集特定信息从个人处收集特定信息特定群体特定群体特定群体特定群体调查调查调查调查对一组人员进行调查,以便了解工作态度和共同看法对一组人员进行调查,以便了解工作态度和共同看法问卷调查问卷调查问卷调查问卷调查收集详细数据和统计意义上比较重要的数据收集详细数据和统计意义上比较重要的数据用户指导用户指导用户指导用户指导让最终用户告诉你,他们是如何操作系统的让最终用户告诉你,他们是如何操作系统的原型制作原型制作原型制作原型制作模拟一个无法直接测试的系统模拟一个无法直接测试的系统统计版本统计版本统计版本统计版本使用具有统计功能的
15、应用程序来记录用户完成任务的方式使用具有统计功能的应用程序来记录用户完成任务的方式行业知识行业知识行业知识行业知识收集和整理行业中的法律、法规,用户所使用的规章制度、操收集和整理行业中的法律、法规,用户所使用的规章制度、操作规程等内容作规程等内容-24-获取需求:考勤卡应用程序获取需求:考勤卡应用程序初次初次初次初次访谈记录访谈记录开开发者者:谁将使用这个应用程序?客客 户:所有用它来记录可记帐以及不可记帐的工时的雇员开开发者者:现在考勤卡应用程序是什么样的?客客 户:每半个月就用一个Excel表格来记录。每个雇员都将通过他的表格填好,然后用电子邮件发给我。这个表格相当标准:纵向是收费项目代码
16、,横向是日期。雇员可以在每个条目上填写说明。开开发者者:这个收费项目代码可以从什么地方得到?开开发者者:谁来管理收费项目代码?客客 户:嗯,必要的时候由我来添加这个代码。而每个经理总会告诉他的下属应该填写什么。-25-基于用例的需求分析过程基于用例的需求分析过程1.获取原始需求取原始需求 2.2.开开开开发发一个可以理解的需求一个可以理解的需求一个可以理解的需求一个可以理解的需求2.1 识别参与者识别参与者2.2 识别用例识别用例2.3 构建用例图:确定参与者和用例之间的关系构建用例图:确定参与者和用例之间的关系3.详细、完整地描述需求、完整地描述需求进行用例阐述进行用例阐述4.重构用例模型重构用例模型4.1 识别用例间的关系识别用例间的关系4.2 对用例进行组织和分包对用例进行组织和分包-26-相关术语相关术语场景场景场景场景:是用来描述用户和系统之间交互的顺序的步骤:是用来描述用户和系统之间交互的顺序的步骤用例用例用例用例:是:是为了达到某一用了达到某一用户目目标而而组合在一起的一合在一起的一组场景景用例用例用例用例图图:用来:用来显示在系示在系统(或其它(或其它实体)内的用例与系
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1