S模式的高校学生管理子系统及教务管理子系统论文.docx
《S模式的高校学生管理子系统及教务管理子系统论文.docx》由会员分享,可在线阅读,更多相关《S模式的高校学生管理子系统及教务管理子系统论文.docx(78页珍藏版)》请在冰豆网上搜索。
S模式的高校学生管理子系统及教务管理子系统论文
基于C/S模式的高校
学生管理子系统
及教务管理子系统
(学校管理系统中的两个子系统)
题目:
基于C/S模式的高校学生管理子系统及教务管理子系统
设计者:
平台:
Delphi6.0
数据库:
Delphi自身带的interbase6.0、SQLExplorer
学号:
班级:
学校:
专业:
计算机科学与技术(开放本科)
日期:
目录:
第一章引言(页码3)
本课题的研究意义;本论文的目的、内容及作者的主要贡献;
第二章研究现状及设计目标:
(页码3—页码4)
相近研究课题的特点及优缺点分析;现行研究存在的问题及解决方法;本课题要达到的设计目标;
第三章实际中要解决的几个问题:
(页码4—页码11)
研究设计中要解决的问题;具体实现中采用的关键技术及复杂性分析;
第四章系统结构与模型:
(页码11-页码12)
设计实现的策略和算法描述;编程模型及数据结构;
第五章系统实现技术:
(页码12)
分模块地描述系统各部分的实现方法;程序流程;
第六章性能测试与分析:
(页码13)
测试实例(测试集)的研究与选择;测试环境与测试条件;实例测试(表格与曲线);性能分析;
第七章结束语及参考文献:
(页码13)
摘 要(Abstract):
随着信息技术的发展,高校学生管理工作以及教务管理工作正在以校园网为平台、采用计算机和数据库等现代化技术不断提高管理水平。
研究基于C/S的高校学生管理子系统的学籍管理、学生相关管理、学生信息查询和统计等功能以及基于C/S的高校教务科管理子系统的教师申请课程、登记成绩;教务科通过申请新课;学生查询成绩等功能。
关键词(keywords):
C/S;interbase;delphi6.0;学生管理;教务管理;数据库;
第一章引言:
本课题研究的意义:
Client/Server(客户机/服务器),简称C/S。
C/S模式是20世纪80年代出现并至今作为主流应用的一种开发模式,所谓的CS模式实际上是一种“逻辑”概念,即将整个系统在逻辑上划分成前端客户进程和后台服务器进程,两者通过Intranet网络连接。
前端的客户应用程序主要是显示界面、与用户进行交互,而后台的服务器进程主要是负责进行数据处理,将处理后的结果返回给用户,而且服务器所进行的工作对客户应用程序来说是完全透明的,在局域网络上传输的是SQL语句和处理后的结果。
这种模式的优点主要体现在以下几点:
(1)交互性好,速度快,适合于系统中大量数据的输入输出操作;
(2)能够提供数据和服务的无缝集成。
通过CS结构的DBMS(数据库管理系统),易于实现一个系统中原有数据与应用程序的集成;(3)良好的开放性和易扩充性,客户端及其功能的添加、删除和更新都不会对整个系统产生影响。
本论文研究的目的:
在毕业设计中,已经实现了一个基于C/S模式的高校学生信息管理子系统及教务管理子系统,所以在本论文中详细阐明了两个子系统各自所实现的各项功能,意在说明在当今信息社会中,高校的管理工作应向计算机系统化转变,才能省去大量的手工劳动,提高工作效率。
第二章研究现状及设计目标:
相近研究课题的特点及优缺点分析:
据我在实际生活及internet网络上观察,如今大部分学校的学生信息管理以及教务管理都是由教务科的干事手工操作,不仅费时费力,还不利于资料的处理增删,查询等也很麻烦。
此种作法工作效率低,易出错,又浪费了人力资源。
就拿我来说,在益阳教育学院就是在教务科工作,绝大多数的学生的资料管理以及教务成绩管理查询都是由我手工完成,不是由计算机来处理操作。
很久以来我就想开发一套教学管理自动化软件,这样才能做到事半功倍,利于学校的工作流程。
这次毕业设计的研究课题的特点是我在教务科的日常工作中积累不少经验而做成的,并不是闭门造车,能够解决实际工作中产生的各类问题。
这两个子系统就是按照我平时在工作中的流程设计而成的。
就拿学生信息管理子系统来说,从一个学生的基本资料输入进数据库->他(她)的奖励经历->他(她)的处罚经历->他(她)的转学或复学、休学等情况->学生的个人信息查询修改等,整个过程可以说是一气呵成,联系紧密,如果一个没有从事过此类工作的同学是不可能把工作经验融入到系统设计中并做出整个系统来的。
当然做为一个开放教育本科的学生,接受教育培训的机会不是很多,大部分靠自我摸索,所以我认为这个系统肯定存在着不足之处,比如说在教务管理子系统中有些功能就只能等到期末时才能看到最终效果,这肯定是不对的,有待于以后改进。
本课题要达到的设计目标:
能够实现学生信息管理子系统的大部分管理功能(增加新生;学生的转学、复学、休学;奖励情况;处罚情况;学生个人信息查询修改);能够实现教务管理子系统的大部分管理功能(本子系统通过密码确认后,可进入不同管理页面,分为教务科,教师,学生三个不同管理页面,其中教务科管理页面可以通过教师提交的申请新课、申请删除旧课、申请修改旧课资料的要求,并分配教室和上课时间等课程资源,能够实现选课结果查询管理,以及期末成绩单的管理;教师管理页面可以申请增开新的课程、删除旧的课程、修改已有的课程信息等;同时在界面初始化时,可列出可选的课程列表,单击课程列表时,显示相应课程的学生名单和成绩单输入表来;学生管理页面可以进行选课操作、查询自己所选课程的成绩及这门课程的最高分、平均分、最低分等成绩相关信息。
)
第三章实际中要解决的几个问题:
教学管理子系统要解决的是
1、是数据库设计问题,因后台数据库是Delphi6.0自身所携带的interbase6.0,前台的软件设计平台与后台数据库的联结相对而言比较紧密,在设计中我先构思出两个子系统的数据流程图,再根据图构思出大概的实体-关系模型。
成绩
学生选课
教务科批准
每学期时间和教室安排
课程基本信息修改申请
各课期末成绩
课程
清单
选课结果
课程设置
信息
课程基本
信息
成绩单
课程学
生名单
学生课表
课程删
除申请
课程增
加申请
第一步:
先构思它的数据流程图:
第二步:
根据上列的数据流程图列出数据库概念结构设计,这是数据库逻辑结构设计的基础。
学生
教师
M:
nNnNMMNNNNNnn
选课
N:
1
N:
1
讲课学生成绩
1:
N
成绩单
课程
课程成绩
第三步:
便可以构造后台数据库的数据表了:
根据上面所设计出来的E-R图,可以知道要有3个基本信息表:
教师信息、学生信息、课程信息。
其中,教师信息和学生信息在实际系统中是从其它信息管理系统的数据表中直接读取。
学生的选课信息需要用1个表来单独保存。
由于每学期期末前都要进行选课。
因此选课结束后要将这个表的内容及时保存到成绩单数据表中。
同时如上所述,使用本子系统的不仅是教务科的管理干事和教师,还要每个学生都能登录到选课系统进行课程的选择及成绩的查询。
因此,需要对不同的登录人员进行密码的认证。
所以需要八个数据表:
用户密码表、成绩信息表、教师个人信息表、学生个人信息表、课程信息表、课程状态代码表、选课结果信息表、计数信息表等八个数据表。
在计数信息表中,F代表成绩记录编号;K代表课程编号;X代表选课编号;在课程状态代码表中,0代表增加新课;1代表申请删除旧课;2代表申请修改课程信息;3代表可选(激活);4代表等待课程安排;5代表课程已被删除;6代表教务科拒绝老师的申请;
2、是前台设计平台,它是对后台数据库的数据表进行操作(下为教师管理界面)
(图1)
学生管理界面:
分为选课操作子界面及查询成绩子界面。
(图2)
教务管理界面:
分成审批设置、分配课程资源、查询管理选课结果、期末成绩表四个子界面。
(图3)
上面三个管理界面右边的是后台数据库,通过Delphi6.0的控件Database、Table、Query、DataSource实现与后台数据库的数据表的连接,通过界面控制实现对数据库中的数据表的增、删、修改等操作来达到管理的目的。
学生信息管理子系统要解决的也是1、后台数据库:
先要构思出整个的数据流程图,再根据数据流程图来进行E-R图的设计,在此基础上最后进行实质性的工作:
数据库中数据表的字段的设计,才能在前台软件设计中依照Delphi6.0中的数据表控件Database、Table、Query、DataSource对后台数据库中的数据表进行操作,最终实现功能。
数据流程图如下:
转系、休学、复学、退学、毕业
学生统计记录
处分
记录
奖励
记录
学籍变更记录
奖学金评定
解除处分
处罚
教务处
学生个
人信息
入取
名单
个人信息
根据数据流程图,可以知道学生信息管理子系统所需的数据项和数据结构:
学生:
学号、姓名、性别、生日、籍贯、所在院系、所在班级
处罚记录:
记录号、级别、处罚对象、记录时间、详细描述、是否生效
奖励记录:
记录号、级别,处罚对象、记录时间、详细描述
学籍变更记录:
记录号、变更情况、记录对象、记录时间、详细描述
而外部数据支持:
班级:
班级编号、班级名称、所属院系
院系:
代码、名称
E-R(实体-关系模型):
是数据库结构设计常用的方法。
班级
1:
N
院系
1:
N
1:
N
处分记录
学籍变更记录
1:
N
1:
N
1:
N
1:
N
奖励记录
学生
根据上列的E-R图,可以基本设计出数据库中的十个数据表:
学生个人信息表、学籍变更信息表、奖励信息表、处罚记录信息表、院系信息表、班级信息表、学籍变动代码表、奖励等级代码表、处罚等级代码表、计数保存表。
在这十个数据表中
学籍变更代码表中:
0代表转系、1代表休学、2代表复学、3代表退学、4代表毕业。
奖励级别代码表中:
0代表校特等奖学金、1代表校一等奖奖学金、2代表校二等奖奖学金、3代表校三等奖奖学金、4代表系一等奖奖学金、5代表系二等奖奖学金、6代表系三等奖奖学金。
处罚级别代码中:
0代表警告、1代表严重警告、2代表记过、3代表记大过、4代表
开除。
2、前台管理界面:
新生入数据库的子界面,可以增加新生、删除学生记录、修改学生记录。
教师信
息数据
分配教师号
招聘新教师
岗位调整
人事变
动记录
人事科
个人信息查询
教师辞职
根据数据流程图,列出数据项和数据结构:
员工信息:
人事变动:
部门设置:
N:
1
E-R(实体图):
是数据逻辑结构设计的基础。
N:
1
系别
教师
人事变动记录
变动时间
1:
1
再根据实体图,设计出数据库的逻辑结构设计:
员工个人信息表、人事变动记录表、受教育程序表、职务代码表、人事变动代码表、计数器表、部门信息表等七个表。
考勤管理子系统:
月度员工考勤统计表
教师
出勤
记录
记录出勤
时间
数据流图:
教师
得出各种统计数据表来
请假、值班、出差
记录
请假、值班、出差
请假、值班、出差
考勤科管理人员
上下班时间安排
考勤员
人事科审批
根据数据流图:
知道子系统需要以下数据项和数据结构:
出勤记录:
请假记录:
加班记录:
出差记录:
月度考勤统计:
人员信息:
部门设置:
得出E-R图来:
教师
N:
1
N:
1
N:
1
N:
1
N:
1
加班记录
请假记录
月度考勤
统计
出勤记录
出差记录
根据E-R图:
知道系统需要以下五个数据表:
出勤记录表;出差记录表;加班记录表;请假记录表;月度考勤统计表;其中计数器表中的N为班次安排编号,A为出勤记录编号,O为加班记录编号,L为请假记录编号,E为出差记录编号,S为考勤统计编号;
第五章系统实现技术:
分模块地描述系统各部分的实现方法:
主界面:
unitstudent;
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,ComCtrls,DB,DBTables,StdCtrls,Menus;
type
TForm2=class(TForm)
MainMenu1:
TMainMenu;
N1:
TMenuItem;
N2:
TMenuItem;
N3:
TMenuItem;
N4:
TMenuItem;
N7:
TMenuItem;
N5:
TMenuItem;
N8:
TMenuItem;
N6:
TMenuItem;
N9:
TMenuItem;
GroupBox1:
TGroupBox;
Label2:
TLabel;
Edit1:
TEdit;
StatusBar1:
TStatusBar;
Label1:
TLabel;
N10:
TMenuItem;
N11:
TMenuItem;
N12:
TMenuItem;
N13:
TMenuItem;
Label3:
TLabel;
Label4:
TLabel;
procedureN2Click(Sender:
TObject);
procedureN3Click(Sender:
TObject);
procedureN4Click(Sender:
TObject);
procedureN8Click(Sender:
TObject);
procedureN9Click(Sender:
TObject);
procedureEdit1Change(Sender:
TObject);
procedureN10Click(Sender:
TObject);
procedureN11Click(Sender:
TObject);
procedureN7Click(Sender:
TObject);
procedureN13Click(Sender:
TObject);
procedureN12Click(Sender:
TObject);
procedureFormCreate(Sender:
TObject);
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
Form2:
TForm2;
info:
string;
implementation
usesteach,stinfo,teacher,use,copyrights,teacherlogin,studentlogin,
jiaowuke,jiaowu,studentsys,studentsystem,jiaohelp,renhelp,kaoqi,
kaohelp;
{$R*.dfm}
procedureTForm2.N2Click(Sender:
TObject);
begin
ifform2.Edit1.Text=''then
showmessage('请先输入学校名称')
else
begin
form2.Hide;
form7.show;
end;
end;
procedureTForm2.N3Click(Sender:
TObject);
begin
ifform2.Edit1.Text=''then
showmessage('请先输入学校名称')
else
begin
form2.Hide;
form3.show;
end;
end;
procedureTForm2.N4Click(Sender:
TObject);
begin
ifform2.Edit1.Text=''then
showmessage('请先输入学校名称')
else
begin
form2.hide;
form4.show;
end;
end;
procedureTForm2.N8Click(Sender:
TObject);
begin
ifform2.Edit1.Text=''then
showmessage('请先输入学校名称')
else
form5.show;
end;
procedureTForm2.N9Click(Sender:
TObject);
begin
ifform2.Edit1.Text=''then
showmessage('请先输入学校名称')
else
form6.show;
end;
procedureTForm2.Edit1Change(Sender:
TObject);
begin
info:
=form2.Edit1.Text;
form2.Caption:
=info+'学校管理系统';
form7.Caption:
=info+'学校学生个人情况管理系统';
form3.caption:
=info+'学校教学管理系统进入页面';
form4.Caption:
=info+'学校教师人事管理系统';
form6.Caption:
='此管理应用系统版权说明';
form5.Caption:
=info+'学校学生个人情况系统使用帮助';
form8.caption:
=info+'教师课程管理应用系统登录';
form9.caption:
=info+'学生选课管理应用系统登录';
form10.caption:
=info+'教务科课程调度应用系统登录';
form11.caption:
=info+'教务科课程调度应用系统';
form12.caption:
=info+'教师课程管理应用系统';
form13.caption:
=info+'学生选课管理应用系统';
form15.caption:
=info+'学校教务科管理系统使用帮助';
form16.caption:
=info+'学校人事管理系统使用帮助';
form22.caption:
=info+'学校教师考勤管理系统';
form23.caption:
=info+'学校教师考勤管理系统使用帮助';
end;
procedureTForm2.N10Click(Sender:
TObject);
begin
ifform2.Edit1.Text=''then
showmessage('请先输入学校名称')
else
form15.show;
end;
procedureTForm2.N11Click(Sender:
TObject);
begin
ifform2.Edit1.Text=''then
showmessage('请先输入学校名称')
else
form16.show;
end;
procedureTForm2.N7Click(Sender:
TObject);
begin
ifform2.Edit1.Text=''then
showmessage('请先输入学校名称')
else
form22.show;
end;
procedureTForm2.N13Click(Sender:
TObject);
begin
ifform2.Edit1.Text=''then
showmessage('请先输入学校名称')
else
form23.show;
end;
procedureTForm2.N12Click(Sender:
TObject);
begin
close;
end;
procedureTForm2.FormCreate(Sender:
TObject);
begin
end;
end.
1.学生学籍管理子系统:
进入学生学籍信管理系统之后,就可以出现一个界面:
学生情况变动表中提交模块:
ifT_stud_info_1.RecordCount>0then//判断输入的学号是否存在
begin
T_counter_c.Open; //如果存在,开始追加记录
counter:
=T_counter)c[‘COUNTER_VALUE’];//获取记录值
Inc(counter); //增加记录值
T_counter_c.Edit; //编缉记录值
T_counter_c[‘COUNTER_VALUE’]:
=counter;//写入增加记录值到学籍变动表
T_counter_c.Post; //提交
T_counter_c.Open; //打开学籍变动表
学籍管理子系统的源代码如下:
unitstinfo;
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,DB,DBTables,ComCtrls,ExtCtrls,DBCtrls,Grids,DBGrids,
StdCtrls,Mask,Buttons;
type
TForm7=class(TForm)
PageControl1:
TPageControl;
TabSheet1:
TTabSheet;
TabSheet2:
TTabSheet;
TabSheet3:
TTabSheet;
TabSheet4:
TTabSheet;
TabSheet5:
TTabSheet;
Database1:
TDatabase;
T_student:
TTable;
DS_student:
TDataSource;
DBGrid1:
TDBGrid;
DBNavigator1:
TDBNavigator;
Label1:
TLabel;
T_stud_info_1:
TTable;
DS_stud_info_1:
TDataSource;
DS_class_info_1:
TDataSource;
DS_depart_info_1:
TDataSource;
T_class_info_1:
TTable;
T_depart_info_1:
TTable;
T_counter_c:
TTable;
T_change:
TTable;
i_stud_id_1:
TMaskEdit;
GroupBox1:
TGroupBox;
Label2:
TLabel;
Label3:
TLabel;
Label4:
TLabel;
DBText1:
TDBText;
DBText2:
TDBText;
DBText3:
TDBText;
i_change:
TRadioGroup;
i_descrip_1:
TMemo;
Label5:
TLabel;
Button1:
TButton;
Button2:
TButton;
SpeedButton2:
TSpeedButton;
Label6:
TLabel;
i_stud_id_4:
TMaskEdit;
L