IBM Rational Rose读书笔记 (4)

 
第八章 关系
介绍类之间的关系。关系是类之间的词法连接,使一个类了解另一个类的属性、操作和关系。
寻找关系的方法
1.       检查Sequence框图和Collaboration框图。如果类A向类B发出消息,则它们必然有关系。通过这种方法找到的一般是关联和依赖型关系。
2.       检查类的整体/部分关系。然和由其它类组成的类都参与聚集。

3.       检查类的泛化关系。

关系类型
关联
      关联是类之间的词法连接,使一个类知道另一个类的公共属性和操作。
      关联可以是双向的,但尽量调整为单向,这样可以保证被使用的类可以复用。

      关联中被使用的类(即被指向的类)一般是作为另一个的类属性。

依赖
      依赖显示一个类引用另一个类。依赖并不对关系的类增加属性,这是跟关联的主要区别。
      再依赖中,因为一个类不是另一个的属性,所以实现中有三种方法。一是使用全局变量,二是使用本地变量,三是使用函数参数。

      包之间也,可以存在依赖性。包A到包B的依赖性表示A中的某些类与B中的某些类有单向关系。

聚集

      聚集是强关联。聚集是整体与部分的关系。  

实现

      显示类与接口、包与接口、组件与接口和用例与用例实现(协作)之间的关系。

泛化
      表示两个模型元素(类、角色、用例和包)之间的继承关系。
设置关系规范
基数
      表示某个时刻一个类的几个实例和另一个类的一个实例相关联。
角色
      表示该类在关联关系中的作用
输出控制
      在关联关系中,因为被关联类是关联类的一个属性,所以使用Public、Private、Protected、Package或implementation来设置该属性的可见性。
静态关系
      类似输出控制,表示属性是否静态变量
朋友关系
      表示Client类能访问Supplier类的非公共属性和操作。
包容

      确定聚集关系生成的属性按值还是按引用包容。

限定符

      用来缩小关联范围(???)

链接元素

      产生一个类,与关联相关。用来设置关联属性。

使用Rose管理关系的技巧
1.       设置关系基数的方法:对关联(包括聚集)关系在规范窗口中Role Detail标签中设置;对其它关系,在规范窗口的general标签中设置。
2.       设置朋友关系的方法:对关联(包括聚集)关系在规范的Role Detail标签中设置;对其它关系,在规范窗口的general标签中设置。
3.       设置链接元素的方法:规范->Detail->Link Element。然后使用工具栏中的Association Class来关联连接元素和连接。
第九章 对象行为

本章介绍Statement框图。Statement框图显示了一个对象从创建到删除的生命周期。它可以建模类的动态行为。

Statement框图
状态
      状态是对象存在的可能性条件。可以从两个地方确定对象状态:属性值和与其它对象的关系。在UML中用圆角矩形表示。
状态细节
      一个状态可以加入五种信息:活动、进入操作、退出操作、事件、状态历史。
1.       活动:是对象在特定状态时进行的行为。活动是可中断的行为,可以在对象处于该状态时运行完毕,也可以在对象转入另一个状态时中断。活动在状态内显示,前面加do/。
2.       进入操作:时对象进入某个状态时发生的行为。进入操作时不可中断的,这是与活动的重要区别。前面加上entry/
3.       退出操作:与进入操作类似,但在退出某个状态时发生。也是不可中断的。前面加exit/。
4.       活动、进入操作、退出操作中的行为可以包括相另一对象发送事件。前面加^。例如:Do/ ^Target.Event(Arguments)。
5.       活动可以在收到某个事件之后发生。
转换

 

      是从一个状态变成另一个状态。每个转换画成从原状态到新状态的箭头。可以自反。
转换细节
      每个转换可以指定多个规范,包括事件、变元、保证条件、活动和发送事件。
1.       事件:导致对象从一种状态变成另一种状态。大多数转换都有事件,导致对象从一个状态转换到另一个状态。但也可以没有事件而自动过渡。对于自动过渡,对象在发生了所有进入操作、活动和退出操作后自动从一种状态转换到另一种状态。
2.       保证条件:控制转换何时发生和不发生。
3.       活动:转换中发生的不可中断的行为。进入和退出操作在状态内显示,定义每次对象进入或退出状态时的行为。但大多数活动时在过渡线上画出的,因为不是在每次对象进入或退出状态时发生。
开始状态

      对象创建时的状态。

停止状态
      对象删除时的状态。
使用嵌套状态与状态历史
      可以在一个状态中嵌套一个或几个状态。嵌套状态称为子状态,而大状态称为父状态。如果两个或几个状态有相同的转换,可以组成父状态。然后不是对每个状态维护两个相同的转换,而是把转换移到父状态中。
      父状态中可以有一个开始状态。开始状态表示父状态中的默认起点。对象首次进入父状态时,处于这种开始状态。

      状态可以设置状态历史来记住对象状态。如果设置历史选项,则对象可以离开父状态,然后返回到正确状态。

使用Rose处理状态框图
1.       使用状态历史的方法:规范窗口->设置State/Activity History框。
第十章 Component视图
在Component视图中,我们着重考虑系统的实际结构。
组件是代码的物理模块。组件剋包括代码库和运行文件。组件间唯一的关系类型是依赖。依赖要求一个类在另一个类之前编译。
组件类型
1.       组件(狭义):具有良好定义接口的软件模块,可以用stereotype字段指定组件类型(如ActiveX、Applet、Application、Dll和Executables等等)。
2.       子程序规范:子程序一般是一组子函数(roution)的集合。规范是显示规范。子程序中没有类定义。
3.       子程序体。子程序的实现体。
4.       主程序。主程序是包含程序根的文件。
5.       包规范:包是类的实现方法。包规范是头文件,包含类的函数原型信息。对应c++,包规范为h文件。
6.       包体:包含类操作代码。在c++中是cpp文件。
7.       任务规范和任务体:表示具有独立控制线程的包。
8.       数据库。
使用Rose管理Component框图
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值