学生学籍管理系统_第1页
学生学籍管理系统_第2页
学生学籍管理系统_第3页
学生学籍管理系统_第4页
学生学籍管理系统_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

1、学生学籍管理系统-摘要-学生学籍管理系统是一个完全基于B/S(浏览器/服务器)结构的应用软件。该系统完全采用ASP+JavaScript开发,运行于服务器端,客户端只需安装浏览器(如IE)即可运行本系统,此系统具有很多优点,诸如功能完善,操作简单,易学易用等等。经过认真的考查分析,此系统的功能由四个模块来具体实现:学生信息管理模块、学生成绩管理模块、考试管理模块和用户管理模块。本系统遵循了经济、高效、安全、稳定、易操作、易维护和开放的程序设计原则。本文主要介绍了系统各功能模块的实现及软硬件环境,简单介绍Microsoft Active Server Pages(以下简称ASP)语言以及Java

2、Script脚本语言编程技术。关键词:Active Server Pages Access2000数据库 学生学籍管理- ABSTRACT -The students roll administrative system is an application software based on B/S (browser/server) structure . The language of this systems development mainly is the ASP language and the JavaScript language . It applies on the Serv

3、er extreme and the Client extreme only sets up the Browser(Such as IE). The system has a lot of advantages,Such as perfectly functions, simply oprationes and easily uses. Through analysing , this system realizes all functions with four pieces of module: the administrative module of Students informat

4、ion ,the administrative module of Students scores ,the administrative module of examination and the administrative module of user. This system follows the economic , high-efficient , securitial,reliable , easy maintaining and open design principle easy to use. This text has introduced systematic rea

5、lization and soft hardware disposition mainly. At the same time,it also have introduced theprogramming technology of the ASP and JavaScript languages briefly.Keyword: Asp database The strudents management 目录一、前言-3二、研究现状-4(一)同类软件的分析和比较-4(二)有关本系统的研发环境及技术-51、编程环境的选择-5三、要解决的几个关键问题-9四、系统结构模型-121、系统模块结构图-

6、132、系统功能框图-133、系统主界面-144、用户登录窗口-145、信息录入窗口-156、成绩录入窗口-167、考试管理窗口-18五、系统实现技术-19 (一)学生信息模块-191、 学生信息录入子模块-192、 学生信息查询子模块-203、 学生信息修改、删除子模块-21(二)学生成绩管理模块-23 1、学生成绩录入子模块-23 2、学生成绩查询子模块-25 3、学生成绩修改、删除子模块-25 4、计算总分与排名子模块-29 5、目标分管理子模块-30(三)考试管理模块-30 1、添加新考试子模块-30 2、考试修改、删除子模块-31 3、考试科目添加删除子模块-32(四)用户管理模块-

7、32 1、添加新用户子模块-32 2、用户密码、权限管理子模块-33 3、删除用户-36(五)程序流程-38六、性能测试与分析-38 (一)测试项目-381、分模块测试-382、组装测试-38 (二)测试条件-39七、结束语-39 (一)毕业设计收获-39 (二)系统评价-39致谢-40参考文献-41一.前 言从教育行业中开始应用计算机至今,我想至少已有几十万程序员开发过学生信息管理系统或类似的系统软件。学生信息管理系统似已成了在校大学生的必修设计之一。 既然这样,为什么我还要再开发一套学生信息管理系统呢?基于以下几点理由,我认为开发这套学生信息管理系统还是有必要的。1、最早的学生信

8、息管理系统多为单机版,数据库采用的多是Foxbase、FoxPro等。因为是单机版,所以大大限制了数据的共享。在网络无处不在的今天,这种系统已大大落伍,不适用了。2、现在有些开发的网络版的学生信息管理系统则多是采用C/S(客户端/服务器)结构,使用VB、PowerBuilder等语言开发。这些系统的必须在服务端与客户端都安装上相应的系统才能使用。软件使用事先设计好的固定界面,客户几乎不能对此进行修改,更不要说进行界面或功能上的二次开发。如用户在使用过程中想增添功能,只能将建议反馈给系统的开发者,然后等待作者在下一版中进行改进,而不能自已动手。3、最近市面上流行了的一些所谓采用B/S(浏览器/服

9、务器)三层结构的商业软件,则使用的是ActiveX控件技术,客户端必须启用所有ActiveX控件选项,并安装相应客户端软件才能使用。这对大多数非计算机专业的老师来说要想启动系统不是一件容易的事。4、根据我校实际,我校每年每期要对学生基本情况进行统计汇报,针对学生的表现进行管理,随着学校生员的不断增加,规模不断扩大,手工管理不但工作量大,而且容易出错,不利于学生管理。因此使用计算机辅助管理已经成为当前学校管理工作的必然趋势。为此,我准备开发一套学生信息管理系统完全基于B/S结构,没使用任何ActiveX控件,网页中只使用了ASP语言来实现服务器端的功能,使用JavaScript脚本语言来完成客户

