《用例分析与用例图.pptx》由会员分享,可在线阅读,更多相关《用例分析与用例图.pptx(55页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、回顾需求工程的六个阶段需求获取、需求分析与协商、系统建模、需求规约、需求确认、需求管理需求分析的概念需求的类型与怎样获取需求需求分析过程需求规格说明书(SRS)第1页/共55页主要内容基于用例的分析与设计业务用例与系统用例用例与用例关系小结与实验第2页/共55页前言之一软件开发过程中常见的场景你这做的是什么东西!这个做还不错,不过好像不是我想要的。我们这很混乱,你这个系统应该把我们的所有问题全部解决掉!“弱弱”地问:“您到底想要什么?”第3页/共55页前言之二需求分析与管理软件开发过程中的“永远的痛”第4页/共55页 基于用例的分析与设计基于用例的分析与设计第5页/共55页以用例为中心组织需求
2、用例用例用例用例可用性可用性可用性可用性可靠性可靠性可靠性可靠性网络协议网络协议网络协议网络协议业务规则业务规则业务规则业务规则硬件接口硬件接口硬件接口硬件接口界面约束界面约束界面约束界面约束性能性能性能性能第6页/共55页基于基于UMLUMLUMLUML的分析与设计的分析与设计使用UML过程的基本特征是:用例驱动,以体系结构为中心,反复,渐增式。用例包含了功能描述,它们将影响后面所有阶段及视图。第7页/共55页用户视图用户视图用例图用例图实现视图实现视图实现视图实现视图 结构视图结构视图结构视图结构视图 行为视图行为视图行为视图行为视图 环境视图环境视图环境视图环境视图 类图类图类图类图对象
3、图对象图对象图对象图顺序图顺序图顺序图顺序图协作图协作图协作图协作图状态图状态图状态图状态图活动图活动图活动图活动图组件图组件图组件图组件图部署图部署图部署图部署图结构模型视图第8页/共55页业务用例与系统用例业务用例:业务过程是描述这个业务的具体工作流的一次涉众与实现业务目标的业务之间的交互它可能包含手工和自动化的过程也可能发生在一个长期的时间段中系统用例涉及范围是这个计算机系统涉及的范围是一个系统参与者与计算机系统一起实现一个目标是参与者如何与计算机技术相联系,而不是业务过程。第9页/共55页业务用例与系统用例业务级(概要级)系统级第10页/共55页华软校园ATMATM机系统用例模型华软特
4、有的业务第11页/共55页用例与用例关系用例图参与者用例用例关系第12页/共55页用例图获取需求、指导测试、对过程中的其他工作流起指导作用系统内部系统外部整车销售第13页/共55页参与者参与者,Actor关键词:边界参与者:在系统之外,透过系统边界与系统进行有意义交互的任何事物第14页/共55页边界-BoundaryBoundary也叫系统边界,用于界定系统功能范围4用一个带名称的矩形框,把描述系统功能的用例都置于其中,而描述的与系统交互的角色都置于其外4系统-完整系统或子系统4一个系统包括一个或多个用例准确的定义系统的边界(功能)不是一件很容易的事先识别出系统的基本功能集,以此为基础定义一个
5、稳定的、精确定义的系统体系结构,再不断地扩充系统功能,以逐步完善第15页/共55页识别参与者要点系统外参与者代表在系统边界之外的真实事物,并不是系统的成分系统边界参与者透过系统边界直接与系统交互,参与者的确定代表系统边界的确定有意义交互的任何事物人、外部系统、外部因素、时间第16页/共55页识别参与者思路谁使用系统的主要功能谁改变系统的数据谁从系统获取信息谁需要系统的支持以完成日常工作任务谁负责日常维护、管理并保证系统正常运行谁使用或删除系统中的信息谁(或什么)对系统运行产生的结果(值)感兴趣系统需要应付(处理)那些硬设备系统需要和那些外部系统交互在预定时间,是否有事件自动发生时间、气温等内部
6、外部条件第17页/共55页参与者的类型和职责主要参与者直接与系统交互的人,或执行系统主要功能的执行者次要参与者使用系统次要功能的执行者,或维护系统一般功能的执行者外部硬件作为系统一部分的、运行应用的非计算机的硬件其他系统为其工作需要与系统交互的外部系统第18页/共55页参与者之间的关系独立关系泛化关系一个参与者的抽象描述可以被一个或多个具体的参与者所共享客户客户客户客户个体客户个体客户个体客户个体客户商业客户商业客户商业客户商业客户第19页/共55页用例定义:Use Case用例表示系统的一项外部功能,它从用户的角度分析所得的需求。为完成一个相对完整的一种功能,系统执行的一系列动作的集合&是外
7、部可见的一种系统功能&代表的是一个完整的功能&有一系列动作用例第20页/共55页用例1&用例捕获某些角色可见的需求,实现一个具体的角色需求&用例由其用户角色使用,并提供确切的输出给角色&用例可大可小,但它必须是对一个具体的角色目标实现的完整描述&用例的动态执行过程可以用U M L的交互作用来说明,可以用状态图、顺序图、协作图、活动图或非正式的文字描述来表示第21页/共55页用例的命名执行者视角:(状语)动词+(定语+)宾语第22页/共55页识别用例识别用例关键词:价值定义用例实例是系统执行的一系列动作,这些动作将生成特定参与者可观测的结果值一个用例定义一组用例实例(场景)场景-用例的实例简洁:
8、参与者使用系统达到目标第23页/共55页识别用例要点可观测用例止于系统边界结果值用例是有意义的目标系统执行结果值由系统生成由参与者观测业务语言、用户观点一组用例实例用例的粒度第24页/共55页可观测:用例止于系统边界系统描述交互,而不是内在的系统活动描述交互,而不是内在的系统活动第25页/共55页结果值:有意义的目标业务功能,而非系统处理业务功能,而非系统处理第26页/共55页系统执行:结果值由系统生成系统需要处理的,由系统生成系统需要处理的,由系统生成第27页/共55页参与者观测:用户观点而非系统观点用户观点用户观点系统观点系统观点第28页/共55页用例粒度用例要有路径,路径要有步骤;而这一
9、切都是可观测的最常犯错误:粒度过细,陷入功能分解过细的粒度,一般都会导致技术语言的描述,而不再是业务语言第29页/共55页用例粒度-1把步骤当用例把系统活动当用例第30页/共55页用例粒度-2第31页/共55页“四轮马车”C(Create)R(Read)U(Update)D(Delete)所有业务最终会成为CRUD?CRUD能为Actor提供价值?CRUD掩盖业务,锐变成关系数据库的建模:“系统就是数据的增删改查”关心数据的存储和维护,反而忽略了用户的目的用例粒度-3-3第32页/共55页用例粒度-4如果确实是CRUD?如果CRUD不涉及复杂的交互,一个用例“管理”即可不管是C、R、U、D,都
10、是为了完成“管理”目标甚至很多种的基本数据管理都可以用一个用例表示第33页/共55页用例粒度-5灵活处理CRUD可以把包含复杂交互的路径独立出去形成用例可以把包含复杂交互的路径独立出去形成用例可以把包含复杂交互的路径独立出去形成用例可以把包含复杂交互的路径独立出去形成用例第34页/共55页用例关系Include提取公共步骤,便于复用Extend分离扩展路径Generalization同一业务目的的不同技术实现第35页/共55页包含关系第36页/共55页包含关系1 1第37页/共55页包含关系2某些步骤在多个用例重复出现,且单独形成价值用例步骤较多时,可用Include简化当完全知道什么时间要调
11、用用例时,基用例需要包含用例所封装的逻辑可以简单认为源代码中的函数调用或操作调用第38页/共55页包含举例2第39页/共55页包含关系第40页/共55页扩展关系第41页/共55页扩展关系1第42页/共55页扩展关系2将扩展用例的事件流在一定的条件下按照相应的扩展点插入到基础用例中。基础用例不必知道扩展用例的任何细节,它仅为其提供扩展点扩展用例的行为是否被执行要取决于主事件流中的判定点。第43页/共55页基用例路径本身是完整的可能是一条扩展路径扩展路径步骤多扩展路径内部还可以有扩展点扩展之扩展扩展路径未定或容易变化分离以“冻结”基用例基础用例可以单独存在,但在一定条件下,他的行为可以被另一个用例
12、作为扩展扩展关系3 3第44页/共55页扩展举例第45页/共55页泛化关系同一业务目的不同技术实现:一个用例可以泛化为另一个更普通用例(更普通用例特化为特殊用例)UML 1.5:用例间的泛化关系表明子用例包含父用例中定义的所有属性、行为序列和扩展点,并且参与父用例中所有的关系第46页/共55页泛化一个售货员可以终止任何交易,除了一个售货员可以终止任何交易,除了那些需要特殊的售货员(高级代理)那些需要特殊的售货员(高级代理)终止的超过了一定限制的交易终止的超过了一定限制的交易第47页/共55页识别用例-登录怎么处理?第48页/共55页识别用例-几个登录?或第49页/共55页用例之间的关系第50页/共55页小结理解需求以用例为中心组织需求基于用例的需求分析过程获取原始需求开发一个可以理解的需求识别参与者识别用例确定关系第51页/共55页思考基于用例的需求分析过程可大致分几步?什么是系统边界用例的概念用例的关系参与者的定义与关系第52页/共55页实验06画出系统用例图注意用例的粒度与关系描述一个用例的活动图第53页/共55页 谢谢第54页/共55页谢谢您的观看!第55页/共55页