摘 要
教师信息管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。
经过分析,我使用 MICROSOFT公司的 VisualStudio2008开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。
关键字:控件、窗体、域。
目 录
1 引言
1.1 开发背景
1.2 开发意义
1.3 实现目标
2 需求分析 1
2.1 功能需求
2.2 可行性分析 4
2.3 流程图
2.4 系统开发平台及主要技术
3 总体设计
3.1 系统的总体架构
3.2 数据库设计 4
4 详细设计 6
4.1 登入模块功能的实现 6
4.2 管理员登入功能的实现 10
4.3 用户管理模块主要实现 10
4.4 条件查询模块的功能实现 11
4.5 教师登入功能实现 11
4.6 教师信息修改功能实现 12
4.7 打印教师信息功能实现 14
5 测试 16
5.1 测试计划 16
5.2 测试项目说明 16
结 论 19
致 谢 20
参 考 文 献 21
1引言
1.3开发背景
该项目开发的软件为学校教师信息管理系统软件,是鉴于目前学校教师人数剧增,教师信息呈爆炸性增长的前提下,学校对教师信息管理的自动化与准确化的要求日益强烈的背景下构思出来的,该软件设计完成后可用于所有教育单位(包括学校)的教师信息的管理。
目前社会上信息管理系统发展飞快,各个企事业单位都引入了信息管理软件来管理自己日益增长的各种信息,教师管理系统也是有了很大的发展,商业化的教师信息管理软件也不少。但本系统完全独立开发,力求使系统功能简洁明了,但功能齐全且易于操作。
1.2开发意义
随着学校的规模不断扩大,教师数量急剧增加,有关教师的各种信息量也成倍增长。面对庞大的信息量,就需要有教师信息管理系统来提高教师管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。考虑到项目时间、资源等因素,在实际开发该计算机系统时,常常要为资源不足和在要求时间内难以完成而苦恼,因而需要慎重地尽可能早地估价研制课题的可行性。可行性研究包括:经济可行性、技术可行性、法律可行性、不同的方案等等。
1.3应用目标
通过本系统软件,能帮助教研人员利用计算机,快速方便的对教师档案进行管理, 输入,输出,查找的所需操作,使散乱的人事档案能够具体化,直观化,合理化。
2需求分析
2.1需求说明书
1、开发的背景
任何一个组织或是集体,实现它内部人员的管理或是各个部门的协同工作都是必要的。作为一个学校,要管理许多教师的档案以及考试,奖惩情况,又要实现信息共享,愈来愈成为老师们管理的一个难题。因此,一个便利的教师档案管理系统在众人的期盼中需要实现。
随着因特网发展的日新月异,人们利用网络来实现相互之间的协同工作以及资源共享越来越成为时代的潮流,一个不可扭转的趋势。目前,因特网已经深入到我们生活的各个领域——学校,银行,医院,公司,企业等等。因此,我们在这里用VS2005和Sql server开发档案管理更是顺应了时代发展的方向。我们要实现的系统主要面向一个中小学校。各个部门或老师的主要任务是实现相应的信息发布,更新,录入工作,而教师则主要实现信息的反馈,相应的查询事件。要实现这个系统,需要先调研,弄清楚各个部门和教师的需求情况,以便于有的放矢。系统的开发过程需要两台机器,需要安装win2000/xp服务器版以及完成相关的配置。开发由本人独自开发。程序完成以后,需要调试运行,整个实现需要一个星期左右。
1、业务需求
教师档案管理:教师的基本信息与个人情况。
2、性能需求
该档案管理系统主要实现的是信息的录入,发布,更新,因此,不管对学校管理的需要或是教师获知信息的需要以及各个部门之间的紧密衔接关系,网上的数据必须具有高度的完整性和准确性,这就要求系统的高度安全性,可维护性,可靠性及灵活性。比如教师档案管理,老师在录入档案的时候或是数据库出现异常而产生差错,可能会影响教师奖惩的评定或是造成不该重修的出现重修情况,这就要求系统具有高度的安全性,可维护性和可靠性;灵活性指的是系统要具有强大的功能以适应不同层次的用户不同的需求。另外,系统的操作界面要求简便,通俗,以便于操作。
3其他需求
无
2.2可行性分析
1. 对系统的简要描述
新系统在原有系统的基础上加入了新的数据库的支持,使用了先进的数据库技术与数据管理技术,使数据的准确性与安全性得到了很大的提高,且在用户的并行操作与用户管理方面也有了极大地改善。
2可行性分析
否值得去解,研究在当前的具体条件下,开发新系统是否具备必要的资源和其它条件。一般说来,应从技术可行性、经济可行性、运行可行性等方面研究可行性。可行性研究需要的时间长短取决于工程的规模,一般说来,可行性研究的成本只占预期的工程中成本的5-10%。
3技术可行性分析
技术上的可行性分析要考虑将来要采用的硬件和软件技术能否满足用户(这里是校方)提出的要求(如计算机的容量、速度等)。此外,还要考虑开发人员的水平,作为计算机信息管理专业毕业的学生,数据库设计方面对于我们应该还过得去,在学校里生活了五年,对这个管理模式应该比较熟悉。 我们掌握了数据库及其应用技术、数据库原理、计算机网络技术等课程,对数据库的设计、应用、维护及局域网的组成有了深刻的认识与一定的动手实践能力,从一定程度上具备了开发一个小型系统的能力。
4经济可行性
主要从对项目的经济上进行分析评价,一方面是支出的费用,包括设备购置费、管理和维护费用、人员工资和培训费等,另一个是取得的收益。这是个超小型的管理系统,从投入的人力,财力与物力来讲是非常之小的,只要一台电脑,一台打印机,这个系统就可以搞起来。从节省人力方面,可以让管理人员从繁与复杂的工作中解脱出来,做更多的工作,可以给教学管理提高一个层次。
5运行可行性
Internet正在迅猛发展,学院从硬件到软件都投入了大量的人力、物力、财力,在教务上,给各个办公室配置了计算机,并能联接到互联网,并且学院领导对这方面比较重视,在教务上配置了一定数目的能够训练操作计算机的干事,可以快速、方便、高效地使用计算机进行日常工作。学院开展了计算机及其维修专业,可让学生以实践方式对系统进行维护,使此系统在实践上具备了可行性。 由此可知,开发教师信息管理系统在学校中具有可行性。
2.3流程图
2.4系统平台及主要技术
档案管理系统的实现需要一台计算机PC兼容机。在计算机中需要运行VS程序。计算机内安装WIN2000/XP。
3 总体设计
3.1 系统的总体架构
1.总体结构和模块外部设计
模块是软件结构的基础,软件结构的好坏完全由模块的属性体现出来,把软件模块化的目的是为了降低软件复杂性,使软件设计,测试,调试,维护等工作变得简易,但随着模块数目的增加,通过接口连接这些模块的工作量也随之增加。从这些特性可得出如图九的一条总的成本(或工作量)曲线,在考虑模块化时,应尽量使模块数接近于图中的M,它使得研制成本最小,而且应尽量避免不足的模块化或超量。
2.功能分配
从程序的结构中可以看出,教师的信息输入功能是由教师进行的。教师的信息输出功能是由管理员进行的。教师活动的信息输入输出也是由管理员进行的。
3. 接口设计
由于系统的各种内外部接口是通过借助数据库开发软件来实现的,是完全在数据库内部操作的,故在此略过此内容。
3.2 数据库设计
1. 逻辑结构设计
teachertable 教师基本信息表
列名 可否为空
教师编号NULL
教师姓名NULL
教师性别NULL
年龄 NULL
职称 NULL
学历 NULL
所在系 NULL
2. 物理结构设计
系统的物理结构具体由数据库来设计与生成。
3. 数据结构与程序的关系
系统的数据结构由标准数据库语言SQL生成。
六. 运行设计
1. 运行模块的组合
具体软件的运行模块组合为程序多窗口的运行环境,各个模块在软件运行过程中能较好的交换信息,处理数据。
2. 运行控制
软件运行时有较友好的界面,基本能够实现用户的数据处理要求。
3. 运行时间
系统的运行时间基本可以达到用户所提出的要求。
5. 出错处理设计
1. 出错输出信息
在用户使用错误的数据或访问没有权限的数据后,系统给出提示:“对不起,登陆失败!”而且用户的密码管理可以允许用户修改自己的密码,不允许用户的匿名登录。
2. 出错处理对策
由于数据在数据库中已经有备份,故在系统出错后可以依靠数据库的恢复功能,并且依靠日志文件使系统再启动,就算系统崩溃用户数据也不会丢失或遭到破坏。但有可能占用更多的数据存储空间,权衡措施由用户来决定。
6. 安全保密设计
系统的系统用户管理保证了只有授权的用户才能进入系统进行数据操作,而且对一些重要数据,系统设置为只有更高权限的人员方可读取或是操作。系统安全保密性较高。
4 详细设计
4.1登入模块功能的实现