10、端的一些简单错误检测。这些都是当今任何一种浏览器都默认支持的功能。所以只要客户端安装了任何一种浏览器,不用作任何设置即可使用本系统。经过实际调查,我决定为学校设计一个“学生管理系统”。主要工作是:实现学生信息管理、成绩管理、考试管理,并对数据进行查询、插入,增加,删除,更新,打印等。经过几个月的努力基本完成了上述功能。 二.研究现状及设计目标(一)同类软件的分析比较1、九十年代中前期当时开发的主流技术是客户机/服务器模式Client/Server以下简称C/S 模式其特点是:(1)完整的应用程序被分布到客户机Client 和服务器Server 上其中表示层与应用逻辑层分布到客户机数据资源层分布

11、到服务器,客户机完成一定的计算任务并通过一定的协议和接口与服务器通信请求完成一定的服务Service 或要求得到数据。(2)C/S 系统适用于小规模或中等规模的局域网环境(3)采用C/S 模式开发系统在费用上较低,开发周期也比B/S 模式短,但有不少限制。首先数据库系统与每个用户都建立一个连接Connection 当用户数量增多时性能会明显下降特别是当超过某一临界点时整个系统性能会急剧下降到不可忍受的程度。其次这类系统不适合在广域网环境下使用它适用于中等或小规模的局域网环境当然远程用户也可以通过专线连接第三其应用逻辑很难重用,通常应用逻辑的改变意味着客户机端代码的重写,并需要更新所有客户机程序

12、,所以大规模部署使用C/S 应用会带来很多的系统管理难题虽然采用C/S 模式开发系统在费用上较低开发周期也比B/S 模式短但由于上面所说的C/S 模式固有的一些缺点要开发出具有很强可扩展性的程序有很大困难。2、C/S 结构与B/S 结构技术特点比较所谓B/S结构,就是只安装维护一个服务器(Server),而客户端采用浏览器(Browse)运行软件,即浏览器/服务器结构。 B/S结构的优点是维护方便,能够降低总体拥有成本。客户端运行软件,就像我们平时上网浏览网页一样,有个浏览器(通常是IE5.0)就行了,不用安装其它软件。而且通过电话线也可以运行软件。B/S结构的软件所有的维护、升级工作都只在服

13、务器上进行,而客户端就能获得最新版本的软件。相对于C/S结构,尽管C/S结构相对于更早的文件服务器来说,有了很大的进步,但与B/S相比,缺点和不足是很明显的。首先,B/S比C/S的维护工作量大大减少了。C/S结构的每一个客户端都必须安装和配置软件。假如一个学校共有50个客户站点使用一套C/S结构的软件,则当这套软件进行了哪怕很微小的改动后(比如增加某个功能),系统维护员都必须进行这样的维护;将服务器更新到最新版本;将客户端原有的软件卸载,再安装新的版本,然后进行设置,最为可怕的是客户端的维护工作必须不折不扣的进行50次。若其中有部分客户端是在另外一个地方,则系统维护员还必须跑到该地方再进行卸载

14、、安装、设置的工作。 若某个客户端,忘记进行这样的维护,则该客户端将会碰到版本不一致的问题而无法工作。 而B/S结构,客户端不必安装及维护。如果我们将前面学校的C/S结构的软件换成B/S结构的,我们看看软件升级后,系统维护员只要将服务器的软件升级到最新版本就行了。其他客户端,只要重新登录系统,使用的就已经是最新版本的软件了。 其次,B/S相对C/S能够降低总体拥有成本, C/S软件一般是采用两层结构的。而b/s采用的是三层结构。两层结构中,客户端接受用户的请求,客户端向数据库服务提出请求,数据库服务将数据提交给客户端,客户端将数据进行计算(可能涉及到运算、汇总、统计等等)并将结果呈现给用户。在

