还剩46页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
计算机考试管理系统的设计与实现学生学号专业计算机科学与技术班级2008级3班指导教师二0一二年六月毕业设计(论文)任务书设计(论文)题目计算机考试管理系统的设计与实现1.毕业设计(论文)的主要内容及基本要求1毕业设计要求完成计算机考试管理系统软件;2编程实现该系统要求完成的学生参加考试、教师添加试卷和批阅试卷、管理员管理用户和更正成绩等功能;3编程实现考试成绩等内部管理;4论文要求格式规范,层次清楚,阐述完整2.查阅的主要参考文献及说明
[1]张跃挺,王小科.ASP.NET技术方案导航[M].四川人民邮电出版社,2005,9
[2]张奇,李律松.VisualC#数据库项目案例[M].北京清华大学出版社,2004,12
[3]李成大,张京.软件工程导论[M].四川电子工业出版社,2005,6
[4]铁军.Web数据库技术[ M].北京清华大学出版社,2004,3
[5]刘甫迎,党晋蓉.数据库原理及应用[M].北京人民邮电出版社,2005,23.进度安排设计(论文)各阶段名称起止日期1选题、接受任务、文献资料查阅、需求分析以及开题
2012.
01.05—
2012.
03.052系统的前期设计、制作
2012.
03.06—
2012.
03.283系统的后台设计、数据库的设计与维护
2012.
03.29—
2012.
05.114后期系统的完善、总结
2012.
05.12—
2012.
05.165论文的撰写以及论文答辩准备
2012.
05.17—
2012.
06.08计算机考试管理系统的设计与实现摘要本文着重阐述了学校教务管理系统的整体开发过程介绍了系统的开发环境以及开发工具,对于设计思想和设计流程也做出了全面的叙述,在数据库创建思想以及各个数据表之间的具体关联等方面也做出了详细说明,并且具体剖析了系统各个功能的实现过程以及详细设计过程,在绘制简单系统功能模块图的同时,力求更加清晰地表明设计思想以及对整个程序设计的规划及具体实现本系统针对我们学校的计算机考试现状,经过实习需求分析,采用ASP.NET+SQLServer2008数据库管理系统进行开发,整个系统开发采用三层架构的模式进行,由实体层(Model)、数据访问层(DAL)、业务逻辑层(BLL)组成整个系统的开发本着方便学生的学习、方便教师的教学、方便管理员的工作的基本思想,从操作简便、界面美观、灵活实用出发,设计开发的用户管理,教师发布试题、学生回答题目,教师评分等都是从实际研究中得出关键词数据库;ASP.NET;C#;WEB应用;计算机考试管理;三层架构ComputerExaminationManagementSystemABSTRACTThisarticlefocusesontheoveralldevelopmentprocessoftheschooleducationalmanagementsystem.Systemdevelopmentenvironmentanddevelopmenttoolsfordesignthinkinganddesignprocesshasalsomadeacomprehensivedescriptionofthedatabasetocreateideasanddatabetweenspecificassociationalsomadeadetaileddescriptionandspecificanalysisofthevariousfunctionsofthesystemimplementationprocessandthedetaileddesignprocesstodrawasimplesystemfunctionalblockdiagramatthesametimestrivetomoreclearlyshowthatthedesignideasandtheplanningoftheentireprogramdesignandthespecificimplementation.ExaminationStatusforourschoolcomputerthesystemaftertheinternshipneedsanalysisusingASP.NET+SQLServer2008databasemanagementsystemdevelopmenttheentiresystemdevelopmentusingthethree-tiermodelthephysicallayerModeldataaccesslayerDALbusinesslogiclayerBLL.Thespiritofastudent-friendlylearningthedevelopmentoftheentiresystemtofacilitatetheteachingofteacherstofacilitatethebasicideaoftheadministratorsworkfromthesimplebeautifulinterfaceflexiblestartingdesignanddevelopmentofusermanagementteacherspublishquestionsstudentsanswerthetopictheteacherscoresarederivedfromtheactualstudy.KEYWORDS:Database;ASP.NET;C#;WebApplication;ComputerExaminationManagementSystem目录TOC\o1-3\h\z\uHYPERLINK\l_Toc264103736第1章综述1HYPERLINK\l_Toc
2641037371.1引言1HYPERLINK\l_Toc
2641037381.2选题依据1HYPERLINK\l_Toc
2641037391.3开发工具1HYPERLINK\l_Toc264103740第2章WEB应用和数据库5HYPERLINK\l_Toc
2641037412.1B/S模式原理5HYPERLINK\l_Toc
2641037422.2Web应用程序开发原理6HYPERLINK\l_Toc
2641037432.3数据库原理8HYPERLINK\l_Toc
2641037442.4数据库模型分析8HYPERLINK\l_Toc
2641037452.5数据库模式结构9HYPERLINK\l_Toc
2641037462.6数据库体系结构10HYPERLINK\l_Toc264103747第3章系统分析11HYPERLINK\l_Toc
2641037483.1系统概述11HYPERLINK\l_Toc
2641037493.2需求分析11HYPERLINK\l_Toc
2641037503.3可行性分析11HYPERLINK\l_Toc
2641037513.4总体设计12HYPERLINK\l_Toc
2641037523.
4.1项目规划12HYPERLINK\l_Toc
2641037533.
4.2系统功能结构图13HYPERLINK\l_Toc
2641037543.
4.3系统流程图13HYPERLINK\l_Toc
2641037553.5系统设计14HYPERLINK\l_Toc
2641037563.
5.1设计目标14HYPERLINK\l_Toc
2641037574.
5.2运行环境14HYPERLINK\l_Toc264103758第4章系统实现15HYPERLINK\l_Toc
2641037594.1WEB应用程序总体架构15HYPERLINK\l_Toc
2641037604.
1.1模块功能介绍15HYPERLINK\l_Toc
2641037614.
1.2系统结构15HYPERLINK\l_Toc
2641037624.2数据库设计16HYPERLINK\l_Toc
2641037634.
2.1数据库逻辑设计(物理逻辑模型)16HYPERLINK\l_Toc
2641037644.
2.2数据库物理设计17HYPERLINK\l_Toc
2641037654.3计算机考试管理系统开发实现21HYPERLINK\l_Toc
2641037664.
3.1登录模块21HYPERLINK\l_Toc
2641037674.
3.2系统学生登录成功后模块23HYPERLINK\l_Toc
2641037684.
3.3学生选择试题进行考试模块23HYPERLINK\l_Toc
2641037694.
3.4教师试题管理页面25HYPERLINK\l_Toc
2641037704.
3.5管理员管理人员模块28HYPERLINK\l_Toc
2641037714.4计算机考试管理关键技术点30HYPERLINK\l_Toc
2641037724.
4.1防止sql注入30HYPERLINK\l_Toc
2641037734.
4.2使用三层架构进行开发30HYPERLINK\l_Toc264103774第5章结束语31HYPERLINK\l_Toc264103775致谢32HYPERLINK\l_Toc264103776参考文献33HYPERLINK\l_Toc264103777附录34HYPERLINK\l_Toc264103778附录A:计算机考试管理系统的主要源程序34HYPERLINK\l_Toc264103779附录B:软件使用说明书40第1章综述
1.1引言随着我国经济的不断增长和计算机业的飞速发展,计算机考试的市场越来越广阔,竞争也越来越激烈计算机考试业务涉及的各个工作环节已经不再仅仅是传统的纸质文档,钢笔,而是更广,更全面的计算机网上答题代表计算机考试作为一个测验性的考试,从教师发布试题,学生参加考试,教师批阅成绩,学生查询成绩,管理修改成绩,到最后完成考试整个过程应该能够以学生,教师为中心,提供快捷,方便的服务,给学生和教师带来一个稳定、可靠的考试环境所以只有不断完善自身的知识技能,提高优质的问题和回答水平,才能使得计算机考试通过和成功因此,计算机上进行的考试已经成为当务之急使用计算机管理在很大程度上可以帮助计算机考试克服考试流程程度低,管理手段和管理技术落后等困难,提高其管理水平,节省大量人力,物力和财力,使考试管理更加科学有序,经营物流清晰,经营状态详实,准确
1.2选题依据计算机考试管理系统是检测掌握计算机技术运行,管理学生学习情况不可缺少的一部份,它的内容对于计算机的管理和发展来说至关重要,所以计算机考试管理系统应该能够为所有用户稳定、可靠的信息和快捷的查询手段但一直以来人们使用传统人工方式进行考试,这种管理方式存在着许多缺点,如效率低、成本高,试卷批阅可能出错,另外学生、试卷增多,将产生大量的文件和数据,这对于查找和维护都带来了不少的困难所以,作为计算机网络应用开发的一部份,有必要使用计算机网络应用设计对计算机考试管理进行管理和开发,它有着手工管理所无法比拟的一些优点如查找方便、检索迅速、存储量大、保密性好、使用寿命长、成本低、节省大量人力资源等这些优点能够极大地提高计算机考试管理的效率,也是计算机考试正规化管理,与国际接轨的重要条件基于上面的各个方面,开发这样一个适用的应用软件是有必要的
1.3开发工具开发过程包括前台和后台两个方面前台主要是网页设计,后台则是数据库的建立和网页后台执行代码的编码对于数据库则要求数据的一致性、完整性强、数据安全性而对于前台则要求网页制作功能完备,易使用,美观等特点经过分析讨论,我采用VisualStudio2010做开发工具,后台数据库工具是SQLServer2008下面介绍开发工具VisualStudio2010和数据库工具SQLServer20081开发工具—VisualStudio2010VisualStudio是微软公司推出的开发环境是目前最流行的Windows平台应用程序开发环境VisualStudio2010版本于2010年4月12日上市,其集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了VisualStudio2010同时带来了NETFramework
4.
0、MicrosoftVisualStudio2010CTPCommunityTechnologyPreview--CTP,并且支持开发面向Windows7的应用程序除了MicrosoftSQLServer,它还支持IBMDB2和Oracle数据库VisualStudio可以用来创建Windows平台下的Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件VisualStudio2010使开发人员能够快速创建高质量、用户体验丰富而又紧密联系的应用程序,充分展示了Microsoft开发智能客户端应用程序的构想借助VisualStudio2010,采集和分析信息将变得更为简单便捷,业务决策也会因此变得更为有效任何规模的组织都可以使用VisualStudio2010快速创建能够利用WindowsVista™和2007Officesystem的更安全、更易于管理并且更可靠的应用程序.NETFramework提供了用于解决常见编程任务的构建基块(预制的软件),从而能够快速构造具有出色的最终用户体验的紧密联系的应用程序在.NETFramework模型业务流程上有效构建的紧密联系的应用程序有利于在异类环境中实现系统集成VisualStudio和.NETFramework的结合使用减少了对公用管道代码的需要,从而缩短了开发时间并使开发人员能够集中精力解决业务问题.NETFramework
3.5是在.NETFramework
3.0的基础上构建的更高版本得到增强的功能领域包括基础类库、Windowsworkflowfoundation、WindowsCommunicationFoundation、WindowsPresentationFoundation和WindowsCardSpaceASP.NET技术就是由微软的.NET技术细化而来的,它跟ASP技术有些关系,然而又不是仅仅是一个继承,可以讲,ASP.NET跟ASP想比较的话,已经是变得面目全非了,当然好得至少是一个量级以上ASP.NET完全基于模块与组件,具有更好的可扩展性与可定制性,数据处理方面更是引入了许多激动人心的新技术,正是这些具有革新意义的新特性,让ASP.NET远远超越了ASP,同时也提供给web开发人员更好的灵活性,有效缩短了web应用程序的开发周期ASP.NET与Windows2003Server/AdvancedServer的完美组合,为中小型乃至企业级的web商业模型提供了一个更为稳定,高效,安全的运行环境ASP.NET它是统一的Web开发平台,用来提供开发人员生成企业级Web应用程序所需的服务ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,用于生成更安全、可伸缩和稳定的应用程序可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强该ASP应用程序的功能ASP.NET是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言(包括VisualBasic.NET、C#和J#.NET)创作应用程序另外,任何ASP.NET应用程序都可以使用整个.NET框架开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等ASP.NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio.NET)一起工作这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持C#是一种最新的、面向对象的编程语言它使得程序员可以快速地编写各种基于Microsoft.NET平台的应用程序,Microsoft.NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域C#的现代化设计能够消除很多常见的C++编程错误例如
1.资源回收减轻了程序员内存管理的负担
2.C#中变量由环境自动初始化
3.变量类型是安全的 正是由于C#面向对象的卓越设计,使它成为构建各类组件的理想之选——无论是高级的商业对象还是系统级的应用程序使用简单的C#语言结构,这些组件可以方便的转化为XML网络服务,从而使它们可以由任何语言在任何操作系统上通过Internet进行调用 最重要的是,C#使得C++程序员可以高效的开发程序,而绝不损失C/C++原有的强大的功能因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#C#还包含了一个特殊的功能,使程序可以调用任何纯API在一段特别标记的代码中,开发者可以使用指针和传统C/C++特性如手工的内存管理和指针运算这是其相对于其它环境的极大优势这意味着C#程序员可以在原有的C/C++代码的基础上编写程序,而不是彻底放弃那些代码C#是一种现代的面向对象语言它使程序员快速便捷地创建基于Microsoft.NET平台的解决方案这种框架使C#组件可以方便地转化为XML网络服务,从而使任何平台的应用程序都可以通过Internet调用它C#增强了开发者的效率,同时也致力于消除编程中可能导致严重结果的错误C#使C/C++程序员可以快速进行网络开发,同时也保持了开发者所需要的强大性和灵活性2数据库工具—SQLServer2008区别于FoxPro、Access小型数据库,SQLServer是一个功能完备的数据库管理系统它包括支持开发的引擎、标准的SQL语言、扩展的特性如复制、OLAP、分析等功能而像存储过程、触发器等特性,也是大型数据库才拥有的由于今天Windows操作系统占领着主导地的位,选择SQLServer一定会在兼容性方面取得一些优势另外,SQLServer2008在Microsoft的数据平台上发布,帮助您的组织随时随地管理任何数据它可以将结构化、半结构化和非结构化文档的数据(例如图像和音乐)直接存储到数据库中SQLServer2008提供一系列丰富的集成服务,可以对数据进行查询、搜索、同步、报告和分析之类的操作数据可以存储在各种设备上,从数据中心最大的服务器一直到桌面计算机和移动设备,您可以控制数据而不用管数据存储在哪里SQLServer2008允许您在使用Microsoft.NET和VisualStudio开发的自定义应用程序中使用数据,在面向服务的架构(SOA)和通过MicrosoftBizTalkServer进行的业务流程中使用数据信息工作人员可以通过他们日常使用的工具(例如2007MicrosoftOffice系统)直接访问数据SQLServer2008提供一个可信的、高效率智能数据平台,可以满足您的所有数据需求第2章WEB应用和数据库
2.1B/S模式原理本系统基于B/S模式结构,B/S结构即浏览器和服务器结构它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层结构这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LANWANInternet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全B/S模式简化了客户端软件,只须安装浏览器作为客户端应用的运行平台,而将所有的开发,维护和升级工作集中在服务端用户使用浏览器上网,向web服务器发送请求,web服务器处理请求,查询数据库,执行应用程序,并将结果信息组织成asp页面发送给用户,在用户的浏览器上显示组成B/S模式B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件只要有一台能上网的电脑就能使用,客户端零维护系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了甚至可以在线申请,通过公司内部的安全认证后,不需要人的参与,系统可以自动分配给用户一个账号进入系统B/S架构的优势和劣势介绍如下1维护和升级方式简单目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性对一个稍微大一点的单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器2成本降低,选择更多大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行比如说很多人每天上“新浪”网,只要安装了浏览器就可以了,并不需要了解“新浪”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用windows操作系统,但用户的电脑本身安装的大部分是windows操作系统3应用服务器运行数据负荷较重由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想因此,许多单位都备有数据库存储服务器,以防万一
2.2Web应用程序开发原理
1.Web应用程序基本概念Web应用程序首先是“应用程序”,和用标准的程序语言,如C、C++等编写出来的程序没有什么本质上的不同然而Web应用程序又有自己独特的地方,就是它是基于Web的,而不是采用传统方法运行的换句话说,它是典型的浏览器/服务器架构的产物浏览器/服务器架构(Browser/Server简称B/S)能够很好地应用在广域网上,成为越来越多的企业的选择浏览器/服务器架构相对于其他几种应用程序体系结构,有如下3方面的优点
(1)这种架构采用Internet上标准的通信协议(通常是TCP/IP协议)作为客户机同服务器通信的协议这样可以使位于Internet任意位置的人都能够正常的访问服务器对于服务器来说,通过相应的Web服务和数据库服务可以对数据进行处理对外采用标准的通信协议,以便共享数据
(2)在服务器上对数据进行处理,就处理的结果生成网页,以方便客户端直接下载
(3)在客户机上对数据的处理被进一步简化,将浏览器作为客户端的应用程序,以实现对数据的显示不再需要为客户端单独编写和安装其他类型的应用程序这样,在客户端只需要安装一套内置浏览器的操作系统,如WindowXP或Windows2000或直接安装一套浏览器,就可以实现服务器上数据的访问而浏览器是现在计算机的标准设备理解了什么是浏览器/服务器架构,就了解了什么是Web应用程序常见的计数器、留言版、聊天室和论坛BBS等,都是Web应用程序,不过这些应用相对比较简单,而Web应用程序的真正核心主要是对数据库进行处理,管理信息系统(ManagementInformationSystem简称MIS)就是这种架构最典型的应用MIS可以应用于局域网,也可以应用于广域网目前基于Internet的MIS系统以其成本低廉、维护简便、覆盖范围广、功能易实现等诸多特性,得到越来越多的应用
2.3Web应用程序开发步骤
一、步骤一——设计这里所说的设计除开前期的系统分析设计和后台数据库的设计之外,主要的重点是对页面控件以及服务器端控件的设计;页面控件主要就是将常用的页面写成一个类以便以后的程序调用,这类控件源代码是可以编辑的服务器端控件主要就是将一些功能或者业务逻辑封装成DLL文件,在页面中调用并且编程的控件这类控件往往需要提供给页面程序人员属性、方法、函数等供程序人员调用
二、步骤二——配置这里的配置主要是指配置WEB应用程序工程项目中的WEB.CONFIG,主要的配置包括全局变量配置,一般写在APPSETTINGS小节中,如数据库连接字和数据服务名、用户名和密码等;然后就是配件的配置,一般写在ASSEMBLIES小结中,如水晶报表配件的配置等
三、步骤三——定义页面样式,定制页面控件这步工作主要定义比如页头、页尾等内容,并且将这些常用内容封装写在页面控件中
四、步骤四——开发服务器端控件如果是团队开发的话,这个步骤应该和上述步骤同时进行,根据设计开发服务器端控件一般在开发的时候不主张过多的开发复合控件,因为复合控件对于系统资源的消耗还是比较大的
五、步骤五——页面程序设计根据设计将服务器端控件引入,页面编程工作开始这个环节中可能还会自定义一些组件类以方便编程,比如把对某个服务器控件的调用写入或者某一系列经常要调用的代码的整合等工作
六、步骤六——测试、制作安装程序和发布测试这个环节也很重要,由于是B/S系统性能环节的测试工作尤其重要同时业务逻辑的测试以及页面跳转、挂接是否正确等也是重要的测试内容测试完成之后可以使用.NET开发环境自带的安装程序制作功能制作一个安装程序,然后就是发布这个安装程序了
七、步骤七——维护和更新
2.3数据库原理随着计算机技术与网络通信技术的发展数据库技术已成为现代信息科学与技术的重要组成部份是计算机数据处理与信息管理系统的核心数据库技术研究和解决了计算机信息处理过程中大量数据有效地组织和存储问题,减少数据冗余、实现数据共享以及保证数据的安全性数据库技术是计算机科学中发展最快的重要分支之一数据库系统从20世纪60年代末发展至今已经有30多年的历史了在这30多年的历程中数据库技术在理论研究和应用上得到了不断发展和完善
2.4数据库模型分析数据模型通常由三个要素组成数据结构,数据操作,数据的约束条件数据模型有两种不同的类型概念模型和数据模型概念模型是现实世界到信息世界的第一层抽象,这种信息结构并不依赖于具体的计算机系统,也不是某一个数据库管理系统支持的数据模型,它是现实世界到机器世界的一个中间层次建立的概念模型有层次模型、网状模型、关系模型和面向对象模型关系模型的数据结构,即所研究的对象类型包括有关系,对应一张二维表,它由行和列组成;元组,对应表中的一行;属性,对应表中的一列;主码,对应某个属性值,它可以唯一确定一个元组;分量,对应元组中的一个属性值关系模型的数据操纵包括查询、插入、删除和更新数据这些操作必须满足关系的完整性约束条件实体完整性、参照完整性和用户定义的完整性
2.5数据库模式结构模式是数据库中全体数据的逻辑结构和特征的描述,它不涉及具体的值从数据库管理系统的角度看,虽然它们支持的数据模型、使用的数据库语言、所基于的操作系统平台都可能不同,但在体系机构上通常都采用三级模式结构(个别小型数据库系统除外),并提供两级映像功能三级模式结构是指数据库系统是由外模式、模式和内模式三级构成模式是数据库数据在逻辑层上的视图,它以某一种数据模型为基础,不仅要定义数据的逻辑结构(如数据项构成、名字、类型、值域等),而且要定义与数据有关的安全性、完整性以及数据之间的联系外模式是模式的子集,是局部数据的逻辑结构描述它面向具体的应用程序因为不同的应用可能需要不同的局部数据视图,所以一个数据库可以有多个外模式,但只有一个模式内模式也称存储模式,它是数据物理结构和存储结构的描述,是数据在数据库内部的表示方式一个数据库只有一个内模式三级模式是对数据的三个抽象级别,使用户能逻辑地处理数据,而不必关心数据在计算机中的具体表示方式和存储方式但这三个抽象层次之间必须能够相互联系和转换,数据库系统提供了两层映像来完成该功能外模式/内模式映象定义了外模式与内模式之间的对应关系这些映象定义通常包含在各自外模式的描述中当模式改变时,只需对外模式/模式的映像作相应改变,可以使外模式保持不变,从而应用程序不必修改,保证了数据的逻辑独立性模式/内模式映像定义了数据全局逻辑结构与存储结构之间的对应关系该映像定义通常包含在模式描述中当数据库的存储结构改变了,只需对外模式/内模式映像做出相应改变,可以使模式保持不变,从而保证了数据的物理独立性三级模式结构图如图
3.1所示图
2.1三级模式结构图
2.6数据库体系结构数据库的模式结构对最终用户和程序员是透明的,他们见到的仅是数据库的外模式和应用程序从最终用户角度看,数据库系统分为单用户结构、主从式结构、分布式结构和客户/服务器结构第3章系统分析
3.1系统概述随着我国经济的飞速发展,计算机水平和成长也在不断提高,其中计算机考试相关行业已经不再是传统的参加卷面考试,同时也可以在不同地点进行考试计算机考试作为一个作为考试学习相关的,从教师发布试题开始,到入学习进行答题,要求各式的试卷,试题,直至最后评分结束,整个过程应该能够以学生答题,和教师出题、评分为中心,提供快捷方便的服务,给教师和学生一种方便舒适,稳定的享受计算机考试管理系统v
1.0是一个定位于大中高级院校,以及其他以计算机考试为主的一个计算机考试管理系统设计的原则是安装配置使用简单,系统稳定可靠,功能完善灵活,能够满足各种计算机考试日常管理工作系统十大模块相互衔接,界面大方美观,为您的管理工作创造了舒适,方便和快捷的环境使用本系统可以实现考试内容的信息化管理,提高考试效率,优化管理质量,是计算机考试系统管理工作的好帮手
3.2需求分析通过调查研究,要求系统满足有以下功能•由教师发布考试试题•由学生对教师发布的试题进行作答•由教师对学生作答的试题进行评阅•教师评阅后,学生可以看到相应成绩•教师评阅后需要修改成绩需要管理员进行修改•管理员对学生和教师进行管理•成员可以修改密码•成员可以进行登录和退出登录•教师可以查看学生成绩
3.3可行性分析
(1)技术可行性•开发方开发硬件具备基于Core2Duo核心,1GMB内存,能够在调试上拥有较好的速度测试则在6年以前的PC机(
1.5GHZ核心,SDRAM256MB内存,TNT32MB显存)上进行,以此评判系统在较低配置的机器上运行的速度及其稳定性,确保此系统硬件上的向下兼容开发软件平台具备基于最新的VS2010开发平台,数据库使用SQLSERVER2008,在效率,安全等机制上优于ACCESS或FOXPRO•使用方现在市场上销售的PC一般内核主频不低于
1.5GMHZ,内存不低于256MB(一般为1GMB),此类设备作为前端PC能够满足硬件上的要求前端PC操作系统不限,使用浏览器进行访问,满足浏览器可以运行即可在条件允许的情况下,后台服务器一般要求硬件配置高于前端PC,操作系统使用WINDOSXP或WINDOSSERVER2003IIS使用
6.0服务器后台数据库采用SERVER2008,在上述服务器硬件平台上能够正常运行
(2)社会可行性该项目为独立开发,在技术上没有篡改使用任何现有的软件与方法所以在法律方面不会存在侵犯专利权、侵犯版权等问题,完全按照合同规定的责任履行
3.4总体设计
3.
4.1项目规划计算机考试管理系统是一个典型的数据库开发应用程序,由登录登出模块、学生参加考试模块、学生查询成绩模块、教师评分模块、教师管理试卷模块、教师管理试题模块、密码修改模块、管理员更改成绩模块、管理员管理教师模块、管理员管理学生模块,规划系统功能模块如下1登录登出模块改模块用于不同用于进行登录和退出登录使用,学生可以选择学生登录方式,教师可以选择教师登录方式,管理员选择管理员登录方式2学生参加考试模块该模块的主要功能是学生对可以参加的考试进行参加,点击参加即可以进行改科目的考试行为,当然在设置可以考试的时间段才能够进行3学生查询成绩模块该模块主要功能是提供学生对自己的成绩进行查询、查看的操作4教师评分模块该模块主要功能是提供给教师对管理下的学生的回答了的试题进行评分的操作5教师管理试卷模块该模块主要功能是提供给教师对试卷进行管理,可以增加,修改,删除试卷等操作6教师管理试题模块该模块主要功能是提供给教师对指定试卷的试题进行管理,可以对试题进行增加,删除,修改题目操作7密码修改模块该模块主要功能是提供学生,教师,管理员对自己的密码进行修改的操作8管理员更改成绩模块该模块主要功能是提供给管理员对教师评阅后的成绩即使,通过更改试题的成绩,对学生的总成绩进行修改9管理员管理教师模块该模块主要功能是提供给管理员对教师进行增加,删除,修改等操作10管理员管理学生模块该模块主要功能是提供给管理员对学生进行增加,删除,修改等操作
3.
4.2系统功能结构图综合系统分析,对宾馆酒店管理系统的开发做了个整体的分析,对每个模块的功能进行了归纳,得出系统功能结构图,如图
3.1所示图
3.1系统功能结构图
3.
4.3系统流程图系统流程图如图
3.2所示图
3.2系统流程图
3.5系统设计
3.
5.1设计目标本系统是针对高中级院校通过计算机考试管理系统考试的,主要实现如下目标•对学生进行考试(从参加考试、到评分、得到成绩、修改成绩到最后的最终成绩)进行全面管理•实现各种信息的选择,修改,删除,查询等功能•管理员可以添加教师信息、添加学生信息•对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误•系统运行稳定、安全可靠•键盘操作,快速响应
4.
5.2运行环境•硬件平台CPU
1.5GHz及以上;内存256MB及以上•软件平台开发工具Visualstudio2010操作系统Windows7,WindowsServer2003等;数据库SQLServer2008;浏览器IE
6.0;Web服务器IIS
6.0;分辨率最佳效果1024*768第4章系统实现
4.1WEB应用程序总体架构
4.
1.1模块功能介绍1登录登出模块改模块用于不同用于进行登录和退出登录使用,学生可以选择学生登录方式,教师可以选择教师登录方式,管理员选择管理员登录方式2学生参加考试模块该模块的主要功能是学生对可以参加的考试进行参加,点击参加即可以进行改科目的考试行为,当然在设置可以考试的时间段才能够进行3学生查询成绩模块该模块主要功能是提供学生对自己的成绩进行查询、查看的操作4教师评分模块该模块主要功能是提供给教师对管理下的学生的回答了的试题进行评分的操作5教师管理试卷模块该模块主要功能是提供给教师对试卷进行管理,可以增加,修改,删除试卷等操作6教师管理试题模块该模块主要功能是提供给教师对指定试卷的试题进行管理,可以对试题进行增加,删除,修改题目操作7密码修改模块该模块主要功能是提供学生,教师,管理员对自己的密码进行修改的操作8管理员更改成绩模块该模块主要功能是提供给管理员对教师评阅后的成绩即使,通过更改试题的成绩,对学生的总成绩进行修改9管理员管理教师模块该模块主要功能是提供给管理员对教师进行增加,删除,修改等操作10管理员管理学生模块该模块主要功能是提供给管理员对学生进行增加,删除,修改等操作
4.
1.2系统结构计算机考试管理的系统结构如图
4.1所示图
4.1计算机考试管理系统系统结构图
4.2数据库设计
4.
2.1数据库逻辑设计(物理逻辑模型)图
4.2计算机考试管理系统物理实体模型以上就是计算机考试管理系统物理实体模型
4.
2.2数据库物理设计本系统数据库采用SQLServer2008数据库,系统数据库名称为TestExam.mdf主文件,TestExam.ldf日志文件数据库TestExam.mdf中包含6张表以下列出数据库中的各个表表
4.1用户表(UserInfo)列名数据类型(长度)是否为空是否主键是否自增是否外键UserIdInt否是是否UserNameVarchar15否否否否UserPwdVarchar60否否否否UserTypeInt否否否否表
4.2试卷表(ExamInfo)列名数据类型(长度)是否为空是否主键是否自增是否外键ExamIdInt否是是否ExamNameVarchar255否否否否ExamTimeInt否否否否ExamContentText是否否否ExamStartTimeDateTime否否否否表
4.3试题表(QuestionInfo)列名数据类型(长度)是否为空是否主键是否自增是否外键QuestionIdInt否是是否ExamIdint否否否是QuestionTypeInt否否否否QuestionTitleVarchar255否否否否QuestionMarksFloat否否否否QuestionAnswerText是否否否表
4.4试题详细表(QuestionDetailInfo)列名数据类型(长度)是否为空是否主键是否自增是否外键QuestionDetailIdInt否是是否QuestionIdInt否否否是QuestionDetailContentVarchar255否否否否表
4.5回答表(AnswerInfo)列名数据类型(长度)是否为空是否主键是否自增是否外键AnswerIdInt否是是否QuestionIdInt否否否是UserIdInt否否否是AnswerContentText是否否否AnswerMarksFloat是否否否GradeUserIdInt是否否否表
4.6学生成绩表(ScoreInfo)列名数据类型(长度)是否为空是否主键是否自增是否外键ScoreIdInt否是是否ExamIdInt是否否是UserIdInt是否否是ScoreContentFloat是否否否IsGivebit是否否否以下列出数据库表的创建过程ifexistsselect1fromsysobjectswhereid=object_idAnswerInfoandtype=UdroptableAnswerInfogoifexistsselect1fromsysobjectswhereid=object_idExamInfoandtype=UdroptableExamInfogoifexistsselect1fromsysobjectswhereid=object_idQuestionDetailInfoandtype=UdroptableQuestionDetailInfogoifexistsselect1fromsysobjectswhereid=object_idQuestionInfoandtype=UdroptableQuestionInfogoifexistsselect1fromsysobjectswhereid=object_idScoreInfoandtype=UdroptableScoreInfogoifexistsselect1fromsysobjectswhereid=object_idUserInfoandtype=UdroptableUserInfogo/*==============================================================*//*Table:AnswerInfo*//*==============================================================*/createtableAnswerInfoAnswerIdintidentityQuestionIdintnotnullUserIdintnotnullAnswerContenttextnotnullAnswerMarksfloatnulldefault0GradeUserIdintnullconstraintPK_ANSWERINFOprimarykeyAnswerIdgodeclare@CurrentUsersysnameselect@CurrentUser=user_nameexecutesp_addextendedpropertyMS_Description评分人user@CurrentUsertableAnswerInfocolumnGradeUserIdgo/*==============================================================*//*Table:ExamInfo*//*==============================================================*/createtableExamInfoExamIdintidentityExamNamevarchar255notnullExamTimeintnotnullExamContenttextnullconstraintPK_EXAMINFOprimarykeyExamIdgo/*==============================================================*//*Table:QuestionDetailInfo*//*==============================================================*/createtableQuestionDetailInfoQuestionDetailIdintidentityQuestionIdintnullQuestionContentvarchar255nullconstraintPK_QUESTIONDETAILINFOprimarykeyQuestionDetailIdgo/*==============================================================*//*Table:QuestionInfo*//*==============================================================*/createtableQuestionInfoQuestionIdintidentityExamIdintnotnullQuestionTypeintnotnullQuestionTitlevarchar255notnullQuestionMarksfloatnotnullQuestionAnswertextnullconstraintPK_QUESTIONINFOprimarykeyQuestionIdgo/*==============================================================*//*Table:ScoreInfo*//*==============================================================*/createtableScoreInfoScoreIdintidentityExamIdintnullUserIdintnullScoreContentfloatnulldefault0IsGivebitnullconstraintPK_SCOREINFOprimarykeyScoreIdgo/*==============================================================*//*Table:UserInfo*//*==============================================================*/createtableUserInfoUserIdintidentityUserNamevarchar15notnullUserPwdvarchar60notnullUserTypeintnotnullconstraintPK_USERINFOprimarykeyUserIdgo
4.3计算机考试管理系统开发实现
4.
3.1登录模块主要功能验证用户身份,提供用户进入系统的入口登录界面如图
4.3所示图
4.3计算机考试管理系统登录界面登录页面主要代码protectedvoidPage_LoadobjectsenderEventArgse{//得到值stringtype=Request.Form[type].ToString;stringname=Request.Form[name].ToString;stringpwd=Request.Form[pwd].ToString;pwd=Util.GetBigMD5pwd.Trim;//加密信息inttypeid=type==student1:type==teacher2:3;UserManageruserManager=newUserManager;ifuserManager.CheckUserTypenamepwdtypeid{Useruser=userManager.GetUser2name;Session[User]=user;switchuser.UserType{case1:Response.Redirectstudent/index.aspx;break;case2:Response.Redirectteacher/index.aspx;break;case3:Response.Redirectadmin/index.aspx;break;default:Response.RedirectError.aspxerror=+HttpUtility.UrlEncode登录类型错误!System.Text.Encoding.UTF8;break;}}else{Response.Redirectlogin.aspxerror=+HttpUtility.UrlEncode用户名或密码错误!System.Text.Encoding.UTF8;}}
4.
3.2系统学生登录成功后模块主要功能提供各项功能选择,并开始系统任务首页界面如图
4.4所示图
4.4计算机考试管理系统学生首页界面主页页面主要代码%@PageLanguage=C#AutoEventWireup=trueCodeBehind=index.aspx.csInherits=TestExamProject.student.index%!DOCTYPEhtmlPUBLIC-//W3C//DTDXHTML
1.0Transitional//ENhttp://www.w
3.org/TR/xhtml1/DTD/xhtml1-transitional.dtdframesetcols=209*border=0framesrc=TaskMenu.aspxnoresizeframesrc=scoreinfo.aspxnoresizeborder=0frameborder=0/framesetnoframes/noframes
4.
3.3学生选择试题进行考试模块
4.
3.
3.1学生试题选择模块主要功能对未完成试题选择作答界面如图
4.5所示图
4.5待完成试卷列表理页面数据查询主要代码ListExamlist=examManager.GetNotfinishExamListuser.UserId1Util.PageSize;//1定义承装的物品StringBuildersbContent=newStringBuilder;StringBuildersbPageInfo=newStringBuilder;//2填充Content数据foreachExamexaminlist{sbContent.Appendstring.Formattrtdahref=\list.aspxid={0}\+onclick=\returnconfirm确认开始答题?;\{1}1/a/tdtd{2}/td/trexam.ExamIdexam.ExamNameexam.ExamTime;}content=sbContent.ToString;
4.
3.
3.2教师登录后界面主要功能对试卷信息进行管理界面如图
4.6所示图
4.6计算机考试教师进入试卷主页面查询显示结果的代码//定义后面获取数据需要使用的变量Useruser=Session[User]asUser;ExamManagerexamManager=newExamManager;intbeforepagenextpagecurrentpagepagecount;beforepage=nextpage=currentpage=pagecount=1;ifRequest.QueryString[page]!=null{currentpage=int.ParseRequest.QueryString[page].ToString;pagecount=intMath.CeilingdoubleexamManager.GetAllExamListCount/doubleUtil.PageSize;}ifcurrentpage1{beforepage=currentpage-1;}ifnextpagepagecount{nextpage=currentpage+1;}ListExamlist=examManager.GetAllExamListcurrentpageUtil.PageSize;
4.
3.4教师试题管理页面
4.
3.
4.1教师对试题管理主要功能对指定试卷的试题进行编辑,增加,删除界面如图
4.7所示图
4.7客房管理页面加载页面的代码inti=1;foreachQuestionquestioninlist{//填空题ifquestion.QuestionType==4{stringtemp=question.QuestionTitle.ReplaceUtil.PackDiv__;sbContent.Appendstring.Formattrtd{0}/tdtd{1}、{2}/tdtd{3}/tdtda+href=\deletequestion.aspxid={4}eid={5}\onclick=\returnconfirm确认删除?;\;删除/a/tdtda+href=\editquestion.aspxid={6}typeid={7}eid={8}\修改/a/td/trquestion.QuestionType.ToChineseTypeitemp.LengthUtil.StringCutLengthtemp.Substring0Util.StringCutLength:tempquestion.QuestionMarksquestion.QuestionIdidquestion.QuestionIdquestion.QuestionTypeid;}else{stringtemp=question.QuestionTitle;sbContent.Appendstring.Formattrtd{0}/tdtd{1}、{2}/tdtd{3}/tdtda+href=\deletequestion.aspxid={4}eid={5}\onclick=\returnconfirm确认删除?;\;删除/a/tdtda+href=\editquestion.aspxid={6}typeid={7}eid={8}\修改/a/td/trquestion.QuestionType.ToChineseTypeitemp.LengthUtil.StringCutLengthtemp.Substring0Util.StringCutLength:tempquestion.QuestionMarksquestion.QuestionIdidquestion.QuestionIdquestion.QuestionTypeid;}i++;scoreCount+=question.QuestionMarks;}
4.
3.
4.2教师进入评分主要功能以图示的方法只直观的显示房间的基本信息界面如图
4.8所示图
4.8教师选择试卷评分界面页面页面主要代码ListScorelist=scoreManager.GetNoGiveScoreListcurrentpageUtil.PageSize;//1定义承装的物品StringBuildersbContent=newStringBuilder;StringBuildersbPageInfo=newStringBuilder;//2生成Content数据foreachScorescoreinlist{sbContent.Appendstring.Formattrtd{0}/tdtd{1}/tdtdaonclick=\change{2};\进入评分/a/td+tdbuttononclick=\add{3};\class=\btn\disabled=\true\略过评分/button/td/trUtil.HtmlEncodeexamManager.GetExamInfoscore.ExamId.ExamNamescore.ScoreContentscore.ScoreIdscore.ScoreId;}content=sbContent.ToString;
4.
3.
4.3教师对学生答题进行评分主要功能教师对学生回答内容进行评分界面如图
4.9所示图
4.9教师对学生进行评分页面页面主要代码protectedintscoreId;privateAnswerManageranswerManager=newAnswerManager;privateQuestionManagerquestionManager=newQuestionManager;privateQuestionDetailManagerquestionDetailManager=newQuestionDetailManager;
4.
3.5管理员管理人员模块
4.
3.
5.1学生的管理主要功能提供对学生的管理业务界面如图
4.10所示图
4.10管理员对学生进行管理页面主要功能提供对教师进行的管理界面如图
4.11所示图
4.11管理员对教师进行管理的页面页面主要代码ListUserlist=userManager.GetTeacherListcurrentpageUtil.PageSize;
4.
3.
5.2管理员对成绩进行修改主要功能修改成绩界面如图
5.12所示图
5.12管理员修改成绩页面部分主要程序代码scoreId=Convert.ToInt32Request.QueryString[id].ToString;ScoreManagerscoreManager=newScoreManager;Scorescore=scoreManager.GetScoreInfoscoreId;intexamId=score.ExamId;intuserId=score.UserId;LoadContentInfoexamIduserId;scoreCount=score1+score2+score3;
5.
3.
5.3预订单修改
4.4计算机考试管理关键技术点
4.
4.1防止sql注入本设计采用参数化增、删、改、查字符串和对输入框的严格控制来尽可能防范SQL注入式攻击本设计参数化字符串,对数据库的读写完全采用参数化进行控制如Stringsql=“selectcount*fromUserInfowhereUserName=@nameandUserPwd=@pwd”;SqlParamter[]sqlparams=newSqlParamter
[2];sqlparams
[0]=newSqlParamter“@name”名字;sqlParams
[1]=newSqlParamter“@pwd”密码;使用SqlCommand对象的Parameters集合传递值,可以比较安全的创建动态SQL连接,主要有以下原因1不使用特殊字符拼接的字符串2指定了参数的数据类型,如果用户传递一个无效的值到当前数据类型中,的相关操作将失败3在指定类型后指定参数长度,这样就可防止大量数据传递到数据库中
2.利用自定义javascript代码对用户输入信息进行客户端判定3.使用异常处理机制try-catch来控制错误
4.
4.2使用三层架构进行开发本系统先通过需求设计了html前台页面然后开始进行数据库和实体层(Model层)的设计,结束后进行了,关于数据访问层(DAL层)的开发工作,对需要使用到的数据访问进行处理,再编写业务逻辑层(BLL层),BLL所采用的逻辑,均源自需要使用到的界面和详细设计最后,建立UI层,对整体进行的效果进行设计和调用BLL处理页面结果第5章结束语四年的大学生活就快走入尾声,我们的校园生活就要划上句号,心中是无尽的难舍与眷恋从这里走出,对我的人生来说,将是踏上一个新的征程,要把所学的知识应用到实际工作中去回首四年,取得了些许成绩,生活中有快乐也有艰辛感谢老师四年来对我孜孜不倦的教诲,对我成长的关心和爱护学友情深,情同兄妹四年的风风雨雨,我们一同走过,充满着关爱,给我留下了值得珍藏的最美好的记忆在我的十几年求学历程里,离不开父母的鼓励和支持,是他们辛勤的劳作,无私的付出,为我创造良好的学习条件,我才能顺利完成学业,感激他们一直以来对我的抚养与培育最后,我要特别感谢邱玲老师是她在我毕业的最后关头给了我们巨大的帮助与鼓励使我能够顺利完成毕业设计,在此表示衷心的感激.邱老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我受益匪浅她无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高这对于我以后的工作和学习都有一种巨大的帮助,感谢她耐心的辅导在系统开发过程中王辉雄老师也给予我很大的帮助,帮助解决了不少的难点,使得系统能够及时开发完成,在这里一并表示真诚的感谢致谢毕业设计是对大学四年所学习知识综合运用的考察,通过此次设计,我学习到了很多有用的实践知识,并在这个过程中不断的积累经验,总结教训,使自己得到了一次很好的锻炼在这里要感谢培养我的母校“四川理工学院”和所有关心,支持,帮助过我的老师和同学们,衷心的感谢邱玲老师对我的帮助和指导在这里致已最崇高的敬意参考文献
[1]张跃挺,王小科.ASP.NET技术方案导航[M].四川人民邮电出版社,2005,9
[2]张奇,李律松.VisualC#数据库项目案例[M].北京清华大学出版社,2004,12
[3]李成大,张京.软件工程导论[M].四川电子工业出版社,2005,6
[4]铁军.Web数据库技术[ M].北京清华大学出版社,2004,3
[5]刘甫迎,党晋蓉.数据库原理及应用[M].北京人民邮电出版社,2005,2
[6]吴建郑潮汪杰.UML基础与Rose建模案例[M].北京人民邮电出版社
2004.9
[7]于宗民http://www.joyo.com/search/search.aspsearchword=%D3%DA%D7%DA%C3%F1uid=168-1530374-2128237刘义宁http://www.joyo.com/search/search.aspsearchword=%C1%F5%D2%E5%C4%FEuid=168-1530374-2128237祁国辉http://www.joyo.com/search/search.aspsearchword=%C6%EE%B9%FA%BB%D4uid=168-1530374-2128237.数据仓库项目管理实践[M].北京人民邮电出版社
2006.8
[8]冀振燕UML系统分析设计与应用案例[M].北京人民邮电出版社
2005.6
[9]DavidI.SchneiderComputerprogrammingconcepts PearsonCustomPublishing,2000附录附录A:计算机考试管理系统的主要源程序主要程序代码用户数据访问层//添加用户//参数被添加的用户publicintAddUserUseruser{stringsqlStr=insertintoUserInfoUserNameUserPwdUserTypevalues@name@pwd@type;SqlParameter[]sqlParameter=newSqlParameter
[3];sqlParameter
[0]=newSqlParameter@nameuser.UserName;sqlParameter
[1]=newSqlParameter@pwduser.UserPwd;sqlParameter
[2]=newSqlParameter@typeuser.UserType;intkey=SqlHelper.ExecuteNonQuerySqlHelper.sqlcnCommandType.TextsqlStrsqlParameter;returnkey;}//编辑用户//参数被编辑的用户publicintEditUserUseruser{stringsqlStr=updateUserInfosetUserPwd=@pwdUserType=@typewhereUserId=@id;SqlParameter[]sqlParameter=newSqlParameter
[3];sqlParameter
[0]=newSqlParameter@pwduser.UserPwd;sqlParameter
[1]=newSqlParameter@typeuser.UserType;sqlParameter
[2]=newSqlParameter@iduser.UserId;intkey=SqlHelper.ExecuteNonQuerySqlHelper.sqlcnCommandType.TextsqlStrsqlParameter;returnkey;}//删除用户//参数被删除的用户publicintDeleteUserUseruser{stringsqlStr=deletefromUserInfowhereUserId=@id;SqlParameter[]sqlParameter=newSqlParameter
[1];sqlParameter
[0]=newSqlParameter@iduser.UserId;intkey=SqlHelper.ExecuteNonQuerySqlHelper.sqlcnCommandType.TextsqlStrsqlParameter;returnkey;}//获取单个用户//参数被获取的用户信息publicUserGetUserUseruser{stringsqlStr=select*fromUserInfowhereUserId=@id;SqlParameter[]sqlParameter=newSqlParameter
[1];sqlParameter
[0]=newSqlParameter@iduser.UserId;SqlDataReadersqldr=SqlHelper.ExecuteReaderSqlHelper.SqlConnCommandType.TextsqlStrsqlParameter;Useru=null;ifsqldr.Read{u=newUser;u.UserId=Convert.ToInt32sqldr
[0].ToString;u.UserName=sqldr
[1].ToString;u.UserPwd=sqldr
[2].ToString;u.UserType=Convert.ToInt32sqldr
[3].ToString;}returnu;}//检测用户//参数被检测的用户publicintCheckUserUseruser{stringsqlStr=selectcount*fromUserInfowhereUserName=@nameandUserPwd=@pwd;SqlParameter[]sqlParameter=newSqlParameter
[2];sqlParameter
[0]=newSqlParameter@nameuser.UserName;sqlParameter
[1]=newSqlParameter@pwduser.UserPwd;intkey=Convert.ToInt32SqlHelper.ExecuteScalarSqlHelper.SqlConnCommandType.TextsqlStrsqlParameter;returnkey;}//用户类型枚举publicenumUserType{student=1teacher=2admin=3};//检测用户类型//参数1用户//参数2用户类型publicintCheckUserTypeUseruserUserTypeuserType{stringsqlStr=selectcount*fromUserInfowhereUserName=@nameandUserPwd=@pwdandUserType=@type;SqlParameter[]sqlParameter=newSqlParameter
[3];sqlParameter
[0]=newSqlParameter@nameuser.UserName;sqlParameter
[1]=newSqlParameter@pwduser.UserPwd;sqlParameter
[2]=newSqlParameter@typeuserType;intkey=Convert.ToInt32SqlHelper.ExecuteScalarSqlHelper.SqlConnCommandType.TextsqlStrsqlParameter;returnkey;}//获取指定页码,指定大小的教师列表publicListUserGetTeacherListintpageintpageSize{stringsqlStr=string.Formatselecttop{0}*fromUserInfowhereUserType=2andUserIdnotin+selecttop{1}UserIdfromUserInfowhereUserType=2pageSizepage-1*pageSize;SqlDataReadersqldr=SqlHelper.ExecuteReaderSqlHelper.SqlConnCommandType.TextsqlStrnull;ListUserlist=newListUser;Useru=null;whilesqldr.Read{u=newUser;u.UserId=Convert.ToInt32sqldr
[0].ToString;u.UserName=sqldr
[1].ToString;u.UserPwd=sqldr
[2].ToString;u.UserType=Convert.ToInt32sqldr
[3].ToString;list.Addu;}returnlist;}//获取教师的总数publicintGetTeacherListCount{stringsqlStr=selectcount*fromUserInfowhereUserType=2;intcount=Convert.ToInt32SqlHelper.ExecuteScalarSqlHelper.SqlConnCommandType.TextsqlStrnull;returncount;}publicListUserGetStudentListintpageintpageSize{stringsqlStr=string.Formatselecttop{0}*fromUserInfowhereUserType=3andUserIdnotin+selecttop{1}UserIdfromUserInfowhereUserType=3pageSizepage-1*pageSize;SqlDataReadersqldr=SqlHelper.ExecuteReaderSqlHelper.SqlConnCommandType.TextsqlStrnull;ListUserlist=newListUser;Useru=null;whilesqldr.Read{u=newUser;u.UserId=Convert.ToInt32sqldr
[0].ToString;u.UserName=sqldr
[1].ToString;u.UserPwd=sqldr
[2].ToString;u.UserType=Convert.ToInt32sqldr
[3].ToString;list.Addu;}returnlist;}//获取学生的总数publicintGetStudentListCount{stringsqlStr=selectcount*fromUserInfowhereUserType=3;intcount=Convert.ToInt32SqlHelper.ExecuteScalarSqlHelper.SqlConnCommandType.TextsqlStrnull;returncount;}由于篇幅有限,其他功能模块功能实现的代码在这里省略掉了大致都可参考以上列出的代码附录B:软件使用说明书本软件是一个定位于高中级院校以及其他含计算机考试管理为主的计算机考试信息管理系统设计的原则是安装配置和使用简单,系统稳定可靠,功能完善灵活,能够满足各种计算机考试的日常管理工作系统十大模块相互衔接,界面大方美观,为您的管理工作创造了舒适,方便和快捷的环境使用本系统可以实现对计算机考试的信息化管理,提高监考效率,优化管理质量,是计算机考试管理工作的好帮手在使用本软件之前要做几个方面的准备工作具体工作如下1IIS配置IIS就是Internet信息服务,Internet信息服务是微软公司为开发者提供的一个简单的运行平台,在WindowsXp环境下安装过程如下插入WindowsXp光盘单击“开始—设置—控制面板—添加或删除windows程序—添加或删除windows组件”,选中“Internet信息服务”后单击“下一步”完成安装之后调试IIS运行环境,步骤如下•打开Internet信息服务,找到“默认网站”鼠标右键单击“新建—虚拟目录”•按提示对虚拟目录进行设置为所做的设计新建个文件夹,此为虚拟目录的路径•完成后,按步骤找到所建立的虚拟目录名,将里面的aspx页选中右键单击“浏览”,将在IE浏览器上显示出该aspx页的结果,足以证明IIS配置成功2数据库配置要求安装SQLServer2008数据库服务器,版本选择企业版或个人版服务器名要求设置为“tanghao-pc”,用户名为“sa”密码为“123456”安装时注意选择Windows混合验证模式3其他用户也可以申请ASP.NET空间,注意要带SQLServer2008数据库的空间,上传WEB应用程序及数据库即可使用4运行说明本设计是基于B/S模式的,所以在客户端只要安装普通浏览器,在地址栏输入服务器主机上相应页面地址即可登陆,浏览页面,实现相关操作在服务器端则需要安装数据库管理平台和支持asp.net
3.5的相关服务器组件,才能处理客户端的页面请求5疑难解答安装数据库时,为配合本软件相关配置文件,最好安装sql2008企业版,密码设置为“12345”,采用windows混合验证模式6服务与支持本设计主要针对中高级院校计算机考试管理业务,支持50-200台客户终端的同时访问系统登录页面Login.aspx更改密码changepwd.aspx错误页面Error.aspx管理员更改成绩Admin/changescoreinfo.aspx管理员管理主页Admin/index.aspx管理用户教师Admin/teachercmd.aspx学生Admin/studentcmd.aspx成绩查询页面Student/scoreinnfo.aspx答题页面Student/List.aspx学生管理主界面Student/index.aspx教师管理试卷Teacher/examcmd.aspx教师管理试题Teacher/questioncmd.aspx教师评分模块Teacher/setscoreinfo.aspx教师管理首页Teacher/index.aspx。