uml实验报告19讲解.docx
- 文档编号:9907006
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:61
- 大小:3.77MB
uml实验报告19讲解.docx
《uml实验报告19讲解.docx》由会员分享,可在线阅读,更多相关《uml实验报告19讲解.docx(61页珍藏版)》请在冰豆网上搜索。
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):
分析和设计完成的所有制品(如类图、对象图、顺序图、活动图、状态图等)放置在逻辑视图中。
(1)
(2)
(3)陆系统”用例,则界面上的文档窗口就会显示其对应的用例规格说明。
图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。
2.结合日常生活中实际使用的系统,模仿2中的用例模型绘制用例图,并保存模型,熟悉利用Rationalrose的建模过程,要求绘制的用例图中用例与2中的用例图不相同。
实验二用例图
一、实验目的
1.熟悉UML用例图的基本图形元素。
2.掌握用例与用例之间的各种关系。
3.熟悉针对具体场景使用例图进行软件建模的方法。
4.掌握用例规格说明的概念和基本结构,以及用例规格说明的作用。
二、实验内容
1.根据实验一建模实例,熟悉利用Raionalrose软件绘制用例图的基本方法。
2.通过对“学生信息管理系统”的需求描述,确定系统用例图:
“学生信息管理系统”的需求描述如下:
•在每个新学年开始都会有新生入学,这时系统的管理人员可以通过系统将这些新生的学籍、年龄、家庭住址、性别、身高、学生证号、身份证号等基本信息存入数据库,每个新生都对应一个唯一的编号,此编号可以是学生,在日程管理中,系统管理员还可以对所有学生的基本信息进行查询、修改和删除等操作;同时校领导可以查询、修改全校所有学生的基本信息。
•学校领导可以通过本系统了解每个班的任课教师、辅导员、学生姓名、学生人数、专业等班级基本信息。
系统管理员可以进行查询班级基本信息、添加班级、修改班级基本信息、删除班级等操作。
•在考试结束以后,教师可以将学生的考试成绩录入系统,还可以对学生的成绩进行查询和修改。
学生可以通过本系统进行成绩的查询。
•学生还可以在网上选择自己选修的课程(必修课必须上,所以不用选),学生通过本系统可以看到有哪些课程可以选以及课程的基本信息。
课程的基本信息包括:
课程号、所属专业、课程名称、开课学期、学时数、学分、任课教师等。
每个学生每学期的选修课程数不得大于6门,如果已经选择了6门课程则不能再选择其他课程。
只有将已选择的课程删除掉才能再选择新课程。
系统管理员负责修改、增加、删除选修课程。
•系统管理员可以对系统的账号进行添加、设置、删除、查询等操作,同时可以设置每个账号的权限以及对应的个人信息。
a)请根据上述描述,确定系统的参与者
b)确定系统的用例并绘制完整的用例图。
3.根据2中所绘制的“学生信息管理系统”用例图,写出学生“选择课程”用例的用例规格说明。
“选择课程”用例规格说明
用例编号:
UC21
用例名称:
选择课程
简要说明:
用户选择课程并保存
参与者:
学生、教师、校领导、管理员
前置条件:
用户正确登录系统
后置条件:
成功完成选课并保存
基本事件流
1.用户向系统发送选课请求
2.用户选择欲选课程
3.系统核对用户身份条件
4.选课成功并且自动保存
扩展事件流:
3a身份条件验证失败,显示选择所需条件并提示重新选择或者放弃选课
3a1)用户重新选择课程,跳转到2
3a2)放弃选课,终止操作
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.
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,为编辑顺序图做好准备。 图6.1 (2)在顺序图编辑窗口中,从工具栏中选择Object图标,在右边的绘图区中添加一个新元素,并取名Customer表明新增一个对象,如图6.2所示。 图6.2 (3)同样的方法,添加ATM对象和Account对象,如图6.3所示。 图6.3 (4)根据ATM取款的场景,获得第一条消息为“客户向ATM机提交取款需求”,向图中添加消息,如图6.4所示。 图6.4 (5)同样的方法添加其它消息,如图6.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)数据存储模块(DB),主要负责处理对数据的存储。 (4)通用工具模块(UTIL),包括系统中通用函数。 通过一个主程序StartClass来启动。 由于系统中的类较多,这里以业务对象模块(BO)为例来讲解如何创建组件图,BO模块中包括: Item类: 书目类,表示一本(不是一种)实际存在的书籍或杂志; Loan类: 借书业务类,将借阅者和图书馆关联起来,一个Loan对象表示借出的一本书; BorrowerInfomation类: 借阅者信息类,表示一个借阅者; Title类: 表示一种书或一种杂志。 如《C++编程思想》就是一种书,用1个title对象表示,如果有2本这样的书,则需要用2个Item对象表示; Reservation类: 预定信息类,表示一个预定信息。 Item类和Loan类之间互相依赖,Loan类和BorrowerInfomation类之间互相依赖,BorrowerInfomation类和Reservation类之间互相依赖,Reservation类和Title之间互相依赖,Title和Item类之间互相依赖。 绘图步骤: (1)在组件视图中双击Main图,出现图1,为编辑组件图做好准备,这时绘图工具栏中的图标如图中椭圆所示。 图1 (2)在组件视图中,从工具栏中选择MainProgram图标,在右边的绘图区中添加一个新组件,并取名StartClass.java表明新增一个主程序。 图2 (3)选择新创建的组件点击鼠标右键,在弹出的菜单中选择“OpenSepcification”,如图3。 图3 (4)在对话框中,可以修改组件的名称,设置组件的类型,指定实现的语言。 这里新组件的名称定为“StartClass.java”,组件构型为MainProgram(Rose中提供了多种构型),实现语言为JAVA(Rose中默认的是分析语言Analysis),修改结果如图4所示。 图4 (5)组件图描述的是系统的实现视图,因此要指定实现组件功能的文件。 点击File选项卡,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- uml 实验 报告 19 讲解