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