1、可视化建模与UML实验15指导教案要点资料可视化建模与UML实验指导井大电信学院2015.03实验一 常用建模软件的使用【实验目的】1.熟悉常用UML建模工具。2.熟练掌握Rational Rose的基本操作3.掌握UML规则和相关机制。4.掌握UML的可见性规则和构造型的作用。【实验性质】验证性实验【实验环境要求】Pentium II以上微机,Windows2000以上操作系统,Rational Rose2003,Microsoft Visio,网络。【实验内容和步骤】一、 安装Rational Rose2003或其它任意一种UML建模工具。本项内容实验者根据情况选择并在实验课外完成。二、练
2、习使用建模工具建立各种UML图形,并对图形进行相应编辑和修改。认识各种UML关系及可见性符号,并用工具表示出来。【分析与讨论】1.总结UML在软件工程中的作用以及使用UML建模的必要性。2.比较不同建模工具。【实验导读】关于Rational Rose2003的安装。Rational Rose的安装比较麻烦,通过安装Rational Rose2003,并在安装过程中,发现一些问题,解决和理解它。Rational Rose的建模环境:Rose是个菜单驱动应用程序,用工具栏帮助使用常用特性。Rose支持九种不同类型的UML图:User Case图,CLASS图,Activity图,Sequence图
3、,Collaboration图,Class图,Statechart图.Component图和Deployment图。Rose界面的五大部分是浏览器.文档窗口.工具栏.框图窗口和日志,如图1-1所示。浏览器:用于在模型中迅速漫游;文档窗口:用于查看或更新模型元素的文档;工具栏:用于迅速访问常用命令;框图窗口: 用于显示和编辑一个或多个UML框图;日志: 用于查看错误消息和报告各个命令的结果。 若要了解更详细的知识,请看教材。Rose模型的四个视图Rose模型的四个视图是:Use Case视图.Logical视图.Component视图和Deployment视图。各个视图的具体功能请参见教材。图1
4、-1 Rational Rose界面实验二 需求定义与陈述【实验目的】1.了解软件工程的开发过程2.掌握需求和需求分析的概念3.掌握需求分析的过程和常用方法4.掌握需求分析的要点和误区5.学习如何做需求陈述【实验性质】探索型实验【实验环境要求】Pentium II以上微机,Windows2000以上操作系统, Microsoft Visio, Microsoft office2003以上,网络。【实验内容和步骤】1.软件工程的开发过程分为哪几部分?2.什么是需求?需求包括哪几个方面?3.什么是需求分析?需求分析有何重要意义?需求分析可以分为哪几个步骤?4.进行需求分析的时候要注意哪些要点和误区
5、?5. 在对现行系统的业务流程建模的基础上,确定目标系统的需求,并按照分层的逻辑陈述。【分析与讨论】各小组协作讨论修改选定系统的需求陈述。实验三 用例建模【实验目的】1.掌握用例与场景的概念。2.掌握UML用例图的组成.作用以及使用场合。3.掌握用例与用例之间的各种关系。4.学习针对具体场景使用用例图进行分析说明的方法。5.掌握用例描述的概念和基本结构,以及用例描述的作用。【实验性质】设计型实验【实验环境要求】Pentium II以上微机,Windows2000以上操作系统, Rational Rose, Microsoft Visio, Microsoft office2003以上,网络。【
6、实验内容和步骤】一.想一想1.为了满足物业中介行业的信息化要求,甲公司基于详尽的需求调研与分析,准备研发一套符合市场需要的、实用的信息管理系统。主要将实现客户资料信息管理、客户委托(出租、出售、租赁、购买)信息管理、业务线索生成与管理、房源状态自动更新、权限管理、到期用户管理、房源组合查询等功能。该公司小王,通过多次的与潜在客户的交流与沟通,完成了最初的用例模型的开发,下图是一个用例模型的局部:图3-1 物业管理信息系统用例图小李认为该模型不符合“用例建模”的思想,存在明显的错误。用200字以内说明错误所在,并说明应该如何修改。2. 图3-2是一个描述保险商务系统的简单用例图。根据该用例图回答
7、问题。a) “签订保险单”用例可能涉及到哪几个实体类? b) 现实生活中签订保单的基本流程如下:客户提出购买需求,保险员根据客户需求选择相应的保险服务,客户阅读保险条款,同意后打印保单样据,客户签字并支付保金,保单开始生效,保险员做相关系统纪录。如需要根据以上信息,请列举这个用例描述中可能存在扩展事件流。 c) 保单管理用例在实际开发过程中可以泛化出若干小用例,列出可能存在的子用例,并且说明这些用例和“保单管理”用例之间关系。图3-2 保险商务系统用例分析图二.练一练3.在一个TelephoneSystem(电话系统)中,用户可以使用电话卡或对方付款两种办法来打电话。1)请画出表示该场景的用例
8、图。2)在前图的基础上,继续画出可能存在的包含用例和扩展用例。4.为目标系统建立用例模型。【分析与讨论】1.总结用例图的重要作用,讨论并指出哪些场合下可以使用用例图。2.讨论用例分析技术和结构化分析之间的关系和区别。3.在使用用例图的时候应该如何划分用例,应注意哪些问题?4.用例图能表达的信息依然是有限的,如何对每个用例做简单描述?【扩展导读】用例图和用例描述共同构成用例模型,以下是有关用例描述的材料阅读,通过阅读学会为选定系统做用例描述。用例的描述格式(参考模板)描述项说明用例名称表明用户的意图或用例的用途,如“预订图书”标识符可选惟一标识符,如“UC1701”,在文档其他地方可用标识符来引
9、用这个用例用例描述概述用例的几句话参与者与此用例相关的参与者列表优先级一个有序的排列,1代表优先级最高状态可选用例的状态,通常为以下几种之一:进行中.等待审查.通过审查或未通过审查前置条件访问用例前必须满足的条件列表后置条件用例完成以后得到满足的条件列表基本操作流程描述用例中各项工作都正常进行时用例的工作方式可选操作流程描述变更工作方式.出现异常或发生错误的情况下所遵循的路径被泛化的用例此用例所泛化的用例列表被包含的用例此用例所包含的用例列表被扩展的用例此用例所扩展的用例列表修改历史记录可选关于用例的修改时间.修改原因和修改人的详细信息问题可选与此用例的开发相关的问题列表决策可选关键决策的列表
10、,将这些决策记录下来以便维护时使用频率可选参与者访问此用例的频率,如用户是每日访问一次还是每月访问一次如:用例“添加图书”的描述用例名称添加图书标识符UC0001 用例描述图书管理员在收到新采购的图书后对之进行入库。参与者图书管理员优先级1状态通过审查前置条件图书管理员登录进入系统后置条件在库图书数目增加基本操作流程1 图书管理员录入图书书目;2 系统检查图书书目是否已存在;3 系统为这本图书生成唯一书号(条形码);4 系统添加新的图书书号。可选操作流程系统检查图书书目不存在,系统添加新的图书书目;被泛化的用例无被包含的用例无被扩展的用例无修改历史记录张三,定义基本操作流程,2009年3月20
11、日张三,定义可选操作流程,2009年3月20日实验四 类图和对象图建模【实验目的】1.掌握类的定义,类的3要素,UML中类的表示方法。2.掌握类与类之间的各种关系代表的含义及表示方法。3.实体类,边界类,控制类,关联类的概念和表示方法。4.了解对象图。5.学会对一个系统建立类和对象图并进行相关的描述。6.掌握类和包图的关系并学会用包来对类分组。【实验性质】设计型实验【实验环境要求】Pentium II以上微机,Windows2000以上操作系统, Rational Rose, Microsoft Visio, Microsoft office2003以上,网络。【实验内容和步骤】一、想一想:1
12、.简述类的属性和方法的可见性有哪些?UML中如何表示?2.分析类模型和设计类模型的区别和联系?二、练一练:3.已知三个类A.B和C.其中类A由类B的一个实类和类C的1个或多个实类构成.请画出能够正确表示类A,B和C之间关系的UML类图.4.根据以下描述画出类图,并注明多重性关系:一个学生可以选修多门课程,也可能没有任何课程;一门课程可以被多个学生选修;一个老师可以教多门课程或者不教课;每门课程至少有一个老师,也可以有多个老师任教;每门课程可以有0或1本教材,每本教材只能用于一门课程。5.现有一系统需要对商品进行管理,包括添加,删除商品,修改商品信息三项功能,画出系统类图。(商品信息包括商品编号
13、,商品名称,价格,生产厂商等)1)如果现在系统需求发生变化,需要能够对损坏商品进行打折,以及可以按照商品的颜色和外形进行查询,则系统类图应该如何修改?2)根据下面的代码画出Invoice类的类图,要求标明各属性的类型和可见性以及类方法。public class Invoicepublic double amount;public Date date = new Date();public string customer;public string specification;public string administrator = “unspecified”;static private i
14、nt number_of_invoices()=0;public invoice(); number_of_invoices+;public void print() System.out.println(The number of invoices is”+ int number_of_invoices);6.下图4-1是一个仓库管理系统的类模型局部,其中IncomeOrder是指入库单,OrderItem是指入库中的每一项,Product则是产品信息。请指出模型中的错误,说明原因并改正类图。图4-1 仓库管理系统的局部类模型【分析与讨论】 1.讨论类图在建模过程中的重要作用。2.总结在设计
15、绘制类图的过程中应注意哪些问题。3.在下图4-2中最上面的对象的名称是什么?该图表示的意思是什么?请绘制出与其相应的类图。图4-2 示例图4说明对象图的适用场景以及它的优缺点【实验导读】1注意:在逻辑视图中创建类,创建的类须指定相应的类的版型,即是边界类.实体类或控制类;类的取名一定要简洁.明了,当类的名字由多个单词构成时,可以由每个单词的首字母构成类名。2在分析类模型中要定义类的职责,那么,如何定义类的职责?例:已定义的类PersonalPlannerForm有三个职责:/maintain profile/prompt to create new profile/submit profile
16、 information具体操作步骤:1)双击PersonalPlannerForm类,打开Specification窗口;2)选择Operation标签,在空白窗口中,鼠标右键点击,选择Insert,输入该类的第一个职责,得到图4-3;3)重复步骤2,为该类添加完所有的操作;4)重复13直到所有类的操作均添加完毕。图4-3 输入类的属性3.如何创建包,并将类组成包?创建包的具体操作:A.右键单击浏览器中的Logical 视图;B.选择New/Package;C.新包取名如Entities;D.重复前述步骤AD,创建Boundaries 和 Control包。在大学生对DIY手工艺品价位调查中
17、,发现有46% 的女生认为在十元以下的价位是可以接受;48% 的认为在10-15元;6% 的则认为50-100元能接受。如图1-2所示将类组成包PS:消费者分析A.在浏览器中,将边界类如PersonalPlannerForm类拖动到Boundaries包;2003年,上海市人均GDP按户籍人口计算就达到46700元,是1995年的2.5倍;居民家庭人均月可支配收入为14867元,是1995年的2.1倍。收入不断增加的同时,居民的消费支出也在增加。2003年上海居民人均消费支出为11040元,其中服务性消费支出为3369元,是1995年的3.6倍。B.重复上述步骤,把已定义的实体类和控制类分别拖
18、入所属包。新材料手工艺品。目前,国际上传统的金银、仿金银制成饰品的销售在逐步下降,与此形成鲜明对比的是,数年以前兴起的崇尚然风格、追求个性的自制饰品-即根据自己的创意将各种材质的饰珠,用皮、布、金属等线材串出的品,正在各国的女性中大行其道。(一)对“漂亮女生”饰品店的分析4 WWW。google。com。cn。 大学生政策 2004年3月23日朋友推荐 宣传广告 逛街时发现的 上网(2) 文化优势民族性手工艺品。在饰品店里,墙上挂满了各式各样的小饰品,有最普通的玉制项链、珍珠手链,也有特别一点如景泰蓝的手机挂坠、中国结的耳坠,甚至还有具有浓郁的异域风情的藏族饰品。300元以下 300400元
19、400500 500元以上实验五 UML静态模型分析(含包图)【实验目的】1.完善系统静态模型,在分析类中增加属性和操作。2.进一步掌握类和包图的关系并学会用包来对类分组。【实验性质】设计型实验【实验环境要求】Pentium II以上微机,Windows2000以上操作系统, Rational Rose, Microsoft Visio, Microsoft office2003以上,网络。【实验内容和步骤】1.根据下图判断下面哪句话正确的说明了包之间的依赖关系。A) 对Package1包中的元素做了修改后,需检查Package2包中的元素和Package3包中的元素是否要做相应修改。B) 对
20、Package1包中的元素做了修改后,需检查Package2包中的元素是否需要做相应修改,如果是,则需继续检查是否Package3包中元素也要做相应修改。C) 对Package3包中的元素做了修改后,需检查Package2包中的元素是否需要做相应修改,如果是,则需继续检查是否Package1包中元素是否也要做相应修改。D) 对Package3包中的元素做了修改后,需检查Package2包中的元素和Package1包中的元素是否要做相应修改。2.下面包图设计中是否存在问题?应如何改进。 A) B)【实验导读】任务1:创建一个新的Rational Rose模型。任务2:设置选择Tools/Opti
21、onsDiagram标签选择 Show Stereotypes 复选框选择 Show All Attributes 和 Show All Operations 复选框取消Suppress Attributes 和 Suppress Operations 复选框。任务3:创建包右键单击浏览器中的Logical 视图选择New/Package新包取名如“Entities”重复前面步骤,创建Boundaries 和 Control包。任务4:创建Main Class框图双击浏览器中Logical视图内的Main Class 框图将Entities包从浏览器中拖到框图上将Boundaries 和 Co
22、ntrol 包从浏览器中拖到框图上。任务5:创建class 图,“Add Item to Shopping Cart”使用案例中所有类的Class框图Logical视图New/Class Diagram取名如“Add Item to Shopping Cart”双击打开“Add Item to Shopping Cart” Class图选择类工具栏按钮,并将每个类加到类图中。任务6:将版型加进类中右键单击类图中的一个类选择Open Specification在版型(Stereotype)字段中选择或输入BoundaryOK右键单击框图中的CartMgr类重复前面步骤,可将所有类指定版型分别为C
23、ontrol、Entity版型。任务7:将类组成包在浏览器中,将所有版型为Boundary的类拖动到Boundaries包;将所有版型为Control的类拖动到 Control 包;将实体类均拖动到Entities包。任务8:将Class图加进每个包在浏览器中,右键单击Boundaries(Control,Entities)包New/Class Diagram取名如Main双击打开新类图将边界类(控制类、实体类)从浏览器拖到框图中关闭类图下面的实验是要求掌握如何寻找类属性和操作,再增加类属性和操作的细节,接着要在Class框图中显示属性和操作。最后要求在Interaction框图中将操作映射到
24、消息。属性属性是与类相关联的信息。例如Company类可能有属性Name、Address和Number of Employees。Rose中可以对模型中的每个类加进一个或几个属性。寻找属性属性的来源有许多。首先可以查阅使用案例文档,寻找事件流中的名词。有些名词是对象或类;有些是角色;有些则是属性。例如,从下列事件流:“The user enters the employees name, address, social security number, and phone number”可以看出,Employee类有属性Name、Address、SSN、Phone。另一个来源是查看需求文档。需
25、求中可能会介绍系统要收集哪些信息。收集的信息就是类的属性。最后,可以检查数据库结构。增加属性每个属性有三条主要信息:属性名、数据类型和初始值。增加属性的方法有三种,可以直接将属性加进Class框图,用浏览器增加属性或用类规范窗口增加属性。删除属性Rose中删除属性的最简单方法是通过浏览器,但也可以用Class框图删除。任务9:设置1复选Show Visibility框、Show Stereotypes框、Show Operation Signatures框、Show All Attributes和Show All Operations框;2确保Suppress Attributes和Suppr
26、ess Operations框没有被选中;3选择Notations标签,确保取消Visibility as Icons框;任务10:增加操作1在浏览器中找到Add Item to Shopping Cart类框图。2对CartInterface类,增加新操作:AddItem(ItemNo: Long): Boollean3重复第2步,将下列操作加进相应类中: 在CartMgr中增加AddItem(ItemNo: Long): Boollean 在ProductMgr中增加GetProduct(ItemNo: Long): Product 在CartCollection中增加AddItem(NewItem: Product): Boolean在ProductCollection(FindProduct)中增加FindProduct(ItemNo: Long): Product任务11:增加属性对Product类输入新属性:productID: Long、productDescription: string、productUnitPrice: Double。任务12:保存结果
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1