类图

 

添加设计包和类图

1. 在浏览器中右击Packages目录,选择Add New Package。重命名包名为Design

  Rhapsody收银机项目操作示例(二)_可见性

2. 右击Design包,选择Add New|Diagrams|Class Diagram。在New Diagram对话框中输入Entity Class。单击OK

Rhapsody收银机项目操作示例(二)_类图_02

Rhapsody收银机项目操作示例(二)_类图_03

Rhapsody收银机项目操作示例(二)_可见性_04

3. 在Design包下,再创建两张名为Boundary ClassControl Class的类图。

Rhapsody收银机项目操作示例(二)_类图_05

添加边界类和实体类

1. 双击Boundary Class类图,出现类图绘图区。

2. 单击工具箱Diagram Tools组下的类按钮Rhapsody收银机项目操作示例(二)_类图_06,单击绘图区左侧。将缺省的类名Class_n改为CashierUI。(也可以双击该类,在弹出对话框的Name框修改)

Rhapsody收银机项目操作示例(二)_下拉列表_07

3. 右击CashierUI类,选择Format,在Font页签调整字体为合适大小,单击确定。调整类框到合适大小,使得类名称字符全部显示。

Rhapsody收银机项目操作示例(二)_类图_08 

4. 右击CashierUI类,选择Make Default,在Make Default对话框的Item组选中New Element Size复选框,在Level组选择Project单选钮。单击OK

5. 双击CashierUI类,在Class属性框中,单击Stereotype下拉框,选择《New》。在Stereotype对话框中,把Name框的文本改为Boundary。单击OK关闭Stereotype对话框。单击OK关闭Class属性框。

Rhapsody收银机项目操作示例(二)_下拉列表_09

Rhapsody收银机项目操作示例(二)_类图_10

Rhapsody收银机项目操作示例(二)_可见性_11

Rhapsody收银机项目操作示例(二)_类图_12

6. 在CashierUI类的右侧,添加SupermarketSystemInterface类。

Rhapsody收银机项目操作示例(二)_下拉列表_13

7. 双击SupermarketSystemInterface类,在Class属性框中单击Stereotype下拉框,选择Boundary in Design。单击OK关闭Class属性框。

Rhapsody收银机项目操作示例(二)_类图_14

Rhapsody收银机项目操作示例(二)_类图_15

8. 双击Entity Class类图,出现类图绘图区。

9. 添加以下名称的类:SaleCashierPaymentSalesLineItemProductDescription,布局如下。

Rhapsody收银机项目操作示例(二)_可见性_16

添加属性

1. 双击Sale类,在Class属性框的Attributes页签单击<New>,命名新增加属性为SNVisibility列表选择PrivateType列表中选择char *

Rhapsody收银机项目操作示例(二)_可见性_17

2. 继续为Sale类增加以下属性:

    名称:saleDateTime,类型:long可见性:Private

    名称:total,类型:float可见性:Private

单击OK关闭Class属性框。

Rhapsody收银机项目操作示例(二)_可见性_18

4. 右击Sale类,选择Display Options,在Display Options对话框的Compartments页签的Compartment下拉列表选择Attribute,在Show组中选择All单选钮。在Compartment下拉列表选择Operation,在Show组中选择All单选钮。单击确定关闭对话框。

Rhapsody收银机项目操作示例(二)_可见性_19

Rhapsody收银机项目操作示例(二)_类图_20

Rhapsody收银机项目操作示例(二)_下拉列表_21

5. 拖动Sale类的右下角,调整类的大小使得所有属性都显示出来。

Rhapsody收银机项目操作示例(二)_类图_22

6. 给Cashier类添加如下属性:

    名称:name,类型:char *,可见性:Private

    名称:workNumber,类型:char *,可见性:Private

设置显示选项,使得该类的属性和操作全部显示。

7. 给Payment类添加如下属性:

    名称:amount,类型:float,可见性:Private

    名称:amountPay,类型:float,可见性:Private

    名称:amountChange,类型:float,可见性:Private

设置显示选项,使得该类的属性和操作全部显示。

8. 给SalesLineItem类添加如下属性:

    名称:quantity,类型:int,可见性:Private

    名称:itemTotal,类型:float,可见性:Private

设置显示选项,使得该类的属性和操作全部显示。

9. 给ProductDescription类添加如下属性:

    名称:SN,类型:char *,可见性:Private

    名称:unitPrice,类型:float,可见性:Private

设置显示选项,使得该类的属性和操作全部显示。

Rhapsody收银机项目操作示例(二)_可见性_23

添加关联

1. 单击工具箱Diagram Tools组下的关联图标Rhapsody收银机项目操作示例(二)_可见性_24,单击Sale类,再单击SalesLineItem类。可以看到两个类之间建立了关联关系。

Rhapsody收银机项目操作示例(二)_下拉列表_25

2. 右击SaleSalesLineItem之间的关联线,选择Display Options,在Display Options对话框中,取消选择Name。单击OK,可以看到标签文字被删除。右击关联线,选择Make Default,在Make Default对话框的Level组选择Project单选钮。单击OK

Rhapsody收银机项目操作示例(二)_类图_26 Rhapsody收银机项目操作示例(二)_下拉列表_27

3. 双击SaleSalesLineItem之间的关联线,出现Association属性框。在End1itsSalesLineItem页签的Multipilicity下拉列表选择*Aggregation Kind组选择Composition单选钮。在End2(itsSale页签的Multipilicity下拉列表选择1。单击OK关闭Association属性框。

Rhapsody收银机项目操作示例(二)_下拉列表_28

Rhapsody收银机项目操作示例(二)_类图_29

Rhapsody收银机项目操作示例(二)_可见性_30

3. 单击工具箱Diagram Tools组下的关联图标Rhapsody收银机项目操作示例(二)_可见性_24,单击Sale类,再单击Cashier

4. 双击SaleCashier之间的关联线,出现Association属性框。在End2页签(itsSale)的Multipilicity下拉列表选择*。单击OK关闭Association属性框。

Rhapsody收银机项目操作示例(二)_类图_32

Rhapsody收银机项目操作示例(二)_类图_33

5. 继续建立SalePayment之间、SalesLineItemProductDescription之间的关联,多重性如下所示。

Rhapsody收银机项目操作示例(二)_可见性_34

添加泛化

1. 鼠标圈住Entity Calss类图上的所有类,向下移动为新增类腾出空间。

Rhapsody收银机项目操作示例(二)_可见性_35

2. 添加两个类ManagerEmployee,位置如下。

Rhapsody收银机项目操作示例(二)_下拉列表_36

3. 展开浏览器的Packages-->Design-->Classes-->Cashier-->Attributes,按住Ctrl键选中Cashier的两个属性,拖动到Employee类。

Rhapsody收银机项目操作示例(二)_可见性_37 Rhapsody收银机项目操作示例(二)_类图_38

4. 设置显示选项,使得Employee类的属性和操作全部显示。

Rhapsody收银机项目操作示例(二)_可见性_39

5. 单击工具箱Diagram Tools组下的泛化图标Rhapsody收银机项目操作示例(二)_可见性_40,单击Cashier类,再单击Employee类。单击泛化图标,单击Manager类,再单击Employee类。

Rhapsody收银机项目操作示例(二)_可见性_41

6. 查看Process Sale用例的规约,检查是否有类图中未包含的信息。

7. 为ProductDescription类添加属性,名称:description,类型:char*,可见性:Private

Rhapsody收银机项目操作示例(二)_下拉列表_42