2024年1月17日发(作者:)

教务系统

摘 要

随着社会的发展,知识的指数级增长,各行各业都在寻求一种能够降低成本,提高办

事效率,提高业务水平的途径,本软件正是基于对这种的考虑才开发出来的。

教务管理是学校管理学生的主要工具,对教务的管理有着非常重要的意义,教务的管

理包含有很多的信息及数据的管理。数据信息处理工作量大,容易出错;由于数据繁多,

容易丢失,且不易查找,如果缺乏系统、规范的信息管理手段,将对教务的管理工作带来

很多麻烦。

基于目前计算机的普遍流行,如果使用计算机教务管理软件来管理各类信息,应相对

轻松得多。现代教务管理系统的开发就是在于提高教务管理的工作效率,加强教务的管理,

以全面实行计算机管理,这样以来,不但可以提高管理人员的工作效率,而且能安全、长

期地存储教师和学生信息等,便于信息的查找与管理。

I

目 录

摘 要 .............................................................................................................................................. I

第1章

引言 ............................................................................................................................... 3

1.1目的 ...................................................................................................................................... 3

1.2文档约定 ............................................................................................................................... 3

1.3预期读者和阅读建议 ........................................................................................................... 3

1.4项目范围 ............................................................................................................................... 4

1.5参考文献 ............................................................................................................................... 4

第2章 可行性分析 ....................................................................................................................... 4

2.1

人员安排 ............................................................................................................................. 4

2.2技术要求 .............................................................................................................................. 5

2.3

开发环境 ............................................................................................................................. 5

2.3.1.软件环境 ............................................................................................................................ 5

2.3.2.硬件环境 ............................................................................................................................ 5

2.4

运行环境 ............................................................................................................................. 5

2.4.1.软件环境 ......................................................................................................................... 5

2.4.2.硬件环境 ............................................................................................................................ 5

第3章 需求分析 ........................................................................................................................... 5

3.1用户类别 .................................................................................................................................. 5

3.1.1学生 ...................................................................................................................................... 6

3.1.2教师 ........................................................................................................................................ 8

3.1.3管理员 .................................................................................................................................... 7

3.1.4教务人员 ................................................................................................................................ 9

3.2功能需求 ................................................................................................................................. 10

3.2.1学生端 .................................................................................................................................. 11

3.2.2教师端 .................................................................................................................................. 12

3.2.3管理员端 .............................................................................................................................. 13

3.2.4教务人员端 .......................................................................................................................... 14

第4章 数据库设计 ..................................................................................................................... 15

4.1数据表 ................................................................................................................................ 16

第5章 界面分析 ........................................................................................................................... 9

5.1 管理员界面 ............................................................................................................................ 17

5.2 教务处界面 .......................................................................................................................... 18

第6章 结束语 ............................................................................................................................. 18

附录A: 主要源程序.................................................................................................................... 19

第1章 引言

本文档第一章为引言部分,介绍本项目的开发目的和本文档的格式约定以及阅读群和阅读建议。第二章到第五章分别介绍了本项目的功能需求以及系统设计。是对本项目详细综合的描述。后有附表A对本文档内的专业词汇进行解释。附表B对待解决问题进行陈列。

1.1目的

应各大学校所需 ,现在学生人数不断上升,教务人员对学生信息的管理量也越来越大,传统的手工录入工作量繁重 浪费时间质量也不很理想,已经越来越不现实。

基于以上情况下,设计一个完善的教务管理系统以提高工作效率,并且提高正确率,也对出错后的查询和纠错提供方便。而且可以排除一切人为因素。

1.2文档约定

正文应按目录中编排的章节依次撰写,要求表达正确,论述清楚,文字简练通顺,插图简明,书写整洁。页眉部分(姓名:项目名称)小五号宋体。

标题的中文字体是黑体,英文字体是Times New Roman,标题1是三号,标题2是四号,标题3是小四。

正文的中文字体是宋体,英文字体是Times New Roman,字号是小四。行间距是1.5倍行间距。

文中图、表及公式不能徒手绘制和书写,图的标记在图的下方,表的标记在表的上方,要求为5号宋体字。编号由两部分组成,例如图2.1,表示第二章的第1张图。

