ASP.NET 学籍管理系统的设计与实现(论文+源码)_Nueve

摘要:管理信息系统在现代社会已深入到各行各业,由于计算机技术的迅速发展和普及,管理信息系统MIS事实上已成为计算机管理信息系统。西南林学院学籍管理信息系统是典型的管理信息系统,其开发主要包括后台数据库的建立和维护以及前端应用程序两个方面。本文是在Microsoft ASP框架的集成环境中使用ASP平台、C#语言、SQL Server数据库并结合了WEB技术进行开发的。完成了对日常学生的计算机管理,以及对信息的添加,修改,删除等计算机管理工作。在文中对相关的技术进行了描述,对系统的各个子系统的功能、设计思路及设计方法都作了详细的描述。

关键词MIS;Browser/Server;学生;ASP;管理

Elementary Study of Management Information System Based on ASP

(Dept. of Computer and Information Science, Southwest Forestry College, Kunming, Yunnan, 650224, China)

Abstract: Nowadays, Management Information System is used by many and many calling. As a result of computer technology is developed and generalized rapidly, the Manager Information System turn into Computer Management Information System in fact.

Pidgin of Communist Party Management System is emblematical Manager Information System. Exploitation comprises construction and maintenance of background database and proscenium application program two sides. The System is developed in Microsoft Visual Studio Net., which is used language of C#, platform of ASP, and the database of the Microsoft SQL Server 2000, and is integrate Web technology. The System achieves the computer management of pidgin of Communist Party, and the computer management of appending, deleting, modification information. The paper introduces the correlative technology, function of respective subsystem, conceive and design methods in detail.

Keywords: MIS; Browser/Server; Pidgin of Communist Party; ASP; Management

    

1 前言 1

1.1 管理信息系统 1

1.2 开发学籍管理信息系统的必要性 1

1.3 技术选定 2

2 学籍管理信息系统简介以及系统概要设计 2

2.1 学籍管理信息系统总体功能简介 2

2.2 学籍管理信息系统功能模块简介 3

2.3 系统具体功能描述 3

2.3.1 管理员模块功能 3

2.3.2 用户模块功能 5

2.4 学生信息管理系统性能需求 7

2.5 学籍管理信息系统的分析和概要设计 7

2.5.1 学籍管理信息系统分析 7

2.5.2 学籍管理信息系统数据库设计 9

3 学籍管理信息系统的具体实现 14

3.1 Microsoft ASP简介 14

3.2 运用ASP技术操作数据 15

3.2.1 ASP简介 15

3.2.2 ASP与数据库 16

3.2.3 运用ASP技术操作数据 17

3.2.4 DataGrid控件的数据绑定 18

3.2.5 DataGrid控件的定义 18

3.2.6 总结 18

4 结束语 18

5 参考文献 18

6 致谢 18

绪言

1.1 管理信息系统

管理信息系统(Management Information Systems简称MIS)是一个不断发展的新型学科,MIS的定义随着计算机技术和通讯技术的进步也在不断更新,在现阶段普遍认为管理信息系统MIS是由人和计算机设备或其他信息处理手段组成并用于管理信息的系统[10]。

管理信息由信息的采集、信息的传递、信息的储存、信息的加工、信息的维护和信息的使用五个方面组成。完善的管理信息系统MIS具有以下四个标准:确定的信息需求、信息的可采集与可加工、可以通过程序为管理人员提供信息、可以对信息进行管理。具有统一规划的数据库是MIS成熟的重要标志,它象征着管理信息系统MIS是软件工程的产物. 管理信息系统MIS是一个交叉性综合性学科,组成部分有:计算机学科(网络通讯、数据库、计算机语言等)、数学(统计学、运筹学、线性规划等)、管理学、仿真等多学科。随着科学技术的高速发展,MIS涉及的范围还要扩大[10]。

管理信息系统MIS的开发必须具有一定的科学管理工作基础。只有在合理的管理体制、完善的规章制度、稳定的工作秩序、科学的管理方法和准确的原始数据的基础上,才能进行MIS的开发。

1.2 开发系统的必要性

高等院校的学籍管理工作是学校管理工作中一项十分重要的工作,占有十分重要的位置,也是高校日常事务管理中的一个重要环节。随着学校规模扩大,在校学生人数不断增加,加大了学籍管理管理的难度[1]。

然而,长期以来学籍管理工作一直是使用传统人工的管理方式,这样的管理方式存在着:效率低、保密性差,大量的文件和数据难于查找、更新和维护,造成了办事效率低这样的现状。远远不能适应发展的需要。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。应用计算机对高校学生信息进行管理,具有人工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性强、存储量大、保密性能好等。这些优点能够极大地提高学籍管理的工作质量和效率,也是高校学籍管理的科学化、规范化、信息化管理的重要条件。

1.3 技术选定

随着Internet/Intranet技术的兴起,将原本在单机或本地局域网上运行的数据库系统移植到因特网中,即开发基于Browser/Server模式的新一代MIS系统,正成为技术发展的趋势。

