Get格雅uml实验报告19讲解.docx
《Get格雅uml实验报告19讲解.docx》由会员分享,可在线阅读,更多相关《Get格雅uml实验报告19讲解.docx(61页珍藏版)》请在冰豆网上搜索。
Get格雅uml实验报告19讲解
uml实验报告1-9讲解
实验一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)
图1.3导航窗口
翻开图形。
导航窗口四个视图根结点。
a)用例视图(UseCaseView):
用于管理需求分析获取的所有用例、参与者和用例图。
b)逻辑视图(LogicView):
分析和设计完成的所有制品(如类图、对象图、顺序图、活动图、状态图等)放置在逻辑视图中。
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〞
(4)项,翻开该Actor的设置对话框,如图1.6所示。
在name框中为该参与者命名为学生,单击【OK】按钮。
图1.5Actor设置
图1.6Actor命名
(5)添加用例:
如图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
用例名称:
选择课程
简要说明:
用户选择课程并保存
参与者:
学生、教师、校领导、管理员
前置条件:
用户正确登录系统
后置条件:
成功完成选课并保存
根本领件流
2.用户选择欲选课程
3.系统核对用户身份条件
4.选课成功并且自动保存
扩展事件流:
3a身份条件验证失败,显示选择所需条件并提示重新选择或者放弃选课
3a1〕用户重新选择课程,跳转到2
3a2〕放弃选课,终止操作
4.考虑一个网络订餐系统的需求,并绘制出完整的用例图。
实验三类图
一、实验目的
1.熟悉UML中类的定义和图形符号。
2.掌握类与类之间的各种关系代表的含义及表示方法。
3.掌握类图的绘制方法。
4.了解对象图的绘制方法。
二、实验内容
1.按照如下操作要求,绘制图书管理系统各类图,掌握绘制类图的步骤:
(1)新建模型文件,翻开模型文件中的逻辑视图(LogicalView),用鼠标右击逻辑视图,在弹出来的菜单中选择“New→Classdiagram〞项,创立“图书馆业务功能〞类图,如下图。
图3.1新建类图
(2)双击新建的“图书馆业务功能〞类图,并点右边控件集中选中的“Class〞图标,并用鼠标在图中拖出一个类图,并命名为Book,如下图。
图3.2新建类
(3)下一步为设置Book类的属性,在类图中双击Book类,可以在翻开的“ClassSpecification〞对话框中设置Book类的属性和方法等其他的信息;点击“Attributes〞选项卡,此选项卡可以设置类的属性,在图中间单击右键,可以看到有一个“Insert〞的选项,选中这个选项,然后在出现的对话框中输入相关信息,即书本的ISBN号属性,在“Type〞方框内输入此属性的类型值,同时可以看到一栏可以设置此属性的访问权限,一般将属性设置为“private〞。
Book类的其他属性也可以按照以上的做法设置,具体操作过程如下图。
图3.3类的属性设置
(4)设置好Book类的属性,即可以设置Book类的方法(操作)。
双击Book类后在“ClassSpecification〞对话框中选“operations〞选项卡,在图中的空白地方,单击右键,在弹出的菜单中选“insert〞选项,输入方法名,同时可以设置该方法的返回类型以及可见性,并可以在Documentation的方框内填写一些相关的方法说明,具体设置方法见图。
图3.4类的方法设置
(5)完成上述操作即可完成类的设置,如下图。
图3.5类
2.根据以下描述画出类图,并注明多重性关系(省略类的属性和关系):
•一个学生可以选修多门课程,也可能没有任何课程;一门课程可以被多个学生选修;一个老师可以教多门课程或者不教课;每门课程至少有一个老师,也可以有多个老师任教;每门课程可以有0或1本教材,每本教材只能用于一门课程。
3.
classCourse
{
private:
stringcourseName;
stringteacher;
stringstudent[100];
constintcourseNum;
staticdoublecourseAverScore;
public:
Course();
voidSetCourseTeacher(stringteacher);
doubleCaculateScore(intstudentNum=1);
};
doubleCourse:
:
courseAverScore=0.0;
根据下面的代码画出Course类的类图,要求标明各属性的类型和可见性以及类方法。
4.根据以下描述,画出相应的UML类图:
(1)神舟六号飞船是神州飞船系列的一种,它由轨道舱、返回舱、推进舱和逃逸救生塔等组成。
(2)航天员可以在返回舱内驾驶飞船,轨道舱是航天员工作和休息的场所。
在紧急的情况下,颗粒利用逃逸救生塔逃生。
(3)在飞船两侧有多个太阳能电池翼,可以为飞船提供电能。
5.在以下图中最上面的对象的名称是什么?
该图表示的意思是什么?
图3.6对象图
6.针对实验二中的“学生信息管理系统〞绘制类图,要求注明类间的关系以及每个类应有的属性和方法(省略属性的类型以及方法的返回值、参数)。
实验四状态图
一、实验目的
1.掌握状态的定义和组成局部。
2.掌握UML中状态的表示方法。
3.掌握转换的定义及转换的5要素。
4.解触发事件、监护条件、动作的定义。
5.掌握阅读和绘制状态图的方法。
二、实验内容
1.阅读计算机线程的状态图,完成以下问题。
图1状态图
(1)该图中线程有几种状态?
分别是什么?
初态、就绪、运行、阻塞、终态
(2)请使用文字描述线程的根本运行过程。
线程开始进入就绪态,当获得cpu时间片进入运行态,如果运行结束进入终态,但是如果时间片用完就回到就绪态,运行期间如果不满足所需资源进入阻塞态,处于阻塞态的如果资源满足又会重新进入就绪态。
2.根据问题描述,完成电梯状态图绘制。
电梯开始处于空闲状态(idle),当有人按下按钮要求使用电梯时(事件isrequired发生),电梯进入运行状态(run)。
如果电梯的当前楼层比想要的楼层高时(监护条件[currentFloor>desiredFloor]成立),电梯进入下降状态(movingdown);反之,如果电梯的当前楼层比想要的楼层低时(监护条件[currentFloor在电梯上升或下降期间,每经过一个楼层就判断监护条件(currentFloor=desiredFloor)是否成立,假设不成立,继续移动,假设成立,就进入停止状态(stop),15秒后,电梯门自动翻开(dooropen),2分钟后,电梯门自动关上(doorclose),如果有更多的电梯使用请求,进入运行状态(run),反之,那么进入空闲状态(idle)。
3.根据问题描述,完成状态图绘制。
当开机时,它处于空闲状态(idle)(callsomeone)时,进入拨号状态(dialing)(connected),就处于通话状态(working);如果呼叫不成功(can’tconnect),例如对方线路有问题,关机、拒绝接听。
这时停止呼叫,重新进入空闲状态,进入空闲状态下被呼叫(becalled),进入响铃状态(ringing)(pick),处于通话状态,当进入通话状态时自动进行计时,通话结束自动停止计时,通话过程中可以实时显示通话时间;如果用户未做出任何反响(haven’tacts),可能他没有听见铃声,一直处于响铃状态,如果用户拒绝来电(refused),回到空闲状态(idle)。
实验五活动图
一、实验目的
1.掌握活动的概念以及表示方法。
2.掌握活动图中个元素表示的意义和表示方法。
3.掌握分支、监护条件、分岔、集合和泳道的概念。
4.掌握阅读和绘制活动图的方法。
二、实验内容
1.依据以下要求绘制活动图:
绘制“删除读者信息〞用例的活动图(原始用例图自行绘制)。
删除读者信息一般按照以下步骤进行:
(1)管理员在录入界面,输入待删除的读者名;
(2)“业务逻辑〞组件在数据库中查找待删除的读者名;
(3)如果不存在,那么显示出错信息,返回步骤
(1),如果存在那么继续;
(4)“业务逻辑〞组件判断“待删除的读者〞是否可以删除;
(5)如果不可以,那么显示出错信息,返回步骤(8),如果可以那么继续;
(6)在数据库中,删除相关信息;
(7)显示删除成功信息;
(8)结束。
(1)在用例图中,找到“删除读者信息〞的用例,如图1所示,在“删除读者信息〞用例上单击右键,在弹出的快捷菜单中选“New〞,Rose工具也会弹出一个菜单,选〞ActivityDiagram〞,选中后单击,便可以新建好一个活动图。
图1用例图
(2)新建好活动图后,双击“删除读者信息〞的活动图,得到如图2所示,然后在左边的工具栏内点击“Swimlane〞,在右边的图添加一个泳道,如图3所示,并命名为administrator.按照此步骤,再添加另一个泳道,并命名为SystemTool,得到图4。
图2图3图4
(3)在左边的工具上选取“StartState〞,并在administrator的泳道上添加,如图5所示;添加完开始结点后,再来为此活动图添加活动,图6所示,在左边的工具栏上选中“Activity〞这个图标,在administrator这边的泳道上添加一个活动,命名为登录(login),再在开始结点和活动登录(login)之间添加活动关系,如图7所示。
图5图6图7
(4)完成步骤(3)后,登录输入需要对输入的信息进行验证,那么在图中利用“Decision〞图标添加一个验证框,如图8所示:
添加验证框后,验证的内容,如果通过,那么允许管理员进行查询操作,如图9所示;如不能通过,那么结束,如图10所示。
图8图9图10
(5)验证后,下一步的操作是查询需要删除的记录,添加一个活动,命名为delete,如图11和图12所示。
图11图12
(6)最后,在删除后,系统会返回操作结果给操作者,图13所示;删除成功或删除失败系统都会有信息返回给操作者。
图13
(7)根据分析设计情况,进一步添加或细化活动图。
2.以下图中表示某公司的销售过程活动图,请用文字详细说明。
图14
【活动图说明】
(1)收到订单:
收到客户的订单。
(2)分叉:
同时进行准备货物〔3〕和开具发票〔6〕
(3)准备货物:
准备货物。
(4)分支:
判断是否是加急件,是的话发EMS跳到步骤〔8〕
(5)普通包裹:
发普通包裹。
(6)开具发票:
开具发票。
(7)收款:
根据订单收款。
(8)集合节点:
如果收款和发送都完成,进行下一步。
(9)关闭订单:
关闭订单,交易完成
(10)结束
3.用活动图表示for(i=0;i<9;i++)循环。
4.按照如下远程网络教学系统绘制活动图:
对于“远程网络教学系统〞学生登录后可以下载课件。
在登录时系统需要验证用户的登录信息如果验证通过系统会显示所有可选效劳。
如果验证失败那么登录失败。
当用户看到系统显示的所有可选效劳后可以选择下载效劳然后下载需要的课件。
下载完成后用户退出系统那么会注销相应的用户信息。
5.试画出ATM自动取款机“取款〞用例的活动图。
其事件流文档如下:
(1)用户选择取款;
(2)系统要求输入取款金额;
(3)用户输入取款金额;
(4)系统验证取款金额;
(4a)余额缺乏;
(4a1)系统显示余额缺乏;
(4a2)用例终止;
(5)系统询问是否打印凭条;
(6)用户选择不打印凭条;
(7)系统显示取款成功;
(8)结束。
实验六顺序图
一、实验目的
1.了解顺序图的概念。
2.掌握顺序图中个元素表示的意义和表示方法。
3.掌握顺序图建模的流程。
二、实验内容
1.按照如下步骤绘制顺序图:
(1)在“LogicalView〞中新建“SequenceDiagram“,双击图标,出现图6.1,为编辑顺序图做好准备。
(2)在顺序图编辑窗口中,从工具栏中选择Object图标,在右边的绘图区中添加一个新元素,并取名Customer说明新增一个对象,如图6.2所示。
(3)同样的方法,添加ATM对象和Account对象,如图6.3所示。
(4)根据ATM取款的场景,获得第一条消息为“客户向ATM机提交取款需求〞,向图中添加消息,如图6.4所示。
(5)同样的方法添加其它消息,如图6.5所示。
结果:
2.用文字说明以下书序图的含义:
(1)Borrower向ReserveWindow提交预定图书申请;
(2)ReserveWindow收到预定图书命令,向book对象发出查找图书命令;
(3)Book对象收到查找图书消息,根据消息进行查找,返回图书信息给ReserveWindow
(4)ReserveWindow确认图书信息后,向reserve发送添加预定图书消息;
(5)Reserve收到预定图书消息,处理后返回是否预定成功消息给ReserveWindow
(6)ReserveWindow收到消息发送显示是否预定成功消息给borrower
3.对如下交互序列用序列图进行描述:
(1)李老师希望通过系统查询到某名学生的学科成绩信息;
(2)李老师通过用户界面录入学生的学号;
(3)用户界面根据学生的学号向数据库访问层请求学生信息;
(4)数据库访问层根据学生的学号加载学生信息;
(5)数据库访问层根据学生信息和学科科目获取该名学生的分数信息;
(6)数据库访问层将学生信息和分数信息提供应用户界面;
(7)用户界面将学生信息和分数信息显示出来;
4.对上述题目中的如下备选过程采用顺序图进行描述:
(1)该名学生没有学科成绩:
数据库访问层返回学科成绩为空,系统提示李老师没有该学生的成绩;
(2)系统没有该学生的信息:
数据库访问层返回学生信息为空,系统提示李老师学生不存在。
5.用户打印文件,计算机向打印机发送打印命令,如果打印机空闲,那么直接打印文件,否那么将打印文件存储到打印队列之中。
绘制上述过程的顺序图。
实验七协作图
一、实验目的
1.了解协作图的概念。
2.掌握协作图中个元素表示的意义和表示方法。
3.掌握协作图建模的流程。
二、实验内容
1.根据实验六中题目5所绘制的顺序图生成协作图。
〔F5或者工具栏Browse->CreateCollaborationDiagram〕
2.根据实验六中题目3的描述绘制协作图。
3.根据以下交互过程描述,绘制协作图。
(1)学生通过界面发送选课命令。
(2)界面向控制对象请求课程信息。
(3)控制对象向数据库发送查询数据消息。
(4)控制对象暂存数据库的查询结果。
(5)界面对象从控制对象中取得所有的课程信息。
(6)在界面上显示所有的课程信息。
(7)界面对象发送命令要求控制对象删除课程信息。
(8)学生选择课程。
(9)界面对象要求学生输入学号。
(10)界面对象向控制对象发送信息,查询该生是否可以选择选定的课程。
(11)控制对象从数据库中查询关联信息。
(12)控制对象判断是否可以选课。
(13)如果可以选课,那么向数据库中添加关联信息。
(14)向界面对象返回信息。
4.绘制网络订餐系统中订餐用例交互过程的协作图。
实验八组件图与配置图
一、实验目的
1.了解组件的概念以及引入组件的原因。
2.掌握组件的要素,组件和类的比拟。
3.掌握UML中组件图配置图的图形元素。
4.掌握阅读和绘制组件图和配置图的方法。
5.了解组件图和配置图的应用。
二、实验内容
1.根据要求绘制组件图。
分析:
在LSTC的图书馆管理系统中,通过分析可以发现类图中的类应分为4个局部:
(1)用户接口模块〔UI〕,主要负责系统和用户的交互,包括Frame类,Dialog类等。
(2)业务对象模块〔BO〕,主要负责处理系统中的业务计算,如借书,还书等功能的具体操作。
(3)数据存