1.3预期读者和阅读建议

本文档预期读者为软件学院管理员,以及下一届软件学院对该产品进行维护的学生。建议先对本校机房管理流程进行了解,然后由功能需求开始阅读。当了解全部操作流程后再对软件该软件内部资料进行阅读,以便更快更深刻的理解

该软件。这样可以快速掌握使用方法。也可以快速深刻的了解软件工作机制,以便于维护。

1.4项目范围

该项目目前仅适用于中原工学院软件学院免费机房。

1.5参考文献

[01]马煜 陈海军 朱朝阳 Visual C#.NET案例开发集锦[M].北京:电子工业出版社

2008.4

[02]郭东恩 数据库原理及应用 [M].郑州:河南科学技术出版社 2008.2

[03]Ryan Asleson,Nathaniel a,金灵译 ajax基础教程 [M]:人民邮电出版社

2006.2

[04]于慧 Dreamweaver CS3标准教程 [M].北京:中国青年电子出版社2008.1

第2章 可行性分析

2.1 人员安排

项目组员3人:

2.2技术要求

要求掌握C#基本语法,Windows高级应用程序开发。 Access 2003语言的掌握。

2.3 开发环境

2.3.1.软件环境

所用操作系统为Widows XP。编程软件为Visual Studio 2005(Framwork2.0)及Access 2003。美化软件为Photoshop CS3和Dreamweaver CS3。

2.3.2.硬件环境

奔4处理器,128内存,10G硬盘

2.4 运行环境

2.4.1.软件环境

Framework2.0或以上版本,Access 2003或以上版本。IE5或以上版本

2.4.2.硬件环境

奔4处理器,512内存,15G硬盘。

第3章 需求分析

3.1用户类别

本系统分为4个角色:教师、管理员、学生、教务人员

1、教务人员排课、调课、汇总各类考试成绩

2、学生选课、查看考试成绩及选课情况,

3、管理员管理各类用户基本信息,以及各类查询统计等功能。

4、一般教师查看课程表、打印学生名单、录入考试成绩,

3.2功能需求

3.2.1学生

1.根据自己的学号和密码在客户端登录。

2.查看个人的学籍信息

3.个人成绩的查看查看自己本学期的考试成绩及自己的选课情况

4.进行选课操作

5.修改自己的登录信息(密码)

6.查看公告

7.课程表查看

3.2.2教师

1. 根据管理员提供的口令账号密码登陆系统

2. 查看自己的个人档案信息

3. 查看自己的课程表/设置自己的课程表

4. 查看/添加学生的成绩并进行打印输出等操作,

5. 查看公告

6. 修改自己的登录信息(密码)

7. 退出系统

3.2.3管理员

1.根据自己的口令及密码登陆系统

2.对教师信息的管理(对教师信息的增、删、改、查、打印、导出等操作)

3.对学生信息的管理(对教师信息的增、删、改、查、打印、导出等操作)

4.对班级信息的管理(对教师信息的增、删、改、查、打印、导出等操作)

5.对课程信息的管理(对教师信息的增、删、改、查、打印、导出等操作)

6.对专业信息的管理(对教师信息的增、删、改、查、打印、导出等操作)

7.发布公告

8.修改个人登录密码

9.退出系统

3.2.4教务人员

1. 根据自己的口令及密码登陆系统

2. 教师排课:安排教室上课地点,上课时间,上课班级。

3. 教师调课:临时调课和长期调课

4. 成绩统计打印并输出或者导出Excel表格的形式

5. 发布公告、查看公告

6. 修改 密码

7. 退出系统

第4章 数据库设计

本系统的数据库主要使用的是Access 2003 数据完成,数据库各表如下所示:

班级信息表如下表4-1所示:

字段名称

classid

classname

department

classtea

fudaoyuan

classmount

表4-1 class

数据类型

文本

文本

文本

文本

文本

文本

说明

课程信息表如下表4-2所示

字段名称 数据类型

courseid 文本

coursename 文本

coursegold 文本

attribute 文本

examtype 文本

classaddress 文本