输入输出:
系统启动后,将首先出现用户登录窗体,用户首先输入用户名,然后输入密码。登入过程中还有选择是否是管理员登入还是教师登入, 如果输入的用户名或密码不存在将显示“对不起,您驶入的用户名不存在”,如下图。

详细代码如下
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
DBClass dbObj=new DBClass() ;
//登录按钮
protected void imgbtnLoad_Click(object sender, ImageClickEventArgs e)
{
if (txtUserName.Text.Trim() == "" && txtPassWord.Text.Trim() == "")
{
Response.Write("<script>alert('对不起,请输入用户名和密码!');location='javascript:history.go(-1)';</script>");
return;
}
else
{
//利用GetUserInfo方法,判断用户是否正确登录。
//如果正确登录,则修改用户表信息,并跳转到Index.aspx页
GetUserInfo(txtUserName.Text.Trim());
}
}
/// <summary>
/// 获取系统配置信息
/// </summary>
public void GetConfigInfo()
{
Session["isOpen"] = "";
Session["isSearch"] = "";
SqlConnection myConn = dbObj.GetConnection();
SqlCommand myCmd = new SqlCommand("Proc_GetConfigInfo", myConn);
myCmd.CommandType = CommandType.StoredProcedure;
//执行过程
myConn.Open();
SqlDataReader rd = myCmd.ExecuteReader();
if (rd.Read())
{
Session["isOpen"]=rd["isOpen"];
Session["isSearch"] = rd["isSearch"];
}
else
{
Response.Write("<script>alert('对不起,系统发生未知错误,请重新登录!');location='javascript:history.go(-1)';</script>");
}
rd.Close();
myCmd.Dispose();
myConn.Close();
}
/// <summary>
/// 获取用户登录信息
/// </summary>
/// <param name="P_Str_userId">唯一标志</param>
public void GetUserInfo(string P_Str_userId)
{
Session["UID"] = "";
Session["Username"] = "";
Session["UserpowerID"] = "";
Session["Userpower"] = "";
Session["Admin"] = -1;
SqlConnection myConn = dbObj.GetConnection();
SqlCommand myCmd = new SqlCommand("Proc_GetUserInfo", myConn);
myCmd.CommandType = CommandType.StoredProcedure;
//添加参数
SqlParameter userId = new SqlParameter("@userid", SqlDbType.NVarChar, 50);
userId.Value = P_Str_userId;
myCmd.Parameters.Add(userId);
//执行过程
myConn.Open();
SqlDataReader rd = myCmd.ExecuteReader();
if (rd.Read())
{
if (txtPassWord.Text.Trim() != rd["userpass"].ToString())
{

Response.Write("<script>alert('对不起,您输入的密码不正确!');location='javascript:history.go(-1)';</script>");
}
else
if (((chkbtnPower.Checked == false) && (Convert.ToInt32(rd["userpower"].ToString()) == 1)) || ((chkbtnPower.Checked == true ) && (Convert.ToInt32(rd["userpower"].ToString()) == 0)))
{
Response.Write("<script>alert('对不起,您登录的身份不对!');location='javascript:history.go(-1)';</script>");
}
else
{
Session["UID"] = rd["id"];
Session["Username"] = rd["userid"];
Session["UserpowerID"] = rd["userpower"];
if (chkbtnPower.Checked == true)
{
Session["Userpower"] = "管理员";
}
else
{
Session["Userpower"] = "教师";
}
if (Convert.ToInt32(rd["userpower"].ToString()) == 1)
{
Session["Admin"] = 1;
}
dbObj.UpdateUserInfo(Convert.ToString(Session["UID"]));
Response.Redirect("~/Frame/Index.aspx");
}
}
else
{
Response.Write("<script>alert('对不起,您输入的用户名不存在!');location='javascript:history.go(-1)';</script>");
}
rd.Close();
myCmd.Dispose();
myConn.Close();
}
4.2管理员登入功能的实现
4.2.1使用管理员账号进入系统中,如下图

