基于Java的教师档案管理系统的设计

更新时间:2024-05-16 13:08:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

※※※※※※※※※※2014级学生 ※

Java课程设计 ※

※※※※※※※※※ ※ ※ ※ ※ ※

《Java程序设计》课程设计报告书

课题名称 姓 名 学 号 学 院 专 业 指导教师

基于Java的教师档案管理系统的设计

2016 年 5 月 28 日

一、设计任务及要求: 1. 采用B/S模式进行开发,其优点是后台与前台处理层次分明,而且符合众多已经习惯网页方式的用户。 2. 采用面向对象的开发与设计理念。运用面向对象技术的前提是对整体系统的高度和准确抽象,通过它可以保证系统良好的框架,进而带来产品较强的稳定性和运行效率。 3. 采用模块化设计。模块化设计要求将整个系统划分成基于小的模块,有利于代码的重载,简化设计和实现过程。 4. 简单方便的系统界面。设计简单友好的系统界面,方便用户较快的适应系统的操作。 5.速度优先原则。由于此工具最重要的评测标准就是速度,因此在设计过程中,具体过程尽量做到资源占用少,速度快。 6.设计既要突出重点,又要细致周到。要符合设计需求,在有可能改进的地方进行扩充,使系统更适应用户的需要。 指导教师签名: 年 月 日 二、指导教师评语: 指导教师签名: 年 月 日 三、成绩 验收盖章 年 月 日

基于Java的教师档案管理系统系统设计

谭维隽

1设计目的

长久以来,教职工的管理工作大多数都采用的是传统的手工方式来记录相关信息,这种管理方式存在很多缺点,比如说,教职工信息、工资信息的录入,查询,更新,分析都要完全依赖管理人员的手工记录和人工分析,人工记录是相当麻烦的。为满足需求,决定采用各种编程语言JSP开发了基于B/S架构的教师档案管理系统,教师档案管理系统是涉及信息科学、数据计算和计算机技术的复杂的人机交互系统。通过这些系统,可以对教职工和管理进行智能化管理,有效地记录并查询教职工的各项情况,为管理者提供了诸多方便。

2设计的主要内容和要求

2.1数据库的逻辑结构设计

我们知道,数据库概念模型独立于任何特定的数据库管理系统,因此,需要根据具体使用的数据库管理系统的特点进行转换。即转化为按计算机观点处理的逻辑关系模型,E-R模型向关系数据库模型转换应遵循下列原则: *每一个实体要转换成一个关系

*所有的主键必须定义非空(NOT NULL)

*对于二元联系应按照一对多、弱对实、一对一、多对多等联系来定义外键。 根据E-R模型,教师档案管理系统建立了以下逻辑数据结构,下面是各数据表的详细说明。

(1)教师信息表主要是记录了教师的基本信息。表结构如表2.1所示。

表2.1教师信息表(t_jaoshi)

列名 id gonghao xingming xingbie nianling shengri gongzuo zhuanye zhaopian beizhu 数据类型 int varchar varchar varchar varchar varchar varchar varchar varchar varchar 长度 4 50 50 50 20 20 50 50 50 50 允许空 是否主键 否 否 否 否 否 否 否 否 否 否 是 否 否 否 否 否 否 否 否 否 说明 ID 教师号 姓名 性别 年龄 出生日期 工作时间 专业 照片 备注信息 (2) 工资信息表主要是记录了教职工工资的基本信息。表结构如表2.2所示。

表2.2工资信息表(t_gongzi)

列名 id jsid riqi gongzi jiangjin 数据类型 int varchar varchar varchar varchar 长度 4 50 50 50 20 允许空 是否主键 否 否 否 否 否 是 否 否 否 否 说明 ID 教师ID 工资月份 工资数 奖金 (3)管理员信息表主要记录的管理员的账号信息,包括用户名和密码,表结构如表2.3所示。

表2.3管理员信息表(t_admin)

列名 userId userName userPw

数据类型 int varchar varchar 长度 4 50 50 允许空 是否主键 否 否 否 是 否 否 说明 编号 用户名 密码 2.2数据库的连接原理

采用JDBC连接数据库的方式,只需在工程中导入对应数据库的jar包,就可以方便的对数据库进行连接,在程序中,用Class.forName()方法来加载驱动程序,在用DriverManager的getConnection()方法就可以创建一个数据库连接。程序采用的是DAO模式来操作数据库,DAO(Data Access Object,数据访问对象),是Java编程中的一种经典模式,已被广泛应用,也是J2EE架构中持久层框架的基础知识,基于分层次式的软件架构来实现对数据库的访问操作。DAO模式的主要思想就是从抽象数据源获取与操纵数据的方法。抽象数据的含义就是编写应用程序的程序员不必关心数据库的物理位置,已经是何种数据库,只需使用封装数据库中表示记录的数据对象即可。其思想如图2.4所示:

BusinessObject 使用 DataAccessObject 封装 DataSource

图2.4 DAO模式类图

获取/修改 DataTransferObject 创建/使用

图中BussinessObject是业务对象,是使用DAO模式的客户端;

