可乐 2022-6-16 11:55
这两个的关系,应该表达成聚合关系,还是依赖关系呢?
UMLChina潘加宇
什么关系也没有,独立的
这个**统计是冗余的快照。
这个类的对象是统计某个或某些类的对象的属性值得到的,从领域逻辑上看,系统不需要这个类,搞一个这种类(表)的借口往往是性能,临时计算等待时间太长,所以算好了放在这个类(表)里。
这个类在分析模型(核心域模型)中不需要存在。
如何通过增加冗余来应对性能问题,这是一个实现的套路,和具体的某个领域无关,不应该带到领域模型里面来,它和分析模型(核心域模型)中的类没有关系。
否则你想想,如果你有三个类(表)ABC,里面分别有若干属性,需要查询和组合ABC的属性得到的报表可能很多,像图中那样,如果要画线的话,岂不是要到处画?
存在关联关系的一种情况是:系统需要记住“曾经对那些类(表)作统计”的细节(理由可能是为了收费?),这个信息不是冗余的,属于分析模型的一部分。
举个例子,有一个类“人员”,属性:身份证号、姓名、生日、性别。
有一个报表“2022年出生人员按性别统计”,属性:性别,出生人数。这个属于可以计算的冗余信息。
但是,如果系统要记住曾经对哪个人做了“统计”的操作,以便给他发点钱补偿一下他被统计的损失,那么就有“人员统计”类,属性:人员、被统计时间。
这个不是冗余的,从人员(身份证号、姓名、生日、性别)计算不出来。
可乐 2022-6-16 13:37
潘老师,那如何表达我想表达的那种过程呢?
UMLChina潘加宇
序列图上就是f以ABC为参数,创建报表
缺失的基础知识可能较多,有空可以好好看一下《软件方法》第8章
[推荐升级]23套UML+EA和StarUML的建模示范视频-全程字幕(2022.6.1更新)
《软件方法》书中自测题-题目全文+分卷自测(1-8章)16套111题