coursetime 文本

classdate 文本

teaname 文本

leibie 文本

classname 文本

表4-2 course

课程表信息表如下表4-3所示

字段名称 数据类型

文本

uid

unum 文本

unote 文本

表4-3 coursetable

公告信息表如下表4-4所示

字段名称 数据类型

newdate 文本

newperson 文本

newtitle 文本

newnote 文本

表4-4 news

专业表如下表4-5所示

字段名称 数据类型

profeid

profename

department

文本

文本

文本

表4-5 profession

成绩表如下表4-6所示

字段名称 数据类型

stuid 文本

stuname 文本

classname 文本

courseid 文本

coursename 文本

gold 文本

表4-6 score

第5章 系统设计

5.1管理员界面

管理员界面主要功能有:根据自己的口令及密码登陆系统,对教师信息的管理(对教师信息的增、删、改、查、打印、导出等操作),对学生信息的管理(对教师信息的增、删、改、查、打印、导出等操作),对班级信息的管理(对教师信息的增、删、改、查、打印、导出等操作),对课程信息的管理(对教师信息的增、删、改、查、打印、导出等操作),对专业信息的管理(对教师信息的增、删、改、查、打印、导出等操作),发布公告,修改个人登录密码,退出系统,如下图:

5-1 管理员主界面

管理员端教师信息管理界面如下:

5-2 教师信息管理界面

管理员端班级信息管理界面如下:

5-3 班级信息管理界面

管理员端课程信息管理界面如下:

5-4 课程信息管理界面

5-5 专业信息管理界面

5-6 学生信息管理界面

5-7 教务处发布公告界面

5-7 教务处查看公告界面

5.2教务处界面

教务处界面主要功能有:根据自己的口令及密码登陆系统,教师排课,教师调课,成绩统计打印并输出或者导出Excel表格的形式,发布公告、查看公告,

修改密码,退出系统

教务处发布公告界面如上:

5-8 教务处密码修改界面

第六章结束语

经过三个星期的三级课题实训,我们小组完成了申报的教务管理系统,这个系统主要包含了四种身份的功能。管理员端,教师端,学生端和教务处端。每一种身份都有不同的功能。在这个课题中我主要负责管理员端的整体设计。管理员的主要功能包括:1.教师信息管理。2.学生信息管理。3.班级信息管理。4.课程信息管理。5.专业信息管理。6.发布公告。7.修改个人密码。8.管理员小帮手(计算器、绘图板、记事本)功能。以上功能都已在系统中实现。

在这三个星期中我们小组在一起工作,从开始的设计分工到最后的调试都合作得很愉快,因为我们这个系统的功能很多并且有部分功能以前没有接触过,所以大家在开始设计的时候都想过把这个系统做的尽量很完善,三级实训也是我们在校期间做的最后一次练习,大家都看得很重,一年半的学习让我们对编程这一学科产生了很大的兴趣,从开始的只能打印图形到现在的系统编程,让我们慢慢的对知识掌握的更丰富在课题编码的工程中也遇到了很棘手的问题,用了大量的时间去解决,不会的地方就翻书查找,在网上寻求帮助,最终把问题解决。时间过得很快,在让老师验收的前一天晚上我们的系统才通过最终的调试,没有异常。有几天晚上工作到最后熄灯,虽然

大家都比较累,可是看到系统最终完成我们真的很开心,每一次解决一个问 题心中都非常激动,在这个系统编写的过程中我们还有很多不足,代码填写的时候没有考虑全面,造成最后的调试带来很多麻烦。这也让我们学会了很多帮助,更加熟练的运用调试功能。

经过这次的实训,我更加明确了自己以后努力的方向,这一学科的知识很广阔,需要不断的学习,另外就是要学会把别人的东西拿来自己用,还要会用,在这三个星期的过程中我也学会了很多,对以后的编码有很大的用处,以后我会多看一些关于软件开发的书籍,在网上也要涉猎一些功能的开发案例多做学习。让自己的专业知识得到扩充。

指导教师评语

指导教师签名:

年 月 日

附录A: 主要源程序

管理员端主界面代码如下:

namespace EduManagement

