rose中的組合

生成組合
1、添加關聯
2、設置重數爲1:1
3、設置主類爲aggregate
4、設置主體類爲 navigable
4、設置主類爲按值傳遞

示例:
一個進程由pcb, code, date三部分組成。
其類圖表示如下:

組合


設置方法:
1、在工具欄選擇 "association" (關聯),從process類連接到pcb類。
2、編輯role B 屬性 open specital , role B detail ,multiplic(重數) 爲1,勾選 "Aggregate",不勾選"navigable"。containment of Data (傳遞方式)爲by value。

 

3、編輯role A 屬性 role A detail ,填寫role名稱爲 pcb ,勾選"navigable" ,不勾選 "Aggregate",containment of Data (傳遞方式)爲by value。

在rose中,元件類爲A 而 主體類爲B,這與我們的習慣思維主體在前,部分在後不同。因爲rose認爲,a是server,而b 是client,A爲B提供服務。這大概是西方與中國文化的不同吧。也可能正因爲此,rose不區分“組合”與“聚合”(甚至於UML建模精粹中也說“把它(組合)想像成建模安慰劑”)。

其生成的主體類 Process的.h代碼如下,完整的代碼見附件。


#ifndef PROCESS_H_HEADER_INCLUDED_B80A55DC
#define PROCESS_H_HEADER_INCLUDED_B80A55DC
#include 
"Code.h"
#include 
"Data.h"
#include 
"PCB.h"

class Process
{
  
public:
    PCB pcb;
    Code code;
    Data data;
}
;



#endif /* PROCESS_H_HEADER_INCLUDED_B80A55DC */

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章