DELPHI教学管理系统论文Word文档下载推荐.doc
《DELPHI教学管理系统论文Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《DELPHI教学管理系统论文Word文档下载推荐.doc(27页珍藏版)》请在冰点文库上搜索。
信息管理系统(MIS)是集计算机技术、网络通信技术为一体的信息系统工程,它能够使企业运行的数据更加准确、及时、全面、详实,同时对各种信息进一步的加工,使企业领导层对生产、经营的决策依据更充分,更具有合理性科学性,并创造出更多的发展机会;
另外也进一步加强企业的科学化、合理化、制度化、规范化管理,为企业的管理水平跨上新台阶,为企业持续、健康、稳定的发展打下基础。
MIS系统开发过程不仅仅是一个编写应用程序的过程,而是以软件工程的思想为指导,从可行性研究开始,经过系统分析、系统设计、系统实施等主要阶段而进行规范的开发过程。
目前国内使用和发展的MIS平台模式大体上分为两种:
客户机/服务器(Client/Server,简称C/S)模式和浏览器/服务器(Browser/Server,简称C/S)模式。
MIS系统不仅仅使用在企业中,它可以应用的方面很广,各行各业都可以应用:
金融、保险、农业、工业等等。
只要是有数据采集整理纪录的方面,都可以应用。
学校作为一个独立的机构同样也不例外。
而且学校的各种情况都比较复杂,各个机构都各自独立,又相互联系,这就需要一个比较复杂的MIS系统。
学校的MIS系统一般由以下管理部分组成:
学生信息管理,教学管理,教务处管理,财务管理,物资管理,后勤管理等。
学校的各个系统又分为不同的管理人员,不同的管理人员所看到的以及所操作管理的部分又不同,这就需要给不同的操作者提供不同的操作管理权限。
不同身份的用户所需要的资料也不同,这需要给不同的用户提供不同的操作界面,进行不同的操作。
而且不同身份的客户所关心的问题也不同,比如学校的使用者大体分学生、教师、教务处、这就需要在做MIS系统开发之前一定要做好前期的需求分析,中期的系统设计、程序开发,而且也要注意后期的系统维护。
关键字:
教学管理、课程申请、审批、选课、查询
第二章总体设计
2.1项目背景
当今社会,科学技术飞速发展,知识更替日新月异。
随着计算机应用在全世界的普遍推广,各大中专院校都逐渐实现了计算机化管理,并且视野已经深入到Internet领域,实现了网络化管理。
在学校里,如果说学生管理是为学习环境提供强大的后勤保障,那么教学管理就可以说是学校发展的强劲动力。
加强教学管理,实现计算机化管理,不仅能使大中专院教学水平上了一个新台阶,而且方便了教学管理人员对学院教学、教师授课、学生学习等几大环节的深入了解和全面掌握。
在学校实现教学管理的计算机化,是学校建设的一个重要的方面。
2.2系统功能设置
本文所作的软件是MIS系统中的教学管理系统,前台用Delphi所开发,后台数据库使用的是SQL,采用的是B/S模式,其内容包括:
(1)登录界面(功能为为不同的用户提供不同的登录界面,实现不同权限的客户不同的操作功能);
(2)教师课程申请(包括增开新课程、删除旧课程、修改已有课程,为学生选课时使用),教师的课程管理(包括开设的课程列表、所报课程的学生名单、输入学生的成绩);
(3)教务处课程设置审批(包括审批课程详细内容、通过审批、拒绝申请),课程资源分配(主要完成上课教师和时间的分配。
每学期开始选课前需要清除所有原分配的资源,重新输入分配结果),选课结果查询管理界面(主要功能是将选课的结果转移到成绩单中,同时兼有修改功能),成绩单(主要完成每个课程成绩单的查询。
另外由于时间的缘故,未能实现成绩单的打印功能);
(4)学生选课功能(主要功能是实现课程的查询,把要选的课程加入已选课程表),
学生查询成绩功能(实现自己已学课程列表的成绩查询);
2.3系统功能模块
系统各功能模块如图所示:
因为使用这套系统的人员不光是教务管理人员,还包括学生和教室。
不同的身份对数据库的操作权限也不同。
为了避免管理的混乱,需要针对不同的角色设计不同的客户端,分配不同的权限,对同一个数据库进行合理的修改。
教学管理信息体统是校园信息管理系统的一个重要的有机组成部分。
这个系统与校园其它系统之间实现互依赖、相互补充的,他需要从学生信息管理系统获取学生的个人信息,从教室信息管理系统获取任课教师的相关信息。
同时,此系统提供的成绩单又为其它系统提供了必要的参考。
第三章系统流程及库文件
2.4系统流程
流程图如图所示:
3.2数据库需求分析
根据图所室的数据流程,教学管理信息系统需要下数据项:
A.课程:
课程号、课程名称、讲课教师、学分、学时、上课时间、上课地点、课程简介、课程状态。
B.选课结果:
记录编号、选课人、所选课程。
C.成绩单:
记录编号、学生、课程、成绩
所需的外部数据支持
A.学生:
学号、姓名、班级;
B.教师:
员工号、姓名、所在院系;
3.4数据库概念结构设计
本系统所需数据的E-R模型图如图所示:
3.5数据库逻辑结构设计
根据上面的E-R图,需要三个基本信息表:
教室信息、学生信息、课程信息。
其中,教师信息和学生信息在实际系统是从其它信息管理系统的数据表中直接读取。
学生的选课信息需要用一个表来单独保存。
由于每学期期末前都要进行选课,一次选课结束后要讲这个表的内容及时保存到成绩单数据表中。
使用本系统的不光是教务处的管理人员和教师,每个学生都需要登录倒选课系统进行课程的选择。
因此,需要对不同的登录人员进行密码认证和权限的限制,防止出现越权行为。
用户名、密码和权限单独保存在一个数据表中。
另外需要一个表格保存各记录号的计数值和一个课程状态代码表,这八个数据表的结构如下图所示:
TEACHER教师个人信息表
字段名
数据类型
是否为空
说明
ID
CHAR(6)
NOTNULL
员工号(主关键字)
NAME
VARCHAR(20)
姓名
DEPARTMENT
CHAR
(2)
所属院系
STUDENT学生个人信息表
学号(主关键字)
姓名
CLASS
CHAR(4)
NULL
所在班级
COURSE课程信息表
CHAR(10)
课程号(主关键字)
VARCHAR(50)
课程名称
TEACHER
任课教师(外部关键字TEACHER)
CREDIT_HOUR
SMALLINT
学分
PERIOD
学时
CLASSTIME
NULL
上课时间
CLASSROOM
上课地点
INTRO
VARCHAR(4000)
课程简介
STATE
CHAR
(1)
课程状态(外部关键字COURSE_STATE)
COURSE_SELECT课程状态代码表
INTEGER
记录号(主关键字)
COURSE
课程号(外部关键字COURSE)
STUDENT
选课学生(外部关键字STUDENT)
SCORE成绩信息表
学号(外部关键字STUDENT)
SCORE
FLOAT
成绩
USER_PASS用户密码信息表
用户名(主关键字)
PASSWD
CHAR(15)
密码
AUTHORITY
权限
COURSE_STATE课程状态代码表
CODE
状态代码(主关键字)
DESCRIPTION
VARCHAR(20)
描述
COUNTER计数信息表
计数器号(主关键字)
COUNTER_VALUE
计数值
3.6初始数据的输入
在开发应用程序之前必须先输入部分基础的数据,包括部分教师的信息、用户名密码权限、所需的计数器和课程状态代码。
计数器的设置如图一所示,课程状态代码的设置如图二所示,用户权限设置的设置如图三所示。
图一:
计数器设置
计数器编号
说明
F
成绩记录编号
K
课程编号
X
选课编号
图二:
课程状态代码
状态代码
申请增加新课
1
申请删除旧课
2
申请修改课程
3
课选(激活)
4
等待课程安排
5
已删除
6
拒绝申请
图三:
用户权限
权限代码
学生
教师
教务处
第四章程序源码
以下为程序的原码:
4.1登录界面:
用户认证的过程在“登录”按钮B_login的OnClick事件处理程序中完成,代码如下:
procedureTF_Login.B_loginClick(Sender:
TObject);
begin
try
Database1.Connected:
=True;
//打开数据库连接
T_user.Filter:
='
ID='
'
+i_user.Text+'
;
//根据输入的用户名设置过滤器
T_user.Filtered:
//激活过滤器
T_user.Open;
//捕获信息
except
Application.MessageBox('
请与系统管理员联系。
'
数据库连接错误!
MB_OK);
Application.Terminate;
//数据库连接错误,报错并中断程序
end;
ifT_user.RecordCount=1then//判断用户名是否存在
begin
ifT_user['
AUTHORITY'
]='
0'
then
begin
F_main_st:
=TF_main_st.Create(Self);
try
F_main_st.ShowModal;
finally
end;
end
else
ifT_user['
1'
begin
F_main_tc:
=TF_main_tc.Create(Self);
try
F_main_tc.ShowModal;
end;
else
F_main_jwc:
=TF_main_jwc.Create(Self);
F_main_jwc.ShowModal;
finally
end
end
else
Application.MessageBox('
密码不正确,请重新确认,注意大小写!
密码不匹配'
End
else
Application.MessageBox('
请确认用户名是否正确!
无此用户'
end;
4.1教师课程管理界面:
申请界面的OnShow事件和“恢复表单”按钮的OnClick事件使用同一个事件处理程序,主要是初始化申请表单,代码如下:
procedureTF_main_tc.B_resetClick(Sender:
//初始化申请表单
i_state_1.ItemIndex:
=0;
//申请初始化到增开新课
i_state_1Click(nil);
//调用申请修改程序
i_name_1.Text:
//清除课程名
i_credit_hour_1.Text:
//初始化学分
i_period_1.Text:
//初始化学时
i_intro_1.Lines.Clear;
//清除课程简介
关闭窗口时,要同时关闭整个应用程序,因此窗体OnClose事件处理程序代码如下:
procedureTF_main_tc.FormClose(Sender:
TObject;
varAction:
TCloseAction);
F_Login.i_user.Text:
//登录界面清空
F_Login.i_passwd.Text:
Close;
//释放
当修改申请的内容时,程序要根据情况决定是否显示已开课程列表。
控制代码在i_state_1的OnClick时间处理程序中,代码如下:
procedureTF_main_tc.i_state_1Click(Sender:
ifi_state_1.ItemIndex>
0then//如果不是新开课程,则显示列表
begin
T_course_1.Filter:
TEACHER='
+F_Login.i_user.Text+'
ANDSTATE<
>
5'
T_course_1.Filtered:
//获取当前教师所开的课程
T_course_1.Open;
//不包括已删除和申请删除的课程
o_course_1.Enabled:
//激活已开课程列表
o_course_1CellClick(nil);
end
begin//如果是新开课程
T_course_1.Close;
//关闭已开课程数据表
o_course_1.Enabled:
=False;
//取消课程列表显示
end;
如果是删除或修改旧的课程,在单击课程列表时,将在输入框中显示课程的详细信息,代码如下:
procedureTF_main_tc.o_course_1CellClick(Column:
TColumn);
ifT_course_1.Activethen//判断课程信息表是否激活
i_name_1.Text:
=T_course_1['
NAME'
];
//提取课程名称
i_credit_hour_1.Text:
CREDIT_HOUR'
//提取课程学分
i_period_1.Text:
PERIOD'
//提取课程学时
i_intro_1.Lines.Clear;
//清除简介
i_intro_1.Lines.Add(T_course_1['
INTRO'
]);
//提取课程简介
end;