教师业务档案管理系统.docx
《教师业务档案管理系统.docx》由会员分享,可在线阅读,更多相关《教师业务档案管理系统.docx(20页珍藏版)》请在冰豆网上搜索。
教师业务档案管理系统
摘要
教师档案管理系统的开发主要包括后台数据库建立和维护以及前端应用程序的开发两个方面。
我们使用powerbuilder9.0作为前台和后台数据库开发工具,建立系统应用原型,不断修正和改进,直到形成此系统。
本系统参考兰州理工大学的教师档案管理为原型,分析现有的管理模式和已有的管理软件,建立系统模型。
本教师档案管理系统包括教师信息、课程信息、论文信息、项目信息等内容的管理。
主要实现了信息的录入、查询、删除、修改等功能。
关键字:
教师;档案管理系统;数据库;功能实现;PowerBuilder;
前言
随着学校规模的不断扩大,教师数量的急剧增加,有关教师的各种信息资料也成倍增长。
办学者们所头疼的问题,就是如何面对这庞大的信息量。
只有利用计算机,利用教师管理信息系统才能解决这一问题,才能提高教师管理的工作效率。
通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。
本教师档案管理系统包括教师信息、课程信息、论文信息、项目信息等内容的管理;遵从以往旧式的工作方式,该工作的工作量大,管理繁琐,既耗人力,又耗物力;如今面对大量的教师数据、报表,手工处理方式已经很难跟上现代化的步伐。
随着计算机技术及网络通讯技术的飞速发展,许多学校已经有了较好的计算机应用甚至网络硬件建设基础。
因此为提高学校管理工作的现代化、科学化水平,保证信息处理的即时化、准确化,开发一套对教师档案进行管理的软件是极其重要的,而且是必需的。
本系统正是为解决这一问题而设计的,大大减少了以往教师管理工作的工作量,提高了工作效率,节省了资源,适应时代的步伐。
本系统采用微软的PowerBuilder9.0作为后台数据库,PowerBuilder9.是一套大型数据库开发系统,能对大量数据进行处理和管理,性能优越;并使用powerbuilder9.0开发前台软件。
使用windowsxp操作系统作为开发平台。
正文
1.问题描述
可行性分析研究教师档案管理的方法日新月异,以前全是由人工管理的方法,存在很多的缺点:
管理效率低,劳动强度大,信息处理速度低而且准确率也不够令人满意。
为了提高教师管理效率,减轻劳动强度提高,信息处理速度和准确性;为管理员提供更方便、科学的服务项目。
为管理员提供的一种更先进、科学的服务系统。
于是我们便选择了由计算机来设计一个教师管理系统的方案。
管理员,教师都可以直接在计算机上实现教师的信息管理,并能在一定程度上实现自动化。
我们在现行系统初步调查的基础上提出了新系统目标,即新系统建立后所要求达到的运行指标,这是系统开发和评价的依据。
2.需求分析
2.1任务需求分析
经分析先给出该系统的系统流程图,如图2.1所示
图2.1系统流程图
2.2数据流程图
图2.2数据流程图
数据流图由四种基本的元素构成:
数据流(DataFlow),处理(Process),数据存储和数据源(数据终点)。
数据流(DataFlow):
为具有名称且有流向的数据,用标有名称的箭头表示,一个数据可以是记录、组合项或基本项。
处理(Process):
表示对数据所进行的加工和变换,在图中用矩形框表示。
指向处理数据流为该处理的输入数据,离开处理的数据为处理的输出数据。
数据存储:
表示用文件方式或数据库形式所存储的数据,堆砌进行的存取分别以指向或离开数据存储的箭头表示。
数据源及数据终点:
表示数据的来源或数据的去向,可以是一个组织或人员,它处于系统范围之外,所以又称它为外部实体,它是为了帮助理解系统界面而引入的,一般只出现在数据流图的起点和终点。
2.3数据字典
数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。
由于本次设计是小型软件系统的开发,所以采用卡片形式书写数据字典。
每张卡片上保存描述一个数据的信息这样做更新和修改起来比较方便,而且能单独处理描述每个数据的信息。
下面将列出若干数据元素的数据卡片信息。
数据字典卡片:
图2.3数据字典
3.系统总体设计
3.1概念结构设计
N
1
NM
M
N
图3.1实体关系图
根据对数据流图和数据字典的分析,我们可以确定该应用中的实体,属性和联系之间的关系,并画出如下3.1所示的E-R图。
3.2逻辑结构设计
1.根据实体关系图得出关系模型如图3.2所示
教师(编号,姓名,性别,出生日期,职称,学历,专业)
课程(课程名称,学时,人数,班级,时间)
论文(论文名称,发表期刊,发表日期,期刊级别,获奖情况,排名)
项目(项目编号,项目名称,项目类别,开始时间,结束时间,排名)
教师课程表(教师编号,课程名称)
教师项目表(教师编号,项目编号)
教师论文表(教师编号,论文名称)
2.根据关系模型导出系统的关系表,如图3.2所示:
图3.2关系图
4.详细设计
4.1用户界面与程序设计
1.一般交互设计
一般交互涉及信息显示、数据输入和系统整体控制等方面。
(1)一致性
为客户交互界面中的菜单选择、命令输入、数据显示以及众多的其他功能,使用一致的格式。
在设计的过程中,基本上保持了系统的格式一致。
(2)信息的反馈
向用户及时提供视觉和听觉的信息反馈,以保证在用户和系统之间及时地建立双向通信。
在本系统设计过程中,基本做到了信息的及时反馈,在信息显示的大部分窗体中包括了刷新按钮,会对数据库中的数据进行及时地显示。
另外,在进行错误操作是,会弹出提示窗口并发出警告提示音。
(3)执行有较大影响的操作前提示用户确认
在设计过程中,如果用户要执行删除操作,以及对数据库的读写操作时,都会有窗体弹出询问继续操作或者予以提示。
(4)减少两次操作间需要记忆的内容
为了避免用户为下一步操作而记忆大量数据,所以在设计过程中在需要数据传递的窗体中设置全局变量,来传递数据。
(5)对话、移动和思考的效率
尽量减少用户击键的次数,在设计时考虑到了用户屏幕的布局以减少用户鼠标移动的距离,尽量避免用户在操作中发生疑问的情况。
(6)允许错误
允许用户的误操作尽量不对系统造成伤害。
(7)按功能对动作分类,并据此设计屏幕布局
屏幕布局尽量将软件所具有的所有功能在主页面展示,界面一目了然。
2.信息显示设计
应当尽量为用户提供的界面显示时完整的、明确的和容易理解的。
这样才能满足用户的需求。
(1)只显示与当前用户有关的信息
在用户操作有关系统的特定功能的信息时,不必看到与之无关的数据、菜单和图形。
(2)使用一致的标记、标准的缩写和可预知的颜色
为了使系统所表达的含义准确、无误,就必须适用一致的标记、标准的缩写和可以预知的缩写,这样用户就无需参照其他信息源就能理解,而正确地适用软件。
(3)产生有意义的错误信息
对于系统在运行过程中产生的错误尽量给用户返回一个容易理解的错误信息,以使用户保持对系统的信任,和系统的可用性。
(4)使用窗口分隔不同类型的信息
使用不同的窗口显示、保存不同类型的信息。
(5)高效率的使用显示屏
当使用多窗口时,应该有足够的空间使得每个窗口至少都能显示出一部分。
此外,屏幕的大小应该选得和应用系统的类型相配套。
在各个显示数据的窗口中,由于数据窗体项目较多,所以在数据窗体空间中较多的是用了垂直和水平滚动条,以保证信息的全面正确显示。
3.数据输入设计
用户的大部分时间用在选择菜单命令、键入数据和向系统提供输入。
在系统中,键盘是主要的输入介质,但是鼠标等设备的也是重要的输入手段,所以,对于他们的数据输入操作有如下约定:
(1)保持信息显示和数据输入间的一致性
为了方便用户的使用,鼠标应当尽量减少操作的幅度。
(2)保持显示信息和输入信息之间的一致性
对于用户来说,要保证其输入的数据在显示上与其他显示的视觉特征(例如:
文字大小、颜色、位置等)要一致。
对于不同类型的用户在登录到系统后,由于有不同的权限,所以在主界面中会有一些项目受到限制而无法使用,所以要使这些项目不发生作用,以保证系统安全。
5.系统测试
5.1测试用例
1、登录测试
当用户文本框中不输入信息的时候,提示“用户名不能为空”。
当用户文本框中输入的信息不存在时,提示“输入有误”。
2、教师信息查询模块的窗体应显示某教师的所有信息,教师编号、姓名、性别
出生年月、职称、学历、专业。
测试如下图:
当在教师编号中输入“06240427”,按查询按钮,将显示出查询的结果如下:
教师编号
姓名
性别
职称
出生日期
学历
专业
06240427
孙继虎
男
教授
1978-7-8
硕士
计算机
当查询文本框中输入的信息不存在时,提示“没有找到”。
当查询文本框中不输入信息时,提示“输入完整信息”。
3、保存功能测试
将信息输入完整后,按保存按钮,提示“保存成功”。
4、删除功能的测试
选所要删除的行,按删除按钮提示是否确定要删除。
选择是后,将所要删除的行删除。
按保存按钮,保存此次操作。
5、教师信息浏览功能测试
当点击上下浏览按钮时显示信息如下:
教师编号
姓名
性别
职称
出生日期
学历
专业
06240427
孙继虎
男
教授
1978-2-1
硕士
计算机
06240410
王哲
女
副教授
1975-7-8
硕士
计算机
6.软件使用说明书
1.系统登陆界面
用户点击可执行文件时打开的界面,如图6.1所示:
界面6.1
2.管理员登录界面
管理员登录时需要输入名字和密码,界面6.2所示:
界面6.2
3.用户登录界面
用户登录同样要输入用户名和密码,界面如6.3所示:
界面6.3
4.管理员登陆后的界面
管理员登陆后可以选择不同的信息模块进行操作,界面如6.4所
界面6.4
5.用户登陆后的界面
用户登录后可以进行个人信息的录入和他人信息的浏览,其界面如6.5所示:
界面6.5
总结
教师业务档案档案管理系统的设计,主要了解数据库设计软件方式以及PowerBuilder9.0使用方法,以及SQL语言的运用,软件开发的过程实际上就是描述现实世界的过程。
而由现实世界向软件模型的转化过程是其中最核心的过程。
本系统参考兰州理工大学的教师档案管理为原型,通过调研,分析现有的管理模式和已有的管理软件,建立系统模型。
本教师档案管理系统包括教师信息、课程信息、论文信息、项目信息等内容的管理。
实现了信息的录入、查询、删除、修改等功能。
软件开发由于时间仓促,软件还有很多不足之处,如:
档案查询部分不够完善,信息输入模块不支持信息批量输入,软件代码较冗余、效率不高等等,都是对PB操作不熟练,对相关功能缺乏认识造成的。
在今后的学习中我会加强理论与实践的结合,通过不断的摸索来弥补自己在软件制作方面的差距。
参考文献
[1]张海藩,软件工程导论[M].清华大学出版社,2003年12月
[2]张海藩.软件工程导论学习辅导[M].清华大学出版社,2004年9月
[3]萨师煊,王珊.数据库系统概论[M].清华大学出版社,2002年2月
[4]汪孝宜,刘中兵,徐佳晶等.JSP数据库开发实例精粹[M].电子工业出版社,2005年1月
[5]陈磊,郭斌,李翔.PowerBuilder9数据库项目案例导航,清华大学出版社
[6]廖疆星,张艳钗,肖金秀.PowerBuilder&SQLSever2000数据库系统管理与实现[M].冶金工业出版社
[7]卫海,黄浩.PowerBuilder9.0课程设计案例精编[M].
[8]Sybase中国网站:
http:
//www.S
[9]PB导航站:
[10]PB编程俱乐部:
致谢
从确定设计方案到算法的实现再到编写程序,历时两个星期。
在此,我謹向刘嘉老师致以最诚挚的谢意。
在这段时间内老师不辞辛苦一直奔波忙碌于指导我们与完成自己的工作之间。
刘老师的严谨的工作作风、亲切的待人方式,渊博的专业知识都给我留下了深刻的印象,老师细心的讲解和指点使我从课程设计之中受益匪浅,使我从实际的算法实现中更好地掌握了理论知识。
感谢我的《数据库原理》老师李明老师以及与课设有关的各任课教师。
一个学期以来老师们严肃的教学态度使我从对该课程的一无所知到收获颇丰,也为我今后的求学生涯树立了榜样。
你们一直以来默默无闻的扮演着传道、授业、解惑的角色,您就是那将我们送到对岸的摆渡人。
还要感谢所有参加评阅设计说明书以及参加答辩的老师,是你们让我及时的发现错误,改正错误,很快的取得了进步。
最后还要感谢我的同学们,感谢他们耐心的讲解和细心的指导,也感谢他们给我提出那么多的解决方案和指导性意见,帮我顺利完成我的课程设计和论文!
附件Ⅰ部分原程序代码
1.插入代码
longflg_currentrow
flg_currentrow=dw_1.insertrow(0)
dw_1.scrolltorow(flg_currentrow)
dw_1.setrow(flg_currentrow)
dw_1.setfocus()
2.保存代码
ifupdate(w_main7.dw_1,true,false)=1then
w_main7.dw_1.resetupdate()
commit;
messagebox("提示!
!
!
","数据保存成功")
else
rollback;
messagebox("错误!
!
!
","数据保存失败")
endif
3.删除代码
intflg_select
flg_select=messagebox("information","areyousur?
",exclamation!
yesno!
)
ifflg_select=1then
dw_1.deleterow(0)
endif
4.查询代码
sle_2.text=""
sle_3.text=""
sle_4.text=""
sle_5.text=""
select"视图"."t_no",
"视图"."t_name",
"视图"."c_name",
"视图"."p_name",
"视图"."pj_name"
into:
sle_1.text,
:
sle_2.text,
:
sle_3.text,
:
sle_4.text,
:
sle_5.text
from"视图"
where"视图"."t_no"=:
sle_1.text
;
ifsle_2.text=""then
messagebox("NotFound","没有此用户!
")
sle_1.text=""
endif
sle_1.setfocus()
5.数据库连接代码
//ProfileMydb
//ProfileMydb
SQLCA.DBMS="ODBC"
SQLCA.AutoCommit=False
SQLCA.DBParm="Connectstring='DSN=myASAnywhere',PBUseProcOwner='Yes',RPCReBind=1,DisableBind=1"
connect;
ifsqlca.sqlcode<>0then
messagebox("提示","数据库连接失败",stopsign!
)
close(w_main3)
return
endif
open(w_main3)