1、在线选课系统目 录1引言11.1课题背景11.2国内外研究现状11.3本课题研究的意义11.4本课题的研究方法12系统需求分析22.1课题的可行性分析22.2系统需求分析22.3系统采用的技术和方案33系统规划与设计83.1系统流程概述83.2系统模块划分83.3系统流程图93.4数据库的概念设计113.5数据库的逻辑设计144软件设计与实施174.1系统总体设计框架174.2登陆模块174.3查看课程信息模块194.4课程信息管理模块204.5课程查询模块215调试和测试225.1测试环境225.2测试的项目225.3结果的分析与总结22结 论23参考文献24致 谢25声 明261 引言1.
2、1 课题背景当今社会是一个信息时代,计算机技术发展迅速,同时信息的自动处理以及网络式的信息交互方式越来越被人们认可和应用,让计算机来管理学生的信息是现在各个高校都在积极进行的工作之一,也是高校教学管理工作的重要内容之一。网上选课与传统的选课方式相比更加节约资源,同时,随着学生选课自主权的增加,网上选课有效的避免了许多不良现象,使教学更加透明。1.2 国内外研究现状国外的教学科研软件与国内相比开发的早,而且相对比较成熟。早在七十年代末,美国就建成了NSFNET(国家科学基金网),其课题的申报以及课题的进展情况汇报都在网上进行。国外一些国家网上教学教务管理系统也十分完善,世界各地的学生可以坐在家里
3、通过互联网完成入学报名、选课、考试、毕业论文、取得学位这一学习生活的全过程。目前,国际上已具规模的远程教育学校就有数百所之多,网上教育正在各地发挥着巨大的作用,为世界各国培养出大批人才。所有这些都表明,基于Internet的校园网的应用已深入到校园内的各个方面。1.3 本课题研究的意义学生选课系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。但是一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差、时间长、将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的
4、困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已深入到人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对选课信息进行管理,有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高了教务管理的效率,也是学校的科学化、现代化管理,与世界接轨的重要条件。因此,开发这样一套软件成为很有必要的事情。1.4 本课题的研究方法根据用户使用选课系统的实际流程设计整个系统的选课流程,以稳定性、实用性、安全性为总体原则。本系统的后台采用MS SQL server 2000做为系统
5、的数据库服务器。选用Dreamweaver 8 作为开发工具。网络服务器选用IIS 5.0,测试浏览器IE 6.0。开发过程中采取的是边开发边验证的方式,最后把模块进行集成,从而实现预期效果。整个设计采用软件工程的方法,系统采用B/S结构进行开发与设计,最后对整个系统进行测试,完成毕业论文的撰写。2 系统需求分析2.1 课题的可行性分析1.课题调研(1)与实践活动和相关的文件和资料由教师提供,同时对学校教务的需求进行了现场调研。(2)本课题要求学生有熟练的ASP开发能力,有较强的自学能力以及一定的关系数据库理论开发功底。(3)具有对数据库进行合理设计和配置与处理的能力。(4)具体问题再做详细调
6、查研究并与指导老师面谈。2.可行性分析(1)技术可行性本系统需要配有Office软件的PC机,网络环境和作为数据库服务器的计算机,系统对机器本身没有太高的要求,一般当前学校或个人电脑完全可满足要求。对于软件技术要求,现在的程序设计语言已非常成熟,要运用HTML样式,图形图象制作工具来制作生动活泼的网页及美观的图形文件或动画文件,数据库使用SQLServer 2000中提供的数据库桌面工具ODBC。(2) 经济可行性-由于本系统是为学生选课管理使用的系统,装上该应用软件,即可使用系统,系统成本主要集中在系统软件的开发上,当系统投入运行后可以为学校节约大量的人力,物力。所带来的效益远远大于系统软件
7、的开发成本,在经济上完全可行。(3) 操作可行性-界面设计时充分考虑管理人员的习惯,制作了较精美的人机操作界面,使得操作简单、数据录入迅速、规范、可靠;统计准确;制表灵活;适应力强;容易扩充。2.2 系统需求分析学生选课系统需要满足来自三方面的需求,这三个方面分别是学生、教师和管理员。学生的需求是查询院系的课程、学生选课情况及学生信息的修改;教师是查看、查询所有课程信息和自己做带课程信息以及教师信息修改;管理员的功能最为复杂,包括对学生、教师、选课进行管理和统计,及系统状态的查看、维护。学生可以直接查看选课情况,也可以用本人学号和密码登录系统。一般情况下,学生只应该具有查询和维护本人的选课情况
8、和个人信息的权限,若查询和维护其他学生的选课及成绩查询信息,就要知道其他学生的学号和密码。这些是很难得到的,特别是密码,所以不但满足了学生的选课要求,还保护了学生的个人隐私。学校工作人员有修改学生选课的权限,所以需对工作人员登录模块进行更多的考虑。在此系统中,学校工作人员可以为学生加入选课或是登录记录,并打印生成相应的报表给用户查看和确认院系管理人员等功能,满足信息量大,数据安全性和保密性要求。这个模块实现对选课信息、教师信息、总体选课情况信息的查询和统计、工作人员和管理人员信息查看及维护。学校管理员可以浏览、查询、修改、统计选课的基本信息;浏览、查询、统计和修改学生选课的基本信息,浏览、查询
9、、统计学生信息,但不能添加删除和修改学生的信息,这部分功能应该由院系工作人员执行,但是,删除某条学生选课基本信息记录时,应实现对该学生选课的级联删除。并且还应具有生成选课报表,并打印输出的功能。本系统主要实现教师信息管理、学生信息管理、课程信息管理和留言信息管理,其中教师信息管理有教师姓名、教师工号、教师职称、教师所属系;学生信息管理有学生姓名、学生学号和学生所在系;课程信息管理有课程名称、学分、学时、上课地点、上课时间、已选人数、课程性质、开课系、课程人数;留言信息管理有删除和查看留言。(1)学生信息模块完成学生的登录,然后根据各位同学所在的院系不同,调用相应的选课模块。其中学生登录模块的功
10、能是验证登录人员确实是本院的学生,学生启动本系统后,系统提示输入学生学号码和密码,验证后进入主操作界面。(2)教师信息模块完成教师的登录,然后根据各位教师所在的院系不同,教师所教的课程不同,调用所选的课程.其中教师登录模块的功能是验证登录人员确实是本院的教师,教师启动本系统后,系统提示输入教师工号和密码,验证后进入主操作界面。(3)课程信息管理包括必修课程和选修课程,学生必需先登陆才能进行对课程的选课否则不能进入选课系统。(4)留言信息管理中所有用户都可以留言,只有管理员才有权限对留言进行删除。2.3 系统采用的技术和方案1.什么是C/S结构C/S (Client/Server)结构,即大家熟
11、知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。传统的CS体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是
12、Client端还是Server端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。而且代价高,效率低。2.什么是B/S结构B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端
13、电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。B/S架构管理软件更是方便、快捷、高效。图2-1 B/S模式工作方式3.B/S架构软件的优势与劣势(1)维护和升级方式简单。目前,软件系统的改进和升级越来越频繁,B/
14、S架构的产品明显体现着更为方便的特性。对一个稍微大一点的单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的、惊人的。因此,维护
15、和升级革命的方式是“瘦”客户机,“胖”服务器。(2)成本降低,选择更多。目前windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。 现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。(3)服务器运行数据负荷较重。由于B/S架构管理软件只安装在服务
16、器端(Server)上,网络管理人员只需要管理服务器就行了,用户事务逻辑在服务器(Server)端是完全通过WWW浏览器来实现的,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。4.实现web服务的SQL数据库技术本系统采用SQL Server 2000数据库。SQL Server 是一个后台数据库管理系统,它功能强大操作简便,日益为广大数据库用户所喜爱。越来越多的开发工具提供了与SQL Server的接口。SQL S
17、erver 是一个关系数据库管理系统,它最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同开发的。于1988 年推出了第一个OS/2 版本,在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本,该版本继承了SQL Server 7.0 版本的优点,同时又比它
18、增加了许多更先进的功能、具有使用方便、可伸缩性好与相关软件集成程度高等优点。 MSSQL Server不但可以应用于大中型数据库管理中,建立分布式关系数据库,并且也可以开发桌面数据库。事实上,SQL Server数据库处理的基本结构,采取关系型数据库模式,尽管如此,相信大家都可以轻易的发现,在SQL Server的数据库处理方式,则是使用面向对象的操作方式与精神,也就是说,SQL Server的所有功能,都可以基于系统已经建立好的一些对象来达成,是相当OO(面向对象)的一个系统结构。SQL Server 企业管理器是 SQL Server 的主要管理工具,它提供了一个遵从 MMC 标准的用户界
19、面,使用户得以: 定义 SQL Server 实例组。将个别服务器注册到组中。为每个已注册的服务器配置所有 SQL Server 选项。 在每个已注册的服务器中创建并管理所有 SQL Server 数据库、对象、登录、用户和权限。在每个已注册的服务器上定义并执行所有 SQL Server 管理任务。 通过唤醒调用 SQL 查询分析器,交互地设计并测试 SQL 语句、批处理和脚本,唤醒调用为 SQL Server 定义的各种向导。5.系统开发平台系统的性能要求通常指系统需要的存储容量以及后援存储,重新启动和安全性,运行效率等方面的考虑。本系统运行环境为网络环境,在运行时对系统整体性能要求较高,要
20、求:软件系统环境:IIS5.0 +SQL Server 2000 + Dreamweaver 8硬件系统环境:C600、64MB(RAM)、500MB(HD)。系统运行时对数据的保密性要求不是很高,对一般的数据不要求进行加密。此外,对其它软件几乎没有依赖性,程序健壮性较好。 硬件 软件 硬件 软件 服务器处理器:Intel PII 450 或更好,内 存:256M 或更大,硬 盘:20G 或更大Microsoft WindowsNT Server 4.0 或更高版本,Microsoft Sql Server 7.0 或更高版本,Microsoft IIS 5.0 或更高版本,Microsoft
21、 Office 2005,Dreamweaver 8客户端无特殊要求,只要能上连接互联网即可Microsoft Windows /NT / XP 或更高版本Microsoft IE 5.0 或更高版本图2-2 系统配置6.系统开发技术本系统采用ASP语言开发。ASP是Active Server Pages的缩写,中文名称叫做“动态服务器页面”,服务器是所有Web站点的核心,后缀名为.asp。ASP内含于IIS(Internet Information Server)中,是Microsoft开发的服务器的脚本环境。通过ASP,可以结合HTML(HyperText Markup Language
22、)、脚本命令和组件来创建动态、交互且高效的Web服务器应用程序。ASP程序是以 。asp为扩展的文本文件,其控制部分是用VBScript和Jscript等脚本语言来编写的。ASP的工作流程大致是:浏览器向服务器发出请求;ASP全部读取请求的文件,并执行所有的服务器端脚本,并将脚本输出与静态HTML代码进行合并;最终的HTML页面将在HTTP响应中传送给浏览器。ASP程序是由文本、HTML标记和脚本组合而成的。在ASP程序中,脚本通过分隔符与文本和HTML标记区分开来。ASP用分隔符%和%包括脚本命令。由分隔符括起的命令称为主脚本命令,这些命令由主脚本语言进行处理。在ASP分隔符%和%内,可以包
23、括主脚本语言允许的任何语句、表达式和操作符等。ASP实际上是将标准的HTML文件扩展了一些附加特征,也像标准的HTML文件一样,包含HTML对象并且有一个浏览器解释并显示,任何可以放在HTML 中的东西Java Applets,闪烁字符串,客户端脚本,客户端ActiveX控制等。都可以放在ASP中。因此,ASP有如下四个重要特征,使之具备很强的通用性。本系统用SQL Server作为后台数据库服务器。SQL Server 是一个后台数据库管理系统,它功能强大操作简便,日益为广大数据库用户所喜爱。越来越多的开发工具提供了与SQL Server的接口。SQL Server 是一个关系数据库管理系统
24、,它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的。于1988 年推出了第一个OS/2 版本,在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本,该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能、具有使用方便、
25、可伸缩性好与相关软件集成程度高等优点。MS SQL Server不但可以应用于大中型数据库管理中,建立分布式关系数据库,并且也可以开发桌面数据库。事实上,SQL Server数据库处理的基本结构,采取关系型数据库模式,尽管如此,SQL Server的数据库处理方式,是使用面向对象的操作方式,也就是说,SQL Server的所有功能,都可以基于系统已经建立好的一些对象来达成,它相当OO(面向对象)的系统结构。SQL Server 企业管理器是 SQL Server 的主要管理工具,它提供了一个遵从 MMC 标准的用户界面,使用户得以:定义 SQL Server 实例组,将个别服务器注册到组中,为
26、每个已注册的服务器配置所有 SQL Server 选项,在每个已注册的服务器中创建并管理所有的SQL Server 数据库、对象、登录、用户和权限。在每个已注册的服务器上定义并执行所有SQL Server管理任务。通过唤醒调用 SQL 查询分析器,交互地设计并测试 SQL 语句、批处理和脚本。 唤醒调用为 SQL Server 定义的各种向导。3 系统规划与设计3.1 系统流程概述管理员可以通过超级用户身份登录,对系统进行全面的管理, 添加、删除新用户,对信息进行管理。管理员可以对老师及同学的帐户进行管理。老师、学生不同身份的用户进入不同的界面,进行不同的操作。教师可以发布自己本学期所要教的课
27、程,以及对学生成绩进行管理。同学可以通过查询本学期所开设课程进行选课。所有用户都可以在留言本上留言,管理员对留言本进行维护。3.2 系统模块划分根据功能的不同,可以将本系统划分为五个模块。(1)身份验证模块:身份的验证主要是通过对session的判断,所有用户通过登录进入选课系统,登录信息提交后检验登录者的身份是否合法,如果合法,则转入对应的操作界面;否则,就弹出错误提示。在本系统中,只有三种身份:学生、老师、管理员。(2)信息浏览模块:信息浏览包括已选课程浏览、被选课程浏览、公共信息浏览、已发布课程信息浏览、留言信息浏览。已选课程浏览是为学生提供的查看自己已经选择的课程信息;被选课程浏览用于
28、学生修改、补选、重新选择课程;公共信息浏览适用于教师和学生查看最近发布的信息(内容、时间);已发布课程信息浏览用于各代课老师查询自己已经发布的课程信息,主要用于浏览、核对。(3)信息查询模块:信息查询包括教师个人信息查询、课程查询、选课名单查询。课程查询即通过课程编码(唯一)来查询该课程的相关介绍,包括课程内容、开课学期、地点等内容。教师个人信息是通过教师姓名来查询对应的老师个人信息,包括学历、职称、成果等。通过选课名单的查询可以查看该学期选择某一门课程的学生情况。(4)信息修改模块:信息修改包括课程信息的修改,学生信息的修改,教师信息的修改。课程信息的修改用于管理员对相关课程维护;密码的修改
29、用于教师、学生这两种非管理员用户出于安全考虑对自己的帐户进行维护;学生信息、教师信息用于教务处对教师和学生信息进行更新。本功能只有管理员才可以完成。(5)课程发布模块:课程发布用于管理员发布新的课程信息,其他用户可查看最新的课程信息。3.3 系统流程图管理员拥有系统最高权限,以管理员身份登陆后,会出现所有的子任务菜单,例如学生信息的管理、课程信息的管理、教师信息的管理等等,单击菜单,进入相应的操作界面,管理员具体操作流程如下: N Y管理员账户验证验证是否成功管理学生管理教师管理课程管理公告管理留言图3-1 管理员模块图在学生选课系统中,学生是主要的用户之一,选择学生用户登陆后,会出现所有学生
30、的子任务菜单,例如查看课程、选择课程、教师信息查看等等,单击菜单,进入相应的操作界面,学生具体操作流程如下: N Y学生账户验证验证是否成功查看课程信息查看已选课程查看教师信息图3-2 学生模块流程图教师是主要的用户之一,教师登陆后,选择教师用户登陆后,会出现所有教师的子任务菜单,例如查询课程、查看已带课程等等,单击菜单后进入相应的操作界面,教师具体操作流程如下: N Y教师账户验证验证是否成功查看已带课程查看所有课程查看课程信息发表留言图3-3 教师模块流程图3.4 数据库的概念设计信息系统的主要任务是通过大量的数据获得管理所需要的信息,这就必须存储和管理大量的数据。因此建立一个良好的数据组
31、织结构和数据库,使整个系统都可以迅速、方便、准确地调用和管理所需的数据,是衡量信息系统开发工作好坏的主要指标之一。数据库系统设计数据库设计主要是进行数据库的概念设计和逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。数据库设计时需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照数据库提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型。为了更好地组织数据和设计出实际应用数据库,应该注意如下问题,规范化地重组数据结构,对数据进行规范化表达,这在后面将会具体讨论。关系数据结构的建立,在进行了数据基本
32、结构的规范化重组后,还必须建立整体数据的关系结构。这一步设计完成后数据库和数据结构设计工作基本完成,只待系统实现时将数据分析和数据字典的内容代入到所设计的数据整体关系结构中,一个规范化数据库系统结构就建立起来了。建立关系数据结构涉及三方面内容:确定关联的关键指标项并建立关联表;确定单一的父系记录结构;建立整个数据库的关系结构。定义安全保密性的方法一般有如下几种: a原则上所有文件都定义为4级,个别优先级特别高的办公室(终端或微机的入网账号)可定义高于4级的级别,反之则定义为低于4的级别。 b统计文件(表)和数据录入文件一般只对本工作站定义为只写方式,对其它工作站则定义为只读方式。以下为本系统主
33、要ER图: n n 1 m课程课程ID课程名字选学生学号名字图3-4 学生、课程关系模型 n 1课程课程ID课程名字管理管理员ID名字图3-5管理员、课程关系模型 n 1学生学号名字管理管理员ID名字图3-6管理员、学生关系模型 n 1教师ID号名字管理管理员ID名字图3-7管理员、教师关系模型 nm课程课程ID课程名字讲授教师ID号名字图3-8教师、课程关系模型3.5 数据库的逻辑设计(1)在根目录chd下建立一个data文件夹用于存放chdxk.db数据库文件(2)在chdxk.db数据库文件下建立admin 、class 、book 、kecheng、stu_kecheng、teache
34、r、xibie、七个数据表,内部具体设置如下:Admin表:adminid 、adminpsd分别为超级用户名和超级用户密码,验证管理员用。class表:xuehao 、name 、psd xkmax等,分别存放学号、姓名、密码、最多选课等,主要存储学生信息。stu_kecheng表:主要存放学生选课信息。teacher表:teacherid、teachername、teacherpsd、zhicheng等,主要存放教师ID、密码等信息.book表:id、name、content、booktime等,主要存放留言信息。基于前面对系统的需求分析和详细设计。本系统的数据库采用了七张数据表:表3-1
35、 数据库表数据库表数据库表存储内容admin管理员表kecheng存储课程详细信息class存储学生信息teachaer存储教师信息Stu_kecheng学生和课程的关联表xibie存储系别信息book存储留言信息各表详细信息如下:表3-2 xibie(系部信息表)列(属性)名中文名称类型宽度是否允许为空ID系别IDint4NOT NULLname系别名字vachar50NOT NULLadminid外键vachar50NULL表3-3 teacher(教师信息表)列(属性)名中文名称类型宽度是否允许为空teacherid教师IDint4NOT NULLteachername教师姓名char1
36、0NOT NULLteacherpsd教师密码char10NOT NULLteachersex性别char10NULLzhicheng教师职称char10NULLadminid外键vachar50NULL表3-4 class(学生信息表) 列(属性)名中文名称类型宽度是否允许为空Xuehao学号int4NOT NULLName姓名char10NOT NULLPsd密码vachar50NOT NULLSex性别char10NULLxibie系别vachar50NULLxkmax最多选课int4NULLaminid外键vacher50NULL表3-5 kecheng(课程信息表)列(属性)名中文名
37、称类型宽度是否允许为空id课程IDint4NOT NULLname名称vachar50NOT NULLrenshu人数int4NOT NULLxueshi学时int4NOT NULLxuefen学分int4NOT NULLteacherid带课教师IDint4NULLxueqi学期int4NOT NULLxibie系别vachar50NOT NULLshijian上课时间vachar50NULLdidian上课地点vachar50NULLjieshao课程介绍vachar50NULLadminid外键vachar50NULL表3-6 book(留言信息表)列(属性)名中文名称类型宽度是否允许为
38、空id自动编号int4NOT NULLname姓名vachar50NOT NULLcontent内容vachar50NOT NULLbooktime发表时间datetime8NULLxibie系别vachar50NULLhuifu回复内容vachar50NULLaminid外键vacher50NULL表3-7 admin(管理员帐户表)列(属性)名中文名称类型宽度是否允许为空adminid管理员IDvachar50NOT NULLadminpsd密码vachar50NOT NULL表3-8 stu_kecheng(学生、课程关联表) 列(属性)名中文名称类型宽度是否允许为空ID自动编号int4
39、NOT NULLxuehao学号vachar50NOT NULLkechengid课程IDvachar50NOT NULL 4 软件设计与实施面向对象、可视化是ASP的一个特点,结合此特点,本系统设计时主要采用自顶向下方法:设计一个主页,通过菜单调用各个子模块。4.1 系统总体设计框架公用代码作为单独的一个文件,其他程序在需要时调用该文件,下面为公共函数和主要部分模块,系统所使用的公共文件为conn.asp,此文件中包含了连接数据库代码,主要是打开、关闭数据库:Connection对象主要的用途是打开和关闭数据库连接。Open:打开一个数据库使用server.createobject方法建立C
40、onnection对象实例,再指派给conn。PROVIDER=SQLOLEDB指明使用的驱动程序。4.2 登陆模块该系统分为管理员、学生、教师三种用户,不同身份具有不同的操作权限,因此,登陆系统时,根据session值来判断该用户的身份,对三种身份的判断使用相同的方法,以下为管理员登陆界面: 4.3 查看课程信息模块4.4 课程信息管理模块添加课程是选课系统中重要的模块,部分代码如下检查是否存在相同ID号的课程:进行插入记录conn.execute(sql)%4.5 课程查询模块首先是对身份的判断,禁止非法用户,接受上一页传递过来的参数,查询数据库,显示符合要求的课程信息。%if session(xuehao) thenid=session(xuehao)end ifif session(teacherid) thenid=session(teacherid)end ifif session(ID) thenid=session(ID)end if%5 调试和测试5.1 测试环境该系统需要在网络环境下运行,对整个系统的性能要求较高,测试环境如下:IIS5.0,浏览器采用IE6.0,数据库采用稳定性好的SQL Server 2000, 操作系统为WINDOS XP;本系统采用ASP平台,ASP支持