《uml实验报告123456.doc》由会员分享,可在线阅读,更多相关《uml实验报告123456.doc(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象与UML实验报告姓名:左志伟学号:133037班级:软件132一、基本目的面向对象与UML是以介绍面向对象的统一建模语言UML为主,使学生了解面向对象技术的相关概念,熟悉UML分析和设计的基本方法,同时掌握在Rational Rose环境下使用UML建模语言进行软件模型分析和设计的相关技术。本课程的实验课程是UML程序设计教学的重要技能环节。通过实验,使学生加深理解、验证、巩固课堂教学内容,提高学生使用UML建模语言进行软件设计分析的能力,实验课程重点培养学生在Rational rose环境下对UML4种视图以及9种图的使用。二、实验环境使用IBM Rational rose7.0集成
2、开发环境。三、实验要求1. 每人独立完成实验和实验报告。每个实验包括多个实验题目,要求每个实验在规定时间内设计完成所有实验题目,并按照要求提交实验报告。2. 预习实验指导书有关部分,认真做好实验内容的准备,就实验可能出现的情况提前进行思考和分析。3. 遵守机房纪律,服从辅导教师指挥,爱护实验设备。4. 实验课程不迟到。如有事不能出席,需请假。四、实验内容表1 实验内容及时间安排序号实验内容参考实验课时数计划开设周次实验1UML建模基础25实验2用例图26实验3类图47,8实验4顺序图29实验5协作图211实验6状态图212实验7活动图214实验8组件图与配置图215实验9双向工程216合计20
3、五、实验报告每人针对每个实验提交一份实验报告。实验报告主要包括四方面内容:1. 实验目的:该实验需要学生掌握的内容。2. 实验题目:实验题目具体内容。3. 实验结果:利用Rational rose得到的建模结果。实验一 UML建模基础一、实验目的1. 熟悉UML建模工具Rational rose的可视化环境。2. 掌握利用Rational rose进行建模的步骤。二、实验内容1. 熟悉Rational rose建模环境(1) 单击“开始所有程序IBM RationalRational Rose Enterprise Edition”,启动Rational Rose建模环境,软件启动后产生如图1
4、.1所示的建模模型窗口。图1.1 Rational rose 启动提示界面(2) 选项卡【new】用来选择新建模型时采用的模板。单机【Details】按钮可以查看选中模板的描述。【Existing】选项卡用于打开一个已经存在的模型。【Recent】选项卡可以打开一个最近打开的模型文件。如暂时不需要任何模板,只需要建立一个新的空白模型文件,单击【Cancel】按钮,显示Rational rose主界面,如图1.2所示。图1.1 Rational rose主界面(3) 主界面包含五大部分:导航窗口、绘图窗口、工具栏、文档窗口和日志窗口。导航窗口:用于在模型中迅速漫游。导航窗口类似于windows操
5、作系统的资源管理器,它以树形结构显示了模型中的所有元素,包括参与者、用例、类、组件等。利用导航窗口可以:a) 增加模型元素参与者、用例、类、组件、框图。b) 浏览现有模型元素。c) 浏览现有模型元素间的关系。d) 移动模型元素。e) 更名模型元素。f) 将模型元素加进框图。g) 将文件或UML链接到元素。h) 将元素组成包。i) 访问元素的详细规范。j) 打开图形。导航窗口四个视图根结点。a) 用例视图(Use Case View):用于管理需求分析获取的所有用例、参与者和用例图。b) 逻辑视图(Logic View):分析和设计完成的所有制品(如类图、对象图、顺序图、活动图、状态图等)放置在
6、逻辑视图中。c) 组件视图(Component View):逻辑视图中的类实现后成为软件的组件,可以放在组件视图中创建这些组件,并绘制组件图描述它们之间的依赖关系。d) 部署视图(Deployment View):系统最终要实现物理部署,在部署视图中创建物理系统中的节点和节点的连接,并描述软件组件在物理节点中的分布。绘图窗口:当在导航窗口中选中某个图双击后,就会打开一个绘图窗口并显示该图,可以使用左边工具栏进行绘图。根据图型的不同,工具栏提供与之相应的图形符号。工具栏:提供了所有UML中的图示符号,包括用例、参与者、类、关系、注释等等,按下任意一个图形元素,就可以在绘图窗口中绘制出来。文档窗口
7、:图形符号提供的信息经过了抽象和压缩,提供的信息量有限,每张图或每个图形元素的详细信息可以补充在文档窗口中。比如书写用例规约时,只要在绘图窗口中点击选中某个用例,然后在文档窗口中输入规约内容,系统就会自动保存文档内容,并与该用例关联起来。日志窗口:使用Rose工具时,有些信息会在日志窗口中显示出来,比如在生成代码时可能发生的任何错误。2. 建模基本步骤(1) 启动Rational rose软件,建立空白模型文件。(2) 双击Use Case View 节点下的main,出现如图1.4所示,为绘制用例图做好准备。 图1.4 绘制用例图(3) 添加参与者:在图1.4中的工具栏选取Actor图标,在
8、右边的图中添加一个Actor,选中新添加的Actor,单击鼠标右键,出现如图1.5所示的快捷菜单,选择“Open Specification”项,打开该Actor的设置对话框,如图1.6所示。在name框中为该参与者命名为学生,单击【OK】按钮。图1.5 Actor设置图1.6 Actor命名(4) 添加用例:如图1.7在左边的用例工具栏选取用例图标,在右边的图中添加一个Use Case,选中新添加的“Use Case”,单击鼠标右键,选择“Open Specification”项,打开该Use Case的设置对话框,如图1.8所示。在name框中为该用例命名为“登陆系统”,在Document
9、ation框中键入“登陆”的用例规格说明,单击【OK】按钮。从此以后只要选中“登陆系统”用例,则界面上的文档窗口就会显示其对应的用例规格说明。图1.7 添加用例图1.8 用例命名(5)按照(4)反复操作,分别加入“成绩查询”、“退出系统”、“输入系统密码”、“找回系统密码”用例,如图1.9所示。图1.9 用例添加(6)用例的实现:在绘出了参与者和用例后,接下来的是绘制参与者与用例实现,如图1.10所示。图1.10 用例实现(7)绘制用例间的关系:根据需求分析可得出“找回系统密码”是“登陆系统”的扩展,用例“登陆系统”包含用例“输入密码”。如图1.11,利用工具栏依赖关系图标绘制相应关系。同时右
10、键在Open Specification按钮(如图1.12),在相应对话框中设计依赖关系的类型,设置结果如图1.13所示。图1.11 用例间关系1.12 类型设置1.13 图形结果(8)保存模型:选择菜单栏【File-Save】或者标准工具栏的【Save】按钮,可以保存已建立好的系统模型,UML中模型文件扩展名为.mdl。3. 实验结果 8.用例说明 登录用例编号: UC01用例名称: 登录系统简要说明: 完成用户进入系统参与者: 学生前置条件: 学生正确打开系统后置条件: 学生成功登录系统基本事件流:1.学生录入帐号密码 2.系统校验学生信息 3.确认登录扩展事件流:2a.信息校验失败,提示
11、重新登录或放弃登录 2a1.学生重新登录,转到2 2a2.放弃,终止用例标号: UC02用例名称: 成绩查询简要说明: 完成学生成绩的查询参与者: 学生前置条件: 学生成功登录系统后置条件: 学生查询成绩成功基本事件流:1.学生向系统发送查询成绩请求 2.学生查看成绩扩展事件流:用例标号: UC03用例名称: 退出系统简要说明: 学生成功退出系统参与者: 学生前置条件: 学生选择退出系统后置条件: 学生成功退出系统基本事件流:1.学生选择退出系统 2.成功退出扩展事件流:用例标号: UC04用例名称: 输入系统简要说明: 完成密码输入参与者: 学生前置条件: 学生正确打开系统后置条件: 成功登
12、录登录系统基本事件流:1.学生录入密码 2.系统校验信息 3.成功登录系统扩展事件流:2a.密码错误,提示登录失败,重新登录或放弃 2a1.学生重新输入密码,转到2 2a2.放弃,终止用例编号: UC05用例名称: 找回系统密码简要说明: 忘记密码时找回密码参与者: 学生前置条件: 学生忘记密码后置条件: 学生成功找回密码基本事件流:1.输入邮箱 2.系统向邮箱发送信息 3.确认,修改密码扩展时间流:4. 结合日常生活中实际使用的系统,模仿2中的用例模型绘制用例图,并保存模型,熟悉利用Rational rose的建模过程,要求绘制的用例图中用例与2中的用例图不相同。实验二 用例图一、实验目的1
13、. 熟悉UML用例图的基本图形元素。2. 掌握用例与用例之间的各种关系。3. 熟悉针对具体场景使用例图进行软件建模的方法。4. 掌握用例规格说明的概念和基本结构,以及用例规格说明的作用。二、实验内容1. 根据实验一建模实例,熟悉利用Raional rose软件绘制用例图的基本方法。2. 通过对“学生信息管理系统”的需求描述,确定系统用例图:“学生信息管理系统”的需求描述如下: 在每个新学年开始都会有新生入学,这时系统的管理人员可以通过系统将这些新生的学籍、年龄、家庭住址、性别、身高、学生证号、身份证号等基本信息存入数据库,每个新生都对应一个唯一的编号,此编号可以是学生,在日程管理中,系统管理员
14、还可以对所有学生的基本信息进行查询、修改和删除等操作;同时校领导可以查询、修改全校所有学生的基本信息。 学校领导可以通过本系统了解每个班的任课教师、辅导员、学生姓名、学生人数、专业等班级基本信息。系统管理员可以进行查询班级基本信息、添加班级、修改班级基本信息、删除班级等操作。 在考试结束以后,教师可以将学生的考试成绩录入系统,还可以对学生的成绩进行查询和修改。学生可以通过本系统进行成绩的查询。 学生还可以在网上选择自己选修的课程(必修课必须上,所以不用选),学生通过本系统可以看到有哪些课程可以选以及课程的基本信息。课程的基本信息包括:课程号、所属专业、课程名称、开课学期、学时数、学分、任课教师
15、等。每个学生每学期的选修课程数不得大于6门,如果已经选择了6门课程则不能再选择其他课程。只有将已选择的课程删除掉才能再选择新课程。系统管理员负责修改、增加、删除选修课程。 系统管理员可以对系统的账号进行添加、设置、删除、查询等操作,同时可以设置每个账号的权限以及对应的个人信息。a) 请根据上述描述,确定系统的参与者b) 确定系统的用例并绘制完整的用例图。3. 根据2中所绘制的“学生信息管理系统”用例图,写出学生“选择课程”用例的用例规格说明。 4. 实验结果:5.用例说明:用例编号: uc01用例名称: 选择选修课程简要说明: 学生完成选择选修课程参与者 : 学生前置条件: 学生正确登陆系统后
16、置条件: 学生成功选择课程并保存基本时间流: 1,学生查看课程 2,学生向系统请求选择课程 3,系统校验信息 4,系统确认,选课成功扩展事件流: 3.a,学生选择课程已满6门,选课失败,提示需要删除课程 3.a1,学生删除课程 3.a2,学生重新选课,转到3, 3.a3,学生放弃选课,终止操作6.考虑一个网络订餐系统的需求,并绘制出完整的用例图。实验三 类图一、实验目的1. 熟悉UML中类的定义和图形符号。2. 掌握类与类之间的各种关系代表的含义及表示方法。3. 掌握类图的绘制方法。4. 了解对象图的绘制方法。二、实验内容1. 按照如下操作要求,绘制图书管理系统各类图,掌握绘制类图的步骤:(1
17、)新建模型文件,打开模型文件中的逻辑视图(Logical View),用鼠标右击逻辑视图,在弹出来的菜单中选择“NewClass diagram”项,创建“图书馆业务功能”类图,如图3.1所示。图3.1 新建类图(2)双击新建的“图书馆业务功能”类图,并点右边控件集中选中的“Class”图标,并用鼠标在图中拖出一个类图,并命名为Book,如图3.2所示。图3.2 新建类(3)下一步为设置Book类的属性,在类图中双击Book类,可以在打开的“Class Specification”对话框中设置Book类的属性和方法等其他的信息;点击“Attributes”选项卡,此选项卡可以设置类的属性,在图
18、中间单击右键,可以看到有一个“Insert”的选项,选中这个选项,然后在出现的对话框中输入相关信息,即书本的ISBN号属性,在“Type”方框内输入此属性的类型值,同时可以看到一栏可以设置此属性的访问权限,一般将属性设置为“private”。Book类的其他属性也可以按照以上的做法设置,具体操作过程如图3.3所示。 图3.3 类的属性设置(4)设置好Book类的属性,即可以设置Book类的方法(操作)。双击Book类后在“Class Specification”对话框中选“operations”选项卡,在图中的空白地方,单击右键,在弹出的菜单中选“insert”选项,输入方法名,同时可以设置该
19、方法的返回类型以及可见性,并可以在Documentation的方框内填写一些相关的方法说明,具体设置方法见图3.4。 图3.4 类的方法设置(5)完成上述操作即可完成类的设置,如图3.5所示。图3.5 类2. 根据以下描述画出类图,并注明多重性关系(省略类的属性和关系): 一个学生可以选修多门课程,也可能没有任何课程;一门课程可以被多个学生选修;一个老师可以教多门课程或者不教课;每门课程至少有一个老师,也可以有多个老师任教;每门课程可以有0或1本教材,每本教材只能用于一门课程。 3. 根据下面的代码画出Course类的类图,要求标明各属性的类型和可见性以及类方法。4. 根据以下描述,画出相应的
20、UML类图:(1) 神舟六号飞船是神州飞船系列的一种,它由轨道舱、返回舱、推进舱和逃逸救生塔等组成。(2) 航天员可以在返回舱内驾驶飞船,轨道舱是航天员工作和休息的场所。在紧急的情况下,颗粒利用逃逸救生塔逃生。(3) 在飞船两侧有多个太阳能电池翼,可以为飞船提供电能。 5. 在下图中最上面的对象的名称是什么?该图表示的意思是什么?图3.6 对象图最上面的对象的名称是 China,该图表示:中国包括福建省和四川省。6. 针对实验二中的“学生信息管理系统”绘制类图,要求注明类间的关系以及每个类应有的属性和方法(省略属性的类型以及方法的返回值、参数)。实验四 状态图一、实验目的1. 掌握状态的定义和
21、组成部分。2. 掌握UML中状态的表示方法。3. 掌握转换的定义及转换的5要素。4. 解触发事件、监护条件、动作的定义。5. 掌握阅读和绘制状态图的方法。 二、实验内容1. 阅读计算机线程的状态图,完成下列问题。 图1 状态图(1) 该图中线程有几种状态?分别是什么?图中线程有五种状态,分别是初始状态,就绪状态,运行状态,阻塞状态,终止状态。(2) 请使用文字描述线程的基本运行过程。一个进程开始处于就绪态,如果取得cpu时间片,就处于运行态,若在时间片内运行完毕,则退出,否则,时间片用完后处于就绪状态。若运行时不满足所需资源,则进入阻塞态,当资源满足时就处于就绪态,等待cpu时间片。2. 根据
22、问题描述,完成电梯状态图绘制。电梯开始处于空闲状态(idle),当有人按下按钮要求使用电梯时(事件is required发生),电梯进入运行状态(run)。如果电梯的当前楼层比想要的楼层高时(监护条件currentFloordesiredFloor成立),电梯进入下降状态(moving down);反之,如果电梯的当前楼层比想要的楼层低时(监护条件currentFloordesiredFloor成立),电梯进入上升状态(moving up);如果电梯的当前楼层与想要的楼层相同时(监护条件else成立),电梯门打开(door open)。在电梯上升或下降期间,每经过一个楼层就判断监护条件(cur
23、rentFloor=desiredFloor)是否成立,若不成立,继续移动,若成立,就进入停止状态(stop),15秒后,电梯门自动打开(door open),2分钟后,电梯门自动关上(door close),如果有更多的电梯使用请求,进入运行状态(run),反之,则进入空闲状态(idle)。3. 根据问题描述,完成手机状态图绘制。当手机开机时,它处于空闲状态(idle),当用户使用电话呼叫某人(call someone)时,手机进入拨号状态(dialing)。如果呼叫成功,即电话接通(connected),手机就处于通话状态(working);如果呼叫不成功(cant connect),例如
24、对方线路有问题,关机、拒绝接听。这时手机停止呼叫,重新进入空闲状态,手机进入空闲状态下被呼叫(be called),手机进入响铃状态(ringing),如果用户接听电话(pick),手机处于通话状态,当手机进入通话状态时自动进行计时,通话结束手机自动停止计时,通话过程中手机可以实时显示通话时间;如果用户未做出任何反应(havent acts),可能他没有听见铃声,手机一直处于响铃状态,如果用户拒绝来电(refused),手机回到空闲状态(idle)。实验五 活动图一、实验目的1. 掌握活动的概念以及表示方法。2. 掌握活动图中个元素表示的意义和表示方法。3. 掌握分支、监护条件、分岔、汇合和泳
25、道的概念。4. 掌握阅读和绘制活动图的方法。二、实验内容1. 依据下列要求绘制活动图:绘制“删除读者信息”用例的活动图(原始用例图自行绘制)。删除读者信息一般按照以下步骤进行:(1)管理员在录入界面,输入待删除的读者名;(2)“业务逻辑”组件在数据库中查找待删除的读者名;(3)如果不存在,则显示出错信息,返回步骤(1),如果存在则继续;(4)“业务逻辑”组件判断“待删除的读者”是否可以删除;(5)如果不可以,则显示出错信息,返回步骤(8),如果可以则继续;(6)在数据库中,删除相关信息;(7)显示删除成功信息;(8)结束。(1)在用例图中,找到“删除读者信息”的用例,如图1所示,在“删除读者信
26、息”用例上单击右键,在弹出的快捷菜单中选“New”,Rose工具也会弹出一个菜单,选”Activity Diagram”,选中后单击,便可以新建好一个活动图。图 1 用例图(2)新建好活动图后,双击“删除读者信息”的活动图,得到如图2所示,然后在左边的工具栏内点击“Swimlane”,在右边的图添加一个泳道,如图3所示,并命名为administrator.按照此步骤,再添加另一个泳道,并命名为SystemTool,得到图4。 图2 图3 图4(3)在左边的工具上选取“Start State”,并在administrator的泳道上添加,如图5所示;添加完开始结点后,再来为此活动图添加活动,图6
27、所示,在左边的工具栏上选中“Activity”这个图标,在administrator这边的泳道上添加一个活动,命名为登录(login),再在开始结点和活动登录(login)之间添加活动关系,如图7所示。 图5 图6 图7(4)完成步骤(3)后,登录输入需要对输入的信息进行验证,则在图中利用“Decision”图标添加一个验证框,如图8所示:添加验证框后,验证的内容,如果通过,则允许管理员进行查询操作,如图9所示;如不能通过,则结束,如图10所示。 图8 图9 图10(5)验证后,下一步的操作是查询需要删除的记录,添加一个活动,命名为delete,如图11和图12所示。 图11 图12(6)最后
28、,在删除后,系统会返回操作结果给操作者,图13所示;删除成功或删除失败系统都会有信息返回给操作者。图13(7)根据分析设计情况,进一步添加或细化活动图。2. 下图中表示某公司的销售过程活动图,请用文字详细说明。图14公司收到订单后,同时进行准备货物和开具发票的动作。在准备货物时,如果货物时加急的就选择EMS,如果是其他的就选择普通包裹;开具发票后进行收款;最后关闭订单。3. 用活动图表示for(i=0;i9;i+)循环。4. 按照如下远程网络教学系统绘制活动图:对于“远程网络教学系统”学生登录后可以下载课件。在登录时系统需要验证用户的登录信息如果验证通过系统会显示所有可选服务。如果验证失败则登
29、录失败。当用户看到系统显示的所有可选服务后可以选择下载服务然后下载需要的课件。下载完成后用户退出系统则会注销相应的用户信息。5. 试画出ATM自动取款机“取款”用例的活动图。其事件流文档如下:(1)用户选择取款;(2)系统要求输入取款金额;(3)用户输入取款金额;(4)系统验证取款金额;(4a)余额不足;(4a1)系统显示余额不足;(4a2)用例终止;(5)系统询问是否打印凭条;(6)用户选择不打印凭条;(7)系统显示取款成功;(8)结束。实验六 顺序图一、实验目的1. 了解顺序图的概念。2. 掌握顺序图中个元素表示的意义和表示方法。3. 掌握顺序图建模的流程。二、实验内容1. 按照如下步骤绘
30、制顺序图:(1) 在“Logical View”中新建“Sequence Diagram“,双击图标,出现图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.52. 用文字说明下列书序图的含义:说明:
31、借阅者向预定窗口发出预定消息,预定窗口查找图书,如果有此图书则返回图书信息,预定窗口将此图书添加到预定队列,预定队列向预定窗口返回是否预定成功消息,预定窗口向借阅者显示是否预定成功消息。3. 对如下交互序列用序列图进行描述:(1) 李老师希望通过系统查询到某名学生的学科成绩信息;(2) 李老师通过用户界面录入学生的学号;(3) 用户界面根据学生的学号向数据库访问层请求学生信息;(4) 数据库访问层根据学生的学号加载学生信息;(5) 数据库访问层根据学生信息和学科科目获取该名学生的分数信息;(6) 数据库访问层将学生信息和分数信息提供给用户界面;(7) 用户界面将学生信息和分数信息显示出来;4. 对上述题目中的如下备选过程采用顺序图进行描述:(1) 该名学生没有学科成绩:数据库访问层返回学科成绩为空,系统提示李老师没有该学生的成绩;(2) 系统没有该学生的信息:数据库访问层返回学生信息为空,系统提示李老师学生不存在。5. 用户打印文件,计算机向打印机发送打印命令,如果打印机空闲,则直接打印文件,否则将打印文件存储到打印队列之中。绘制上述过程的顺序图。
限制150内