Rational Rose2002学习笔记

发表于:2008-07-24来源:作者:点击数: 标签:笔记rationalRationalRATIONAL学习
1. Rose的作用 (1)项目开始阶段 产生使用案例模型 (2)细化阶段 开发 程序的类框图,合作图,先是要开发的对象,及其相互间的交互。类框图显示对象间的相互关系。 (3)构造初始阶段 生成组件框图,显示系统组件间的相关性,并产生系统的框架代码。 (4

1. Rose的作用
(1)项目开始阶段
 产生使用案例模型
(2)细化阶段
 开发程序的类框图,合作图,先是要开发的对象,及其相互间的交互。类框图显示对象间的相互关系。
(3)构造初始阶段
生成组件框图,显示系统组件间的相关性,并产生系统的框架代码。
(4)构造阶段
 将新开发代码通过逆向工程转出到模型中,从而将开发阶段出现的变化反映到模型中。
(5)交接阶段
这个阶段,Rose主要用于在软件产品完成时更新模型。

2.如何选择缺省编程语言
 例如选择VC++语言的方法是,Tools->Options->Notation->Default->VC++。

3. Use Case View的作用
  Use Case视图包括系统中所有的角色、使用案例和Use Case框图(Use Case Diagram),还可能包括一些Sequence和Collaboration框图。
 项目开始时,Use Case视图的主要使用者是客户、分析人员和项目管理员。这些人利用使用案例、Use Case框图和使用文档来确定系统的高层视图。
 使用案例只关注系统的作用,而不关注其实现细节。
4.Logic视图采用两步法
Logic视图采用两步法,首先标示分析类,然后标示设计类。所谓分析类就是和语言无关的。例如有Boundary类,Control类,Entity类等。而设计类就具有特定的语言特点,比如Java类,或者C++类。分析类和设计类没有一一对应关系。
5. Logic视图有什么作用
 Logic视图关注的是系统的逻辑结构。在这个视图中,要标示系统组件,检查系统的信息和功能,检查组建之间的关系。这里重复使用是一个主要目的。通过认真指定类的信息和行为,组合类,以及检查类和包之间的关系,就可以确定重复使用类和包。完成多个项目后,你就可以将新类和包加进重复使用库中。今后的项目可以组装现有的类和包,而不必一切从头开始。

 6.使用控制单元支持多用户并行开发
Rose通过控制单元支持多用户并行开发。Rose中的控制单元可以使Use Cas视图、Logical视图或Compinent视图中的任何包。此外,Deployment视图和Model Properties单元也可以进行控制。控制一个单元时,它存放在独立于模型其它部门的文件中。这样,独立文件可以利用支持SCC版本控制攻击进行控制,如Rational ClearCase、Microsoft SourceSafe和Rose自带的基本工具。控制单元可以从浏览的模型中装入或卸载。使用控制工具还可以检查进口和出口(Checked In和Out)。

7.输入输出模型
 面向对象机制的一大好处是重复使用,重复使用不仅适用于代码,也适用于模型。要充分利用重复使用功能。Rose支持输出与输入模型和模型元属。可以输出模型或部分模型。将其输入另一模型。
注意:要输出包或者类时,必须选定逻辑视图里的东西;而要输出模型,则是选定除此以外的东西。
8.Use case和role
使用案例和角色描述所建系统的范围,使用案例包括系统中的一切,角色包括系统外的一切。不考虑编程细节。使用案例是系统提供的高级功能块,角色是与所建系统交互的对象。

9.Use Case view如何安排更合理
     use case view中的main视图主要用来显示使用案例包。至于包里的使用案例可以放在另外建立的一个视图里,这个视图以包的名字来命名,这样可以和主视图(main)分开,使整个Use Case view更清晰。

10.关于Use Case view的几点规定
(1).不要建模角色之间的通信,因为角色在系统之外,管不了那么多;
(2).框图显示可用的使用案例但不管它们的执行顺序,所以不要在使用案例之间画箭头,除非是表示使用关系和扩展关系;
(3).每个案例都要由角色启动,也就是说它们之间要有一个箭头,使用关系和扩展关系除外;
(4).可以把数据库看成是整个Use Case框图下面的层,可以用一个使用案例在数据库中输入信息,然后在另一个使用案例中访问数据库中间的信息,不要在使用案例之间画箭头显示信息流程(与2同:使用案例之间不要随便画箭头,除非是表示使用关系和扩展关系)。

11.使用案例和传统方法不同
将项目分解成使用案例是个面向对象的过程而不是面向实现的过程,因此不同于传统的功能分解法。功能分解法关注如何分解成系统能处理的小块,而使用案例首先关注用户对系统的需求

12.如何寻找使用案例
 检查客户提供的文档,同时询问最终客户需要什么功能:
(1) 这个系统用来干什么?
(2) 用户是否要维护任何信息(生成、读取、更新、删除)?
(3) 用户是否要把外部事件告诉系统?
(4) 系统是否要把某些改变和事件告诉用户?

13.关于使用案例的几点建议
 (1)使用案例独立于编程细节,它关注的是系统的功能而不是如何实现这个功能。
(2)使用案例是高级视图,不能太多,一般用户的使用案例的个数是20到50个。可以运用使用关系和扩展关系将使用案例进行必要的分解,也可以将使用案例组合成组,以便于组织。
(3)使用案例关注使用系统的用户。每个使用案例应表示用户与系统间的完整事务,为用户提供一定价值。使用案例应该按照业务属于命名,而不是按照计算机技术术语命名,应该让客户一目了然。使用案例通常用动词或动词短语命名,描述客户看见的最终结果,客户不关心实现这些需要采取什么具体步骤。

14.如何检查使用案例是否完整
(1)每个功能要求是否至少在一个使用案例中?如果要求不在使用案例中,则不会实现。
(2) 是否考虑每个用户如何使用系统?
(3)每个用户向系统提供了什么信息?
(4)每个用户从系统接收了什么信息?
(5)是否考虑了维护问题?要有人启动和关闭系统。
(6)是否标示了系统要交互的所有外部系统?
(7)每个外部系统从系统接收什么信息,向系统发送什么信息?

15.使用案例的细化——建挡事件流
 (1)简要说明:描述该使用案例的作用;
(2)前提条件:开始使用案例时必须满足的条件;
(3)主事件流和其它事件流:使用案例的具体细节在主事件流和其它事件流中描述。事件流是关注系统干什么,而不是怎么干
a.使用案例如何开始;
b.使用案例的各种路径;
c.使用案例的正常(主)流程;
d.使用案例的主事件流的变形(其它事件流);
e.错误事件流;
f.使用案例如何结束。
(4)事后条件:使用案例结束后必须为真的条件。

原文转自:http://www.ltesting.net