15、三层结构中,客户端接受用户的请求,客户端向应用服务提出请求,应用服务从数据库服务中获得数据,应用服务将数据进行计算并将结果提交给客户端,客户端将结果呈现给用户。 这两种结构的不同点是,两层结构中客户端参与运算,而三层结构中客户端并不参与运算,只是简单的接收用户的请求,显示最后的结果。由于三层结构中的客户端并不需要参与计算,所以对客户端的计算机电脑配置要求是比较低的。采用三层结构的B/S的配置可以是提高服务器的配置,降低客户端的配置。这样增加的只是一台服务器(应用服务和数据库服务可以放在同一台计算机电脑中)的价格,而降低的却是几十台客户端机器的价格。起到了降低总体拥有成本的作用。(二)有关本系统

16、的研发环境及技术我研究了最近市面上流行的一些采用B/S(浏览器/服务器)三层结构的商业软件,则使用的是ActiveX控件技术,客户端必须启用所有ActiveX控件选项,并安装相应客户端软件才能使用。这对大多数非计算机专业的老师来说无疑仍是一个不小的难题。因而,我开发的这套学生学籍管理系统完全基于B/S结构,没使用任何ActiveX控件,网页中只使用了ASP语言来实现服务器端的功能,使用JavaScript脚本语言来完成客户端的一些简单错误检测。这些都是当今任何一种浏览器都默认支持的功能。所以只要客户端安装了任何一种浏览器,不用作任何设置即可使用本系统。1、编程环境的选择几年以前,业界在动态主页

17、发布方面唯一的渠道是CGI(Common Ga teway Interface) 模式。随后出现的 ISAPI、NSAPI和JDBC等技术方案虽较CGI进步,但从企业网(Intranet )的技术现实来衡量,这些方案仍不适用于进行快速开发、及时维护和大面积的技术普及。ASP技术的出现,使动态交互式Web主页设计成为一件轻松愉快的工作。只要几行脚本语句,就能将后台的数据库信息发布到Internet/Intranet上, 在编程和网页脚本的可读性方面大大优于传统的技术方案。ASP是 Active Server Pages(动态服务器主页)的缩写,它是一个服务器端的脚本环境,在站点的Web服务器上解

18、释脚本,可产生并执行动态、交互式、高效率的站点服务器应用程序。ASP可以胜任基于微软Web服务器的各种动态数据发布。(1)ASP方法与传统静态主页的区别把信息系统纳入Internet/Intranet 的框架之后,首先要解决的问题是通过网页访问后台数据库信息。所有应用程序都被分割为页面的形式,用户的交互操作是以提交表单等方式来实现的,这就要求Web 站点具有很强的动态数据发布能力。然而,目前Web的服务,仍以提供" 静态"主页内容为主。所谓"静态",指的就是站点的主页内容是"固定不变"的,无法根据用户的需求和实际情况作出相应的变化。当

19、浏览器通过Internet的HTTP协议向站点的Web服务器申请主页时,站点服务器就会将已设计好的静态的HTML文件传送给浏览器。若要更新主页的内容, 只能用非在线的手动方式更新HTML的文件数据。ASP所设计出的是动态主页,可接收用户提交的信息并作出反应, 其中的数据可随实际情况而改变,无须人工对网页文件进行更新即可满足应用需要。例如:当在浏览器上填好表单并提交HTTP请求时,可以要求在站点服务器上执行一个表单所设定的应用程序,而不只是一个简单的HTML文件。该应用程序分析表单的输入数据,根据不同的数据内容将相应的执行结果(通常是数据库查寻的结果集)以HTML的格式传送给浏览器。数据库的数据

20、可以随时变化,而服务器上执行的应用程序却不必更改,客户端得到的网页信息会始终保持新鲜的魅力。(2)ASP的工作原理和配置当用户申请一个*.asp主页时,Web服务器响应该HTTP请求,调用ASP引擎,解释被申请文件。当遇到任何与ActiveX Scripting 兼容的脚本(如VBScript和JScript)时,ASP引擎会调用相应的脚本引擎进行处理。若脚本指令中含有访问数据库的请求,就通过ODBC与后台数据库相连,由数据库访问组件执行访库操作。ASP 脚本是在服务器端解释执行的,它依据访库的结果集自动生成符合HTML语言的主页, 去响应用户的请求。所有相关的发布工作由Web服务器负责。有必

