UML实验报告要点_第1页
UML实验报告要点_第2页
UML实验报告要点_第3页
UML实验报告要点_第4页
UML实验报告要点_第5页
已阅读5页,还剩24页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、中南民族大学管理学院学生实验报告 中南民族大学管理学院 学生实验报告 课程名称:UML 面向对象分析与设计教程 年 级: 专 业:信息管理与信息系统 学 号: 姓 名: 指导教师: 实验地点:管理学院综合实验室 2013 学年至 2014 学年度第_2_学期 目录 实验一 UML建模基础 实验二 用例图 实验三 UML类图 实验四 对象图 实验五 包图 实验六 动态模型图 实验(一)UML建模基础 实验时间: 实验目的 1. 熟悉UML建模工具Rational Rose 的基本菜单及操作。 2. 掌握UML的三大组成部分及各部分作用。 3. 掌握UML的可见性规则和构造型的作用。 实验内容 1

2、. 练习使用建模工具建立各种 UML图形,并对图形进行相应编辑和修改。 2. 认识各种UML关系及可见性符号,并用工具表示出来。 答:各种UML关系如下: 表示方法 UML关系 关联关系 Classi Class2 依赖关系 泛化关系 Classi 依赖关疾 Classi 迈化关考 1 Class2 实现关系 Classi 买现关系 O Interface 可见性 表示方法 公有(Public ) “+” 私有(Private ) a? 受保护(Protected ) “ # ” 分析与讨论 1. 总结UML在软件工程中的作用以及使用UML建模的必要性。 答:统一建模语言(UML是用来对软件密

3、集系统进行可视化建模的一种语 言,也是为面向对象开发系统的产品进行说明、可视化、构造和编制文 档的一种语言。 UML作为一种模型语言,它使开发人员专注于建立产品的模型和结 构,而不是选用什么程序语言和算法实现。当模型建立之后,模型可以 被UML工具转化成指定的程序语言代码。 UML可以贯穿软件开发周期中的每一个阶段,最适于数据建模、业 务建模、对象建模、组件建模。UML展现了一系列最佳工程实践,这些 最佳实践在对大规模、复杂系统进行建模方面,特别是在软件架构层次 方面已经被验证有效。 UML是 一种功能强大的,面向对象的可视化系统分析的建模语言, 它的各个模型可以帮助开发人员更好地理解业务流程

4、,建立更可靠,更 完善的系统模型,从而使用户和开发人员对问题的描述达到相同的理 解,以减少语义差异,保障分析的正确性。 指导教师批阅: 实验(二)用例图 实验时间:_ 实验目的 1. 掌握用例的概念、UML用例图的组成、作用以及使用场合。 2. 掌握用例与用例之间的各种关系。 3. 用Rational Rose工具练习教材中的用例图。 实验内容 1. 用例图中有哪些组成元素?在UML中是如何表示的? 答:用例图有:用例、参与者、关联、(系统边界)等元素;用来显示在系 统(或其它实体)内的用例与系统参与者之间的关系;主要用于需求获 取、定义和分析。 2. 用例与用例之间的包含关系、扩展关系和泛化

5、关系各代表什么含义?它 们之间有何区别?对以上三种关系各举一例,画出用例图,并进行说明。 答:包含关系:用例可以简单地包含其他用例具有的行为,并把它所包含的 用例行为作为自身行为的一部分。基本用例描述在多个用例中都有的公 共行为。包含关系本质上是比较特殊的依赖关系,它比一般的依赖关系 多了一些语义。在包含关系中箭头的方向是从基本用例到包含用例。 修改部门人员 中南民族大学管理学院学生实验报告 扩展关系:在一定条件下,把新的行为加入到已有的用例中,获得的新 用例叫做扩展用例,原有的用例叫做基础用例,从扩展用例到基础用例 的关系就是扩展关系。扩展关系的基本含义和泛化关系类似,但在扩展 关系中,对于

