基于bs模式的实验室排课系统的设计与开发_毕业设计论文(编辑修改稿)内容摘要:

式与访问本地文件系统相同。 对于后者, Java 的 applet 小程序可以从服务器下载到客户端,即部分计算在客户端进行,提高系统执行效率。 Java 提供了一整套网络类库 [4],开发人员可以利用类库进行网络程序设计,方便得实现 Java 的分布式特性。 特点四:可靠性和安全性 Java 最初设计目的是应用于电子类消费产品,因此要求较高的可靠性。 Java 虽然源于C++,但它消除了许多 C++不可靠因素,可以防止许多编程错误。 首先, Java 是强类型的语言,要求显式的方法声明,这保证了编译器可以发现方法调用错误,保证程序更加可靠;其次, Java 不支持指针,这杜绝了内存的非法访问;第三, Java 的自动单元收集防止了内存丢失等动态内存分配导致的问题;第四, Java 解释器运行时实施检查,可以发现数组和字符串访问的越界,最后, Java 提供了异常处理 机制,程序员可以把一组错误代码放在一个地方,这样可以简化错误处理任务便于恢复。 由于 Java 主要用于网络应用程序开发,因此对安全性有较高的要求。 如果没有安全保证,用户从网络下载程序执行就非常危险。 Java 通过自己的安全机制防止了病毒程序的产生和下载程序对本地系统的威胁破坏。 当 Java 字节码进入解释器时,首先必须经过字节码苏大勇:基于 BS 模式的实验室排课系统的设计与开发 6 校验器的检查,然后, Java 解释器将决定程序中类的内存布局,随后,类装载器负责把来自网络的类装载到单独的内存区域,避免应用程序之间相互干扰破坏。 最后,客户端用户还可以限制从网络上装载 的类只能访问某些文件系统。 上述几种机制结合起来,使得 Java成为安全的编程语言。 特点五:多线程 线程是操作系统的一种新概念,它又被称作轻量进程,是比传统进程更小的可并发执行的单位。 C 和 C++采用单线程体系结构,而 Java 却提供了多线程支持。 Java 在两方面支持多线程。 一方面, Java 环境本身就是多线程的。 若干个系统线程运行负责必要的无用单元回收,系统维护等系统级操作;另一方面, Java 语言内置多线程控制,可以大大简化多线程应用程序开发。 Java 提供了一个类 Thread,由它负责启动运行,终止线程 ,并可检查线程状态。 Java 的线程还包括一组同步原语。 这些原语负责对线程实行并发控制。 利用 Java 的多线程编程接口,开发人员可以方便得写出支持多线程的应用程序,提高程序执行效率。 必须注意地是, Java 的多线程支持在一定程度上受运行时支持平台的限制。 例如,如果操作系统本身不支持多线程, Java 的多线程特性可能就表现不出来。 Microsoft SQL Server 2020[5] 提供了不断扩展的数据库,其中包含了优化性能、向上扩展个别服务器及向外扩展极大型数据库所需的工具和功能。 重大的新功能 是 使用 资源调控器取得资源分配的控制权 ; 使用 Performance Studio 针对企业中的 SQL Server 2020 实例进行故障排除、微调和监视 ; 在 SQL Server Analysis Services [6]中使用扩展性和性能增强功能来建立高性能的分析解决方案 ; 使用 SQL Server Reporting Services 中重新经过工程处理的报表引擎,充分利用其即时的报表处理和更好的性能 ; 在 SQL Server Integration Services 中使用可扩展的查找任务来提升抽取、转 换和加载 (ETL) 的性能 ; 经济可行性 在高等院校中,培养学生的主要途径是教学。 在教学活动中,有一系列管理工作。 其中,教学计划的实施是一个重要环节。 每学期管理人员都要整理教学计划,根据教学计划下达教学任务书,然后根据教学任务书编排课程表。 在这些教学调度工作中,既有大量繁琐的数据整理工作,更有严谨思维的脑力劳动。 此外,还要填写大量的表格。 因此工作非常繁重。 加之教学的改革,招生人数的增加及教室设备的不足,不但增加了工作的难度,而且要求管理工作更加快速、准确。 为此,人们自然希望用先进的管理手段完成 这些工作。 随着计算机技术的普及,办公室自动化的先进管理手段被引进到教学调度工作中。 计算机排课与人工排课有一定区别。 人的思维可以是收敛的,也可以是发散的。 因而排课表时非常灵活,随机性很强,没有严格的工作步骤,随情况而变,觉得怎么合理怎么做。 但计算机就不同,它并不具备人的大脑那样的发散思维能力。 它的“大脑”里的一切信息都是由“数据”组成。 每步工作是由人把人的思维抽象成计算机的语言,通过程序进行控制。 所以用计算机进行排课最大的要领就是要掌握系统软件的设计思想,各种数据间的关系及工作先后顺序等,就是要掌握各种课程的 要求如何通过数据传输给计算机,让它领会人的意图,达到预期的目的。 分析了这些因素后,我们认为有必要通过计算机开发排课系统,来满足现今实验室排课的问题。 这样,能为学校节省大量的人力物力,带来很多便利。 江西理工大学应用科学学院毕业设计 7 操作可行性 本系统 灵活方便,快捷迅速,适应处理 多项 数据。 采用友好、直观的视窗界面,鼠标、键盘两种操作方式任意选择,方便快捷。 界面统一规范,提示信息功能完整,稍一接触就可以上手进行所有操作。 法律可行性 本系统纯为 个 人设计,在开发过程中没有涉及合同、责任 、版权 等 与 国家相关法律规定相抵触的方面。 因此,本系统在法律上是可行的。 苏大勇:基于 BS 模式的实验室排课系统的设计与开发 8 第 3 章 概要设计 概要设计的 目 的是通过本系统软件 ,能帮助 人事管理 人员利用计算机,快速方便的对所属 公司 的信息管理 ,近 行维护、输入、输出、查找的所需操作,使散乱的 人事 数据能够具体化,直观化、合理化。 概要设计的任务是根据需求分析得到的物理模型确定一个合理的软件系统的体系结构,作为系统的详细设计的基础和准备。 具体内容见以下几方面: 系统运行总体流程 根据功能的不同可以将本系统划分为三个主模块,九个子模块: 图 实验室排课及教学系统设计与实现运行总体流程图 用户登录子系统 操作对象:学生 、 教师 、 管理员。 用户登录子系统功能:用户登录时,首先要选择自己登录的类型,才能实现自己所需求的服务功能。 即用不同身份登录系统会拥有不同的权限。 用户登录操作流程:首先用户应先输入 账 号 (学号、教师号、管理员号) 和密码,再选择登录的类型,如果相应的 账 号和密码正确,则顺利进入系统,如果 账 号或密码不正确,则提示用户登录失败。 、学生选课子系统 操作对象:学生。 学生选课子系 统功能:学生可以查询课表、查询课程详细 信息(课程,教师) 、选课和退课等操作。 实验室排课系统 用户登录子系统 学生选课子系统 排课管理子系统 学生 教师 查询课程信息 查询课程 管理员 选课和退课 课表查询 选课确认 进入排课系统 江西理工大学应用科学学院毕业设计 9 学生选课操作流程:学生登录验证成功后,进入学生选课子系统,点击相应的课程号就可以直接选课。 如果输入课程号 或 教师号,可以进行可选课程查询,同时,自己的选课表会显示出来,在选课版面还可以进行密码修改,退出系统。 除此 之 外,学生还可以进入课表查询、课程查询和选课查询版面进行相应操作。 、排课管理子系统 操作对象:管理员。 课程管理子系统功能:管理员可以进入排课系统,还可以进行课表查询、课程查询、选课查询 , 但不具有学生拥有的选课功 能。 管理员操作流程:管理员登录验证成功,进入系统,即可以进行相应的操作,如进入排课系统,可以进行排课 、 发布选课信息 、对学生的选课信息进行确认。 排课系统编码与实现 系统运行流程图描绘了物理系统的总体运行情况。 浏览此图可对整个实验室排课系统设计与实现的功能有一个快速、清晰的认识。 目标系统体系结构 实验室排课及教学系统设计与实现软件结构图 图 实验室排课及教学系统设计与实现 功能 结构图 首先,产生的时间是在教师和所有上课的班级共 同的空闲时间集合中产生,并且尽量保证时间选择上的均匀性,防止一周几次课集中于某一段时间。 其次,对教师的选择,一方面考虑到教师的时间限制(由教师确定一学期中第几周,每周哪天哪节课没空),另一方面,对教师设置排课级别,随着排课时间的增多,级别值就增大,从而再次被选择排课的几率就减小(此时要求同一门课程有多个教师讲授)。 最后,教室也设置了排课级别,同教师类似,这样便可以保证教室资源会得到合理而均匀有效地利用。 实验室排课子系统 教师信息管理 课程信息管理 信息维护 教室信息管理 课程安排 排课管理 信息维护 信息维护 课程安排 排 课 排课结果 信息录入 信息录入 信息录入 苏大勇:基于 BS 模式的实验室排课系统的设计与开发 10 图 登陆权限结构图 基础数据模块结构图 2 基 础 数 据2 .1学 生 信息 录 入2 .2教 师 信息 录 入 图 信息维护模块结构图 3 信 息 维 护3 .1学 生信 息维 护3 .2教 师信 息维 护 图 查询浏览模块结构图 江西理工大学应用科学学院毕业设计 11 图 排课的主要思想及代码 排课时,首先初始化实验室信息链表和教师信息链表,然后由教师信息链表开始循环求解,找到某课程的教师和实验室信息,循环判断教师可用的时间,将教师可用时间与实验室安排做比较,最后再和实验室可用时间比较,看教师是否能在这时间上课,能则 把得出的 结果添加进入课表。 排课的主要代码如下: public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Validate v = new Validate()。 String zhuanye = (zhuanye)。 String nianji = null。 if ((nianji) != null amp。 amp。 !(nianji).equals()) { nianji = ((nianji))。 } AptitudePaikeBean ab = new AptitudePaikeBean()。 ArrayList kecheng = (zhuanye, nianji)。 ArrayList banji = (zhuanye, nianji)。 ArrayList jiaoshi = ()。 ArrayList laoshi = ()。 String[] begin = null。 String[] end = null。 int[] beginInt = new int[3]。 int[] endInt = new int[3]。 int[][] xy = new int[5][6]。 for (int i = 0。 i ()。 i++) { boolean bool = true。 int flag = 0。 int a = 0。 // 总共的教学周 int b = 0。 // 每周的课时数 ArrayList al = (ArrayList) (i)。 begin = (6).toString().split()。 end = (7).toString().split()。 for (int j = 0。 j。 j++) { beginInt[j] = (begin[j])。 endInt[j] = (end[j])。 } Calendar c = ()。 (beginInt[0], beginInt[1] 1, beginInt[2])。 (, 1)。 苏大勇:基于 BS 模式的实验室排课系统的设计与开发 12 while (bool) { (, 1)。 flag++。 if (() + 1 == endInt[1] amp。 amp。 () == endInt[2]) { bool = false。 } } if (flag % 5 == 0) { a = flag / 5。 } else { a = flag / 5 + 1。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。