21、要注意访库的具体运作细节。当遇到访库的脚本命令时,ASP 通过ActiveX组件ADO(ActiveX Data Objects)与数据库对话(ADO是建立在微软新的数据库API,即OLE DB之上的,目前的OLE DB通过ODBC引擎与现存的ODBC数据库交互,进一步的OLE DB版本将直接与数据库打交道,不再通过ODBC引擎),并将执行结果动态生成一个HTML 页面来返回服务器端,以响应浏览器的请求。在用户端浏览器所见到的是纯HTML表现的画面,例如用表格来表现的后台数据库表中的字段内容。由于 ASP结合了脚本语言,可以通过编程访问ActiveX组件,并且具有现场自动生成HTML的能力,所

22、以它成为建立动态Web站点的有效工具。在结构关系上,ASP是通过ODBC与数据库打交道。因此,向上层可兼容各类数据库系统。而对于下层,ASP 产生的HTML 对客户端的浏览器又有广泛的适应性。(3)ASP的特点与功能从软件的技术层面看,ASP有如下的特点:a. 无需编译ASP脚本集成于HTML当中,容易生成,无需编译或链接即可直接解释执行。b. 易于生成使用常规文本编辑器(如WINDOWS下的记事本),即可进行*.asp页面的设计。c. 独立于浏览器用户端只要使用可解释常规HTML码的浏览器, 即可浏览ASP所设计的主页。ASP脚本是在站点服务器端执行的,用户端的浏览器不需要支持它。d. 面向

23、对象在ASP脚本中可以方便地引用系统组件和ASP的内置组件,还能通过定制 ActiveX Server Component(ActiveX服务器组件)来扩充功能。e. 与任何ActiveX scripting 语言兼容可使用VBScript 和JScript语言进行设计。f. 源程序码不会外漏ASP脚本在服务器上执行,传到用户浏览器的只是ASP执行结果所生成的常规HTML码,这样可保证辛辛苦苦编写出来的程序代码不会被他人盗取。(4)从应用的层面看,ASP有如下的功能:a. 处理由浏览器传送到站点服务器的表单输入。b. 访问和编辑服务器端的数据库表。使用浏览器即可输入、更新和删除站点服务器的数据

24、库中的数据。c. 读写站点服务器的文件,实现访客计数器、座右铭等功能。d. 提供广告轮播器、取得浏览器信息、URL表管理等内置功能。e. 由cookies读写用户端的硬盘文件,以记录用户的数据。f. 使用VBScript或JScript等简易的脚本语言,结合HTML码,快速完成站点的应用程序。通过站点服务器执行脚本语言,产生或更改在客户端执行的脚本语言。g. 扩充功能的能力强,可通过使用Visual Basic、Java、Visual C + 等多种程序语言制作ActiveX Server Component以满足自己的特殊需要。 2、编程的相关技术ASP与组件对象的完美组合在利用ASP技术进

25、行动态Web开发的时候,应遵循这样一个原则:即 ASP的服务器端脚本必须与微软倡导的组件对象( Component Object Model )配合使用才能开发出具有实用价值的信息产品。ASP脚本相当于一种粘合剂,把一个个具有特定功能的组件对象粘合在一起,以形成最终的软件产品。这一软件制作的工艺思想类似于硬件工厂生产板卡的过程,那一个个的组件对象就相当于集成电路的芯片,而ASP脚本只是焊接芯片的焊接剂,由此可见组件对象起着核心作用。组件对象模型COM是微软提出的一种基于二进制的Windows软件标准,它是由OLE 技术逐渐发展而来的。在使用不同语言工具写成的组件对象之间,依据COM 的标准可以

26、进行交互。COM是技术概念和标准, 其商业概念的称谓则使用ActiveX。此外,ASP本身还提供了五个内置的对象。这五个内置对象可被ASP 脚本直接使用,它们是:Request取得用户信息Response 传递信息给用户Server 提供访问服务器的方法和属性Application在一个应用程序的多个主页之间保留和使用某些共同的信息Session在一个用户的多个主页之间保留和使用某些共同的信息其中,使用内置对象1、2可实现Web的交互功能,使用内置对象4、 5可解决具有协作机制的应用问题。ASP的一大特色,是可以用来编写具有协作机制的应用程序,在多个用户的多个主页之间共享信息。使用内置的App