ASP作为一种经典的网路程序语言,一种“简单、流行、面向对象、类型安全”的程序设计语言,ASP意在综合Visual Basic的高效率和C++的强大功能。ASP的主要集中在Web开发的能力上,由于ASP中的新特性的加入及ASP对Web Services和SOAP (Simple Object Access Protocol)的集成,使得开发人员开发出全新的应用程序及服务来适应当前网络互联不断增长的时代。ASPMicrosoftASP中的网络编程结构,使得建造、运行和发布网络应用非常方便和高效,ASP是一种建立在通用语言上的程序构架,能被用于以一台Web服务器来建立强大的Web应用程序。ASP拥有许多比现在的Web开发模式强大的优势[9]

目前,网络应用软件运行的模式主要有二类:Client/server模式,Browser/Web模式。前者主要的缺点是维护、升级较麻烦,后者是近几年伴随Internet迅速发展起来的一种技术,它与客户/服务器方式类似,客户端是一个标准的浏览器,服务器端是Web Server ,而Web Server与数据库和应用服务器的紧密结合,使得这种模式的应用范围不断扩大,它已不仅仅用于网上查询,有很多部门的业务系统、企业的MIS系统纷纷采用这种模式,它的主要优点是便于扩充应用、升级维护简便。

基于上述考虑,用Browser/Web模式来设计客户管理系统比较合适,服务器端我们采用Access数据库系统和ASP组件来构成应用服务系统;客户端采用浏览器来完成操作的全过程,同时可进行远程系统维护和管理。

利用网络和数据库技术,结合目前硬件价格普遍下跌与宽带网大力建设的有利优势,应用Active Server Page技术,我开发了基于B/S模式多用户客户管理系统这一程序。它运用方便、操作简单,效率很高(同时,它要求计算机配置也很高,尤其是服务器端)。

该在系统主要采用ASP、HTML、Access数据库、VBScript、SQL等技术和工具,整体设计遵循软件工程的方法,经过需求分析、总体设计、文档和代码的编制、模块测试和系统实现几个阶段。下面就对这几种技术和方法做一个概述。

1.3.1 ASP技术介绍

Microsoft Active Server Pages 即我们所称的ASP,其实是一套微软开发的服务器端脚本环境。Active Server Page 是创建动态网页的一个很好的工具,它起一种编程语言的作用,可以利用它编写动态产生HTML的程序代码。因此,只要用户浏览Web站点并请求一个ASP页,Web服务器就可以处理相应的ASP代码,生成HTML代码,然后将它传递到用户浏览器并显示出网页。ASP内含于IIS3.0和4.0之中,通过ASP我们可以结合HTML网页、ASP指令和ActiveX元件建立动态、交互且高效的WEB服务器应用程序。有了ASP就不必担心客户的浏览器是否能运行所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通HTML中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。以下罗列了ASP所独具的一些特点:

1.使用VBScript 、JavaScript等简单易懂的脚本语言,结合HTML代码,即可快速地开发应用程序。

2.无须编译,容易编写,可在服务器端直接执行。

3.使用普通的文本编辑器,如Windows的记事本,即可进行编辑设计。

4.与浏览器无关,用户端只要使用可执行HTML码的浏览器,即可浏览ASP所设计的网页内容。ASP所使用的操作控制语言均在WEB服务器端执行,用户端的浏览器不需要能够执行这些脚本语言。

5.ASP能与任何ActiveX scripting语言相容。除了可使用VBScript或JScript语言来设计外,还通过plug-in的方式,使用由第三方所提供的其他脚本语言,譬如REXX、Perl、Tcl等。脚本引擎是处理脚本程序的COM(Component Object Model)物件。

6.ASP的源程序,不会被传到客户浏览器,因而可以避免所写的源程序被他人剽窃,也提高了程序和数据的安全性。

7.可使用服务器端的脚本来产生客户端的脚本。

8.物件导向(Object-oriented)。

9.ActiveX Server Components(ActiveX服务器元件)具有无限可扩充性。可以使用Visual Basic 、Java 、Visual C++ 、COBOL等编程语言来编写你所需要的ActiveX Server Component。

10.另外,ASP技术的处理速度相当快,并且其安全性等同于操作系统的安全性。ASP最重要的优点是能够建立对诸如时间、地点、用户标志、以前的选择和活动等因素敏感的页面。换句话说,可针对每个用户的个别需求,用ASP定制网页,能够满足用户的各种需求。

ASP程序的运行流程见下图:

总之,ASP包含三方面含义:

1.Active:ASP使用了微软的ActiveX技术。ActiveX(COM)技术是现在Microsoft软件的重要基础。它采用封装对象,程序调用对象的技术,简化编程,加强程序间合作。ASP本身封装了一些基本组件和常用组件,有很多公司也开发了很多实用组件。只要你可以在服务器上安装这些组件,通过访问组件,你就可以快速、简易地建立自己的WEB应用。

