社区
非技术类
帖子详情
CSDN 为什么没有数学建模的版块,有兴趣深入探讨数学建模型算法的同志请进来,这次我们讨论一下排课系统的问题,哥们们来吧,上个大餐
sohou
2004-09-10 10:31:45
如题
纯属讨论,切勿灌水。
...全文
132
5
打赏
收藏
CSDN 为什么没有数学建模的版块,有兴趣深入探讨数学建模型算法的同志请进来,这次我们讨论一下排课系统的问题,哥们们来吧,上个大餐
如题 纯属讨论,切勿灌水。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
realmention
2004-09-10
打赏
举报
回复
hao
sohou
2004-09-10
打赏
举报
回复
这个问题很难有优化解,怎样能够实现一个近似的优化解了。也就是实现一个辅助优化解。
摘抄论文一篇
高校通用排课管理信息系统的设计与实现
摘 要 在分析以往一些排课软件的基础上,提出一个通用的排课管理信息系统的设计方法,并对一些具体的技术问题作出相应安排。
关键词 教务;排课;排课管理系统;专家排课
中图分类号 TP315; TP399:G473.4 文献标识码 B
0 引 言
排课管理的主要任务是把各系或各授课部门的课程申请进行汇总,然后根据教学计划或教学环节制订全校各班级的课表。由于高校班级数、课程门数较多,每门课又涉及很多信息,如果用手工进行排课,不可避免地出现教室资源冲突或教师资源冲突的情况。为了使课表的编排更准确、合理、快速,高校教务部门已用计算机来进行排课管理,并先后开发出一些适用的排课软件系统。我们发现这些软件有以下不足:1)每个学期的课程、教师、教室信息相对固定,但却不能被重用;2)不能保存每个学期的历史数据,不便教师对以前课表进行查询;3)未提供用户的分级使用制度;4)自动排课速度较慢;5)形成的课表大小不固定,增加打印难度。
为了解决这些问题,充分利用学校的教室资源,我校教务处决定自行开发排课管理系统软件(PKMIS),该系统现已研究成功并投入使用,为教务处的教学管理工作提供了极大方便。
1 数据库结构
本软件使用的数据库很多,每个数据库中都增加了两个属性“USESTATUS”和“DM”。“USESTATUS”用于描述该记录是否被其它数据库使用,如果被使用,属性值为逻辑真,在进行记录删除操作时被禁止。“DM”属性保存了汉字信息的代码,减少了以后录入信息的工作量,以下介绍几个主要的数据库。
班级库(CLASS.DBF)是描述班级信息(即班级号、班级名、代码、学生人数、专用教室)的文件,学生人数决定了排课时所使用的教室类型。
教室数据库(ROOM.DBF)描述了教室的有关信息,即教室号、教室名、教室位置、容纳人数、教室功能等。
教师数据库(TECH.DBF)描述了教师号、教师名、代码、职称、年龄、工作时间、使用状态等信息,其中教师号由教研室号(4位)与序号(2位)共同构成。
课程数据库(KCK.DBF)信息由课程号、课程名、代码、简称、学时数、学分、后续学时、使用状态等属性构成。
课程申请库(PKDB.DBF)结构由申请号、班级号、课程号、教题号、总学时、实验学时、周学时、起始周次、指定教室、使用状态等属性构成,此数据库是最重要的排课管理数据库,是生成排课数据库的依据。
其它数据库限于篇幅,这里不作介绍。
2 系统功能与模块结构
1.初始化管理:此功能在开始排下一学期课时,可以载入上次排课的一些信息(如教师信息、教室信息、班级信息等),节省了重复输入的时间。
2.辅助数据管理:此功能可以对教师、教室、课程等信息进行组合条件查询、模糊输入、删除、修改、打印等操作。
3.排课管理:排课管理分为排课数据管理,根据班级、教师或教室进行手工排课,自动排课等功能。
4.课表管理:此功能可以根据各种条件打印、查询或保存班级课表(总课表、系课表等)、教师课表(授课任务书)、教室安排表、某天课表、某节课表等。
5.工作量管理:为了便于教务处期末结算教师总工作量及发放课时酬金,特增加此功能。工作量管理人员可输入计算公式,计算机根据公式自动生成工作量(教师工作量、系总工作量),并能打印、查询工作量情况。
6.系统功能管理:此功能可对数据进行备份/恢复,对数据库进行索引维护、进行用户设置(设置用户对软件的使用权限,如查询权,排课权等)。
系统总体构成见图1所示:
图1 排课管理信息系统的系统构成
3 通用系统设计的一些考虑
1.系统的进入与注册
系统在启动时要求用户输入用户名和口令,PKMIS允许用户输入三次,三次都不正确则确定为非法用户,强行退出系统。每个用户使用的功能与权限都受到相应限制。
2.数据备份与恢复
为了防止事故造成数据损失,必须经常对所使用的数据库文件进行备份操作,以便在出现数据损坏时能恢复到以前工作的状态。
3.用户权限管理
PKMIS可供排课管理员、教务长、系教务员、一般教师等使用,因此提供了用户分级管理功能,使不同的用户享有不同的权限。
4.数据库的共享
PKMIS可以在Novell网上供多个用户同时使用,因此PKMIS提供了对共享数据库的保护,当一个用户在修改一条记录时,则拒绝另一用户作同样的操作。
5.上机记录管理
为了对使用软件的用户进行责任跟踪,了解软件的使用情况,PKMIS提供的上机记录管理可以登记上机的用户名、使用的机器、起始时间、终止时间以及使用的功能。
4 排课功能的一些问题
排课管理功能是PKMIS设计难点,它不仅要考虑到教室冲突问题和教师冲突问题,还要考虑到分段课、单双周课时的资源利用问题。另外由于高校的教学特点,还要处理合班课、外语分级课、体育课、分组课与选修课等特殊课程。PKMIS针对这些问题,专门对数据库设计与程序编制作了一些探索,但由于本软件开发周期短,可能有些问题需要进一步研究和完善。
PKMIS还设置了专家排课功能,它能够根据排课用户事先给出的排课策略进行自动排课,排课速度较快。为了实现专家排课功能,专门设置了两个堆栈S1和S2,S1的每个结点保存已排好课程及该课程的某次课,S2保存未排课程及该课程的某次课。具体排课算法如图2:
图2 专家排课算法
5 结束语
PKMIS采用FOXPRO数据库管理系统编程,在1996年12月完成,并在我校的教务部门正常运行到现在。PKMIS使用简单、性能稳定、容错能力较强,生成的课表快速、准确、可靠,并能向教务部门提供各种有关课程、教师、教室等报表。与同类软件相比,PKMIS还有以下一些特点:
1. 功能集成化,PKMIS的所有管理(增加、删除等)都集中于一个统一的界面。
2. 使用简单化,PKMIS的各种操作简单、统一。
3. 查询综合化,在窗口中显示了所有可查询的字段。只需在相应处输入查询值即可对指定字段进行组合查询。
4. 输入智能化,PKMIS在排课申请管理时,可按代码、信息片段等进行录入,不需输入大量信息。也可在弹出窗口中直接选择相应信息到指定位置。
sohou
2004-09-10
打赏
举报
回复
crystal521(水晶泪) ( ) 信誉:95 2004-09-10 15:37:00 得分: 0
怎么讨论,一个数据库问题
=============
水货人说水货话
iorikingdom
2004-09-10
打赏
举报
回复
也没有编译原理的板块,偶被逼着搞编译器,都不知道哪里去交流
Mr-Chen
2004-09-10
打赏
举报
回复
怎么讨论,一个数据库问题
基于C/C++开发的单目控制机械臂的上位机程序+视觉识别和关节角反解+源码(高分优秀项目)
基于C/C++开发的单目控制机械臂的上位机程序+视觉识别和关节角反解+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于C/C++开发的单目控制机械臂的上位机程序+视觉识别和关节角反解+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于C/C++开发的单目控制机械臂的上位机程序+视觉识别和关节角反解+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于C/C++开发的单目控制机械臂的上位机程序+视觉识别和关节角反解+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~
setuptools-68.2.1-py3-none-any.whl
Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
springboot 学生信息管理
系统
.zip
学生管理
系统
是一个典
型
的基于 Spring Boot 的应用程序,旨在帮助学校、教育机构或培训机构管理学生信息、课程安排、成绩等。下面我将介绍一个简单的学生管理
系统
的设计和实现,基于 Spring Boot 框架。 功能特点 学生信息管理 添加、编辑、删除学生信息。 查询学生信息,支持按姓名、学号等条件查询。
setuptools-0.9.8-py2.py3-none-any.whl
Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
利用python的pyautogui函数实现简单的自动化操作
1.安装python3.4以上版本,并配置环境变量(目前有装3.9遇到坑的,我个人用的3.7.6) 教程:https://www.runoob.com/python3/python3-install.html 2.安装依赖包 方法:在cmd中(win+R 输入cmd 回车)输入 pip install pyperclip 回车 pip install xlrd 回车 pip install pyautogui==0.9.50 回车 pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple 回车 pip install pillow 回车 这几步如果哪步没成功,请自行百度 如 pip install opencv-python失败 3.把每一步要操作的图标、区域截图保存至本文件夹 png格式(注意如果同屏有多个相同图标,回默认找到最左上的一个,因此怎么截图,截多大的区域,是个学问,如输入框只截中间空白部分肯定是不行的,宗旨就是“唯一”) 4.在cmd.xls 的sheet1 中,配置每一步的指令,如指
非技术类
1,650
社区成员
58,980
社区内容
发帖
与我相关
我的任务
非技术类
VC/MFC 非技术类
复制链接
扫一扫
分享
社区描述
VC/MFC 非技术类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章