如何设计一个考试系统?

一个小学生四则运算考试系统,该系统功能如下:
1.主界面包括:计算练习、计算考试、查询成绩、成绩排序、学生信息删除。
2.计算练习时,系统随机出题,运算数均在100以内,运算类型包括加减乘除,除法应能整除,显示算式,键入结果,正确和错误均有提示,出错时允许再输入,最多三次机会,若还不正确,给出答案。根据提示信息继续练习或者退出练习
退出前显示总题数,正确数和正确率。
退出练习后根据提示信息进入主界面或者退出系统
3计算考试时提示输入学号和姓名后,可以输入出题数量,系统随机出题,每题只给一次机会,总分为100分,根据正确率计算得分,统计得分。

结束后,给出总分,显示各题的对错信息,错误的给出答案。并将学生学号、姓名和成绩保存入文件,成绩只保留最高分。考试结束后根据提示信息进入主界面或者退出系统
4查询成绩时,首先提示输入学生学号和学生姓名,输出学生的考试成绩。查询结束后退出练习后根据提示信息进入主界面或者退出系统。
5排序成绩时,将已有学生成绩降序排序,并输出排序前后的结果。排序后根据提示信息进入主界面或者退出系统
6学生信息删除时,提示输入学号和姓名,删除学生相关信息。如果不存在此学生时,给出提示信息。
信息删除后根据提示信息进入主界面或者退出系统

大概看了一下,目前我认为这个系统应该涉及以下模块
1.学生信息管理
2.题库管理
3.考试记录管理
4.用户认证模块
5.考试题库生成
6.考试