2.Server:ASP运行在服务器端。这样就不必担心浏览器是否支持ASP所使用的编程语言。ASP的编程语言可以是VBSCRIPT和JSCRIPT。VBSCRIPT是VB的一个简集,会VB的人可以很方便的快速上手。然而Netscape浏览器不支持客户端的VBSCRIPT,所以最好不要在客户端使用VBSCRIPT,本系统采用了javascript。而在服务器端,则无需考虑浏览器的支持问题。Netscape浏览器也可以正常显示ASP页面。

3.Pages:ASP返回标准的HTML页面,可以正常地在常用的浏览器中显示。浏览者查看页面源文件时,看到的是ASP生成的HTML代码,而不是ASP程序代码。这样就可以防止别人抄袭程序。

由此可以看出,ASP是在IIS下开发WEB应用的一种简单、方便的编程工具。在了解了VBSCRIPT的基本语法后,只需要清楚各个组件的用途、属性、方法,就可以轻松编写出自己的ASP系统。 

运行 ASP 所需的环境如下:

☆Microsoft Internet Information Server version 3.0/4.0 on Windows NT Server

☆Microsoft Internet Information Server version 5.0/5.1 on Windows 2000 Server / Advance Server

☆Microsoft Internet Information Server version 6.0 on Windows.NET 2003 Server

与一般的程序不同,ASP程序无须编译。ASP程序的控制部份,是使用VBScript、JavaScript等脚本语言来设计的,当执行ASP程序时,脚本程序将一整套命令发送给脚本解释器(即脚本引擎),由脚本解释器进行翻译并将其转换成服务器所能执行的命令。当然,同其他编程语言一样,ASP程序的编写也遵循一定的规则,如果你想使用你所喜爱的脚本语言编写ASP程序,那么你的服务器上必须要有能解释这种脚本语言的脚本解释器。当你安装ASP时,系统提供了两种脚本语言:VBSrcipt和JavaScript,而VBScript则被作为系统默认的脚本语言。

ASP程序其实是以扩展名为.asp的纯文本形式存在于WEB服务器上的,可以用任何文本编辑器打开它,ASP程序中可以包含纯文本、HTML标记以及脚本命令。只需将.asp程序放在Web服务器的虚拟目录下(该目录必须要有可执行权限),就可以通过WWW的方式访问ASP程序了。要学好ASP程序的设计,必须掌握脚本的编写,那么究竟什么是脚本呢?其实脚本是由一系列的脚本命令所组成的,如同一般的程序,脚本可以将一个值赋给一个变量,可以命令Web服务器发送一个值到客户浏览器,还可以将一系列命令定义成一个过程。要编写脚本,你必须要熟悉至少一门脚本语言,如VBScript。脚本语言是一种介于HTML和诸如JAVA、Visual Basic、C++等编程语言之间的一种特殊的语言,尽管它更接近后者,但它却不具有编程语言复杂、严谨的语法和规则。如前所述ASP所提供的脚本运行环境可支持多种脚本语言,譬如:JavaScript、REXX、PERL等等,这无疑给ASP程序设计者提供了广泛的发挥余地。ASP的出现使得广大Web设计者不必在为客户浏览器是否支持而担心,实际上就算在同一个.asp文件中使用不同的脚本语言,都无须为此担忧,因为所有的一切都将在服务器端进行,客户浏览器得到的只是一个程序执行的结果,而你也只需在文件中声明使用不同的脚本语言即可。

ASP的对象和组件:

1.ASP有7个固有对象

这7个固有对象分别是Request、Response、Server、Application、Session、ASPError和ObjectContext。

Request对象用来处理用户做出的请求,就是处理用户要求浏览器查看特定的网页或Web应用时做出的请求。此请求可以HTML的形式输入或仅以URL的形式作出。Response对象用来处理从Web服务器向用户发送信息并对此信息进行控制。

Serve对象用来代表服务器自身。因此它提供几个与Web服务器可能要完成的任务相关的常用功能,诸如建立新对象和设置脚本的超时特性等。还有通过将不合法字符转化为合法字符,把字符串转换为URL和HTML正确的使用格式的方法。

Application对象用来代表应用,可用它来管理诸如应用目录这一类的东西。

Session对象用来代表用户会话,并存储该会话的信息。可利用Session对象来管理如Web服务器在用户“请求”之间等待的时间等。

ObjectContext对象用来管理事务处理。它目前已经集成到Windows2000操作系统中了。它包含了所有ASP其他对象,可通过ObjectContext引用ASP的每个对象。

ASPError对象包含ASP脚本或asp.dll本身产生的任何错误的详细内容。

2.Microsoft Data Access Component

MDAC作为操作系统的组成部分的组件,与ASP一起提供。此组件中包含一组称为ActiveX Data Object(ADO)的对象,他们对于查看不同平台上的各种数据(数据库、表单、文本文件)是必不可少的。ADO主要有3个对象,分别是Connection、Command和Recordset。

Connection对象就是使ADO与数据库之间建立一个通道,也就是实现与数据库的连接。

