Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
UML类图泛化与否?_Uml - Fatal编程技术网

UML类图泛化与否?

UML类图泛化与否?,uml,Uml,教授要求绘制一个具有多重性和关系的类图,用于以下场景: 选修科目的学生借用科目中列出的课本 课程大纲和一些未列入本科目的参考书 教学大纲 我知道如何画出学生和学科之间的关联关系。 但我不确定是否应该生成Book类,并为教科书和参考书创建两个子类。我的理由是我认为教科书和参考书使用相同的属性和方法。一般化可能是没有必要的 思考几分钟后,我可以创建具有公共属性title、ISBN等的Book类,并创建另一个类BookType来指示Book类型。 但我认为BookType可以是Book类的一个属性 由

教授要求绘制一个具有多重性和关系的类图,用于以下场景:

选修科目的学生借用科目中列出的课本 课程大纲和一些未列入本科目的参考书 教学大纲

我知道如何画出学生和学科之间的关联关系。 但我不确定是否应该生成Book类,并为教科书和参考书创建两个子类。我的理由是我认为教科书和参考书使用相同的属性和方法。一般化可能是没有必要的

思考几分钟后,我可以创建具有公共属性title、ISBN等的Book类,并创建另一个类BookType来指示Book类型。 但我认为BookType可以是Book类的一个属性


由于我没有具体的想法,有人能给我一些建议吗?

一般来说,答案取决于功能需求,但我不会具体说明教学大纲和参考书之间的区别,因为最终它们仍然是书,没有任何特定的规范或方法。因此,我将排除泛化和类型属性的添加。最多,如果你需要区分这两种书,你可以说一个学生持有两种不同的借书清单,教学大纲书和参考书。

我不认为把这种区分放在“学生”的属性中会有任何好处。要么我认为它应该是一个泛化,要么什么都没有。很难说哪一个是最好的解决方案,这个问题没有具体说明任何功能需求,但我放弃了泛化,留下了最广泛的灵活性。我提出的最后一个解决方案与一个可能的场景有关,在这个场景中,用户需要对两个子集的书籍执行不同的操作。