3.3程序设计 3.3.1模块化设计 本系统按功能分为六大模块 3.3.1.1模块流程图 用户界面 个人信息进入学校成绩查询修改个人修改密码 注册←选课系统 信息 课程信 选课范围查询 息查询 选课建议 3.3.1.2模块功能说明 (1)成绩查询模块 根据用户输入的学号信息、从学生成绩数据库中搜索出已经选修的课程的成绩,找类别,显 示给用户,并注明是否为培养计划内选修课程。同时列出各类选修课共需修的学分、已经修 的学分和还需修的学分; (2)选课范围査询模块 根据用户的已经选修课程的成绩和其专业培养计划,确定出用户每类选修课、下学期可选修 的范围; (3)选课建议模块 根据用户成绩、专业培养计划、兴趣爱好,提供多种可供选择的选课方案供用户参考; (4)课程信息模块 提供信息简介,如学分、学时、教师、课程内容、先修课程等; (5)其他功能模块
3.3 程序设计 3.3.1 模块化设计 本系统按功能分为六大模块: 3.3.1.1 模块流程图 3.3.1.2 模块功能说明 ⑴成绩查询模块 根据用户输入的学号信息、从学生成绩数据库中搜索出已经选修的课程的成绩,找类别,显 示给用户,并注明是否为培养计划内选修课程。同时列出各类选修课共需修的学分、已经修 的学分和还需修的学分; ⑵选课范围查询模块 根据用户的已经选修课程的成绩和其专业培养计划,确定出用户每类选修课、下学期可选修 的范围; ⑶选课建议模块 根据用户成绩、专业培养计划、兴趣爱好,提供多种可供选择的选课方案供用户参考; ⑷课程信息模块 提供信息简介,如学分、学时、教师、课程内容、先修课程等; ⑸其他功能模块
包括修改密码,査看专业培养计划,进入选课系统等。 3.4输入输出设计 3.4.1输入 输入信息应该以简单为准则。本系统一般仅需用户输入学号与密码,第一次登录时,应输入 个人兴趣爱好等 3.4.2输出 1.输出的基本要求是直观、表达清楚。本系统采用了表格输出的方式。并加了一些跳转 的功能,帮助用户准确获取信息 2.输出应该考虑用户需要。本系统加入了许多快捷链接,是用户根据自己的需要跳过某 些步骤。 3.5用户界面设计 本着界面友好、醒目、简洁、大方的原则,本系统作到了以下几点: 1.无背景图案:可提高速度,使界面简洁 2.输出信息采用有边表格形式 3.输入信息采用间隔底色的无边表格形式 4.文字输出信息:采用3号字,其他采用2号字 4.系统使用说明 (1)进入系统以后,看到主界面,在“输入学号”“和输入密码”输入框中输入你的 学号和密码,默认密码为“666°”,建议在登录前通过左边“修改密码”项修改你的密码, 以便对你的个人信息进行保密; (2)点击“登录”按钮,系统将分类显示你的以往选修课的成绩和已经修的学分和还 应该修的学分; ()点击下方的“下一步》>查看选课范围”,系统将分类显示你以后可以选修的课程 的范围以及课程的部分信息 (4)点击每门课程后面的“详细信息”,你可以浏览到课程的详细信息,为你选课提 供参考依据 (5)点击界面左边的“重新登录”可以重新登录该系统 (6)点击“我要选课”可以连接到学校的“学生选课系统
包括修改密码,查看专业培养计划,进入选课系统等。 3.4 输入输出设计 3.4.1 输入 输入信息应该以简单为准则。本系统一般仅需用户输入学号与密码,第一次登录时,应输入 个人兴趣爱好等。 3.4.2 输出 1. 输出的基本要求是直观、表达清楚。本系统采用了表格输出的方式。并加了一些跳转 的功能,帮助用户准确获取信息。 2. 输出应该考虑用户需要。本系统加入了许多快捷链接,是用户根据自己的需要跳过某 些步骤。 3.5 用户界面设计 本着界面友好、醒目、简洁、大方的原则,本系统作到了以下几点: 1. 无背景图案:可提高速度,使界面简洁; 2. 输出信息采用有边表格形式; 3. 输入信息采用间隔底色的无边表格形式; 4. 文字输出信息:采用 3 号字,其他采用 2 号字。 4.系统使用说明 ⑴进入系统以后,看到主界面,在“输入学号”“和输入密码”输入框中输入你的 学号和密码,默认密码为“6666”,建议在登录前通过左边“修改密码”项修改你的密码, 以便对你的个人信息进行保密; ⑵点击“登录”按钮,系统将分类显示你的以往选修课的成绩和已经修的学分和还 应该修的学分; ⑶点击下方的“下一步>>查看选课范围”,系统将分类显示你以后可以选修的课程 的范围以及课程的部分信息; ⑷点击每门课程后面的“详细信息”,你可以浏览到课程的详细信息,为你选课提 供参考依据; ⑸点击界面左边的“重新登录”可以重新登录该系统; ⑹点击“我要选课”可以连接到学校的“学生选课系统”;
(7)点击“培养计划”可以查看你所在专业的培养计划 (8)点击“我要留言”可以写下你对该系统的意见和建议,以及你对的选课的体会 5.总结 本系统用ASP开发,数据库系统是 Microsoft office97的 Access到目前为止, 系统的主要功能如成绩分类査询、选课范围査询、课程信息査询等已经基本实现。而对于建 议功能由于算法复杂以及缺少依据还待于进一步完善 总之,用ASP开发这样一种辅助决策系统是完全可行的,实际运用证明本系统能够 为用户选课带来方便,做到有的放矢,从而避免了盲目性 附录 6.1参考文献 ①《用ASP轻松开发Web网站》刘杰等北京希望电子出版社2000.9 ②《ASP网页制作教程》王国荣人民邮电出版社2000.6 ③《北方交通大学教学一览》(内部专用)教务处1998.10 ④《全校性选修课指导手册》(内部专用)教务处2001.6 6.2源码 文件名称 index. asp文件大小10KB 文件说明首页 <html> <head> <ttfe辅助决策</ title <metahttp-equiv="content-type"content=tExt/html;charset=gb2312> <script language="JavaScript"> function check( thisform) if(thisform. id. value==") alert("请输入你的学号!"), thisform. id focus eturn(false)
⑺点击“培养计划”可以查看你所在专业的培养计划; ⑻点击“我要留言”可以写下你对该系统的意见和建议,以及你对的选课的体会; 5.总结 本系统用 ASP 开发,数据库系统是 Microsoft office97 的 Access。到目前为止, 系统的主要功能如成绩分类查询、选课范围查询、课程信息查询等已经基本实现。而对于建 议功能由于算法复杂以及缺少依据还待于进一步完善。 总之,用 ASP 开发这样一种辅助决策系统是完全可行的,实际运用证明本系统能够 为用户选课带来方便,做到有的放矢,从而避免了盲目性。 附录 6.1 参考文献 ①《用 ASP 轻松开发 Web 网站》刘 杰等 北京希望电子出版社 2000.9 ②《ASP 网页制作教程》王国荣 人民邮电出版社 2000.6 ③《北方交通大学教学一览》(内部专用)教务处 1998.10 ④《全校性选修课指导手册》(内部专用)教务处 2001.6 6.2 源码 文件名称 index.asp 文件大小 10KB 文件说明 首页 <html> <head> <title>辅助决策</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <script language="JavaScript"> <!-- function check(thisform) { if(thisform.id.value=="") { alert("请输入你的学号!"); thisform.id.focus(); return(false); }
if( thisf alert("请输入密码!") hisform. password. focus if(thisform. id. value lengthl=8) alert("学号位数不对,请重新输入") thisform. id focus eturn(false) alert("密码位数太长!"), thisform. password. focus(): function MM swaplmg Restore((//v3.0 var i, x, a=document. MM Sr; for(i=0; a&&i<a length&&(x=ai)&x oSrc; 1++)xsrc=xoSrc function MM preloadlmages((//v3.0 var d=document; if(d images)( if(Id MM p)d MM p=new Array var i,j=d MM p length, a=MM preloadlmages arguments; for(i=0; i<a length; 1++) f(ali indexof("#")=o)i d MM pl=new Image; d MM P[+]. src=a[1: 1 function MM findobj(n, d)i//v3.0 var p, i, x; if(Id)d=document; if(p=n indexof("?"))>0&&parent frames. length)i d=parent frames(n substring(p+ 1)). document; n=n substring(O, p); 3 if(!(xd[n])&&d all)xd alln; for(i0; x&&i<d forms. length, i++)x=d forms[n]: for(i=0; x&&d layers&&i<d layers. length, i++)x=MM findObj(n, d layers[i]document); return x function MM swaplmage((//v3.0 var i,j=0, x, a=MM swaplmage arguments; document. MM sr=new Array, for(i=0; i<(a length-2): 1+=3 if(xMM findObj(a]))l=null)document. MM sr[j++]=x; if(lx oSrc)xoSrc=xsrc; xsrc=a[i+2]; 1->
if(thisform.password.value=="") { alert("请输入密码!"); thisform.password.focus(); return(false); } if(thisform.id.value.length!=8) { alert("学号位数不对,请重新输入"); thisform.id.focus(); return(false); } if(thisform.password.value.length>10) { alert("密码位数太长!"); thisform.password.focus(); return(false); } } function MM_swapImgRestore() { //v3.0 var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc; } function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} } function MM_findObj(n, d) { //v3.0 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x; } function MM_swapImage() { //v3.0 var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3) if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} } //--> </script> <style>
input i BACKGROUND-COLOR: white; BORDER-BOTTOM: #000000 Ipx solid; BORDER-LEFT: #000000 lp lid; BORDER-RIGHT: #000000 Ipx solid; BORDER-TOP: #000000 lpx solid; FONT-SIZE: 9pt <body bgcolor#FFFFFF onLoad="MM preloadlmages(pic/rig2. png, pic/sel2. png, pic/word. png, pic/modi2 gif, pic/myplan2 gif, pic/dm 2. gif,pic/doc2. gif, pic/blank. gif, ' pic/word2 gif, , pic/exit2 gif, pic/sel2. gif) <table width="90%"border=0"cellspacing="0"cellpadding="0"align=center"> <td height=67"width=27% valign"bottom"> div align="center"><img src="pic/Book. gif"width="119 "height=81"><div> <td height="67"width="73%"valign="bottom"><img src=pic/top. gif" width=580"height="68"></td> div align="center"> <table width="700"border=0"cellspacing="l"cellpadding="1"height=314"> <table width="100% border="0" cellspacing="1"cellpadding="l"background="pic/3800. bmp height=315 <tr bgcolor=#FFFFFF"> <td height=31"> <div align="center"><font color=#000000" size="2"> <a href="index. asp on Mouse Out=MM swaplmgRestore(" on Over="MM swaplmage('lmage3', "pic/rig2gif, 1)"><img name="lmage"border="0"src="pic/rig. gifwidth="114 height=30"><a></font></div> <tr bgcolor="#FFFFff"> <td height="32"> align="center"><a style=cursor: hand on Click=window open('modifykey/modifykey asp, ' basket, ' menubar=no, toolbar=no, location=no, directories=no, st atus=no,scrollbars=l, resizable=0, width=365, top=180,left=220, height=235") on Mouse Out=MM swaplmg Restore(" onMouseOver="MM swaplmage('lmage8', "pic/modi2 gif, 1)"><img name="lmage" border="0"src="pic/modi. gif"width="114"height=30"></a></div> </td> <tr bgcolor=#FFFFFF"> <td height="30"> align=center"><a style=cursor: hand on Click-window open(plan. asp, basket ', ' menubar=no, toolbar=no, location=no, directories=no, status=no, scrollbars 1, resizable=0, width=700, top=60, left=50, height=450) onMouseOut="MM swaplmgRestoreo on MouseOver="MM swaplmage( ' 9, "pic/myplan2gif, 1)"><img name="Image9 border"O
.input { BACKGROUND-COLOR: white; BORDER-BOTTOM: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; FONT-SIZE: 9pt } </style> </head> <body bgcolor="#FFFFFF" onLoad="MM_preloadImages('pic/rig2.png','pic/sel2.png','pic/word2.png','pic/modi2.gif','pic/myplan2.gif','pic/dm 2.gif','pic/doc2.gif','pic/blank.gif','pic/word2.gif','pic/exit2.gif','pic/sel2.gif')"> <table width="90%" border="0" cellspacing="0" cellpadding="0" align="center"> <tr> <td height="67" width="27%" valign="bottom"> <div align="center"><img src="pic/Book.gif" width="119" height="81"></div> </td> <td height="67" width="73%" valign="bottom"><img src="pic/top.gif" width="580" height="68"></td> </tr> </table> <div align="center"> <table width="700" border="0" cellspacing="1" cellpadding="1" height="314"> <tr> <td width="114" bgcolor="#FF9900" valign="top" height="315"> <table width="100%" border="0" cellspacing="1" cellpadding="1" background="pic/3800.bmp" height="315"> <tr bgcolor="#FFFFFF"> <td height="31"> <div align="center"><font color="#000000" size="2"> <a href="index.asp" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image3','','pic/rig2.gif',1)"><img name="Image3" border="0" src="pic/rig.gif" width="114" height="30"></a></font></div> </td> </tr> <tr bgcolor="#FFFFFF"> <td height="32"> <div align="center"><a style='cursor:hand' onClick=window.open('modifykey/modifykey.asp','basket','menubar=no,toolbar=no,location=no,directories=no,st atus=no,scrollbars=1,resizable=0,width=365,top=180,left=220,height=235') onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image8','','pic/modi2.gif',1)"><img name="Image8" border="0" src="pic/modi.gif" width="114" height="30" ></a></div> </td> </tr> <tr bgcolor="#FFFFFF"> <td height="30"> <div align="center"><a style='cursor:hand' onClick=window.open('plan.asp','basket','menubar=no,toolbar=no,location=no,directories=no,status=no,scrollbars =1,resizable=0,width=700,top=60,left=50,height=450') onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image9','','pic/myplan2.gif',1)"><img name="Image9" border="0