WEO啦

教务管理系统 信息工程系毕业论文 毕业设计
收录时间:2022-11-25 23:01:34  浏览:0
中国环境管理干部学院毕业论文中国环境管理干部学院毕业设计说明书(论文)作 者: 系(部): 信息工程系 专业班级: 学号 题 目: 教务管理系统 指导者: 蔺旭东 讲师 (姓 名) (专业技术职务)评阅者: 蔺旭东 讲师 (姓 名) (专业技术职务) 2010年5月31日第 38 页 共 38 页中文摘要:随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。本文介绍了在ASP环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发一个管理信息系统的过程。通过分析某一学校学生管理的不足,创建了一套行之有效的计算机管理学生的方案。文章介绍了教务管理系统的系统分析部分,包括可行性分析、业务流程分析等;系统设计部分主要介绍了系统功能设计和数据库设计;系统实现部分说明了几个主要模块的算法/本系统界面友好,操作简单,比较实用。关键字/管理信息系统、学生管理、ASP应用/Abstract/With more and more widespread and profound application of information technology in 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 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 environment 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 emphasizes 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 provided 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目录中文摘要:2关键字/2Abstract/21/教务管理系统特点及相关技术41/1系统需求41/2可行性分析42/教务管理系统概述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主框架模块204/2课程管理模块204/3作业管理模块244/4公告管理模块264/5系统管理模块275/管理员管理子系统285/1教师管理模块285/2学生管理模块305/3公告管理模块315/4系统管理模块316/全文总结34致谢35参考文献361/教务管理系统特点及相关技术该系统是实现一个基于Web的教务管理系统,能够帮助学生选课,教师管理学生选课信息以及处理学生成绩等。该系统是一个中型的ASP应用程序,系统具备良好的维护性和扩展性。1/1系统需求 通过调查/要求系统需要有以下功能特点/ 由于操作人员的计算机知识普遍较差/要求有良好的人机界面/ 由于该系统的使用对象多/要求有较好的权限管理/ 原始数据修改简单方便/支持多条件修改/ 方便的数据查询,支持多条件查询/ 在相应的权限下,删除数据方便简单,数据稳定性好; 数据计算自动完成,尽量减少人工干预/1/2可行性分析由于本系统管理的对象单一/都是在校学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。且学校用于学生管理的微机都是P4以上的机器,在存储量、速度方面都能满足数据库运行的要求。在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现。本系统的设计是在Windows XP中文版操作系统环境下,IIS运行平台下/使用ASP开发成功的。数据库是MIS中的重要支持技术,在MIS开发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较多,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围/ 本系统选用的数据库语言介绍如下:ASP并不是一种编程语言/而是一种服务器端脚本程序的执行环境/也就是说ASP程序的开发是***语言的(尽管最常用的是VBScript和JScript两种脚本语言)/ASP内置了这两种脚本语言程序的解释器/ASP提供了丰富的内置对象来进行Web服务器端程序的开发/可以说ASP就像一个汽车框架/它可让用户把传统的HTML/客户端/服务器端Script代码和COM组件组合成为一个功能强大的汽车/数据库系统往往是一个大型Web应用程序的核心/同其他Web应用程序的编写方法相比/强大的数据库访问能力/简单一致的数据库访问方式正是ASP的突出特点之一/在ASP中/可以轻松地利用Microsoft提供的强大的ADO(ActiveX Data Objects)技术/ 对各种各样的数据库进行访问/可以访问像SQL Server这样的基于客户端/服务器的数据库系统/也可以访问像Access这样的文件型数据库/还可以轻松地访问存储在其他表格式数据结构(比如电子表格)中的信息/ADO还支持ODBC(Open Database Connectivity)数据库/这意味着只要遵循ODBC标准的数据库都能被ADO访问/2/教务管理系统概述本系统是以ASP+Access为基础设计开发/具有较高的实用价值/很多代码能够直接在其他应用系统中重复使用/2/1系统功能概述教务管理系统包括学生管理子系统,教师管理子系统和管理员管理子系统。学生管理子系统包括系统管理,课程管理和个人信箱管理,教师管理子系统包括课程管理,作业管理,公告管理和系统管理,管理员管理子系统包括教师管理,学生管理,公告管理和系统管理/ 教务管理系统学生子系统教师管理子系统管理员管理子系 统图2/1 系统功能结构2/1/1学生管理子系统学生管理子系统是提供给学生使用的,新学生必须注册,注册信息通过管理员审核以后才能使用系统的全部功能。学生通过登录验证信息以后,可以访问学生管理子系统,并进行如下操作:l 系统管理1/ 基本资料管理l 修改基本信息2/ 查看公告3/ 发送邮件l 课程管理1/ 课程列表l 选择课程2/ 已选课程列表l 删除课程l 查看课程作业l 提交课程作业答案l 个人信箱管理1/ 写新信息2/ 已发信息列表3/ 收到信息列表4/ 查看信息具体内容2/1/2教师管理子系统教师和下面的管理员属于管理员级别的用户,不过其具体的职能不同。教师必须通过登录后才可以使用教师管理子系统。在教师管理子系统中可以进行如下操作 :l 课程管理1/ 添加新课程2/ 课程列表3/ 学生选课列表4/ 改变选课状态5/ 删除课程6/ 对学生的课程进行评分7/ 删除选课学生信息l 作业管理1/ 发布新作业2/ 已有作业列表3/ 学生已提交的答案列表4/ 点评学生提交的作业答案l 公告管理1/ 发布新公告2/ 公告列表3/ 查看公告信息4/ 删除公告l 系统管理1/ 发送邮件2/ 修改自己的密码2/1/3管理员管理子系统管理员具备和教师不同的职能。管理员登录以后方可使用管理员管理子系统。管理员管理子系统具备如下功能:l 教师管理1/ 添加教师2/ 教师列表3/ 修改教师密码4/ 删除教师5/ 课程列表l 学生管理1/ 已通过审核的学生信息列表2/ 未通过审核的学生信息列表3/ 审核学生信息4/ 删除学生信息5/ 学生选课列表l 公告管理1发布新公告2公告列表3查看公告具体信息l 系统管理1修改自己的密码2/ 发送邮件3/ 初始化系统4/ 执行命令语句2/2数据库结构及实现数据库STUDY总共用到8张表:1、学生信息表student用来保存学生基本信息数据;2、课程信息表course用来保存所有教师开设的课程的信息;3、学生选课表stuCourse用来保存学生选课信息数据;4、管理员信息表teacher用来保存管理员和教师的信息数据;5、课程作业表 courseHomework用来保存所有作业信息;6、学生作业答案表 stuHomework用来保存学生提交的作业答案; 7、消息表message用来保存学生之间传递的消息;8、公告信息表notice用来保存管理员发布的公告信息。2/3常用模块设计在实际的开发过程中,有一些技术需要经常的重复性使用,如果每次使用该技术时都重新编写代码,这将降低代码的可维护性,使代码修改困难,也将延缓软件开发的速度。为了便于ASP应用程序的开发,需要把这些经常重复使用的技术做成通用模块,保存为单独的文件,以便能够重复使用,而且修改代码也非常方便,只需要对通用模块进行修改即可。该系统的通用模块,包括数据访问,邮件发送,界面处理等。2/3/1通用模块设计该模块包括数据访问函数,对话框函数,字符串检查和转化函数等。该模块保存为const/asp文件。该文件***于本应用系统,其他任何ASP应用程序都可以使用该文件。2/3/2密码保护密码保护是指对用户密码进行加密处理。ASP中对密码进行加密的方式基本上都采用MD5算法加密。MD5算法思想比较复杂,用ASP实现MD5加密也不简单。2/4用户登录系统学生和教师都必须登录才能进入系统,用户登录时必须选择登录类型。学生依据学号和密码登录,教师依据教师名和密码登录。用户输入信息以后必须将用户名字段内容进行单引号转化,而密码则必须通过加密处理。如果登录信息填写不完整,则登录系统提示信息填充不完整的错误;如果用户名和密码不匹配,则提示用户名和密码错误。当用户名登录成功以后,依据用户类型跳转到不同的页面。登录页面还需要提供新学生注册的链接。系统登录界面如图2/2所示。图2/2 用户登录界面该界面由index/htm文件实现,这是一个完全基于html的文件。用户输入信息后单击“登录”按钮,信息将被提交给login/asp文件处理,login/asp文件首先判断用户输入的信息是否完整,然后对信息进行检查和加密以后读取数据库,判断用户的信息是否能够成功登录。如果学生登录成功则首先设置相应的session对象,然后跳转到student/index/asp,如果教师登录成功则跳转到teacher/index/asp。出于本系统是学校学生管理的一个综合性的系统,本系统的设计目标将最终定位于完成以上所述的系统主要业务的基本模型上。3/学生管理子系统学生管理子系统是提供给学生使用的,学生可以进行信息管理和课程管理等操作。3/1新学生注册模块新生必须注册才能进入系统。注册时必须填写足够多的必填信息。如果信息填写不完整,则注册操作将失败。注册以后学生默认是未审核级别,可以进入学生管理子系统,但是功能受到***。当信息通过审核以后学生拥有全部功能。该模块主要包括reg/htm和reg/asp两个文件。reg/htm显示学生注册界面,用于接收用户输入的信息。用户输入信息以后提交注册时,将由reg/asp来处理学生提交的信息。reg/htm要求学生填写某些信息如学号,姓名等。其中有些信息是必填字段,有些信息可以不填写。对用户输入的数据的处理是有reg/asp来完成的。当然可以在这个文件里面添加JavaScript代码在客户端对用户填写的信息进行检查。运行结果如图3/1所示。图3/1 教务管理系统注册页面当学生填写了信息以后单击“提交”按钮,将由reg/asp来处理用户提交的信息。该文件中首先读取表单中的信息,然后判断表单中信息填充是否完整,如果不完整则提示出错并返回。接着判断两次输入的密码是否相同。如果不相同则提示错误后返回前一页。信息检查结束后就读取数据库,判断用户输入的学号是否已经有人使用,如果有人使用则提示学号重复信息并返回。通过以上三种检查后就将学生信息存入数据库中,同时设置相应的session信息来记录学生已登录,然后提示用户操作完成。新生注册成功以后可以进入系统,已注册学生可以通过登录功能进入系统。3/2学生管理子系统主框架模块该主框架有index/asp完成。学生注册成功或者登录成功以后都将进入这个主页面。该页面使用嵌入式框架结构,该嵌入式框架初始页面为welcome/htm 页面。学生用户所有的操作在默认情况下都将在该嵌入式框架中完成。ASP代码的主要功能是读取Session中的用户信息,然后将这些信息显示出来。菜单实现是通过下面的代码:整个界面的效果如图3/2所示。图3/2 index/asp页面3/3学生基本信息管理模块学生进入系统以后可以查看自己的基本信息,也可以修改允许修改的基本信息。该模块主要包括baseInfo/asp和updateBaseinfo/asp文件。基本信息的显示由baseInfo/asp完成,该页面根据session中的学生的学号信息读取数据库中对应的学生记录,然后显示在html页面中的表单中。之所以直接将信息显示在表单中,是因为这样可以直接在表单中修改基本信息而不必重新设计新的修改信息的页面。该过程体的作用是输出HTML代码“readonly”。由于并不是所有的信息都能够修改,所以有些文本框必须是只读(比如学号文本框)。另外由于通过审核的学生不能修改自己的姓名和班级,只有没通过审核的学生才能修改姓名和班级/所以调用initReadOnly过程要依据具体情况。这个页面执行结果如图3/3所示。 图3/3 修改页面3/4公告模块公告模块主要是用来向学生显示教师发布的公告信息。该模块主要包括listNotice/asp和showNotice/asp两个文件。listNotice/asp文件负责列表显示教师针对学生发布的所有的公告信息。由于公告可能比较多,该页面应该采用分页技术。另外,从网站易用性,最新发布的公告信息也应显示在最顶部。该页效果如图3/4所示。图3/4 listNotice/asp当在这个页面中单击公告标题或者是查看时,将打开显示公告具体内容的showNotice/asp页面。同时单击链接是将传递给showNotice/asp名为nID的参数,即公告ID。而showNotice/asp则依据公告ID来读取数据库中具体公告信息并将之显示出来。在showNotice/asp中首先必须检查URL中是否包含nID参数,如果不包含则应提示错误。另外要判断指定ID的公告信息是否存在,如果不存在也应提示错误。当检查正确后读取数据库并显示公告信息。页面执行效果如图3/5所示。图3/5 显示公告信息3/5邮件发送模块由于学生提交作业的时候可能需要向任何老师发送邮件,所以系统必须能提供邮件发送功能。该邮件发送模块主要发送邮件。主要包括sendMail/asp和manageMail/asp两个文件。该模块采用JMail组件发送邮件信息。sendMail/asp用于显示一个输入邮件信息的表单,该页面使用了客户端验证技术。sendMail/asp本身不对邮件发送提供支持,当用户在该页面输入了合法的邮件内容以后单击发送邮件时,将由manageMail/asp来处理用户的邮件信息。manageMail/asp对用户输入的信息进行检查以后,调用邮件发送程序发送邮件。邮件发送成功后返回欢迎页面。3/6课程管理模块学生可以查看所有的课程信息并选择自己感兴趣的课程进行学习(前提是该课程允许选修)。学生可以查看自己所选择的课程列表。如果学生对所选择的课程不再感兴趣,可以退选该课程(前提是该课程允许退选)。学生可以查看课程作业列表信息,可以回答作业,也可以查看教师对自己作业的评价。本模块包括的文件有addHomework/asp,listCourse/asp,listSelectedCourse/asp,manageCourse/asp和showCourseInfo/asp。listCourse/asp文件列表显示所有教师开设的所有课程。由于课程可能比较多,因此要使用分页技术。另外由于有些课程的教师由于某些原因不允许再选择该课程,因此列表显示信息应该注意,不能选择的课程应该使用灰色显示。课程列表界面如图3/6所示。图3/6 课程列表界面在这个页面中如果单击“选课”链接,表示希望选择该课程,选课操作由manageCourse/asp负责完成,其中包括检查信息完整性和合法性等。当用户成功选择课程以后,在listSelectedCourse/asp文件中可以看到该学生的所有的选课信息列表。在该页面中可以看到所有的已经选择的课程信息以及对应的成绩信息,而且还可以通过相关链接查看某一门课程的作业信息列表。图3/7 学生选课列表在这个页面中,学生单击“删除”,将从选课信息中删除该课程信息。删除操作由manageCourse/asp文件负责完成。manageCourse/asp首先判断参数合法性,如果合法则执行操作。在这个界面中单击“查看”,将打开该课程的详细信息以及作业列表。课程的详细信息由showCourseInfo/asp文件负责显示。该文件首先依据URL中的courseID参数读取数据库中的课程信息,然后读取对应的作业信息以及学生作答信息。由于要读取多个表中的数据,该页面用了两个RecordSet对象,一个负责显示课程信息,另外一个负责显示作业信息。showCourseInfo/asp效果图3/8图3/8 showCourseInfo/asp执行效果图如果该学生有问题没有作答,则提示链接让该学生作答该题目。提示作答的链接是“现在作答”,该链接将通过URL传递homeworkID参数给addHomework/asp页面。addHomework/asp文件将依据参数homeworkID读取数据库中的问题具体信息并显示出来,同时该文件提供一个表单供用户输入答案用。addHomework/asp文件首先需要判断参数homeworkID是否存在,如果参数不存在则提示错误信息后返回。如果参数存在,则读取数据库中的信息,如果读取时发现数据不存在则提示参数错误的信息,否则就显示具体的问题信息。另外,addHomework/asp本身即可处理学生输入的答案信息,当学生输入了答案信息并提交以后,信息的处理将被提交给addHomework/asp并处理。那addHomework/asp如何判断是该显示问题信息还是该处理学生提示的答案呢?很简单,在提交的答案的时候传递给addHomework/asp另外一个参数即action参数。如果action参数的值为do,则应该处理学生提交的答案信息,否则就显示问题信息以及作答表单。该文件在处理学生提交的作业信息时,同样要首先进行信息合法性检查。3/7个人信息管理模块本模块实现了各个同学之间信息交流的问题。学生可以给任何存在的其他学生发送***息,也可以接受和查看其他学生给自己发送的信息。学生可以删除自己的接受到的***息,但是不能删除自己发送的***息,因为信息应该有收信人来删除。该模块主要包括以下几个文件:addMessage/asp,listReceivedMessage/asp,manageMessage/asp,listSendedMessage/asp,showMessageCoutent/asplistReceivedMessage/asp文件列表显示学生收到的所有信息。首先检查用户是否已经通过审核。如果未通过审核则提示错误。然后该页面从URL中读取page等信息。同时从Session中读取当前用户的ID信息,依据此ID信息从数据库中读取消息列表。为了方便表示列表中的消息是否阅读,该页面定义了变量isReaded并依据数据库中的信息来赋值。如果该信息没有被阅读,则提供“阅读”的链接,否则用灰色显示“阅读字样。同时由于用户可以删除自己收到的信息,该页面提供了删除信息的链接。无论是阅读还是删除链接。都把参数msgID通过URL传递过去了。ListReceivedMessage/asp执行效果如图3/9所示。图3/9 收到的信息列表addMessage/asp文件用于显示学生输入信息的表单,同很多其他页面一样,该页面只允许通过审核了的学生访问。该页面接受参数userID,如果userID不为空,则将表单中收信人文本框的初始值设置为userID,否则设置为空。addMessage/asp本身不对用户输入的信息提供任何处理,而是当用户提交数据时由manageMessage/asp来处理。用户提交时将传递给manageMessage/asp名为actionType的参数,其值为add,表示操作类型为添加信息。如果单击“阅读“链接,将打开查看信息具体内容的页面showMessageContent/asp,该页面接受两个参数,msgID 是消息编号,updateMsgReaded表示是否更新数据库中消息的是否阅读的字段。之所以需要updateMsgReaded这个参数,是因为如果是收信人通过showMessageContent/asp来查看该消息内容,则应该更新该信息标为已经阅读。单击“删除“链接,则将链接到manageMessage/asp文件。manageMesssage/asp文件提供对消息的处理,包括添加信息和删除信息。不同的操作由不同的actionType来决定。如果是添加信息,则actionType的值为add,执行添加操作。从表单中读取信息并检查后保存到数据库。如果是删除信息,则actionType的值为delete,执行删除操作。执行删除操作时必须确保当前用户是即将被删除消息的收信人,否则拒绝操作。在学生信息管理中,学生还可以查看自己所发送给其他同学的所有信息列表。这个功能有文件liSendedMessage/asp完成。3/8退出系统模块设计当学生所有操作完成以后,应该能够正常地退出系统。虽然可以通过直接关闭浏览器的方式退出系统,但这种方式毕竟不可靠。其实设计退出系统和设计登录系统方式相反。登录时设置Session信息来表示用户登录,退出时则应该清空这些Session信息。然后重定向到登录界面。4/教师管理子系统教师管理子系统是提供给教师使用的。它和管理员分别具备不同的权限和职能。教师没有注册功能。最初是由管理员添加教师,然后教师通过登录进入系统。4/1主框架模块教师登录以后将进入管理系统主界面index/asp。主界面采用框架结构实现,包括上下左和 中部4个小框架。初始时上面框架为top/asp。该文件主要是读取session中用户基本信息并显示出来。左边框架为left/asp,该文件依据用户的不同级别显示不同的导航树状菜单,原理是依据Session 中的用户级别信息来调用不同的菜单文件,如果是管理员则调用dataAdmin/js文件,如果是教师则调用dataTeacher/js文件。中部框架是系统的核心,所有的操作都将在这里进行,但其初始页面为非常简单的welcome/htm。教师最初进入系统时的界面如图4/1所示。图4/1 教师管理子系统初始界面4/2课程管理模块教师登录系统以后可以进行课程管理,包括添加自己教授的课程信息,列表查看自己教授的课程信息,查看学生选课列表,修改课程状态和给学生评分等功能。该模块主要包括以下几个文件:addMyCourse/asp,listMyCourse/asp,listMyStudentCourse/asp,manageMyCourse/asp。addMyCourse/asp文件用来显示添加新课程的表单/如图4/2所示。图4/2 添加新课程表单当教师在该页面输入课程信息以后,将把这些信息提交给manageMyCourse/asp处理,同时传递参数actionType。manageMycourse/asp 接受参数并对用户输入的信息进行适当处理。添加课程成功后系统将跳转到课程列表界面listMyCourse/asp,该文件用于列表显示当前用户所开设的所有课程信息。如图4/3所示。图4/3 课程列表该页面中针对每一门的课程都提供如下几个链接:选课学生列表,查看作业列表,发布新作业,改变选课状态,删除该课程,分别链接至不同的功能。当单击“删除该课程”链接时,将通过如下形式的链接通知manageMyCourse/asp来处理删除课程操作:manageMyCourse/asp?actionType=deleteCourse&courseID=6manageMycourse/asp接受到这两个参数后将删除指定couseID的课程信息,当单击“改变选课状态”链接时也将通知manageMyCourse/asp来处理 /其链接方式如下:manageMyCourse/asp?actionType=changeCourseState&courseID=6教师还可以查看所有选修自己开设的课程的学生信息列表,具体由listMyStudentCourse/asp实现。该文件执行逻辑是“依据session中的用户ID信息来读取数据库中的课程信息以及对应学生选课信息,然后显示出来。另外该页***备查询功能。查询是一个完整的ASP应用系统必备的功能。该页面的查询表单采用了get方式传递值,也就是将表单中的信息通过URL传递出去。为什么要这样做?这是由于本页面有翻页功能。为了保证翻页时的信息依然是查询后的值,必须保证每次翻页的时候能够传递查询参数。由于刷新页面的时候表单中的值会重置,不可能每次都要求用户输入查询信息才能翻页,因此必须自动记忆用户输入的查询条件。如何记忆?可以通过session,就和验证用户登录一样,但是这样过于麻烦,也消耗服务器资源,最好的解决方法就是通过URL来传递参数。因此该页面使用get方式来传递表单中的值。执行效果如图4/4所示。图4/4 学生选课列表单击“查看作业列表“链接,将显示该课程的作业信息列表,该功能将在作业管理模块介绍。单击”评分“链接将打开输入学生成绩的表单页面changeMark/asp,该页面接受参数选课记录编号stuCourseID,依据该参数读取数据库信息并显示。首先要判断当前用户是否有权输入对应选课记录的成绩信息。当教师输入指定信息以后,将提交给manageMark/asp处理。manageMark/asp首先读取URL中的参数信息并检查完整性,然后从表单中读取用户输入的值并赋给变量,同时判断输入的信息的完整性。通过这些检查以后,将判断当前用户是否有权限给该学生选修的该课程评分。如果验证通过则执行评分操作。单击“删除“链接,将链接至manageMyCourse/asp来删除课程信息。课程管理的核心是manageMyCourse/asp文件,它负责添加课程,修改课程状态,删除课程等功能。代码的执行逻辑是:首先从URL中取值,判断参数actionType是否完整。如果不完整则提示错误后返回。如果完整则依据actionType的值来调用对应的过程,实现对应的操作。actionType的值可以为add,deleteStuCourse,deleteCourse和changeCourseState,分别表示添加课程,删除学生选课记录,删除课程和改变课程状态。当actiontype的值为add时,调用addCourse模块。首先从表单中读取信息并赋值给变量,然后判断信息是否填充完整。如果完整则检查输入的日期格式是否正确,正确则检查输入的学分是否有效。如果所有检查都通过,则添加课程信息到表course中。当actionType的值为deleteStuCourse时,调用deleteStuCourse模块。该模块首先检查当前用户是否有权限删除对应信息。如果有,则首先删除学生提交的该课程的作业信息,然后才删除该学生选择该课程的记录。这样才能保证数据库中信息的完整性。当actionType的值为deleteCourse时,调用deleteCourse模块,删除课程信息。首先判断课程号参数是否存在,如果不存在则提示错误后返回。删除课程时程序无需删除该课程的作业信息,也无需删除选修该课程的学生选课信息,因为这些都将被数据库自动删除,这就是建立表之间关系的作用。但是请注意为了保证教师不能删除其他教师开设的课程,在构造SQL语句的时候必须添加如下代码sql=sql &“and tID =“ & teacherID 当然,也可以首先判断该课程是否是该教师所开设的,如果是则执行删除操作,如果不是则提示错误。不过这样需要多次读取数据库,效率不高。当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=“& teacherID其含义是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文件来发布新作业,该文件用于显示输入作业信息的表单,文件本身不对输入信息做任何处理。首先要读取数据库,将当前用户所开设的所有课程通过列表框的形式显示出来,便于用户选择发布作业的课程。另外由于用户可能希望在其他页面能通过单击具体的课程来直接发布该课程的作业而不再需要选择该课程。因此,构造列表框的时候必须能够指示合适的对象为选中状态。当用户输入作业信息以后将由manageHomework/asp来处理输入的信息。首先是判断输入信息是否完整,然后判断当前用户是否教授该课程,如果不教授该课程则不能布置作业。通过验证后即可添加作业信息到数据库中。教师还可以通过listHomework/asp来列表显示所有的已发布的作业信息,该文件依据Session中的信息来读取数据库,然后显示当前用户所开设的所有课程的所有作业信息。如图4/5所示图4/5 作业列表该页面同样具备翻页、查询功能、查询时同样采用get方式传递表单中的值。单击“删除”链接,将通过manageHomework/asp来删除该作业信息。单击“查看学生回答情况”链接时将链接至listStudentHomework/asp同时还将传递参数homeworkID。ListStudentHomework/asp默认情况下将显示所有的作业信息的学生回答情况。当用户搜索或者输入参数时,则依据具体参数显示部分课程或者部分作业信息。在读取数据库的时候使用了左外连接查询,而且在读取数据库的时候使用到了2个RecordSet对象,之所以要使用多个RecordSet对象,是因为该页面显示信息时首先必须读取当前用户所教授的所有课程信息,每读取一门课程信息时必须再读取数据库中对应的作业信息和学生回答情况,这样嵌套型的访问数据库使用多个RecordSet对象最为方便。由于数据库资源最为宝贵,因此在访问完数据库后应该立即释放资源。如果单击已作答学生的学号将链接至showStuHomework/asp页面,该页面依据必要参数stuHomeworkID来显示学生作答情况,同时教师也可在该页面中输入对学生作答的评价。首先检查参数是否完整。然后读取数据库。注意数据库的读取涉及到三张表,这是由于必要的信息分散在三张不同的表中。教师可以依据当前学生作答的情况对学生平时成绩进行修改,这是一个很贴心的功能,使教师无需切换到成绩修改页面执行该操作。当教师在该页面中输入了点评信息以后,信息将提交给manageCourse/asp。manageCourse/asp是作业管理系统的核心,负责作业添加,作业删除,点评学生作业等。执行addHomework 操作。首先读取表单中的信息,进行完整性检查,然后对当前用户进行合法性检查,测试指定课程是否由当前用户所教授,通过检查以后就将作业信息添加到数据库。执行deleteHomework操作。删除指定的作业信息。首先判断作业编号是否完整,然后判断该作业对应的课程是否由当前用户所教授,通过验证以后就可以删除数据库中的信息了。执行dealStuHomework操作/对输入信息进行必要检查以后更新教师点评内容。如果要增加平时成绩,还需要进行平时成绩的增加操作。增加平时成绩时必须进行多重嵌套查询。4/4公告管理模块教师可以查看公告、发布公告,还可以修改自己发布的公告内容。公告管理模块主要包括以下一个文件:addNotice/asp。listNotice/asp。showNotice/asp,changeNotice/asp ,manageNotice/asp。教师通过addNotice/asp来发布公告。addNotice/asp显示添加公告信息的表单。仅仅显示一个输入信息的表单当教师输入了公告信息后,信息将被提交给manageNotice/asp来处理。教师还可以通过listNotice/asp来查看已经发布的公告信息。listNotice/asp直接从数据库中读取公告信息然后列表显示。 图4/6 公告列表单击“查看”链接将打开公告详细信息的界面。公告详细信息由文件showNotice/asp来显示,该文件必须接受参数公告编号nID。该文件首先检查参数,然后判断指定编号的公告信息是否存在,如果存在则显示。单击“修改”链接(只有自己发布的公告才会显示“修改”链接),将打开changeNotice/asp页面,该页面显示修改公告信息的表单。执行时首先检查参数,然后读取数据库中的信息并显示在表单中。当用户修改了表单数据后,数据将提交给manageNotice/asp处理。执行效果如图4/7所示。图4/7 修改公告内容ManageNotice/asp是公告管理的核心。他负责添加,删除和修改公告。 4/5系统管理模块教师登录系统以后可以发送邮件和修改自己的密码,修改密码功能由changeOwnPsw/asp和manageOwnPassword实现。其中changOwnPsw/asp文件负责显示修改密码的表单,而manageOwnPassword/asp则负责对用户输入的信息进行处理由于该修改页面既要提供给教师修改密码,同时又要提供给管理员修改密码,而两者修改密码的处理程序并不相同,因此修改密码的表单的action对象应该具备识别当前用户级别的能力。代码通过对actionTo变量的赋值来实现这个功能,而表单的action对象则为actionTo动态产生:form action=method=post当教师输入密码以后,由manageOwnPassword/asp文件来负责密码的修改。该文件首先读取表单中的信息并赋值给变量,然后判断两次输入的密码是否匹配。通过验证后就修改数据库中的密码信息。修改前应该将密码加密处理。用户还可以使用退出系统功能,该功能由logout/asp文件实现,主要功能是清空用户Session信息,然后重定向到登录页面。5/管理员管理子系统系统管理员登录以后,首先看到的是后台管理主页面index/asp。因为该身份是管理员,左边的导航书和教师界面中的导航树是不同的。如图5/1所示。图5/1 系统管理员首页5/1教师管理模块系统管理员能对教师进行管理,包括添加教师、修改教师密码,删除教师密码、删除教师和查看教师教授的课程列表。该模块的主要包括以下几个文件:addTeacher,listTeacher/asp,listCourse/asp,changeTeacherPsw/asp,manageTeacher/asp。系统管理员通过addTeacher/asp来输入要添加的教师信息。addTeacher/asp主要用来显示接受教师信息输入的表单。当管理员输入了要添加的教师信息后,信息将被提交给manageteacher/asp处理。需要注意的是。添加教师时需要选择教师级别,即普通教师和系统管理员。如图5/2所示。图5/2 添加新教师信息管理员还可以查看所有教师的列表信息。列表信息通过listTeacher/asp显示。该页面默认情况下直接读取数据库中的所有教师的信息并显示,同时该页面支持搜索操作。在该页面查询时并没有采用get方式传递表单中的值,而是依然采用post方式。这主要是为了展示如何同时获取Form中的信息和Querystring中的信息。执行效果如图5/3所示。图5/3 列表显示教师信息单击“删除教师”链接时,将通知manageTeacher/asp文件执行删除教师操作,同时将传递给manageTeacher/asp对应教师的标号信息。当单击“修改密码”链接时,将打开changeTeacherPsw/asp页面。该页面接受参数tealID,依据教师编号读取数据库中的信息并显示,同时该页面还将显示修改密码的表单。代码执行时首先判断参数是否完整和有效,然后显示教师信息。当管理员输入了教师的新密码信息以后,将会把信息提交给manageTeacher/asp来处理。managerTeacher/asp是教师管理子系统的核心,负责添加,修改,删除教师等操作。管理员还可以查看所有课程列
温馨提示:
1. WEO啦仅展示《教务管理系统 信息工程系毕业论文 毕业设计》的部分公开内容,版权归原著者或相关公司所有。
2. 文档内容来源于互联网免费公开的渠道,若文档所含内容侵犯了您的版权或隐私,请通知我们立即删除。
3. 当前页面地址:https://www.weo.la/doc/dd8a320de8ed9b78.html 复制内容请保留相关链接。