DataTransferObject数据传输对象,在应用程序不同层次之间传输对象,在一个分布式应用程序中,通常可以提高整理的性能;DataObjectAcces数据输入/输出对象封装了对数据源的一些基本操作;DataSource指的是数据源。可以从图中看出,DAO模式分离了业务逻辑和数据罗即将,是的编写的软件具有良好的层次式体系结构。本系统为了方便数据库的操作,主要使用DBContent的对象来接一个数据库(建立一个类DBContent),代码如代码1。

2.3系统功能实现

在管理信息系统的生命周期中,仅过了需求分析、系统设计等阶段之后,便开始了系统实施阶段。在系统分析和设计阶段,系统开发工作主要是集中在逻辑、

功能和技术设计上,系统实施阶段要继承此前面各个阶段的工作成果,将技术设计转化为物理实现,因此系统实施的成果是系统分析和设计阶段的结晶。

2.3.1系统登陆页

1.描述:为了保证系统的安全性,要先使用本系统必须先登陆到系统中。 2.在登陆页面输入用户名和密码以,选择登陆身份后,点击提交按钮,跳转到登陆的service中,在该service中会对用户名,密码,验证码进行判断,并根据相应的用户角色进入对应的页面,代码如代码2。

2.3.2系统主页面

1.描述:管理员主页面:左方页面展示了管理员可操作的七大功能,进入相关的管理页面可以链接到子菜单,并且高亮显示,每个管理模块下面都有相应的子菜单。

2.在每个jsp页面将会对相关用户进行拦截操作,这样可以提高安全性,防止用户不经过登陆页面而进入任何子菜单页面,如代码3:

2.3.3教职工信息管理

(1)教职工录入

1.描述:管理员输入教职工相关正确信息后点击录入按钮,如果是没有输入完整的信息,都会给出相应的错误提示,不能录入成功。输入数据都通过form表单中定义的方法onsubmit=\来检查,checkForm()函数中是各种的校验输入数据的方式。

2.流程图如下图4所示: (2)教职工管理

1.描述:管理员点击左侧的菜单“教职工管理”,页面跳转到做教职工界面,调用后台的servlet类查询所有教职工的信息。

2.教职工管理关键代码如代码4:

2.3.4工资信息管理

(1)工资录入

1.描述:在此页面主要是输入工资数、奖金等信息,然后选择教职工,所有信息都不能够为空,是否为空也是通过form表单中的onsubmit=\

checkForm()来检查。

(2)工资信息管理

1.描述:管理员点击左侧的菜单“工资管理”,页面跳转到工资管理界面,调用后台的gongziServlet类查询出所有的工资信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出来。

2.工资管理关键代码代码5: (3)修改个人密码

1.描述:输入用户名和用户的原有密码,输入新密码以后点击修改按钮即可修改密码成功。

(4)安全退出系统

1.描述:点此按钮回到系统的主页面。 2.关键代码如代码6。

3 整体设计方案

4 流程图设计

通过 登陆系统 管理员录入教职工信息 系统验证教职工信息 未通过 录入成功 结 束

图4教职工录入流程图

5 程序设计

代码1:

public DBContent(){ 驱动

String url=\String user=\连接数据库的用户名 String password=\连接数据库的密码 try{

Class.forName(CLASSFORNAME);

con= DriverManager.getConnection(url,user,password);//加载数据String CLASSFORNAME=\连接数据库的

库的驱动

stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,Resul

tSet.CONCUR_UPDATABLE);

代码2

public String login(String userName,String userPw,int userType) {

try {

}

catch(Exception ex){ } }

ex.printStackTrace();

Thread.sleep(700);

} catch (InterruptedException e) { }

String result=\

if(userType==0)//系统管理员登陆 {

String sql=\Object[] con={userName,userPw}; List

// TODO Auto-generated catch block e.printStackTrace();

adminList=adminDAO.getHibernateTemplate().find(sql,con);

if(adminList.size()==0) { } else {

WebContext ctx = WebContextFactory.get(); HttpSession session=ctx.getSession(); TAdmin admin=(TAdmin)adminList.get(0); session.setAttribute(\ result=\

session.setAttribute(\ result=\

}

}

}

rs.close();

catch(Exception e) { }

mydb.closed();