Command对象就是对数据库进行发号施令,比如建立新的索引,执行查询等,它可以通过标准的SQL数据库操作语言得以实现。

Recordset对象是一个数据记录集,它包含了我们检索出来的记录数据,通过它可以直接对数据库进行修改。

3.活动服务器组件

活动服务器组件是与ASP一起免费带来的组件或DLL,他们有着广泛的用途。主要包括AD Rotator、Browser Capabilities、Content Link、Content Rotator、Counters、logging Utility、MyInfo、Page Counter、permission Checker、tools等组件。由于本次设计用到的不多,在此就不详细介绍了

4.ASP脚本对象

他们分别是Dictionary、FileSystemObject和TextStream.由于本设计用到的也不多,在此就不详细介绍了。

1.4 SQL语句介绍

SQL全称是“结构化查询语言(Structured Query Language)”,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言,得到了广泛的应用。如今无论是像Oracle ,Sybase,Informix,SQL server这些大型的数据库管理系统,还是像Visual Foxporo,PowerBuilder这些微机上常用的数据库开发系统,都支持SQL语言作为查询语言。

Structured Query Language包含4个部分:

☆数据查询语言DQL-Data Query Language SELECT

☆据操纵语言DQL-Data Manipulation Language INSERT, UPDATE, DELETE

☆数据定义语言DQL-Data Definition Language CREATE, ALTER, DROP

☆数据控制语言DQL-Data Control Language COMMIT WORK, ROLLBACK WORK
1.4.1 SQL的优点

SQL广泛地被采用正说明了它的优点。它使全部用户,包括应用程序员、DBA管理员和终端用户受益非浅。

1.非过程化语言

SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集。所有SQL 语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。 SQL不要求用户指定对数据的存放方法。 这种特性使用户更易集中精力于要得到的结果。所有SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段。查询优化器知道存在什么索引,哪儿使用合适,而用户从不需要知道表是否有索引,表有什么类型的索引。
    2.统一的语言

SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、 应用程序员、决策支持系统人员及许多其它类型的终端用户。基本的SQL 命令只需很少时间就能学会,最高级的命令在几天内便可掌握。 SQL为许多任务提供了命令,包括:

☆查询数据
☆在表中插入、修改和删除记录 
☆建立、修改和删除数据对象 
☆控制对数据和数据对象的存取 
☆保证数据库一致性和完整性 
以前的数据库管理系统为上述各类操作提供单独的语言,而SQL将全部任务统一在一种语言中。

3.是所有关系数据库的公共语言

由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS转到另一个。所有用SQL编写的程序都是可以移植的。SQL是PostgreSQL(和大多数其它关系型数据库)用做查询语言的语言。它是可以移植的,并且容易学习使用。但是所有SQL语句都必须由数据库服务器独立地执行。这就意味着客户端应用必须把每条查询发送到数据库服务器,等待它处理这个查询,接收结果,做一些运算,然后给服务器发送另外一条查询。所有这些东西都会产生进程间通讯,并且如果客户端在另外一台机器上甚至还会导致网络开销。如果使用了 PL/pgSQL,那么可以把一块运算和一系列查询在数据库服务器里面组成一个块,这样就拥有了过程语言的力量并且简化SQL的使用,因而节约了大量的时间,因为用不着付出客户端/服务器通讯的过热。通过使用PL/pgSQL,应用可以获得可观的性能提升。 

1.4.2 SQL的使用

1.ASP与Access数据库连接:
<%@language=VBscript%>
<%
dimconn,mdbfile
mdbfile=server.mappath("数据库名称.mdb")
setconn=server.createobject("adodb.connection")
conn.open"driver={microsoftaccessdriver
(*.mdb)};uid=admin;pwd=数据库密码;dbq="&mdbfile
%>
2.ASP与SQL Server数据库连接:
<%@language=VBscript%>
<%
dimconn
set conn=server.createobject("ADODB.connection")
conn.open"PROVIDER=SQLOLEDB;DATA
SOURCE=SQL服务器名称或IP地址;UID=sa;PWD=数据库密码;DATABASE=数据库名称
%>
建立记录集对象:
setrs=server.createobject("adodb.recordset")
rs.openSQL语句,conn,3,2
3.SQL常用命令使用方法:
(1)数据记录筛选:
sql="select*from数据表where字段名=字段值orderby字段名[desc]"
sql="select*from数据表where字段名like'%字段值%'orderby字段名[desc]"
sql="selecttop10*from数据表where字段名orderby字段名[desc]"
sql="select*from数据表where字段名in('值1','值2','值 3')"
sql="select*from数据表where字段名between值1and值2"
(2)更新数据记录:
sql="update数据表set字段名=字段值where条件表达式" 
sql="update数据表set字段1=值1,字段2=值2……字段n=值nwhere条件表达式
(3)删除数据记录:
sql="deletefrom数据表where条件表达式"
sql="deletefrom数据表"(将数据表所有记录删除)
(4)添加数据记录:
sql="insertinto数据表(字段1,字段2,字段3…)values(值1,值2,值3…)"
sql="insertinto目标数据表select*from源数据表"(把源数据表的记录添加到目标数据表)
(5)数据记录统计函数:
AVG(字段名)得出一个表格栏平均值
COUNT(*¦字段名)对数据行数的统计或对某一栏有值的数据行数统计
MAX(字段名)取得一个表格栏最大的值
MIN(字段名)取得一个表格栏最小的值
SUM(字段名)把数据栏的值相加
引用以上函数的方法:
sql="selectsum(字段名)as别名from数据表where条件表达式"
setrs=conn.excute(sql)
用rs("别名")获取统的计值,其它函数运用同上。
(5)数据表的建立和删除:
CREATETABLE数据表名称(字段1类型1(长度),字段2类型2(长度)……)
DROPTABLE数据表名称(永久性删除一个数据表)
4.记录集对象的方法:
rs.movenext将记录指针从当前的位置向下移一行
rs.moveprevious将记录指针从当前的位置向上移一行
rs.movefirst将记录指针移到数据表第一行
rs.movelast将记录指针移到数据表最后一行
rs.absoluteposition=N将记录指针移到数据表第N行
rs.absolutepage=N将记录指针移到第N页的第一行
rs.pagesize=N设置每页为N条记录
rs.pagecount根据pagesize的设置返回总页数
rs.recordcount返回记录总数
rs.bof返回记录指针是否超出数据表首端,true表示是,false为否
rs.eof返回记录指针是否超出数据表末端,true表示是,false为否
rs.delete删除当前记录,但记录指针不会向下移动
rs.addnew添加记录到数据表末端
rs.update更新数据表记录

