|
||
![]() |
![]() |
辅导计算机软件程序 毕业设计 程序代码 代写做软件程序毕设 免费开发资料 -> 毕业设计 -> ASP排课系统(学校排课,课程表生成,自动排课)-259-(代码+论文) | ![]() ![]() |
|
本站开发, 有详细的代码注释,和文献资料, 涉及的算法使用了递归算法, 可以 手动 配置排课,自动排课, 根据需求设置排课类型, 手动修改已经排好的课程
请自己下载最下面的演示 查看功能效果
排课选课 退选 补选 查看未选中课程-功能过于繁琐
http://www.3q2008.com/soft/1/2010/7574632375.html
asp学院智能排课(比较完善可下载查看)-全面
http://www.3q2008.com/soft/1/2010/0244236372.html
ASP排课系统(学校排课,课程表生成,自动排课)-普通
http://www.3q2008.com/soft/1/2007/5322829087.html
、需求:
排课管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以排课管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件排课,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对排课信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高排课管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情,在下面的各章中我们将以开发一套排课管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法
计算机已经成为我们学习和工作的得力助手:今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面:首先,计算机可以代替人工进行许多繁杂的劳动;其次,计算机可以节省许多资源;第三,计算机可以大大的提高人们的工作效率;第四,计算机可以使敏感文档更加安全,等等。 在中小学中用计算机管理排课的意义现在我国的中小学校中排课的管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。我作为一个计算机应用的大专生,希望可以在这方面有所贡献。改革的总设计师说过"科学技术是第一生产力",我希望能用我四年的所学编制出一个实用的程序来帮助中小学进行更有效的课程管理。
归纳起来,好处大约有以下几点:
1. 可以存储历届的排课,安全、高效;
2. 只需一到二名排课录入员即可操作系统,节省大量人力;
3. 可以按照录入人员的输入来自动生成课程表,并尽量减少冲突等情况发生。 排课的设计分析根据实际情况,我们使用原型法(Rapid Prototyping)即以少量代价快速地构造一个可执行的软件系统模型。使用户和开发人员可以较快地确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐增加上去,直到所有的性质全部满足。此时模块也发展成为最终产品了。
器端要求
2.4.2 ASP简介
2.4.3 ASP的优点
课程周1到周5
一天有10 节课,早上4节,下午4节,晚上2节.同一门课 不能连续两天上,至少要隔开一天 2.老师方面最好连续上课,就是比如一个老师一天要上4节课,最好要早上连续4节,不要早上来2节,晚上来2节。
三、方案论证
1. 实现功能
掌握学校所有的课程和教师的信息。包括每门课程、班级以及任课老师的姓名等信息。
首页可以查询某个班级所生成课程的信息。
可以对一个或多个班级进入配置课表信息,系统根据配置信息直动生成课表。
可以对课程进行变动管理。既可以手工排课,又可以实现自动排序功能。
院系,专业,班级,课程,教师等附属信息为排课进行服务。
里面涉及到一个非常经典的排课算法 使用递归实现 如下的要求
课程周1到周5
一天有10 节课,早上4节,下午4节,晚上2节.同一门课 不能连续两天上,至少要隔开一天 2.老师方面最好连续上课,就是比如一个老师一天要上4节课,最好要早上连续4节,不要早上来2节,晚上来2节。
设置对应的课程科目信息, 当然每个老师可能会上多节,每个老师可能不是对应班级系部的老师,这点都已经考虑到。
点击对应的生成课表,完成课表的排课,
由于数据库会相对比较大,排课时候使用的是JS加载ASP的方法,减少由于服务器超时而带来的不必要的损失。
<!--#include file="conn.asp"-->
<%
Dim currentClassNo
'生成课表
sql="SELECT Config.ClassNo FROM Config GROUP BY Config.ClassNo;"
'查询配置的信息
set rs=server.createobject("ADODB.Recordset")
rs.open sql,conn,1,1
while not rs.eof
Syllabus rs(0)
'调用函数,生成对应的排课脚本加载语句
rs.movenext
wend
rs.Close()
'----------------------- 以上查询出排课计划里的所有班级传入Syllabus函数进行处理
'传入班级号,生成对应的排课数据
Sub Syllabus(ByVal classNo)
If classno = "" Then Exit Sub
Response.Write("<script language=""javascript"" type=""text/javascript"" src='jsMakeSyllabus.asp?id="&classNo&"'></script>") & vbCrLf
End Sub
messagebox "生成完毕"
gotourl"viewpk.asp"
%>
以下是排课算法页面,代码分析,算法采用递归方式来满足对应的要求,请查考以下代码的红字标注
<!--#include file="noconn.asp"-->
<%
Dim currentClassNo
'生成课表
currentClassNo=request("id")
'获取排课的班级信息ID 由对应页面传入,就是此时处理的只是ID对应的班级
Syllabus request("id")
'执行函数
Response.Write("document.writeln(""ok<br>"");") & vbCrLf
'----------------------- 以上查询出排课计划里的所有班级传入Syllabus函数进行处理
'传入班级号,生成对应的排课数据
Sub Syllabus(ByVal classNo)
If classno = "" Then Exit Sub
'若传入空,返回
currentClassNo = classNo
Dim rst, ssql, st
ssql="select * from Config where ClassNo="& ClassNo&" order by count desc"
'查找出配置信息
'平均天一共多少课时,取整
conn.execute("delete from 排课计划where classno=" & ClassNo)
'清除原有的配课计划
'查询出对应的配置班级信息
set rst = OpenRst(ssql)
While Not rst.eof
rst.movenext()
End While
rst.Close()
rst = Nothing
End Sub
'tinfo teacher id , ks count
'ks 课时节数
'kcno 课程号,
'TeacherNo 教师ID
'sct平均每天多少课时
不能下载计算机源码,
毕业设计论文资料, 大作业!报告错误,谢谢 |
|||
找到您需要的资源啦!?本站所有软件高速免费下载,记得下次再来哦,毕业设计免费获取,3Q2008.Com您下载的首选 | |||
软件大小:1024 KB | 下载次数:685 | ||
更新时间:2007/5/31 15:19:18 | |||
![]() ![]() |
|||
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 管理登录 Copyright ©2024 3Q2008.Com 网络 |
|||
|