6、扩展用例有更多的规则限制,基本用例必须声明扩展点, 扩展用例只能在扩展点上增加新的行为和含义。 扩展用例 修改密碣 泛化关系:用例的泛化指的是一个父用例可以被特化形成多个子用例, 而父用例和子用例之间的关系就是泛化关系。 3. 为了满足物业中介行业的信息化要求,甲公司基于详尽的需求调研与分 析,准备研发一套符合市场需要的、实用的信息管理系统。 主要将实现 客户资料信息管理、客户委托(出租、出售、租赁、购买)信息管理、业务线索生成与管理、房源状态自动更新、权限管理、到期用户管理、 房源组合查询等功能。该公司小王,通过多次的与潜在客户的交流与沟 通,完成了最初的用例模型的开发, (1) 画出上述系

7、统的用例图; 业务线索生成官理 权跟管理房源状态自动更新 (2)下是一个用例模型的局部: 打开房源信息页面 房产经纪人 登录信息 录入房源信息 修改房源信息 小李认为该模型不符合“用例建模”的思想,存在明显的错误。请 说明错误所在,并说明应该如何修改。 答:用例是系统参与者与系统在交互过程中所需要完成的事务。确 定参与者是房产经济人,还要分析系统所涉及的问题领域和系 统运行的主要任务。根据系统的需求分析可确定:作为一个物 业信息管理系统,要实现客户资料信息管理、客户委托(出租、 出售、租赁、购买)信息管理、业务线索生成与管理、房源状 态自动更新、权限管理、到期用户管理、房源组合查询等功能。 参

8、与者有房产经纪人,对于房产经纪人来说,系统维护操作主 要包括:录入,修改房源信息而登录和确认信息是包含在登入 和修改中的,包含关系的图标按钮应用虚线箭头。修改后应该 是: 修改房源悟息 4. 阅读下面的用例图,说明该图所表达的信息。 答:参与者是客户和服务人员。主要关系有包含关系和拓展关系。当有客户 来预定座位时,如果前面有别的客户,他就进行等待,服务人员进行信 息查询,把空闲座位分配给客户,然后办理结账,有现金结账和银行卡 (必须是银联POS系统)结账两种方式供客户选择,然后收款。 5. 下图是一个描述保险商务系统的简单用例图。根据该用例图回答问题。 保险商务系统 (1)“签订保险单”用例可

9、能涉及到哪几个实体类? 答:有客户和保险员两个实体类。 (2)现实生活中签订保单的基本流程如下:客户提出购买需求, 保险员根据客户需求选择相应的保险服务,客户阅读保险条款, 同意后打印保单样据,客户签字并支付保金,保单开始生效,保 险员做相关系统纪录。如需要根据以上信息,请列举这个用例描 述中可能存在扩展事件流。 答:客户阅读保险条款,同意后客户签字并支付保金,否则不同 意就不签订保单。 (3)保单管理用例在实际开发过程中可以泛化出若干小用例,列 出可能存在的子用例,并且说明这些用例和“保单管理”用例之 间应该是什么关系? 答:单查询和保单保存可能是存在的子用例,这些用例和“保单 管理”用例之

10、间应该是泛化关系。 6. 在一个TelephoneSystem (电话系统)中,用户可以使用电话卡或对方 付款两种办法来打电话。 (1)请画出表示该场景的用例图。 电话卡忖软 (2)在前图的基础上,继续画出可能存在的包含用例和扩展用例。 分析与讨论 1. 总结用例图的重要作用,讨论并指出哪些场合下可以使用用例图。 答:用例图显示多个外部参与者和它们与系统提供的用例之间的链接。通过 用例建模可以对外部的角色以及它们所需要的系统功能建模。用例图可 视化地表达了系统的需求,具有直观、规范等优点,克服了纯文字性说 明的不足。用例图可用于系统的分析阶段。 2. 在使用用例图的时候应该如何划分用例,应注意