4.2.2用户管理模块主要实现以下功能:
●添加教师基本信息
●修改教师基本信息
●查询教师基本信息
管理员能够看到教师的所有信息,并且能够对教师的信息进行修改和添加。

4..2.3条件查询模块的功能实现
条件功能模块能通过条件1,条件2和添加3还有关键字使管理员在众多的教师中找到与要求相符合的教师

4.3教师登入功能实现
4.3.1在登入界面中输入教师的账号进入教师的界面,如下图。

4.3.2教师进入过后能对里面自己的相关的信息进行修改
管理员可以修改教师的信息有:
旧密码,新密码,用户名,性别,年龄,所属学校,所在专业等。

详细代码如下
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class PersonRecord_ChangeData : System.Web.UI.Page
{
PersonRecordClass prObj = new PersonRecordClass();
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnUpdate_Click(object sender, EventArgs e)
{
int P_Int_returnValue = prObj.IsValidUser(Convert.ToInt32(Session["UID"]), txtOldPass.Text.Trim());
if (P_Int_returnValue == 100)
{
if (txtNewPass.Text.Trim() ==txtRNewPass.Text.Trim())
{
//修改用户资料
bool sexValue;
if (ddlSex.SelectedIndex == 0)
{
sexValue = true;
}
else
{
sexValue = false;
}
prObj.UpdateUserInfo(Convert.ToInt32(Session["UID"]), txtUserName.Text.Trim(), txtRNewPass.Text.Trim(), sexValue, Convert.ToInt32(txtAge.Text.Trim()), txtWorkPlace.Text.Trim(), txtWorking.Text.Trim());
//Response.Write("<script>alert('修改密码成功,请记住新密码,重新登录!');location='../Default.aspx';</script>");
Session["Username"] = txtUserName.Text.Trim();
Response.Write("<script>parent.location='../Frame/Index.aspx';</script>");
}
else
{
Response.Write("<script>alert('您输入的确认密码有误,请核对后重新输入!');</script>");
}
}
else
{
Response.Write("<script>alert('您输入的密码有误,请核对后重新输入!');</script>");
}
}
4.4打印教师信息文档的实现
通过打印能将教师的所有信息都打印出来,如下图。

5测试
5.1测试计划
一、 引言
1. 编写目的
软件测试是为了发现软件的错误,该文档的读者对象是软件测试部门,以指导软件测试过程。
2. 项目背景
该项目开发的软件为学校教师信息管理系统软件,是鉴于目前学校教师人数剧增,教师信息呈爆炸性增长的前提下,学校对教师信息管理的自动化与准确化的要求日益强烈的背景下构思出来的,该软件设计完成后可用于所有教育单位的教师信息的管理。
3. 定义
静态测试:主要方法有审阅,检查。
单元测试,组装测试,系统测试
5.2测试项目说明
测试项目
该测试计划主要包括对软件各个模块的测试,有:
5.2.1.用户登录窗口的测试
该测试的目的是保证登陆窗口的正确性与在错误发生时的容错与纠错性。具体通过在登陆框中输入空用户名,和错误的用户密码来检测系统的出错运行情况。
在登陆框中输入 错误的用户密码 出错提示正确基本正确如下:

5.2.2. 添加教师信息窗口的测试
该测试的目的是保证添加档案信息窗口的正确性与在数据输入不正确时的容错与纠错性。 具体通过在添加教师信息框中输入空的学号,已存在的编号,或者错误的日期格式,来检测系统的出错运行情况。

5.2.3.修改教师信息窗口的测试
该测试的目的是保证修改教师信息窗口的正确性与在数据输入不正确时的容错与纠错性。 具体通过在修改教师信息框中输入空的学号,已存在的学号,或者错误的日期格式,来检测系统的出错运行情况。

5.2.4.查询教师信息窗口的测试
该测试的目的是保证查询教师信息窗口的正确性与在数据输入不正确时的容错与纠错性。 具体通过在查询教师的查询方式框中输入空的编号,空的姓名,或者空的班号,来检测系统的出错运行情况。

结 论
随着毕业日子的到来,这个设计也接近了尾声。经过1周的奋战我的设计终于完成了。在没有做这个设计以前觉得这个设计只是对这几年来所学知识的单纯总结,但是通过这次做设计发现自己的看法有点太片面。毕业设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。通过这次的设计,使我对过去学习的专业知识有了进一步的了解及加深,特别是在软件开发技术和数据库应用方面得到充分体现。
此次设计感触最深的是在编程前对各个函数和命令的理解及系统调试与系统分析两阶段。在此之前虽也了解到软件开发期包括分析阶段、编程和测试阶段,但毕竟学得较肤浅,也未用到软件开发技术,而通过这次编写的“教师管理系统”,真正了解到系统分析和系统设计阶段是软件开发的两个重要环节,这样也有利于编程。
此外通过这次毕业设计的实习,我对ASP.NET有了更进一步了解,对它的一些操作已基本掌握,而且涉及到其它应用时,也基本了解,让我将这四年所学的知识能在这次设计中充分体现出来。由于时间仓促,水平有限,本系统还有许多不尽人意的地方。
致 谢
本论文是在老师的悉心指导下完成的。感谢老师对我的辛勤培育。从论文的立题到系统的设计以及论文的写整个过程无不浸透着老师的心血。他广博的学识,严肃的科学态度,严谨的治学精神,灵活的思维方式,耐心细致的言传身教激励着我,将使我终身受益。他对本次设计给予了我精心的指导和热心的帮助,并对论文中存在的不足之处提出了许多宝贵意见,对此我表示衷心的感谢。
同时还要感谢我的同学、朋友从我开始进入课题到论文的顺利完成给予了我无言的帮助。
最后,再次向百忙之中评阅本论文的教员以及答辩委员会的各位教授致以最诚挚的感谢。
参考文献
[1] 许卫林.VBScript+ASP动态网页制作[M].北京:中国电力出版社,2004:5~9
[2] ASP源代码网[EB/OL].2005:12~08
[3] 顼宇峰,马军.ASP网络编程从入门到精通[M].北京:清华大学出版社,2006:23~26
[4] 郭瑞军,李杰,初晓璐等。ASP数据库开发实例精粹[M].北京:电子工业出版社,2005:48~53
[5] 天新网-软件开发-ASP开发[EB/OL].2005:12~28
[6] 薛华成.管理信息系统[M].北京:清华大学出版社,1999:313~316
[7] 宋昕.ASP网页开发技术入门与提高实用教程[M].北京:中国铁道出版社,2005:103~178
[8] KANAMORI H.CAS Configuration Administration System[J].Customer Madison Version3.3, International Centers for telecommunication Technology, 1993:46~52
[9] 石志国,王志良,薛为民.ASP精解案例教程[M]。北京:清华大学出版社/北方交通大学出版社,2004:22~5
[10] ASP300 - 专业ASP代码交流基地[EB/OL].2006:2~08
[11] ASP专区[EB/OL].2006:3~15。
[12] 四维科技,胡标.ASP网络编程技术与实例[M].北京:人民邮电出版社,2004:89~94
[13] 健莲科技.ASP建网策略与案例[M].北京:科学出版社,2002:156~164
[14] 刘瑞新.ASP动态网站开发毕业设计指导及实例[M].北京:机械工业出版社,2005: 123~131

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/55700.html