27、lication和Session 对象可实现这些功能。Application对象保存一个应用程序共同的信息,使用此应用程序的所有用户都可以共同分享。为防止其被多个用户同时更改,提供lock和unlock方法来实现互斥,例如:Application.lock 禁止其他用户更改Application的信息;Application.unlock 允许其他用户更改Application的信息。Session对象比Application对象的使用外延范围小,它保存仅属于一个用户的一个应用程序的信息。ASP的应用程序可以只有一个首页,也可以有多个主页文件,所有的文件均位于一个虚拟路径下。Sess ion对

28、象可让同一个用户在多个主页之间共享信息。当用户第一次在一个应用程序中申请一个*.asp主页时,ASP将为该用户分配一个Sessi onID号,它将唯一地标识用户的身份,从而能将同一应用程序的不同用户区分开来。根据需要还可以自行定制具有某些特色的组件对象,以完成特殊的任务。用VisualB asic、Visual C+、Delphi和 Java等语言都可以编写。自制的组件对象分成两类:一是由类打包而成的*.dll文件,经注册器注册后,在ASP脚本中可通过"Set 对象名 = 类名"来引用。对象在这种使用过程中是在服务器的后台运行的,其运行的结果通过系统自动生成的HTML作用到

29、前端浏览器。二是生成*.ocx文件,一般用作可视化的对象ActiveX,可直接将其嵌入*.asp主页中,在页面中插入时需使用HTML语言的<OBJECT>标记加以引用。通常构件制作完成并按下载的要求打包后生成*.cab文件。对象在这种使用方式下要先从服务器下载,然后在客户的前端浏览器运行。在第一次下载时被展开成相关的*.dll和*.ocx文件进行本地安装及注册。以后再使用时,就可直接从本地获得,以免再去下载一次,这也是ActiveX优于Java App let的地方。ASP和组件对象的配合使用无疑是一种引人入胜的新技术,更重要的是由此而提出了一种全新的软件设计方法,把硬件的工艺思想

30、恰如其分地融合于软件的面向对象的分析、设计和施工之中, 使面向对象的概念和方法从工具语言的层次一下子跃上了系统的应用层,在快速开发多层的B/S分布式应用系统中将会产生极好的效果,所以我选择用ASP来开发这套学生学籍管理系统。ASP中SQL语句的使用目前SQL产品很多,MySQL、SQL Server和mSQL都是绝佳的SQL工具。但要同时采用ASP和SQL的话就可能比较复杂,在ASP的环境下用不着它们来创建实用的SQL语句。我利用自己掌握的Access知识以及相应的Access技能,再加上老师的提示和指导,相信一定能成功地在ASP网页中加入SQL。1. SELECT 语句,执行以下语句就会创建

31、一个存放其结果的查询。SELECT whatFROM whichTableWHERE criteria2. 用WHERE子句设置查询条件有时候不需要取出全部数据库记录,在大多数情况下我们通常只需得到部分记录。这样一来该如何设计查询呢?我会用到下面的WHERE 子句了:SQL ="SELECT p_name FROM Products WHERE p_name LIKE 'W%'"WHERE 关键词的后面跟着用来过滤数据的条件,有了这些条件的帮助,只有满足一定标准的数据才会被查询出来。在以上的例子里,查询的结果只会得到名字以w 打头的p_name 记录。我的模

32、糊查询的功能就是这样实现的。BETWEEN用于取出一定范围内的数据,而且事先要知道范围的起点和终点,那么采用BETWEEN 判断词。如果选取给定表内范围在 1和 10之间的记录。可以如下使用BETWEEN:WHERE ID BETWEEN 1 AND 10或者采取数学判断字句:WHERE ID >= 1 AND ID >= 10用ASP与数据库的连接ASP有一个非常最重要的功能,就是它可以轻松地连接数据库。通常本系统都是和一个Access数据库相连。因为Access是最容易起步的,下面我以Access为例连接到数据。在连接数据库之前我们在服务器上将数据库打开。我通过使用数据源名(D

33、SN)或者通过在脚本语言中直接使用一个DSN-less连接的方法来连接和打开数据库。要创建一个DSN-less连接,你就需要提供同样的信息。比如给一个叫products的数据库建立一个DSN-less连接:<% StrConnect = "Driver=Microsoft Access Driver (*.mdb); DBQ=C:dbproducts.mdb"Set objConn = Server.CreateObject ("ADODB.Connection")objConn.OpenStrConnect%> 第二行定义了数据库的驱动和物