11、哪些问题? 答:确定用例: 1)参与者需要从系统中获取哪些功能及参与者要求系统做些什么? 2)参与者是否需要读取、产生、删除、修改或是存储系统中的某些信 息? 3)系统状态的改变是否通知参与者? 4)是否存在影响系统的外部事件? 5)系统需要什么样的输入、输出信息? 需注意,在用例图中,一定不要使用两种命名的方法,即在椭圆之 内命名又在椭圆之外命名。 3. 扩展练习如下: 需求描述如下:某学校的网上选课系统主要包括如下功能:管理员通过系统 界面进入,建立本学期要开的各种课程,将课程信息保存在数据库中并可以 对课程进行改动和删除。学生通过客户机浏览器根据学号和密码进入选课界 面,在这里学生可以进

12、行三种操作:查询已选课程、选课以及付费。同样, 通过业务层,这些操作结果存入数据库中。 根据以上描述,绘制系统的用例图。 查看课程选课 用例“修改课程”的描述 用例名称 修改课程 标识符 UC0001 用例描述 课程管理员接到通知后修改已有课程信息 参与者 课程管理员 优先级 1 状态 通过审查 前置条件 课程管理员登录课程,课程已存在 后置条件 系统修改已有课程信息 基本操作流程 1.课程管理员录入课程; 2.系统检查该课程是否已存在; 3.系统显示该课程信息; 4.系统修改已有课程信息。 可选操作流程 系统检查该课程不存在,系统修改已有课程 被泛化的用例 无 被包含的用例 无 被扩展的用例

13、 无 修改历史记录 ,定义基本操作流程,201年月日 指导教师批阅: 实验(三)UML类图 实验时间:_ 实验目的 1. 掌握类的定义,类的 3要素,UML中类的表示方法。 2. 掌握类与类之间的各种关系代表的含义及表示方法。 3. 实体类,边界类,控制类,关联类的概念和表示方法。 4. 接口和抽象类的概念和表示方法。类的多重性关系。 5. 对一个类图进行相关的描述。 实验内容 1. 类的属性和方法的可见性有哪些?UML中如何表示? 答:类中属性的可见性主要有三种,分别是公有类型(public )、受保护类 型(protected )和私有类型(private ),在 Rational Ros

14、e2003 中, 类的操作设置中添加了实现类型(Implementation )。在UML中公有类 型用“ +”表示,私有类型用“一”表示,受保护类型用“# ”表示。 2. 已知三个类 A.B和C.其中类A由类B的一个实类和类 C的1个或多个 实类构成请画出能够正确表示类 A,B和C之间关系的UML类图。 答: 3. 根据以下描述画出类图, 并注明多重性关系:一个学生可以选修多门课 程,也可能没有任何课程; 一门课程可以被多个学生选修;一个老师可 以教多门课程或者不教课;每门课程至少有一个老师, 也可以有多个老 师任教;每门课程可以有 0或1本教材,每本教材只能用于一门课程。 答: 中南民族大

15、学管理学院学生实验报告 课程 4. 现有一系统需要对商品进行管理,包括添加,删除商品,修改商品信息 三项功能,画出系统类图。(商品信息包括商品编号,商品名称,价格, 生产厂商等) 答: 商品 ?nanie : string splice : double jfacture : double 助D : string deletef) %pdateQ 5. 如果现在系统需求发生变化,需要能够对损坏商品进行打折,以及可以 按照商品的颜色和外形进行查询,则系统类图应该如何修改? 答: product isBad : boolean 念心:char shape : char color: char 第p

16、rice : int factory : char add| deleteQ reviseQ doublef) 6. 根据下面的代码画出In voice类的类图,要求标明各属性的类型和可见 性以及类方法。 public class In voice public double amount; public Date date = new Date(); public string customer; public string specification; public stri ng adm ini strator =“ un specified static private int nu

17、mber_of_ in voices()=0; public in voice (); nu mber_of_ in voices+; public void print () System.out.pri ntln (Thenu mber of is ” + int nu mber_of_ in voices); 答: administrator: String=unsprcified amount: M口ublm customer: string dte : Date=new DteQ numbBi_of_invoices: int=O specification : string inv

