SoftEng 版 (精华区)
发信人: really (跨越2000), 信区: SoftEng
标 题: ROSE介绍 (三. ROSE的使用)
发信站: 紫 丁 香 (Wed Apr 5 10:30:02 2000), 站内信件
发信人: HansB (Beanie豆子), 信区: SoftEng
标 题: ROSE介绍 (三. ROSE的使用)
发信站: BBS 水木清华站 (Wed Dec 10 20:25:22 1997)
******** ROSE介绍 (三. ROSE的使用)********
这些天来,小灵和老幺都在认真学习ROSE和UML。这一天,老幺来到小灵家
来做客,看到小灵正在玩ROSE。
老幺:小灵,ROSE玩得怎么样啊?
小灵:嘿,老幺哥,你来啦。请坐。
(小灵给老幺让座、倒茶)
小灵:老幺哥,我发现如果UML的基本概念掌握好了,再加上一些例子,ROSE
其实并不难学嘛。
老幺:那好啊,我们来切磋切磋。你来给我介绍一下你的成果吧!
小灵(清了清嗓子):OK!我们先来看一看ROSE的界面吧。
(老幺和小灵坐到电脑前)
小灵:ROSE的界面基本分成三个窗口:浏览窗口browser window、图形窗口
小灵:ROSE的界面基本分成三个窗口:浏览窗口browser window、图形窗口
diagram window和文档窗口document diagram。它们共同来创建和操
作模型。浏览窗口主要是来创建各种模型元素,并在模型中遍历和漫
游。图形窗口主要是用来绘制和显示模型中的各种图,而文档窗口用
来书写和显示模型元素的描述。
老幺:对。我觉得,很重要的一点是要搞清楚我们所建的模型和我们所见的
模型之间的关系。UML中的各种图不过是从不同的角度来把模型可视化
而已。同一个模型元素,可以出现在多个图中。
小灵:这就好象同一个意象,诗人用诗歌的形式表现它,画家用绘画的形式
表现它,而作曲家用音乐的形式来表现它一样。
老幺:ROSE中的浏览窗口、图形窗口和文档窗口都是同一模型的不同表现形
式而已,它们用不同的方法组织和表现模型的元素,使我们能更好的
构造和理解模型。
小灵:好,我们拿到一个项目时,首先应该考虑什么呢?
老幺:当然是考察用户需求,烹制一些USE CASE喽!
小灵:在分析USE CASE之前,要先分析ACTOR。就是分析我们系统的用户和将
与我们的系统交互的外部系统。因为真是它们的需求,才让我们确定
我们的系统要具有什么样的功能。
老幺:在ROSE里,怎么创建ACTOR?
小灵:一般来说,创建模型元素应该在浏览窗口中进行。就是在浏览窗口中
选中Use case view、Logical view、Component view或Deployment
view文件夹,单击右键,选择New菜单,创建所需的模型元素。
老幺:我在USE CASE图里不是也能建ACTOR吗?
老幺:我在USE CASE图里不是也能建ACTOR吗?
小灵:不错。但是我更习惯先在浏览窗口中把模型元素建好,然后再把它们
拖到相应的图中。这样更能体现图是模型的可视化表现这个思想。
老幺:我觉得那种方法都可以。
小灵:有了ACTOR之后,我们就可以为每个ACTOR分析它们所要求的系统应该
具有的功能,也就是USE CASE。在创建了USE CASE之后,我们需要把
ACTOR和USE CASE拖到USE CASE图中,并用箭头表示它们之间的交互关
系。
老幺:画完了USE CASE图之后呢?
小灵:USE CASE分析之后,我们要考虑USE CASE的实例senario的事件流程,
这通常使用交互图(包括顺序图和协作图)来描述。在这些图中,我
们用对象和对象之间的消息流来描述senario,从而发现要完成USE
CASE,系统必须具有哪些对象,以及这些对象应该响应哪些消息。
老幺:这比Coad方法中发现对象的方式更具操作性。
小灵:当我们把这些senario分析完了之后,我们发现了许多对象,下一步,
我们就要为这些对象定义相应的类了。
老幺:这些类是在Logical View中定义和显示的喽!
小灵:对,我们在Logical view中定义这些类,然后把它们组织成包。创建
类图,把包、类之间的关系绘制在图上,建立起系统的静态模型。这
些类将是系统中最稳定的元素。
老幺:go on.
小灵:我们可以为每一个类创建一张(也只能创建一张)状态图。
老幺:怎么操作?
老幺:怎么操作?
小灵:在浏览窗口中选中一个类,选右键菜单上的state diagram,就可以创
建这个类的状态图。状态图描述了这个类的对象在外部事件的影响下
的状态改变。
老幺:我们不停的细化和修改这些元素,直到我们可以很容易的实现它们。
小灵:在实现阶段,我们在ROSE的Component view中定义一些实现包。这些
包的定义要综合考虑逻辑包的结构和实现环境。在实现包中我们定义
一些模块module,模块可以是子系统、子程序、任务等等实现上的划
分。然后,我们把逻辑包映射到实现包上,把类映射到模块上。这样
就把系统的逻辑结构和实现结构挂上了钩。
小灵:最后,我们还可以为软件系统将要运行的环境定义一张实施图
deployment diagram。
老幺:我们把模型建立完了之后,可以使用ROSE的代码自动生成功能为我们
自动生成大部分的代码。并且ROSE的双向工程Round-Trip
Engineering功能,可以保持代码和模型的一致性。
小灵:怎么样,我学得很快吧?
老幺:不错不错。
小灵:主要是要一步步过一个例子。我觉得有Demo1.mdl、Demo2.mdl、
Rosemode.mdl和Wlkthr_r.htm的例子不错。按照Wlkthr_r.htm的说明
,一步步做下去,很快就能掌握ROSE的基本操作。我已经把
Wlkthr_r.htm文件翻译成中文了。
老幺:那你还不把它贴到BBS上,让大家共享?
小灵:太大了,而且还是HTML格式的,挺不方便。
老幺:没关系,只要有用就行。式的,挺不方便。
小灵:这样吧,我在BBS上贴一个,再把HTML文档上载到202.197.12.252的目
录/incoming/rose_cpp下,名字叫CWlkthr.htm,让大家下载好了。
老幺:太好了。
小灵:我这就做。
--
※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: 202.118.227.122]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:7.094毫秒