好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

面向对象建模技术.ppt

48页
  • 卖家[上传人]:s9****2
  • 文档编号:584430066
  • 上传时间:2024-08-31
  • 文档格式:PPT
  • 文档大小:1.24MB
  • / 48 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 面向对象建模技术面向对象建模技术软件工程系软件工程系林林 琳琳 2第第2 2章章 用例图用例图 人们在进行软件开发时,无论是采用面向对象方法还是传统方法,首先要做的就是了解需求在进行需求分析时,使用用例图可以更好描述系统应具备什么功能用例图由开发人员与用户经过多次商讨而共同完成,软件建模的其他部分都是从用例图开始的 3本章学习要点:本章学习要点:v用例图的组成用例图的组成v理解泛化理解泛化v理解用例之间的关系理解用例之间的关系v对用例进行描述对用例进行描述v绘制用例图绘制用例图 42.1 2.1 用例图的构成用例图的构成v用例图用于定义系统的功能需求,它描述了系统的参与者用例图用于定义系统的功能需求,它描述了系统的参与者与系统提供的用例之间的连接关系这里的参与者可以人,与系统提供的用例之间的连接关系这里的参与者可以人,也可以另一个系统用例图仅从参与者使用系统的角度描也可以另一个系统用例图仅从参与者使用系统的角度描述系统中的信息下图描述了一个学生成绩管理系统的用述系统中的信息下图描述了一个学生成绩管理系统的用例图 v用例图包含四个基本元素:用例图包含四个基本元素:①①用例(用例(Use CaseUse Case))②②参与者(参与者(ActorActor))③③系统(系统(SystemSystem))④④关系(关系(RelationRelation))§关联关系(关联关系(AssociationAssociation))§包含关系(包含关系(IncludeInclude))§扩展关系(扩展关系(ExtendExtend))§泛化关系(泛化关系(GeneralizationGeneralization)) 2.1 2.1 用例图的构成用例图的构成 62.1.1 系统v系系统统是是为为用用户户执执行行某某类类功功能能的的一一个个或或多多个个软软件件构构件件。

      系统的边界用来说明用例图应用的范围系统的边界用来说明用例图应用的范围v准准确确定定义义系系统统的的边边界界并并不不总总是是很很容容易易的的,,因因为为有有些些情情况况下下,,严严格格地地划划分分哪哪些些任任务务是是由由系系统统完完成成,,而而哪哪些些是是由人工或其他系统完成是很困难的由人工或其他系统完成是很困难的v一一般般的的作作法法是是,,先先识识别别出出系系统统的的基基本本功功能能,,然然后后以以此此为为基基础础定定义义一一个个稳稳定定的的、、精精确确定定义义的的系系统统架架构构,,以以后后再再不不断断地地扩扩充充系系统统功功能能,,逐逐步步完完善善系系统统这这样样做做可可以以避避免免由由于于系系统统太太大大,,需需求求分分析析不不易易明明确确,,从从而而导导致致浪浪费大量的开发时间费大量的开发时间v系统用一个方框表示系统用一个方框表示, ,可以省略可以省略 2.1.2 2.1.2 参与者参与者 v系统外部的一个实体系统外部的一个实体v参与用例的执行过程参与用例的执行过程v参与者通过向系统输入或者系参与者通过向系统输入或者系统要求参与者提供某种信息来统要求参与者提供某种信息来进行交互。

      进行交互v由参与用例时所担当的角色来由参与用例时所担当的角色来表示,命名时以所扮演的角色表示,命名时以所扮演的角色命名v每个参与者可以参与一个或多每个参与者可以参与一个或多个用例 2.1.2 2.1.2 参与者参与者v参与者的种类:参与者的种类:①①系统用户系统用户②②与所建造的系统交互的其他系统与所建造的系统交互的其他系统③③一些可以运行的进程一些可以运行的进程 识别参与者识别参与者v如何寻找系统的参与者如何寻找系统的参与者 §注意直接或者间接地与系统交互或从系统中注意直接或者间接地与系统交互或从系统中获取信息的任何人和任何事获取信息的任何人和任何事v识别参与者过程中需要注意的问题识别参与者过程中需要注意的问题§以使用系统的业务量为依据,区分主要参与以使用系统的业务量为依据,区分主要参与者和次要参与者者和次要参与者§以承担职责为依据,区分系统的启动者、系以承担职责为依据,区分系统的启动者、系统的服务者和系统服务的接收者统的服务者和系统服务的接收者 参与者间的关系参与者间的关系v在用例图中,使用泛化关系在用例图中,使用泛化关系来描述多个参与者之间的公来描述多个参与者之间的公共行为。

      共行为 v参与者间的泛化关系示参与者间的泛化关系示例:例: 2.1.3 2.1.3 用例用例 v外部可见的系统功能单元,用户期望系统具备外部可见的系统功能单元,用户期望系统具备的功能的功能 v定义系统的一个行为,并不显示系统的内部结定义系统的一个行为,并不显示系统的内部结构构 v以用户的观点描述用户和系统间交互的完整顺以用户的观点描述用户和系统间交互的完整顺序,以及由系统执行的响应序,以及由系统执行的响应 2.1.3 2.1.3 用例用例v用例的命名:动词用例的命名:动词+ +名词名词①①简单名简单名②②路径名(包名路径名(包名::::用例名)用例名)RecordGradeRecordGradeTeacher::RecordGradeTeacher::RecordGradeRecordGradeRecordGradeTeacher::RecordGradeTeacher::RecordGrade 识别用例识别用例v识别用例最好的方法就是从分析系统的参与者识别用例最好的方法就是从分析系统的参与者开始,考虑每个参与者是如何使用系统的开始,考虑每个参与者是如何使用系统的 v如何识别用例。

      如何识别用例 用例的泛化用例的泛化v子用例是父用例的特化,子用例除具有父用例的特征子用例是父用例的特化,子用例除具有父用例的特征外,还可以有自己的另外特征外,还可以有自己的另外特征 用例的泛化用例的泛化v分层泛化分层泛化 2.1.4 2.1.4 用例与参与者的关系用例与参与者的关系v用例与参与者之间的关系用例与参与者之间的关系( (通信通信) )是双向的是双向的 2.1.4 2.1.4 用例与参与者的关系用例与参与者的关系v用例与参与者之间可以是多对多的关系用例与参与者之间可以是多对多的关系 2.1.4 2.1.4 用例与参与者的关系用例与参与者的关系v注意注意1 1:当多个参与者与用例之间有同一关系时,应该考:当多个参与者与用例之间有同一关系时,应该考虑使参与者名称广泛化虑使参与者名称广泛化 2.1.4 2.1.4 用例与参与者的关系用例与参与者的关系v注意注意2 2:如果参与者使用某一个用例,则不应该再使用其父:如果参与者使用某一个用例,则不应该再使用其父用例 泛化用例图泛化用例图 2.3 2.3 描述用例描述用例对用例的细节描述对用例的细节描述v名称名称v[ [标识符标识符] ]v[ [参与者参与者] ]v[ [状态状态] ]v频率频率v前置条件前置条件v后置条件后置条件v[ [假设假设] ]v基本操作流程基本操作流程v可选操作流程可选操作流程v[ [修改历史记录修改历史记录] ] 2. 4 2. 4 用例间的关系用例间的关系 v将用例中重要的可选性流程从用例中分离出来,将用例中重要的可选性流程从用例中分离出来,以形成新的用例,这样可以减少重复、增加重以形成新的用例,这样可以减少重复、增加重用。

      用例之间的关系有:用用例之间的关系有:§包含关系包含关系§扩展关系扩展关系 2.4.1 2.4.1 包含关系包含关系v包含用例可以简单地包含被包含用例具有的行为,并把包含用例可以简单地包含被包含用例具有的行为,并把它所包含的用例行为作为自身行为的一部分它所包含的用例行为作为自身行为的一部分 2.4.1 2.4.1 包含关系包含关系v提供者用例的来源提供者用例的来源§已经存在的已经存在的§从现有用例中提取从现有用例中提取 2.4.1 2.4.1 包含关系包含关系 2.4.2 2.4.2 扩展关系扩展关系v用一个用例增强另一个用例的功能,被扩展到用例称用一个用例增强另一个用例的功能,被扩展到用例称为基用例为基用例v扩展用例被定义为基用例的增量扩展,扩展关系的虚扩展用例被定义为基用例的增量扩展,扩展关系的虚线箭头指向基用例线箭头指向基用例 2.4.2 2.4.2 扩展关系扩展关系 2.4.2 2.4.2 扩展关系扩展关系v归还图书超时调用归还图书超时调用NotifyOverTimeNotifyOverTime用例用例v当学生借阅图书有超期时,才会启动扩展用例,如果当学生借阅图书有超期时,才会启动扩展用例,如果每次都要启动每次都要启动NotifyOverTimeNotifyOverTime,则应使用包含关系。

      则应使用包含关系 v扩展用例的启用机制:扩展点扩展用例的启用机制:扩展点v扩展点:基用例中的一个或多个位置,在该位扩展点:基用例中的一个或多个位置,在该位置会衡量某个条件以决定是否启用扩展用例置会衡量某个条件以决定是否启用扩展用例v图图2-212-212.4.2 2.4.2 扩展关系扩展关系 泛化、包含与扩展关系的区别泛化、包含与扩展关系的区别v泛化与包含用例属于无条件发生的用例,而扩展属泛化与包含用例属于无条件发生的用例,而扩展属于有条件发生的用例于有条件发生的用例 v泛化侧重表示子用例间的互斥性、用例间的继承性;泛化侧重表示子用例间的互斥性、用例间的继承性;当两个或者多用例在行为,结构和目的方面存在共当两个或者多用例在行为,结构和目的方面存在共性时,就可以使用泛化关系性时,就可以使用泛化关系 v包含侧重表示被包含用例提供服务的复用性;包含侧重表示被包含用例提供服务的复用性;v扩展侧重表示扩展用例的触发不定性(可选性);扩展侧重表示扩展用例的触发不定性(可选性); 泛化、包含与扩展关系的区别泛化、包含与扩展关系的区别 2.5 2.5 用例建模用例建模 建模步骤建模步骤v 确定系统涉及的总体信息确定系统涉及的总体信息v 确定系统的参与者确定系统的参与者v 确定系统的用例确定系统的用例v 构造用例模型构造用例模型v下面以单机版的图书管理系统为例,说明下面以单机版的图书管理系统为例,说明建模过程建模过程 2.5.1 2.5.1 确定系统涉及的总体信息确定系统涉及的总体信息①①书籍借出处理书籍借出处理②②书籍归还处理书籍归还处理③③查看借阅者的借阅信息查看借阅者的借阅信息④④借阅者信息的维护借阅者信息的维护⑤⑤图书管理员信息的维护图书管理员信息的维护⑥⑥图书信息的维护图书信息的维护 2.5.2 2.5.2 确定系统的参与者确定系统的参与者v首先分析系统所涉及的问题领域和系统运行首先分析系统所涉及的问题领域和系统运行的主要任务:的主要任务:①①分析使用该系统主要功能部分的是哪些人。

      分析使用该系统主要功能部分的是哪些人②②谁将需要该系统的支持以完成其工作谁将需要该系统的支持以完成其工作③③系统的管理者与维护者系统的管理者与维护者 详细需求列表详细需求列表v系统可以完成学生借书和还书请求系统可以完成学生借书和还书请求v系统允许学生浏览借阅信息系统允许学生浏览借阅信息v如果学生超期未还,系统生成一个超期罚款信息如果学生超期未还,系统生成一个超期罚款信息v图书信息需要维护图书信息需要维护v学生信息需要维护学生信息需要维护v图书管理员信息需要维护图书管理员信息需要维护v系统需要维护系统需要维护2.5.2 2.5.2 确定系统的参与者确定系统的参与者 2.5.2 2.5.2 确定系统的参与者确定系统的参与者v图书馆管理系统的参与者:图书馆管理系统的参与者:①①图书管理员图书管理员②②系统维护者系统维护者 2.5.3 2.5.3 确定用例与构造用例模型确定用例与构造用例模型v1. 1. 图书管理员的用例图书管理员的用例v2. 2. 系统管理员的用例系统管理员的用例 1. 1. 图书馆管理员的用例图书馆管理员的用例①①登录登录②②书籍借阅书籍借阅③③书籍归还书籍归还④④查看借阅信息查看借阅信息 2. 2. 系统管理员的用例系统管理员的用例①①登录登录②②维护借阅者信息维护借阅者信息③③维护借阅信息维护借阅信息④④维护图书信息维护图书信息⑤⑤维护图书管理员信息维护图书管理员信息 v对用例进行细化对用例进行细化v提取公用部分提取公用部分v添加缺少用例添加缺少用例v绘制用例图绘制用例图v绘制用例图是一个迭代过程,不必一次就列出绘制用例图是一个迭代过程,不必一次就列出完整的用例模型图。

      完整的用例模型图2.5.3 2.5.3 确定用例与构造用例模型确定用例与构造用例模型 图书管理员构造用例模型图书管理员构造用例模型v用例细化用例细化v提取公用部分提取公用部分§超期处理超期处理§显示借阅信息显示借阅信息v添加缺少用例添加缺少用例§修改密码修改密码 图书管理员用例图书管理员用例 构造用例模型构造用例模型- -系统管理员系统管理员v用例细化用例细化§使用泛化方式细化用例使用泛化方式细化用例v提取公用部分提取公用部分§无无v添加缺少用例添加缺少用例§维护图书标题用例维护图书标题用例 系统管理员用例系统管理员用例 习题习题vP40 P40 分析题分析题1 1v注意:注意:v对于公共部分和可选部分,可以提取出来构成对于公共部分和可选部分,可以提取出来构成独立用例独立用例v对于并列的功能,可以使用泛化用例对于并列的功能,可以使用泛化用例v对于顺序的功能,不必再分化成独立的用例对于顺序的功能,不必再分化成独立的用例 练习:网络教学系统的需求分析练习:网络教学系统的需求分析v系统功能需求系统功能需求v数据信息管理模块数据信息管理模块v基本业务模块基本业务模块v信息浏览、查询模块信息浏览、查询模块 练习:网络教学系统功能需求练习:网络教学系统功能需求v系统的功能需求主要包括以下几个方面:系统的功能需求主要包括以下几个方面:①①学生可以登录网站浏览课程信息、查找和下学生可以登录网站浏览课程信息、查找和下载课件。

      载课件②②教师可以登录网站发布和更新课程信息、上教师可以登录网站发布和更新课程信息、上传课件文件传课件文件③③系统管理员负责维护教师和学生的账号系统管理员负责维护教师和学生的账号④④系统管理员负责建立或者删除课程,并将课系统管理员负责建立或者删除课程,并将课程指定给一位教师管理,一位教师可以管理程指定给一位教师管理,一位教师可以管理多个课程多个课程v对该需求进行用例建模对该需求进行用例建模 本章完本章完 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.