1、第 1 章 绪论 1.1 背景 说明 及意义 现在的社会节奏越来越快,随之对应 而 要求的工作效率也越来越高。 随着计算机技术的飞速发展,对办公自动化、办公无纸化的要求也越来越高 。 本人是一位从事教学管理的工作人员,在日常工作的工程中,结合自己工作实际和学校的具体情况,一个以开放教育为主的办学模式,学生全部为社会在职人员,专职教师人数较少,外聘教师人数较多,学校开设课程的时间多数集中在双 休 日 或晚上 ,且 在同一时间 开设课程的班级比较多,安排课程的难度较大,很容易出现班级、 教室 、 教师安排课程出现冲突的现象,人工排课难度大、易出错 、且出错了更改涉及的面比较大,同时正 是 由于同
2、一时间 开课的班级比较多,且每门课程学分不同、难易不同、学生情况不同开设课程时数也不同,不能够按照普通教育方式有比较固定的时间 、教室,因此 学生、教师以及辅导员在查询自己班级课程时的难度就比较大 。 另外,根据开放教育学生形成性考核中对于到课率 有 要求, 要根据到课率情况来评定学生的平时成绩,这样一来对每学期 140 多门课程,总共开设约 2240 次来说无疑人工统计的难度非常之大,同时对与辅导员对班级管理、校领导了解教学开展情况的 准确性、 及时性等等各个方面的难度都比较大。为此在结合 实际并从事一定调研的基础上设计和开发了此套软件。 1.2 主要工作 本套软件设计与开发主要包括前台课表
3、查询系统、教学管理系统和后台数据管理和维护系统三个部分。前台的课表查询系统主要有五种查询方式:班级查询、日期查询、教师查询、周次查询、校历查询,同时发布调补课公告。教学管理系统 主要是根据用户的权限可以对教师出勤、辅导员跟班、班级到课率、值班员值班等情况进行 统计和 监控。后台 数据管理与维护系统主要有专门管理 人员对数据库的数据进行管理和维护的,主要有课程管理、教师管理、辅导员管理、调课管理、班级管理、打印管理等。 教学管理软件 系统的特点是利用 Browser/Server(B/S)结构实现在线 查询教学信息 等功能的 。这种系统管理方便,使用简单。后台数据库采用 Microsoft Ac
4、cess 数据库 , VB编写的后台数据管理和维护系统 , 前台 开发采有 ASP 编写, 页面 采用 dreamweaver 工具设计,系统 采用 ADO 数据访问技术 ,并通过数据的连接; WEB 服务器采用 win2000 自带的 IIS。 1.3 本文组织结构 本文通过对 ASP 的特点、运行机制和 ASP 与数据库的连接技术的阐述, 针对 本系统设计的需求 、采用合理的 解决方案及开发工具。 对数据库的需求、结构和设计进行分析。对系统功能模块进行介绍。 以及 系统功能模块的实现。 通过对服务器的安装和设置,对该系统 进行测试和运行。 设计了本 系统 的用户 模块 和管理员 模块等 一
5、系列相关模块 , 最后总结了开发过程中的经验与不足之处 ,同时对在软件设计和开发过程中以及论文撰写过程给以帮助的相关人员表示感谢。 2 第 2 章 ASP 技术 2.1 ASP 的简介和特点 2.1.1 什么是 ASP Microsoft Active Server Pages (ASP)实际上是将标准的 HTML 文件拓展了一些附加特征, ASP像标准的 HTML文件一样包含 HTML语句并且在一个浏览器上解释并显示。但它为 HTML编写人员提供了在服务器端运行脚本的环境,使 HTML 编写人员可以利用 VBScript 和JScript 或其他第三方脚本语言来创建 ASP,实现过去需要编写
6、复杂的 CGI 程序才能实现的有动态内容的网页,如计数器等。一个 ASP 文件的后缀为 .asp,其中包含实现动态功能的VBScript 或 JScript 语句,如果去掉那些 VBScript 或 JScript 语句,它和标准的 HTML 文件没有任何区别。 ASP 提供了一些内建对象。利用这些内建对象 ,你可以使你的脚本更加强大;这些对象会允许您从浏览器中接收和发送信息。例如,利用 request 对象,你可以接收用户的 HTML 表单中的信息并加以处理。 ASP 包含标准的 ActiveX 组件,这些组件可以实现一些复杂的功能,如使用数据库等。不过,你并不会被此局限,你可以轻松创建属于
7、你自己的附加 ActiveX 组件。 ASP 可以和诸如 SQL Server 这样的数据库进行挂接,重要的是,这是 ASP 一个非常强大的功能所在,在线商务以及在线论坛等各种非常高级的、动态更新的站点都需要数据库的支持,而且需要随数据库内容的更新而自动 更新,这样,你就可以利用ASP 自己建立很多类似的高级站点。通过上面的描述,我们可以了解到, ASP 就是由服务器端脚本、对象以及组件拓展过的标准网页并为其提供了运行的环境。而它的网页并不是在建立初期存在的,而是当某个浏览器向它提出请求时,它才根据需要产生所需要的标准网页,这克服了过去 HTML 编写的网页的静态缺点,从而使网页上可以有许多动
8、态的信息存在。如:当前的计算机时间、计数器的计数值等。 2.1.2 ASP 的特点 从软件的技术层面看 ,ASP 有如下的特点 : 1. 无需编译 ASP 脚本集成于 HTML 当中 ,容 易生成 ,无需编译或链接即可直接解释执行。 2. 易于生成 使用常规文本编辑器 (如 WINDOWS下的记事本 ),即可进行 *.asp页面的设计。若从工作效率来考虑 ,不妨选用具有可视化编辑能力的 Visual InterDev。 3. 独立于浏览器 用户端只要使用可解释常规 HTML码的浏览器 , 即可浏览 ASP所设计的主页。 ASP 脚本是在站点服务器端执行的 ,用户端的浏览器不需要支持它。因此 ,
9、若不通过从服务器下载来观察 *.asp 主页 ,在浏览器端见不到正确的页面内容。 4. 面向对象 在 ASP脚本中可以方便地 引用系统组件和 ASP的内置组件 ,还能通过定制 ActiveX Server Component(ActiveX 服务器组件 )来扩充功能。 5. 与任何 ActiveX scripting 语言兼容 除了可使用 VBScript 和 JScript 语言进行设计外 ,还可通过 Plug-in 的方式 ,使用由第三方所提供的其它 scripting 语言。 6. 源程序码不会外漏 ASP脚本在服务器上执行 ,传到用户浏览器的只是 ASP执行结果所生成的常规 HTML
10、码 ,这样可保证辛辛苦苦编写出来的程序代码不会被他人盗取。 3 从 应用的层面看 ,ASP 有如下的功能 : 1. 处理由浏览器传送到站点服务器的表单输入。 2. 访问和编辑服务器端的数据库表。使用浏览器即可输入、更新和删除站点服务器的数据库中的数据。 3. 读写站点服务器的文件 ,实现访客计数器、座右铭等功能。 4. 提供广告轮播器、取得浏览器信息、 URL 表管理等内置功能。 5. 由 cookies 读写用户端的硬盘文件 ,以记录用户的数据。 6. 可以实现在多个主页间共享信息 ,以开发复杂的商务站点应用程序。 7. 使用 VBScript 或 JScript 等简易 的脚本语言 ,结合
11、 HTML 码 ,快速完成站点的应用程序。通过站点服务器执行脚本语言 ,产生或更改在客户端执行的脚本语言。 8. 扩充功能的能力强 ,可通过使用 Visual Basic、 Java、 Visual C + 等多种程序语言制作 ActiveX Server Component 以满足自己的特殊需要。 2.2 ASP 的六个内建对象 1、 Request Request 对象把客户信息保存在几个集合中,供 ASP 应用使用。通用的访问方法为: Request.Collection(“membername“) 当你不指定集合名时, 以 (1)QueryString(2)Form(3)Cookie(
12、4)ServerVariable 的顺序搜索所有集合,当发现第一个匹配的变量时,就认定他是要引用的成员。当然,为了提高效率,你最好显式指定是那个集合中的成员。 QueryString 集合 当 HTML 表单使用 GET 方法向 ASP 文件传递数据时,数据被保存在集合 QueryString中。其成员可以具有与之相关的多个值,也就是说,同一个表单中,多个元素可以有相同的名字,下面的代码访问这些数据: “ Next % Form 集合 当表单用 POST 方法时,数据被保存在 Form 集合中。 ServerVariable 集合 保存了随 HTTP 请求一起传送 HTTP 头的信息,可以通过
13、他获取有关浏览器的信息,主要成员有: REMOTE_ADDR 远程主机 IP 地址 REMOTE_HOST 远程主机名称 REMOTE_USER 客户名称 REQUEST_METHOD 请求方法 SERVER_NAME 服务器名 4 SERVER_PROTOCOL 服务器版本号 2、 Response 对象 用来控制向客户返回的 HTML 的内容,有若干属性和方法。下面介绍我认为重要的: Buffer 属性 如果为 True,则 Response 的内容要写入缓冲区,当脚本处理完时再发给客户。 Status 属性 传递 HTTP Response 报文的状态。服务器返回的状态代码由三位数字组成
14、,可以用于测试阶段和转换控制到其他站点(即 Forward) Write 方法:向客户输出 HTML,可以是任何合法的 HTML 脚本。 Redirect 方法: 使浏览器重新定向到另外一个 URL 上,如: Clear 方法:如果设 Buffer 属性为 True,则 Clear 方法清楚所有缓冲区内容。 Flush 方法:将缓冲 内容立即发送给客户。 End 方法:当 Active Server 遇到该方法时,立即停止处理 ASP 文件,如果有缓冲,立即发送内容到客户。 BinaryWrite 方法:输出二进制数据 3、 Cookies 集合 1.写入 Cookies Response.C
15、ookies(“Cookie 名称 “)(“键名称 “).属性 =值如果该 Cookie 已经存在,则值被新值替代,否则,创建该 cookie 例如: 2.读取 Cookies 如: 4、 Application对象 Active Server 应用程序是虚拟目录及其子目录下的所有文件,即一个 WEB。可以使用Application 对象在应用软件的所有用户中共享信息,并可以在服务器运行期间持久地保存数据。他有一些控制访问应用层数据的方法和事件。 Application 本身没有内置属性,可以有用户定义: Application(“属性名 “)=值 5 保存在 Application 对象中的
16、数据可以被 Application 的所有用户读取。如用来做访问记数: Application(“aVisits“)=Application(“aVisits“)+1 方法有两个: Lock: 当用户调用 Lock 时,只有当前用户能够编辑或增加 Application 对象的属性。 Unlock: 一定要记住,调用了 Lock,完成时一定要调用 Unlock. 事件也有两个: Application_OnStart 事件:应用程序启动时调用。 Application_OnStart 事件:应用程序终止时调用。 5、 Session 对象 Active Server 使用会话设置为使用应用程序
17、的单个用户持久保持数据。当用户请求Active Server 应用程序中 ASP 文件的 URL 时,要启动 Session。在缺省情况下,如果没有用户请求,则服务器只保留 Session20 分钟。用户也可以通过设 Session 的属性 TimeOut来改变。或显示地调用 Session.Abandon 方法来释放 Session 对象。 SessionID 属性 唯一标识一个会话的标识符。 TimeOut 属性 定义 Session 保留的时限,单位为分钟,如 Session.TimeOut=10 像 Application 一样, Session 也可由用户来定义属性。 Session
18、 的唯一方法是 Abandon,用来取消用户的 Session 对象,并释放其占用的服务器资源。如: 事件有 Session_OnStart 和 Session_OnEnd,其处理程序应放在文件 Glabal.asa 中。 6、 Server 对象 (1).HTMLEncode 方法 对特定的字符串进行 HTML 编码,如你本来要显示下列内容: The Underline tag() is used to underline the surrounded text. 但很可能实际显示成: The Underline tag() is used to underline the surround
19、ed text. 为了避免这种情况,可以调用 Server 对象的 HTMLEncode 方法,如: ) is used to underline the surrounded text.“)% (2).URLEncode 方法 根据 URL 规则对字符串进行编码。当字符串数据以 URL 格式传递到服务器时,串中间不6 能有空格,不能有特殊字符,这时,你就必须用 URL 编码。 (3).CreateObject 方法 用于创建已注册到服务器机器上的 ActiveX 组件例程,这恐怕是最重要的一个方法了 :-) 句法如下: Server.CreateObject(“ComponentName“)
20、 可以作为例程启动的组件可以是 ActiveX 能够使用的所有内置组件,实际上是存在于服务器上的任何 ActiveX 组件。 2.3 ASP 的运行 机制 (1) Active Server Pages 模型 浏览器从 Web 服务器上请求 .asp 文件时, ASP 脚本开始运行。然后 Web 服务器调用 ASP, ASP 全面读取请求的文件,执行所有脚本命令,并将 Web 页传送给浏览器。 由于脚本在服务器上而不是在客户端运行,传送到浏览器上的 Web 页是在 Web 服务器上生成的。所以不必担心浏览器能否处理脚本: Web 服务器已经完成了所有脚本的处理,并将标准的 HTML 传输到浏览
21、器。由于只有脚本的结果返回到浏览器,所以服务器端脚本不易复制。用户看不 到创建他们正在浏览的页的脚本命令。 (2) 用户和 WEB 数据之间的输入接口 动态网页不是在静态网页基础上加一些动画图片,而是指具有互动性质的网页,即网页的内容会根据在浏览器上输入不同的数据而发生变化。用户通过浏览器对 WEB 数据库进行操作。必须借助于交互页面来接收用户的输入数据。表单充当用户和 WEB 数据库之间的接口, 它利用表单元向用户提供输入数据的场所,用户通过每个表单中的 SUBMIT 提交按钮元素激活一个对应的 ASP 文件,该文件能够接收和处理来自表单的输入数据,并将处理后的结果送到客户浏览器。 (3)
22、实 现 WEB 数据库操作 实现基于 ASP 技术的 WEB 数据库访问,只需在脚本指令中加入访问 WEB 数据库的指令码即可。 ASP 在解释执行时,当遇到访问数据库的脚本指令时,通过 ADO 对象实现与 WEB 数据库的连接。 ADO 主要是提供一个存取 WEB 数据库的方法,是 ASP 重要的内建对象之一,凡是由 ODBC 驱动程序所能存取的数据库,都可以通过 ADO 对象实现与 WEB 数据库连接。 设置 ODBC 数据源,在使用 WEB 数据库时,首先需要在控制面板 ODBC 数据源中设置相应的 DSN。选系统 DSN,指定所用的驱动程序,在数据来源名称中输入 DSN 名 ,并选择数
23、据库。建立 ASP 与 WEB 数据库连接。 2.4 ASP 和数据库的连接技术 ASP 有一个最重要的功能,就是它可以让你非常轻松地连接数据库。通常都是和一个Access 或者一个 SQL 数据库相连。 当你要连接数据库的时候,你需要在服务器上将这个数据库打开。你可以通过使用数据源名( DSN)或者通过在你的脚本语言中直接使用一个DSN-less 连接的方法来连接和打开数据库。 数据连接方法 : 第一种 7 str conn = “DRIVER=Microsoft Access Driver (*.mdb);DBQ=“ _ Description=sqldemo;SERVER=127.0.0
24、.1;“ Password=;DATABASE=Database_Name“ set conn = server.createobject(“adodb.connection“) conn.open strconn 第三种 str conn=“Driver=Microsoft Access Driver(*.mdb);“ _ DefaultDir=“ _ uid=LoginID;“ _ DriverId=25;FIL=MSAccess;“ set conn = server.createobject(“adodb.connection“) conn.open strconn 第四种运用系统数据
25、源 The following uses a Data Source Name: Example set conn = server.createobject(“adodb.connection“) conn.open “Example“ 第五种运用 ODBC 数据源, 创建一个数据源名( DSN) 你可以通过在控制面板中给你的数据库建立一个系统 DSN 来使 你的数据库可以在 ASP中连接使用。你可以在你的本地计算机上建立若干个 DSN,每个 DSN 对应你使用的不同的数据库。在建立完 DSN 之后,你就可以在你的本地服务器上测试你的页面了。如果你的网站是由 ISP 提供服务的,并且这个 I
26、SP 支持 ASP,那么很有可能它就会提供一个 GUI 接口,来给你的数据库创建一个 DSN。 在 Windows 95/98/NT 中,打开控制面板(开始菜单 设置 控制面板),双击 ODBC进入。 选择系统 DSN,点击 Add。 选择“ Microsoft Access Driver”,点击结束。 填 写数据源名。这是你给你的数据库起的名字,所以和一个 alias 是同样的操作。 在数据库选择中点击选择按钮,浏览系统中你创建的 Access 数据库所存放的位置。 点击 OK 现在,新的 DSN 现在就会在系统 DSN 中显示,并且可以在你的本地服务器上使用了。 set rs = serv
27、er.createobject(“adodb.recordset“) 8 rs.open “tblname“, “DSNName“, strconn = “DRIVER=Microsoft Access Driver (*.mdb);DBQ=“ _ & Server.MapPath(“aspfree.mdb“) set conn = server.createobject(“adodb.connection“) conn.open strconn 第 3 章 系统 总体结构 设计 3.1系统 的 需求 分析 需求分析是在可行性研究的基础上进行的更细致的分析工作,是对系统目标及范围的求精和细化。
28、通过调查研究和分析,充分了解用户对软件系统的要求,把用户要求表达出来,解决“软件系统必须做什么”的问题。 教学管理软件系统 ,本身基于 asp+vbsrpit+access 结构的 动态数据查询和管理 平台。 教学管理软件系统 由前台 课表查询 系统 、教学管理系统和后台数据管理和维护系统三 部构成。课表查询系统 是使用者使用浏览器界面,可以进行 班级查询、日期查询、教师查询、周次查询、校历查询,同时发布调补课公告,教学管理系统根据不同的用户提供不同的服务,如值班员权限只能够登记、修改值班时段的课程数据记录,校长权限可以查询到辅导员各周的跟班情况,各班级的到课情况,教师的到课情况,调课详细情况
29、;值班员的值班情况。后台 数据管理与维护平台可以教学课程表、教师、辅导员、管理人员、教师调 课进行登记、查询、修改、删除,同时可以直接生成和打印值班记录表、班级课程表表和教师资料表。 1、根据 用户 需求及用户群的计算机操作能力和水平。 要求 设计及操作 尽量简单 ,因而采用 Html 形式发布。 2、由于是本系统是信息系统,所以要对网页及时更新、时时变动,保持用户的查询数据的真实性。 3、考虑到系统数据对用户价值和意义、要求能够即时对更改的数据进行更新。 4、 用户要能够通过系统直接了解的课程的变动及调整情况 。 5、相关人员要能够对上课情况进行登记、修改。 6、校领导及教学主管部门要能够了
30、 解某一时段辅导员跟班情况统计以及各班级到课率情况,以便把握形成性考核数据的真实性。 7、数据维护人员的操作及维护数据的技术要求不应太高。 8、 WWW 服务器性能要求:本系统操作系统用的是 Windows 2000 Server 版本,对硬件一般,为保证系统正常运行,建议采用: CPU P4 以上,内存 128M 以上,硬盘 40G 以上。 3.2 系统 的 模块设计 本系统流程叙述如下:用户需要访问此系统时,在客户计算机端输入本系统网站的 URL,确定后,就进入本系统网站。将会看到“首页”,在首页有可选择五大类查询方式,并在所选 择的查询中确定相应的查询目标。处在分类查询模块并列关系的有:
31、调补课公告模块。用户如果是教学管理人员可通过下方的教学管理系统登陆界面,直接登陆教学管理系统,教学9 相关管理。 3.2.1 课表查询 系统模块 3.2.2 教学管理 系统模块 访问首页 班级查询 日期查询 周次查询 教师查询 校历查询 请选择班级 请选择日期 请选择周次 请选择教 师 校历页面 总课表查询 日课表查询 课程调动查看 教室课表查看 教室查看 辅导员跟班 班级到课率 10 3.2.3 后台数据库管理与维护系统 模块 3.3 系统 解决方案 3.3.1 操作系统 的 选择 目前可以做 WWW 服务器操作系统的软件主要有: WIN2000、 WIN98、 UNIX 等。各种操作系统分析比较: UNIX 的开放性、可靠性、高效率、多用户特点是 WWW 服务器的首要选择,但是它的价格比较昂贵,对硬件要求高的特点决定了它更适合于部门级和企业级使管理员登陆 教师管理 人员管理 班级管理 调课管理 添加 删除 添加 修改 打印管理 修改 修改 删除 添加 修改 删除 添加 修改 删除 日课表打印 班级课表打印 教师资料打印 删除 课表查询 操作员登陆 教学管理系统首页 课程表管理 添加