uml统一建模语言实验报告 2_第1页
uml统一建模语言实验报告 2_第2页
uml统一建模语言实验报告 2_第3页
uml统一建模语言实验报告 2_第4页
uml统一建模语言实验报告 2_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

目录 实验一 UML 建模基础及用例图 实验二 类图与对象图 实验三 序列图与协作图 实验四 状态图 实验五 活动图 实验(一)UML 建模基础及用例图 实验目的 1、熟悉 UML 建模工具 Rational Rose 的基本菜单及操作。 2、掌握 UML 的可见性规则和构造型的作用。 3、掌握用例的概念;掌握 UML 用例图的组成及作用。 4、掌握用例与用例之间的各种关系。 实验内容 1、练习使用建模工具建立各种 UML 图形,并对图形进行相应编辑和修改。 2、认识各种 UML 关系,并用工具表示出来。 中南民族大学管理学院学生实验报告 3、什么是用例?用例图中有哪些组成元素?在 UML 中是如何表示的? 答:用例是对系统功能的描述,是向参与者提供重要价值的操作序列。 用例图有:用例、参与者、关联(系统边界)等元素。 用来显示在系统或其他实体内的用例与系统参与者之间的关系。主要 使用场合:需求获取、定义、分析 4、用例与用例之间的包含关系、扩展关系和泛化关系各代表什么含义?它 们之间有何区别?对以上三种关系各举一例,画出用例图,并进行说明。 (1)包含关系:基本用例的行为包含另一用例的行为。基本用例描述在多个 用例中都有的公共行为。包含关系是本质上比较特殊的依赖关系,它比一 般的依赖关系多了一些语义。在包含关系中箭头的放向是从基本用例到包 含用例的。 (2)扩展关系:扩展关系的基本含义和泛化关系相似,但在扩展关系中, 对于扩展用例有更多的规则限制。基本用例必须声明扩展点,而扩展用例 只能在扩展点上增加新的行为和含义。 (3)泛化关系:代表一般与特殊的关系。UML 用例图中泛化关系的意思和 面向对象程序设计中的继承的概念是类似的。不同的是继承使用在实施阶 段,泛化使用在分析、设计阶段。在泛化关系中子用例继承了父用例的行 为和含义,子用例也可以增加新的行为和含义或者覆盖父用例中的行为和 含义。 5、完成书中 94 页例子,体会用例图建模的分析过程并模仿来画出该学生 信息管理系统的用例图。画出课后习题 101 页第 4 题。 6、为了满足物业中介行业的信息化要求,甲公司基于详尽的需求调研与分 析,准备研发一套符合市场需要的、实用的信息管理系统。主要将实现客 户资料信息管理、客户委托(出租、出售、租赁、购买)信息管理、业务 线索生成与管理、房源状态自动更新、权限管理、到期用户管理、房源组 合查询等功能。该公司小王,通过多次的与潜在客户的交流与沟通,完成 了最初的用例模型的开发,下是一个用例模型的局部: 中南民族大学管理学院学生实验报告 录 入 房 源 信 息 确 认 提 交 信 息 房 产 经 纪 人 修 改 房 源 信 息 打 开 房 源 信 息 页 面 登 录 信 息 小李认为该模型不符合“用例建模”的思想,存在明显的错误。请用 200 字以内说明错误所在,并说明应该如何修改。 答:用例图是用来显示多个外部参与者以及他们之间与系统提供的用 例之间的联系。是用户从系统外部观察系统的功能。用例是系统参与者与 系统在交互过程中所需要完成的事务。确定参与者是房产经济人,还要分 析系统所涉及的问题领域和系统运行的主要任务。根据系统的需求分析可 确定:作为一个物业信息管理系统,要实现客户资料信息管理、客户委托 (出租、出售、租赁、购买)信息管理、业务线索生成与管理、房源状态 自动更新、权限管理、到期用户管理、房源组合查询等功能。参与者有房 产经纪人,对于房产经纪人来说,系统维护操作主要包括:录入,修改房 源信息而登录和确认信息是包含在登入和修改中的,包含关系的图标按钮应 用虚线箭头。修改后应该是: 7、阅读下面的用例图,说明该图所表达的信息。 参与者是客户和服务人员。主要关系是包含和扩展。首先有客户来预 订座位,如果前面与别的客户,他就等待,服务人员进行作为信息查询, 把空闲的座位分给客户,然后办理结账,有两种方式可以供客户选择,要 不现金结账要不就是银行卡结账,然后收款。 8、下图是一个描述保险商务系统的简单用例图。根据该用例图回答问题。 a) “签订保险单”用例可能涉及到哪几个实体类? 答:客户和保险员两个实体类 b) 现实生活中签订保单的基本流程如下:客户提出购买需求,保险员根 中南民族大学管理学院学生实验报告 据客户需求选择相应的保险服务,客户阅读保险条款,同意后打印保单样 据,客户签字并支付保金,保单开始生效,保险员做相关系统纪录。如需 要根据以上信息,请列举这个用例描述中可能存在扩展事件流。 答:客户阅读保险条款,同意后可签字并支付保金,否则就不签订保单。 c) 保单管理用例在实际开发过程中可以泛化出若干小用例,列出可能存 在的子用例,并且说明这些用例和“保单管理”用例之间应该是什么关系? 答:单查询和保单保存可能是存在的子用例,这些用例和“保单管理” 用例之间是泛化关系。 9、在一个 TelephoneSystem(电话系统)中,用户可以使用电话卡或对方 付款两种办法来打电话。 1)请画出表示该场景的用例图。 2)在前图的基础上,继续画出可能存在的包含用例和扩展用例。 分析与讨论 1、 总结 UML 在软件工程中的作用以及使用 UML 建模的必要性。 答:UML 为面向对象开发系统的产品进行说明、可视化和编制文档的一 种标准语言。UML 展现了一系列最佳工程实践,这些最佳实践在对大规模, 复杂系统进行建模方面,特别是在软件架构层次已经被验证有效。UML 可 以贯穿软件开发周期中的每一个阶段。最适于数据建模,业务建模,对象 建模等。 UML 是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它 溶入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持 面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。使 用 UML 可以对已有的用各种方法建立的模型进行描述,并比原来的方法描 述得更好。在软件开发的生命期方面,UML 对于开发的要求具有无缝性。 开发过程的不同阶段可以采用相同的一套概念和表示法,在同一个模型中 它们可以混合使用。在开发的不同阶段,不必转换概念和表示。这种无缝 性对迭代式的、增量式软件开发是至关重要的。在应用领域方面,UML 适 用于各种应用领域的建模,包括大型的、复杂的、实时的、分布式的、集 中式数据或计算。 2、 总结用例图的重要作用,指出哪些场合下可以使用用例图。 答:用例图显示多个外部参与者以及他们与系统提供的用例之间的链接。 通过用例建模可以对外部的角色以及他们所需要的系统功能建模。用例图 用于系统的分析阶段。 3、 讨论用例分析技术和结构化分析之间的关系和区别。 答:联系:他们都可以使软件开发更容易。 区别:结构化开发系统方法是指把整个系统开发过程分成若干阶段, 每个阶段进行若干活动,每一项活动应用系统标准、规范、方法和技术, 完成一个或是多个任务,形成符合给定规定的软件产品。 4、 在使用用例图的时候应该如何划分用例,应注意哪些问题? 答:(1)确定用例参与者需要从系统中获得那些功能?参与者要系 统作些什么? (2)参与者是否需要读取、产生、删除、修改果实存储系统中的某 些信息。 (3)系统状态的改变是否通知参与者。 (4)是否存在印象系统的外部事件? (5)系统需要什么样的输入输出信息? 指导教师批阅: 中南民族大学管理学院学生实验报告 实验(二) 类图与对象图 实验目的 1、掌握对象的概念,对象的表示方法,掌握类与对象的关系。 2、掌握时序图(顺序图)与协作图(通信图)这两种交互图的概念及作用。 3、掌握 UML 中静态图形和动态图形的区别和联系。 4、掌握 UML 时序图与协作图的基本图形,了解它们各自的组成元素、特定 作用和适用场合。 5、重点掌握时序图的画法以及其中元素所代表的意义。 实验内容 1、类的属性和方法的可见性有哪些?UML 中如何表示? 答:类的属性和方法的可见性有 protect(符号“#”),private(符号 “”),public(符号“+”) 2、已知三个类 A.B 和 C.其中类 A 由类 B 的一个实类和类 C 的 1 个或多个 实类构成.请画出能够正确表示类 A,B 和 C 之间关系的 UML 类图。 3、根据以下描述画出类图,并注明多重性关系:一个学生可以选修多门课 程,也可能没有任何课程;一门课程可以被多个学生选修;一个老师可以 教多门课程或者不教课;每门课程至少有一个老师,也可以有多个老师任 教;每门课程可以有 0 或 1 本教材,每本教材只能用于一门课程。 4、现有一系统需要对商品进行管理,包括添加,删除商品,修改商品信息 三项功能,画出系统类图。(商品信息包括商品编号,商品名称,价格, 生产厂商等) 5、上题,如果现在系统需求发生变化,需要能够对损坏商品进行打折,以 及可以按照商品的颜色和外形进行查询,则系统类图应该如何修改? 6、根据下面的代码画出 Invoice 类的类图,要求标明各属性的类型和可见 性以及类方法。 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); 7、下图是一个仓库管理系统的类模型局部,其中 IncomeOrder 是指入库单, OrderItem 是指入库中的每一项,Product 则是产品信息。请指出模型中的 错误,说明原因并改正类图。 OrderItem IncomeOrder Product11 答:Orderltem 与 IncomeOrder 的关系并不是泛化关系,而应该是包含 关系。改正的类图: 8、在下图中最上面的对象的名称是什么?该图表示的意思是什么? fuJian:Province China:Country siChuan:Province 答:Country、Province 是类,而 china、fujian 和 sichuan 分别是这 两个类中的对象。 分析与讨论 1、 讨论类图在建模过程中的重要作用。 答:类图描述系统中类的静态结构,它不仅定义系统中的类,描述类之 间的联系,还包括类的内部结构。类图描述的是一种静态关系,在系统的 整个生命周期中都是有效的。通过分析用例和问题域,就可以得到相关的 类,然后再把逻辑上相关的类封装成包,这样可以很好的体现系统的分层 结构,是得系统层次关系一目了然。 2、 总结在设计绘制类图的过程中应注意哪些问题。 答:UML 类图(Class Diagram)是描述类、接口、协作以及它们之间关 系的图,用来显示系统中各个类的静态结构。UML 类图是定义其他图的基 础,在 UML 类图基础上,可以使用状态图、协作图、组件图和配置图等进 一步描述系统其他方面的特性。 3、 说明对象图的适用场景以及它的优缺点。 答:对系统的设计视图建模时,可以使用一组类图完整地描述抽象的语义 以及它们之间的关系。但是使用对象图不能完整地描述系统的对象结构 指导教师批阅: 中南民族大学管理学院学生实验报告 实验(三) 序列图与协作图 实验目的 1、掌握序列图(时序图)与协作图的概念及作用。 2、掌握 UML 中静态图形和动态图形的区别和联系。 3、掌握 UML 时序图与协作图的基本图形,了解它们各自的组成元素、特定 作用和适用场合。 4、重点掌握时序图的画法以及其中元素所代表的意义。 实验内容 1、UML 中的序列图与协作图之间各有什么区别和联系? 答:(1)序列图用来描述对象之间消息发送的先后次序,阐明对象之 间的交互过程以及在系统执行过程中的某一具体时刻 将会发生什么事 件。序列图是一种强调时间顺序的交互图,其中对象沿横轴排列,消息 沿纵轴按时间顺序排列。序列图中的对象生命线是一条垂直的虚线,他 表示一个对象在一段时间内存在。 协作图也是一种交互图,它强调收发消息的对象的组织结构。协作图和 序列图是同样的,它们可以相互转换。在多数情况下,协作图主要用来 对单调的、顺序的控制流建模,但它也可以用来对包括迭代和分支在内 的复杂控制流进行建模。 (2)两者都是表示交互的方式,但时序图描述时间交互的各种信息,协 作图描述的是和对象结构相关的信息。 2、在顺序图和协作图中,应如何表示“循环”,“判断”等结构? 答:整个信息的传递过程就形成了一个完整的序列,因此通过在每个信 息的前面加上一个冒号隔开的顺序号来表示其顺序。 3、什么是消息?消息在交互中扮演什么角色? 答:对象之间某种形式的通信,可以激发某个操作,唤起信号或者导致 目标对象的创建或撤销。两个对象之间的单路通信。 4、交互图中有哪几种消息?它们之间具体有何分别?应如何表示? 答:绘制两个对象之间的异步消息、在两个对象之间绘制消息、绘制反 身消息、显示过程调用返回的消息、绘制两个对象之间的过程调用。消 息用箭头表示,箭头的类型表示了消息的类型。 5、已知某一个用例实现的类图如下,下面四个选项中的时序图(图中省略 了消息编号、名称和返回消息),画出一个能和该类图对应的时序图。 6、 假设有一系统得协作图局部如图所示,print 方法的功能是将传入的 参数的值打印在屏幕上,fact 方法是计算阶乘,如果 test 的初值为 1,那 么最终将打印出什么?(写出计算过程) 中南民族大学管理学院学生实验报告 :A :B 1: print(test) 2: *i=1.3 1.: test=test+fact(test) 分析与讨论 1、讨论并总结在建模过程中运用交互图的重要作用及意义。 答:能准确地描述各个对象之间的关系及各种消息。交互视图描述了执 行系统功能的各个角色之间相互传递消息的顺序关系。类元是对在系统内 交互关系中起特定作用的一个对象的描述,这使它区别于同类的其他对象。 交互视图显示了跨越多个对象的系统控制流程。 交互视图可用两种图来表示:顺序图和协作图,它们各有不同的侧重点 顺序图的一个用途是用来表示用例图中的行为顺序。当执行一个用例行为 时,顺序图中的每条消息对应了一个类操作或状态机中引起转换的出发事 件。协作图的一个用途是表示一个类操作的实现。协作图可以说明类操作 中用到的参数和局部变量以及操作中的永久链。当实现一个行为时,消息 编号对应了程序中嵌套调用结构和信号传递过程。 2、继续前面的网上书店实例,为该实例中涉及的系统交互设计交互图。 指导教师批阅: 中南民族大学管理学院学生实验报告 实验四 状态图 实验目的 1、掌握状态的定义和组成部分及表示方法。 2、掌握转换的定义及转换的要素。 3、了解触发事件、监护条件、动作的定义。 4、掌握阅读和绘制状态图的方法。 实验内容 1、什么叫做状态?状态由哪五个部分组成? 答:描述系统里静态事物的动态变化。状态机由状态、转换、事件、活 动和动作 5 部分组成。状态图图标分 3 部分:名称、内部转换和嵌套状态 图。 2、什么是转换?UML 中转换的要素是什么? 答:转换表示当一个特定事件发生或者某些条件得到满足时,一个源状 态下的对象在完成特定的动作后将发生状态转变,转向另一个目标状态的 状态。转换要素:源状态、目标状态、触发事件、监护条件、动作。 3、触发事件是什么?可以具体分为哪些事件? 答:能够引起状态装换的事件。信号、调用和时间段。 4、 什么叫做转换?转换可以分为哪几种? 答:转换表示当一个特定事件发生或者某些条件得到满足时,一个源状 态下的对象在完成特定的动作后将发生状态转变,转向另一个目标状态的 状态。转换分为:外部转换、内部转换、完成转换、复合转换。 5、状态和对象的关系是怎样的? 下面描述中哪些是对象,哪些是状态? 支票已付 汽车停在那儿 小王正在工作 答:支票是对象,已付是状态;汽车是对象,停在那儿是状态;小王是对 象,正在工作是状态。 6、说出下面状态的状态名和各种转换、事件。 Lighting entry / turnOn do / blinkFiveTimes eventPowerOff / powerSupplySelf exit / turnoff eventSelfTest / defer 状态名:Lighting 转换:eventSelfTest / defer 事件:入口动作 entry / turnOn do / blinkFiveTimes eventPowerOff / powerSuppl

温馨提示

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

最新文档

评论

0/150

提交评论