34、理路径。为了要使用一个DSN-less连接,你就需要知道实际的文件存放地点(绝对路径)。Server.MapPath给任何一个使用主机服务的人提供了一个简单的工作环境来查找出那些难于查到的实际访问路径。这样数据库就已经打开了,接下来就可以对数据库进行操作了,比如建立表单、查询记录、添加记录、删除记录、编辑记录等。使用ASP建立的动态主页与浏览器无关,不论用哪种浏览器都能浏览ASP的页面,使用JSCRIPT和VBSCRIPT加上一些其他ASP元件,你就能在你的INTRANET应用中使用ASP。使用ASP不仅可以读取ACCESS和SQL SERVER的数据库,同时也你可以读取其他ODBC兼容的数据

35、库。三.要解决的几个关键问题(一)、ADO访库的技术实现ADO(ActiveX Data Objects)是一组优化的访问数据库专用对象集,为ASP提供了完整的站点数据库访问解决方案。它可作用于服务器端,以提供含有数据库信息的主页内容。通过执行SQL命令,让用户在浏览器画面中输入、查询、修改和删除站点服务器的数据库信息。1、ADO使用内置的RecordSets对象作为数据的主要接口。ADO可使用 VBScript、JScrip t语言来控制对数据库的访问,以及查询结果的输出显示。2、ADO可连接多种支持ODBC的数据库,如SQL Server、Oracle、Info rmix等。在使用时,首先

36、需在控制面板的ODBC中建立相应的DSN(数据源名) 。要选择系统数据源名,指定所用的驱动程序,如"SQL Server",在数据来源名称中输入DSN名,并选定服务器和数据库。3、使用ADO访问数据库的设计有几个典型的ASP脚本语句, 它们是:(1). 定义数据库组件。有两种定义方法:·使用"Server.CreateObject"建立连接的对象。Set Conn=Server.CreateObject("ADODB.Connection")·使用<OBJECT>标记建立连接的对象。<OBJECT

37、 RUNAT=Server ID=Conn CLASSID="Clsid:00000293-000 0-0010-8000-00AA 006D2EA4"></OBJECT>(2). 用"Open"打开待访的数据库:Conn.Open "DSN名称"(3). 设定SQL语句,使用"Execute"命令,即可开始执行访问数据库的动作:SetRS=Conn.Execute("SQL语句")其中RS为结果集对象(RecordSets)。(4). 利用RecordSets对象所提供的属性

38、显示查询结果,如下例将查询结果显示于一个表格中:(其中<%和%>是ASP脚本的专用定界符)<TABLE BORDER=1><TR><% For i =0 to RS.Fields.Count -1 %><TD><% = RS(i).Name %></TD><% Next %></TR><% Do While Not RS.EOF %><TR><% For i =0 to RS.Fields -1 %><TD><% = RS(i) %&

39、gt;</TD><% Next %></TR><% RS.MoveNextLoop%></TABLE>(二)、如何使用SQL语句实现数据库的操作。SQL是英文Structured Query Language的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle, Sybase, M

40、icrosoft SQL Server, Access等都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select, Insert, Update, Delete, Create, 以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作(三)、运行ASP文件时的安全问题ASP提供了很好的代码保护机制,所有的ASP代码都在服务器端执行而只返回给客户端代码执行结果。但仍不排除恶意人士对Web服务器的刻意破坏,所以在编写ASP文件时更要注意安全问题。虽然在ASP中引入文件以inc作为扩展名,但在本系统以ASP作为引文件的扩展名。当这些代码在安全机制

41、不好的Web Server上运行时,只需在地址栏上输入引入文件的地址(inc为扩展名),就可以浏览该引入文件的内容,这是由于在Web Server上,如果没有定义好解析某类型(比如inc)的动态连接库时,该文件以源码方式显示。另外,不把数据库文件放在网站结构内部,这样,使恶意人士不能获取数据库路径,就不会轻易获取该数据库,进而肆意更改数据库内容。本系统为数据库建立数据源名称DSN(Date Source Name),在DSN中存储了有关连接到指定数据提供者的信息,包括:“数据库的物理位置,用于访问数据库的驱动程序的类型,访问数据库的驱动程序所需要的任何其他参数”,在进行数据库访问时可以直接访问

