基于机械工程材料网络试题库的开发
0 引言
机械工程材料是机械类学生一门重要的专业基础课,由于其理论性和抽象性较强,学生学习时感到抽象、枯燥。为提高学生的学习主动性,形成“以学生为中心”的教学模式,作者开发了带有留言板功能的机械工程材料网络试题库软件。该软件是在Windows Server 2016操作系统环境下开发,采用的数据库为SQL Server 2014,配置IIS服务管理器,在Visual Studio 2013的ASP.NET环境下采用三层架构进行开发。
1 系统设计
1.1 系统总体结构
机械工程材料网络试题库软件把用户分为普通用户和管理员两类,管理员可以是教师或教务管理人员,普通用户就是学生。管理员拥有系统用户管理、个人资料管理、试题管理、试卷管理、留言板管理五个功能模块的权限。在系统用户管理模块中,管理员可以添加用户名,设定用户的初始权限,并给定用户的类型。管理员还可查询、删除系统的所有用户。在个人资料管理模块中管理员可以修改自己的原来密码产生新的密码。为便于标准化,试题库共设置选择题、判断题和填空题三种类型。在试题管理模块中,管理员可以添加、查询、修改和删除试题库中的试题。在试卷管理模块中,管理员确定试卷的编号,给出选择题、判断题、填空题的题数和分值以及确定题目知识点的范围,自动生成题目不重复的试卷。管理员还可查询、修改和删除已有的试卷。在留言板管理模块中,管理员可以进入留言板查看留言,与用户实时交流,并能清除留言板的所有留言信息。普通用户拥有个人资料管理、考试管理、留言板三个功能模块。在个人资料管理中,普通用户可以修改初始密码,设置新的密码。在考试管理中,普通用户可以从已生成的试卷选择一份试卷进行测试。在测试过程中,普通用户可以输入或不输入试题答案,只要按页面的提交按钮,即结束测试。系统自动转入成绩页面,给出测试的成绩、答题、答案和错误的详细情况,方便普通用户找出自己的不足,以便进一步学习。在留言板功能模块中,普通用户可以与教师或其他用户实时交流,但不能清空所有留言,系统的功能结构见图1。
图1 系统功能结构图
1.2 系统架构
本系统的三层架构见图2,表示层位于最上层,为各类Web浏览器,主要功能是在动态页面中显示和接收用户输入的数据。业务逻辑层位于中间层,为Web服务器,主要功能是对数据进行业务逻辑处理。数据访问层位于最下层,主要功能是与数据库进行数据传递。
图2 系统三层架构结构图
1.3 数据库设计
在SQL Server 2014管理工具中建立数据库,命名为test,然后再建立用户、选择题、判断题、填空题、试卷生成、留言板、答题共7张数据库表,分别命名为 allusers、choicequestions、judgequestions、fillquestions、exampapers、messageboard、answers,数据库表见图3。
图3 数据库表
2 系统实现
2.1 系统登录模块的实现
用户在界面输入用户名和密码提交给系统,在allusers表中进行查询。如果查询不成功则给出出错信息;如果查询成功,则将用户名和相应的用户类型的信息采用Cookie存储在客户端上,再根据Cookie中的用户类型的信息,将网页跳转到相应的管理员或普通用户页面,登录管理员界面见图4。
图4 登录管理员界面
2.2 系统用户管理模块的实现
2.2.1 添加用户模块的实现
系统首先根据Cookie中用户类型信息判断是否为管理员,如果不是给出越权信息;如果是管理员则将界面输入的用户名、密码和用户类型信息插入allusers表中,并给出添加成功提示。
2.2.2 查询、删除用户模块的实现
系统通过DataGrid控件绑定,将allusers表中所有信息按ID降序排列,将用户信息显示在前台的页面上,点击“删除”链接可以将该用户删除。
2.3 个人资料管理模块的实现
管理员需要在页面上输入1次原密码和输入2次新密码,如果输入原密码错误或者2次新密码不一致,则给出错误提示。如果输入正确,系统根据从Cookie中得到的用户名信息在allusers表中对密码进行更新,并给出更新成功与否的提示信息。
2.4 试题管理模块的实现
2.4.1 选择题添加模块的实现
管理员在页面中输入题干,难易程度、所属章节、选择项和答案,系统将数据插入相应的选择题表choicequestions中,并给出成功与否的提示。