论文部分内容阅读
摘 要:分析了国内外对本课题的研究现状,找出目前存在的一些问题,针对这些问题开发了《数据结构试题库系统》,试题库系统采用数据结构1800题设计数据库,主要实现了以下功能:用户管理模块,日志模块,个人资料模块,更改口令模块,随机组卷模块,使用帮助模块,按各种题型进行试题的增加、删除、修改、阅读,按试题内容关键字进行模糊查询,按试题类型、学校、年份、章节、分值、在试卷中具体的题号进行条件组合查询。本试题库系统采用ASP.NET、ADO.NET、Sql Server 2005等技术,实现了DAL、BLL、UI三层架构体系,为用户提供了一个知识全面,难度适宜,界面友好,操作简单的辅助学习平台。
关键词:数据结构试题库系统;数据库;ASP.NET;三层架构
中图分类号:TP311.52
随着网络技术与数据库技术的发展,人们的生活和工作方式发生了很大改变,开发建设基于Internet的多媒体学习资源比如试题库系统具有重大意义。《数据结构》是计算机专业的主干课程之一,现有题库存在题库内题型不全面,试题难度、内容等不能满足用户需求等问题。为此,该试题库系统的开发将在保证试题库试题质量以及数量的基础上,开发操作简单、功能多样、维护方便的试题库系统。
1 试题库系统设计
1.1 系统功能概述
(1)系统角色:普通用户和管理员。(2)系统后台:用户管理、选择题管理、判断题管理、填空题管理、应用题管理、算法设计题管理、日志模块、个人资料模块以及口令更改模块。(3)系统前台:1800题浏览、模糊查询、条件组合查询、个人资料模块、口令更改模块以及随机组卷模块。
1.2 系统功能。用户管理,试题管理,日志模块,个人资料模块,随机组卷。
1.3 数据库设计。采用Sql Server 2005设计数据库,设计的表格主要有用户表users,学校表university,章节表chapter,选择题表selection,判断题表judge,填空题表fill_blanks,应用题表applications,算法设计题表algorithm_design。
2 系统主要模块实现
2.1 显示所有用户。查询数据库,得到所有用户信息并将信息保存到泛型集合list中,类DBHelper的静态方法GetDataSet接受一个查询的SQL语句,根据SQL语句以及数据库连接实例化SqlCommand对象,根据该SqlCommand对象实例化一个SqlDataAdapter对象,即数据适配器,通过该数据适配器对象的Fill方法将查询到的数据填充到指定的数据集中,返回得到的数据集。通过该Table数据集将所有用户信息保存到泛型集合list中。采用ASP.NET提供的GridView控件绑定泛型集合list数据源显示用户信息。
2.2 试题添加、修改、删除、查询。以选择题为例,将添加试题界面各控件的内容封装成一个Selection对象,根据该Selection对象组成表示插入操作的语句,通过类DBHelper的静态方法GetScalar执行该语句,插入成功返回0。
根据试题的唯一标识进行修改,选择题对应的标识是selection_id,修改时,执行一条UPDATE语句,WHERE后面的条件为要修改的试题的selection_id,UPDATE语句的执行借助于静态类DBHelper的静态方法ExecuteCommand来实现,修改成功后返回受影响的行数。
对主键进行删除来删除试题。以删除选择题为例,根据selection_id组成一道表示删除操作的语句,由DBHelper类的静态方法ExecuteCommand来执行该SQL语句,操作成功返回受影响的行数。
查询包括条件组合查询和模糊查询。条件组合查询:根据试题类型、学校、年份、章节、分值、题号来查询。模糊查询:根据试题内容关键字进行模糊查询。查询时,将用户指定的查询条件以键值对的形式保存到字典集合dic中,将该字典集合传给特定的方法,该方法是将用户指定的条件生成对应的查询语句,生成的语句保存在StringBuilder对象中,该对象最初的值是表示从指定表中查询出所有记录的SQL指令字符串,WHERE条件永远为真。生成的SQL查询语句最终由DBHelper类的静态方法GetDataSet来执行。
2.3 日志模块加密、解密算法。本系统采用AES的RijndaeManaged加密算法进行加密,RijndaeManaged是一种对称加密算法,加密时先创建一个ICryptoTransform对称加密器对象,创建使用RijndaeManaged对象的CreateEncryptor方法,根据该对象实例化一个将数据流链接到加密转换的流,将待加密的串以字节数组的形式写入到当前的加密流CryptoStream,然后将流内容转换成字节数组,最后将字节数组的内容等效转换成以Base64数字编码的格式,即加密后的内容。
加密时,将待转换的字符串转换成了以Base64编码的格式,解密时,需要将以Base64编码的内容转换为等效的无符号整数数组,根据该数组创建支持存储区为内存的MemoryStream流对象和一个对称解密器对象,通过RijndaeManaged对象的CreateDecryptor方法,根据该解密器对象以及MemoryStream对象创建加密转换流,此时,流中的内容即为解密后的内容。
2.4 随机组卷。普通用户操作模块组卷之前,用户需要输入名称、题型、数量,如果不希望试卷中出现某种题型只需将该题型的数量置为0,点击“开始组卷”,系统会根据用户的输入查询对应的表格,随机返回对应题量的试题。
3 结论
《数据结构》试题库的设计与开发严格按照软件生命周期模型来开发软件,主要实现功能:用户管理模块,日志模块,个人资料模块,更改口令模块,随机组卷模块,使用帮助模块,按各种题型进行试题的增加、删除、修改、阅读,按试题内容关键字进行模糊查询,按试题类型、学校、年份、章节、分值、在试卷中具体的题号进行条件组合查询,最终向用户提供一个更具实用价值的软件系统。
参考文献:
[1]严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,1997.
[2]邓霖,戴敏.《数据结构》试题库管理与组卷系统的开发[J].天津理工学院,2003(6).
[3]纪鹏.建设《数据结构》精品课程的研究与探讨[J].教育与职业,2007(1).
[4]陈红琳.《数据结构》课程建设的探讨与实践[J].现代计算机,2012(10).
[5]邵维忠,麻志毅,刘辉.UML用户指南(第二版)[M].人民邮电大学出版社,2011.
[6]梁振林.试题库录入和智能组卷的一种通用方法[J].广西大学学报,2001(6).
[7]李彩春,于艳博.试题库管理系统的设计与实现[J].赤峰學院,2012(11).
[8]王晓方,徐明.开放式计算机试题库系统[J].沈阳航空工业学院学报,1997(12).
[9]周虹,刘克难.数据结构试题管理系统[J].佳木斯大学学报,1999(6).
[10]李莹,梁爽.基于.NET的数据结构考试系统的设计与实现[J].沈阳理工大学,2009(27).
[11]庄鑫.基于Web题库系统的设计与实现[D].黑龙江大学,2009.
[12]闪四清.SQL Server实用简明教程(第二版)[M].北京:清华大学出版社,2005.
[13]王珊,萨师煊.数据库系统概论(第四版)[M].高等教育出版社,2010.
[14]赵晓东,张正礼,许小荣.ASP.NET 3.5从入门到精通[M].北京:清华大学出版社,2011.
[15]邵丽萍,张后杨.动态网页制作ASP[M].北京:电子工业出版社,2001.
作者简介:常璐璐(1982-),女,山东滨州人,讲师,硕士,研究方向:计算机应用。
作者单位:滨州学院 计算机科学技术系,山东滨州 256603
基金项目:滨州学院教研项目(BYJYYB200915)。
关键词:数据结构试题库系统;数据库;ASP.NET;三层架构
中图分类号:TP311.52
随着网络技术与数据库技术的发展,人们的生活和工作方式发生了很大改变,开发建设基于Internet的多媒体学习资源比如试题库系统具有重大意义。《数据结构》是计算机专业的主干课程之一,现有题库存在题库内题型不全面,试题难度、内容等不能满足用户需求等问题。为此,该试题库系统的开发将在保证试题库试题质量以及数量的基础上,开发操作简单、功能多样、维护方便的试题库系统。
1 试题库系统设计
1.1 系统功能概述
(1)系统角色:普通用户和管理员。(2)系统后台:用户管理、选择题管理、判断题管理、填空题管理、应用题管理、算法设计题管理、日志模块、个人资料模块以及口令更改模块。(3)系统前台:1800题浏览、模糊查询、条件组合查询、个人资料模块、口令更改模块以及随机组卷模块。
1.2 系统功能。用户管理,试题管理,日志模块,个人资料模块,随机组卷。
1.3 数据库设计。采用Sql Server 2005设计数据库,设计的表格主要有用户表users,学校表university,章节表chapter,选择题表selection,判断题表judge,填空题表fill_blanks,应用题表applications,算法设计题表algorithm_design。
2 系统主要模块实现
2.1 显示所有用户。查询数据库,得到所有用户信息并将信息保存到泛型集合list中,类DBHelper的静态方法GetDataSet接受一个查询的SQL语句,根据SQL语句以及数据库连接实例化SqlCommand对象,根据该SqlCommand对象实例化一个SqlDataAdapter对象,即数据适配器,通过该数据适配器对象的Fill方法将查询到的数据填充到指定的数据集中,返回得到的数据集。通过该Table数据集将所有用户信息保存到泛型集合list中。采用ASP.NET提供的GridView控件绑定泛型集合list数据源显示用户信息。
2.2 试题添加、修改、删除、查询。以选择题为例,将添加试题界面各控件的内容封装成一个Selection对象,根据该Selection对象组成表示插入操作的语句,通过类DBHelper的静态方法GetScalar执行该语句,插入成功返回0。
根据试题的唯一标识进行修改,选择题对应的标识是selection_id,修改时,执行一条UPDATE语句,WHERE后面的条件为要修改的试题的selection_id,UPDATE语句的执行借助于静态类DBHelper的静态方法ExecuteCommand来实现,修改成功后返回受影响的行数。
对主键进行删除来删除试题。以删除选择题为例,根据selection_id组成一道表示删除操作的语句,由DBHelper类的静态方法ExecuteCommand来执行该SQL语句,操作成功返回受影响的行数。
查询包括条件组合查询和模糊查询。条件组合查询:根据试题类型、学校、年份、章节、分值、题号来查询。模糊查询:根据试题内容关键字进行模糊查询。查询时,将用户指定的查询条件以键值对的形式保存到字典集合dic中,将该字典集合传给特定的方法,该方法是将用户指定的条件生成对应的查询语句,生成的语句保存在StringBuilder对象中,该对象最初的值是表示从指定表中查询出所有记录的SQL指令字符串,WHERE条件永远为真。生成的SQL查询语句最终由DBHelper类的静态方法GetDataSet来执行。
2.3 日志模块加密、解密算法。本系统采用AES的RijndaeManaged加密算法进行加密,RijndaeManaged是一种对称加密算法,加密时先创建一个ICryptoTransform对称加密器对象,创建使用RijndaeManaged对象的CreateEncryptor方法,根据该对象实例化一个将数据流链接到加密转换的流,将待加密的串以字节数组的形式写入到当前的加密流CryptoStream,然后将流内容转换成字节数组,最后将字节数组的内容等效转换成以Base64数字编码的格式,即加密后的内容。
加密时,将待转换的字符串转换成了以Base64编码的格式,解密时,需要将以Base64编码的内容转换为等效的无符号整数数组,根据该数组创建支持存储区为内存的MemoryStream流对象和一个对称解密器对象,通过RijndaeManaged对象的CreateDecryptor方法,根据该解密器对象以及MemoryStream对象创建加密转换流,此时,流中的内容即为解密后的内容。
2.4 随机组卷。普通用户操作模块组卷之前,用户需要输入名称、题型、数量,如果不希望试卷中出现某种题型只需将该题型的数量置为0,点击“开始组卷”,系统会根据用户的输入查询对应的表格,随机返回对应题量的试题。
3 结论
《数据结构》试题库的设计与开发严格按照软件生命周期模型来开发软件,主要实现功能:用户管理模块,日志模块,个人资料模块,更改口令模块,随机组卷模块,使用帮助模块,按各种题型进行试题的增加、删除、修改、阅读,按试题内容关键字进行模糊查询,按试题类型、学校、年份、章节、分值、在试卷中具体的题号进行条件组合查询,最终向用户提供一个更具实用价值的软件系统。
参考文献:
[1]严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,1997.
[2]邓霖,戴敏.《数据结构》试题库管理与组卷系统的开发[J].天津理工学院,2003(6).
[3]纪鹏.建设《数据结构》精品课程的研究与探讨[J].教育与职业,2007(1).
[4]陈红琳.《数据结构》课程建设的探讨与实践[J].现代计算机,2012(10).
[5]邵维忠,麻志毅,刘辉.UML用户指南(第二版)[M].人民邮电大学出版社,2011.
[6]梁振林.试题库录入和智能组卷的一种通用方法[J].广西大学学报,2001(6).
[7]李彩春,于艳博.试题库管理系统的设计与实现[J].赤峰學院,2012(11).
[8]王晓方,徐明.开放式计算机试题库系统[J].沈阳航空工业学院学报,1997(12).
[9]周虹,刘克难.数据结构试题管理系统[J].佳木斯大学学报,1999(6).
[10]李莹,梁爽.基于.NET的数据结构考试系统的设计与实现[J].沈阳理工大学,2009(27).
[11]庄鑫.基于Web题库系统的设计与实现[D].黑龙江大学,2009.
[12]闪四清.SQL Server实用简明教程(第二版)[M].北京:清华大学出版社,2005.
[13]王珊,萨师煊.数据库系统概论(第四版)[M].高等教育出版社,2010.
[14]赵晓东,张正礼,许小荣.ASP.NET 3.5从入门到精通[M].北京:清华大学出版社,2011.
[15]邵丽萍,张后杨.动态网页制作ASP[M].北京:电子工业出版社,2001.
作者简介:常璐璐(1982-),女,山东滨州人,讲师,硕士,研究方向:计算机应用。
作者单位:滨州学院 计算机科学技术系,山东滨州 256603
基金项目:滨州学院教研项目(BYJYYB200915)。