1.5 VBScript介绍

Microsoft Visual Basic Scripting Edition是程序开发语言Visual Basic家族的最新成员,它将灵活的Script应用于更广泛的领域,包括Microsoft Internet Explorer中的 Web 客户机 Script 和 Microsoft Internet Information Server 中的 Web 服务器 Script。

VBScript使用ActiveX™ Script与宿主应用程序对话。使用ActiveX Script,浏览器和其他宿主应用程序不再需要每个Script部件的特殊集成代码。ActiveX Script使宿主可以编译Script、获取和调用入口点及管理开发者可用的命名空间。通过ActiveX Script,语言厂商可以建立标准Script运行时语言。Microsoft将提供VBScript的运行时支持。Microsoft正在与多个Internet组一起定义ActiveX Script标准以使Script引擎可以互换。ActiveX Script可用在Microsoft® Internet Explorer和Microsoft® Internet Information Server中。

VBScript只有一种数据类型,称为Variant。Variant 是一种特殊的数据类型,根据使用的方式,它可以包含不同类别的信息。因为Variant是VBScript中唯一的数据类型,所以它也VBScript 中所有函数的返回值的数据类型。最简单的Variant可以包含数字或字符串信息。Variant用于数字上下文中时作为数字处理,用于字符串上下文中时作为字符串处理。这就是说,如果使用看起来象是数字的数据,则VBScript会假定其为数字并以适用于数字的方式处理。与此类似,如果使用的数据只可能是字符串,则VBScript将按字符串处理。当然,也可以将数字包含在引号("")中使其成为字符串。除简单数字或字符串以外,Variant可以进一步区分数值信息的特定含义。例如使用数值信息表示日期或时间。此类数据在与其他日期或时间数据一起使用时,结果也总是表示为日期或时间。当然,从Boolean值到浮点数,数值信息是多种多样的。Variant包含的数值信息类型称为子类型。大多数情况下,可将所需的数据放进Variant中,而Variant也会按照最适用于其包含的数据的方式进行操作。声明变量的一种方式是使用Dim语句、Public语句和Private语句在Script中显式声明变量。

另一种方式是通过直接在Script中使用变量名这一简单方式隐式声明变量。这通常不是一个好习惯,因为这样有时会由于变量名被拼错而导致在运行Script时出现意外的结果。因此,最好使用Option Explicit语句显式声明所有变量。
    1.过程
    在VBScript中,过程被分为两类:Sub过程和Function过程。
    (1)Sub过程

Sub过程是包含在Sub和End Sub语句之间的一组VBScript语句,执行操作但不返回值。Sub过程可以使用参数(由调用过程传递的常数、变量或表达式)。

(2)Function过程

Function过程是包含在Function和End Function语句之间的一组VBScript语句。Function过程与Sub过程类似,但是Function过程可以返回值。Function过程可以使用参数(由调用过程传递的常数、变量或表达式)。如果Function过程无任何参数,则Function语句必须包含空括号()。Function过程通过函数名返回一个值,这个值是在过程的语句中赋给函数名的。Function 返回值的数据类型总是Variant。

2.VBScript中可使用下列循环语句:
☆Do...Loop:当(或直到)条件为True时循环。
☆While...Wend:当条件为True时循环。
☆For...Next:指定循环次数,使用计数器重复运行语句。
☆For Each...Next:对于集合中的每项或数组中的每个元素,重复执行一组语句。