{

public partial class Frm_Admin : Form

{

public Frm_Admin()

{

InitializeComponent();

}

TeaMessage tm;

StuMessage sm;

ClassMessage cm;

CourseMessage coum;

DepartMessage dm;

public void formvisible()

{

if (tm != null)

{

();

}

if (sm != null)

{

();

}

if (cm!= null)

{

();

}

if (coum != null)

{

();

}

if (dm != null)

{

();

}

}

private void button1_Click(object sender, EventArgs e)

{

formvisible();

tm = new TeaMessage();

ent =this;

();

}

private void button2_Click(object sender, EventArgs e)

{

formvisible();

sm = new StuMessage();

ent =this;

();

}

private void button3_Click(object sender, EventArgs e)

{

formvisible();

cm = new ClassMessage();

ent = this;

();

}

private void button4_Click(object sender, EventArgs e)

{

formvisible();

coum = new CourseMessage();

ent =this;

();

}

private void button5_Click(object sender, EventArgs e)

{

formvisible();

dm = new DepartMessage();

ent = this;

();

}

private void button6_Click(object sender, EventArgs e)

{

Pwd_Change pc = new Pwd_Change();

alog();

}

private void button7_Click(object sender, EventArgs e)

{

();

}

private void Frm_Admin_FormClosing(object sender, FormClosingEventArgs e)

{

();

}

private void button8_Click(object sender, EventArgs e)

{

formvisible();

MessageSort ms = new MessageSort();

ent=this;

= "管理员";

();

}

private void 计算器ToolStripMenuItem_Click(object sender, EventArgs e)

{

("");

}

private void 记事本ToolStripMenuItem_Click(object sender, EventArgs e)

{

("");

}

private void 绘图板ToolStripMenuItem_Click(object sender, EventArgs e)

{

("");

}

private void 蓝色天空ToolStripMenuItem_Click(object sender, EventArgs e)

{

le = "";

}

private void 绿色心情ToolStripMenuItem_Click(object sender, EventArgs e)

{

le = "";

}

private void MSNToolStripMenuItem_Click(object sender, EventArgs e)

{

le = "";

}

private void Frm_Admin_Load(object sender, EventArgs e)

{

}

}

}

教师信息管理界面层代码如下:

namespace EduManagement