42、该DSN。(四)、根据实际设计各功能模块的具体功能特性:1、学生信息录入模块:在录入第一条记录后继续录入下一条记录时,学号会自动加1,并自动填入学号框中,大大减少了工作量,并避免了手工录入容易出错的问题。若自动加1生成的学号在数据库中已存在,则自动转入修改页面,避免了录入一大堆数据后却被系统告知学号已存在,不得不重新录入的烦恼。    入学日期会根据学号而自动填入;      完善的错误检测。系统对学号为空、学号不是数字、学号的取值范围、姓名为空等错误都在客户端用JavaScript脚本进行了检测并用对话

43、框的形式给出相应提示。避免了提交数据后再报错的弊端。 2、学生信息修改/删除模块:可以一次只删除一条记录,也可以一次删除多条记录,并且两种方式都提供了最直接最简单的操作;    可以一次选定所有记录,或取消选定所有记录。这些都是用JavaScript脚本来实现的。这个功能是借鉴了网易、新浪等著名网站中的邮件管理功能所制作的。    在删除多条记录前进行确认,避免了误操作的产生。 3、学生成绩录入模块:这是系统设计最完善的模块之一系统提供两种录入方式可供选择:一次只录入单个学生的某一科或几科成绩,或者像Ex

44、cel一样用列表方式录入多个学生的某一科或几科成绩。单条记录方式不易出错,列表方式能快速录入。用户可在两种方式间任意切换。      单条记录录入方式时,可自由选择录入某个学生的成绩。已录入的成绩会自动填入相应科目的录入框中。在此模块的编程中,使用了非常多的编程技巧来提供上述功能,做到了JavaScript与ASP完美的配合。4、学生成绩查询模块:提供了按考试查询和按科目查询两种查询方式。按考试查询可以在选定考试后,查询某一科或几科的成绩、目标分、是否达标、合格人数、优秀人数、合格率、优秀率以及两率和等信息。此种方式便于班任或科任掌握相应考试的

45、考试情况。     按科目查询可以在选定科目后,查询某一次或几次考试的成绩、目标分、是否达标、优秀人数、合格率、优秀率、两率和等信息。此种方式便于科任老师掌握学生的学习情况。5、学生成绩修改/删除模块提供了与学生信息修改/删除模块一样的人性化设计6、计算总分与排名模块:这是一个非常实用的一个模块。当各位科任老师将各科成绩录入后,班主任轻点几下鼠标,即可计算出总分、平均分、班级排名与全级排名。7、目标分管理模块:其实是学生成绩录入模块的另一个应用,所以也提供了与学生成绩录入模块一样的人性化设计。8、考试管理模块:集添加新考试与对现有的考试管理为一体。删除考

46、试时的确认,避免了误操作。9、考试信息修改模块:在此模块中,可以修改考试名称,添加/删除考试科目。删除考试科目时进行确认,避免了误操作。10、用户管理模块:集添加新用户与对现有的用户管理为一体。添加新用户时对用户名、密码、确认密码的检测等,避免了误操作。权限的设置使得本系统可以分三层管理:未登录用户、普通登录用户和系统管理员三级。四、系统结构模型进入具体设计阶段主要是对分系统(或模块)进行详细具体设计。是将系统总体设计中划分的各子系统,再自上而下的详细设计各子系统及模块的内部和外部数据关系,直到每个具体的模块为一个能够独立编程的单元为止。为编出一个好的程序,我注意以下几点:1、有清晰的程序内部文档。包括恰当的标识符、明确的注解等;2、程序结构应该简单直观。避免利用大量的循环嵌套和条件嵌套;构造语句时应利用括号将逻辑表达式或算术表达式的运算次序括起来;3、数据说明易于理解。4、有好的输入/输出风格,数据格式保持简单一致。整个系统包括已下四个子模块:它们关系如图1。1、系统模块结构图学生学籍管理系统用户管理模块学生信息管理模块考试管理模块学生成绩管理模块系统模块结构图2、整个系统的功能框图如下用户学生信息管理考试管理学生成绩管理

温馨提示

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

评论

0/150

提交评论