系统分析实验4Word文档下载推荐.docx
《系统分析实验4Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《系统分析实验4Word文档下载推荐.docx(26页珍藏版)》请在冰豆网上搜索。
![系统分析实验4Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2022-11/20/1cfbf004-14f9-496d-9d99-d05e18e63db8/1cfbf004-14f9-496d-9d99-d05e18e63db81.gif)
(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->
ProjectSpecification…】,打开参数设置窗口。
可添加Classpath路径,然后按“ReferencrClasspath”进行指定。
见图8.7至8.10。
(6)设置“CodeGeneration”参数。
选择“Add-Ins->
Add-InManager”,在对话框中勾选显示或隐藏各种语言生成菜单。
图8.11。
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<
package>
】。
(3)导入模型、包或类。
选择【File->
Import】。
2、发布模型。
选择【Tools->
WebPublisher】,设定细节内容,包括模型元素要发布的细节信息,模型符号,图形格式等。
完成后单击【Publish】按钮,Rose会创建发布模型的所有Web页面,可按【Preview】浏览。
Rose通过控制单元支持多用户的并行开发,控制单元的所有模型元素存放在独立于模型的文件中。
(1)创建控制单元。
右击要控制的包,选择【Units->
Control<
】,输入控制单元的文件名。
(2)卸载控制单元。
单击要卸载的单元,然后选择【Units->
Unload<
】
(3)重装控制单元。
单击控制单元,然后选择【Units->
Reload<
(4)取消单元的控制。
选择【Units->
UnControl<
(5)对控制单元写保护。
右击要写保护的单元,选择【Units->
WriteProtect<
在菜单中选择【File->
Contribution】,在弹出的对话框中选择比较的基模型和其他Rose模型,按【Compare】显示模型之间的差别,按【Merge】即可合并模型。
四、实验报告要求
1.整理实验结果。
2.总结实验心得体会。