3.在VBScript中可使用以下条件语句:
☆If...Then...Else 语句
☆Select Case 语句

适应Internet时代需求的B/S体系架构

B/S架构,或称浏览器/服务器架构,其最显著的特点就是客户端操作界面,采用我们上网时常见的浏览器形式。客户端的后面是应用服务器和数据库服务器,客户端通过浏览器访问服务器以及与服务器相连的后台数据库,发出数据请求,由应用服务器,或者称之为Web服务器向后台数据库服务器取出数据并进行计算,将结果返回浏览器,完成整个操作过程。

以往软件产品常采用C/S结构,或称为客户机/服务器结构,整个应用系统被分为客户机和服务器两部分。客户端的界面采用的是专用的开发界面,比如说我们常见的Word、Excel等产品界面,客户端需要安装专用的软件,并进行管理和维护。

客户机主要用来管理接口,执行客户机软件应用程序、采集数据以及向服务器发出应用请求,完成应用处理。服务器主要用来承担系统的数据共享管理、通讯管理、文件管理和向客户机提供服务,完成数据访问和事务处理。

从前面我们对对两种架构的比较来说,我们可以看出,应用采用B/S架构的应用程序,客户可以获得多方面的受益:

Ø建设周期短;

Ø投入费用低;

Ø使用、管理和维护方便;

Ø跨平台运行、与其他系统和Internet无缝集成;

Ø良好的复用性和可扩充性。

可以说,B/S结构是当前管理软件系统架构的必然趋势。

2 系统简介以及系统概要设计

2.1 学籍管理信息系统总体功能简介

学籍管理信息系统是针对各个班级繁杂的党内事务而开发的信息管理系统。根据初期的设计,实现了学生基本情况的管理,党费收缴管理,日常事务的提醒,以及信息发布等几个方面的功能。

2.2 学籍管理信息系统功能模块简介

系统的功能模块包括学籍管理模块和系统管理模块。学生信息管理模块是可以对学生进行查询、录入、修改、删除等操作,动态了解各学生基本信息。系统管理模块是让个系统管理负责人进行系统数据的添加,修改,删除,查询,统计等工作,提高了工作效率。

2.3 系统具体功能描述

2.3.1 学生信息管理模块功能

登陆界面如下图所示:

输入正确用户名和密码,点击“登陆”即可进入。

<%

session.abandon()

%>

<html>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<SCRIPT language=JavaScript>

<!--

<!-- 注意更改文件所在路径-->

window.open('student/gonggao.asp?action=readmessage','','toolbar=no,menubar=no,scrollbars=no,resizable=no,status=no,location=no,directories=no,copyhistory=no,height=380,width=390');

// -->

</SCRIPT>

<script language="javascript">

function check()

{

if (document.form.user_name.value=="")

{window.alert("请输入用户名!");

return false;}

if (document.form.user_password.value=="")

{window.alert("请输入密码!");

return false;}

}

function win_reg(theURL,winname,features)

{

  window.open (theURL,winname,features);

}

</script>

<title>学籍管理系统</title>

<LINK href="inc/style.css" type=text/css rel=stylesheet>

<style type="text/css">

<!--

