基于ASP的实验室开放管理系统的设计与实现
2012-09-18蔡苏瑾
蔡苏瑾
基于ASP的实验室开放管理系统的设计与实现
蔡苏瑾
摘 要:基于ASP语言设计的实验室开放管理系统,通过网络实现了教师对实验课程的发布、修改,以及学生对实验的预习、预约。介绍它的基本模块功能和基本模块的实现方案,有助于学校和教师更好地了解和使用这套系统为教学服务。
关键词:ASP;实验室开放管理系统;实验课程
蔡苏瑾/盐城师范学院美术学院助教(江苏盐城224002)。
高校承担着为经济建设和社会发展提供高素质创新型人才的重任。高校实验室已成为推动素质教育,大力培养学生的创新精神、实践能力和科学态度的主阵地[1]。根据高校实验教学改革的需要,结合我院的实际情况,我们基于ASP语言制作了实验室开放管理系统。该系统可以实现教师通过网上操作对实验课程进行发布和修改,学生通过网上报名预约的方式选择自己感兴趣的实验,且不局限于本专业,学校通过对学生预习及选择的情况安排教师辅导,进而将面向全校学生的开放性实验有序地合理地纳入学校的教学计划、学生的学分认定体系和教师的考评奖励体系,以提高实验室在素质教育、创新精神和实践能力培养中的教育质量和管理水平。
1 系统基本模块功能介绍
在借鉴兄弟院校关于实验室开放管理的经验基础上,我校结合本校实际情况,构建了实验室开放管理系统的基本模块。模块具有独立性,能够独立实现各自的功能,同时模块间也具有关联性,从而构成一个运行良好的系统。系统主要包括五个模块。
1.1 系统登陆模块
系统角色有:学生、教师、管理员。不同的角色进入系统,对应不同的信息和权限。
1.2 学生操作模块
学生登陆系统后,可以进行实验预习、预约、操作。在“课程设置”中选择相应感兴趣的实验项目组,进入后即可进行实验预习,预习题测试合格后便可以预约。预约情况上传到数据库,学校根据预约的情况开设实验课程。
1.3 教师操作模块
教师选择相应的实验项目后就可以对实验项目进行设置和管理。教师登陆后会显示其担任的实验课程或项目组的情况,选择相应的课程或项目组就可以对该课程或项目组下的具体实验项目进行添加、修改和删除。在添加实验项目时,教师需给出相应实验项目的预习题。同时教师可以查看预约该项目的学生人数及名单,这样方便教师对学生、课堂更好的管理。
1.4 管理员操作模块
管理员分为不同的等级,不同的管理员有不同的管理权限。系统管理员可以对全校各个院系的开放性实验进行管理,包括对实验项目、教师、学生等进行添加、修改和删除。而各个院系的管理员,只可以对本院系的项目、教师等进行管理。对不符合要求的实验项目,系统管理员有权限强行将实验项目修改或删除。
1.5 意见反馈模块
本模块收集系统的使用意见,以便及时完善更新。通过这个模块的互动,使用者可以发布在使用中的问题,并提出相应的建议,系统开发维护人员可以根据某些建议对系统进行完善,使这个系统更加的人性化。
2 基本模块的实现方案
2.1 会员登录模块的实现方案
会员登录包括三个部分:会员登录、会员注册、资料修改。这里主要介绍一下会员登录。基本认证过程是:从用户界面收集得到两个数据,一个ID和一个Password,通过判断strRadioBt选择的是教师还是学生,打开相应的teachers或students表,运用SQL语句选出于用户输入匹配的ID记录,若没有找到匹配的记录,则登陆失败,保存session(“errormsg”),若找到则进一步匹配Password的正确性,保存跟踪用户用的session,对教师和学生采用不同的session名。登陆成功或不成功均跳转到index.asp。
2.2 学生操作模块的实现方案
本模块主要用于实现学生对实验的预习、预约。学生必须登陆后才能对实验项目进行选择,选择实验项目后需完成预习题,才能预约相应的实验项目。
用计算机实现的步骤如下:检验用户的标志——>检验课程编号——>查找指定的课程是否在表中——>列出表中课程指定编号已有的实验项目——>分列取得每个记录各域的值(同时显示该项目的预约及开设的情况)——>完成实验项目的预习题(判断是否设置预习题,如果没有设置则直接进入预约状态,如果设置则必须完成预习题)——>判断完成结果是否全部正确(如果全部正确则预约成功,否则重新预习)。
从selecours.asp中获取表单变量courseno,从seleitem.asp中获得表单_VIEWSTATE,并检验变量的正确性。根据课程编号变量是否为空确定是否需要从session获取课程编号,如已登录并选择了课程,则从数据查询实验项目标,检查课程编号,并刷新课程编号。如从表单_VIEWSTATE请求而来,则根据表单传来的数据对数据库进行了更新,主要是确定用户是否预约了或取消预约了实验项目,即对表elective的state列进行改写。所选择的预约时间由seleexptime.asp请求完成。如已选择课程,则列出该课程实验项目情况及预习、预约情况,在列出项目状态时,对用户对项目的选择状态进行统计,并在表格后列出。
如无预习问题,则设置session(“itemnoquestion”)为1,进入prepgrade.asp直接设置为可预约。将预习问题列表,创建表单提交给prepgrade.asp。表单变量有TX,其中X为题号,用于检查回答是否正确。
检验用户,获取项目编号session,如果不是由于未设置答案而直接转来,则获取表单变量T1~T4,并作检验。如果是直接转来,则将项目号、学号、状态插入数据表。设置session(“rightanswer”)后跳转到seleitem.asp。如果有答案,则判断答案正确性,如果全部正确,则插入数据表,session(“rightanswer”)后跳转至seleitem.asp;否则设置session(“erranswer”),跳转回seleitem.asp。[2]
2.3 教师操作模块的实现方案
教师可以通过这个模块对实验项目进行添加、修改和删除,下面简要的介绍一下这个模块功能的实现:
添加项目需添加项目名称、课时数、预约截止、开设次数、每次人数、开设时间、开设地点这几个项。在这几个项中,计算机必须判断在各项内容中是否有半角单引号,开设时间、次数、人数是否为数字,是否两个实验项目设置了相同的开设时间,项目名是否为空、课时数是否在1~12学时内、开课地点是否为空、日期是否正确、设置的项目名称在本课程中是否已存在等。只有各项的填写都符合设置的要求,才能添加成功。所以看似很简单的向数据库中添加记录,也需要有严密的设置,才能保证系统的稳定。如图1所示:
图1 添加实验项目
这两个操作的原理和添加比较相似,一个是修改原数据库中的记录,一个是删除原数据库中的记录。但在这两个项目中都对“项目状态”进行了设置,如果实验项目已预约结束准备开设,这时是不可以修改和删除实验项目的。
对于修改项目,首先检验课程编号和项目编号的session是否存在,获取表单变量,并对变量取值进行检验。这里的检验下idditem中几乎相同,差别在于,因为是修改,因此项目是否重名的查询条件不同;要获取原有的开设次数,如为多次,则要将原来的时间删除再根据修改后的开设次数决定是否要添加。且项目信息是在原编号下更新而不是生成编号再插入。
根据教师的要求,系统又新添加了检查实验项目的预约情况,教师在进入自己开设的项目时,可以查看预约这个项目的学生的姓名、学号、班级等信息,方便教师掌握及控制课堂情况。在计算机编码中,先以session变量texploginnum作为检验用户的标志,然后检验项目编号,最后用SQL语言在数据库中查找选择实验项目的学生[3]。查询结果如图2所示:
图2 实验项目基本情况
2.4 管理员操作模块的实现方案
管理员信息模块,主要是对管理权限分配的问题,而这个系统用的方法就相对简单一些。事先在数据库里设置好管理员的ID和密码,小于10的为总管理员,其它的为各个院系的管理员。管理员拥有的权限为课程管理、院系管理、教师管理、学生管理、学期设置、对校外开放管理、公告管理等。各个院系的管理员只能对本院系的各项内容进行管理。而总管理员则可以管理所有院系的各项内容。从代码上来解释,就是以session变量mexploginnum作为检验管理员用户的标志,用它来控制对数据库的操作。
2.5 意见反馈模块的实现方案
对于意见反馈模块,并没有做复杂的BBS,因为该系统主要还是用于教学,所以只需将意见提交,然后显示在网页上就可以了。通过对文本框内格式的限定(即不可以有非法字符),控制文本内容,按“提交”键,获取表单留言变量strmsg和当前日期,检验留言内容,判断留言者身份,如已经登陆则将留言存入数据库。依照时间顺序,通过strmsg=request.form(“msg”)这个语句,将数据库里的留言读出,并显示在网页上。
:
[1]张固,汪晓平等.ASP网络应用系统典型模块开发实例解析[M].北京,人民邮电出版社,2004
[2]孙素华.Dreamweaver8&ASP动态网页设计从入门到精通[M].北京,中国青年出版社,2007
[3]曾宏.高校教学仪器设备共享管理模式研究[J].上海,实验室研究与探索,2007,(7):1-4
中图分类号:TP393
B
1671-6531(2012)11-0107-02
:郭一鹤