用例分析与用例图_第1页
用例分析与用例图_第2页
用例分析与用例图_第3页
用例分析与用例图_第4页
用例分析与用例图_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件工程用例分析用例分析 与用例图与用例图软件工程回顾回顾&需求工程的六个阶段需求工程的六个阶段需求获取、需求分析与协商、系统需求获取、需求分析与协商、系统建模、需求规约、需求确认、需求建模、需求规约、需求确认、需求管理管理&需求分析的概念需求分析的概念&需求的类型与怎样获取需求需求的类型与怎样获取需求&需求分析过程需求分析过程&需求规格说明书(需求规格说明书(SRS)软件工程主要内容主要内容&基于用例的分析与设计基于用例的分析与设计&业务用例与系统用例业务用例与系统用例&用例与用例关系用例与用例关系&小结与实验小结与实验软件工程前言之一前言之一&软件开发过程中常见的场景软件开发过程中常见的场

2、景你这做的是什么你这做的是什么东西!东西!这个做还不错,不过这个做还不错,不过好像不是我想要的。好像不是我想要的。我们这很混乱,你这我们这很混乱,你这个系统应该把我们的个系统应该把我们的所有问题全部解决掉所有问题全部解决掉!“弱弱弱弱”地问:地问:“您您到底想要什么?到底想要什么?”软件工程前言之二前言之二&需求分析与管理需求分析与管理软件开发过程中的软件开发过程中的“永远永远的痛的痛”软件工程软件工程以用例为中心组织需求以用例为中心组织需求软件工程&使用使用UMLUML过程的基本特征是:过程的基本特征是:用用例驱动,以体系结构为中心,反例驱动,以体系结构为中心,反复,渐增式复,渐增式。&用例

3、包含了功能描述,它们将影用例包含了功能描述,它们将影响后面所有阶段及视图。响后面所有阶段及视图。软件工程结构模型视图结构模型视图软件工程业务用例与系统用例业务用例与系统用例&业务用例:业务用例:业务过程是描述这个业务的具体工作流的业务过程是描述这个业务的具体工作流的一次涉众与实现业务目标的业务之间的交互一次涉众与实现业务目标的业务之间的交互它可能包含手工和自动化的过程它可能包含手工和自动化的过程也可能发生在一个长期的时间段中也可能发生在一个长期的时间段中&系统用例系统用例涉及范围是这个计算机系统涉及的范围涉及范围是这个计算机系统涉及的范围是一个系统参与者与计算机系统一起实现一个是一个系统参与者

4、与计算机系统一起实现一个目标目标是参与者如何与计算机技术相联系,而不是业是参与者如何与计算机技术相联系,而不是业务过程。务过程。软件工程业务用例与系统用例业务用例与系统用例业务级(概要级业务级(概要级)系统级系统级软件工程华软校园华软校园ATMATM机系统机系统用例模型用例模型华软华软特有特有的业的业务务软件工程用例与用例关系用例与用例关系&用例图用例图&参与者参与者&用例用例&用例关系用例关系软件工程用例图用例图获取需求、指导测试、对过获取需求、指导测试、对过程中的其他工作流起指导作程中的其他工作流起指导作用用系统内部系统内部系统外部系统外部整车销售整车销售软件工程参与者参与者&参与者,参与

5、者,ActorActor关键词:关键词:边界边界参与者:在参与者:在系统之外系统之外,透,透过过系统边界系统边界与系统进行与系统进行有意有意义交互义交互的的任何事物任何事物软件工程边界边界-BoundaryBoundary&也叫系统边界,用于界定系统功能范围也叫系统边界,用于界定系统功能范围4用一个带名称的矩形框,把描述系统功能的用用一个带名称的矩形框,把描述系统功能的用例都置于其中,而描述的与系统交互的角色都例都置于其中,而描述的与系统交互的角色都置于其外置于其外4系统系统-完整系统或子系统完整系统或子系统4一个系统包括一个或多个用例一个系统包括一个或多个用例&准确的定义系统的边界(功能)不

6、是一件准确的定义系统的边界(功能)不是一件很容易的事很容易的事&先识别出系统的基本功能集,以此为基础先识别出系统的基本功能集,以此为基础定义一个稳定的、精确定义的系统体系结构,定义一个稳定的、精确定义的系统体系结构,再不断地扩充系统功能,以逐步完善再不断地扩充系统功能,以逐步完善软件工程识别参与者识别参与者&要点要点系统外系统外4参与者代表在系统边界之外的真实事参与者代表在系统边界之外的真实事物,并不是系统的成分物,并不是系统的成分系统边界系统边界4参与者透过系统边界参与者透过系统边界直接直接与系统交互,与系统交互,参与者的确定代表参与者的确定代表系统边界系统边界的确定的确定有意义交互的任何事

7、物有意义交互的任何事物4人、外部系统、外部因素、时间人、外部系统、外部因素、时间软件工程识别参与者思路识别参与者思路&谁使用系统的主要功能谁使用系统的主要功能&谁改变系统的数据谁改变系统的数据&谁从系统获取信息谁从系统获取信息&谁需要系统的支持以完成日常工作任务谁需要系统的支持以完成日常工作任务&谁负责日常维护、管理并保证系统正常运行谁负责日常维护、管理并保证系统正常运行&谁使用或删除系统中的信息谁使用或删除系统中的信息&谁(或什么)对系统运行产生的结果(值)感兴趣谁(或什么)对系统运行产生的结果(值)感兴趣&系统需要应付(处理)那些硬设备系统需要应付(处理)那些硬设备&系统需要和那些外部系统

8、交互系统需要和那些外部系统交互&在预定时间,是否有事件自动发生在预定时间,是否有事件自动发生&时间、气温等内部外部条件时间、气温等内部外部条件&软件工程参与者的类型和职责参与者的类型和职责&主要参与者主要参与者直接与系统交互的人,或执行系统主要功能的执直接与系统交互的人,或执行系统主要功能的执行者行者&次要参与者次要参与者使用系统次要功能的执行者,或维护系统一般功使用系统次要功能的执行者,或维护系统一般功能的执行者能的执行者&外部硬件外部硬件作为系统一部分的、运行应用的非计算机的硬件作为系统一部分的、运行应用的非计算机的硬件&其他系统其他系统为其工作需要与系统交互的外部系统为其工作需要与系统交

9、互的外部系统软件工程参与者之间的关系参与者之间的关系&独立关系独立关系&泛化关系泛化关系一个参与者的抽象一个参与者的抽象描述可以被一个或描述可以被一个或多个具体的参与者多个具体的参与者所共享所共享软件工程用例用例&定义:定义:Use CaseUse Case&用例表示系统的一项外部用例表示系统的一项外部功能功能,它从,它从用户用户的的角度角度分析分析所得的需求。为完成一个相所得的需求。为完成一个相对完整的一种功能,系统执对完整的一种功能,系统执行的一系列动作的集合行的一系列动作的集合&是是外部可见外部可见的一种系统功能的一种系统功能&代表的是一个代表的是一个完整完整的功能的功能&有一系列动作有

10、一系列动作软件工程用例用例1&用例捕获某些用例捕获某些角色角色可见的可见的需求需求,实现,实现一个具体的角色需求一个具体的角色需求&用例由其用户角色使用,并提供确切用例由其用户角色使用,并提供确切的的输出给角色输出给角色&用例可大可小用例可大可小,但它必须是对一个具,但它必须是对一个具体的角色目标实现的完整描述体的角色目标实现的完整描述&用例的动态执行过程可以用用例的动态执行过程可以用U M LU M L的交的交互作用来说明,可以用状态图、顺序图、互作用来说明,可以用状态图、顺序图、协作图、活动图或非正式的文字描述来协作图、活动图或非正式的文字描述来表示表示软件工程用例的命名用例的命名&执行者

11、视角:执行者视角:(状语)动词(状语)动词+(定语(定语+ )宾语)宾语顾客付款微信支付支付宝支付软件工程识别用例识别用例&识别用例识别用例关键词:价值关键词:价值定义定义4用例实例是用例实例是系统执行系统执行的的一系列动作一系列动作,这些动作将生成特定这些动作将生成特定参与者可观测参与者可观测的的结果值结果值4一个用例定义一个用例定义一组用例实例(场景)一组用例实例(场景)4场景场景-用例的实例用例的实例简洁:参与者简洁:参与者使用系统使用系统达到目标达到目标软件工程识别用例要点识别用例要点&可观测可观测用例止于系统边界用例止于系统边界&结果值结果值用例是有意义的目标用例是有意义的目标&系统

12、执行系统执行结果值由系统生成结果值由系统生成&由参与者观测由参与者观测业务语言、用户观业务语言、用户观点点&一组用例实例一组用例实例用例的粒度用例的粒度软件工程可观测:用例止于系统边界可观测:用例止于系统边界系统系统软件工程结果值:有意义的目标结果值:有意义的目标 设定查询条件 会员 选择零件 会员 检索零件软件工程系统执行:结果值由系统生成系统执行:结果值由系统生成出纳员吃饭软件工程参与者观测:用户观点而非系统观点参与者观测:用户观点而非系统观点 订票 旅客 查看今日航班 处理订票 旅客 显示今日航班软件工程用例粒度用例粒度&用例要有路径,路径要有步骤;用例要有路径,路径要有步骤;而这一切都

13、是可观测的而这一切都是可观测的&最常犯错误:粒度过细,陷入功最常犯错误:粒度过细,陷入功能分解能分解过细的粒度,一般都会导致技术语过细的粒度,一般都会导致技术语言的描述,而不再是业务语言言的描述,而不再是业务语言软件工程用例粒度用例粒度-1&把步骤当用例把步骤当用例&把系统活动当用例把系统活动当用例 会员 输入用户名 验证用户名和密码 会员 登录?查询订单建立数据库连接执行SQL语句软件工程用例粒度用例粒度-2 删除用户 修改用户 增加用户 管理员 查询用户软件工程&“四轮马车四轮马车”C(Create)R(Read)U(Update)D(Delete)&所有业务最终会成为所有业务最终会成为C

14、RUD?&CRUD能为能为Actor提供价值?提供价值?&CRUD掩盖业务,掩盖业务,锐变成关系数据库的建模锐变成关系数据库的建模:“系统就是数据的增删改查系统就是数据的增删改查”关心数据的存储和维护,反而忽略了用户的目的关心数据的存储和维护,反而忽略了用户的目的用例粒度用例粒度-3-3软件工程用例粒度用例粒度-4&如果确实是如果确实是CRUD?如果如果CRUD不涉及复杂的交互,一不涉及复杂的交互,一个用例个用例“管理管理”即可即可不管是不管是C、R、U、D,都是为了完,都是为了完成成“管理管理”目标目标甚至很多种的基本数据管理都可以甚至很多种的基本数据管理都可以用一个用例表示用一个用例表示

15、管理员 管理用户软件工程用例粒度用例粒度-5&灵活处理灵活处理CRUD 管理员 管理用户 增加用户?软件工程用例关系用例关系&Include提取公共步骤,便于复用提取公共步骤,便于复用&Extend分离扩展路径分离扩展路径&Generalization同一业务目的的不同技术实现同一业务目的的不同技术实现软件工程包含关系包含关系 下订单 提供客户信息 软件工程包含关系包含关系1 1软件工程包含关系包含关系2&某些步骤在多个用例重复出现,且单某些步骤在多个用例重复出现,且单独形成价值独形成价值&用例步骤较多时,可用用例步骤较多时,可用IncludeInclude简化简化&当完全知道什么时间要调用用

16、例时,当完全知道什么时间要调用用例时,基用例需要包含用例所封装的逻辑基用例需要包含用例所封装的逻辑&可以简单认为源代码中的函数调用或可以简单认为源代码中的函数调用或操作调用操作调用软件工程包含举例包含举例2软件工程包含关系包含关系软件工程扩展关系扩展关系 管理订单 会员 从订单中删除某个订单项?软件工程扩展关系扩展关系1软件工程扩展关系扩展关系2&将扩展用例的事件流在一定的条将扩展用例的事件流在一定的条件下按照相应的扩展点插入到基础件下按照相应的扩展点插入到基础用例中。用例中。 基础用例不必知道扩展用例的基础用例不必知道扩展用例的任何细节,它仅为其提供扩展点任何细节,它仅为其提供扩展点扩展用例

17、的行为是否被执行要扩展用例的行为是否被执行要取决于主事件流中的判定点。取决于主事件流中的判定点。 软件工程&基用例路径本身是完整的基用例路径本身是完整的&可能是一条扩展路径可能是一条扩展路径&扩展路径步骤多扩展路径步骤多&扩展路径内部还可以有扩展点扩展之扩扩展路径内部还可以有扩展点扩展之扩展展&扩展路径未定或容易变化分离以扩展路径未定或容易变化分离以“冻结冻结”基用例基用例&基础用例可以单独存在,但在一定条件下,基础用例可以单独存在,但在一定条件下,他的行为可以被另一个用例作为扩展他的行为可以被另一个用例作为扩展扩展关系扩展关系3 3软件工程扩展举例扩展举例软件工程泛化关系泛化关系&同一业务目的不同技术实现:同一业务目的不同技术实现:一个用例可以泛化为另一个更普通一个用例可以泛化为另一个更普通用例(更普通用例特化为特殊用例)用例(更普通用例特化为特殊用例)UML 1.5: 用例间的泛化关系表明子用例间的泛化关系表明子用例包含父用例中定义的所有属性、用例包含父用例中定义的所有属性、行为序列和扩展点,并且参与父用例行为序列和扩展点,并且参与父用例中所有的关系中所有的关系软件工程泛化泛化软件工程识别用例识别用例-登录怎么处理?登录怎么处理?会员登录购物修改会员资料软件工程识别用例识别用例-几个登录?几个登录?或或软件工程用例之间的关系用例之间的关系软件工程小结小结&理解需求

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论