1、中国环境管理干部学院毕业论文第 1 页 共 38 页中国环境管理干部学院毕业设计说明书(论文)作 者: 系(部): 信息工程系 专业班级: 学号 题 目: 教务管理系统 指导者: 蔺旭东 讲师 (姓 名) (专业技术职务)评阅者: 蔺旭东 讲师 (姓 名) (专业技术职务)2010 年 5 月 31 日中国环境管理干部学院毕业论文第 2 页 共 38 页中文摘要 :随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。本文介绍
2、了在 ASP 环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发一个管理信息系统的过程。通过分析某一学校学生管理的不足,创建了一套行之有效的计算机管理学生的方案。文章介绍了教务管理系统的系统分析部分,包括可行性分析、业务流程分析等;系统设计部分主要介绍了系统功能设计和数据库设计;系统实现部分说明了几个主要模块的算法,本系统界面友好,操作简单,比较实用。关键字:管理信息系统、 学生管理、 ASP 应用.Abstract:With more and more widespread and profound application of information technology in
3、 management, the implement of management information system has become mature in technology step by step. Managing information system is a new subject. Enterprise needs existence and development, so enterprise activities should be organized efficiently and organically, which means tightening up the
4、enterprise management and strengthening effective management of any resource internal the enterprise, and also establishing a management information system fitting in with its own characteristics. This article introduces the detailed process of exploring a management information system under the env
5、ironment of ASP, utilizing “Top-Bottom” overall plan and a strategy according to “Bottom-Top” application and exploitation. That is to establish a set of effective scheme for student management by computer, through analyzing disadvantages of student management by human resources. This article emphas
6、izes on three sections. The system analysis section of student management information includes feasible analysis, management function analysis. The system design section mainly focuses on system function design and data base design and data number design. And the system realization section has provi
7、ded several major functions, together with the main windows and programs. This economical and pragmatic system has explicit interface, with simple operation.Keywords:MIS、student management、ASP application中国环境管理干部学院毕业论文第 3 页 共 38 页目 录中文摘要 : .2关键字: 2Abstract:.21.教务管理系统特点及相关技术 41.1 系统需求 .41.2 可行性分析 .42
8、.教务管理系统概述 62.1 系统功能概述 .62.1.1 学生管理子系统 .62.1.2 教师管理子系统 .72.1.3 管理员管理子系统 .82.2 数据库结构及实现 .92.3 常用模块设计 .92.3.1 通用模块设计 .92.3.2 密码保护 .102.4 用户登录系统 .103.学生管理子系统 123.1 新学生注册模块 123.2 学生管理子系统主框架模块 .133.3 学生基本信息管理模块 .143.4 公告模块 .143.5 邮件发送模块 .153.6 课程管理模块 .163.7 个人信息管理模块 .173.8 退出系统模块设计 .194.教师管理子系统 204.1 主框架模
9、块 .204.2 课程管理模块 .204.3 作业管理模块 .244.4 公告管理模块 .264.5 系统管理模块 .275.管理员管理子系统 285.1 教师管理模块 .285.2 学生管理模块 .305.3 公告管理模块 .315.4 系统管理模块 .316.全文总结 34致谢 35参考文献 36中国环境管理干部学院毕业论文第 4 页 共 38 页1.教务管理系统特点及相关技术该系统是实现一个基于 Web 的教务管理系统,能够帮助学生选课,教师管理学生选课信息以及处理学生成绩等。该系统是一个中型的 ASP 应用程序,系统具备良好的维护性和扩展性。1.1 系统需求通过调查,要求系统需要有以下
10、功能特点: 由于操作人员的计算机知识普遍较差,要求有良好的人机界面; 由于该系统的使用对象多,要求有较好的权限管理; 原始数据修改简单方便,支持多条件修改; 方便的数据查询,支持多条件查询; 在相应的权限下,删除数据方便简单,数据稳定性好; 数据计算自动完成,尽量减少人工干预;1.2 可行性分析由于本系统管理的对象单一,都是在校学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。且学校用于学生管理的微机都是 P4 以上的机器,在存储量、速度方面都能满足数据库运行的要求。在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它
11、程序的功能,因此完全可以实现。本系统的设计是在 Windows XP 中文版操作系统环境下,IIS 运行平台下,使用 ASP 开发成功的。数据库是 MIS 中的重要支持技术,在 MIS 开发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较多,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围. 本系统选用的数据库语言介绍如下:ASP 并不是一种编程语言,而是一种服务器端脚本程序的执行环境,也就是说 ASP 程序的开发是独立语言的(尽管最常用的是 VBScript 和 JScript 两种脚中国环境管理干部学院毕业论文第 5 页 共 38 页
12、本语言).ASP 内置了这两种脚本语言程序的解释器.ASP 提供了丰富的内置对象来进行 Web 服务器端程序的开发.可以说 ASP 就像一个汽车框架,它可让用户把传统的 HTML,客户端,服务器端 Script 代码和COM 组件组合成为一个功能强大的汽车.数据库系统往往是一个大型 Web 应用程序的核心.同其他 Web 应用程序的编写方法相比,强大的数据库访问能力,简单一致的数据库访问方式正是 ASP 的突出特点之一.在 ASP 中,可以轻松地利用 Microsoft 提供的强大的 ADO(ActiveX Data Objects)技术, 对各种各样的数据库进行访问:可以访问像 SQL Se
13、rver 这样的基于客户端/服务器的数据库系统,也可以访问像 Access 这样的文件型数据库,还可以轻松地访问存储在其他表格式数据结构(比如电子表格)中的信息.ADO还支持 ODBC(Open Database Connectivity)数据库 ,这意味着只要遵循 ODBC 标准的数据库都能被 ADO 访问.中国环境管理干部学院毕业论文第 6 页 共 38 页2.教务管理系统概述本系统是以 ASP+Access 为基础设计开发,具有较高的实用价值,很多代码能够直接在其他应用系统中重复使用.2.1 系统功能概述教务管理系统包括学生管理子系统,教师管理子系统和管理员管理子系统。学生管理子系统包括
14、系统管理,课程管理和个人信箱管理,教师管理子系统包括课程管理,作业管理,公告管理和系统管理,管理员管理子系统包括教师管理,学生管理,公告管理和系统管理. 教务管理系统学生子系统教师管理子系统管理员管理子系 统图 2.1 系统功能结构2.1.1 学生管理子系统学生管理子系统是提供给学生使用的,新学生必须注册,注册信息通过管理员审核以后才能使用系统的全部功能。学生通过登录验证信息以后,可以访问学生管理子系统,并进行如下操作: 系统管理1. 基本资料管理 修改基本信息2. 查看公告3. 发送邮件中国环境管理干部学院毕业论文第 7 页 共 38 页 课程管理1. 课程列表 选择课程2. 已选课程列表
15、删除课程 查看课程作业 提交课程作业答案 个人信箱管理1. 写新信息2. 已发信息列表3. 收到信息列表4. 查看信息具体内容2.1.2 教师管理子系统教师和下面的管理员属于管理员级别的用户,不过其具体的职能不同。教师必须通过登录后才可以使用教师管理子系统。在教师管理子系统中可以进行如下操作 : 课程管理1. 添加新课程2. 课程列表3. 学生选课列表4. 改变选课状态5. 删除课程6. 对学生的课程进行评分7. 删除选课学生信息 作业管理1. 发布新作业2. 已有作业列表3. 学生已提交的答案列表中国环境管理干部学院毕业论文第 8 页 共 38 页4. 点评学生提交的作业答案 公告管理1.
16、发布新公告2. 公告列表3. 查看公告信息4. 删除公告 系统管理1. 发送邮件2. 修改自己的密码2.1.3 管理员管理子系统管理员具备和教师不同的职能。管理员登录以后方可使用管理员管理子系统。管理员管理子系统具备如下功能: 教师管理1. 添加教师2. 教师列表3. 修改教师密码4. 删除教师5. 课程列表 学生管理1. 已通过审核的学生信息列表2. 未通过审核的学生信息列表3. 审核学生信息4. 删除学生信息5. 学生选课列表 公告管理1发布新公告2公告列表3查看公告具体信息中国环境管理干部学院毕业论文第 9 页 共 38 页 系统管理1修改自己的密码2. 发送邮件3. 初始化系统4. 执
17、行命令语句2.2 数据库结构及实现数据库 STUDY 总共用到 8 张表:1、学生信息表 student 用来保存学生基本信息数据;2、课程信息表 course 用来保存所有教师开设的课程的信息;3、学生选课表 stuCourse 用来保存学生选课信息数据;4、管理员信息表 teacher 用来保存管理员和教师的信息数据;5、课程作业表 courseHomework 用来保存所有作业信息;6、学生作业答案表 stuHomework 用来保存学生提交的作业答案;7、消息表 message 用来保存学生之间传递的消息;8、公告信息表 notice 用来保存管理员发布的公告信息。2.3 常用模块设计
18、在实际的开发过程中,有一些技术需要经常的重复性使用,如果每次使用该技术时都重新编写代码,这将降低代码的可维护性,使代码修改困难,也将延缓软件开发的速度。为了便于 ASP 应用程序的开发,需要把这些经常重复使用的技术做成通用模块,保存为单独的文件,以便能够重复使用,而且修改代码也非常方便,只需要对通用模块进行修改即可。该系统的通用模块,包括数据访问,邮件发送,界面处理等。2.3.1 通用模块设计该模块包括数据访问函数,对话框函数,字符串检查和转化函数等。该模块保存为 const.asp 文件。该文件独立于本应用系统,其他任何 ASP 应用程序都可以使用该文件。中国环境管理干部学院毕业论文第 10
19、 页 共 38 页2.3.2 密码保护密码保护是指对用户密码进行加密处理。ASP 中对密码进行加密的方式基本上都采用 MD5 算法加密。MD5 算法思想比较复杂,用 ASP 实现 MD5 加密也不简单。2.4 用户登录系统学生和教师都必须登录才能进入系统,用户登录时必须选择登录类型。学生依据学号和密码登录,教师依据教师名和密码登录。用户输入信息以后必须将用户名字段内容进行单引号转化,而密码则必须通过加密处理。如果登录信息填写不完整,则登录系统提示信息填充不完整的错误;如果用户名和密码不匹配,则提示用户名和密码错误。当用户名登录成功以后,依据用户类型跳转到不同的页面。登录页面还需要提供新学生注册
20、的链接。系统登录界面如图 2.2 所示。图 2.2 用户登录界面该界面由 index.htm 文件实现,这是一个完全基于 html 的文件。用户输入信息后单击“登录”按钮,信息将被提交给 login.asp 文件处理,login.asp 文件首先判断用户输入的信息是否完整,然后对信息进行检查和加密以后读取数据库,判断用户的信息是否能够成功登录。中国环境管理干部学院毕业论文第 11 页 共 38 页如果学生登录成功则首先设置相应的 session 对象,然后跳转到student/index.asp,如果教师登录成功则跳转到 teacher/index.asp。出于本系统是学校学生管理的一个综合性
21、的系统,本系统的设计目标将最终定位于完成以上所述的系统主要业务的基本模型上。中国环境管理干部学院毕业论文第 12 页 共 38 页3.学生管理子系统学生管理子系统是提供给学生使用的,学生可以进行信息管理和课程管理等操作。3.1 新学生注册模块新生必须注册才能进入系统。注册时必须填写足够多的必填信息。如果信息填写不完整,则注册操作将失败。注册以后学生默认是未审核级别,可以进入学生管理子系统,但是功能受到限制。当信息通过审核以后学生拥有全部功能。该模块主要包括 reg.htm 和 reg.asp 两个文件。reg.htm 显示学生注册界面,用于接收用户输入的信息。用户输入信息以后提交注册时,将由
22、reg.asp来处理学生提交的信息。reg.htm 要求学生填写某些信息如学号,姓名等。其中有些信息是必填字段,有些信息可以不填写。对用户输入的数据的处理是有 reg.asp 来完成的。当然可以在这个文件里面添加 JavaScript 代码在客户端对用户填写的信息进行检查。运行结果如图 3.1 所示。中国环境管理干部学院毕业论文第 13 页 共 38 页图 3.1 教务管理系统注册页面当学生填写了信息以后单击“提交”按钮,将由 reg.asp 来处理用户提交的信息。该文件中首先读取表单中的信息,然后判断表单中信息填充是否完整,如果不完整则提示出错并返回。接着判断两次输入的密码是否相同。如果不相
23、同则提示错误后返回前一页。信息检查结束后就读取数据库,判断用户输入的学号是否已经有人使用,如果有人使用则提示学号重复信息并返回。通过以上三种检查后就将学生信息存入数据库中,同时设置相应的 session 信息来记录学生已登录,然后提示用户操作完成。新生注册成功以后可以进入系统,已注册学生可以通过登录功能进入系统。3.2 学生管理子系统主框架模块该主框架有 index.asp 完成。学生注册成功或者登录成功以后都将进入这个主页面。该页面使用嵌入式框架结构,该嵌入式框架初始页面为welcome.htm 页面。学生用户所有的操作在默认情况下都将在该嵌入式框架中完成。ASP 代码的主要功能是读取 Se
24、ssion 中的用户信息,然后将这些信息显示出来。菜单实现是通过下面的代码:中国环境管理干部学院毕业论文第 14 页 共 38 页整个界面的效果如图 3.2 所示。图 3.2 index.asp 页面3.3 学生基本信息管理模块学生进入系统以后可以查看自己的基本信息,也可以修改允许修改的基本信息。该模块主要包括 baseInfo.asp 和 updateBaseinfo.asp 文件。基本信息的显示由 baseInfo.asp 完成,该页面根据 session 中的学生的学号信息读取数据库中对应的学生记录,然后显示在 html 页面中的表单中。之所以直接将信息显示在表单中,是因为这样可以直接在
25、表单中修改基本信息而不必重新设计新的修改信息的页面。该过程体的作用是输出 HTML 代码“readonly” 。由于并不是所有的信息都能够修改,所以有些文本框必须是只读(比如学号文本框) 。另外由于通过审核的学生不能修改自己的姓名和班级,只有没通过审核的学生才能修改姓名和班级.所以调用 initReadOnly 过程要依据具体情况。这个页面执行结果如图 3.3所示。 中国环境管理干部学院毕业论文第 15 页 共 38 页图 3.3 修改页面3.4 公告模块公告模块主要是用来向学生显示教师发布的公告信息。该模块主要包括listNotice.asp 和 showNotice.asp 两个文件。li
26、stNotice.asp 文件负责列表显示教师针对学生发布的所有的公告信息。由于公告可能比较多,该页面应该采用分页技术。另外,从网站易用性,最新发布的公告信息也应显示在最顶部。该页效果如图 3.4 所示。图 3.4 listNotice.asp当在这个页面中单击公告标题或者是查看时,将打开显示公告具体内容的showNotice.asp 页面。同时单击链接是将传递给 showNotice.asp 名为 nID 的参数,即公告 ID。而 showNotice.asp 则依据公告 ID 来读取数据库中具体公告信息并将之显示出来。在 showNotice.asp 中首先必须检查 URL 中是否包含 n
27、ID参数,如果不包含则应提示错误。另外要判断指定 ID 的公告信息是否存在,如果不存在也应提示错误。当检查正确后读取数据库并显示公告信息。页面执行效果如图 3.5 所示。中国环境管理干部学院毕业论文第 16 页 共 38 页图 3.5 显示公告信息3.5 邮件发送模块由于学生提交作业的时候可能需要向任何老师发送邮件,所以系统必须能提供邮件发送功能。该邮件发送模块主要发送邮件。主要包括 sendMail.asp和 manageMail.asp 两个文件。该模块采用 JMail 组件发送邮件信息。sendMail.asp 用于显示一个输入邮件信息的表单,该页面使用了客户端验证技术。sendMail
28、.asp 本身不对邮件发送提供支持,当用户在该页面输入了合法的邮件内容以后单击发送邮件时,将由 manageMail.asp 来处理用户的邮件信息。manageMail.asp 对用户输入的信息进行检查以后,调用邮件发送程序发送邮件。邮件发送成功后返回欢迎页面。3.6 课程管理模块学生可以查看所有的课程信息并选择自己感兴趣的课程进行学习(前提是该课程允许选修) 。学生可以查看自己所选择的课程列表。如果学生对所选择的课程不再感兴趣,可以退选该课程(前提是该课程允许退选) 。学生可以查看课程作业列表信息,可以回答作业,也可以查看教师对自己作业的评价。本模块包括的文件有addHomework.asp
29、,listCourse.asp,listSelectedCourse.asp,manageCourse.asp 和 showCourseInfo.asp。listCourse.asp 文件列表显示所有教师开设的所有课程。由于课程可能比较多,因此要使用分页技术。另外由于有些课程的教师由于某些原因不允许再中国环境管理干部学院毕业论文第 17 页 共 38 页选择该课程,因此列表显示信息应该注意,不能选择的课程应该使用灰色显示。课程列表界面如图 3.6 所示。图 3.6 课程列表界面在这个页面中如果单击“选课”链接,表示希望选择该课程,选课操作由manageCourse.asp 负责完成,其中包括检
30、查信息完整性和合法性等。当用户成功选择课程以后,在 listSelectedCourse.asp 文件中可以看到该学生的所有的选课信息列表。在该页面中可以看到所有的已经选择的课程信息以及对应的成绩信息,而且还可以通过相关链接查看某一门课程的作业信息列表。图 3.7 学生选课列表在这个页面中,学生单击“删除” ,将从选课信息中删除该课程信息。删除操作由 manageCourse.asp 文件负责完成。manageCourse.asp 首先判断参数合法性,如果合法则执行操作。在这个界面中单击“查看” ,将打开该课程的详细信息以及作业列表。课程的详细信息由 showCourseInfo.asp 文件
31、负责显示。该文件首先依据 URL 中的courseID 参数读取数据库中的课程信息,然后读取对应的作业信息以及学生作答信息。由于要读取多个表中的数据,该页面用了两个 RecordSet 对象,一个负责显示课程信息,另外一个负责显示作业信息。showCourseInfo.asp 效果图3.8中国环境管理干部学院毕业论文第 18 页 共 38 页图 3.8 showCourseInfo.asp 执行效果图如果该学生有问题没有作答,则提示链接让该学生作答该题目。提示作答的链接是“现在作答” ,该链接将通过 URL 传递 homeworkID 参数给addHomework.asp 页面。addHome
32、work.asp 文件将依据参数 homeworkID 读取数据库中的问题具体信息并显示出来,同时该文件提供一个表单供用户输入答案用。addHomework.asp文件首先需要判断参数 homeworkID 是否存在,如果参数不存在则提示错误信息后返回。如果参数存在,则读取数据库中的信息,如果读取时发现数据不存在则提示参数错误的信息,否则就显示具体的问题信息。另外,addHomework.asp本身即可处理学生输入的答案信息,当学生输入了答案信息并提交以后,信息的处理将被提交给 addHomework.asp 并处理。那 addHomework.asp 如何判断是该显示问题信息还是该处理学生提
33、示的答案呢?很简单,在提交的答案的时候传递给 addHomework.asp 另外一个参数即 action 参数。如果 action 参数的值为 do,则应该处理学生提交的答案信息,否则就显示问题信息以及作答表单。该文件在处理学生提交的作业信息时,同样要首先进行信息合法性检查。3.7 个人信息管理模块本模块实现了各个同学之间信息交流的问题。学生可以给任何存在的其他学生发送短信息,也可以接受和查看其他学生给自己发送的信息。学生可以删除自己的接受到的短信息,但是不能删除自己发送的短信息,因为信息应该有收信人来删除。该模块主要包括以下几个文件:addMessage.asp,listReceivedM
34、essage.asp,manageMessage.asp,listSende中国环境管理干部学院毕业论文第 19 页 共 38 页dMessage.asp,showMessageCoutent.asplistReceivedMessage.asp 文件列表显示学生收到的所有信息。首先检查用户是否已经通过审核。如果未通过审核则提示错误。然后该页面从 URL 中读取 page 等信息。同时从 Session 中读取当前用户的 ID 信息,依据此 ID 信息从数据库中读取消息列表。为了方便表示列表中的消息是否阅读,该页面定义了变量 isReaded 并依据数据库中的信息来赋值。如果该信息没有被阅读,
35、则提供“阅读”的链接,否则用灰色显示“阅读字样。同时由于用户可以删除自己收到的信息,该页面提供了删除信息的链接。无论是阅读还是删除链接。都把参数 msgID 通过 URL 传递过去了。ListReceivedMessage.asp 执行效果如图 3.9 所示。图 3.9 收到的信息列表addMessage.asp 文件用于显示学生输入信息的表单,同很多其他页面一样,该页面只允许通过审核了的学生访问。该页面接受参数 userID,如果 userID不为空,则将表单中收信人文本框的初始值设置为 userID,否则设置为空。addMessage.asp 本身不对用户输入的信息提供任何处理,而是当用户
36、提交数据时由 manageMessage.asp 来处理。用户提交时将传递给 manageMessage.asp 名为 actionType 的参数,其值为 add,表示操作类型为添加信息。如果单击“阅读“链接,将打开查看信息具体内容的页面showMessageContent.asp,该页面接受两个参数,msgID 是消息编号,updateMsgReaded 表示是否更新数据库中消息的是否阅读的字段。之所以需要updateMsgReaded 这个参数,是因为如果是收信人通过showMessageContent.asp 来查看该消息内容,则应该更新该信息标为已经阅读。单击“删除“链接,则将链接到
37、 manageMessage.asp 文件。manageMesssage.asp 文件提供对消息的处理,包括添加信息和删除信息。不同的操作由不同的 actionType 来决定。如果是添加信息,则 actionType 的值为中国环境管理干部学院毕业论文第 20 页 共 38 页add,执行添加操作。从表单中读取信息并检查后保存到数据库。如果是删除信息,则 actionType 的值为 delete,执行删除操作。执行删除操作时必须确保当前用户是即将被删除消息的收信人,否则拒绝操作。在学生信息管理中,学生还可以查看自己所发送给其他同学的所有信息列表。这个功能有文件 liSendedMessag
38、e.asp 完成。3.8 退出系统模块设计当学生所有操作完成以后,应该能够正常地退出系统。虽然可以通过直接关闭浏览器的方式退出系统,但这种方式毕竟不可靠。其实设计退出系统和设计登录系统方式相反。登录时设置 Session 信息来表示用户登录,退出时则应该清空这些 Session 信息。然后重定向到登录界面。中国环境管理干部学院毕业论文第 21 页 共 38 页4.教师管理子系统教师管理子系统是提供给教师使用的。它和管理员分别具备不同的权限和职能。教师没有注册功能。最初是由管理员添加教师,然后教师通过登录进入系统。4.1 主框架模块教师登录以后将进入管理系统主界面 index.asp。主界面采用
39、框架结构实现,包括上下左和 中部 4 个小框架。初始时上面框架为 top.asp。该文件主要是读取 session 中用户基本信息并显示出来。左边框架为 left.asp,该文件依据用户的不同级别显示不同的导航树状菜单,原理是依据 Session 中的用户级别信息来调用不同的菜单文件,如果是管理员则调用 dataAdmin.js 文件,如果是教师则调用 dataTeacher.js 文件。中部框架是系统的核心,所有的操作都将在这里进行,但其初始页面为非常简单的 welcome.htm。教师最初进入系统时的界面如图 4.1 所示。图 4.1 教师管理子系统初始界面中国环境管理干部学院毕业论文第
40、22 页 共 38 页4.2 课程管理模块教师登录系统以后可以进行课程管理,包括添加自己教授的课程信息,列表查看自己教授的课程信息,查看学生选课列表,修改课程状态和给学生评分等功能。该模块主要包括以下几个文件:addMyCourse.asp,listMyCourse.asp,listMyStudentCourse.asp,manageMyCourse.asp。addMyCourse.asp 文件用来显示添加新课程的表单.如图 4.2 所示。图 4.2 添加新课程表单当教师在该页面输入课程信息以后,将把这些信息提交给manageMyCourse.asp 处理,同时传递参数 actionType。
41、manageMycourse.asp 接受参数并对用户输入的信息进行适当处理。添加课程成功后系统将跳转到课程列表界面 listMyCourse.asp,该文件用于列表显示当前用户所开设的所有课程信息。如图 4.3 所示。图 4.3 课程列表该页面中针对每一门的课程都提供如下几个链接:选课学生列表,查看作业列表,发布新作业,改变选课状态,删除该课程,分别链接至不同的功能。当单击“删除该课程”链接时,将通过如下形式的链接通知manageMyCourse.asp 来处理删除课程操作:manageMyCourse.asp?actionType=deleteCourse&courseID=6中国环境管理
42、干部学院毕业论文第 23 页 共 38 页manageMycourse.asp 接受到这两个参数后将删除指定 couseID 的课程信息,当单击“改变选课状态”链接时也将通知 manageMyCourse.asp 来处理 .其链接方式如下:manageMyCourse.asp?actionType=changeCourseState&courseID=6教师还可以查看所有选修自己开设的课程的学生信息列表,具体由listMyStudentCourse.asp 实现。该文件执行逻辑是“依据 session 中的用户 ID 信息来读取数据库中的课程信息以及对应学生选课信息,然后显示出来。另外该页面具
43、备查询功能。查询是一个完整的 ASP 应用系统必备的功能。该页面的查询表单采用了 get 方式传递值,也就是将表单中的信息通过 URL 传递出去。为什么要这样做?这是由于本页面有翻页功能。为了保证翻页时的信息依然是查询后的值,必须保证每次翻页的时候能够传递查询参数。由于刷新页面的时候表单中的值会重置,不可能每次都要求用户输入查询信息才能翻页,因此必须自动记忆用户输入的查询条件。如何记忆?可以通过 session,就和验证用户登录一样,但是这样过于麻烦,也消耗服务器资源,最好的解决方法就是通过 URL 来传递参数。因此该页面使用 get 方式来传递表单中的值。执行效果如图 4.4 所示。图 4.
44、4 学生选课列表单击“查看作业列表“链接,将显示该课程的作业信息列表,该功能将在作业管理模块介绍。单击”评分“链接将打开输入学生成绩的表单页面changeMark.asp,该页面接受参数选课记录编号 stuCourseID,依据该参数读取数据库信息并显示。首先要判断当前用户是否有权输入对应选课记录的成绩信息。当教师输入指定信息以后,将提交给 manageMark.asp 处理。manageMark.asp 首先读取 URL中国环境管理干部学院毕业论文第 24 页 共 38 页中的参数信息并检查完整性,然后从表单中读取用户输入的值并赋给变量,同时判断输入的信息的完整性。通过这些检查以后,将判断当
45、前用户是否有权限给该学生选修的该课程评分。如果验证通过则执行评分操作。单击“删除“链接,将链接至 manageMyCourse.asp 来删除课程信息。课程管理的核心是 manageMyCourse.asp 文件,它负责添加课程,修改课程状态,删除课程等功能。代码的执行逻辑是:首先从 URL 中取值,判断参数 actionType 是否完整。如果不完整则提示错误后返回。如果完整则依据 actionType 的值来调用对应的过程,实现对应的操作。actionType 的值可以为 add,deleteStuCourse,deleteCourse 和changeCourseState,分别表示添加课
46、程,删除学生选课记录,删除课程和改变课程状态。当 actiontype 的值为 add 时,调用 addCourse 模块。首先从表单中读取信息并赋值给变量,然后判断信息是否填充完整。如果完整则检查输入的日期格式是否正确,正确则检查输入的学分是否有效。如果所有检查都通过,则添加课程信息到表 course 中。当 actionType 的值为 deleteStuCourse 时,调用 deleteStuCourse 模块。该模块首先检查当前用户是否有权限删除对应信息。如果有,则首先删除学生提交的该课程的作业信息,然后才删除该学生选择该课程的记录。这样才能保证数据库中信息的完整性。当 action
47、Type 的值为 deleteCourse 时,调用 deleteCourse 模块,删除课程信息。首先判断课程号参数是否存在,如果不存在则提示错误后返回。删除课程时程序无需删除该课程的作业信息,也无需删除选修该课程的学生选课信息,因为这些都将被数据库自动删除,这就是建立表之间关系的作用。但是请注意为了保证教师不能删除其他教师开设的课程,在构造 SQL 语句的时候必须添加如下代码sql=sql &“and tID =“ & teacherID 当然,也可以首先判断该课程是否是该教师所开设的,如果是则执行删除操作,如果不是则提示错误。不过这样需要多次读取数据库,效率不高。中国环境管理干部学院毕业
48、论文第 25 页 共 38 页当 actionType 值为 changeCourseState 时,调用 changeCourseState 模块来修改课程的状态。课程状态课程是否允许修改选课状态,如果数据库中对应的值为 0 则表示不允许选课、退选,如果为 1 则表示允许选课和退选。改变选课状态时首先必须检查课程号参数是否完整,完整则执行操作。执行操作的SQL 语句为:Sql=update course set canselect=IIf(canSelect=1,0,1) “Sql= sql & “ where ID=”& courseID Sql=sql &and tID=“& teach
49、erID其含义是 course 表中指定编号的课程的 canSelect 字段的值如果是 0,则修改为 1,如果是 1,则修改为 0。其中 IIf 为 Access 的内置函数 语法如下:IIF(条件,值 1,值 2) 表示条件为真时返回值 1,条件为假时返回值 2。4.3 作业管理模块教师可以在作业管理模块中执行布置新作业,查看已有作业和查看学生提交的作业答案等操作。该模块主要包括以下几个文件:addHomework.asp。listHomework.asp。listStudentHomework.asp。showStuHomework.asp,manangeHomework.asp 等。教师可以通过 addhomework.asp 文件来发布新作业,该文件用于显示输入作业信息的表单,文件本身不对输入信息做任何处理。首先要读取数据库,将当前用户所开设的所有课程通过列表框的形式显示出来,便于用户选择发布作业的课程。另外由于用户可能希望在其他页面能通过单击具体的课程来直接发布该课程的作业而不再需要选择该课程。因此,构造