共40页,第1页《面向对象与UML》实验指导书适用专业:软件工程编写者:面向对象与UML课程组2016年3月共40页,第2页一、基本目的面向对象与UML是以介绍面向对象的统一建模语言UML为主,使学生了解面向对象技术的相关概念,熟悉UML分析和设计的基本方法,同时掌握在RationalRose环境下使用UML建模语言进行软件模型分析和设计的相关技术。本课程的实验课程是UML程序设计教学的重要技能环节。通过实验,使学生加深理解、验证、巩固课堂教学内容,提高学生使用UML建模语言进行软件设计分析的能力,实验课程重点培养学生在Rationalrose环境下对UML4种视图以及9种图的使用。二、实验环境使用IBMRationalrose7.0集成开发环境。三、实验要求1.每人独立完成实验和实验报告。每个实验包括多个实验题目,要求每个实验在规定时间内设计完成所有实验题目,并按照要求提交实验报告。2.预习实验指导书有关部分,认真做好实验内容的准备,就实验可能出现的情况提前进行思考和分析。3.遵守机房纪律,服从辅导教师指挥,爱护实验设备。4.实验课程不迟到。如有事不能出席,需请假。四、实验内容表1实验内容及时间安排序号实验内容参考实验课时数计划开设周次实验1UML建模基础2实验2用例图2实验3类图4实验4状态图2实验5活动图2实验6时序图2实验7协作图2实验8组件图与配置图2实验9双向工程2共40页,第3页合计20五、实验报告每人针对每个实验提交一份实验报告。实验报告主要包括四方面内容:1.实验目的:该实验需要学生掌握的内容。2.实验题目:实验题目具体内容。3.实验结果:利用Rationalrose得到的建模结果。共40页,第4页实验一UML建模基础一、实验目的1.熟悉UML建模工具Rationalrose的可视化环境。2.掌握利用Rationalrose进行建模的步骤。二、实验内容1.熟悉Rationalrose建模环境(1)单击“开始—所有程序—IBMRational—RationalRoseEnterpriseEdition”,启动RationalRose建模环境,软件启动后产生如图1.1所示的建模模型窗口。图1.1Rationalrose启动提示界面(2)选项卡【new】用来选择新建模型时采用的模板。单机【Details】按钮可以查看选中模板的描述。【Existing】选项卡用于打开一个已经存在的模型。【Recent】选项卡可以打开一个最近打开的模型文件。如暂时不需要任何模板,只需要建立一个新的空白模型文件,单击【Cancel】按钮,显示Rationalrose主界面,如图1.2所示。图1.1Rationalrose主界面共40页,第5页(3)主界面包含五大部分:导航窗口、绘图窗口、工具栏、文档窗口和日志窗口。①导航窗口:用于在模型中迅速漫游。导航窗口类似于windows操作系统的资源管理器,它以树形结构显示了模型中的所有元素,包括参与者、用例、类、组件等。利用导航窗口可以:a)增加模型元素参与者、用例、类、组件、框图。b)浏览现有模型元素。c)浏览现有模型元素间的关系。d)移动模型元素。e)更名模型元素。f)将模型元素加进框图。g)将文件或UML链接到元素。h)将元素组成包。i)访问元素的详细规范。j)打开图形。导航窗口四个视图根结点。a)用例视图(UseCaseView):用于管理需求分析获取的所有用例、参与者和用例图。b)逻辑视图(LogicView):分析和设计完成的所有制品(如类图、对象图、顺序图、活动图、状态图等)放置在逻辑视图中。c)组件视图(ComponentView):逻辑视图中的类实现后成为软件的组件,可以放在组件视图中创建这些组件,并绘制组件图描述它们之间的依赖关系。d)部署视图(DeploymentView):系统最终要实现物理部署,在部署视图中创建物理系统中的节点和节点的连接,并描述软件组件在物理节点中的分布。②绘图窗口:当在导航窗口中选中某个图双击后,就会打开一个绘图窗口并显示该图,可以使用左边工具栏进行绘图。根据图型的不同,工具栏提供与之相应的图形符号。③工具栏:提供了所有UML中的图示符号,包括用例、参与者、类、关系、注释等等,按下任意一个图形元素,就可以在绘图窗口中绘制出来。④文档窗口:图形符号提供的信息经过了抽象和压缩,提供的信息量有限,每张图或每个图形元素的详细信息可以补充在文档窗口中。比如书写用例规约时,只要在绘图窗口中点击选中某个用例,然后在文档窗口中输入规约内容,系统就会自动保存文档内容,并与该用例关联起来。图1.3导航窗口共40页,第6页⑤日志窗口:使用Rose工具时,有些信息会在日志窗口中显示出来,比如在生成代码时可能发生的任何错误。2.建模基本步骤(1)启动Rationalrose软件,建立空白模型文件。(2)双击UseCaseView节点下的main,出现如图1.4所示,为绘制用例图做好准备。图1.4绘制用例图(3)添加参与者:在图1.4中的工具栏选取Actor图标,在右边的图中添加一个Actor,选中新添加的Actor,单击鼠标右键,出现如图1.5所示的快捷菜单,选择“OpenSpecification”项,打开该Actor的设置对话框,如图1.6所示。在name框中为该参与者命名为学生,单击【OK】按钮。图1.5Actor设置共40页,第7页图1.6Actor命名(4)添加用例:如图1.7在左边的用例工具栏选取用例图标,在右边的图中添加一个UseCase,选中新添加的“UseCase”,单击鼠标右键,选择“OpenSpecification”项,打开该UseCase的设置对话框,如图1.8所示。在name框中为该用例命名为“登陆系统”,在Documentation框中键入“登陆”的用例规格说明,单击【OK】按钮。从此以后只要选中“登陆系统”用例,则界面上的文档窗口就会显示其对应的用例规格说明。图1.7添加用例图1.8用例命名共40页,第8页(5)按照(4)反复操作,分别加入“成绩查询”、“退出系统”、“输入系统密码”、“找回系统密码”用例,如图1.9所示。图1.9用例添加(6)用例的实现:在绘出了参与者和用例后,接下来的是绘制参与者与用例实现,如图1.10所示。图1.10用例实现(7)绘制用例间的关系:根据需求分析可得出“找回系统密码”是“登陆系统”的扩展,用例“登陆系统”包含用例“输入密码”。如图1.11,利用工具栏依赖关系图标绘制相应关系。同时右键在OpenSpecification按钮(如图1.12),在相应对话框中设计依赖关系的类型,设置结果如图1.13所示。共40页,第9页图1.11用例间关系1.12类型设置1.13图形结果(8)保存模型:选择菜单栏【File-Save】或者标准工具栏的【Save】按钮,可以保存已建立好的系统模型,UML中模型文件扩展名为.mdl。3.结合日常生活中实际使用的系统,模仿2中的用例模型绘制用例图,并保存模型,熟悉利用Rationalrose的建模过程,要求绘制的用例图中用例与2中的用例图不相同。共40页,第10页实验二用例图一、实验目的1.熟悉UML用例图的基本图形元素。2.掌握用例与用例之间的各种关系。3.熟悉针对具体场景使用例图进行软件建模的方法。4.掌握用例规格说明的概念和基本结构,以及用例规格说明的作用。二、实验内容1.根据实验一建模实例,熟悉利用Raionalrose软件绘制用例图的基本方法。2.通过对“学生信息管理系统”的需求描述,确定系统用例图:“学生信息管理系统”的需求描述如下:在每个新学年开始都会有新生入学,这时系统的管理人员可以通过系统将这些新生的学籍、年龄、家庭住址、性别、身高、学生证号、身份证号等基本信息存入数据库,每个新生都对应一个唯一的编号,此编号可以是学生,在日程管理中,系统管理员还可以对所有学生的基本信息进行查询、修改和删除等操作;同时校领导可以查询、修改全校所有学生的基本信息。学校领导可以通过本系统了解每个班的任课教师、辅导员、学生姓名、学生人数、专业等班级基本信息。系统管理员可以进行查询班级基本信息、添加班级、修改班级基本信息、删除班级等操作。在考试结束以后,教师可以将学生的考试成绩录入系统,还可以对学生的成绩进行查询和修改。学生可以通过本系统进行成绩的查询。学生还可以在网上选择自己选修的课程(必修课必须上,所以不用选),学生通过本系统可以看到有哪些课程可以选以及课程的基本信息。课程的基本信息包括:课程号、所属专业、课程名称、开课学期、学时数、学分、任课教师等。每个学生每学期的选修课程数不得大于6门,如果已经选择了6门课程则不能再选择其他课程。只有将已选择的课程删除掉才能再选择新课程。系统管理员负责修改、增加、删除选修课程。系统管理员可以对系统的账号进行添加、设置、删除、查询等操作,同时可以设置每个账号的权限以及对应的个人信息。a)请根据上述描述,确定系统的参与者b)确定系统的用例并绘制完整的用例图。3.根据2中所绘制的“学生信息管理系统”用例图,写出学生“选择课程”用例的用例规格共40页,第11页说明。4.考虑一个网络订餐系统的需求,并绘制出完整的用例图。共40页,第12页实验三类图一、实验目的1.熟悉UML中类的定义和图形符号。2.掌握类与类之间的各种关系代表的含义及表示方法。3.掌握类图的绘制方法。4.了解对象图的绘制方法。二、实验内容1.按照如下操作要求,绘制图书管理系统各类图,掌握绘制类图的步骤:(1)新建模型文件,打开模型文件中的逻辑视图(LogicalView),用鼠标右击逻辑视图,在弹出来的菜单中选择“New→Classdiagram”项,创建“图书馆业务功能”类图,如图3.1所示。图3.1新建类图(2)双击新建的“图书馆业务功能”类图,并点右边控件集中选中的“Class”图标,并用鼠标在图中拖出一个类图,并命名为Book,如图3.2所示。图3.2新建类共40页,第13页(3)下一步为设置Book类的属性,在类图中双击Book类,可以在打开的“ClassSpecification”对话框中设置Book类的属性和方法等其他的信息;点击“Attributes”选项卡,此选项卡可以设置类的属性,在图中间单击右键,可以看到有一个“Insert”的选项,选中这个选项,然后在出现的对话框中输入相关信息,即书本的ISBN号属性,在“Type”方框内输入此属性的类型值,同时可以看到一栏可以设置此属性的访问权限,一般将属性设置为“private”。Book类的其他属性也可以按照以上的做法设置,具体操作过程如图3.3所示。图3.3类的属性设置(4)设置好Book类的属性,即可以设置Book类的方法(操作)。双击Book类后在“ClassSpecification”对话框中选“operations”选项卡,在图中的空白地方,单击右键,在弹出的菜单中选“insert”选项,输入方法名,同时可以设置该方法的返回类型以及可见性,并可以在Documentation的方框内填写一些相关的方法说明,具体设置方法见图3.4。共40页,第14页图3.4类的方法设置(5)完成上述操作即可完成类的设置,如图3.5所示。图3.5类2.根据以下描述画出类图,并注明多重性关系(省略类的属性和关系):一个学生可以选修多门课程,也可能没有任何课程;一门课程可以被多个学生选修;一个老师可以教多门课程或者不教课;每门课程至少有一个老师,也可以有多个老师任教;每共40页,第15页门课程可以有0或1本教材,每本教材只能用于一门课程。3.根据下面的代码画出Course类的类图,要求标明各属性的类型和可见性以及类方法。4.根据以下描述,画出相应的UML类图:(1)神舟六号飞船是神州飞船系列的一种,它由轨道舱、返回舱、推进舱和逃逸救生塔等组成。(2)航天员可以在返回舱内驾驶飞船,轨道舱是航天员工作和休息的场所。在紧急的情况下,颗粒利用逃逸救生塔逃生。(3)在飞船两侧有多个太阳能电池翼,可以为飞船提供电能。5.在下