我有一个关于关联的问题,确切地说我想知道多重性,我理解这些,但是例如,如果我有:
--------- ---------
| |1 * | |
|CLASS |----------| STUDENT |
| | | |
--------- ---------
Run Code Online (Sandbox Code Playgroud)
剂量意味着在系统存在期间的任何一点,必须至少有一名学生被分配到该班级,或者如果系统正常运行,那么这些多项应该是真的.
我在问这个问题,因为我想知道创造一个物体的那一刻.首先,我们创建一个空类,然后与学生一起填充.有一段时间这个课程是空的,但只有在创作和填充期间,它至少有一个学生.因为如果我将1更改为0..1它会建议可以有空类,它不是假的(这个填充的时刻)但后来我不想允许没有学生的课程.
编辑:改变0 ..*到0..1,它应该像现在一样,抱歉混淆.
sfi*_*nie 11
剂量意味着在系统存在期间的任何一点,必须至少有一名学生被分配到该班级,或者如果系统正常运行,那么这些多项应该是真的.
这是个好问题.这意味着,当系统处于稳定状态时,每个学生必须只与一个班级相关联.这又引发了另一个问题:什么构成了"稳定的国家"?UML一般不会将此形式化.直观地说,这意味着当没有正在进行的活动正在积极地改变状态时.UML的一些配置文件更加严格.例如,Executable UML表示系统可以在执行状态操作时违反基数约束.但是,当状态操作完成时,它必须使系统处于有效状态,即满足所有基数约束的情况.
数据库在这里提供了一个很好的类比.当系统稳定时,DB约束(例如非null和外键)必须保持为true.在执行事务期间,可能暂时违反约束.但是,当事务完成时,它必须使db处于有效状态.
所以对于你的例子如图所示:
*说0或更多 - 所以课程不需要任何学生)心连心.