C++建模实战-高考录取系统
扫描二维码
随时随地手机看文章
招生工作中由招生办公室内负责的部分虽然已经结束,剩下的就是将录取信息发送给各所大学,然后通知考生。
向大学报告招生结果
招生办公室在招生工作结束后,要把结果报告给各所大学。
具体步骤如下:
招生办公室AdmissionOffice从AdmissionBoxManager处获得参加招生的大学清单university_list。
对于清单中的每一所大学,根据university_id从AdmissionManager中取得AdmissionBox。
调用AdmissionBox的createReport方法生成面向大学的招生结果报告AdmissionReport。
从教育厅EducationDepartment处获得大学university。
调用reportResult将AdmissionReport发送给该大学。
录取通知书发放
学校收到招生结果报告后要向被录取的考生发放录取通知书。
具体步骤如下:
利用getStudentList方法从AdmisiionReport处获取已录取考生清单。
生成录取通知书AdmissionLetter。
利用send方法向考生发送AdmissionLetter。
如果认真读完了前面的文章就会知道,AdmissionBox其实只是拿着考生号。在这个流程中需要AdmissionReport了解考生信息。为了实现这一点,可以考虑以下两种方法:
发送录取通知书时通过考生号取得
录取时在AdmissionBox中增加学生信息。
第1种方法需要大学通过考生号向有关部门查询学生信息。这不符合实际情况。这里我们采取第2种方法,我们对Admission流程做了下图红框中的修改,用考生信息替代了考生号。修改的同时也避免了信息的冗余。
当然也可以有第三种方案,录取成功后,比如只在AdmissionBox中增加考生的特定信息而不是粗暴的将考生保存在AdmissionBox中。机会留给各位吧。
再设计时,经常会遇到各种选择,每一种方案都要放到流程中,综合考虑合理性,一致性,是否有冗余,工作量如何等方面。
设计其实就是选择,设计也是妥协。
所谓高手,就是善于选择,善于妥协的人吧。