{

public partial class TeaMessage : Form

{

public TeaMessage()

{

InitializeComponent();

}

private void splitContainer1_SplitterMoved(object sender, SplitterEventArgs e)

{

}

u;

r t;

public void real()

{

ly = true;

ly = true;

ly = true;

ly = true;

ly = true;

ly = true;

ly = true;

ly = true;

ly = true;

ly = true;

ly = true;

ly = true;

}

public void noreal()

{

ly = false;

ly = false;

ly = false;

ly = false;

ly = false;

ly = false;

ly = false;

ly = false;

ly = false;

ly = false;

ly = false;

ly = false;

}

private void TeaMessage_Load(object sender, EventArgs e)

{

State = zed;

u=new ();

urce = sage_Select("");

real();

}

public void UIModel()

{

//t = new r();

//string Id

((DataRowView)gContext[urce].Current)[0].ToString();

//dt = sage_Select("teaid='"+Id+"'");

int id = ;

= dataGridView1[0,id].ng();

= dataGridView1[1, id].ng();

= dataGridView1[2, id].ng();

if (dataGridView1[3, id].ng() != "")

{

= (dataGridView1[3, id].ng());

}

= dataGridView1[4,id].ng();

= dataGridView1[5,id].ng();

= dataGridView1[6,id].ng();

= dataGridView1[7,id].ng();

= dataGridView1[8,id].ng();

= dataGridView1[9,id].ng();

if (dataGridView1[10, id].ng() != "")

{

= (dataGridView1[10, id].ng());

=

}

=dataGridView1[11,id].ng();

= dataGridView1[12,id].ng();

= dataGridView1[13,id].ng();

= dataGridView1[14,id].ng();

}

private void button4_Click(object sender, EventArgs e)

{

u = new ();

= "添加";

= "修改";

string strWhere = "teaid like '%" + + "%'";

urce = sage_Select(strWhere);

}

private void button2_Click(object sender, EventArgs e)

{

if ( == "修改")

{

noreal();

= "保存";

= "添加";

}

else

{

u = new ();

t = new r();

= ;

e = ;

= ;

ay = ;

= ;

e = ;

o = ;

= ;

sion = ;

teschool = ;

tetime = ;

one = ;

s = ;

id = ;

= ;

sage_Updata(t,

((DataRowView)gContext[urce].Current)[0].ToString());

("恭喜你,修改成功!");

= "修改";

TeaMessage_Load(new object(), new EventArgs());

}

}

private void button1_Click(object sender, EventArgs e)

{

if ( == "添加")

{

= "";

= "";

= "";

= "";

= "";

= "";

= "";

= "";

= "";

= "";

= "";

= "";

noreal();

= "保存";

= "修改";

}

else

{

u = new ();

t = new r();

= ;

e = ;

= ;

ay = ;

= ;

e = ;

o = ;

= ;

sion = ;

teschool = ;

tetime = ;

one = ;

s = ;

id = ;

= ;

sage_Add(t);

("恭喜你,添加成功!");

= "添加";

TeaMessage_Load(new object(), new EventArgs());

}

}

private void button3_Click(object sender, EventArgs e)

{

u = new ();

DialogResult dlgresult;

= "添加";

= "修改";

//int id=;

//if (dataGridView1[0, id].ng() == null)

//{

// ("请选择所要删除的信息", "确认", );

//}

//else

//{

dlgresult = ("确实要删除该记录吗?", "确认",

);

if (dlgresult == )

{

sage_Delete(((DataRowView)gContext[urce].Current)[0].ToString());

}

sage_Load(new object(),new EventArgs());

//}

}

private void button5_Click(object sender, EventArgs e)

{

SaveFileDialog saveFileDialog = new SaveFileDialog();

= "Execl files (*.xls)|*.xls";

Index = 0;

eDirectory = true;

Prompt = true;

= "导出Excel文件到";

DateTime now = ;

me = ng().PadLeft(2)

+ ng().PadLeft(2, '0')

+ ng().PadLeft(2, '0') + "-"

+ ng().PadLeft(2, '0')

+ ng().PadLeft(2, '0')

+ ng().PadLeft(2, '0');

alog();

Stream myStream;

myStream = le();

StreamWriter sw = new StreamWriter(myStream, oding("gb2312"));

string str = "";

try

{

//写标题

for (int i = 0; i < Count; i++)

{

if (i > 0)

{

str += "t";

}

str += s[i].HeaderText;

}

ine(str);

//写内容

for (int j = 0; j < -1; j++)

{

string tempStr = "";

for (int k = 0; k < ; k++)

{

if (k > 0)

{

tempStr += "t";

}

tempStr += [j].Cells[k].ng();

}

ine(tempStr);

}

();

();

}

catch (Exception ex)

{

(ng());

}

finally

{

();

();

}

}

private void dataGridView1_CellLeave(object sender, DataGridViewCellEventArgs e)

{

}

private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e)

{

UIModel();

= "添加";

= "修改";

}

private void button6_Click(object sender, EventArgs e)

{

print p = new print();

(dataGridView1);

alog();

}

}

}

班级信息管理界面层代码如下:

namespace EduManagement

