寻宝小分队——原型设计与需求分析的QA

寻宝小分队 2025-10-17 23:24:40
这个作业属于哪个课程202501福大-软件工程实践-W班
这个作业要求在哪里团队作业第二次——原型设计与需求分析
这个作业的目标针对答辩时提出的问题,撰写Q&A博客
团队名称寻宝小分队

目录

  • Q:类图是不是需要一个类似于奖项这样的类呢?
  • Q:泳道图的具体内容是什么?

Q:类图是不是需要一个类似于奖项这样的类呢?

A:是的,需要。
为了避免数据冗余和不一致性,引入一个独立的「奖项(Award)」类是必要的。因为“获奖”这个行为本身往往包含复杂的信息与约束,比如获奖时间、奖项级别、对应赛事或活动、颁发单位等。若直接将这些字段分散在学生类或其他实体中,会造成重复记录,增加维护成本,也不利于未来的扩展。针对这一问题,我们团队提出了两种设计方案:
方案一:使用关联类 WinningRecord
这种设计将“获奖”作为一个独立的关联类建模,用于连接 Student 与 Award。
例如,一名学生可以在不同时间获得多个奖项,同一个奖项也可能被多名学生获得。通过 WinningRecord,我们可以记录“谁在什么时候获得了哪个奖项”,并附带获奖届次、排名、证书编号等细节。这样可以很好地描述多对多的关系,并方便扩展、查询与统计。
方案二:直接关联 + 关键信息放在 Award 或通过关联类细化
在较简单的业务场景下,也可以将 Student 与 Award 直接多对多关联,部分获奖信息存放在 Award 类中。但这种方式在需要记录更多动态信息(如每次获奖的具体情况)时,会显得不够灵活。因此,在系统需要支持多次获奖记录、详细统计或后续扩展时,推荐使用 方案一。

Q:泳道图的具体内容是什么?

A:在现实中,学生在申报奖项时,一般会先填写表格,将个人获奖信息上报给学院或学校;随后,相关管理人员会对申报信息进行人工汇总、审核和逐一核对,确认获奖的真实性与有效性。我们将以这种现实流程为前提,绘制 UML 泳道图,用于明确各参与角色的职责与交互。
泳道图的内容会包含以下几个核心泳道:
学生:负责填报奖项申报信息并提交。
管理员:负责汇总学生申报信息,对其进行初步审核。
教务/系统后台:负责最终的数据校验、存档以及状态更新。
图中会以「纵向泳道」的形式,上到下表示流程时间顺序,横向分区表示角色。通过活动节点和控制流箭头,清晰地展示不同角色在奖项申报流程中的具体动作及交互关系,达到「职责清晰、流程可视化」的效果。

...全文
68 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

688

社区成员

发帖
与我相关
我的任务
社区描述
2023年福州大学软件工程实践课程W班的教学社区
软件工程团队开发软件构建 高校 福建省·福州市
社区管理员
  • FZU_SE_teacherW
  • 张书旖
  • 郭渊伟
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