APP下载

基于ASP.NET机械工程材料网络试题库的开发

2018-11-28

安阳工学院学报 2018年6期
关键词:控件管理员页面

王 睿

(安徽农业大学工学院,合肥 230036)

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中,并给出成功与否的提示。

2.4.2 选择题查询、修改和删除模块的实现

系统通过DataGrid控件绑定,将choicequestions表中所有信息按ID升序排列,显示在前台的页面上。按修改链接则根据所选的ID将该题的信息在页面编辑窗口中显示,进行修改后,对choice-questions表中的该条记录信息进行更新,判断题和选择题的查询、修改和删除模块与选择题类似。

2.5 试卷管理模块的实现

2.5.1 试卷生成模块的实现

管理员在页面上可以选择试题考核章节范围,并输入试卷编号、选择题、判断题和填空题的分值和题数。系统根据输入的题目类型、题数及章节范围从相应题型的数据库表中选取符合要求,数量为题数的不重复的ID值,与管理员输入的试卷信息一起作为一条新纪录插入exampapers数据库表中。

2.5.2 试卷查询、修改和删除模块的实现

系统通过DataGrid控件绑定,将exampapers表中所有信息显示在前台的页面上。若点击“手工修改”链接,则进入修改页面,根据ID值从exampapers表中将数据取出通过DataGrid控件绑定显示在页面上,再通过页面的控件输入修改值对exampapers表的相应记录进行更新,完成修改。若点击“查看详细”链接,则进入试卷预览页面,根据exampapers表的相应记录信息,从相应的数据库表中查出题目的信息。例如通过exampapers表中相应记录的选择题ID信息,从choicequestions表中查询对应的记录,再通过DataList控件绑定显示在页面上,即得试卷的选择题页面。若点击“删除”链接,则将相应的记录从exampapers表中删除。

2.6 留言板管理模块的实现

系统通过DataView控件绑定messageboard数据库表的所有信息,并按倒序显示在页面上,以保证最后输入的信息在留言板中最先显示。页面设置每隔5秒自动刷新一次,以保证用户得到最新的留言信息。当选择清除留言板信息时,只要将messageboard数据库表的所有数据删除即可。

2.7 考试管理模块的实现

2.7.1 选择试卷模块的实现

只有普通用户即学生进入系统,才有选择试卷的菜单界面。当普通用户点击该菜单,系统把exampapers表中信息,通过DataGrid控件绑定,按ID的降序显示在前台的页面上。当用户点击选择试卷的链接时,即进入测试模块。

2.7.2 测试模块的实现

系统首先通过Cookie得到用户名,再根据用户选择exampapers表的ID值,得到相应题型的ID信息。再由题型ID信息从相应数据库表中查出题目的信息,通过DataList控件绑定显示在页面上,即为试卷的页面。普通用户可以在页面上进行答题,见图5。

图5 测试界面

当按提交按钮时,答题结束。系统遍历DataL-ist中的所有控件,判断题目是否进行解答。若未解答,则将“未答”字符串作为答案;若已解答,则将解答结果作为答案。在不同题目的答案之间还需用逗号隔开,再将解答的结果作为一个字符串插入answers数据库表中的相应记录的字段中,最后通过Cookie将试题编号信息传给测试结果显示的页面中。在测试结果显示的页面中,首先根据Cookie传来的试卷编号和用户名从answers数据库表中查询到相应记录。接着将该记录相应题型字段的字符串值取出,以“逗号”作为分割标记从该字符串提取出每道题的答案存入新建的字符串数组相应元素内。随后通过Label控件将该字符串数组显示在页面中,此即为解答的详细情况。接着系统根据试题编号从exampapers表查询到相应记录,从该记录中的相应题型字段值中得到答案的字符串。它是由“逗号”分隔的相应题型的ID值所组成的字符串。对此字符串处理,首先是去除分隔符“逗号”,将每道题的ID信息存入又一新建的字符串数组的相应元素中。然后根据该数组元素的值,即题型的ID信息,从相应题型的数据库表中查询得到答案。再创建一个新的字符串数组,把该道题的答案存入此数组的相应元素中。通过Label控件将该字符串数组显示在页面中,此即为答案的详细情况。最后比较解答字符串数组和答案字符串数组的每个元素值,得到该用户的成绩和出错详细情况,通过Label控件显示在页面中。

3 结语

本系统简单实用,易于上手。现在已在本校校园网使用,学生可以方便地选择试卷进行测试,从而巩固和提高所学知识。通过留言板,学生还可以与教师交流学习遇到的问题,以便教师改进教学方法和内容,促进机械工程材料教学质量的提高。

猜你喜欢

控件管理员页面
刷新生活的页面
答案
我是图书管理员
我是图书管理员
基于.net的用户定义验证控件的应用分析
让Word同时拥有横向页和纵向页
可疑的管理员
关于.net控件数组的探讨
基于嵌入式MINIGUI控件子类化技术的深入研究与应用
Spreadsheet控件在Delphi数据库系统中的编程与应用