.style1 {color: #FF0000}

-->

</style>

<body bgcolor="#FFFFFF">

<table width="300" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor=#fafafa>

  <tr>

    <td height="28" align="center" valign="middle" background="images/bj1.gif">

              <script language="JavaScript">

function initArray()

{

  this.length = initArray.arguments.length

  for (var i = 0; i < this.length; i++)

  this[i+1] = initArray.arguments[i]

}

var WeekArray = new initArray("星期日","星期一","星期二","星期三","星期四","星期五","星期六");

var MonthArray = new initArray("1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月");

var LastModDate = new Date(document.lastModified);

document.write(LastModDate.getYear()+00,"年 ");

document.write(MonthArray[(LastModDate.getMonth()+1)]," ");

document.write(LastModDate.getDate()+"日 ");

document.write(WeekArray[(LastModDate.getDay()+1)]);

</script></td>

  </tr>

  <tr>

    <td height="108" background="images/login.gif"> </td>

  </tr>

  <tr>

    <td height="59" align="center" valign="bottom">

<form action="admin/check_login.asp" method="post" name="form" target="_self" οnsubmit="return check(this.form)">

<table width="100%" border="0" cellpadding="0" cellspacing="0" bordercolor="#FFFFFF" bordercolordark="#fafafa" bgcolor="#fafafa">

          <tr valign="bottom">

            <td width="37%" height="35" align="right">用户名:</td>

            <td width="63%" align="left"><input name="admin_name" size="15"></td>

          </tr>

          <tr>

            <td height="28" align="right" valign="middle">密  码:</td>

            <td align="left">

            <input name="admin_password" type="password"  size="15">

            </td>

          </tr>

  <tr>

            <td align="right">  </td>

            <td bgcolor="#fafafa">

              <input type="submit" name="Submit" value="登陆"  class="button">               

              <input type="reset" name="Submit2" value="取消"  class="button">

  

  </tr>

        </table>

      </form></td>

  </tr>

  <tr valign=top><td align="center"  bgcolor="#fafafa"><font color="#FF0000" size=6 face=隶书>

                      <%

                        select case request("id")

                        case "error"

response.Write("<img  src=images/err.gif>")

                        response.write "密码错误"

case "namespace"

response.Write("<img  src=images/space.gif>")

                        response.write "不存在该帐号"

case "nopass"

response.Write("<img  src=images/nopass.gif>")

                        response.write "您还没有通过管理员验证!"

case "regok"

response.Write("<img  src=images/ok.gif>")

response.write "注册成功,请等待管理员通过验证!"

case "bye"

response.Write("<img  src=images/bye.gif>")

response.write "您已成功退出"

                        end select

                      %></font>

  </td></tr>

  <tr>

    <td height="28" align="center" valign="middle" background="images/bj1.gif"></td>

  </tr>

</table>

</body>

</html>

学生成绩查询界面如下图所示:

系统主菜单界面图如下:

点击左侧对应的链接即可访问相应的功能页面

2.4 学籍信息管理系统性能需求

由于学生信息管理系统包含有太多信息,因此,在系统设计的时候除了注重用户的需求,还要保证系统的安全性和可靠性。不同的用户拥有不同的权限,永远最高权限的管理员才能添加,更新,修改,删除数据,只有一般权限的用户(学生)只能读取,浏览信息,保证了系统的安全性。并在保证安全性和可靠性的前提下尽量满足系统的高效性。

2.5 学籍管理信息系统的分析和概要设计

2.5.1 学籍管理信息系统分析

根据实际情况,使用快速原型法(Rapid Prototyping)即以少量代价快速地构造一个可执行的软件系统模型。这样,可以较快地确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐增加上去,直到所有的功能全部满足。

快速原型法也称为面向对象方法是近年来针对结构程序设计(SA—SD—SP)的缺陷提出的设计新途径,是适应当前计算机技术的进步及对软件需求的极大增长而出现的。是一种快速、灵活、交互式的软件开发方法学。其核心是用交互的、快速建立起来的原型取代了形式的、僵硬的(不易修改的)大快的规格说明[7]。

所谓的快速原型是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终系统能完成的功能的一个子集。如下图所示(图中的实线箭头表示开发过程,虚线箭头表示维护过程),快速原型模型的第一步是快速建立一个能反映基本需求的原型模型,并让其在计算机上能试运行,通过实践来了解目标系统的概貌。

图4 快速原型模型

从上图可以看出,快速原型模型是不带反馈环的,这正是这种过程模型的主要优点:系统的开发基本上是线性顺序进行的。系统通过与用户交互而得到验证,据此得到验证正确地描述了用户的需求,因此,在开发过程的后续阶段不会因为发现了设计文档的错误而进行较大的返工。

通过建立原型系统可以学到许多的东西,至少可以知道了“系统该做什么,不应该做什么,以及怎样不去做不该做的”,所以,在设计和编码阶段发生错误的可能性也比较小,这自然减少了在后续阶段需要改正前面阶段所犯的错误的可能性。

快速原型的本质是“快速”。原型的用途是获知用户的真正需求。一旦需求确定下来,原型将被抛弃。因此,原型系统的内部结构并不重要,重要的是,必须迅速地构件原型,然后根据用户的需求迅速的修改原型。

依据此设计思想,通过对用户需求的分析,将学籍管理信息系统大致分为五个模块:学生基本情况管理模块、党费管理模块、日常事务管理模块、预备学生基本情况管理模块,学生干部基本信息管理。

图5 学籍管理信息系统模块示意思图

2.5.2 学籍管理信息系统数据库设计 

数据库设计

(1)数据库的概念

数据库处理在信息系统的研究中一直是非常重要的主题,然而,近年来,随着World Wide Web(WWW)的猛增及Internet技术的迅速发展,使得数据库技术之时成为最热门技术之一。数据库技术能使Internet应用超越具有早期应用特点的简单的发布。同时,Internet技术提供了一种向用户发布数据库内容的标准化的访问方法。这些技术没有脱离经典数据库技术的要求。它们只是加重了数据库技术的重要性。
数据库的设计和开发及包括艺术有包括工程。理解用户的需求,然后,把它们转变为有效的数据库设计是一个艺术过程。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用,是一个工程过程。
数据库的目的是帮助人们跟踪事务。经典的数据库应用涉及诸如订单、顾客、工作、员工、学生、电话之类的项,或其它数据量较大、需要密切关注的事务。最近,由于数据库的普及,数据库技术已经被应用到了新的领域,诸如用于Internet的数据库或用于公司内联网的数据库。数据库也被越来越多地应用于生成和维护多媒体应用程序上。
计算机的数据处理应用,首先要把大量的信息以数据形式存放在存储器中。存储器的容量、存储速率直接影响到数据管理技术的发展。从1956年生产出第一台计算机到现在,存储器的发展,为数据库技术提供了良好的物质基础。
使用计算机以后,数据处理的速度和规模,无论是相对于手工方式,还是机械方式,都有无可比拟的优势。通常在数据处理中,计算是比较简单的而数据的管理却比较复杂。数据管理是指数据的收集、整理、组织、存储、维护、检索、传送等操作,这部分操作是数据处理业务的基本环节,而且是任何数据处理业务中必不可少的共有部分。数据管理技术的优劣,将直接影响数据处理的效率。

数据库在一个信息管理系统中占有非常重要的位置,数据库结构设计的好坏将直接对应用系统的效果产生影响。合理的数据库设计可以提高数据库存储效率,保证数据的完整和一致。同时合理的数据结构也将有利于程序的实现。

设计数据库系统时,应该首先了解用户的各个方面的需求,包括现有的以及将来可能增加的。

2)创建数据库文件

