UML实验指导书2011_第1页
UML实验指导书2011_第2页
UML实验指导书2011_第3页
UML实验指导书2011_第4页
UML实验指导书2011_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1 江西理工大学 UML 实验报告 UML 实验指导书实验指导书 2 目录 实验一 用例图 3 实验二 UML 类图 10 实验三 状态图 14 实验四 活动图 19 实验五 时序图与协作图 23 3 实验一实验一 用例图用例图 实验目的和要求实验目的和要求 掌握用例的概念 掌握 UML 用例图的组成 作用以及使用场合 掌握用例与用例之间的各种关系 学习针对具体场景使用用例图进行分析说明的方法 掌握用例描述的概念和基本结构 以及用例描述的作用 实验内容和步骤实验内容和步骤 什么是用例 什么是场景 用例和场景之间的关系是怎样的 答 用例是外部可见的系统功能单元 这些功能由系统单元所 提供 并通过一系列系统单元与一个或多个参与者之间交换的 消息所表达 事件触发时的情景便形成了场景 用例图中有哪些组成元素 在 UML 中是如何表示的 答 用例图包含 6 个元素 分别是 参与者 用例 关联关系 包含关系 扩展关系以及泛化关系 参与者用人形图标表示 用例图用椭圆形符号表示 连线表示 它们之间的关系 用例与用例之间的包含关系 扩展关系和泛化关系各代表什么 含义 它们之间有何区别 对以上三种关系各举一例 画出用 例图 并进行说明 答 包含关系 一个用例可以简单地包含其他用例具有的行为 并把它所包含的用例行为作为自身行为的一部分 扩展关系 一个用例也可以被定义为基础用例的增量扩展 这 称作扩展关系 扩展关系是把新的行为插入到已有用例中的方 法 泛化关系 一个用例可以被特别列举为一个或多个子用例 4 包含关系把几个用例的公共步骤分离成一个单独的被包含用例 被包含用例称作提供者用例 包含用例称作客户用例 提供者 用例提供功能给客户使用 用例间的包含关系允许包含提供者 用例的行为到客户用例的事件中 包含关系使一个用例的功能可以在另一个用例中使用 1 如 果两个以上用例有大量一致的功能 则可以将这个功能分解到 另一个用例中 其他用例也可以和这个用例建立包含关系 2 一个用例的功能太多时 可以用包含关系建模两个小用 例 用例间的包含关系示例图 基础用例的执行不会涉及到扩展用例 只有特定的条件发生 扩展用例才被执行 用例间的扩展关系示例 用例泛化当父用例能够被使用时 任何子用例也可以被使用 子用例从父用例处继承行为和属性 还可以添加 覆盖或改变继承 的行为 如果一个系统中一个或多个用例是某个一般用例的特殊化 时 就需要使用用例的泛化关系 5 用例间的泛化关系示例 为了满足物业中介行业的信息化要求 甲公司基于详尽的需求 调研与分析 准备研发一套符合市场需要的 实用的信息管理 系统 主要将实现客户资料信息管理 客户委托 出租 出售 租赁 购买 信息管理 业务线索生成与管理 房源状态自动 更新 权限管理 到期用户管理 房源组合查询等功能 该公 司小王 通过多次的与潜在客户的交流与沟通 完成了最初的 用例模型的开发 下是一个用例模型的局部 录录入入房房源源信信息息 确确认认提提交交信信息息 房房产产经经纪纪人人 修修改改房房源源信信息息 打打开开房房源源信信息息页页面面 登登录录信信息息 小李认为该模型不符合 用例建模 的思想 存在明显的错误 请用 200 字以内说明错误所在 并说明应该如何修改 答 用例是系统参与者与系统在交互过程中所需要完成的事务 确定参与者是房产经济人 还要分析系统所涉及的问题领域和 系统运行的主要任务 根据系统的需求分析可确定 作为一个 物业信息管理系统 要实现客户资料信息管理 客户委托 出 租 出售 租赁 购买 信息管理 业务线索生成与管理 房 6 源状态自动更新 权限管理 到期用户管理 房源组合查询等 功能 参与者有房产经纪人 对于房产经纪人来说 系统维护 操作主要包括 录入 修改房源信息而登录和确认信息是包含 在登入和修改中的 包含关系的图标按钮应用虚线箭头 修改 后应该是 阅读下面的用例图 说明该图所表达的信息 答 客户可以启动 预定座位 功能 如果预定人数多 将执行扩 展用例 处理等候队列 总台服务员可以启动 安排座位 办理结账 功能 客户预定座位 服务员安排座位需要先 检查座位信息 服务员 办理结账 时需 要 收款 收款时可以现金支付也可以使用银行卡 银行卡必须是 7 银联 POS 系统 6 下图是一个描述保险商务系统的简单用例图 根据该用例图回 答问题 a 签订保险单 用例可能涉及到哪几个实体类 答 客户 保险员 保险单 b 现实生活中签订保单的基本流程如下 客户提出购买需求 保 险员根据客户需求选择相应的保险服务 客户阅读保险条款 同意后打印保单样据 客户签字并支付保金 保单开始生效 保险员做相关系统纪录 如需要根据以上信息 请列举这个用 例描述中可能存在扩展事件流 答 当客户不同意保险条款时 将执行扩展用例 退出签订保单 c 保单管理用例在实际开发过程中可以泛化出若干小用例 列出 可能存在的子用例 并且说明这些用例和 保单管理 用例之 间应该是什么关系 答 保单查询 保单保存 泛化关系 8 7 在一个 TelephoneSystem 电话系统 中 用户可以使用电话卡 或对方付款两种办法来打电话 1 请画出表示该场景的用例图 2 在前图的基础上 继续画出可能存在的包含用例和扩展用例 分析与讨论分析与讨论 总结用例图的重要作用 讨论并指出哪些场合下可以使用用例 图 答 用例图显示多个外部参与者以及他们与系统提供的用例之间的答 用例图显示多个外部参与者以及他们与系统提供的用例之间的 连接 通过用例建模可以对外部的角色以及他们所需要的系统功能连接 通过用例建模可以对外部的角色以及他们所需要的系统功能 建模 用例图用于系统分析阶段 建模 用例图用于系统分析阶段 讨论用例分析技术和结构化分析之间的关系和区别 答 区别 用例分析是面向对象 答 区别 用例分析是面向对象 ObjectObject OrientedOriented 的开发方法 的开发方法 结构化系统开发方法是指把整个系统开发过程分成若干阶段 每个结构化系统开发方法是指把整个系统开发过程分成若干阶段 每个 阶段进行若干活动 每项活动应用系统标准 规范 方法和技术 阶段进行若干活动 每项活动应用系统标准 规范 方法和技术 完成一个或多个任务 形成符合给定规范的软件产品 完成一个或多个任务 形成符合给定规范的软件产品 联系 它们都可以是软件的开发更容易联系 它们都可以是软件的开发更容易 3 在使用用例图的时候应该如何划分用例 应注意哪些问题 答 如何确定用例 答 如何确定用例 a a 参与者需要从系统中获取哪种功能 及参与者要系统做什么 参与者需要从系统中获取哪种功能 及参与者要系统做什么 b b 参与者是否需要读取 产生 删除 修改或存储系统中的某种信参与者是否需要读取 产生 删除 修改或存储系统中的某种信 息 息 9 c c 系统的状态改变是是否通知参与者 系统的状态改变是是否通知参与者 d d 是否存在影响系统的外部事件 是否存在影响系统的外部事件 e e 系统需要什么样的输入 输出信息 系统需要什么样的输入 输出信息 需要注意的是 一定不要再用例图中使用两种命名方法 即在椭圆需要注意的是 一定不要再用例图中使用两种命名方法 即在椭圆 之外和椭圆之内 之外和椭圆之内 继续分析类图实验中网上书店实例 画出系统的用例图 借阅者请求服务的用例图 图书馆管理员处理借书 还书的用例图 10 系统管理员进行系统维护的用例图 实验二实验二 UML 类图类图 实验目的和要求实验目的和要求 a 掌握类的定义 类的 3 要素 UML 中类的表示方法 b 掌握类与类之间的各种关系代表的含义及表示方法 c 实体类 边界类 控制类 关联类的概念和表示方法 d 接口和抽象类的概念和表示方法 类的多重性关系 e 对一个类图进行相关的描述 实验内容和步骤实验内容和步骤 简述类的定义 以及类的三要素 答 类是对一组具有相同属性 操作 关系和语义事物的描述 类答 类是对一组具有相同属性 操作 关系和语义事物的描述 类 的三要素是 类的名称 属性 操作 的三要素是 类的名称 属性 操作 类的属性和方法的可见性有哪些 UML 中如何表示 答 类的属性和方法的可见性有 公有答 类的属性和方法的可见性有 公有 publicpublic 符号 符号 私有 私有 privateprivate 符号 符号 和受保护 和受保护 protectedprotected 符号 符号 已知三个类 A B 和 C 其中类 A 由类 B 的一个实类和类 C 的 1 个或多个实类构成 请画出能够正确表示类 A B 和 C 之间关系 的 UML 类图 11 根据以下描述画出类图 并注明多重性关系 一个学生可以选 修多门课程 也可能没有任何课程 一门课程可以被多个学生选修 一个老师可以教多门课程或者不教课 每门课程至少有一个老师 也可以有多个老师任教 每门课程可以有 0 或 1 本教材 每本教材 只能用于一门课程 现有一系统需要对商品进行管理 包括添加 删除商品 修改 商品信息三项功能 画出系统类图 商品信息包括商品编号 商品名称 价格 生产厂商等 如果现在系统需求发生变化 需要能够对损坏商品进行打折 以及可以按照商品的颜色和外形进行查询 则系统类图应该如 何修改 根据下面的代码画出 Invoice 类的类图 要求标明各属性的类 型和可见性以及类方法 12 public class Invoice public double amount public Date date new Date public string customer public string specification public string administrator unspecified static private int number of invoices 0 public invoice number of invoices public void print System out println The number of invoices is int number of invoices 下图是一个仓库管理系统的类模型局部 其中 IncomeOrder 是 指入库单 OrderItem 是指入库中的每一项 Product 则是产 品信息 请指出模型中的错误 说明原因并改正类图 13 OrderItem IncomeOrderProduct 1111 答 Orderltem 与 IncomeOrder 的关系并不是泛化关系 而应该是 包含关系 改正的类图 分析与讨论分析与讨论 分析与讨论分析与讨论 讨论类图在建模过程中的重要作用 答 类图描述系统中类的静态结构 它不仅定义系统中的类 描述 类之间的联系 还包括类的内部结构 类图描述的是一种静态关系 在系统的整个生命周期中都是有效的 通过分析用例和问题域 就 可以得到相关的类 然后再把逻辑上相关的类封装成包 这样可以 很好的体现系统的分层结构 是得系统层次关系一目了然 总结在设计绘制类图的过程中应注意哪些问题 答 UML 类图 Class Diagram 是描述类 接口 协作以及它们之 间关系的图 用来显示系统中各个类的静态结构 UML 类图是定义 14 其他图的基础 在 UML 类图基础上 可以使用状态图 协作图 组 件图和配置图等进一步描述系统其他方面的特性 实验三实验三 状态图状态图 实验目的和要求实验目的和要求 掌握状态的定义和组成部分 掌握 UML 中状态的表示方法 掌握转换的定义及转换的 5 要素 了解触发事件 监护条件 动作的定义 掌握阅读和绘制状态图的方法 实验内容和步骤实验内容和步骤 什么叫做状态 状态由哪五个部分组成 答 描述系统里静态事物的动态变化 状态机由状态 转换 事件 活动和动作 5 部分组成 状态图图标分 3 部分 名称 内部转换和 嵌套状态图 什么是转换 UML 中转换的 5 要素是什么 答 转换表示当一个特定事件发生或者某些条件得到满足时 一个 源状态下的对象在完成特定的动作后将发生状态转变 转向另一个 目标状态的状态 5 要素 源状态 目标状态 触发事件 监护条 件 动作 触发事件是什么 可以具体分为哪些事件 答 能够引起状态装换的事件 信号 调用和时间段 15 改变事件和监护条件有何异同 答 改变事件能引起动作的执行及状态的改变 改变监护条件能触 发转换 什么叫做转换 转换可以分为哪几种 答 转换表示当一个特定事件发生或者某些条件得到满足时 一 个源状态下的对象在完成特定的动作后将发生状态转变 转向另一 个目标状态的状态 转换分为 外部转换 内部转换 完成转换 复合转换 状态和对象的关系是怎样的 下面描述中哪些是对象 哪些 是状态 支票已付 汽车停在那儿 小王正在工作 答 支票是对象 已付是状态 汽车是对象 停在那儿是状态 小王是对象 正在工作是状态 说出下面状态的状态名和各种转换 事件 Lighting entry turnOn do blinkFiveTimes eventPowerOff powerSupplySelf exit turnoff eventSelfTest defer 状态名 Lighting 转换 eventSelfTest defer 事件 入口动作entry turnOn do blinkFiveTimes eventPowerOff powerSupplySelf 16 出口动作出口动作exit turnoff 说出下面状态图所表达的信息 答 状态开始 状态 1 关闭 事件 1 没水 打开放水 事件 2 烧 水 状态 2 打开 事件 3 水开了关闭 回到状态 1 分支 1 烧水时烧 坏了 状态结束 说出下面状态图所表达的信息 并指出蓝色部分代表的含义 答 状态开始 状态 1 注册课程 状态 2 课程评价 嵌套状态图 1 开始 状态实验 1 进入实验室 事件 1 完成实验 实验 2 完成实 验 嵌套状态 2 实验室团队项目 事件项目完成 结束 嵌套状 态 3 开始 状态考试 事件 1 考试及格 事件 2 考试不及格 课 程不通过 补考 3 个嵌套状态后 课程通过 10 根据下面状态图回答问题 17 GFloor UP entry CloseDoor do E exit motor stop WaitingForFloorNum entry openDoor Return entry closeDoor do motor moveDown exit F Down entry closeDoor do D exit motor stop goToFloor n arrive arrive request floor direction floor 0 request floor direction floor 0 timeout getNextFloor A B C timeout getNextFloor 1状态图一般用于对系统中的某些对象 比如类 用例和系统的行 为建模 它通过建立类对象的生存周期模型来描述对象随时间变化 的动态行为 思考什么样的情况下适合引入状态图进行建模 答 系统分析人员在对系统进行建模时 最先考虑的是基于状态之 间的控制流 因为系统对象中的状态变化最易发现和理解 这样的 情况下引入状态图进行建模比较好 19 实验四实验四 活动图活动图 实验目的和要求实验目的和要求 掌握活动的概念以及表示方法 掌握活动图中个元素表示的意义和表示方法 掌握分支 监护条件 分岔 汇合和泳道的概念 掌握阅读和绘制活动图的方法 掌握 UML 的可见性规则和构造型的作用 实验内容和步骤实验内容和步骤 什么是活动 UML 中如何表示活动 答 活动是某件事情正在进行的状态既可以是现实生活中正在进行 的某一项工作 也可以是软件系统某个类对象的一个操作 活动图 用圆角椭圆表示 活动图中包括哪些元素 分别如何表示 答 分支与合并 分叉与汇合等模型元素 分支与合并用实线箭头 表示 分叉与汇合用一条加粗的线段表示 图形元素图形元素表示方法表示方法 动作状态平滑的圆角矩形 活动状态平滑的圆角矩形 动作流带箭头的直线 分支与合并空心小菱形 分叉与汇合加粗的水平线 泳道垂直实线 分隔的区域就是泳道 对象流带箭头的虚线 分岔和分支有什么区别 分别适用于什么样的建模目标 20 答 分叉可以用来描述并发线程 每一个分叉可以有一个输入转换和 两个或多个输出转换 每一个转换都可以是独立的控制流 分支在 软件系统流程中很常见 它一般用于表示对象类所具有的条件行为 活动图中监护条件和改变时间分别有何作用 两者间的区别 是什么 答 控制活动的处理过程 控制系统的行为 监护条件是决定执行 与否 改变时间是决定什么时候执行 说明下面活动图所表达的信息 答 用户下订单后系统生成送货单 用户选择支付方式 判断用户 是否取消订单或订单超过时限 如果是 则取消订单 如果否 则 进行收款 之后供应商送货 修改订单项状态 然后判断是否所有 订单已送货完毕 如果是 那么订单完成 21 用活动图表示 for i 0 i 9 i 循环 对于如下图所示的活动图 最大可能的并发线程数是几个 Activity1 Activity3 Activity2 Activity4 Activity5 Activity6 答 五个 分析与讨论分析与讨论 总结 UML 在软件工程中的作用以及使用 UML 建模的必要性 答 UML 是一种功能强大的 面向对象的可视化系统分析的建模语言 它 的各个模型可以帮助开发人员更好地理解业务流程 建立更可靠 更 22 完善的系统模型 从而使用户和开发人员对问题的描述达到相同的理 解 以减少语义差异 保障分析的正确性 建立模型可以帮助开发者更好地了解正在开发的系统 便于开发人 员展现系统 提供指导开发人员构造系统的模板 记录开发人员的 决策 每个项目可以从建模中受益 甚至在自由软件领域 模型可以帮助 开发小组更好地规划系统设计更快地开发 分小组讨论利用 支付宝 进行网上购物的活动过程 并画出 活动图 关于支付宝的相关说明可以登录 看 答 挑选宝贝 确认订单 支付宝支付 支付成功 针对前面的网上书店系统 画出用户购书 商家发货等过程的 活动图 23 实验五实验五 时序图与协作图时序图与协作图 实验目的和要求实验目的和要求 掌握时序图与协作图的概念及作用 掌握 UML 中静态图形和动态图形的区别和联系 掌握 UML 时序图与协作图的基本图形 了解它们各自的组成元 素 特定作用和适用场合 重点掌握时序图的画法以及其中元素所代表的意义 实验内容和步骤实验内容和步骤 1 UML 中的时序图与协作图之间各有什么区别和联系 答 主要元素都是消息和类角色 相同点 1 规定责任 2 支持消息 3 衡量工具 区别 协作图的重点是将对象的交互映射到它们之间的链上 即协 作图以对象图的方式绘制各个参与对象 并且将消息和链平行放置 时序图可以描述对象的创建和撤销的情况 而在协作图中 对象要 么存在要么不存在 除了通过消息描述或约束 没有其他的方法可 以表示对象的创建或结束 时序图还可以表现对象的激活和去激活 情况但对于协作图来说 由于没有对时间的描述 除了对消息进行 24 解释 它无法清晰地表示对象的激活和去激活情况 2 在顺序图和协作图中 应如何表示 循环 判断 等结构 答 通过对象的链符号 即一条连接两个角色的实线路径进行循环 增加消息进行判断 3 什么是消息 消息在交互中扮演什么角色 答 对象之间某种形式的通信 它可以激发某个操作 唤起信号或导 致目标对象的创建或撤销 4 交互图中有哪几种消息 它们之间具体有何分别 应如何表示 答 绘制两个对象之间的异步消息 在两个对象之间绘制消息 绘 制反身消息 显示过程调用返回的消息 绘制两个对象之间的过程 调用 消息使用箭头表示 箭头的类型表示了消息的类型 在两个对象之间绘制消息 绘制两个对象之间的过程调用 绘制两个对象之间的异步消息 显示过程调用返回的信息 绘制反身消息 5 已知某一个用例实现的类图如下 下面四个选项中的时序图 图中省略了消息编号 名称和返回消息 画出一个能和该 类图对应的时序图 25 6 假设有一系统得协作图局部如图所示 print 方法的功能是将 传入的参数的值打印在屏幕上 fact 方法是计算阶乘 如果 test 的初值为 1 那么最终将打印出什么 写出计算过程

温馨提示

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

评论

0/150

提交评论