第8章 用例分析

上传人:仙*** 文档编号:244558118 上传时间:2024-10-05 格式:PPT 页数:45 大小:497.50KB
返回 下载 相关 举报
第8章 用例分析_第1页
第1页 / 共45页
第8章 用例分析_第2页
第2页 / 共45页
第8章 用例分析_第3页
第3页 / 共45页
点击查看更多>>
资源描述
,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,第,8,章 用例分析,“左右世界的人,必先左右自己。”,古希腊哲学家:苏格拉底,分析的故事:正确结果来自正确分析,学习目标,掌握分析类的方法,学会分析对象行为模型,学会使用,StarUml,绘制时序图和协作图,8.1,面向对象分析,面向对象分析模型,用例模型:,处于,OOA,模型核心的是“用例模型”(,Use Case,),简称“用例”。获得软件的需求后,软件分析员即可据此创建一组“场景”(,Scenario,),每个场景包含一个使用实例。从这些用例出发,进一步抽取和定义,OOA,模型的,3,种模型,即,类,对象模型:,描述系统所涉及的全部类,-,对象,每个类,-,对象都通过属性、操作和写作者来进行进一步描述;,对象,关系模型:,描述对象之间的静态关系,同时定义了系统中所有重要的消息路径,它也可以具体化到对象的属性、操作和协作者;,对象,行为模型:,描述了系统的动态行为,即对复杂的状态下如何反映外界的事件。,面向对象分析完成下列内容:,1,)发现和定义系统存在的类。,2,)识别分析类。,3,)定义交互行为,即对象行为模型。,8.2,识别分析类,分析类的来源:,用例规约,分析类的角度:,系统与角色的边界;,系统使用的信息;,系统的控制逻辑。,8.2.1,什么是分析类,在面向对象的分析中,类代表了一组对象所共同拥有的属性和行为。在分析识别类中,根据分析角度的不同,将分析类划分为边界类、实体类和控制类。,边界类:表示参与者与系统之间的交互;,实体类:表示系统存储和管理的永久信息;,控制类:表示系统在运行过程中的业务控制逻辑。,这种划分的基本思想是,将对象在系统中所承担的行为按照其作用和变化影响程度进行分类,将变化对系统结构的影响限制在一个相对明确的范围内。,需求分析的过程,1,边界类(,Boundary,),边界类是用于描述外部参与者与系统之间的交互。一个系统可能有多种边界类:,用户界面类:用户和系统用户进行通信;,系统接口类:用户和其他软件系统进行通信;,设备接口类:为硬件设备提供接口。,边界类的表示方法,边界类在模型中有两种表示方法,如下图所示。一种是构造性,的类形式,另一种是图标形式。,2,控制类(,Control,),控制类是用于封装一个或几个用例所特有的流程控制行为,通过它可建立系统的动态行为模型。它有效地分离了边界类对象和实体类对象,使系统更能承受边界的变更,它还将用例所特有的行为与实体类对象分离,使得实体类对象在用例和系统中具有更高的可复用性。,控制类的特点:,独立于环境,不随环境的变更而变更;,确定用例中的控制逻辑和事务;,在实体类的内部结构或行为发生变更时,也不会变更;,使用或规定若干实体类的内容,协调这些实体类的行为;,可能按不同的流程或方式执行。,控制类的表示,控制类在模型中有两种表示方法,如下图所示。一种是构造性,的类形式,另一种是图标形式。,3,实体类(,Entity,),实体类是用于对必须存储的信息和相关的行为建模,其主要职责是存储和管理系统中的信息。它通常具有持久性,即他们的属性和关系需要长期保存,有时甚至在系统整个生命周期都存在。,实体类的表示,实体类在模型中有两种表示方法,如下图所示。一种是构造性,的类形式,另一种是图标形式。,8.2.2,识别边界类,通常,一个参与者与一个用例之间的交互或者通信对应一个边界类。边界类信息收集是从参与者的角度考虑,而这些边界类信息将来可以被实体类和控制类所使用。下图示意了边界类识别的基本方法,也就是在每一对“用例,参与者”之间确定一个边界类。,识别边界类应注意以下几个问题:,边界类应关注参与者与用例之间交互的信息或者响应的事件,不要描述窗口组件等界面的组成元素;,在分析阶段,力求使用用户的术语描述界面;,边界类实例的生命周期不限于用例的事件流,如果两个用例同时与一个参与者交互,那么它们很可能会一边共用一个边界类,一边增加边界类的复用性。,8.2.3,识别控制类,控制类负责协调边界类和实体类,通常在现实世界中没有对应的事物,它负责接受边界类的信息,并将其分发给实体类。,控制类与用例存在着密切的关系,它在用例开始执行时创建,在用例结束时取消。一般来说,一个用例对应一个控制类,如下图所示。,识别控制类应当注意以下几个问题:,当用例比较复杂时,特别是在产生分支事件流的情况下,一个用例可以有多个控制类;,在有些情况下,用例事件流的逻辑结构十分简单,这时没有必要使用控制类,边界类可以实现用例的行为;,不同用例包含的任务之间存在着比较密切的联系,则这些用例可以使用一个控制类,其目的是复用相似部分以降低复杂性。,8.2.4,识别实体类,实体类通常是用例中的参与对象,对应着现实世界中的“事物”,识别实体类需要开发人员进一步理解应用领域,可以通过分析用例描述和词汇表等发现备选的实体对象。,人员,组织,物品,设备,事件,表格,实体类的因素包括以下几点:,识别实体类应当注意的以下几个问题:,1,)实体类的识别质量很大程度上取决于分析人员书写文档的风格和质量;,2,)自然语言是不精确的,因此在分析自然语言描述时,应该尽量使描述文档中的一些措辞规范化,以弥补这种不足;,3,)在自然语言描述中,名词可以对应类、属性或同义词等多种类型。,8.2.5,用例分析示例,1,新增帖子的用例规约,第,1,步:进入分组讨论区界面。,讨论区成员:选择进入相应的分组讨论区。,系统:将分组讨论区中信息全部显示出来。,第,2,步:新增帖子。,讨论区成员:要求新增一条帖子信息。,系统:进入新增帖子界面。,第,3,步:填写帖子。,讨论区成员:填写帖子中的具体信息。,系统:显示输入的内容。,第,4,步:提交。,讨论区成员:提交填写好的讨论区。,系统:保存该讨论区到内部数据库。,2,查看帖子的用例规约。,第,1,步:进入分组讨论区界面。,讨论区成员:选择进入相应的分组讨论区。,系统:将分组讨论区中信息全部显示出来。,第,2,步:查看帖子。,讨论区成员:选择需要查看的帖子。,系统:显示帖子的全部内容。,分析以上用例规约中存在的边界类、实体类和控制类。,拓展练习,(,1,)根据“新增帖子”的用例描述,给出“删除帖子”、“修改帖子”的用例描述。,(,2,)分析“删除帖子”、“修改帖子”中存在的边界类、控制类和实体类。,8.3,定义交互行为,交互图,(,interactiondiagram,)显示一个交互,由一组对象和它们之间的关系构成,其中包括在对象间传递的消息。,交互图中表示对象之间交互的模式,交互图在同一个信息基础上发展为不同的形式,各自有不同的侧重点,分别是,时序图和协作图。,时序图,表示按时间排序的交互,着重表现参与交互对象的生命线和它们交换的信息,时序图不表示对象之间的链。,协作图,表示执行操作的对象间的交互,它类似于对象图,表示了实现高层操作所需的对象和它们之间的链。,8.3.1,时序图,以,时间顺序,显示对象交互的图,它显示了参与交互的对象和所交换消息的顺序。由于对象生存期的引入,时序图具有时间顺序的概念,从而可以清晰地表示对象在其生存期的某一时刻的动态行为。,1.,时序图的组成,(,1,)对象,(,2,)生命线,(,3,)消息,(,4,)消息条件,(,5,)标号,(,6,)激活(控制期),2.,时序图的生成,形成时序图时,首先把参加交互的对象放在图的上方,沿,X,轴方向排列,通常把发起交互的对象放在左边,较下级对象依次放在右边,把这些对象发送和接收的消息沿,Y,轴方向按时间顺序从上到下放置,这样就提供了控制流随时间推移的清晰的可视化轨迹。,例,1,:绘制讨论区成员新增帖子的时序图。,例,2,:用以下用例图和对应的分析类,绘制学生的选课用例创建课表的时序图。,8.3.2,协作图,协作图,是表示角色间交互的图,主要用来描述对象间的交互关系。协作图是一种基于结构的表示交互的方法,强调参加交互的对象的组织。,1.,协作图的组成,(,1,)对象,(,2,)链,(,3,)消息,2.,协作图的生成,协作图使用对象图作为基础,产生一张协作图,首先要将参加交互的对象作为图的顶点;然后,把链接这些对象的链表示为图的弧;最后,用对象发送和接收的消息来修饰这些链,这就提供了在协作对象的结构组织的语境中观察控制流的一个清晰的可视化轨迹。,例,3,:绘制新增帖子的协作图。,例,4,:绘制学生选课的协作图。,扩展思考:时序图与协作图的比较,8.4,习题与练习,1,用哪种,UML,图可以表示对象的交互?他们的组成元素都有哪些?,2,描述对象,A,和对象,B,之间“打电话”的时序图,并将其转换为协作图。,3,选择一个系统(例如工资管理系统、飞机订票系统或图书管理系统等),分别用,OOA,方法对它进行分析,并给出分析模型。,4,根据以下用例图,分析储户在取款过程中存在的分析类,并画出时序图和协作图。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!