系统分析实验4.docx
- 文档编号:3280580
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:26
- 大小:2.02MB
系统分析实验4.docx
《系统分析实验4.docx》由会员分享,可在线阅读,更多相关《系统分析实验4.docx(26页珍藏版)》请在冰豆网上搜索。
系统分析实验4
实验三面向对象分析工具——ROSE(3)
(一)正向工程和逆向工程
一、实验目的
1.理解正向工程和逆向工程的基本概念。
2.利用Rose工具生成代码框架。
3.在实现过程中使用转换后的代码。
4.将Java代码转换成Rose模型。
二、实验内容
TJKD图书管理系统的分析和设计工作已经基本完成,即将进入编码阶段。
为了加快编码进度,可以利用建模工具执行正向工程,将系统中的模型转换成指定语言类型的代码框架。
对代码的改变也可快速映射到Rose模型中。
三、实验步骤
(一)正向工程
使用Rose工具将设计的模型通过正向工程生成代码框架。
按照使用Rose工具生成代码的6步基本步骤可以顺利的完成代码框架的生成工作。
(1)检查模型
(2)创建组件
(3)将类映射到组件
(4)设置代码生成属性
(5)选择类,组件和包
(6)生成代码
步骤:
(1)建立类图,包括Book、BookItem类和Person类。
类之间的关系如图8.1所示。
(2)建立组件图,添加book和bookitem组件。
双击该组件,在找开的对话框中,选“Files”这个选项,为组件指定语言为Java。
浏览窗口中选择“ComponentView”,见图8.2。
(3)选择Book和BookItem类实现正向工程,将Java类加入到模型中的Java组件。
方法一:
当启动代码生成时,让Rose自动创建组件。
可将模型的缺省语言设置为Java,通过【Tools->Options->Notation->DefaultLanguage】进行设置,如图8.3。
方法二:
打开组件视图,在左边的浏览器内选Book类,然后把该类拖放到Book组件上,在该类名字后面会列出其所在组件的名字。
如图8.4所示。
方法三:
使用Rose中的“ComponentSpecification”窗口。
首先选中BookItem组件,右击选择【OpenStandardSpecification】菜单。
选择“Realizes”选项卡,从类列表中选择BookItem类,右击,选择“Assign”,如图8.5所示。
(4)语法检查。
打开包含将用于生成代码的组件图,使用【Tools->Java/J2EE->SyntaxCheck】进行语法检查,日志窗口将显示发现的语法错误。
如图8.6。
(5)设置“ClassPath”。
通过【Tools->Java/J2EE->ProjectSpecification…】,打开参数设置窗口。
可添加Classpath路径,然后按“ReferencrClasspath”进行指定。
见图8.7至8.10。
(6)设置“CodeGeneration”参数。
选择“Add-Ins->Add-InManager”,在对话框中勾选显示或隐藏各种语言生成菜单。
图8.11。
通过【Tools->Java->ProjectSpecification】打开,选择“CodeGeneration”选项卡进行设置。
如图8.12和图8.13。
。
IDE指定与Rose相关联的Java开发环境。
DefaultDataTypes设置缺省数据类型。
AutomaticSynchronization使代码与UML模型保持一致,RoseID用来识别代码中名称被改动的方法。
(7)选择类、组件或包。
做完上一步后,右键单击Book和BookItem组件,便会看到有一项为“Java/J2EE”,当鼠标移到该项上时会有弹出快捷菜单“GenerateCode“,见图8.14。
第一次使用该模型生成代码,会弹出一个映射对话框,允许用户将组件映射到“classpath”属性设置的文件夹中,如图8.15。
选择Book和bookitem组件,点击中间的“Assign”键。
到此,正向工程生成代码做完,不过,生成的代码没有具体的代码,有类的属性和方法,但没有方法,这需要程序员编写。
选中已生成代码的类或组件,单击右键,选择【Java/J2EE->EditCode…】,可查看生成的代码,如图8.16所示,检查Rose是否在代码中保持了继承关系。
其他的类的正向工程生成代码同上面的方法一样。
(8)练习:
尽量实现你所作类图和组件图所涉及的代码。
(二)逆向工程
(1)设置或检查CLASSPATH变量。
单击“我的电脑”,选择【属性->高级】选项,在“系统变量”区域中,设置CLASSPATH环境变量。
(2)启动逆向工程。
修改BookItem.java,在里面加入一个print方法,去掉lenddate变量。
Publicvoidprinter(){}
右击BookItem类,选择【Java/J2EE->ReverseEngineer】。
注意检查Classpath是否设置。
在左边的目录结构中选择D:
\UML,右边会显示该目录下的.java文件,选择Bookitem.java文件,点击【Reverse】按钮,完成后点击【Done】按钮。
观察BookItem类的变化。
(三)完整的软件工程
(1)设计小程序
步骤:
1)在Rose中,从创建新的模型窗口中双击J2SE1.2框架。
2)打开工具栏菜单,点击options,点击Notation。
在默认语言栏中,选择Java。
3)创建新的类图,命名为HelloWorld。
打开这个图。
4)在逻辑视图中展开java->applet。
5)在右边窗口添加新的类,命名为HelloWorldApplet,用泛化关系将HelloWorldApplet指向Applet类。
6)右击HelloWorldApplet类添加一个新的操作,命名为paint。
单击OpenSpecification,在返回类型域中选择void。
在ArgumentsName域中键入g,扩展java->awt,然后双击Graphics类,单击OK。
(2)建立工程规格说明。
在Classpaths列表中指定C:
/MyHelloWorld,单击OK。
(3)生成代码。
1)右击HelloWorldApplet类,单击【Java/J2EE->GenerateCode】生成代码。
2)给paint操作添加g.drawString(“HelloWorld!
”,50,25)
3)从File菜单中单击Save.
4)单击Build->ComplierOptions,指定路径。
单击Build->CompileFile。
(4)运行小程序。
点击开始,运行,输入cmd,确定Hello.htm文件和代码在同一个目录下。
进入C:
\MyHelloWorld目录,输入appletviewerHello.htm,按Enter键运行。
(5)练习:
在HelloWorldApplet.java中添加:
publicfloatmeaningOfLife(){return42;}运用逆向工程重新生成类。
(二)模型发布和管理
一、实验目的
1.掌握RationalRose的模型发布和管理方法。
二、实验内容
1、模型的导出与导入。
2、发布模型。
3、使用控制单元。
4、使用模型集成器。
三、实验步骤
1、导入导出模型。
(1)导出模型。
选择【file->ExportModel】,输入导出文件名(.ptl)。
(2)导出包。
选择要导出的包,选择【file->Export
(3)导入模型、包或类。
选择【File->Import】。
2、发布模型。
选择【Tools->WebPublisher】,设定细节内容,包括模型元素要发布的细节信息,模型符号,图形格式等。
完成后单击【Publish】按钮,Rose会创建发布模型的所有Web页面,可按【Preview】浏览。
3、使用控制单元。
Rose通过控制单元支持多用户的并行开发,控制单元的所有模型元素存放在独立于模型的文件中。
(1)创建控制单元。
右击要控制的包,选择【Units->Control
(2)卸载控制单元。
单击要卸载的单元,然后选择【Units->Unload
(3)重装控制单元。
单击控制单元,然后选择【Units->Reload
(4)取消单元的控制。
选择【Units->UnControl
(5)对控制单元写保护。
右击要写保护的单元,选择【Units->WriteProtect
4、使用模型集成器。
在菜单中选择【File->Contribution】,在弹出的对话框中选择比较的基模型和其他Rose模型,按【Compare】显示模型之间的差别,按【Merge】即可合并模型。
四、实验报告要求
1.整理实验结果。
2.总结实验心得体会。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统分析 实验