精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● 系统分析>>自开版到2000-04-10待整理精华>>ROSE介绍 (三. ROSE的使用)********

主题:ROSE介绍 (三. ROSE的使用)********
发信人: connor()
整理人: majorsun(1999-11-19 15:04:46), 站内信件
  这些天来,小灵和老幺都在认真学习ROSE和UML。这一天,老幺来到小灵家 
来做客,看到小灵正在玩ROSE。 
老幺:小灵,ROSE玩得怎么样啊? 
小灵:嘿,老幺哥,你来啦。请坐。 
(小灵给老幺让座、倒茶) 
小灵:老幺哥,我发现如果UML的基本概念掌握好了,再加上一些例子,ROSE 
      其实并不难学嘛。 
老幺:那好啊,我们来切磋切磋。你来给我介绍一下你的成果吧! 
小灵(清了清嗓子):OK!我们先来看一看ROSE的界面吧。 
(老幺和小灵坐到电脑前) 
小灵: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吗? 
小灵:不错。但是我更习惯先在浏览窗口中把模型元素建好,然后再把它们 
      拖到相应的图中。这样更能体现图是模型的可视化表现这个思想。 
老幺:我觉得那种方法都可以。 
小灵:有了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 bbs.netease.com.[FROM: 202.96.152.112]

[关闭][返回]