UML软件建模实验指导书.doc
《UML软件建模实验指导书.doc》由会员分享,可在线阅读,更多相关《UML软件建模实验指导书.doc(66页珍藏版)》请在咨信网上搜索。
1、UML软件建模实验指导书 作者: 日期:66 个人收集整理 勿做商业用途UML软件建模实 验 指 导 书计 算 机 工 程 学 院目 录实验一 UML用例图和类图3实验二 UML序列图和协作图29实验三 UML活动图的设计和实现42实验四 UML构件图和部署图53实验一 UML用例图和类图一、 实验题目 学校的网上选课系统的用例图和类图二、 实验目的 1、 能够根据系统的功能分析系统的用例组成,正确确定用例图中的角色。2、 能够分析系统的用例、活动者以及它们之间的关系。3、 根据对系统的分析,准确确定相应的类,确定类的属性和操作,正确分析属性和操作的可继承性4、 使用Rose软件能正确画出用例
2、图,并说明每一个用例的事件流。正确使用Rose软件定义类和类的关系和画出完整的类图.三、 实验要求 1、 根据需求文档确定每一个用例的名称、参与执行者(活动者)、前置条件、主事件流、 辅事件流和后置事件流。 2、 能从一类单一的对象中抽象出类的定义,并依据实际要求,设计类的属性和操作。 3、 能对现实世界中的对象存在各种各样的关系,分析出这些关系,主要有:继承关系;类之间的关联。并能在类图中反映这些关系。 四、 实验内容 学校的网上选课系统的用例图和类图的设计和实现 五、 用例图 1、 用例图设计实例介绍学校的网上选课系统的用例图的设计和实现2、 需求 学校的网上选课系统主要包括如下功能:管理
3、员通过系统管理界面进入,建立本学期要开的各种课程、将课程信息保存在数据库中并可以对课程进行改动和删除。学生通过客户机浏览器,根据学号和密码进入选课界面,在这里学生可以进行三种操作:查询已选课程、选课以及付费。同样,通过业务层,这些操作结果存入数据库中。3、 分析 本系统涉及的用户包括管理员(Registrar)和学生(student),他们是用例图中的活动者,他们的主要特征相似,都具有姓名和学号等信息,所以可以抽象出“基”活动者People,而Registrar和 Student则从People统一派生。数据库管理系统是另外一个活动者。4、 事件流下面是系统中出现的一些事件流。添加课程事件流:
4、(1)管理员选择进入管理界面,用例开始。(2)系统提示输入管理员密码(3)管理员输入密码。(4)系统验证密码。A1:密码错误(5)进入管理界面,系统显示目前所建立的全部课程信息(6)管理员选择添加课程。(7)系统提示输入新课程信息(8)管理员输入信息。(9)系统验证是否和已有课程A2:有冲突(10)系统添加新课程,提示课程添加成功。(11)系统重新进入管理主界面,显示所有课程.(12)用例结束.其他事件流:A1:密码错误(1)系统提示再次输入。(2)用户确认。(3)三次错误,拒绝再次访问。(4)否则进入添加课程事件流第5步。A2:有冲突(1)系统提示冲突,显示冲突课程信,(2)用户重新输入。(
5、3)继续验证直到无冲突。(4)进入添加课程事件流第10步。删除课程事件流和修改课程事件流与此类似。选课事件流:(1)学生进入选课登录界面,用例开始.(2)系统提示输入学号和密码。(3)学生输入学号和密码.(4)系统验证。Al:验证失败(5)进人选课主界面。(6)学生点击选课.(7)系统显示所有课程信息.(8)学生选择课程.(9)系统验证课程是否可选。A2:不可选(10)系统提示课程选择成功,提示学生交费。(11) 用例结束。错误流:A1:验证失败(1)系统提示验证失败,提示重新输入。(2)三次失败,拒绝访问。(3)成功,转选课事件流第5步。A2:课程不可选(1)系统提示课程不可选及原因。(2)
6、学生重新选课。(3)重新验证直至成功。(4)转选课事件流第10步。因为付费方式多样,所以在此将不讨论付费用例。查询事件流比较简单,这里也不详细描述.根据以上的分析,可以绘制出如图1所示的系统用例图. 图1 系统用例图在Rose2003中设计选课系统的用例图,具体步骤如下: (1) 点击浏览器中的use case View中的Main,弹出用例图窗口如图3.此时,与用例图窗口对应的工具栏如图2所示。 图2 工具栏 图3用例图窗口(2) 将光标置于工具栏的Actor图标上,按下左键并将光标拖曳到用例图窗口上,放开左键,用例图窗口内出现一个活动的图标(见图4),其名字为“NewClass”。 图4
7、绘制用例图之1(3)修改元素的名字有如下两种方法: 在用例图窗口中双击NewClas s图标,弹出如图5所示的窗口。然后再选择“General”选项卡,将Name修改为“People,最后按下“确认”按钮。 如图4所示,在用例图窗口中将光标置于“NewClass”处,直接将其修改为“People”。图5 绘制用例图之2(3) 采用同样的方法,在用例图中添加Registrar和Student图标,点击用例窗口工具栏中的图标“generalization”,在用例图窗口中,将光标从Student 移动到People,在Student与People之间添加概括(generalization)关系(见
8、图6).图6 绘制用例图之3(4)同样在Registrar和People之间添加概括关系. (5)点击工具栏中Use Case的图标,将光标移到用例图窗口,窗口内显示用例的椭圆图标,采用和(3)同样的方法,将图标名称改成“SelectCourse”。 添加Select Course用例,点击工具栏中的Undirectional Relation图标,将光标从Student指向Select Course,在Student和Select Course之间添加关系(见图7)。图7 绘制用例图之4(6)重复以上步骤,完成所示的用例图。 图8 用例图(10)然后再指定活动者和用例的属性。在浏览器中选择活
9、动者People,按下鼠标右键,在弹出的菜单中选择“Open Specification”,弹出图9所示的对话框.图9 绘制用例图之5(11)从图9中可以看到People的版型(Stereotype)是Actor(以后还将介绍这个画面). (12)双击Select Course用例,弹出Use Case Specification对话框(见图10)。图10 绘制用例图之6(13)在Documentation文本框中可以书写该用例的事件流(见图11) 图11 绘制用例图之7(14)完成以上步骤,可以看到Rose在浏览器中自动标出了各种关系.图12中使用椭圆将它们标注出来。图12 绘制用例图之8六
10、、 类图 选课系统的类图设计和实现1 类的创建本实验先分析选课系统中的类,然后作出它们的类图。1.1选课系统中的类分析系统中的所有序列图,除了角色之外,有以下名词:(1)课程。(2)界面。(3)控制对象。这3个名词可以抽象出3个类:课程类、界面类和控制对象类。首先看课程类(Course).课程类应该有以下属性:(1)课程名称(name)(2)开课教室(classroom)(3)课程号(courseID)(4)授课教师(teacher)(5)选课的学生(students)(6)开课起始时间(firstlessondate)(7)允许选课的学生人数(maxstudents)(8)设置课程名称(se
11、tname)(9)设置开课教室(setclassroom)(10)设置课程号(setcourselD)(11)设置授课教师信息(setteacher)(12)设置开课起始时间(setfirstlessondate)(13)设置允许选课的学生人数(setmaxstudents)(14)查询课程名称(getname)(15)查询开课教室(getclassroom)(16)查询课程号(getcourselD)(17)查询授课教师信息(getteacher)(18)查询开课起始时间(getfirstlessondate)(19)查询允许选课的学生人数(getmaxstudents)关于界面类和控制类,
12、因为涉及到后续的内容,所以本实验暂时不考虑它们。根据以上的分析,可以绘制出如图2所示的类图。图2 选课系统的完整类图1。2类图的创建 在下面介绍在Rose中创建Course类的过程。 (1)选择浏览器中的“Logical View”,按F鼠标右键,在弹出的菜单中选择“New”,再在下一级菜单中选择“Class”,创建一个新的类,然后将这个类的名字改成“Course”,结果如图13所示。图13 绘制类图之1(2)添加属性。在浏览器中选择类“course”,按下鼠标右键,在弹出的菜单中选择“New”,再选择“Attribute”,则一个新的属性被添加,将属性名字改成“Name,如果如图14所示。图
13、14 绘制类图之2(3)选择name ,按下鼠标右键,选择“open Specification,则弹出如图15示的“ Class Attribution Specification”对话框。在这个对话框中有两个选项卡,一个用来设置属性的固有特性,比如类型(Type)、版型(Stereotype)、初始值(Initial)、存取控制(Export Control)等,一个用来进一步指定属性是静态(Static)的还是继承(Derived)的等。图15 绘制类图之3(4)图16所示为设置属性的类型(Type)示意图.同样可以设置初始值(Initial)和存取控制(Export Control)等
14、。 图16 绘制类图之4(5)图17给出进一步设置属性的示意图。图中将“Containment”设置为“By Value” 属性的“Containment”特征表示属性如何存放在类中.By value表示属性放在类中,By reference表示属性放在类外,类指向这个属性.Unspecified表示还没有指定控制类型,应在生成代码之前指定By value或By reference.图17 绘制类图之5(6)如果要删除属性,右键选择属性,在弹出的菜单中选择“Delete”即可。 (7)添加操作。在浏览器中选择类“Course”,按下鼠标右键,在弹出的菜单中选择 “New”,再在F一级菜单中选择
15、“Operation“,则添加一个新的操作。图18是将添加操作的名字改为“GetName”的示意图. (8)选择GetName,按下鼠标右键,选择“Open Specification”,在弹出的对话框中可以 设置操作的固有特性。如图19所示。 (9)在Specification对话框中,操作或者属性都有存取控制的选项,操作的存取控制的选项默认值是公有的,属性的存取控制的选项默认值是私有的。不同的存取控制采用不同的标记表示(如图20所示)。本图只是说明不同的控制标记,后面的图将按照实际要求设计。(10)重复以上步骤,完成Course类的设计。图21是设计结果图图18 绘制类图之6图19 绘制类
16、图之7图20绘制类图之8图21绘制类图之9 类能实现对象的封装,是面向对象的重要特征。通过第一部分的学习,应该能够了解类、对象、属性、操作的概念,可以从一类单一的对象中抽象出类的定义,并依据实际要求,设计类的属性和操作。 2 类的继承 在选课系统中,涉及到的用户包括管理员(Registrar)和学生(Student),其主要特征相似,所以可以建立统一基类People,而Registrar和Student则由People派生。 2。1在角色或类之问添加继承关系很简单,下面给出实现过程。(1) 双击浏览器中Logical View:的Main图标,弹出类图窗口,从Use Case View 下将P
17、eople、Registrar和Student拖到窗口中。图22图22 绘制类图之10(2)选择类图工具栏的“Generalization”图标,在类图窗中,按下鼠标左键,将光标从角色Student移动到People,如图22所示,在二者之间出现一个表示继承关系的箭头标志。同理添加Registrar与People之间的继承关系。(若用例图中已画则会自动生成) (3)如图23所示,给People增加一私有属性name,这时Registrar和Student都没有设置属性.在类图窗口中双击Student的图标,弹出“Class Specification对话框,点击Attributes选项卡,注意
18、这时Show inherite被选择,而Attributes列表中没有任何属性.从图中可以看到,父类中的私有属性没有被继承。图23 绘制类图之11(4) 将People的name属性设置成保护属性,操作同(3),可以看到Show inherite被选择时,Attributes列表中有一个属性name(见图24),父类中的保护属性被子类继承. 图24 绘制类图之12(5)将People的name属性设置成公有属性,操作同(3),可以看到Show inherite Attributes列表中有一个属性name(见图13),父类中的公有属性被子类继承。图25 绘制类图之13 继承是面向对象的重要特征
19、之一,通过继承,可以创建事务的层次分类.可以首先定义 一个具有广泛意义的类,然后从它进行派生,添加一些具有特定特征的类. 当一个类是另外一个类的特殊情形时,可以考虑引入继承关系. 父类的属性和操作,只有当存取控制是公有和保护型时,才能被继承。私有属性和操作不能被子类继承。 3。 类的关联 可以使用下列的指导方针列出暂时性的关联关系: (1)动词与介词词组。 (2)两个或两个以上的类有相依赖的关系,就可能有关联。(3)隐含的关系。 (4)一般的常识. 然后依据以下的规则去除假性的关联: (1)如果有一类别被去除,则与之相关的关联也应去除。 (2)现在不考虑与外界领域的关联或是实现时才会产生的关联
20、。 (3)关联是说明结构的属性而不是在说明事件。 3。1选课系统的关联关系分析 在选课系统中设计了以下类: 1)界面FormObiect 2)控制对象ControlObject。 3)课程Course。 设计了以下角色: 1)学生Student。 2)管理员Registrar. 3)学生和管理员的父类People. 4)数据库Database。 这些类和角色之间的关系如下: 1)角色Student和Registrar从People派生。 2)学生、管理员在与系统交互时,都有一个界面与之对应。 3)一个界面可能和课程相关(O多门)。 4)控制对象负责课程的处理,处理结果在界面上显示。 5)控制对
21、象完成对数据库的操作. 6)界面请求控制对象的服务. 依据以上分析,画出简略的类关系图。进一步分析如下: (1)一个用户界面对象和O个或多个学生相关. (2)一个用户界面对象和0个或多个管理员相关。 (3)一个用户界面对象和O个或多个课程信息相关。 (4)一个控制对象和0个或多个课程信息相关。 (5)一个用户界面对象和一个控制对象相关。(6)一个控制对象和一个用户界面对象相关。 更加详细的类图如图26所示,类的属性和操作请参见上面。图26 详细的类图3.2选课系统中的类、属性和操作 总结一下选课系统中定义的类、类的属性和操作。到目前为止,选课系统中自定义的类共有7个,如表1所示。 仔细分析系统
22、的需求和前面的设计,可以得到每个类的属性和操作。下面对它们分别予以说明。 (1) 类People定义的属性和操作如图27所示,说明见表2。图27 绘制类图之14(2) 类Student的属性和操作如图27所示,说明见表3。图27 绘制类图之15因为student是从People继承的“Class Specification”对话框中,选择“Show inherite,属性和操作显示如图28所示,从中可以看到它从People中继承的属性和操作.图 28 绘制类图之16(3)类Registrar的属性和操作如图29所示,说明见表4。图29 绘制类图之17因为Registrar是从People继承的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UML 软件 建模 实验 指导书
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。