我刚开始使用UML,我不确定我的图表是否正确。我想从比我更有经验的人那里得到一些建议。
关于我的问题的声明说:
学生学习课程,每个学生可以参加几门“学习”课程。任何课程都可以有一个以上的学生学习它。 由数字代码识别的学生有姓名、出生日期和一个或多个国籍。学习的学生可以获得奖学金。 每门课程学生可以获得一个以上的奖学金。个人奖学金可以发给一个以上的学生。奖学金有一个数字代码,用来识别它们、名称、基本数额和在分配时要满足的不同条件。
我的建议如下:

我想要的是代表学生,助学金和学生参加的课程,我不确定我应该使用联想关系还是三元关系。
有人能确认我的提议UML图是否正确吗?
发布于 2017-05-29 02:44:20
唯一与学生、课程和助学金直接相关的说法是,“学生每门课程可以获得多个助学金”,这是不明确的。
它实际上只说每个学生课程对可以有不止一个相关的助学金。(也许作业的作者认为“每句话说的更多”,但事实并非如此。)这并不是说学生的助学金是否取决于他们的课程,如果是的话,如何决定。你的设计是最好的,当给一个三胞胎,你不能告诉任何其他三胞胎。如果你知道一个学生和课程对,那么当你知道一个学生和课程对的时候,用FK (外键){学生,课程}和接收(学生,课程)的设计是最好的。如果助学金是独立于课程之外给予学生的,那么一项包含学生(学生,课程)和接受(学生,助学金)的设计就足够了。
跟你的教练说清楚。
发布于 2017-05-26 20:18:12
差不多了。菱形(或菱形)形状元素本身就是关联所有连接类的关联类。您希望它是Student和Studies之间的一个简单的关联类,如下所示:

Scholarship代表学生在特定学习中通过的考试。关联类关系由链接到关联(具有m多重性)的虚线表示。
发布于 2017-05-29 18:20:02
在讨论任何属性之前,我看不到问题语句中的名词与类之间的相关性。我希望看到以下课程:
StudentCourseNationalityScholarship我还希望看到一个名为CourseEnrollment的关联类,它在关联的末尾具有以下斜体属性:
Student studiedCourse 1.* CourseCourse studyingStudent 1.* Student该关联类将有另一个与Scholarship的关联,称为ScholarshipAward,它在关联的末尾具有以下斜体属性:
CourseEnrollment awardedScholarship 0.* ScholarshipScholarship receivingCourseEnrollment 0.* CourseEnrollment通过这种安排,Scholarship可以授予Student和Course的组合。
https://stackoverflow.com/questions/44206437
复制相似问题