一个排课软件的设计

女朋友刚刚硕士毕业,费了不少周折进入深圳一家公立学校做教务管理工作,恰好学校交代一个给全校老师排课的任务,排了很久都没有排好,于是找到我,了解了他们大致需求后,于是我动手用我们公司的快速开发工具搭建了这个排课软件。

第一步了解需求:每个年级一个学期规定了要上的科目,以及每个科目每周的安排课时数。

于是我设计了下面这个界面来解决教学任务编排:

 

上面任务解决了每个班级需要配哪些课程,每个课程每周的节数

下面就要解决老师的问题,每个老师教哪几个课程,哪个课程每周安排几节的问题,于是有了如下教师任务界面:

 

 这样哪个老师教哪个班哪门课教几节问题就解决了,有了这些便设计个自动排课界面如下:

 

上面自动排课自动排课算法部分代码如下,贴出来跟大家分享下:

?
public void BuildKebiaoAuto()
        {
            StringBuilder strMessage = new StringBuilder();
            string strMessage0 = "" ;
            #region 排课前准备工作
            EntityObjectFactory eofClassKebiao = EntityObjectFactory.GetInstance( this .objContext, EntityIDEnum.ClassKebiao);
            EntityObjectFactory eofTermPaikePlan = EntityObjectFactory.GetInstance( this .objContext, EntityIDEnum.TermPaikePlan);
            EntityObject eoTermPaikePlan = eofTermPaikePlan.FindFirst( "ID={0}" ,PlanID);
            EntityObjectList eolTermPaikeClass;
            EntityObjectList eolTermPaikeTeacherRenwu;
            decimal Paikedays = 0.0m;
            int Jieshu = 0;
            int TotalJieshu = 0;
            int iClass = 0;
            if (eoTermPaikePlan != null )
            {
                Paikedays = ( decimal )eoTermPaikePlan.GetProperty( "PaikeDays" );
                Jieshu = ( int )eoTermPaikePlan.GetProperty( "Jieshu" );
                TotalJieshu = ( int )eoTermPaikePlan.GetProperty( "TotalJieshu" );
                #region 初始化要排课的结果集合
                //获取要排课的班级
                eolTermPaikeClass = eoTermPaikePlan.GetChildEntityObjects(EntityIDEnum.PaikeClass);
               
  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
软件简介:鑫钜排课系统是一套智能排课系统 ,专门解决令头头疼的学校排课问题。 手工排课一向是学校教务工作中最令人头疼的事,非常费时费神,而且由于人工操作时多多少少会有些失误。往往经过一两天的冥思苦想排出来的课程表,却总会发现纰漏,导致课程表需要修改。而修改课程表一般都是牵一发而动全身,令人非常苦恼。 鑫钜排课系统的出现解决了以上所有难题,本系统特聘一位从事20余年学校教务工作的老师,根据自己多年来排课经验,全程跟踪系统开发,集众家排课软件之长,操作简单,直观;排课算法先进,合理分配每天的课程节次,排出来的课更合理、更科学,完全符合中小学排课的需要。让您从此告别繁琐的手工排课,只要设置好学校班数、节数、课程、教师任课,系统就会自动排出所有课程表。一个几十个班的学校,从信息始录入到始打印课程表的整个过程一般一个小时内就可以完全搞定,这在手工排课阶段,几乎是不可想象的。而且电脑自动排课的过程只需几秒钟,排完之后觉得不满意,完全可以根据系统提示进行调整。 功能特点:鑫钜排课系统还有很多特点都领先于同类软件,如: 1.傻瓜型的向导操作模式:《鑫钜排课系统》的向导操作模式使得对电脑一知半解的用户也可以操作自如。并采用教务工作者的思路来设计软件,即使不懂电脑的老教务主任操作起来也会有一种似曾相识的感觉。 2一流的排课算法: 《鑫钜排课系统》采用优秀的排课算法,自动排课无论速度及准确性是其它排课软件不可比拟的 3.直观的调课功能。能采用直观的卡片式显示方法,用不同的颜色显示哪些课可以调,哪些课不能调,调课直观,方便,像玩游戏一样,让您排出的课符合您的要求。 4.方便的查询功能。任意选中课表中某一节课(或几节课),能查询哪些老师在上课,哪些老师在休息,这样方便领导选派教师安排临时性的工作,或考勤查岗等事务,也可以在调课过程中利用它发现哪些课不合理,以便进行调整. 5.教学工作量统计功能。能自动统计全校任课教师的教学工作量,并导出到Excel(电子表格)中编辑、打印。以便根据您的需要计算出教师的教学工作量津贴等。 6.能合理分配场地受限的课程。例如:微机课、体育课。如果您学校只有一间微机教室,那么在同一课时排课系统会只安排一节微机课。 7.能设置教师在哪节课不排课。例如:有些老师每周固定时间会,固定时间教研等。 8..能设置课程的不排节次。例如:体育不安排在上午第一、二节。 9.能根据您的需要安排固定课。例如:班会课、劳动课、自习课等安排在固定的某一节课;也可以用来做手工排课,如:把某班的语文课固定在第一节课上。 10.方便、灵活的打印功能。总功课表、班级课表、个人课表能一键导出到Excel(电子表格)中编辑、打印,让你打出更精美的课表。班级课表和个人课表还可以用A4纸张直接打印出来。 11.强大的手动调课功能。系统能够自动提示可调课程位置,可以方便地调动课程。 12.采用24小时在线升级技术。采用在线升级技术,令升级更方便。 13.立足用户的本地化改造。如校方对排课系统的某些功能需求有异,可在第一时间为校方做调整完善。 使用范围:适用于各类中学、小学、全日制、半日制、中专类院校等。
排课表系统可行性研究报告 一、 引言 1.1编写目的 编本可行性报告目的是为了以后排课工作节省时间、提高教学效率、便于课程设计的管理。 1.2 项目背景 a. 软件的名称是排课表系统。 b. 项目的委托单位:中州大学信息工程学院。 c. 本项目是08信管2班张钦钦、张杰、李水莲、王珂、曹建超五个人参与软件过程开发。 2可行性研究前提 2.1 要求 a 功能完善。 b 便于操作。 c 结构严紧。 d 便于管理。 e 使用方便、快捷。 f 易于在数据库上实现。 2.2 目标 a 本排课表系统目标是每学期都可使用. b 机器代替手工工作。 c 便于课程教学的管理,减少人工排课的工作量。 d 可以进行精确查询。 e 与数据库连接,研究所处理数据的最优算法,提高计算机的处理速度。 f不断改善软件开发前各项决策系统的研发。 二、可行性分析 1、对现有系统的分析: 1.1现有系统是人工操作的。 1.2费时费力。 1.3工作效率低。 1.4容易出错。 1.5人力投入费用高。 2、系统的可行性从四个方面考虑 2.1、技术可行性 a.通过研究及查资料了解到当前的技术可以实现这个课程表管理系统。 b.五个人为一组,所学专业为计算机信息管理能满足此系统的开发。 c. 有充足的时间完成本系统。 2.2经济可行性 a.经过调查了解各个学校也有这个经济实力使用我们开发的课程表管理系统。 b.使用本系统不受时间限制。 c.排课一般为每学期一次,系统工作量不大。 d.本系统是学生自己开发的小型软件,设备和软件配置变化对支出和效益的影响比较小。 2.3、操作可行性 操作系统:我们开发的课程表管理系统适应于各个操作系统,比如windows xp ,vista,unix,linux等。 支持环境:IIS5.0数据库:Microsoft SQL Server 2000 2.4、法律可行性 我们开发的课程表管理系统没有任何抄袭,不会引起任何侵权问题。 3、系统的简要描述 这个系统要与数据库连接,并依赖于数据库,可以方便的查询课程和上课时间,上课地点,任课老师,可自动排课程表。 4、与现有系统比较的优越性 这个系统比原系统更可靠,快速,且减少了出错的几率,减少了人力的投入,降低了成本,提高了工作效率,减少了编排课程表人员的工作量和劳动强度。 5、结论意见 通过分析可着手开发 三.需求分析 1.开发排课系统的必要性 现在课程表的编排使用的是人工,人来完成课程编排增加了人的劳动量,而且人工容易出错,人力投入资金多,效率不高,使用的范围有限,鉴于以上这些情况很有必要开发课程表排课系统。 2.此软件能实现的功能 只需操作人员输入校名,级别,班级,专业名及授课教师名,这样本软件就可以自动完成一周内各年级各专业的每个班级所上课程,上课时段,上课地点及任课老师的编排工作,操作人员不必过多参与。 3.动态数据 a.输入学校名。 b.输入院系名。 c.输入班级名。 d.输入专业课名及对应的授课教师名。 e.选择规定课程的时段。 4.其他非功能需求 本软件应具有可维护性,可扩展性,可测试性,兼容性. 5.使用范围 此系统不设密码,任何学校都可以使用。 6.功能模块 模块一:输入学校名,院系名,班级名,专业课名及授课教师名。 模块二:显示结果,支持手工修改,打印,并可以导出到word文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值