如果操作系统中安装了ACCESS2000的话,可以在开始菜单的程序菜单中可以找到。如下所示:

3 学籍管理信息系统的具体实现

3.1 MicrosoftASP简介

Microsoft ASP战略基于一组开放的互联网协议,推出了一系列的产品、技术和服务,吹响了一次互联网技术变革的号角 。首先为了对Microsoft ASP开发框架有一个整体的认识,如下图所示[4]:

图6 Microsoft ASP开发框架

从上图可以简要的了解ASP开发框架的几个主要组成部分:首先是整个开发框架的基础,即通用语言运行时以及它所提供的一组基础类库;在开发技术方面,ASP提供了全新的数据库访问技术ADO ASP,以及网络应用开发技术ASP ASP和Windows编程技术Win Forms。而其中的ASP是下一代ASP(Active Server Page),是ASP构架的重要组成部分。超绝的性能加上微软的实力,可以预见不久ASP将成为互联网开发的首选。

3.2 运用ASP技术操作数据

3.2.1 ASP简介

ASP不仅仅是下一版本的Active Server Page (ASP);它是统一的Web开发平台,用来提供开发人员生成企业级Web应用程序所需的服务。ASP的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,用于生成更安全、可伸缩和稳定的应用程序。可以通过在现有ASP应用程序中逐渐添加ASP功能,随时增强该ASP应用程序的功能[5]。

ASP是一个已编译的、基于 ASP的环境,可以用任何与 ASP兼容的语言包括Visual BasicNETC# JScript ASP.)创作应用程序。另外,任何ASP. NET应用程序都可以使用整个 ASP框架。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。

ASP的结构中, IIS(Internet Information Services)为Windows NT/2000/XP操作系统的一个组件,所有Web客户端和ASP应用程序之间的联系都必须通过IIS来进行。ASP应用程序是建立在ASP框架技术的基础上的,因此在这些应用程序中可以充分利用由ASP框架技术提供的各种特性(例如Web表单和Web服务),通过对这些特性的利用,体现ASP框架技术对RAD(Rapid Application Development)和OOP(Object-Oriented Programming)技术的支持,实现减少编程工作量和快速开发的目标。

下面的篇幅,本文将主要介绍利用ASP连接数据库,并利用Web表单控件DataGrid来显示、操作从数据库中读取的数据的方法。

3.2.2 ASP与数据库

在Internet还没有开始流行的年代,Client/Server体系的二层结构是局域网环境中数据库应用系统的主流结构。随着Internet的渗透,数据库应用系统开发及实施的方法发生了重大的变化,从Client/Server体系的二层结构扩展到了由Web浏览器、应用服务器、数据库服务器组成的Browser/Server体系的三层结构。在如图8所示的三层结构的数据库应用系统中,客户端不需要安装什么设备与软件,只需要一个Web浏览器,负责显示应用服务器端的运行结果,借助于Java Applet、VBScript、JavaScript、ActiveX等技术进行一些简单的客户端事务处理。应用服务器端负责接受远程或本地的页面请求,然后运行服务器端脚本,借助于CGI、ADO等中间部件把数据请求发送到DB Server上以获取相关数据,再把结果数据转化成HTML及各种脚本传回客户端的Web浏览器。数据库服务器端负责管理数据库,处理数据更新及完成查询要求、运行存储过程[6]。

在早期的文件服务式Web应用中,页面都是静态的,发布数据是由手工完成的,需要付出大量的劳动力,才能更新数据。如何动态发布数据,乃至实时刷新数据,成为动态Web数据库应用系统得以实现的关键技术。在ASP框架技术没有推出之前,很多动态Web应用都是运用ADO和ASP技术来实现的,通过这两种技术的运用,可以很好地实现页面的动态更新。但是与ASP框架技术相比较,运用ADO和ASP技术实现的动态Web应用需要进行大量的编程工作,而在ASP框架技术中提供了一些功能非常强大的窗体控件,可以节省大部分的编程工作。

开发动态Web数据库应用系统,主要使用到ASP框架技术中的ADOASP组件和ASP技术。其中ADOASP组件用来实现数据库连接、检索数据、更新数据;ASP技术用来实现对数据的显示、编辑[12]。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值