实验一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主界面(3)主界面包含五大部分:导航窗口、绘图窗口、工具栏、文档窗口和日志窗口。①导航窗口:用于在模型中迅速漫游。导航窗口类似于windows操作系统的资源管理器,它以树形结构显示了模型中的所有元素,包括参与者、用例、类、组件等。利用导航窗口可以:a)增加模型元素参与者、用例、类、组件、框图。b)浏览现有模型元素。c)浏览现有模型元素间的关系。d)移动模型元素。e)更名模型元素。f)将模型元素加进框图。g)将文件或UML链接到元素。h)将元素组成包。i)访问元素的详细规范。j)打开图形。导航窗口四个视图根结点。a)用例视图(UseCaseView):用于管理需求分析获取的所有用例、参与者和用例图。b)逻辑视图(LogicView):分析和设计完成的所有制品(如类图、对象图、顺序图、活动图、状态图等)放置在逻辑视图中。图1.3导航窗口c)组件视图(ComponentView):逻辑视图中的类实现后成为软件的组件,可以放在组件视图中创建这些组件,并绘制组件图描述它们之间的依赖关系。d)部署视图(DeploymentView):系统最终要实现物理部署,在部署视图中创建物理系统中的节点和节点的连接,并描述软件组件在物理节点中的分布。②绘图窗口:当在导航窗口中选中某个图双击后,就会打开一个绘图窗口并显示该图,可以使用左边工具栏进行绘图。根据图型的不同,工具栏提供与之相应的图形符号。③工具栏:提供了所有UML中的图示符号,包括用例、参与者、类、关系、注释等等,按下任意一个图形元素,就可以在绘图窗口中绘制出来。④文档窗口:图形符号提供的信息经过了抽象和压缩,提供的信息量有限,每张图或每个图形元素的详细信息可以补充在文档窗口中。比如书写用例规约时,只要在绘图窗口中点击选中某个用例,然后在文档窗口中输入规约内容,系统就会自动保存文档内容,并与该用例关联起来。⑤日志窗口:使用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设置图1.6Actor命名(4)添加用例:如图1.7在左边的用例工具栏选取用例图标,在右边的图中添加一个UseCase,选中新添加的“UseCase”,单击鼠标右键,选择“OpenSpecification”项,打开该UseCase的设置对话框,如图1.8所示。在name框中为该用例命名为“登陆系统”,在Documentation框中键入“登陆”的用例规格说明,单击【OK】按钮。从此以后只要选中“登陆系统”用例,则界面上的文档窗口就会显示其对应的用例规格说明。图1.7添加用例图1.8用例命名(5)按照(4)反复操作,分别加入“成绩查询”、“退出系统”、“输入系统密码”、“找回系统密码”用例,如图1.9所示。图1.9用例添加(6)用例的实现:在绘出了参与者和用例后,接下来的是绘制参与者与用例实现,如图1.10所示。图1.10用例实现(7)绘制用例间的关系:根据需求分析可得出“找回系统密码”是“登陆系统”的扩展,用例“登陆系统”包含用例“输入密码”。如图1.11,利用工具栏依赖关系图标绘制相应关系。同时右键在OpenSpecification按钮(如图1.12),在相应对话框中设计依赖关系的类型,设置结果如图1.13所示。图1.11用例间关系1.12类型设置1.13图形结果(8)保存模型:选择菜单栏【File-Save】或者标准工具栏的【Save】按钮,可以保存已建立好的系统模型,UML中模型文件扩展名为.mdl。3.结合日常生活中实际使用的系统,模仿2中的用例模型绘制用例图,并保存模型,熟悉利用Rationalrose的建模过程,要求绘制的用例图中用例与2中的用例图不相同。实验二用例图一、实验目的1.熟悉UML用例图的基本图形元素。2.掌握用例与用例之间的各种关系。3.熟悉针对具体场景使用例图进行软件建模的方法。4.掌握用例规格说明的概念和基本结构,以及用例规格说明的作用。二、实验内容1.根据实验一建模实例,熟悉利用Raionalrose软件绘制用例图的基本方法。2.通过对“学生信息管理系统”的需求描述,确定系统用例图:“学生信息管理系统”的需求描述如下:在每个新学年开始都会有新生入学,这时系统的管理人员可以通过系统将这些新生的学籍、年龄、家庭住址、性别、身高、学生证号、身份证号等基本信息存入数据库,每个新生都对应一个唯一的编号,此编号可以是学生,在日程管理中,系统管理员还可以对所有学生的基本信息进行查询、修改和删除等操作;同时校领导可以查询、修改全校所有学生的基本信息。学校领导可以通过本系统了解每个班的任课教师、辅导员、学生姓名、学生人数、专业等班级基本信息。系统管理员可以进行查询班级基本信息、添加班级、修改班级基本信息、删除班级等操作。在考试结束以后,教师可以将学生的考试成绩录入系统,还可以对学生的成绩进行查询和修改。学生可以通过本系统进行成绩的查询。学生还可以在网上选择自己选修的课程(必修课必须上,所以不用选),学生通过本系统可以看到有哪些课程可以选以及课程的基本信息。课程的基本信息包括:课程号、所属专业、课程名称、开课学期、学时数、学分、任课教师等。每个学生每学期的选修课程数不得大于6门,如果已经选择了6门课程则不能再选择其他课程。只有将已选择的课程删除掉才能再选择新课程。系统管理员负责修改、增加、删除选修课程。系统管理员可以对系统的账号进行添加、设置、删除、查询等操作,同时可以设置每个账号的权限以及对应的个人信息。a)请根据上述描述,确定系统的参与者b)确定系统的用例并绘制完整的用例图。3.根据2中所绘制的“学生信息管理系统”用例图,写出学生“选择课程”用例的用例规格说明。“选择课程”用例规格说明用例编号:UC21用例名称:选择课程简要说明:用户选择课程并保存参与者:学生、教师、校领导、管理员前置条件:用户正确登录系统后置条件:成功完成选课并保存基本事件流1.用户向系统发送选课请求2.用户选择欲选课程3.系统核对用户身份条件4.选课成功并且自动保存扩展事件流:3a身份条件验证失败,显示选择所需条件并提示重新选择或者放弃选课3a1)用户重新选择课程,跳转到23a2)放弃选课,终止操作4.考虑一个网络订餐系统的需求,并绘制出完整的用例图。实验三类图一、实验目的1.熟悉UML中类的定义和图形符号。2.掌握类与类之间的各种关系代表的含义及表示方法。3.掌握类图的绘制方法。4.了解对象图的绘制方法。二、实验内容1.按照如下操作要求,绘制图书管理系统各类图,掌握绘制类图的步骤:(1)新建模型文件,打开模型文件中的逻辑视图(LogicalView),用鼠标右击逻辑视图,在弹出来的菜单中选择“New→Classdiagram”项,创建“图书馆业务功能”类图,如图3.1所示。图3.1新建类图(2)双击新建的“图书馆业务功能”类图,并点右边控件集中选中的“Class”图标,并用鼠标在图中拖出一个类图,并命名为Book,如图3.2所示。图3.2新建类(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。图3.4类的方法设置(5)完成上述操作即可完成类的设置,如图3.5所示。图3.5类2.根据以下描述画出类图,并注明多重性关系(省略类的属性和关系):一个学生可以选修多门课程,也可能没有任何课程;一门课程可以被多个学生选修;一个老师可以教多门课程或者不教课;每门课程至少有一个老师,也可以有多个老师任教;每门课程可以有0或1本教材,每本教材只能用于一门课程。3.根据下面的代码画出Course类的类图,要求标明各属性的类型和可见性以及类方法。classCourse{private:stringcourseName;stringteacher;stringstudent[100];constintcourseNum;staticdoublecourseAverScore;public:Course();voidSetCourseTeacher(stringteacher);doubleCaculateScore(intstudentNum=1);};doubleCourse::courseAverScore=0.0;4.根据以下描述,画出相应的UML类图:(1)神舟六号飞船是神州飞船系列的一种,它由轨道舱、返回舱、推进舱和逃逸救生塔等组成。(2)航天员可以在返回舱内驾驶飞船,轨道舱是航天员工作和休息的场所。在紧急的情况下,颗粒利用逃逸救生塔逃生。(3)在飞船两侧有多个太阳能电池翼,可以为飞船提供电能。5.在下图中最上面的对象的名称是什么?该图表示的意思是什么?fuJian:ProvinceChina:CountrysiChuan:Province图3.6对象图6.针对实验二中的“学生信息管理系统”绘制类图,要求注明类间的关系以及每个类应有的属性和方法(省略属性的类型以及方法的返回值、参数)。实验四状态图一、实验目的1.掌握状态的定义和组成部分。2.掌握UML中状态的表示方法。3.掌握转换的定义及转换的5要素。4.解触发事件、监护条件、动作的定义。5.掌握阅读和绘制状态图的方法。二、实验内容1.阅读计算机线程的状态图,完成下列问题。图1状态图(1)该图中线程有几种状态?分别是什么?初态、就绪、运行、阻塞、终态(2)请使用文字描述线程的基本运行过程。线程开始进入就绪态,当获得cpu时间片进入运行态,如果运行结束进入终态,但是如果