{

public partial class ClassMessage : Form

{

public ClassMessage()

{

InitializeComponent();

}

private void splitContainer1_Panel1_Paint(object sender, PaintEventArgs e)

{

}

u;

g;

DataTable dt;

public void real()

{

ly = true;

ly = true;

ly = true;

ly = true;

ly = true;

}

public void noreal()

{

ly = false;

ly = false;

ly = false;

ly = false;

ly = false;

}

private void ClassMessage_Load(object sender, EventArgs e)

{

State = zed;

combox1();

u = new ();

urce = essage_Select("");

real();

}

public void combox1()

{

u = new ();

dt = new DataTable();

dt = sion_Select("");

for (int i = 0; i < ; i++)

{

([i][1]);

}

}

public void UIModel()

{

//g = new ();

// string Id =

((DataRowView)gContext[urce].Current)[0].ToString();

int id = ;

// dt = essage_Select("classid='" + Id + "'");

= dataGridView1[0,id].ng();

= dataGridView1[1, id].ng();

= dataGridView1[2, id].ng();

= dataGridView1[3, id].ng();

= dataGridView1[4, id].ng();

= dataGridView1[5, id].ng();

}

private void button4_Click(object sender, EventArgs e)

{

u = new ();

= "添加";

= "修改";

string strWhere = "classid like '%" + + "%'";

urce = essage_Select(strWhere);

}

private void button2_Click(object sender, EventArgs e)

{

if ( == "修改")

{

noreal();

= "保存";

= "添加";

}

else

{

u = new ();

g = new ();

ame = ;

d = ;

ment = ;

ea = ;

uan = ;

ount = ;

essage_Updata(g,

((DataRowView)gContext[urce].Current)[0].ToString());

("恭喜你,修改成功!");

= "修改";

ClassMessage_Load(new object(), new EventArgs());

}

}

private void panel2_Paint(object sender, PaintEventArgs e)

{

}

private void button1_Click(object sender, EventArgs e)

{

if ( == "添加")

{

= "";

= "";

= "";

= "";

= "";

= "";

noreal();

= "保存";

= "修改";

}

else

{

u = new ();

g = new ();

ame = ;

d = ;

ment = ;

ea = ;

uan = ;

ount = ;

essage_Add(g);

("恭喜你,添加成功!");

= "添加";

ClassMessage_Load(new object(), new EventArgs());

}

}

private void button3_Click(object sender, EventArgs e)

{

u = new ();

DialogResult dlgresult;

= "添加";

= "修改";

//int id=;

//if (dataGridView1[0, id].ng() == null)

//{

// ("请选择所要删除的信息", "确认", );

//}

//else

//{

dlgresult = ("确实要删除该记录吗?", "确认",

);

if (dlgresult == )

{

essage_Delete(((DataRowView)gContext[urce].Current)[0].ToString());

}

//}

ClassMessage_Load(new object(), new EventArgs());

}

private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e)

{

UIModel();

}

private void button5_Click(object sender, EventArgs e)

{

SaveFileDialog saveFileDialog = new SaveFileDialog();

= "Execl files (*.xls)|*.xls";

Index = 0;

eDirectory = true;

Prompt = true;

= "导出Excel文件到";

DateTime now = ;

me = ng().PadLeft(2)

+ ng().PadLeft(2, '0')

+ ng().PadLeft(2, '0') + "-"

+ ng().PadLeft(2, '0')

+ ng().PadLeft(2, '0')

+ ng().PadLeft(2, '0');

alog();

Stream myStream;

myStream = le();

StreamWriter sw = new StreamWriter(myStream, oding("gb2312"));

string str = "";

try

{

//写标题

for (int i = 0; i < Count; i++)

{

if (i > 0)

{

str += "t";

}

str += s[i].HeaderText;

}

ine(str);

//写内容

for (int j = 0; j < -1; j++)

{

string tempStr = "";

for (int k = 0; k < ; k++)

{

if (k > 0)

{

tempStr += "t";

}

tempStr += [j].Cells[k].ng();

}

ine(tempStr);

}

();

();

}

catch (Exception ex)

{

(ng());

}

finally

{

();

();

}

}

private void button6_Click(object sender, EventArgs e)

{

print p = new print();

(dataGridView1);

alog();

}

}

}

信息发布代码如下:

namespace EduManagement

{

public partial class MessageSort : Form

{

public MessageSort()

{

InitializeComponent();

}

u;

private void button18_Click(object sender, EventArgs e)

{

if ( == "")

{

("请写入发布主题!");

}

else if (() == "")

{

("请写入发布内容!");

}

else

{

string[] var ={ ng(), "管理员", ().ToString(),

().ToString() };

try

{

u = new ();

e_Add(var);

("消息发布成功!");

();

();

}

catch (Exception ex)

{

(e);

}

}

}

private void MessageSort_Load(object sender, EventArgs e)

{

State = zed;

}

}

}

成绩: