NET排课(排课管理系统)
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
第4章.系统设计
【买计算机毕业论文就到www.think58.com】 think58
实验排课子系统是一个关于实验课程编排的管理信息系统,主要针对学校实验教学设计,它能够帮助实验排课人员处理大量复杂的排课信息,有效的生成实验课表,节省了排课人员大量的时间和精力。本章主要介绍该系统各个模块的设计以及数据库设计。我们按照实验排课的业务流程,通过对系统内数据流的控制,使各模块按照其内在的联系组成一个有机的整体,模块统又具有录入,修改,删除,查询,打印等功能,各模块界限分明,任务明确,能实现动态管理,而且界面友好,操作简单,并且有很好的纠错能力。
4.1系统设计原则与目标
系统设计原则与目标如下[5]:
① 安全性:防止未经授权的人员误用乱用该系统。
② 经济实用:和已有设施紧密配,合充分利用所有设备,避免重复投资。
③ 满足对容量和容错的需求。
④ 兼容性和扩展性:为满足未来软硬件的灵活部署和容量要求,应考虑系统规模扩展的需求和升级能力。
⑤ 易于管理和维护:系统易于管理和操作;同时,系统维护应尽量集中、简单,尽量避免复杂系统和多系统组合的维护开销,减轻维护人员的负担。
⑥ 强大的可开发性:系统应配备健壮的开发接口和丰富的开发工具,充分支持现有的开发手段和开发成果,开发平台应该易用并足够强大以满足变化的需求。
内容来自think58 [资料来源:http://think58.com]
4.2系统软件体系结构
实验排课子系统采用B/S结构,统一管理数据库和Web服务器。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构,第一层是客户端(用户界面),提供用户与系统的友好访问;第二层是应用服务器,负责业务逻辑的实现;第三层是数据服务器,负责数据信息的存储、访问及其优化。由于业务逻辑被提取到应用服务器,大大降低了客户端负担,因此也成为瘦客户结构,其系统软件体系结构示意图如图4.1所示:
图4.1 软件结构体系图
4.3系统主要功能模块设计
4.3.1基本信息管理模块设计
基本信息管理模块提供对排课基本信息的录入,修改,删除等功能,这些基本信息包括班级信息,课程信息,实验室信息,教师信息,该模块的流程图如下: think58.com
[来源:http://www.think58.com]
think58 [资料来源:THINK58.com]
本文来自think58 [资料来源:THINK58.com]
think58 [资料来源:http://think58.com]
copyright think58 [资料来源:www.THINK58.com]
图4.2 基本信息管理数据流图
第一步:输入要进行排课的班级信息,实现班级信息的初始化。
第二步:输入要编排的实验课程信息。在这些课程信息当中,存在着多个班级上同一门的实验课程,也有各个班级上不同的实验课程。
第三步:输入教师信息。教师可以教授N个班的N门课程。
第四步:输入实验室信息,完成实验室信息的初始化。
至此,排课基本信息的输入已经完成。
4.3.2课表编排模块设计
课表编排模块是本系统的核心部分,就排课问题而言,其本质是教室,教师,班级,课程和时间5个要素在各自具备一定限制条件的情况下,寻求一种教师,班级和课程在时间和空间上合理分布的复杂的资源分配问题。该模块分为自动排课和手工调节两部分。它根据输入的基本排课信息(包括班级信息,课程信息,教师信息,实验室信息),按照排课算法来实现对课表的自动编排,对于初排出来的实验课表,如有冲突,或排课人员根据自己的经验认为某门实验课程排在某个特定时间效果可能更好,都可以进行手工调节,以形成最后的无冲突又符合人的主观能动性的实验课表。
排课算法的设计是本系统的一个重点和难点,其中排课数据的初始化是通过上面基本信息管理模块中班级信息,课程信息,教师信息和实验室信息四张表格来完成,然后根据排课的一些规则和约束(排课的规则和约束在需求分析当中已阐述)进行自动排课。对于排课算法,由于其复杂度和实际情况的多变,学术界曾出现过遗传算法,模拟退火算法,基于动态规划的算法,曾一度是学术界研究的一个热点,至今仍没有一个通用的能解决所有排课问题的算法。本系统的排课算法根据我校的实际情况而设计,在一定程度上解决了我校的实验课程编排。 本文来自think58
[资料来源:THINK58.com]
本系统的排课算法流程图如下: 内容来自think58 [版权所有:http://think58.com]
内容来自think58
[资料来源:THINK58.com]
think58好,好think58
think58 [版权所有:http://think58.com]
本文来自think58 [资料来源:THINK58.com]
[资料来源:www.THINK58.com]
think58
图4.3 实验排课算法流程图
4.3.3课表管理模块的设计
在完成了课表的编排之后,特意设计此模块来对课表进行统一的管理。该模块主要功能是实现教师课表,班级课表和实验室课表的查询和打印。该模块设计思路为:在页面中设计三个相应的下拉框,从这三个下拉框中选定相应的项目后,便可以进入相应的课表页面,从而可查看和打印相应的课表。在经过课表的自动排课和手工调节之后,已形成最终既无冲突又符合人为意愿的实验课表。要实现班级课表的查询,只需调用最终实验课表中字段为班级名称的记录即可,同样要查询教师课表和实验室课表,只需调用最终课表中字段分别为教师编号和实验室名称的记录即可。在对各课表查看了之后,还可对课表进行打印。
4.4数据库设计
数据库技术是当今信息时代赖以发展的重要基础技术之一,也是发展较快的计算机技术的重要分支。较好地理解数据库设计原理对于设计出性能高效的数据库系统是很重要的。
数据库技术是计算机软件领域的一个重要分支,已形成相当规模的理论体系和实用技术。它的出现使得计算机应用渗透到工农业生产、商业、行政、科学研究、工程技术和国防军事的各个部门,渗透到社会的每一角落,并正改变着人们的工作方式与生活方式。管理信息系统、办公自动化系统、决策支持系统、智能系统等都是使用了数据库技术的计算机应用系统。数据库已经成为信息高速公路的核心部分。 think58.com [资料来源:http://www.THINK58.com]
B/S结构实验排课子系统,是一个数据库应用系统,许多信息都是保存在数据库中。在数据库应用系统的开发过程中,数据库的结构设计是一个很重要的问题。我们这里所说的数据库结构设计是指各个表结构的设计,包括信息保存在哪些表格中,各个表的结构如何,以及各个表之间的关系。
数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响,好的数据库结构设计会减少数据库的存储量,数据的完整性和一致性比较高,系统具有较快的响应速度,简化基于此数据库的应用程序的实现等等。
4.4.1概念结构设计
概念结构独立于数据库逻辑结构,也独立于支持数据库的DBMS,它是现实世界与机器世界的中介,它一方面能够充分反映现实世界,包括实体与实体间的关系,同时又易于向关系、网状、层次等各种数据模型转换。它是现实世界的一个真实模型,易于理解,便于和不熟悉计算机的用户交换意见,使用户易于参与;当现实世界需求改变时,概念结构又可以很容易地作相应调整。因此概念结构设计是整个数据库设计的关键所在。概念结构设计通常有四类方法[7]:
1. 自顶向下。即首先定义全局概念结构的框架,然后逐步细化。
2. 自底向上。即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构。 本文来自think58
3. 逐步扩张。首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构。
4. 混合策略。即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成,用自底向上策略设计各局部概念结构。
无论采用哪种设计方法,一般都会以E-R模型为工具来描述概念结构[6]。
1. 实体(entity):客观存在,可以相互区别的东西称为实体。实体可以是具体的对象,例如一名女学生,一间房间等。也可以是抽象的事件,如一次歌唱比赛,一次看电影等。实体类型用矩形框表示。
2. 实体的属性(attribute):实体有很多特性,每一个特性称为属性。每个属性有一个值域,其类型可以是整数型、实数型或字符串型。例如学生有学号、姓名、年龄、性别等属性,相应值域为字符串、字符串、整数和字符串型。属性用椭圆表示,椭圆内为实体属性名称。使用线段将其和相应的实体连接起来。
3. 实体和实体之间的联系:通过棱形框联系实体,棱形内为联系的名称。
实体和实体之间的联系较多,比较常见的联系有三种。
(1)一对一联系:对于实体A构成集合中每个实体,在集合B中至多只有一个实体与之相对应,反之亦然,称实体集合A和实体集合B之间是1:1关系。
(2)一对多联系:对于实体A构成的集合中每个实体,在实体集合B中有N个实体与之相对应,且对于集合B中的每个实体,在A中最多只有一个实体与之相对应,称实体集合A和实体集合B之间是1:N关系。
(3)多对多联系:对于实体A构成的集合中的每个实体,在实体集合B中有N个实体与之相对应,且对于集合B中的每个实体,在A中有M个实体与之相对应,称实体集合A和实体集合B之间是M:N的关系。
基于B/S的实验排课子系统E-R图如下: think58好,好think58 [资料来源:www.THINK58.com]
copyright think58
[来源:http://www.think58.com]
[资料来源:http://www.THINK58.com]think58.com [资料来源:THINK58.com]
think58 [资料来源:www.THINK58.com]
[资料来源:http://www.THINK58.com]本文来自think58
[来源:http://www.think58.com]
think58好,好think58 [资料来源:http://THINK58.com]
[资料来源:www.THINK58.com]
本文来自think58 [资料来源:http://THINK58.com]
[资料来源:http://THINK58.com]
4.4 实验排课系统E-R图
4.4.2逻辑结构设计
设计逻辑结构应该选择最适于描述与表达相应概念结构的数据模型,然后选择最合适的DBMS。设计逻辑结构时一般要分为三步进行:
(1)将概念结构转换为一般的关系、网状、层次模型[8];
(2)将转化来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;
(3)对数据模型进行优化。
在上面工作的基础上归纳出数据库表格的组成,列的属性,表格之间的联系等等。
该数据库系统要求具有以下方面的特点:
(1)结构合理。
(2)所建得数据冗余度小,独立性强。
(3)保密性好,可靠性强。
在对本基于B/S结构的实验排课系统的业务和数据进行分析之后,决定采用时下最流行使用的最广泛的SQL Server2000作为后台数据库管理系统。该DBMS在性能,可靠行和安全行方面都具有很好是技术保证,同时有具备使用方便、可伸缩性好、与相关软件集成程度高等优点。根据系统的数据需求,本系统归纳出7个数据表格,分别为班级信息表,实验课程信息表,教师信息表,实验室信息表,学生信息表,课表,管理员信息表。各表的组成,字段名及表格之间的关系如下节数据字典设计所示。
4.4.3数据字典设计
think58好,好think58
[来源:http://www.think58.com]
数据字典是各类数据描述的集合。通常包括数据项、数据结构、数据流、数据存储和处理过程5个部分。本系统所包含的7个表,如下图所示:
表4.1 VB_NET排课数据库中包含的表
表名称 结构描述
tblClass 班级信息表
tblStudent 学生信息表
tblSubject 实验课程科目信息表
tblTeacher 教师信息表
tblRoom 实验室信息表
tblTime 课表
admin 管理员信息表 内容来自think58
各个表结构如下:
表 名:tblClass 主键:ID
含 义: 班级信息表 数据库:VB_NET排课
表4.2 班级信息表
字段名称 数据类型 长度 主键 允许空 默认值
ID int 4 是 否
ClassName char 30 是
表 名: tblStudent 主键:ID
含 义: 学生信息表 数据库:VB_NET排课
表4.3 学生信息表
字段名称 数据类型 长度 主键 允许空 默认值
ID int 4 是 否
ClassID int 4 是
StudentNo char 15 是
Name char 10 是
Psw char 15 是
表 名:tblSubject 主键:ID
含 义: 课程科目信息表 数据库:VB_NET排课
表4.4 课程科目信息表
字段名称 数据类型 长度 主键 允许空 默认值
ID int 4 是 否
SubjectName char 50 是
Keshi int 4 是
Zhoukeshi int 2 是
表 名:tblTeacher 主键:ID
含 义: 教师信息表 数据库:VB_NET排课
表4.5 教师信息表
字段名称 数据类型 长度 主键 允许空 默认值
ID int 4 是 否
ClassID int 4 是
SubjectID int 4 是
TeacherNo char 15 是
Name char 10 是
Pws char 15 是
think58.com [资料来源:THINK58.com]
表 名:tblRoom 主键:ID
含 义: 实验室信息表 数据库:VB_NET排课
表4.6 实验室信息表
字段名称 数据类型 长度 主键 允许空 默认值
ID int 4 是 否
Name char 30 是
TeacherNo char 15 是
表 名:tblTime 主键:ID
含 义: 课表 数据库:VB_NET排课
表4.7 课表
字段名称 数据类型 长度 主键 允许空 默认值
ID int 4 是 否
DateID int 4 是
StepID int 4 是
TeacherNo int 4 是
RoomNo int 4 是
ClassNo int 4 是
表 名:admin 主键:ID
含 义: 管理员信息表 数据库:VB_NET排课
表4.8 管理员信息表
字段名称 数据类型 长度 主键 允许空 默认值
ID int 4 是 否
UserName varchar 16 是
UserPass varchar 16 是
[资料来源:http://www.THINK58.com]
think58.com
[资料来源:http://THINK58.com]
上一篇:008实验室安排管理系统