(精品)试卷管理系统的设计与实现(2013年优秀毕业设计)_第1页
(精品)试卷管理系统的设计与实现(2013年优秀毕业设计)_第2页
(精品)试卷管理系统的设计与实现(2013年优秀毕业设计)_第3页
(精品)试卷管理系统的设计与实现(2013年优秀毕业设计)_第4页
(精品)试卷管理系统的设计与实现(2013年优秀毕业设计)_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

论文编号:试卷管理系统的设计与实现管理员及题库维护模块的实现The Design and Realization of Paper Management System The Realization of Administrator and Question Bank Maintenance Module 摘要在以往教师想出一份试卷,就得手动的查阅题库或查找相关书籍,然后手动的生成试卷。这样即费时又费力,而且很难保证试题的覆盖面和把握好试卷的难度。开发本软件正是为了能够帮助教师轻松的出一份高质量的试卷。试卷管理系统是为教师开发的一个试卷管理工具。本系统的设计是基于.NET技术平台,采用ADO.NET数据访问技术和相关性能优化技术,利用C#.NET语言设计实现,以SQL Server 2000作为后台数据库的管理系统,系统架构则是当前较为流行的B/S模式。本软件实现了以下主要功能:1.登录;2.专业管理;3.科目管理;4.教师管理;5.题型管理;6.选课管理;7.信息管理;8.章节管理;9.题库管理;10.生成试卷。测试表明本软件在Windows平台运行稳定,并能够顺利生成word类型的试卷,基本达到了预期的要求!关键词:试卷管理; 数据库; C#; B/SAbstractIn the past, teachers come up with a paper, you have to manually access question bank or find relevant books, and then manually create paper. Time-consuming and also strenuous like this, and very difficult to guarantee coverage rate and paper degree of difficulty of examination question. Development of this software is easy to be able to help teachers out of a high-quality papers.Paper management system is a paper management tool developed for teachers.The design of the system is based on the technology platform of .NET,using data access technology of ADO.NET and related performance optimization technology.Its brought about by language design of C#.NET,using SQL Server 2000 as the management system of back-end database,and the system architecture is the more popular B/S mode in the current.These functions of this website are as follows: One. Log; Two. Professional manage; Three. Subject manage; Four. Teacher manage; Five. Questions in management; Six. Elective manage; Seven. Information manage; Eight. Chapter manage; Nine. examination manage; Ten. create paper. Tests show that the software runs in Windows platform, stable, and able to successfully generate word types of paper, it is basic reach the requests.Key words: Paper Management; Database; C#; B/S;目 录摘要IAbstractII目 录III第1章 引言11.1开发背景11.2研究意义11.3发展现状21.4系统构建2第2章 需求分析42.1 系统的功能和特点42.1.1 系统功能42.1.2 系统特点52.2 功能需求62.2.1 试卷管理系统结构图62.2.2 功能描述72.3开发环境82.3.1 Visual Studio 2005 概述82.3.2 SQL Server2000概述82.3.3 C#介绍10第3章 总体设计113.1 系统功能分析113.1.1 功能划分113.1.2 功能模块图113.2 数据库总体设计123.2.1 关系E-R图123.2.2 数据表的设计14第4章 详细设计184.1 类的设计184.1.1 数据操作类SQLHelper184.1.2 逻辑处理类Services194.1.3 常用函数类Functions204.2题库维护模块的实现204.2.1 修改选择题214.2.2 修改填空题234.2.3 修改简述题244.2.4 修改设计题254.3 专业管理模块的实现264.3.1 添加专业功能264.3.2 编辑专业功能274.4科目管理模块的实现284.4.1添加科目功能284.4.2编辑科目功能294.5教师管理模块的实现304.5.1添加教师功能304.5.2编辑教师功能314.6题型管理模块的实现324.6.1添加题型功能324.6.2编辑题型功能33第5章 系统测试355.1测试的目的和原则355.2测试方法355.3 测试过程365.3.1 题库维护测试365.3.2专业管理测试415.3.3 科目管理测试435.3.4教师管理测试435.3.5题型管理测试43第6章 结 论446.1总结446.2心得体会44致 谢45参考文献46附 录47附录A: 附加图、表47附录B: 主要源程序48附录C: 软件使用说明书69论文第1章 引言1.1开发背景随着计算机技术的不断发展,它被更广泛地应用在我国的各行各业中。近年来,国家高等教育事业的大力发展, 高校招生规模的逐年扩大, 专业设置的增加, 对学校教学质量监控提出了更高的要求,尤其是各个学校试题管理的复杂性和要求统计分析的及时性,使传统的管理方式有着不可克服的困难。但随着计算机进入学校, 计算机辅助教育在教育系统中的应用,使得我们解决起这些问题来又变得轻而易举。给教育改革带来美好的前景。近几年来,很多高等院校研究和开发了试卷管理系统,计算机辅助手段已得到广泛应用。这不仅提高了教学质量和教学效果,而且也带来了教学评价的革命。在教学管理中,为实现教考分开,更加合理、公平、公正、公开地进行各种考试,利用计算机进行考试管理系统,辅助教师命题组卷已成为各院校改个的重要内容之一。使用试卷管理系统可以大大提高工作效率,不论是抽题、组卷,还是提取答案、打印试卷,都非常迅速。同时,用计算机随机抽取试题,可以排除人为因素和误差,在试题的范围、难度、题型等方面统一标准,试卷规范,保证教育测量的客观、公正。但一直以来, 人们习惯于使用传统人工的方式制作试卷, 这种制作方式存在着许多缺点,如:效率低、保密性差、容易出错等,另外,即使把以前的试题都保存起来, 但时间一长, 将产生大量的文件和数据, 这对于查找、更新和维护都带来了很大困难。作为计算机应用的一部分, 使用计算机对试卷进行管理, 有着手工管理所无法比拟的优点, 例如:效率高、组卷迅速、查找方便、可靠性高、保密性好、成本低等。这些优点能够极大地提高教师的工作效率, 有利于建立科学化的教学监督与评估体系。因此,开发这样一套试卷管理系统成为很有必要的事情。1.2研究意义一个现代化的学校管理,拥有数千名的学生考试信息,那么如何管理这么庞大的学生考试信息档案呢?这时,开发一个功能完善的试卷管理系统就必不可少了。所以需要设计开发一个实现试卷管理的稳定、高效、准确、便捷、安全的系统。从学校的试卷制作到成绩查询实现了自动化的模式,从而提高了工作效率。试卷管理系统是一个现代高校不可缺少的部分,它的内容对于学校的管理者至关重要,所以试卷管理系统能够为用户提供充足的信息和快捷的查询管理手段。用Visual Studio2005构建的试卷管理系统,很符合稳定、高效、准确、便捷、安全的要求。1.3发展现状 随着计算机的日益普及, 教育教学水平的不断提高, 如何利用计算机建立统一的试题库,开发出智能型、多功能、通用型试题库成为多年来我们一直关心的课题。计算机试题库系统,是将编好的试题、答案事先存入计算机的数据库中,使用时,通过软件的控制,按照一定的方式和规则,将试题抽取、组合,形成试卷,打印输出。试题、试卷设计是考试工作的重要环节。为此许多大专院校开发多门课程的试题库,并有部分已商品化,为考教分离打下了基础。但从已商品化的试题库看,其试题管理系统多为封闭式结构,所收入的备考题虽经认真筛选,系统不提供试题设计功能,致使其内容不能根据教学内容的需要更新,试题库管理系统的通用性差,为此提出一种具有框架化特征的通用试题、试卷设计系统的系统结构,并讨论其实现方法。中国高校教学中,计算机辅助手段已得到广泛应用。这不仅提高了教学质量和教学效果,而且也带来了教学评价的革命。其中,试题库管理系统的开发与应用取得了许多成果,但已有的试题库管理软件仍存在通用性差,无法处理图形的不足,那么如何形成一份科学合理的试卷是其关键所在, 由于题库管理系统在选题, 组卷上的灵活多样和客观公正, 所以试卷管理系统是一所学校必不可少的部分。1.4系统构建本软件是采用B/S结构来实现的。B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。随着学校管理工作的不断细化,自动化的试卷管理系统就显得非常必要,而运用开发软件与数据库管理软件,用于项目开发,程序编制,数据库创建,来开发一套试卷管理系统就显得十分重要,在这里,要构建这样的一套管理系统,首先得做一个需求分析,在需求分析中包含了功能需求分析和数据库需求分析。接着进行详细设计, 详细设计是在需求分析的基础上实现各个模块功能的具体过程。然后就是整个项目系统的编码阶段,这期间的工作非常繁琐,是比较麻烦的一部分。这个阶段之后是测试,维护。这样,整个系统基本上就完成了。第2章 需求分析2.1 系统的功能和特点2.1.1 系统功能系统针对不同的用户,设置了不同的权限,在用户登录时根据权限跳至不同的界面,从而可以选择相应的操作。系统采用了较为先进的B/S结构,具有结构灵活、功能齐全等突出特点。使用本系统可以方便地管理专业、科目、教师、选课和试卷等基本信息,及时调整教学进度,提高学校的管理和教学水平,从而使高校的试卷管理真正实现无纸化。本系统实现的功能主要包括:用户管理,系统用户包括:管理员和教师,用户在选择角色后,可以分别进入对应的界面:管理员在进入管理员管理界面后,可以对专业、科目、教师、题型和选课进行增、删、改的操作,但管理员没有修改教师信息的权限;教师在初次登录时需要根据自己的教师号以及默认的密码登录,进入教师管理界面后可以修改信息及密码,对章节、题库进行增、删、改等操作,也可以选择组卷方式自动、手动以及抽取现有试卷三种方式。自动生成试卷是系统根据用户设置的题型、难易程度随机组成试卷;手动组卷是教师可以自己选择题型、分值、题目,可以自己决定试卷的难易程度;抽取试卷是直接用数据库中已经存在的试卷。试卷生成包含有实现设置卷头、预览和打印试卷及答案的功能。本系统中,用户首先登录,登录时,有身份区分,分为普通用户和管理员。输入系统判定数据库中是否由此用户,这是个验证过程,通过验证才能确定登录。而普通用户与管理员的区别是两者之间的权限不同。系统流程图如图2.1所示。图2.1 系统流程图2.1.2 系统特点本系统最明显的特点就是采用B/S架构,这样大大减轻了系统维护的成本和工作量,易于操作和维护;同时,基于代码重用原则,本系统将常用的数据库操作定义在数据库数据操作类SQLHelper中,将业务逻辑处理定义在Services类中,将一些常用的函数定义在Functions类中,这样可以方便实现代码重用。在功能上,本系统对用户实行分权限管理,以满足不同用户的不同需求,保证了数据的安全;在试卷管理功能中,组卷方式,有三种组卷方式抽取现有试卷、自动生成试卷和手动生成试卷,方便教师选择自己喜欢的组卷方式;在试卷预览功能中,教师可以将试卷在word中预览并保存,方便教师预览以及修改试卷格式。本系统作为计算机辅助教学软件的一部分,与多媒体教学及其他类软件相比,有着自己的特点: 1本软件界面友好、操作简便,稳定性好;2本软件能够源源不断的向题库内添加新试题; 3本软件能够按照一定的算法自动生成试卷,并可以人工干预,修改试题;同时也可以直接手工选题;本软件的实现有着自己的特点,决定做好本软件有着非常重要的实际意义。1本软件作为一种新生的、趋向成熟的计算机辅助教学软件,对课堂教学测试及期中、期末考试出题具有很大的帮助,节省了人力,使教学走向自动化轨道;2本软件收集了大量的习题,是一本数量大、质量高的高效超能型教材习题集;3本软件的自动组卷功能及试卷维护功能节省了教师的时间与精力,可以集中精力全身心的投入到教学中,有利于提高教师素质及教学质量;2.2 功能需求2.2.1 试卷管理系统结构图试卷管理系统的结构图,如图2.2所示。主控程序信息管理模块题库管理模块用户管理模块组卷模块图2.2 试卷系统结构图 用户管理模块主要完成管理用户信息及找回密码,信息管理模块完成包括对专业、科目、章节、教师、题型、选课、章节的有关信息的管理,题库管理模块完成对试题信息的管理,组卷模块完成对三种组卷方式的管理。2.2.2 功能描述1. 登录模块用户在进入系统之前,要输入正确的用户名和密码并选择进入系统的角色教师或者管理员。如果用户名存在且密码与该用户名对应的密码相同,即可登录本系统。如果教师初次使用该系统,系统管理员会指定一个特定的用户名和密码给教师,让其登录;如果用户忘记密码,可以运用忘记密码功能找回密码;如是用户名和密码不正确,则会提示输入的信息错误,让用户重新输入。在忘记密码模块中,教师只需要输入教师编号、教师名称以及邮箱三个参数,点击提交后,在数据库表中存在与其匹配的项,系统则会弹出提示框为教师提示密码,否则会提示错误的信息。2. 专业管理模块管理员进入系统后,需要在教师使用该系统前录入专业信息,以方便进行后面的信息管理,管理员可以对专业进行查询、添加、删除和修改的操作。3. 科目管理模块管理员进入系统后,需要在教师使用该系统前对各个专业的科目信息进行添加,以便让教师进入系统后,对自己所教的科目进行添加,为往试题库里面录入题做准备。4. 教师管理模块管理员进入系统后,需要提前录入需要使用试卷管理系统的教师的信息,以方便教师使用该系统进行试卷管理,管理员可以对教师进行查询、添加和删除,管理员没有修改教师信息的权利。5. 题型管理模块管理员进入系统后,需要对试题的题型进行添加,方便老师对题库进行管理。并可以对题型进行查看、删除及修改题型名称。6. 选课管理模块管理员进入系统后,为教师选择其所教学的科目,为教师进入系统使用该系统做准备。7. 信息管理模块教师在进入系统后,可以对自己的个人信息如姓名、邮箱和密码进行修改,方便教师使用该系统。8. 章节管理模块教师进入系统后,可以为自己所授科目进行章节的管理,以便录入题的时候管理试题库。9. 题库管理模块教师进入系统后,对题库录入题,并可以对题库中的题进行查看、修改和删除。10.试卷生成模块该功能由教师完成,生成试卷总共有抽取、自动和手动三种方式。教师可以根据自己情况选择合适的方式。自动生成试卷是系统根据用户设置的题型、难易程度随机组成试卷;手动组卷是教师可以自己选择题型、分值、题目,可以自己决定试卷的难易程度;抽取试卷是直接用数据库中已经存在的试卷。2.3开发环境2.3.1 Visual Studio 2005 概述理解VS.NET Framework最简单的方式就是把它看作是执行代码的环境。VS.NET管理代码的执行,包括启动代码、给它赋予相应的权限、为它分配内存以存储器数据,帮助不再需要的内存和资源等。处理执行这些任务外,VS.NET还要使用一个非常复杂的类库VS.NET基类,以便在Windows上执行大量的任务。对这些任务,VS.NET承担了管理代码的执行和为代码提供服务的双重角色。从技术层面具体来说,VS.NET Framework主要包括两个内核,即通用语言运行库CLR(Common Language Runtime)和VS.NET Framework基本类库,它们为VS.NET平台的实现提供了底层技术支持。VS.NET的编译过程也与以前版本的语言有所不同,这一点也是VS.NET的重要特征。2.3.2 SQL Server2000概述SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统该版本,继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。SQL Server2000特性1Internet 集成。SQL Server 2000 数据库引擎提供完整的XML 支持。它还具有构成最大的Web 站点的数据存储组件所需的可伸缩性、可用性和安全功能。SQL Server 2000 程序设计模型与 Windows DNA 构架集成,用以开发 Web 应用程序,并且SQL Server 2000 支持 English Query 和 Microsoft 搜索服务等功能,在Web 应用程序中包含了用户友好的查询和强大的搜索功能。 2可伸缩性和可用性。同一个数据库引擎可以在不同的平台上使用,从运行Microsoft Windows 98 的便携式电脑,到运行 Microsoft Windows 2000 数据中心版的大型多处理器服务器。SQL Server 2000 企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大 Web 站点所需的性能级别。 3企业级数据库功能。SQL Server 2000 关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。SQL Server 2000 分布式查询使您得以引用来自不同数据源的数据,就好像这些数据是 SQL Server 2000 数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。可将一组数据复制到多个移动的用户,使这些用户自主地工作,然后将他们所做的修改合并发布服务器。 4易于安装、部署和使用。 SQL Server 2000 中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用 SQL Server 的过程。SQL Server 2000 还支持基于标准的、与 Windows DNA 集成的程序设计模型,使 SQL Server 数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功能使我们得以快速交付 SQL Server 应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。2.3.3 C#介绍C#是VisualC#.NET的关键性语言,它是整个VisualC#.NET平台的基础。与C#相比,VisualC#.NET所支持的其他语言显然是配角身份。比如,VB.NET的存在主要是对千万个VB开发人员的负责。对于Jscript.NET和C+.NET也同样可以这么说,后者只是增加了调用VisualC#.NET类的C+语言。C#是惟一没有在设计思路中加入以前语言某种遗传的新事物。在C#中,除了可以使用许多API,更能使用VisualC#.NET类库。特别是,用户可以处理COM的自动化和C类型的函数。C#还允许用户调用无管理的代码,也就是在CLR引擎控制之外的代码。这种不安全的模式允许用户操作原始指针来读和写内置碎片账集控制以外的内存。C#的设计目标:1C#旨在设计成为一种“简单、现代、通用”,以及面向对象的程序设计语言 2此种语言的实现,应提供对于以下软件工程要素的支持:强类型检查、数组维度检查、未初始化的变量引用检测、自动垃圾收集(Garbage Collection,指一种自动内存释放技术)。软件必须做到强大、持久,并具有较强的编程生产力。 3此种语言为在分布式环境中的开发提供适用的组件开发应用。 4为使程序员容易迁移到这种语言,源代码的可移植性十分重要,尤其是对于那些已熟悉C和C+的程序员而言。 5对国际化的支持非常重要。 6C#适合为独立和嵌入式的系统编写程序,从使用复杂操作系统的大型系统到特定应用的小型系统均适用。 7虽然C#程序在存储和操作能力需求方面具备经济性,但此种语言并不能在性能和尺寸方面与C语言或汇编语言相抗衡。第3章 总体设计3.1 系统功能分析3.1.1 功能划分本系统有两种用户管理员及教师。管理员主要负责为教师服务,在教师登录系统之前对教师、专业、科目、题型和选课进行添加、删除、修改和查看。教师可以对自己的个人信息进行修改和查看,并可以对自己所教的学科的科目和自己录入的试题进行添加、删除、修改、查看,同时可以自己选择组卷方式自动、手动组卷以及抽取现有试卷,并且还可以设置卷头、预览和打印试卷及答案。3.1.2 功能模块图该系统主要完成用户管理、题库管理、组卷管理和试卷管理等功能。通过该系统,管理员可以对专业、科目、教师、题型和选课进行管理,教师可以对个人信息、题库、章节进行管理并可以手动组卷、自动组卷和抽取现有试卷。其功能模块图,如图3.1所示。试卷管理系统管理员管理题型管理专业管理教师管理教师管理科目管理选课管理章节管理信息管理题库管理组卷管理图3.1试卷管理功能模块图3.2 数据库总体设计3.2.1 关系E-R图1. 实体在试卷管理系统中,主要包括的实体为:专业 属性:专业号、专业名称。科目 属性:科目号、科目名称、专业号。章节 属性:章节号、章节名、科目号。教师 属性:教师编号、教师名称、密码、性别、邮箱、专业号。题型 属性:题型号、题型名称。选择题 属性:题号、科目号、章节号、题型号、难易度、题内容、选项A、选项B、选项C、选项D、答案、分数。填空题 属性:题号、科目号、章节号、题型号、难易度、题内容、空一、空二、空三、空四、空五、答案、分数。简答题 属性:题号、科目号、章节号、题型号、难易度、题内容、答案、分数。设计题 属性:题号、科目号、章节号、题型号、难易度、题内容、答案、分数。试卷 属性:试卷号、科目号、题型号、教师号、题号、卷头。2. 关系一个专业可以包含多门科目,一门科目可以属于多个专业中,因此专业和科目具有多对多的联系。一门科目可以有很多章节组成,一个章节只能属于一门科目,因此科目和章节具有一对多的关系。一个专业可以有多个教师,一个教师只能归属于一个专业管理,因此专业和教师具有一对多的联系。一个教师可以教多门科目,一门科目可以让多个教师教,因此教师和科目具有多对多的联系。一个题型可以包含多个题,一个题只能属于一个题型,因此题型和题属于一对多的联系。一个题型可以属于多个试卷,一个试卷可以包含多个题型,因此题型和试卷属于多对多的联系。一个试卷只能属于一门科目,一个科目可以组成多个试卷,因此试卷和科目属于一对多的联系。3. E-R图试卷管理系统的关系E-R图,如图3.2所示n设计题题号题内容题答案分数题型号难易度章节号题型包含包含题型号包含章节章节号章节名科目号mn1教师教师名称密码性别出生日期邮箱电话专业号教师编号专业专业号专业名称管理科目科目号科目名称专业号教试卷试卷号科目号题型号教师号卷头nnm11n题型名称图3.2 系统关系E-R图3.2.2 数据表的设计本试卷管理系统的数据库是在SQL Server中实现的,数据库的设计是系统最为重要的一环,数据库设计的好坏将会决定后续工作的进展。本系统共设计了15张表,分别是:管理员表、教师表、专业表、科目表、题型表、选课表、难易度表、题型表、选择题表、填空题表、简答题表、设计题表、试卷表和考试表。各个表的具体字段说明如下:管理员表(admin):包括用户id号、密码、姓名。如表3.1所示。表3.1 管理员表列名意义数据类型长度允许为空id用户ID号Int4否uname用户姓名varchar15否pwd密码varchar15否教师表(sysuser):包括教师编号、教师姓名、密码、专业号、邮箱和性别。如表3.2所示。表3.2 教师信息表列名意义数据类型长度允许为空id教师ID号Int否uname姓名varchar50否pwd密码varchar50否gender年级varchar50是Email邮箱varchar15是depid专业号int4否专业表(department):包括专业编号、专业名称。如表3.3所示。表3.3 专业信息表列名意义数据类型长度允许为空depid专业ID号Int否department专业名varchar15否科目表(subject):包括科目编号、科目名称、所属专业。如表3.4所示。表3.4 科目信息表列名意义数据类型长度允许为空subid科目ID号Int否subject科目名称varchar15否depid专业ID号Int否章节表(chapter):章节号、科目号、科目名。如表3.5所示。表3.5 章节信息表列名意义数据类型长度允许为空chapid章节ID号Int否subid科目ID号Int否chapname章节名varchar50否选择题表(choice):题号、科目号、章节号、题型号、难易度、题目内容、答案、选项A、选项B、选项C、选项D、分值。如表3.6所示。表3.6 选择题信息表列名意义数据类型长度允许为空titleid题目编号Int否subid科目ID号Int否chapid章ID号Int否typeid题型ID号Int否ned难易度varchar否content题目内容varchar50否optionA选项Avarchar15否optionB选项Bvarchar15否optionC选项Cvarchar15否optionD选项Dvarchar15否answer答案varchar10否score分值varchar10否填空表(blank):题号、科目号、章节号、题型号、难易度、题目内容、答案、空1、空2、空3、空4、空5、分值。如表3.7所示。表3.7 填空题信息表列名意义数据类型长度允许为空titleid题目编号Int否subid科目ID号Int否chapid章ID号Int否typeid题型ID号Int否ned难易度varchar否content题目内容varchar50否blank1空一varchar30否blank2空二varchar30否blank3空三varchar30否blank4空四varchar30否blank5空五varchar30否answer答案varchar30否score分值varchar10否简答题表(short):题号、科目号、章节号、题型号、难易度、题目内容、答案、分值。如表3.8所示。表3.8简答题信息表列名意义数据类型长度允许为空titleid题目编号Int否subid科目ID号Int否chapid章ID号Int否typeid题型ID号Int否ned难易度varchar否content题目内容varchar50否answer答案varchar100否score分值varchar10否设计题表(design):题号、科目号、章节号、题型号、难易度、题目内容、图表1、答案、图表2、分值。如表3.9所示。表3.9设计题信息表列名意义数据类型长度允许为空titleid题目编号Int否subid科目ID号Int否chapid章ID号Int否typeid题型ID号Int否ned难易度varchar否content题目内容varchar100否answer答案varchar500否score分值varchar10否url1题目图表varchar500是url2答案图表varchar500是难易度表(ned):难易度编号、名称。如表3.10所示。表3.10 难易度信息表列名意义数据类型长度允许为空nedid难易度编号Int否ned难易程度varchar15否选课表(xuanke):专业号、科目号、教师编号。见附录A附表1。题型表(type):题型编号、题型名称。见附录A附表2。试卷表(test):考试编号、科目号、教师号、题号、卷头。见附录A附表3。考试表(exam):编号、考试编号。见附录A附表4。卷头表(header):编号、卷头。见附录A附表5。第4章 详细设计本文主要负责对题库维护模块、专业管理模块、科目管理模块、教师管理模块、题型管理模块的设计,下面是这些模块的几种基本操作:1. 添加操作系统将向数据库中添加一条新的记录,并修改相关表的信息(如在添加专业信息时,系统将自动修改专业的基本信息)2. 查询操作系统根据查询条件在数据库中进行查询,然后将查询结果显示在界面上。3. 修改操作要进行修改操作,必须先执行查询操作。执行修改操作系统将更新数据库中的相应记录。4. 删除操作要进行删除操作,必须先执行查询操作。执行删除操作系统将删除数据库中的相应记录。4.1 类的设计基于代码重用原则,本系统将常用的数据库操作定义在数据库数据操作类SQLHelper中,将业务逻辑处理定义在Services类中,将一些常用的函数定义在Functions类中,这样可以方便实现代码重用。下面分别介绍这几个类。4.1.1 数据操作类SQLHelper数据操作类是在SQLHelper.cs文件中实现的,位于网站根目录下的App_Code文件夹内。在类的最开始引入了System.Data.SqlClient命名空间,引入此命名空间,是专门用于对Sql server数据库进行操作的。在类的内部定义了一个静态变量ConnectionString,该变量用来存放数据库的连接字符串,它的值是从web.config。把数据库连接字符串放在web.config文件中,可以方便地管理连接字符串,当数据库发生变化时,只要更改相应的配置文件了。在这个类中我们定义了三个最常用的静态方法:ExecuteNonQuery,ExecuteDataSet和ExecuteScalar。使用静态方法的好处是不用对类进行实例化就可以调用这些方法,从而提高代码的执行性能。在这三个方法的内部都创建了SqlConnection实例,其实例化操作都是放在using语句中执行的,这样在执行完using语句之后,会对在using语句中的引用的资源进行回收,执行完毕后,关闭连接,有效地控制了内存浪费。其中,ExecuteNonQuery方法用于对数据表的更新、删除和插入操作;ExecuteDataSet方法将返回一个数据集用于执行数据库的查询操作;ExecuteScalar方法将返回SQL查询语句的首行首列。核心代码如下:using System.Data.SqlClient; /引入此命名空间,对Sql server数据库进行操作static string ConnectionString=onfigurationManager.ConnectionStringsSqlConnStr.ToString();/读取存放在web.config文件里的数据库连接字符串public static void ExecuteNonQuery(string sql) using (SqlConnection conn = new SqlConnection(ConnectionString) SqlCommand cmd = new SqlCommand(sql, conn); conn.Open(); cmd.ExecuteNonQuery(); conn.Close(); /封装Command对象的ExecuteNonQuery方法,对数据库进行更新,删除和插入数据4.1.2 逻辑处理类Services这个类文件同样也位于根目录下的App_Code文件夹内。在这个类的实现中,在任何时刻应用程序最多只有此类的一个实例在运行,这样能够最大限度地保证系统的执行性能。在本系统中,通过调用类的一个静态方法GetInstance()来获取类的实例,在这个方法中,先判断是否已有一个实例对象,如果有则返回这个实例,否则,创建一个新的实例并返回。在Services类中,最主要的代码就是具体的业务逻辑查询、删除、更新、添加等有关操作均在此类中存放。比如登录功能的代码:public bool CheckAdminLogin(string UserName, string Pwd) string sql = select count(*) from admin where uname= + UserName + and pwd= + Pwd + ; object obj = SqlHelper.ExecuteScalar(sql); if (Convert.ToInt32(obj) 0) return true; return false;这个方法根据传递进来的用户名和密码参数,生成相应的SQL查询语句,然后,调用SQLHelper类中的ExecuteScalar方法,以判断登录信息是否正确,如果正确则返回true,否则返回false。4.1.3 常用函数类Functions随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。本系统将经常用到的方法封装在Functions文件里,命名空间定为Util, 同样也位于根目录下的App_Code文件夹内。核心代码如下:public static void Alert(string message) HttpContext.Current.Response.Write(alert( + message + ); /这个方法用于显示。public static void AlertAndRedirect(string message, string url) HttpContext.Current.Response.Write(alert( + message + );location.href= + url + ); /这个方法在显示文本的同时并转向location.href所指向的链接。有些不法的用户可以通过Web页面提交一段数据库SQL代码,来查看数据库或者对数据库的内容作出篡改,本系统Functions类中的RepStr方法,用于过滤字符串并可以防止不法用户对数据库做出的不法行为,它根据接收到的枚举类型RepStrDirec对字符进行过滤和替换;Alert方法用于在页面中弹出一个警示框;AlertAndRedirect方法用于在页面弹出一个警示框并转向指定的页面;AlertOut方法在后台的Session超时时用来提示并重定向到登陆页面;CheckSession方法用于检查Session是否超时,内部调用了AlertOut方法。4.2题库维护模块的实现当教师登录成功之后,可以对题目进行维护。教师首先要选择科目,然后选择需要维护的题型,最后选择具体的题目。当修改完要修改的内容之后,点击“更新”,数据将保存在数据库中,这里的题目编号不能修改。具体的实现方法如下:首先添加DropDownList控件,根据当前登录的教师号查到该教师所授的科目,将科目名称绑定在List1空间上,实现的代码是int userid=int.Parse(Session UserID.ToString();List1.DataSource=Services.GetInstance().GetAllSubjectById(userid); List1.DataBind();SQL语句是:select distinct subject from subject ,department, sysuser, xuanke where sysuser.id = xuanke.id and xuanke.subid = subject.subid and xuanke.depid=department.depid and xuanke.id= + userid + ;再添加Menu控件,Collection的值有四个,分别是选择题,value是0,填空题,value是1,简述题,value是2,设计题value是3;再添加MultiView控件,最后在MultiView控件中添加4个View控件。核心代码是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论