《UML建模技术》实验指导书修订稿.docx
- 文档编号:7275423
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:55
- 大小:1.51MB
《UML建模技术》实验指导书修订稿.docx
《《UML建模技术》实验指导书修订稿.docx》由会员分享,可在线阅读,更多相关《《UML建模技术》实验指导书修订稿.docx(55页珍藏版)》请在冰豆网上搜索。
《UML建模技术》实验指导书修订稿
UML建模技术
实
验
指
导
书
计算机技术实验中心
2011年1月修订
实验一熟悉RationalRose建模环境
【实验目的】
1.熟悉RationalRose的安装过程;
2.熟悉RationalRose的建模环境。
【实验性质】
验证性实验。
【实验要求】
实验设备和器材:
PentiumII以上微机,Windows2000以上操作系统,RationalRose2003安装光盘一张。
【实验内容】
本次实验要求每个人都安装一遍RationalRose2003。
【实验导读】
第一块:
熟悉RationalRose2003的安装。
由于RationalRose的安装比较麻烦,所以通过安装RationalRose2003,并在安装过程中,发现一些问题,并解决和理解它。
下面就开始介绍RationalRose2003的安装过程。
打开光盘,双击RationalRose的安装图标,然后就会有如图1-1的界面,它是安装的开始界面,让你选择安装的路径。
其默认路径是C:
\ProgramFiles\RationalRoseEnterpriseEditionforWindows,你可以选择默认路径,也可以更改路径。
图1-1选择安装目录
接下来,按Next键,进入下一个界面,如图1-2所示,就进入了安装的引导界面。
按“下一步”键,进入下一个界面,如图1-3所示,第一个选项是“RationalLicenseSever”,是用来管理Rational产品的非固定的、用户命名的授权书序列号的。
这个在安装的时候可以不安装,等安装完第二项后,我们再进行第一项的注册。
第二个选项是“RationalRoseEnterpriseEdition”,这个是基于UML的,模型驱动的,为开发人员、建筑师和分析家提供的开发工具。
RationalRoseEnterprise提供了可视数据模型的,有测试用例的支持平台。
我们选择第二项进行安装。
图1-2安装引导界面
图1-3安装产品选择
接下来如图1-4,是选择安装和配置开发方法的。
有三个选项,第二个是不能选的,第一个是网络开发的,第三个是单机版的,我们选择默认选项,单击“下一步”。
图1-4安装和配置开发方法
接下来是安装选择“Iacceptthetermsinthelicenseagreement”,按“Next”键,就开始进入RationalRoseEnterpriseEdition的安装拷贝阶段。
如图1-5显示,选择要安装的程序功能,默认选择是全部选取。
我们在这里选择默认选项。
然后按“接下来”按键,开始安装。
这一步要花费较长时间。
图1-6是安装拷贝文件过程中的界面。
图1-5选择要安装的功能
图1-6拷贝文件中
接下来进入“LicenseKeyAdministratorWizard”,如图1-7所示,有四个选项:
“PointtoaRationalLicenseSevertogetmyLicenses”;“ImportaRationalLicenseFile”;“Get,Return,orMoveKeys”;“EnteraTemporaryorEvaluationLicenseKey”。
第一个填Rational服务器的名称;第二个是输入认证书的文件;第三个是获取,返回或者移动密钥;第四个是填入临时认证密钥。
默认选项是第一个,我们选择默认选项。
然后填上主机名(本机名),就可以了,如图1-8所示。
图1-7认证书密钥向导
图1-8填写服务器名称和端口号
第二块:
RationalRose2003的解密。
过程如下:
1.先用rational.exe,lmgrd.exe覆盖到你的安装目录的Rartional\common\下;
2.然后改license.dat里面的
SERVERyourPCANY
DAEMONrational"C:
\ProgramFiles\Rational\Common\rational.exe"
改成
SERVER你的机器名ANY
DAEMONrational"你的安装目录\rational.exe"
3.将Flexlm.cpl拷贝到C:
\winnt\system32\下,
在控制面板里运行FlexLmLicenseManager,如图1-9所示。
在Setup面板配置文件路径,lmgrd.exe->你的安装目录\Common\lmgrd.exe
LicenseFile为你改过的license.dat
4.在Control面板点击Start,如果成功的话点击Status按钮将显示
你的机器名:
licenseserverUP(MASTER)说明成功了如图1-10所示(主机名是localhost)。
失败的话重启一下FlexLmLicenseManager就没问题了。
5.如果弹出对话框LicenseKeyAdministratorWizard后,
选定PointtoaRationalLicenseServertogetmylicenses,单击下一步,
ServerName文本框中填写你的机器号(可能已经填好),单击完成。
(成功的话会出现两屏的licenses)
再次运行RationalRose就应该就没问题了。
如图1-11所示。
图1-9FLEXlmLicenseManager的配置
图1-10运行licensemanager后的结果
图1-11运行RationalRose2003的结果
安装Rationalrose2003的实验到这儿就算完成了,接下来我们开始熟悉一下RationalRose的建模环境。
RationalRose的建模环境:
Rose是个菜单驱动应用程序,用工具栏帮助使用常用特性。
Rose支持八种不同类型的UML框图:
UserCase框图、Activity框图、Sequence框图、Collaboration框图、Class框图、Statechart框图、Component框图和Deployment框图。
Rose界面的五大部分是浏览器、文档窗口、工具栏、框图窗口和日志,如图1-12所示。
浏览器:
用于在模型中迅速漫游;
文档窗口:
用于查看或更新模型元素的文档;
工具栏:
用于迅速访问常用命令;
框图窗口:
用于显示和编辑一个或多个UML框图;
日志:
用于查看错误消息和报告各个命令的结果。
若要了解更详细的知识,请看教材。
Rose模型的四个视图
Rose模型的四个视图是:
UseCase视图、Logical视图、Component视图和Deployment视图。
各个视图的具体功能请参见教材。
要想了解更多的关于RationalRose的应用,我们将在接下来的实验中分别向大家做介绍。
图1-12RationalRose界面
实验二UseCase分析与设计
【实验目的】
1.熟悉RationalRose进行建模的一些基本操作;
2.学会使用UseCase视图与UseCase框图;
3.学习使用UseCase、角色与关系;
4.学习在包中增加.txt文件。
【实验性质】
设计性实验。
【实验要求】
1.在浏览器中增加UseCase框图;
2.在新建的UseCase框图中增加角色;
3.建模用例的事件流;
4.增加文件。
【实验内容】
本次实验要求自己在现有的用例模型(Lab2-1.mdl)中,根据指定的用户需求描述分析Actor和UseCase,创建用例图。
【实验结果】:
(Lab2-1.1.mdl)
创建了2个新的UseCase框图。
【实验导读】
Step1:
首先打开目录Rose实验\Lab2-1.mdl,在浏览器中展开UseCaseView,展开UseCaseModel,双击框图GlobalViewofActorsandUseCases。
图2-1创建UseCase图
Step2:
鼠标右键点击UseCaseModel,增加2个新的UseCaseDiagram,分别命名为:
RealtorView和MaintainPersonalPlannerView。
具体实现如图2-1、图2-2所示:
图2-2新建UseCaseDiagram
图2-3创建UseCase图
Step3:
在浏览器中双击RealtorView,打开RealtorView框图,同时将已经存在的Actor和UseCase依次拖入其框图中,并安排各个元素的位置。
如图2-4所示:
图2-4将Actor和UseCase拖入框图中
Step4:
按照Step3中同样的方法在浏览器中双击MaintainPersonalPlannerView,打开MaintainPersonalPlannerView框图,将现有模型中已经存在的Actor和UseCase依次拖入其框图中,并安排各个元素的位置。
如图2-5所示:
图2-5安排各个元素位置
Step5:
在UseCase中选择包,并加入新的UseCase事件流。
1.包ApplyForLoan(ApplyForLoan.txt);
2.包MaintainPersonalPlanner(MaintainPersonalPlanner.txt);
3.包SearchForAHome(SearchForHome.txt);
这3个txt文件均存在与\Rose实验,文件夹中。
具体操作方法如下:
右键点击ApplyForLoan包,选择New/File,打开ApplyForLoan.txt即可。
按照同样的方法将其他2个文件加入到相应的包中。
图2-6新建文件
图2-7增加.txt文件
Stpe6:
按照上述同样的方法在UseCaseModel包中加入ProblemStatement.txt。
图2-8在Use-CaseModel中增加File
Step7:
保存新的mdl文件,取名为Lab2-1.1,下次实验将使用该文件。
【实验作业】
1.增加系统用例模型包,UseCase框图、用例与角色;
2.增加系统用例描述;
3.增加系统角色描述。
【扩展练习】
需求描述如下:
某学校的网上选课系统主要包括如下功能:
管理员通过系统界面进入,建立本学期要开的各种课程,将课程信息保存在数据库中并可以对课程进行改动和删除。
学生通过客户机浏览器根据学号和密码进入选课界面,在这里学生可以进行三种操作:
查询已选课程、选课以及付费。
同样,通过业务层,这些操作结果存入数据库中。
根据以上描述,绘制系统的用例图。
并选择其中一个用例(如添加课程AddCourse)给出其用例描述。
用例的描述格式(参考模板)
描述项
说明
用例名称
表明用户的意图或用例的用途,如“预订图书”
标识符[可选]
惟一标识符,如“UC1701”,在文档其他地方可用标识符来引用这个用例
用例描述
概述用例的几句话
参与者
与此用例相关的参与者列表
优先级
一个有序的排列,1代表优先级最高
状态[可选]
用例的状态,通常为以下几种之一:
进行中、等待审查、通过审查或未通过审查
前置条件
访问用例前必须满足的条件列表
后置条件
用例完成以后得到满足的条件列表
基本操作流程
描述用例中各项工作都正常进行时用例的工作方式
可选操作流程
描述变更工作方式、出现异常或发生错误的情况下所遵循的路径
被泛化的用例
此用例所泛化的用例列表
被包含的用例
此用例所包含的用例列表
被扩展的用例
此用例所扩展的用例列表
修改历史记录[可选]
关于用例的修改时间、修改原因和修改人的详细信息
问题[可选]
与此用例的开发相关的问题列表
决策[可选]
关键决策的列表,将这些决策记录下来以便维护时使用
频率[可选]
参与则访问此用例的频率,如用户是每日访问一次还是每月访问一次
用例“添加图书”的描述
用例名称
添加图书
标识符
UC0001
用例描述
图书管理员在收到新采购的图书后对之进行入库。
参与者
图书管理员
优先级
1
状态
通过审查
前置条件
图书管理员登录进入系统
后置条件
在库图书数目增加
基本操作流程
1.图书管理员录入图书书目;
2.系统检查图书书目是否已存在;
3.系统为这本图书生成唯一书号(条形码);
4.系统添加新的图书书号。
可选操作流程
系统检查图书书目不存在,系统添加新的图书书目;
被泛化的用例
无
被包含的用例
无
被扩展的用例
无
修改历史记录
张三,定义基本操作流程,2009年3月20日
张三,定义可选操作流程,2009年3月20日
实验三顺序图建模
【实验目的】
1.理解顺序框图的基本知识;
2.了解对象与类的概念;
3.学习顺序框图的创建。
【实验性质】
设计性实验。
【实验要求】
1.在浏览器中增加顺序框图;
2.在新建的顺序框图中增加角色;
3.建模用例的事件流。
【实验内容】
在这个实验中,根据指定的用例场景描述文档设计顺序图。
【实验结果】:
(Lab3-1.mdl)。
【实验导读】
首先,介绍一下创建Sequence框图或Collaboration框图的步骤:
寻找对象;
寻找角色;
将消息加进框图:
Interaction框图包括Sequence框图和Collaboration框图。
寻找对象:
研究事件流中的名词是寻找对象的好办法。
确定对象时,应考虑一下几种类型:
实体对象:
这些对象保存信息,最终可能映射数据库中的表和字段。
边界对象:
这些对象位于系统与外部世界之间的边界上。
换句话说,这是应用程序的窗体与窗口和其他应用程序的接口。
控制对象:
这是可选对象,控制用例的流程。
它们本身没有任何业务功能,但可以协调其他对象和控制总体逻辑流程。
寻找角色:
标识Interaction框图的对象后,下一步要表示所需的角色。
Interaction框图中的角色是对事件流启动工作流的外部刺激。
一个Interaction框图中可以有多个角色,每个在特定的情形中接受或发送系统消息的角色都在该情形的框图中显示。
下面介绍一下Sequence框图工具栏中的按钮并一一介绍其作用。
表3-1Table1Sequence框图工具栏图标
图标按钮用途
SelectsorDeselectsanItem将光标返回箭头以选择项目
TextBox将文本框加进框图
Note将说明加进框图
AnchorNotetoItem将说明连接到框图中的项目
Object将新对象加进框图
ObjectMessage在两个对象之间绘制信息
Messagetoself画出反身消息
ReturnMessage返回消息
完成下面的一个用例的Sequence框图。
看下面的维护个人计划用例说明书,来设计一个基本的用例流程。
注意:
你已经为这个用例添加了分析类。
同时,参与者在用例模型中也已经存在。
1.主要描述
这个用例允许潜在的购买者设立帐号,存储房子的优先选择信息、合约信息,以及其它的经济和个人信息,这样可以帮助潜在的购买者在网上找到房子。
2.事件流程
2.1基本流程
这个用例是在潜在客户选择创建个人计划书的时候开始的。
1.这个系统要求,如果一个潜在的购买者还不存在的话,就创建一个新的文件,如果文件存在,那么客户就允许登录系统。
2.系统会提示客户创建一个新的文件,文件信息包括:
名字、e-mail地址、密码和一个通过e-mail接受市场信息的编号。
3.系统为客户创建一个用户文件,用客户的e-mail地址作为登录ID。
当创建新的文件时,就会向客户发送一个e-mail信息,欢迎他加入系统,并提供访问信息,和其它的内容。
4.客户进入默认的房屋搜索标准集中,并保存信息。
2.2选择性流程
2.2.1复用登录ID
在基本流程中,如果潜在客户进入了一个已经存在的e-mail地址的话,系统就会认定用户已经创建了一个文件,然后向客户发送一条信息,告诉用户这个e-mail地址已经存在了,并询问用户是否想用已经存在的帐号创建一个新的帐号。
2.2.1.1潜在客户忘记密码
在基本流程中,如果潜在客户忘记了密码,系统会允许他创建一个新的帐号。
系统会向用户提供他的登录ID(e-mail地址),然后产生一个新的密码,并把它发送到用户的e-mail地址中。
2.2.2非法信息或者不完整信息
在基本流程中,如果客户没有提供足够的信息来创建用户文件的话,系统就会提示参与者缺填的信息。
客户既可以输入缺填的信息,也可以取消操作。
3.实验步骤:
在UseCaseView中生成一个新的SequenceDiagram,命名为Buyer,首先确定角色ProspectiveBuyer,然后确定边界对象PersonalPlannerForm、控制对象PersonalPlannerController、实体对象BuyerRecord和PlannerProfile。
接着添加消息。
结果图3-1所示。
图3-2是在浏览器中用到的角色和对象名称。
图3-1SequenceDiagram
图3-2浏览器中用到的角色和对象
4.实验练习
设置:
1.选择Tools→Options;
2.选择Diagram标签;
3.确保复选SequenceNumbering、CollaborationNumbering和FocusofControl;
4.单击OK退出Options窗口。
创建Sequence框图:
1.右单击浏览器中系统使用案例模型的AddItemtoShoppingCart;
2.选择New→SequenceDiagram;
3.将新框图取名为MainFlow;
4.双击打开新框图。
将角色和对象加进框图:
1.将Customer角色从浏览器拖动到框图中;
2.选择Object工具栏按钮;
3.单击框图顶部添加对象;
4.将新对象取名为CartInterface;
5.对下列对象重复第3和第4步:
·CartMgr(控制)
·ProductMgr(Object)
·ProductItems(Object)
·WhiteCrewSocks(Object)
·CartItems(Object)
将消息加进框图:
1.选择ObjectMessage工具栏按钮;
2.从Customer角色的生命线拖动到CartInterface对象的生命线;
3.选中消息时,输入Addwhitecrewsockstocart;
4.重复第2和第3步,将其他消息加进框图中:
·Addwhitecrewsockstocart(在CartInterface与CartMgr之间)(ObjectMessage)
·Getwhitecrewsocks(在CartMgr与ProductMgr之间)(ObjectMessage)
·Findproduct(whitecrewsocks)(在ProductMgr与ProductItems之间)(ObjectMessage)
·Getproduct(在ProductItems与WhiteCrewSocks之间)(ObjectMessage)
·Addwhitecrewsockstocart(在CartMgr与CartItems之间)(ObjectMessage)
1.从工具栏中选择MessagetoSelf按钮;
2.在最后一个消息下面,单击CartItems对象的生命线,加上反身消息;
3.将新消息命名为Addwhitecrewsockstocart。
顺序图如图3-3所示:
图3-3实验结果
按F5,将上面的Sequence框图转换成Collaboration框图。
如图3-4所示。
图3-4转换后的Collaboration框图
【扩展练习】
以选课系统中的选课用例(SelectCourse)为例,设计SelectCourse的顺序图。
为了使问题简单一些,不考虑学生的登录。
假设学生已经成功登录系统,SelectCourse的事件流如下:
(1)学生进入选课主界面;
(2)学生点击选课;
(3)系统显示所有课程信息;
(4)学生选择课程;
(5)系统验证课程是否可选;
A1:
课程不可选
(6)系统提示课程选择成功,提示学生交费。
(7)用例结束。
A1:
课程不可选
(1)系统提示课程不可选原因;
(2)学生重新选课;
(3)重新验证直至成功;
(4)转选课事件流第6步。
根据SelectCourse的事件流描述,绘制出SelectCourse用例的顺序图和协作图。
实验四类分析与包
【实验目的】
1.掌握如何创建类;
2.学习如何为类指定版型;
3.掌握定义类的职责;
4.学习分析类的职责;
5.分析类与包的关系。
【实验性质】
设计性实验。
【实验要求】
1.在逻辑视图中创建类;
2.为创建的类指定相应的类版型;
3.定义类的职责;
4.使用类与包。
【实验内容】
本次实验要求能够在用例中加入类,并分析类,发现类的职责。
【实验结果】:
(Lab4-1.mdl)
【实验导读】
任务1:
创建类
打开Lab4.mdl,在浏览器中展开展开LogicalView,在AnalysisMode包中创建以下4个类:
1.PersonnalPlannerForm(boundaryclass)
2.PersonalPlannerController(controlclass)
3.BuyerRecord(entityclass)
4.PlannerProfile(entityclass)
注意:
类的取名一定要简洁、明了,当类的名字由多个单词构成时,可以由每个单词的首字母构成类名。
图4-1创建四个类
创建类的步骤:
1.右键点击AnalysisMode包,添加类;
2.右键点击创建的类,选择OpenSpecification,在Stereotype选择上述的相应的类版型;UML中有三种基本的类版型用于分析:
边界、实体和控制;
3.重复步骤1、2,直到上述的所有类都创建完毕。
任务2:
定义类的职责
定义上述创建的4个类的职责。
1.PersonalPlannerForm
//maintainprofile
//prompttocreatenewprofile
//submitprofileinformation
2.PersonalPlannerController
//maintainprofile
//submitprofileinformation
3.Buye
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UML建模技术 UML 建模 技术 实验 指导书 修订稿
![提示](https://static.bdocx.com/images/bang_tan.gif)