18、oicsQ prirrt() 7. 下图是一个仓库管理系统的类模型局部,其中In comeOrder 单,Orderitem 是指入库中的每一项,Product则是产品信息。 in voices 是指入库 请指出 模型中的错误,说明原因并改正类图。 In comeOrderProduct 1 1 Orderitem 答:Orderitem 与IncomeOrder的关系并不是泛化关系,而应该是包含关系。 改正后为: inameo血 r”product :1 分析与讨论 1. 讨论类图在建模过程中的重要作用。 答:类图描述系统中类的静态结构,它不仅定义系统中的类,描述类之间的 联系,还包括类的内

19、部结构。类图描述的是一种静态关系,在系统的整 个生命周期中都是有效的。通过分析用例和问题域,就可以得到相关的 类,然后再把逻辑上相关的类封装成包,这样可以很好的体现系统的分 层结构,是得系统层次关系一目了然。 2. 总结在设计绘制类图的过程中应注意哪些问题。 答:UML类图(Class Diagram )是描述类、接口、协作以及它们之间关系 的图,用来显示系统中各个类的静态结构。UML类图是定义其他图的基 础,在UML类图基础上,可以使用状态图、协作图、组件图和配臵图等 进一步描述系统其他方面的特性。 UML类图包括七个元素:类(Class )、接口( In terface )、协作 (Col

20、laboration )、依赖关系(Dependency )、泛化关系 (Generalization )、关联关系 (Association ) 及实现关系 (Realizati on )。 指导教师批阅: 实验(四)对象图 实验时间:_ 实验目的 1. 掌握对象的概念,对象的三大特征,对象的表示方法; 2. 掌握类与对象的关系。 实验内容 1. 什么是对象,对象的三大特征是什么? 答:对象代表一个单独的,可确认的物体、单元或实体,它可以是具体的也 可以是抽象的,在问题领域里有确切定义的角色。换句话说,对象是边 界非常清楚的任何事物。对象的三大特征是状态(属性)、行为(方法、 事件)和标识(

21、名字)。 2. UML中对象的表示方法有哪些? 答:对象名和属性。 NewClass 3. 在下图中最上面的对象的名称是什么?该图表示的意思是什么?请绘 制出与其相应的类图。 China:Country fuJian:Province siChuan:Province 答:最上面的对象的名称是chin a:cou ntry。该图表示福建省和四川省都包 含在对象中国中。 相应的类图: 4. 说明对象图的适用场景以及它的优缺点。 答:对象图是同于论证模型的设计以及对源代码进行分析和说明,其优点是 可以直观的理解出系统运行时的实时状态。但是使用对象图不能完整地 描述系统的对象结构且比较复杂,工作量大

22、。 分析与讨论 1. 思考类与对象之间的关系是怎样的?各举几个实例,说明哪些是类,哪 些是对象。 答:类有3个分栏:名称、属性和操作;对象只有两个分栏:名称和属性。 类的名称分栏中只有类名;对象的名称形式为“对象名:类名”,匿名 对象的名称形式为“:类名”。 类的属性分栏定义了所有属性的特征;对象图中不包含操作,因为 对于属于同一个类的对象而言,其操作是相同的。 类使用关联连接,关联使用名称、角色、多重性以及约束等特征定 义。类代表的是对对象的分类,所以必须说明可以参与关联的对象的数 目;对象使用链连接,链拥有名称、角色,都是没有多重性。对象代表 的是单独的实体,所有的类都是一对一的,因此不涉

23、及到多重性。 例如: China:Country 尸 fuJian:Province siChuan:Province Country、Province 是类,而 china、fujian 禾口 sichuan 分另U是这 两个类中的对象 指导教师批阅: 实验(五)包图 实验时间:_ 实验目的 1. 掌握UML包的概念和作用。 2. 掌握包与包之间的各种依赖关系的区别。 3. 掌握建立包与包之间依赖关系的方法。 4. 掌握建立包图过程中需遵循的原则。 实验内容 1. 包属于UML中的何种事物?有何作用? 答:包是将多个元素组织为语义相关的组的通用机制。在实践中,一般使用 术语子系统来描述包。对

