




已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
c#语言windows程序设计文档题 目 c#windows学生信息管理系统 学院(部) 信息科学与技术学院 专 业 软件工程 学生姓名 学 号 2008104144 年级 08级 指导教师 职称 讲师 2011 年 6月15日xxxx大学学士学位论文(设计)目 录绪 论1第1章 关键技术与相关理论21.1 .net框架概述21.2 asp.net概述21.2.1 asp.net的技术概述21.2.2 asp.net的运行原理41.3 ado.net概述41.4 三层架构概述51.4.1 三层架构系统模型51.4.2 asp.net中三层架构的实现5第2章 学生信息管理系统分析72.1 功能需求分析72.2 数据库需求分析72.3 环境需求分析72.4 项目可行性分析8第3章 学生信息管理系统设计93.1 模块设计93.1.1 系统主用例图93.1.2 系统业务流程图103.2 数据库设计113.2.1 数据库设计原则113.2.2 数据库表设计113.2.3 数据库关系图设计133.3 系统界面设计143.3.1 界面设计原则143.3.2 用户登录界面设计143.3.3 考试规则界面设计143.3.4 在线考试界面设计153.3.5 考试成绩界面设计153.3.6 后台管理界面设计163.3.7考生信息管理界面设计163.3.8 试题信息管理界面设计173.3.9 考试成绩管理界面设计173.3.10 数据导入管理界面设计183.3.11 考试功能管理界面设计18第4章 学生信息系统功能实现194.1 公共类194.2 用户登陆功能实现214.3 随机抽取试题功能实现234.4 自动交卷功能实现244.5 试题检查功能实现254.6 自动评分功能实现264.7 后台管理功能实现274.7.1 试题管理274.7.2 用户信息管理294.7.3 考试成绩管理324.7.4 数据导入管理344.7.5 考试功能管理35第5章 系统测试与改进思想365.1 系统测试的定义365.2 系统测试的重要性365.3 系统测试的常用方法365.4 测试环境365.4.1 硬件环境365.4.2 软件环境375.5 测试内容375.5.1 学生信息管理375.6 改进思想38结束语39致 谢40参考文献41附录一42ii绪 论 学生信息管理系统是为了学校更能方便的管理学生信息而设计的,实现对学生信息的基本管理,增删查改!随着信息话时代的到来,学生信息管理系统将会发挥更大的优势,节省人力资源,节省开支,改系统操作方便,更方便教师的使用。44第1章 关键技术与相关理论1.1 .net框架概述microsoft开发的.net framework是一种新的软件开发平台,它简化了在高度分布式internet环境中的应用程序开发,是支持生成和运行下一代应用程序和xml web services的内部windows组件。.net framework 旨在实现下列目标:提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在internet上分布,或者是在远程执行;提供一个将软件部署和版本控制冲突最小化的代码执行环境;提供一个可提高代码(包括由未知的或不完全受信任的第三方创建的代码)执行安全性的代码执行环境;提供一个可消除脚本环境或解释环境的代码执行环境;使开发人员的经验在面对类型大不相同的应用程序(如基于windows的应用程序和基于web的应用程序)时保持一致;按照工业标准生成所有通信,以确保基于.net framework 的代码可与任何其他代码集成。 .net framework具有两个主要组件:公共语言运行库(clr)和.net framework(fcl)类库。公共语言运行时是.net framework的基础。您可以将运行时看作一个在执行时管理代码的代理,它提供核心服务(如内存管理、线程管理和远程处理等),并且强制实施严格的类型安全性以及可提高安全性和可靠性的其他形式的代码准确性。事实上,代码管理的概念是运行时的基本原则。以运行时为目标的代码称为托管代码,而不以运行时为目标的代码称为非托管代码。.net framework的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合,您可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面 (gui) 应用程序,也包括基于asp.net 所提供的新增的应用程序(如web 窗体和xml web services)。.net framework 可由非托管组件承载,这些组件将公共语言运行库加载到它们的进程中并启动托管代码的执行,从而创建一个可以同时利用托管和非托管功能的软件环境。.net framework不但提供若干个运行时宿主,而且还支持第三方运行时宿主的开发。在图1-1所示的.net framework平台上显示了公共语言运行时和类库与应用程序以及与整个系统之间的关系6。图1-1 .net framework 平台1.2 asp.net概述1.2.1 asp.net的技术概述asp.net是一种强大的web服务器端技术,与asp相比,asp.net拥有更高的编译特性与缓存机制。其特点包括:与其底层框架.net紧密结合;将事件模型引入到web应用程序的开发领域;支持多种语言开发,包括c、visual basic和jscript等。asp.net不仅仅是asp的新版本,也是统一的web开发平台,用来提供开发人员生成企业级web应用程序所需的服务。asp.net是一个已编译的基于.net环境,可以用任何与.net兼容的语言(包括c.net、visual basic.net和jscript.net)创作应用程序,而不仅仅是原来asp采用的javascript和vbscript。asp.net可以无缝的与wysiwyg(what you see is what you get)html编辑器和其他编程工具(包括microsoft visual studio.net)一起工作。这不仅使得web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到web页的gui和完全集成的调试支持。另外,任何asp.net应用程序都可以使用整个.net framework。asp.net利用.net framework和公共语言运行库(clr)中的性能增强功能。所有asp.net代码都是可编译的,而不是解释的,这就允许对本机代码采用早期绑定强类型处理,以及实行(jit)编译。asp.net可方便的分解,即开发人员可以移除那些与自己开发的应用程序不相关的模块。asp.net提供丰富的缓存服务(包括内置服务和缓存api两种)。asp.net还提供性能计时器和默认授权和验证方案。asp.net配置设置存储在基于xml的文件中,这些文件都是可读和可写的。每个应用程序都可以有不用的配置文件,可以扩展配置方案,以适应用户的要求。当应用程序安装在同一台计算机上,但使用不同的.net framework版本时,应用是并行运行的。当创建asp.net应用程序时,开发人员可以试用web窗体或者xml web services,或者以他们认为合适的任何方式进行组合。asp.net具有以下优点:(1)运行效率的大幅度提高asp.net是把基于通用语言的程序在服务器上运行。不像以前的asp即时解释程序,而是将程序放在服务器端首次运行时进行编译,这样的执行效果,当然比一条一条的解释强很多。(2)世界级的工具支持asp.net构架可以用microsoft公司最新的产品 visual studio.net开发环境进行开发,wysiwyg(what you see is what you get所见即所得)的编译。(3)强大性和适应性因为asp.net是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在web应用软件开发者的几乎全部的平台上(笔者到现在为止只知道它只能用在windows 2000/2003 server/vista/xp/7上)。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到asp.net的web应用中。asp.net同时也是language-independent(语言独立化)的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有c#(c+和java的结合体),vb,jscript , c+、f+。将来,这样的多种程序语言协同工作的能力保护您现在的基于com+开发的程序,能够完整的移植向asp. net。(4)简单性和易学性asp.net使运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。例如asp. net页面构架允许你建立你自己的用户分界面,使其不同于常见的vb-like界面。另外,通用语言简化了开发过程,把代码集合成软件简单得就像装配电脑。(5)可管理性asp.net使用一种字符基础的、分级的配置系统,使服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。这种被称为“zero local administration”的哲学观念使asp.net的基于应用的开发更加具体和快捷。一个asp.net的应用程序在一台服务器系统的安装只需要简单的拷贝一些必要的文件,不需要系统的重新启动,一切就是这么简单。(6)多处理器环境的可靠性asp.net已经被刻意设计成一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大地提高运行速度。即使现在的asp.net应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变都能提高他们的效能,但现在的asp却做不到这一点。(7)定义性和扩展性asp.net设计时考虑了让网站开发人员可以在自己的代码中自己定义“plug-in”的模块。这与原来的包含关系不同,asp.net可以加入自定义的组件,网站程序的开发变得更加简单。(8)安全性基于windows认证技术和应用程序配置,可以确保你的源程序是绝对安全的7。1.2.2 asp.net的运行原理asp.net网站应用程序是由许多asp.net网页组成的,默认情况下,asp.net网页的扩展名都是.aspx 。当用户在浏览器中输入asp.net网页的网址后,浏览器就会对该网页所在的网址送出一个要求(request)-查看网页的要求,网站服务器收到后会将此要求转送到网页所属的asp.net网站应用程序,接着执行网页,将执行结果传回用户的浏览器中8。如图1-2所示。图1-2 asp.net网站应用程序运行原理1.3 ado.net概述使用asp.net访问数据库要通过使用ado.net组件。ado.net是微软在.net平台下提出的数据库访问模型,与ado相比,ado.net与ado有很大的不同,它是一个全新的数据访问模型,并不是ado为适应.net基础构造而进行的改进版本。ado.net提供对microsoft sql server、oledb和xml公开的数据源的一致性访问,在.net框架中我们可以使用 ado.net 的两个组件来访问和处理数据库数据,即用于连接到数据库、执行命令和检索结果的.net framework 数据提供程序和用于存放检索结果的数据集(dataset),ado.net可以直接处理检索到的结果,也可以将结果放入到ado.net的dataset对象中,以便与来自多个源的数据或在层之间进行远程处理的数据组合在一起,以特殊方式向用户公开。ado.net的dataset对象也可以独立于.net framework数据提供程序使用,以管理程序本地的数据或源自xml的数据。在.net framework 数据提供程序组件中,系统为我们提供了五个对象来操作数据库,它们的关系如图1-3所示。在图1-3中,不仅展示了.net framework 数据提供程序组件的组成,而且还展示了数据集组件的组成,从中我们还可以看出这两个组件是有联系的。在.net framework 数据提供程序组件中,connection对象提供与数据库的链接,是操作数据库的基础,是应用程序和数据源之间的唯一会话。command 对象能够执行用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令,实现对数据源的操作,如查询、插入、修改和删除等。datareader对象从数据源中读取只进且只读的数据流。dataadapter对象是dataset 对象和数据源之间关联的桥梁,用数据源填充dataset并解析更新。设计ado.net组件的目的是为了从“数据操作”中分解出“数据访问”9。图1-3 ado.net组件1.4 三层架构概述1.4.1 三层架构系统模型在过去应用系统开发过程中,client/server体系结构得到了广泛的应用 。其特点是,应用程序逻辑通常分布在客户和服务器两端,客户端发出数据资源访问请求,服务器端将结果返回客户端。但client/server结构存在着很多体系结构上的问题,比如:当客户端数目激增时,服务器端的性能会因为负载过重而大大衰减;一旦应用的需求发生变化,客户端和服务器端的应用程序都需要进行修改,给应用维护和升级带来了极大的不便;大量的数据传输增加了网络的负载等等。 采用分层设计的思想,可以使软件达到诸如可维护性、可重用性、可伸缩性、可靠性和安全性等运行要求,因此在软件开发时是非常值得提倡的。所谓三层体系结构,是在客户端与数据库之间加入了一个中间层,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有b/s应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。 三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过com/dcom通讯与中间层建立连接,再经由中间层与数据库进行交换。三层体系结构将 b/s 系统划分为三层独立的包,包括表示层、业务逻辑层和数据访问层。其中将实现人机界面的表单放在表示层,将所有业务规则和逻辑实现封装在负责业务逻辑层中,将与数据库的交互封装在数据访问层中10.11。如图1-4所示。图1-4 三层架构模型图1.4.2 asp.net中三层架构的实现在asp.net中,我们通常所说的三层架构包含表示层、业务层、和数据层三层。对于应用系统来讲,表示层和用户交互并显示数据,业务层负责访问数据层并向表示层提交数据,数据层负责数据的存储。(1)表示层它主要是指与用户交互的界面,它接收用户的输入,但并不包括任何实际的业务处理,它只是简单地将数据转交给业务层,同时,它负责展现业务层传递过来的数据,当后台业务逻辑更新时,表示层就会展示这些更新。表示层提供应用程序的用户界面(ui),通常包括windows窗体(比如桌面应用程序)和asp.net web窗体(aspx、asp、html等页面)的使用。(2)业务层它代表了应用程序的核心功能,负责处理数据层的数据,实现业务逻辑。业务层是业务概念的软件实现。业务层封装业务逻辑,业务逻辑实现某种规则的业务处理以匹配特定公司的需要。例如,确定某个指定客户是否被批准进行某项借贷活动的业务规则可以封装在小型解决方案的客户业务组件中。对于大型解决方案,所有与借贷有关的业务逻辑可能都封装在单独的一个借贷组件中。由于编程语言的不同,业务层可以是项目中的.vb 或.cs 等文件,也可以是由这些文件生成的.dll文件,提供系统业务逻辑的处理。(3)数据层负责访问数据库,并将存储在数据库中的数据提交给业务层。数据访问层封装了对数据库各种操作的部分,大体包括数据库的添加、删除、查询、更新等操作,该层涉及到的主要.net技术是ado.net,但是,在这里也经常用到一些.net xml的功能9。在.net 平台中,三层架构的基本形态如图1-5所示。图1-5 基于.net 的三层架构模型图第2章 驾照理论考试系统分析开发一个网站系统,首先需要进行需求分析和总体设计,分析系统的使用对象和用户需求,设计系统的体系结构和数据库结构,决定使用的开发工具和后台数据库。在项目开发过程中,这些工作是非常重要的。2.1 功能需求分析本驾校理论考试系统的用户可以分为三类,包括考生(驾校学员)、驾校教师、管理员。根据驾驶理论考试的流程,系统需要实现的功能包括:用户登录、在线考试、自动阅卷、用户管理、试题管理、成绩管理、考试功能管理、系统数据的导入导出等功能。考生在登录系统以后可以在线考试,提交试卷以后立刻可以查看自己的考试成绩。驾校教师在考试结束以后,可以查看考生考试成绩。管理员可以通过系统的管理功能进行用户管理、试题管理、成绩管理、考试功能管理。2.2 数据库需求分析根据系统的设计目标,系统需要具有用户管理、试题管理、成绩管理等功能。要实现以上的功能必须设计出用来存储信息的数据库。根据系统需要实现的功能我们对数据库的需求方面进行了分析。(1)用户管理功能用户管理功能包括:添加用户、修改用户和删除用户。在添加用户的时候,需要填写用户的账号、姓名以及密码等信息,所以我们必须设计相应的表来存储用户信息。(2)试题管理功能试题管理功能包括:添加试题、删除试题、修改试题。在添加试题的时候,需要填写试题的题目、答案选项、正确答案、是否发布、所属科目等信息,所以我们必须设计相应的表来存储试题信息。(3)成绩管理功能成绩管理功能包括:查看考试成绩、删除考试成绩。考试完毕后,考生成绩将被保存与数据库中,所以我们必须设计相应的表来存储考生的考试成绩。(3)考试功能管理功能考试功能管理功能包括:开启系统考试、关闭系统考试。考生不是在任何时间都能登录进系统考生的,在考生登录系统时,我们应当判断当前系统是否开启考试功能,允许考生登录,所以我们必须设计出相应的表来存储当前系统状态的数值。2.3 环境需求分析(1)网站开发环境操作系统:windows xp(sp2及以上)/ windows 2000(sp4)/ windows server2003(sp4)。开发环境支持平台:microsoft.net framework 3.5。开发工具:visual studio.net 2008集成开发环境。开发数据库:microsoft sql server 2005。开发语言:asp.net。(2)服务器端运行环境操作系统:windows xp(sp2及以上)/ windows 2000(sp4)/ windows server2003(sp4)。web服务:iis5.0以上版本+frontpage2000服务器扩展。数据库服务器:microsoft sql server 2005。数据库访问组件:mdac2.7。(3)客户端运行环境浏览器:internet explorer 6.0及以上。分辨率:最佳效果1024768像素。2.4 项目可行性分析(1)技术方面本系统属于一个基于数据库的web应用系统,其基本操作还是对数据库进行添加、删除、查找、修改等,所以从技术角度看,该系统就是网络数据库应用,通过asp.net技术可以方便地实现,不存在技术上不能解决的问题。(2)经济方面本系统可以在普通服务器上运行,考生可以通过网络进行在线考试,管理员可以通过网络对系统进行管理维护。由于该系统对服务器要求较低,配置一台一般性能的服务器就可以正常的运行该系统,对软件的成本要求不高。(3)法律方面整个系统由于是自行研发,自行使用,所以系统本身不存在法律上的版权争议。在服务器软件方面,应该使用正版软件,因为整个系统尽管是自己研发的自行使用的,但它毕竟要依靠与internet的,一旦服务器连接到internet上,它的操作系统可能会被microsoft跟踪,如果不是正版软件,将不得不面临民事诉讼的风险。(4)目前存在的问题由于网络速度的限制,参与在线考试的人数过多,有可能会造成网络的拥塞,影响正常的考试。另一方面,该系统采用microsoft sql server2005数据库系统12,传输数据的有效性和安全性会成为需要关注的问题。该系统存在的最大问题是数据库安全问题。第3章 驾照理论考试系统设计3.1 模块设计根据系统的设计要求,本系统需要实现用户登录、用户管理、试题管理以及考试成绩管理等功能,根据这些功能要求,我们将系统划分为5个功能模块(户登录模块、在线考试模块、用户管理模块、试题管理模块、成绩管理模块),并设计出系统的功能结构图,如图3-1所示。图3-1 系统功能结构图从图 3-1中我们可以看出,系统的功能模块包括用登录模块、在线考试模块、用户管理模块、试题管理模块、成绩管理模块。下面我们介绍一下本系统的主要功能模块。(1)用户登录模块用户通过用户名和密码登录在线考试系统。(2)在线考试模块考生在登录系统后,可以抽题考试。考生在提交试卷后,可以查看自己的考试成绩。(3)用户管理模块添加新用户(考生、驾校教师)。修改用户信息。删除用户。(4)试题管理模块考试科目设置(添加、删除)。考试试题管理(添加、删除、修改)(5)成绩管理模块查看考试成绩。删除考试成绩。3.1.1 系统主用例图根据驾校考试系统的用户类型划分,我们可以提取出系统的三个参与者(actor):考生、驾校教师、管理员。这几个参与者之间存在继承关系,如图3-2所示:图3-2 系统参与者之间的关系图提取出参与者后,我们根据系统的功能模块,可以画出系统的主用例图。如图3-3所示。图3-3系统主用例图3.1.2 系统业务流程图根据驾校考试的业务流程,我们画出了本系统的业务流程图。如图3-4所示。图3-4系统业务流程图3.2 数据库设计3.2.1 数据库设计原则数据库设计是进行系统开发的基础性工作,设计方案好坏是影响开发的重要因素。数据库设计要遵循以下原则13:(1)数据的完整性:保证数据库中的数据准确。(2)数据的结构化:数据库设计必须层次分明,分布合理。数据库必须高度结构化,保证数据的结构化、规范化和标准化。(3)减少数据冗余:数据库系统应该尽量减少数据冗余,节省存储空间,提高数据质量。消除数据库表中非主属性对主关键词的非完全依赖性和非主属性对主关键词的传递依赖性,将二维表转化为第三范式,是降低数据冗余的有效方式。3.2.2 数据库表设计在开发系统之前,我们对系统的数据量进行了分析,由于系统中设计的试题及考生信息的数据量,因此,选择microsoft sqlserver 2005作为数据库。根据数据库设计原则以及系统的需求分析,我们在数据库中建立了管理员信息表(tb_admin)、驾校教师信息表(tb_teacher)、考生信息表(tb_student)、考试科目信息表(tb_lesson)、考试试题信息表(tb_test)、考生成绩信息表(tb_score)。下面对这些数据表的结构进行描述:(1)管理员信息表(tb_admin)管理员信息表(tb_admin)用于存放管理员的登陆账号、密码和用户名等信息,其结构如表3-1所示。表3-1 管理员信息表字段名称数据类型是否主键可否为空字段描述idint是否自动编号(主键)adminnumvarchar(50)否是管理员登陆账号adminnamevarchar(50)否是管理员姓名adminpwdvarchar(50)否是管理员密码(2)驾校教师信息表(tb_teacher)驾校教师信息表(tb_teacher)用于存放驾校教师的登陆账号、密码、用户名以及所负责的科目等信息,其结构如表3-2所示。表3-2 驾校教师信息表字段名称数据类型是否主键可否为空字段描述idint是否自动编号(主键)teachernumvarchar(50)否是教师登陆账号teachernamevarchar(50)否是教师姓名teacherpwdvarchar(50)否是教师密码teachercoursevarchar(50)否是负责科目(3)考生信息表(tb_student)考生信息表(tb_student)用于存放考生的登陆账号、密码、用户名和考生性别等信息,其结构如表3-3所示。表3-3 考生信息表字段名称数据类型是否主键可否为空字段描述idint是否自动编号(主键)studentnumvarchar(50)否是考生登陆账号studentnamevarchar(50)否是考生姓名studentpwdvarchar(50)否是考生密码studentsexvarchar(50)否是考生性别(4)考试科目信息表(tb_lesson)考试科目信息表(tb_lesson)用于存放考试科目的科目名称以及加入时间,其结构如表3-4所示。表3-4 考试科目信息表字段名称数据类型是否主键可否为空字段描述idint是否自动编号(主键)lessonnamevarchar(50)否否科目名称lessondatatimedatetime否否科目加入时间(5)考试试题信息表(tb_test)考试试题信息表(tb_test)用于存放考试试题的试题题目、答案选项、正确答案以及所属科目等信息,其结构如表3-5所示。表3-5 考试试题信息表字段名称数据类型是否主键可否为空字段描述idint是否自动编号(主键)testcontentvarchar(200)否是试题题目testans1varchar(50)否是答案选项atestans2varchar(50)否是答案选项btestans3varchar(50)否是答案选项ctestans4varchar(50)否是答案选项drightansvarchar(50)否是正确答案pubint否是是否发布testcoursevarchar(50)否是所属科目(6)考生成绩信息表(tb_score)考生成绩信息表(tb_score)用于存放考生的考试成绩等信息,其结构如表3-6所示。表3-6 考试成绩信息表字段名称数据类型是否主键可否为空字段描述idint是否自动编号(主键)studentidvarchar(50)否是考生考号lessonnamevarchar(50)否是考试科目名称scoreint否是考试分数studentnamevarchar(50)否是考生姓名studentansvarchar(50)否是考生提交的答案rigthansvarchar(50)否是试题的正确答案(6)考试功能信息表(tb_allow)考试功能信息表(tb_allow)用于存放系统考试功能是否开启的判断值,其结构如表3-7所示。表3-7 考试功能信息表字段名称数据类型是否主键可否为空字段描述idint是否主键allowint否是是否开启3.2.3 数据库关系图设计数据库各个表之间的关系设计如图3-5所示。图3-5 数据表关系图3.3 系统界面设计3.3.1 界面设计原则(1)用户原则。人机界面设计首先要确立用户类型。划分类型可以从不同的角度,视实际情况而定。确定类型后要针对其特点预测他们对不同界面的反应。这就要从多方面设计分析。(2)信息最小量原则。人机界面设计要尽量减少用户记忆负担,采用有助于记忆的设计方案。(3)帮助和提示原则。要对用户的操作命令做出反应,帮助用户处理问题。系统要设计有恢复出错现场的能力,在系统内部处理工作要有提示,尽量把主动权让给用户14-16。3.3.2 用户登录界面设计在登录界面中,我们使用到了3个textbox控件、3个button按钮控件、3个requiredfieldvalidator验证控件、1个dropdownlist控件、label控件和1个image控件17。textbox控件分别用于输入用户的账号、密码以及验证码。button按钮控件分别给用户提供了确定登录、重置、退出系统等功能。requiredfieldvalidator验证控件用于验证用户是否输入相关信息。dropdownlist控件用于选择系统角色。label控件用于显示用户ip号。image控件用于显示系统随机生成的验证码。其界面设计如图3-6所示。图3-6 用户登录界面3.3.3 考试规则界面设计在考生通过登录模块登录到系统以后,将会进入到考试规则界面,阅读考试规则,考生在选中(已经阅读了考试规则)选择框后,点击(已经阅读完考试制度)按钮,将会进入到下一个页面。在考试规则界面中,我们用到了3个label控件、1个panel控件、1个checkbox控件、1个button按钮控件和1个image控件。label控件用于显示考生的考号、姓名、性别等信息。panel控件用于显示考试规则。checkbox控件和button按钮控件用于确定已经阅读完考试规则。其界面设计如图3-7所示。图3-7 阅读考试规则界面3.3.4 在线考试界面设计考生在阅读完考试规则以后,点击(已经阅读完考试制度)按钮,将会进入在线考试。在本界面中,我们用到了5个label控件、1个panel控件和2个button按钮控件。label控件分别用于显示考生考号、姓名、性别、考试科目、以及显示考试所用时间。panel控件用于显示考生试卷。button按钮控件分别用户检查漏题和考生提交试卷。其界面设计如图3-8所示(图中的题目和选项是在后台代码中动态添加的)。图3-8 在线考试界面3.3.5 考试成绩界面设计考生在答题并提交试卷以后,系统将自动对考生的试卷进行评分,最后系统将考生的考试成绩反馈给考生。在本界面中,我们用到了4个label控件,分别用于显示考试科目、考生学号、考生姓名以及考试成绩。其界面设计如图3-9所示。图3-9 考试成绩界面3.3.6 后台管理界面设计系统后台管理主框架如图3-10 所示,在网页布局结构上属于单一结构中的左侧导航。整个网页由一个 table控制各元素的布局,导航菜单放在左侧的iframe中,右边同样是一个iframe,用于显示主页面。采用iframe的优势在于实现页面的局部刷新。图3-10 系统后台管理主框架3.3.7考生信息管理界面设计管理员在登录到后台管理以后,可以进入考生信息管理页面,对试题信息进行添加、删除、修改以及查询等操作。如图3-10所示,我们可以对考生信息进行查询、修改、删除等操作。如图3-11所示,我们可在此页面中添加考生信息。图3-11添加考生信息界面3.3.8 试题信息管理界面设计管理员在登录到后台管理以后,可以进入试题信息管理页面,对试题信息进行添加、删除、修改以及查询等操作。如图3-12所示,我们可以对试题信息进行查询、修改、删除等操作。图3-12 试题信息管理界面如图3-13所示,我们可以对在此页面中添加试题信息,包括试题题目、试题选项、试题正确选项等。图3-13添加试题信息界面3.3.9 考试成绩管理界面设计管理员在登录到后台管理以后,可以进入考试结果管理页面,可以查询和删除考生的考试结果,在本界面中,我们用到了1个dropdownlist控件、1个textbox控件、2个button按钮控件以及1个gridview控件。dropdownlist控件用于选择查询类型。textbox控件用于输入查询关键字。button按钮控件分别用于查询考生成绩信息和导出考生成绩信息。gridview控件用于显示成绩查询结果。如图3-14所示。图3-14 考试成绩管理界面3.3.10 数据导入管理界面设计繁琐的手动添加,增加了管理员的工作量。为了实现人力资源真正意义上的解放,我们打算在系统中实现数据导入的功能。在本界面中,我们用到了2个fileupload控件,4个button按钮控件。通过fileupload控件我们可以将包含数据的excel表上传到服务器中,通过“导入”button按钮控件我们可以将上传到服务器中的excel表中的数据读取出来,并插入到数据库中。其界面设计如图3-15所示。图3-15 数据导入管理界面3.3.11 考试功能管理界面设计系统的考试功能不是任何时候都是开放的,即考生在规定的考试时间以外是不能登录系统进行考试的,管理员可以通过考试功能管理对系统的登录时间进行限制。在本界面中,我们使用到了1个label控件和1个button按钮控件。label控件用于显示当前系统状态,button按钮控件打开或关闭考试功能操作。其界面设计如图3-16所示。图3-16 考试功能管理界面第4章 驾驶考试系统功能实现4.1 公共类在开发项目中以类的形式来组织、封装一些常用的方法和事件,不仅可以提高代码的重用率,也大大方便了代码的管理。本系统中创建了一个公共类,其中包含了dbcon()方法、binddg()方法、operatedata()方法、checkstudent()方法、checkteacher()方法和checkadmin()方法。(1)baseclass.dbcon()方法baseclass.dbcon()方法的主要作用是用于连接数据库,其代码如下:引用命名空间public static sqlconnection dbcon() return new sqlconnection(server=.;database=db_examonline;uid=sa;pwd=luowensheng); (2)baseclass.binddg()方法baseclass.binddg()方法的主要作用是用于绑定系统相关页面的gridview控件,在该方法中,我们首先调用了公共类的dbcon()方法建立数据库的连接,然后创建了一个sqldataadapter对象,这个对象中有两个参数(strsql表示的是sql语句,conn表示的是数据库连接)。随后我们创建了一个dataset对象,调用其fill()方法,填充dataset对象,最后我们设置gridview控件的数据源,设置其主键值段,绑定gridview控件。其代码如下:引用命名空间 public static void binddg(gridview dg, string id, string strsql, string tname) sqlconnection conn = dbcon(); sqldataadapter sda = new sqldataadapter(strsql, conn); dataset ds = new dataset(); sda.fill(ds, tname); dg.datasource = ds.tablestname; dg.datakeynames = new string id ; dg.databind(); (3)baseclass.operatedata()方法baseclass.operatedata()方法的主要作用是执行sql语句,在该方法中,我们首先建立并打开数据库连接,然后创建一个 sqlcommand对象,调用其executenonquery()方法执行sql语句,最后关闭数据库连接。其代码如下:引用命名空间 public static void operatedata(string strsql) sqlconnection conn = dbcon(); conn.open(); sqlcommand cmd = new sqlcommand(strsql, conn); cmd.executenonquery(); conn.close(); (4)baseclass. checkstudent()方法、baseclass. checkteacher()方法和baseclass. checkadmin()方法的主要作用是相同的,都是用于判断用户登陆的。其代码如下:引用命名空间 public static bool checkstudent(string studentnum, string studentpwd)/如果是考生登陆 sqlconnection conn = dbcon(); conn.open(); sqlcommand cmd = new sqlcommand(select count(*) from tb_student where studentnum= + studentnum + and studentpwd= + studentpwd + , conn); int i = convert.toint32(cmd.executescalar(); if (i 0) return true; else return false; conn.close(); public static bool checkteacher(string teachernum, string teacherpwd) /如果是教师登陆 sqlconnection conn = dbcon(); conn.open(); sqlcommand cmd = new sqlcommand(select count(*) from tb_teacher where teachernum= + teachernum + and teacherpwd= + teacherpwd + , conn); int i = convert.toint32(cmd.executescalar(); if (i 0) return true; else return false; conn.close(); public static bool checkadmin(string adminnum, string adminpwd) /如果是管理员登陆 sqlconnection conn = dbco
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年服装销售店长工作方案
- 2025年幼儿园语言文字工作方案
- 2025年幼儿小班教学老师工作方案
- 2025年电子自动血球分析装置项目可行性研究报告
- 《自由落体运动》教学设计
- 2025年生肖牛浮雕项目可行性研究报告
- 2025年特润嫩白面膜膏项目可行性研究报告
- 2025年燃油锅炉模糊控制系统项目可行性研究报告
- 山东铝业职业学院《组织行为学》2023-2024学年第二学期期末试卷
- 日照市重点中学2024-2025学年高三年级下学期3月质量检测试题卷化学试题含解析
- 苏州市公安局招聘警务辅助人员笔试真题2024
- 出版专业中级实务复习笔记
- 血液科疾病常见症状护理
- GA/T 1433-2017法庭科学语音同一认定技术规范
- 《统计学》完整ppt课件(PPT 228页)
- 人力资源部岗位廉洁风险点及防范措施
- 求一个数比另一个数多几少几应用题
- 公路工程全过程跟踪审计服务方案
- 华南师范大学论文论文封面
- 五年级冀教版英语下册按要求写句子专项习题
- 中英文验货报告模板
评论
0/150
提交评论