接下来就是报名了。实际的高考报名是在前一年的年底,为了简化我们移到考试之前。以下是时序图。
Student通过调用AdmissionOffice的registerStudent方法来实现报名。如果成功会返回一个考生号。Student会将这个考生号保存在数据成员m_id中以备将来使用。以下这部分功能的类图。
上图中,StudentManager作为AdmissionOffice的一部分(组合关系,关注实心菱形)而存在,它的主要职责是负责管理高考报名信息。以下是register的主要处理内容:
-
检查是否允许报名。比如重复报名(等),如果检查不能通过则处理终止并返回失败。
-
生成唯一的考生号,并与考生信息一起保存。
-
返回成功并通知考生号码。
目前StudentManger的功能只有一个报名,将来还要负责查询工作。它的功能将会随着各种流程的深入而不断加强。
只要定义好角色,不一定要马上就把所有的方法一次定义完全。
值得注意的是AdmissionOffice没有进行任何处理而是直接将登陆请求转