24、于复杂系统进行建模时,经常需要处理大量的 类、接口、组件、节点和图,这时就有必要将这些元素进行分类,即把 语义相近并倾向于同一变化的元素组织起来加入同一个包中,以方便理 解和处理整个模型。 2. UML中包的表示方法有哪几种? 答:包的绘制用一个小矩形和一个大矩形表示。 3. 包与包之间存在哪几种关系? 答:包与包之间存在两种关系: 1 )引入和访问依赖,用于在一个包中引入另一个包输出的元素; 2)泛化,用于说明包的家族。 4. 包与包之间的依赖关系有何特点? 答:包与包之间的依赖关系特点是单向传递和不可传递。 5. 如何避免包与包之间出现循环依赖关系?各举一例。 答:将产生依赖的类型分离出来

25、,放到另一个新的程序集中去,或使用接口 来接触循环依赖。 6. 建立包图应注意哪些问题? 答:1)包的命名要简单、具有描述性; 2)应用包是为了简化; 3)包应该连贯; 4)在包上用版型注明架构层; 5)避免包间的循环依赖 6)包依赖应该反映内部关系。 7. 根据下图判断下面哪句话正确的说明了包之间的依赖关系。 a) 对Packagel包中的元素做了修改后, 需检查Package2包中的元素 和Package3包中的元素是否要做相应修改。 b) 对Packagel包中的元素做了修改后, 需检查Package2包中的元素 是否需要做相应修改,如果是,则需继续检查是否Package3包中 元素也要

26、做相应修改。 c) 对Package3包中的元素做了修改后, 需检查Package2包中的元素 是否需要做相应修改,如果是,则需继续检查是否Packagel包中 元素也要做相应修改。 d) 对Package3包中的元素做了修改后, 需检查Package2包中的元素 和Packagel包中的元素是否要做相应修改。 答:c)证明了包之间的依赖关系。 8. 下面包图设计中是否存在问题?应如何改进。 7 7 A) 答:存在问题,出现了循环依赖关系, B图中循环不正确。修改后: B) A图中B不能即依赖C同时还依赖E, 中南民族大学管理学院学生实验报告 7 分析与讨论 1. 结合一个具体例子,分析 UM

27、L建模过程中包图所起的作用。 答:图书管理系统的包图: bussness object package 作用: 1)对语义上相关的元素进行分组; 2)定义模型中的“语义边界”; 3)提供配臵管理单元; 4)在设计时,提供并行工作的单元; 5)提供封装的命名空间,其中所有名称必须惟一。 指导教师批阅: 实验(六)动态模型图 实验时间: 实验目的 1. 掌握序列图(时序图)与协作图、状态图及活动图的概念及作用。 2. 掌握上述动态模型图的构成及画法。 实验内容 1.交互图中有哪几种消息?它们之间具体有何分别?应如何表示? 答:消息使用箭头表示,箭头的类型表示了消息的类型。 符号 名称 含义 T O

28、bject Message 两个对象之间的普通消息,消息在单个控制 线程中运行 Message to Self 对象的自身消息 Retur n Message 返回消息 T Procedure Call :两个对象之间的过程调用 Asyn chro nous Message 两个对象之间的异步消息,也就是说客户发 出消息后不管消息是否接收,继续别的事务 2. 假设有一系统得协作图局部如图所示,print方法的功能是将传入的参 数的值打印在屏幕上,fact方法是计算阶乘,如果test的初值为1, 那么最终将打印出什么?(写出计算过程) 1: prin t(test) f t 答:打印出28。 1: text=1+1=2 ; 2: text=2+2*1=4 ; 3: text=4*3*2*1=28。 3. 状态和对象的关系是怎样的?下面描述中哪些是对象,哪些是状态? 1) 支票已付 2) 汽车停在那儿 3) 小王正在工作 答:状态是对象做出的

温馨提示

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

评论

0/150

提交评论