req.setAttribute(\

req.setAttribute(\

e.printStackTrace();

req.getRequestDispatcher(\

eq, res);

代码6

}

主要是通过javascript语句来实现, item_word[8][4]=\退出系统\item_link[8][4]=\ 代码7

6 系统测试

6.1系统测试目的与意义

系统测试是管理信息系统开发周期中一个十分重要而漫长的的阶段。其重要性体现在他是保证系统质量与可靠性的最后关口,是对整个系统开发过程包括系统分析、系统设计和系统实现的最终审查。

系统测试的任务是尽可能彻底的检查出程序中的错误,提高软件系统的可靠性,其目的是检验系统“做得怎样”。这这阶段又可以分为三个步骤:模块测试,

测试每个模块的程序是否正确;组装测试,测试模块之间的接口是否正确;确认测试,测试整个软件系统是否满足用户功能和性能的要求。测试发现问题之后要经过调试找出错误原因和位置,然后进行改正。是基于系统整体需求说明书的黑盒测试,应覆盖系统随偶联合的部件,系统测试是正对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出需求规格不符合或与之矛盾的地方。

6.2主页面的登录模块测试

测试流程: 1.打开系统首页,输入错误的登录信息 2.登录

3.输入正确的登录信息 4.登录 5.测试结果

模块名称 登录模块 测试用例 预期结果 实际结果 是否通过 用户名:null 弹出错误提示, 登陆失败,提示通过 密码:null 请输入用户名 请输入用户名 登录模块 用户名:m1 密码:null 弹出错误提示,失败,提示输入通过 请输入密码 密码 登录模块 用户名:m1 密码:1 弹出错误提示,登陆失败,提示通过 用户名或者密用户名或者密码错误 码错误

7 设计总结

本次课程设计将我大学所学的软件工程理论知识用到了具体的实践中去,深化了理论知识,同时也锻炼了动手实践能力。在这段日子里,我查阅了许多有关教师档案管理信息系统的资料,翻阅了许多JSP的书籍,结合自己的经验,详细调查了教职工管理的工作内容与细节,开发设计了这个教师档案管理系统,虽然企业每个学期都会有相应课程的课程设计和实训来作为动手练习训练,不过在本次毕业设计具体的实践的时候还是遇到了很多小问题,比如说在jsp页面将输入

框设为不可用是添加属性readonly=“true”,而我在实际编程中却错写成disable=“true”,这样直接导致了request对象取不到数据,调试了程序很久才发现request对象获得的返回值一直是空,之前一直以为是代码哪里出了问题,总是在查源程序的逻辑。这些虽然都是小问题,但是由于不细心在具体实践中却浪费了不少时间,看来平时还是要多多实践才是。

在系统的开发过程中,我运用到了B/S三层结构技术和自己在平时学习中掌握的一些技术,通过这些技术的实现,整个系统的性能得到了大大的提高。这些技术都在论文中做了比较详细的介绍。本系统还存在许多的缺陷和不足之处,比如很多细节上做的还不行,有些功能模块还应再加强。希望在以后的时间里,我可以把这些缺陷都弥补过来,进一步完善系统。

通过本次毕业设计我锻炼了自己的自学、研究能力,也从中学到不少在企业在课堂上学不到的东西.通过实践我也深刻的体会到软件开发的艰辛及问题解决后的喜悦心情,培养我的独立思考问题的能力,同时也增强了我的理论联系实际的能力,这为自己以后的工作奠定了良好的基础。

本系统可以在很大程度上减轻我校教职工管理人员的工作负担,但由于时间按和技术条件的限制,还存在一些不足之处,有些功能还需要改进,还应该做进一步的系统调查需求分析工作,更深入的完善系统。总之,一个紧跟时代步伐的真正使用的软件必需有一个不断完善改进的过程

参考文献

[1]白秋产,高爱华,沈显来.基于VFP的做工师傅教职工管理信息系统[J].计算机与数字工程,2006,34(01):143-145

[2]舒攀,陈金刚.数字化校园建设中教师档案管理系统的实现与设计[J].武汉工程大学学报,2008,30(04):108-111

[3]徐超毅.教师档案管理系统的面向对象分析[J].安徽理工大学学报(自然科学版),2005,25(03):62-64

[4]艾灵仙. 高校系级网站构建平台的设计与实现[J]. 科技信息-2008年16期 [5]张国玉,牟宗国.加强和完善教职工管理工作探讨[J].四川教育学院学报,2007,23(SI):19-20

[6]严勇杰.浅谈如何加强高职院校教职工管理工作[J].科技信息,2008,(29):592-593

[7]吴汉龙.实在的系统,实在的效用—浅析浙江树人大学教师档案管理系统开发与试用[J].高校后勤研究,2009,20(4):94-97

[8] 许义金,郑初华.教职工管理中心管理信息系统开发[J].南昌航空工业学院学报,2006,20(4):94-97

[9]J.M.Hellerstein,M.Stonebraker.Architecture

of

a

Database

System[J].Foundations and Trends in Databases,2007,1(2):141-259

[10]寿秀香.基于C/S结构的教职工管理信息系统的设计与实现[J].黑龙江科技信息,2008,(31):55

[11]张立科.java信息系统管理开发[M].北京:人民邮电出版社.

[12]邓子云.JSP网络编程从基础到实践[M].北京:电子工业出版社. [13]朱涛江.SqlServer权威指南[M].中国电力出版社.2003. [14]郝玉龙.JavaEE编程技术[M].北京:北京交通大学出版社.

[15](美)Bruce Eckel著,陈昊鹏译,Java编程思想(第三版)[M].北京:机械工业出版社,2007.6

[16]李建中,王珊.《数据库系统原理(第2版)》电子工业出版社.2004.9 [17]张长富,黄中敏.JavaScript动态网页编程实例手册[M].北京:海洋出版社,2005:196-239

[18]艾灵仙. 高校系级网站构建平台的设计与实现.[J]. 科技信息-2008年16期

本文来源:https://www.bwwdw.com/article/p1n7.html

Top