资源描述
。
教务系统
摘 要
随着社会的发展,知识的指数级增长,各行各业都在寻求一种能够降低成本,提高办
事效率,提高业务水平的途径,本软件正是基于对这种的考虑才开发出来的。
教务管理是学校管理学生的主要工具,对教务的管理有着非常重要的意义,教务的管
理包含有很多的信息及数据的管理。数据信息处理工作量大,容易出错;由于数据繁多,
容易丢失,且不易查找,如果缺乏系统、规范的信息管理手段,将对教务的管理工作带来
很多麻烦。
基于目前计算机的普遍流行,如果使用计算机教务管理软件来管理各类信息,应相对
轻松得多。现代教务管理系统的开发就是在于提高教务管理的工作效率,加强教务的管理,
以全面实行计算机管理,这样以来,不但可以提高管理人员的工作效率,而且能安全、长
期地存储教师和学生信息等,便于信息的查找与管理。
-可编辑修改-
。
-可编辑修改-
目 录
摘 要 I
第1章 引言 2
1.1目的 2
1.2文档约定 2
1.3预期读者和阅读建议 3
1.4项目范围 3
1.5参考文献 3
第2章 可行性分析 4
2.1 人员安排 4
2.2技术要求 4
2.3 开发环境 4
2.3.1.软件环境 4
2.3.2.硬件环境 4
2.4 运行环境 4
2.4.1.软件环境 4
2.4.2.硬件环境 5
第3章 需求分析 6
3.1用户类别 6
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章 界面分析 17
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 T.Schutta,金灵译 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)
{
tm.Close();
}
if (sm != null)
{
sm.Close();
}
if (cm!= null)
{
cm.Close();
}
if (coum != null)
{
coum.Close();
}
if (dm != null)
{
dm.Close();
}
}
private void button1_Click(object sender, EventArgs e)
{
formvisible();
tm = new TeaMessage();
tm.MdiParent =this;
tm.Show();
}
private void button2_Click(object sender, EventArgs e)
{
formvisible();
sm = new StuMessage();
sm.MdiParent =this;
sm.Show();
}
private void button3_Click(object sender, EventArgs e)
{
formvisible();
cm = new ClassMessage();
cm.MdiParent = this;
cm.Show();
}
private void button4_Click(object sender, EventArgs e)
{
formvisible();
coum = new CourseMessage();
coum.MdiParent =this;
coum.Show();
}
private void button5_Click(object sender, EventArgs e)
{
formvisible();
dm = new DepartMessage();
dm.MdiParent = this;
dm.Show();
}
private void button6_Click(object sender, EventArgs e)
{
Pwd_Change pc = new Pwd_Change();
pc.ShowDialog();
}
private void button7_Click(object sender, EventArgs e)
{
this.Close();
}
private void Frm_Admin_FormClosing(object sender, FormClosingEventArgs e)
{
Application.Exit();
}
private void button8_Click(object sender, EventArgs e)
{
formvisible();
MessageSort ms = new MessageSort();
ms.MdiParent=this;
ms.textBox12.Text = "管理员";
ms.Show();
}
private void 计算器ToolStripMenuItem_Click(object sender, EventArgs e)
{
System.Diagnostics.Process.Start("calc.exe");
}
private void 记事本ToolStripMenuItem_Click(object sender, EventArgs e)
{
System.Diagnostics.Process.Start("notepad.exe");
}
private void 绘图板ToolStripMenuItem_Click(object sender, EventArgs e)
{
System.Diagnostics.Process.Start("mspaint.exe");
}
private void 蓝色天空ToolStripMenuItem_Click(object sender, EventArgs e)
{
skinEngine1.SkinFile = "DiamondBlue.ssk";
}
private void 绿色心情ToolStripMenuItem_Click(object sender, EventArgs e)
{
skinEngine1.SkinFile = "DiamondGreen.ssk";
}
private void MSNToolStripMenuItem_Click(object sender, EventArgs e)
{
skinEngine1.SkinFile = "MSN.ssk";
}
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)
{
}
EBLL.User u;
EModel.Teacher t;
public void real()
{
textBox24.ReadOnly = true;
textBox23.ReadOnly = true;
textBox13.ReadOnly = true;
textBox22.ReadOnly = true;
textBox21.ReadOnly = true;
textBox20.ReadOnly = true;
textBox19.ReadOnly = true;
textBox18.ReadOnly = true;
textBox17.ReadOnly = true;
textBox16.ReadOnly = true;
textBox15.ReadOnly = true;
textBox14.ReadOnly = true;
}
public void noreal()
{
textBox24.ReadOnly = false;
textBox23.ReadOnly = false;
textBox13.ReadOnly = false;
textBox22.ReadOnly = false;
textBox21.ReadOnly = false;
textBox20.ReadOnly = false;
textBox19.ReadOnly = false;
textBox18.ReadOnly = false;
textBox17.ReadOnly = false;
textBox16.ReadOnly = false;
textBox15.ReadOnly = false;
textBox14.ReadOnly = false;
}
private void TeaMessage_Load(object sender, EventArgs e)
{
this.WindowState = FormWindowState.Maximized;
u=new EBLL.User();
dataGridView1.DataSource = u.TeaMessage_Select("");
real();
}
public void UIModel()
{
//t = new EModel.Teacher();
//string Id = ((DataRowView)this.BindingContext[dataGridView1.DataSource].Current)[0].ToString();
//dt = u.TeaMessage_Select("teaid='"+Id+"'");
int id = this.dataGridView1.CurrentRow.Index;
textBox24.Text = dataGridView1[0,id].Value.ToString();
textBox23.Text = dataGridView1[1, id].Value.ToString();
comboBox2.Text = dataGridView1[2, id].Value.ToString();
if (dataGridView1[3, id].Value.ToString() != "")
{
dateTimePicker4.Value = DateTime.Parse(dataGridView1[3, id].Value.ToString());
}
textBox13.Text = dataGridView1[4,id].Value.ToString();
textBox22.Text = dataGridView1[5,id].Value.ToString();
textBox21.Text = dataGridView1[6,id].Value.ToString();
textBox20.Text = dataGridView1[7,id].Value.ToString();
textBox19.Text = dataGridView1[8,id].Value.ToString();
textBox18.Text = dataGridView1[9,id].Value.ToString();
if (dataGridView1[10, id].Value.ToString() != "")
{
dateTimePicker3.Value = DateTime.Parse(dataGridView1[10, id].Value.ToString());
}
textBox17.Text =dataGridView1[11,id].Value.ToString();
textBox16.Text = dataGridView1[12,id].Value.ToString();
textBox15.Text = dataGridView1[13,id].Value.ToString();
textBox14.Text = dataGridView1[14,id].Value.ToString();
}
private void button4_Click(object sender, EventArgs e)
{
u = new EBLL.User();
button1.Text = "添加";
button2.Text = "修改";
string strWhere = "teaid like '%" + textBox1.Text + "%'";
dataGridView1.DataSource = u.TeaMessage_Select(strWhere);
}
private void button2_Click(object sender, EventArgs e)
{
if (button2.Text == "修改")
{
noreal();
button2.Text = "保存";
button1.Text = "添加";
}
else
{
u = new EBLL.User();
t = new EModel.Teacher();
t.teaid = textBox24.Text;
t.teaname = textBox23.Text;
t.teasex = comboBox2.Text;
t.birthday = dateTimePicker4.Value;
t.minzu = textBox13.Text;
t.teahome = textBox22.Text;
t.mianmao = textBox21.Text;
t.xueli = textBox20.Text;
t.profession = textBox19.Text;
t.graduateschool = textBox18.Text;
t.graduatetime = dateTimePicker3.Value;
t.telephone = textBox17.Text;
t.address = textBox16.Text;
t.personid = textBox15.Text;
t.myid = textBox14.Text;
u.TeaMessage_Updata(t, ((DataRowView)this.BindingContext[dataGridView1.DataSource].Current)[0].ToString());
MessageBox.Show("恭喜你,修改成功!");
button2.Text = "修改";
TeaMessage_Load(new object(), new EventArgs());
}
}
private void button1_Click(object sender, EventArgs e)
{
if (button1.Text == "添加")
{
textBox24.Text = "";
textBox23.Text = "";
textBox13.Text = "";
textBox22.Text = "";
textBox21.Text = "";
textBox20.Text = "";
textBox19.Text = "";
textBox18.Text = "";
textBox17.Text
展开阅读全文