开发一套标准化考试系统,要求通过该系统完成多个科目的标准化考试工作。考试开始时,考生在客户端机器上使用学号和密码登录进入考试系统,如下:
所有考生的信息(包含学号,姓名和密码)在服务器端的student.cfg文件中保存,该文件的保存格式为:“学号:姓名:密码”,如下:
登录成功后进入选择科目界面,考生选择一门考试科目,如下:
所有考试科目的列表在服务器端的subject.cfg文件中保存,该文件不仅保存科目列表,还保存了与科目对应的试题文件的文件名,格式为:“科目名=试题文件名”,如下:
考生选择考试科目后,程序将从服务器接收该科目的试题,并进入考试主界面,如下:
每门科目的考试试题保存在服务器端的一个试题文件中,试题文件的格式如下:
每5行构成一道试题,其中第一行为试题的题干,以下4行为试题的4个选项,并且在正确选项的行首用“”来标示。
考试完成后考生点击主界面上的“交卷”按钮,程序将自动计算考生的得分,并将得分发送给服务器,保存在服务器的*.sco文件中,每门科目都有一个相应的文件,该文件的格式为:
“学号:成绩”,如下:
为完成以上程序,定义以下包及类:
1. 客户端和服务器端的通信方式登录请求客户端发送数据:学号、密码
服务器端返回的数据:学生对象和当前能提供的考试科目列表
选择考试科目客户端发送数据:科目名
服务器端返回的数据:试卷对象
交卷:客户端发送数据:学号,科目,成绩
服务器端返回的数据:成功与否的信息
退出
2. 服务器端的文件若干试题库文件(corejava.exm)
若干科目的成绩文件
学生信息的文件
3. 服务器对文件的访问方式:试题库文件:Paper getPaper(String 科目名);
学生信息的文件:Student getStudent(int id,String passwd);
成绩文件:addScore(int id,float score,String 科目);