教务管理系统的设计与实现毕业论文.doc
教务管理系统 毕业设计(论文)题 目: 教务管理系统的设计与实现 姓 名:学 号: 系 (院): 信息工程学院 专业班级: 计算机应用技术 指导老师: 完成时间 教务管理系统摘 要 在中国随着教育体制的逐步完善,学校规模在不断的扩大,在校学生的增多以及在校老师数量的增加也加大了教务管理的难度,不管是教师信息、学生信息、查询起来非常麻烦,通过传统的数据管理方法很难对所有信息进行整合。然后长期以来学生管理工作一直是采用人工传统管理,效率低,保密性差。所以随着技术的发展,教务管理已经慢慢的由单纯的人工管理向与计算机结合的方向发展,对此我们需要开发一款基于计算机技术的教务管理系统。本系统以Visual S2005和Microsoft SQL Server2000为主要开发平台,从用户的角度出发,对教师、学生进行全面的整合,对教务管理系统进行全面的分析。主要功能包括老师信息查询、学生信息查询、教师发布、添加修改学生成绩信息,以及学生查询课程安排。本系统是利用(c#)进行编写,界面清晰、明了,操作简单,方便实用。【关键字】: 教学管理系统、教务管理、SQL The educational administration management system Abstract In China with the education system gradually perfect, the school continued to expand in size, increasing the number and the teachers in the school students have also increased the difficulty of educational management, whether teachers information, student information, query up very troublesome, through the data management of traditional method is very difficult to integrate all the information. And then a long time student management work has been using the traditional manual management, low efficiency, poor security. So with the development of technology, educational management has gradually formed by the combination of simple artificial management and computer development, we need to develop an educational administration system based on computer technology. This system with Visual S2005 and Microsoft SQL Server2000 as the main development platform, from the user's point of view, carries on the comprehensive integration of teachers, students, makes a comprehensive analysis of the educational administration management system. The main functions include the teacher information, student information query, add, modify the release of teachers and student achievement information, arrange students to query course. Key words : management information system, educational administration management, , SQL 目 录中文摘要 英文摘要 教务管理系统2摘要2Abstract3目录4第一章 系统总概述61.1 系统的可行性分析61.1.1 系统需求分析61.1.2 可行性分析61.2 系统的模块及功能71.2.1 项目规划71.3 系统的开发目的7第二章 对系统的总流程剖析82.1 系统运行流程82.2 数据流程分析82.3 数据运行储存图:E-R图102.4 系统运行功能分析:功能流程层次图11第三章 系统思路设计123.1 系统模块组成分析123.1.1. 系统功能模块分析123.1.2. 软件结构分析133.2 数据库设计13 3.2.1. 本系统中所涉及到的主要实体共有四个数据表13第四章 系统所能实现的功能154.1 系统登陆界面模块剖析164.2 系统应用主界面剖析194.3 用户管理模块204.4 教师模块组成234.5 学生模块组成:254.6 成绩模块组成:26第五章 整体系统的测试295.1软件测试过程295.2系统的测试结果31第六章 系统总结31第七章 致 谢32第八章 参考文献32 第一章 系统总概述1.1 系统的可行性分析 背景:在中国随着教育体制的逐步完善,学校规模在不断的扩大,在校学生的增多以及在校老师数量的增加也加大了教务管理的难度,不管是教师信息、学生信息、查询起来非常麻烦,通过传统的数据管理方法很难对所有信息进行整合。然后长期以来学生管理工作一直是采用人工传统管理,效率低,保密性差。所以随着技术的发展,教务管理已经慢慢的由单纯的人工管理向与计算机结合的方向发展,对此我们需要开发一款基于计算机技术的教务管理系统。 随着计算机应用在全世界的普遍推广,各大中专院校都逐渐实现了计算机化管理,实现了网络化管理。这个系统中我主要负责教务管理系统的界面设计、模块的开发及设计。1.1.1 系统需求分析通过实际调查、需求分析,系统需要具备:1界面简单明了,操作简单;2由于系统浏览人群较多,所以需要有安全权限进入;3数据库清晰易找,方便修改、增加、删除;4信息查询方便,全面;1.1.2 可行性分析随着网络科技日趋进步,全国各地高校因为教师和学生数量不断增加,所以采用教务管理系统对学校事务进行管理,是非常有必要的也必定会给学校带来很大的方便,它以网络为平台,对学校各项事务进行各方面的管理,为用户提供充11足的信息和快捷的查询、修改手段,以成为日常教学工作中必不可少的管理软件。1.2 系统的模块及功能1.2.1 项目规划教务管理系统是一个防止非法用户进入的安全系统,所以要进入系统要有属于自己的口令,不管是老师还是学生都有属于自己的账号口令,也就是我们平时所说的账号密码,只有身份跟密码口令一致的情况下才可以进入。所以用户登录分为:系统管理员模块、教师登录模块、学生登录模块,规划如下:系统管理员模块该模块的主要任务是维护系统的正常运行和安全性设置,包括:教师管理,学生管理,课程管理,排课管理。主要功能是对班级,老师,学生,课程的修改,只有管理员有权利进入。教师登录模块该模块的功能是实现老师对所管班级学生的管理工作,包括:查看课程安排,修改学生信息,发布学生成绩,以及修改添加学生成绩,这三个功能模块各自独立,完成学校的全部班级的管理。学生管理模块该模块的主要功能是实现对学生的个人信息的管理与查看,包括成绩查询,学生个人信息查询、档案查询以及课程安排,分为必修课表还有选修课表等功能,从而方便学校管理部门对学校的基本情况的快速查询和了解。1.3 系统的开发目的教务管理系统的开发目的在于,缓解高校师资力量不断壮大的压力,是学校能够更好地管理教师、学生,使教师,学生信息更加明朗,随着教学体制的不断改革,尤其是学分制、选课制的展开和深入,教务日常管理工作日趋繁重、复杂。传统的手工操作方式,易发生数据丢失,统计错误,劳动强度高,且速度慢。22使用计算机可以高速,快捷地完成以上工作。在计算机联网后,数据在网上传递,可以实现数据共享,避免重复劳动,规范教学管理行为,从而提高了管理效率和水平。教务管理系统以计算机为工具,通过对教务管理所需的信息管理,把管理人员从繁琐的数据计算处理中解脱出来,使其有更多的精力从事教务管理政策的研究实施,教学计划的制定执行和教学质量的监督检查,从而全面提高教学质量。第二章 对系统的总流程剖析2.1. 系统运行流程系统整体流程图如图21失败成功系统登录登录 教务管理系统数 据管 理成绩管理教师管理学籍管理进入 数据库进入图21 系统整体流程图2.2. 数据流程分析由于系统的数据模块较多,下面仅以学生成绩管理模块为例来进行展示。如图224学生成绩管理系统学籍管理部 学生情况管理员学生教师 查询 学生成绩教师图22教务管理系统0层数据流程图学生管理浏览者D1进入课程管理教务处D2进入转入成绩管理查询 返回老师 是D3统计分析管理图23教务管理系统1层数据流程图52.3. 数据运行储存图:E-R图教务管理系统的E-R图,如图24 图24教务管理系统的E-R图 根据上面的E-R图,需要三个基本信息表:教师信息、学生信息、课程信息。其中,教师信息和学生信息实际上是从其它信息管理系统的数据表中直接读取。学生的选课信息需要用一个表来单独保存。由于每学期期末前都要进行选课,一次选课结束后要将这个表的内容及时保存到成绩单数据表中。使用本系统的不光是教务处的管理人员和教师,每个学生都需要登录到选课系统进行课程的选择。因此,需要对不同的登录人员进行密码认证和权限的限制,防止出现越权行为。用户名、密码和权限单独保存在一个数据表中。图2565学生课程成绩学习mn图25 学生关系图 教师与课程这两个实体之间,是一对多联系;一位教师可以都多门课程,而一门课程对于学生成绩来说只能有一位教师(英语、高等数学有多位教师教,但对某个固定的学生来说只能有一位教师)。其E-R图,如下图26所示。 教师教学学生 图26实体关系教师与课程的E-R图组合到一起,得到最后的E-R图,有了E-R图,就可以设计数据库。下图27为数据模型图。实体模型数据模型学生教师教师课程学生 学习课程学习学习m联系nm数据库 图27 数据模型图2.4. 系统运行功能分析:功能流程层次图如图所示为系统流程层次图28所示教务管理系统身份验证操作界面重新登录退出考试管理排课管理信息管理信息查询 图28功能流程层次第三章 系统思路设计3.1. 系统模块组成分析3.1.1. 系统功能模块分析教师功能:完成对教师档案资料的添加、修改、删除和查询功能。 教师资料管理: 完成对教师档案资料的添加、修改、删除功能 教师资料查询: 完成对教师档案资料的查询功能 教师课表查询: 完成对教师任课课表信息的查询功能。学生功能:该功能模块式本系统的重点,也是难点。其由四个功能子模块组成: 学生档案管理:完成对学生档案资料的添加、修改、删除和查询功能。 学生选课管理:是对学生选择课程这一操作进行保存或删除管理。 学生成绩管理:是对学生所修课程成绩的管理,操作员可以输入或修改学生成绩。 学生信息查询:可以实现按“课程”、“班级”或“学生姓名”查询学生的成绩或不及格学生的成绩。 学生课表查询:可以实现按“学号”、“班级”或“学生姓名”查询所有学生的课表。 3.1.2软件结构分析本系统在执行时,先根据不同的操作人员的需要来进行相应的模块,然后可以输入数据或者进行其它的查询或浏览等操作;总体来说,本系统属于一个事务型管理系统。如图319权限识别身份验证用户登录成功失败根据权限不同,进入不同子系统,并执行相应操作。错误否结束操作,退出系统。是 图31 验证流程图 3.2. 数据库设计数据库采用了Microsoft推出的SQL SERVER 2000数据库,这是微软集成到Office中的一个桌面数据库,能够快速方便的和Office的其他套件综合使用。由于SQL具有显著的简易性和有效性,大量的桌面数据库系统都采用SQL作为后台数据库。使用SQL的好处还在于,如果你的系统扩展到Client/Server模式的时候,可以使用Microsoft的数据库服务器软件SQL Server,此时,程序只需要简单的修改一下链接(ADO的数据源)就可以,这样,为程序的平滑扩展提供了非常有力的条件。3.2.1本系统中所涉及到的主要实体共有四个数据表allusers表:ID,用户名,密码,权限,添加时间10教师表:ID,用户名,密码,姓名,任教科目,电话,邮箱,QQ,身份证,性别,备注,添加时间学生表:ID,学号,密码,姓名,班级,教师,性别籍贯,电话,QQ,邮箱,备注,添加时间学生成绩表:ID,学号,姓名,班级,教师,课程,成绩,添加时间各表的物理结构如下:Allusers表:教师表:学生表:11学生成绩表:第四章 系统所能实现的功能教务人员:通过学生信息管理模块来管理学生信息,如进行学生信息的添加、修改、删除等。 4.1系统登陆界面模块剖析本界面的主要功能是为了对系统进行安全性管理,本系统的用户名和密码保存在allusers表中,本系统根据不同的用户而设置了不同的权限,可以用hsg,hsg为用户名和密码来登陆本系统。系统主界面:实现本模块的主要代码如下所示:protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) cx.Items.Add("管理员");14 cx.Items.Add("教师"); cx.Items.Add("学生"); protected void Image1_ServerClick(object sender, ImageClickEventArgs e) if (TextBox2.Text.ToString().Trim() = "" | TextBox1.Text.ToString().Trim() = "") Response.Write("<script>javascript:alert('请输入完整');history.back();</script>"); Response.End(); string sql; sql = "" if (cx.SelectedItem.ToString().Trim() = "管理员") sql = "select * from allusers where username='" + TextBox1.Text.ToString().Trim() + "' and pwd='" + TextBox2.Text.ToString().Trim() + "'" if (cx.SelectedItem.ToString().Trim() = "教师") sql = "select * from jiaoshi where yonghuming='" + TextBox1.Text.ToString().Trim() + "' and mima='" + TextBox2.Text.ToString().Trim() + "'" if (cx.SelectedItem.ToString().Trim() = "学生") sql = "select * from xuesheng where xuehao='" + 1512TextBox1.Text.ToString().Trim() + "' and mima='" + TextBox2.Text.ToString().Trim() + "'" DataSet result = new DataSet(); result = new Class1().hsggetdata(sql); / result = new TestOnline.Class1().hsggetdata(sql); if (result != null) if (result.Tables0.Rows.Count > 0) Session"username" = TextBox1.Text.ToString().Trim(); if (cx.SelectedItem.ToString().Trim() = "管理员") Session"role" = result.Tables0.Rows0"cx".ToString().Trim(); else Session"role" = cx.SelectedItem.ToString().Trim(); Response.Redirect("main.aspx"); else Response.Write("<script>javascript:alert('对不起,用户名或密码不正确!');</script>"); 1612 else Response.Write("<script>javascript:alert('对不起,系统错误,请不要越权操作!');</script>"); 1713 4.1 系统应用主界面剖析本模块是本系统的应用界面,在本界面上集成了本系统的所有功能,共有7个功能菜单和19个子菜单(功能模块),从而实现了本系统从班级管理、档案管理、缴费管理、课程管理、成绩管理等系统的具体功能,同时,在系统管理模块中可以完成对本系统的安全性管理。该界面是个框架组成,包括上,中,下三个部份,其中中间又包括左右两部份,其代码如下所示:<!DOCTYPE html PUBLIC "-/W3C/DTD XHTML 1.0 Frameset/EN" "http:/www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"><html xmlns="http:/www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>教务管理系统</title></head><frameset rows="127,*,11" frameborder="no" border="0" framespacing="0"> <frame src="top.aspx" name="topFrame" scrolling="No" noresize="noresize" 1814id="topFrame" /> <frame src="center.asp" name="mainFrame" id="mainFrame" /> <frame src="down.aspx" name="bottomFrame" scrolling="No" noresize="noresize" id="bottomFrame" /></frameset><noframes><body></body></noframes></html>4.2 用户管理模块本模块是本系统的安全性设置模块,根据学校不同部门以及不同使用人员对本系统的要求和需要,从而实行了分级管理,对用户的权限和类别进行了分类管理。该界面是添加用户的模块,其代码如下所示:protected void Page_Load(object sender, EventArgs e) if (Session"role".ToString().Trim() != "超级管理员") /判断session值,如果是超级管理员,则此页可用,如果不是,则给出对话框提示. Response.Write("<script>javascript:alert('对不起,您没有这个权限');history.back();</script>"); Response.End();1915 protected void Button1_Click(object sender, EventArgs e) string sql; /sql语句意思为:向表allusers中插入新数据 sql = "insert into allusers(username,pwd) values('" + username.Text.ToString().Trim() + "','" + pwd1.Text.ToString().Trim() + "')" new Class1().hsgexucute(sql); /将sql语句执行一次,调用class1.cs中的hsgexecute函数 Response.Write("<script>javascript:alert('添加成功');</script>"); /执行成功,给出提示 该界面是管理系统中已有用户的模块,其代码如下所示:protected void Page_Load(object sender, EventArgs e) if (Session"role".ToString().Trim() != "超级管理员") Response.Write("<script>javascript:alert('对不起,您没有这个权限');history.back();</script>"); Response.End(); 2016 if (!IsPostBack) string sql; sql = "select * from allusers order by id desc" getdata(sql); private void getdata(string sql) DataSet result = new DataSet(); result = new Class1().hsggetdata(sql); if (result != null) if (result.Tables0.Rows.Count > 0) DataGrid1.DataSource = result.Tables0; DataGrid1.DataBind(); else DataGrid1.DataSource = null; DataGrid1.DataBind(); 21174.3 教师模块组成:因为本系统中有些功能模块具有相似之处,因此在本文只用此模块进行一个简单的说明。其它的相似模块的代码可能参阅本模块的设计思路。实现该模块的主要代码如下所示: string sql; string ngender; if (RadioButton1.Checked) ngender = "男" else ngender = "女" sql = "insert into jiaoshi(yonghuming,mima,xingming,renjiaokemu,dianhua,youxiang,QQ,shenfenzhen2218g,xingbie,beizhu) values('" + yonghuming.Text.ToString().Trim() + "','" + mima.Text.ToString().Trim() + "','" + xingming.Text.ToString().Trim() + "','" + renjiaokemu.Text.ToString().Trim() + "','" + dianhua.Text.ToString().Trim() + "','" + youxiang.Text.ToString().Trim() + "','" + QQ.Text.ToString().Trim() + "','" + shenfenzheng.Text.ToString().Trim() + "','" + ngender + "','" + beizhu.Text.ToString().Trim() + "') " int result; result = new Class1().hsgexucute(sql); if (result = 1) Response.Write("<script>javascript:alert('添加成功');</script>"); else Response.Write("<script>javascript:alert('系统错误,请检查数据库的连?);</script>"); 23194.4 学生模块组成:实现本模块的主要代码如下所示:string sql; string ngender; if (RadioButton1.Checked) ngender = "男" else ngender = "女" sql = "insert into xuesheng(xuehao,mima,xingming,banji,jiaoshi,xingbie,jiguan,dianhua,QQ,youxiang,beizhu) values('" + xuehao.Text.ToString().Trim() + "','" + mima.Text.ToString().Trim() + "','" + xingming.Text.ToString().Trim() + "','" + banji.Text.ToString().Trim() + "','" + jiaoshi.SelectedItem.ToString().Trim() + "','" + ngender + "','" + 2420jiguan.Text.ToString().Trim() + "','" + dianhua.Text.ToString().Trim() + "','" + QQ.Text.ToString().Trim() + "','" + youxiang.Text.ToString().Trim() + "','" + beizhu.Text.ToString().Trim() + "') " int result; result = new Class1().hsgexucute(sql); if (result = 1) Response.Write("<script>javascript:alert('添加成功');</script>"); else Response.Write("<script>javascript:alert('系统错误,请检查数据库的连?);</script>"); 4.5 成绩模块组成:该模块是让教师添加学生成绩的模块,每个教师只能添加自己学生的成绩,实现本模块的主要代码如下所示:protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) 2521 xuehao.Items.Add("请选择"); string sql; sql = "select xuehao from xuesheng where jiaoshi='"+Session"username".ToString().Trim()+"' order by id desc" DataSet result = new DataSet