




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浅析实现导师分配及结果提交的方法 以论文答辩管理系统为学生分配导师模 块为例 姓 名:董琦琦 班 级:2012 级网络与新媒体本科四班 学 号:2012108211629 项目类型:“新媒体类”管理系统 I 摘 要 为学生分配导师模块主要负责为已经形成组别的学生组分配论文指 导老师,主要包含“类型及导师选择” 、 “jQ to VBS session 转换” 、 “组员列表” 、 “选择组员” 、 “提交数据库”这几个单元。 以论文答辩管理系统为学生分配导师模块为例,浅析在系统 之中是如何实现导师的分配与结果的提交。运用程序语言中的 session 对象、函数、循环结构和判断结构等语法,巧妙的将程序简化,共同构 建本模块的构架和实现各个单元的需求功能。 本文将主要根据论文答辩管理系统为学生分配导师模块来分 析如何巧妙使用程序语言,实现论文答辩管理系统的基本功能。 关键词: session 对象 表单按钮 split()函数 while 循环结 构 Abstract Allocation for student module is mainly responsible for group assigned papers for had formed groups of students guidance teacher,mainly include “type and mentor selection“ and “jQ to VBS session transformation“, “member list“, “select group“, “submission database“ unit. In the dissertation management system - allocation for student module as an example, analyses in the system is how to realize the distribution of the tutor and submit results. Using the session object, function, circulation in the programming language syntax structure and determine structure etc, clever of simplifying the program, together to build this module architecture and implementation of the demand function of each unit. This article will mainly according to the thesis - allocation for the student management system module, to analyze how ingenious use of programming languages, realize the basic function of thesis management system. 【Key words】 The session object A form button The split () function The while loop structure III 目 录 前 言 1 一、 项目开发的意义 .2 二、 “为学生分配导师”模块功能简介 .3 三、实现导师分配的方法 5 (一)使用 session 对象储存变量 5 (二)添加查询条件选择或删除同组学生 7 (三)满足条件失效的按钮 8 (四)禁止 F5 刷新功能 12 四、 实现分配结果提交的方法 13 (一)使用 split()函数进行数据分割 13 (二)使用 while 循环结构多次查询 .14 结 论 .16 致 谢 .17 参考文献 .18 附 录论文答辩管理系统为学生分配导师模块毕业设计拟定方案 论文答辩管理系统为学生分配导师模块毕业设计具体方案 论文答辩管理系统为学生分配导师模块毕业设计修改方案 前 言 本文着重从“组员列表”和“提交数据库”两个单元分析为学生分 配导师模块是如何实现分配导师与提交数据库两大功能的。 本文主要由四部分组成。 第一部分:项目开发的意义。这一部分主要介绍了本项目的现状和 项目开发后可以为学校带来的改变与影响。 第二部分:“为学生分配导师”模块功能简介。该部分介绍了本小 组负责开发的“为学生分配导师”模块的操作流程及主要功能。 第三部分:实现导师分配的方法。本部分主要介绍了组员列表单元 中为实现导师分配而采用的程序语言。 第四部分:实现分配结果提交的方法。这部分主要介绍了提交数据 库单元中为实现将分配结果成功提交数据库而采用的程序语言。 本文秉着实践与理论相结合的原则,在文中融合了 ASP 开发应用程 序的理论与实践,简要介绍了本模块中为实现导师分配与将结果提交数 据库两大功能所采用的程序语言。 1 一、 项目开发的意义 随着现在网络时代的来临和各高校校园网的建设,基于互联网的管 理系统在日常的生活与工作中发挥着重要的作用。例如,我校已经完成 开发并投入使用的控电查询系统、校园一卡通查询和充值系统等等,这 些系统都方便了我们的生活,使我校学生实现了足不出户办理校园业务 的可能。 据了解所知,我校仍采用人工手动分配的方式将学生组分配给论文 指导老师并制成表格进行结果输出,这样无疑对于相关负责老师而言是 一项巨大的工作。在这种大批量人工输入的结果中,无论是输入结果的 错误率还是制表的效率都是不尽如人意的。作为手握大学生“命门”的 论文答辩,更应该方便老师和学生,达到无论距离的远近均可以进行远 程电脑端操作的目的。 若开发并使用毕业生论文答辩管理系统,可以省去大量的手工操作, 这样不仅可以减少老师的任务工作量,而且更重要的是可以有效降低输 入结果的错误率,同时还可以大大提升工作的效率,使教务工作迈上一 个新台阶。 二、 “为学生分配导师”模块功能简介 因为毕业生论文答辩管理系统是校内的教务工作管理系统,所以要 确保该系统的安全性。本模块需要在主页登录进入,若数据库中没有登 录身份信息或登录时身份信息验证不成功(即用户名或密码错误)则无 法进入本模块。 本模块是毕业生论文答辩管理系统的第二个模块,要将在组队模块 中已经形成组别的学生组分配给相应论文指导老师的模块。本模块拟定 由三个单元组成,第一单元是“选择论文指导老师”单元,本单元可以 限定之后选择的学生组属性;第二单元是“选择学生组”单元,本单元 中可以随机选择该论文指导老师可允许带的学生组;第三单元是将结果 记录在数据库中,免去人工地输入,方便快捷地将分配结果以表格的形 式呈现出来。 本文着重介绍第二单元和第三单元,即主要介绍程序中导师的分配 与数据的提交两部分代码撰写的过程。 本模块页面的主要操作流程如下图所示: 3 三、实现导师分配的方法 实现导师分配单元主要由选择学生组页面和已选择的学生组列表页 面两个页面组成。按系统页面操作流程,从本模块的主页先跳转至已选 择学生组的页面,之后通过点击“选择学生”按钮进入选择学生组页面。 (一)使用 session 对象储存变量 “Session 对象用来保存与 Web 应用程序会话的各个用户的信息, 从而实现同一用户在整个会话中的不同页面之间进行变量值共享1。 ” session 对象是最常见的用于存储用户的对象。session 对象存储特定用 户在整个系统操作中所需的数据信息。当用户在整个系统程序的各 Web 页之间跳转时,存储在 session 对象中的数据信息不会丢失,而是在整 个操作浏览过程中一直存在,并可以重新赋值使 session 对象更新。 在本模块代码设计上大量使用了 session 对象储存开发过程中需要 的数据讯息。在组员列表单元中,通过给 session 赋值的方式实现本人 及小组成员对学生组的删除功能。具体来说,选择的学生组的学生 id 都 叠加形成一个长字符串并赋值在 session 对象中。在删除程序中,先使 用 instr()函数定位出要删除学生在字符串中的位置,再将空值使用 replace()函数替换要删除学生处的 id 值,形成一个新的字符串,最后 将新的字符串重新赋值给 session 对象,从而实现删除功能。其中,因 为学生 id 之间需要使用分隔符相离,否则是一串没有意义的字符串。本 模块中使用了“,”作为分隔符,即选择学生组之后,session 对象中的 5 值为“X1,X2,X3,X4,X5,Xn” 。多次测试可得,若想最后的结果准确无 误,需要考虑以下两种情况,即要删除的人的 id 值是否处于第一个的位 置。若处于第一个的位置,开发过程中需要将“X1,”的部分删除,否则 会出现“,X2,X3,X4,X5,Xn”的错误情况;若不处于第一个位置,开 发过程中需要将“,X2,X3”的部分删去,否则会出现 “X1,X4,X5,Xn”的错误情况。具体的代码撰写如下所示: dbpath=server.mappath(dbpath) set conn=server.createobject(“adodb.connection“) conn.open “provider=microsoft.jet.oledb.4.0;data source=“ (2) “选择学生”按钮是跳转至选择学生页面,在操作人为导师分 配学生组时点击该按钮,页面跳转至选择页面,操作人在选择学生页面 选择要分配给该导师的学生。但因为每个导师可带学生数量有限,不可 9 无限制选择学生,所以需要为该按钮设置失效的条件。 中代码书写: value=“选 择学生“ jQuery 程序中代码书写,负责完成页面的跳转: $(“.zuyuan“).click(function(e) window.location=“xuanze.asp“ ); Asp 程序中代码书写,使用判断语句,将 shixiao1 输出至代 码中位置即可在符合条件的情况下将按钮失效。如下所示代码可翻译为 “当选择列表中学生总数量已达到选定导师可带的最多学生数时,选择 学生按钮变为无法点击状态” 。其中 session(“count“)为选定导师可带 的最多学生数,(ubound(qiege)+1)表示选择列表学生总数量。具体代码 如下: if session(“count“)-(ubound(qiege)+1)中代码书写: jQuery 程序中代码书写,负责完成页面的跳转,confirm()为弹出 确定窗口,两个按键:确定和取消。确定键返回 true 值完成页面跳转, 取消键返回 false 值不执行动作。 $(“.wancheng“).click(function(e) if(confirm(“你确认导师分配完成了么?“) return true else return false ); Asp 程序中代码书写,shixiao2 输出至 div 代码中所示位置即可在 满足条件是将选择完成按钮失效无法点击。如下所示代码可翻译为“当 未选择组员时,页面显示 组内没有成员!的文本信息,并将选择完 成按钮设置为不可点击状态。 ”。 11 if session(“zuyuan“)=“ then list=“组内没有成员!“ shixiao2=“disabled“ else shixiao2=“ end if (四)禁止 F5 刷新功能 在程序开发过程中发现每按一次 F5 刷新浏览器页面时,组员列表中 已选择的最后一组便会自动添加一组本身的记录。因为每一组都是唯一 不重复的,所以开发过程中需要避免这种错误现象的产生。具体的操作 是在 jQuery 程序中添加如下代码,便可禁止本页的 F5 刷新功能: $(document).bind(“keydown“, function(e) e = window.event | e; if (e.keyCode = 116) e.keyCode = 0; return false; ); 4、实现分配结果提交的方法 (一)使用 split()函数进行数据分割 “split()函数返回一个以零为基数的一维数组,这个数组会包含特 定个数的子字符串,语法: Split(expression,delimiter,count,compare)5。 ” 其中, expression 为必需项,由子字符串及分隔符构成的字符串;delimiter 为子字符串之间的分隔符,若省略,则将指定空白字符(“)为分隔符; count 表示要被返回的子字符串的个数;compare 指定字符串比较的种类。 常用语法格式为:Split(expression,delimiter)。 在本模块中,使用 session(“zuyuan“)储存已选择学生的 id 和分隔 符“,”所组成的字符串。提交数据库的时候需要在每个人的数据信息中 都添加指导老师的信息,也就是说提交数据库单元的对象从学生组变成 了学生个人。此时,就需要将长字符串用分隔符“,”分隔成组合前的一 个个单独的学生 id 值,才可以向每个学生的数据库信息中提交导师字段 的修改信息。具体的代码书写:qiege=split(session(“zuyuan“),“,“)。 其实在模块中多处都使用了 qiege=split(session(“zuyuan“),“,“) 13 这条语句。例如,在组员列表单元中,选择组员的判断条件中出现了 ubound(qiege),它的意思是指 qiege 可用的最大下标,即 qiege 中所含 数组的数量。所以在这段程序之前肯定出现了 qiege=split(session(“zuyuan“),“,“)语句,将 session(“zuyuan“)分 隔成了一个个独立的学生 id 值后再加以计数。 (二)使用 while 循环结构多次查询 “while 循环的作用是当满足循环条件时就执行语句6。 ”while 循 环结构适用于需要进行多次同一程序块操作时使用,有效避免了程序的 繁琐冗杂,使得代码简洁明了,操作简便可行性强。语法如下: while 条件式 程序代码块 wend 在本模块中,因为每一个学生组内成员的数量不定,且大部分均不 为一人,若分别针对组内每个成员写修改数据库的程序过于繁琐,所以 决定使用 while 循环结构进行多次查询,并依次修改数据信息。循环变 量初值为 i=0,循环变量的增量 i=i+1,循环条件为当循环变量 i 增长至 qiege 的最大下标,当循环变量大于 ubound(qiege)时,结束循环结构。 当程序为改变数据库中数据表时,原有结构 rs.Open querySQL,conn,1,1 中最后的 1 要更改为 3,即 rs.Open querySQL,conn,1,3。将从首页选择导师时获取的 session(“daoshi“)赋 值给 rs 表中的导师字段,使用 rs.update 语句对原有表进行修改。选择 对原有表进行修改而不是新建表,是因为新表的文件大小远超对原有表 进行修改的文件大小。这样的操作不仅节省了更多的存储空间,同时相 关的操作也变得简便直接。 i=0 while i=ubound(qiege) querySQL=“SELECT * FROM 学生 WHERE id=“ & qiege(i) Set rs=Server.CreateObject(“ADODB.RecordSet“) rs.Open querySQL,conn,1,3 rs(“导师“)=session(“daoshi“) rs.update rs.close set rs=nothing i=i+1 wend 15 结 论 一个完善成功的系统的诞生,必将经历一段很长的开发测试时间, 同时会对传统的人工运作模式产生影响,甚至取而代之。这就要求开发 者具有很好的逻辑思维和扎实的程序语法功底。 在确定开发任务之后,本人及小组成员首先根据日常生活中实际操 作的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 业务审计常见考点试题及答案
- 二级消防排查策略试题及答案
- 护理培训的有效策略初级护师考试试题及答案
- 护理岗位考核试题及答案
- 2025年物业管理师职业能力测试卷:物业管理企业合同管理与纠纷解决
- 高级会计2024年各类试题及答案的研究分析
- 2025年韩语TOPIK中级考试真题卷阅读理解技巧解析试卷
- 2025年医保知识考试题库及答案(医保谈判药品政策效果)试卷
- 医疗纠纷中的伦理与法律边界解析
- 区块链技术推动商业供应链透明化
- 《取水许可核验报告编制导则(试行)(征求意见稿)》
- 2024年重庆八中中考数学一模试卷
- MOOC 中国特色文化英语教学-苏州大学 中国大学慕课答案
- 职业道德与法律说课稿市公开课一等奖省赛课微课金奖课件
- 职业教育教学成果奖申报与实施路径
- 广东省广州市天河区2024年八年级下册数学期末考试试题含解析
- RoHS2.0 HF与REACH法规培训教材
- 【大数据“杀熟”的法律规制探究17000字(论文)】
- 股权转让协议(工商局版本)
- 铁道概论(第八版)佟立本主编
- 全国各省市名称大全
评论
0/150
提交评论