学校工资管理系统课程设计报告.docx
《学校工资管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《学校工资管理系统课程设计报告.docx(43页珍藏版)》请在冰豆网上搜索。
![学校工资管理系统课程设计报告.docx](https://file1.bdocx.com/fileroot1/2023-2/6/834e34b7-f998-448f-badd-b617ceb03cac/834e34b7-f998-448f-badd-b617ceb03cac1.gif)
学校工资管理系统课程设计报告
学校工资管理系统课程设计报告
课程设计报告
设计名称:
软件项目开发课程设计
设计题目:
育才学校工资治理系统
学生学号:
专业班级:
软件工程
学生姓名:
学生成绩:
指导教师:
课题工作时刻:
2021.6.16至2021.6.28
说明:
1、报告中的任务书、进度表由指导教师在课程设计开始前填写并发给每个学生。
2、学生成绩由指导教师依照学生的设计情形给出各项分值及总评成绩。
3、所有学生必须参加课程设计的答辩环节,凡不参加答辩者,其成绩一律按不及格处理。
答辩由指导教师实施。
4、报告正文字数一样应许多于3000字,也可由指导教师依照本门综合设计的情形另行规定。
5、平常表现成绩低于6分的学生,取消答辩资格,其本项综合设计成绩按不及格处理。
信息工程学院课程设计任务书
学生姓名
学号
专业班级
设计题目
育才学校工资治理系统
内容概要:
开发环境:
windows8.1
开发工具:
MyEclipse
数据库:
SQLServer2005
运行环境:
火狐〔MozillaFireFox〕
关键技术:
JavaJSPJDBC
差不多功能:
系统能够实现教职工工资信息的治理。
包括对部门信息、教职工信息、教职工考勤信息、教职工工资信息的
扫瞄、查询、添加、修改、删除等功能。
文献资料:
[1]陈国君,陈磊,刘洋.Java2程序设计基础[M].北京:
清华大学出版社;2020.6
[2]耿祥义,张跃平.Java课程设计[M].北京:
清华大学出版社;2020.11
[3]张思民,梁维娜.Java程序设计实践教程[M].北京:
清华大学出版社;2006.8
设计要求:
差不多功能:
实现对部门信息、教职工信息、教职工考勤信息、教职工工资信息的扫瞄、查询、添加、修改、删除功能。
数据库要求:
数据储备至少包含:
工资表、部门汇总表、职员信息表、职员考勤表、治理员表。
除人事处、财务处外,其他职能部门可简化等。
工作期限:
设计工作自2021年6月16日至2021年6月28日止。
指导教师:
院长:
日期:
2021年6月16日
信息工程学院课程设计进度安排表
学生姓名:
学号:
专业:
软件工程班级:
起止日期
内容
备注
6月16日~6月17日
下任务书;收集、阅读、整理相关参考文献,并进行归纳和概括总结,完成项目/任务背景介绍部分文字内容。
6月18日~6月21日
系统功能设计和模块设计、系统体系结构构建。
6月22日~6月24日
各功能模块编码实现,系统各功能模块调试与爱护。
6月25日~6月26日
系统功能集成、系统调试与测试,按照模板要求撰写课程设计/项目设计报告。
6月27日
课程设计/项目设计分组答辩,提交课程设计/项目设计报告以及相关文档,进行成绩评定。
指导教师签名:
2021年6月16日
成绩评定表
学生姓名:
学号:
专业:
软件工程班级:
类别
合计
分值
各项分值
评分标准
实际得分
合计得分
平常表现
10
10
按时参加设计指导,无违反纪律情形。
完成情形
30
20
按设计任务书的要求完成了全部任务,能完整演示其设计内容,符合要求。
10
能对其设计内容进行详细、完整的介绍,并能就指导教师提出的问题进行正确的回答。
报告质量
35
10
报告文字通顺,内容翔实,论述充分、完整,立论正确,结构严谨合理;报告字数符合相关要求,工整规范,整齐划一。
5
课题背景介绍清晰,综述分析充分。
5
设计方案合理、可行,论证严谨,逻辑性强,具有说服力。
5
符号统一;图表完备、符合规范要求。
5
能对整个设计过程进行全面的总结,得出有价值的结论或结果。
5
参考文献数量在2篇以上,格式符合要求,在正文中正确引用。
答辩情形
25
10
在规定时刻内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。
15
在规定时刻内能准确、完整、流利地回答教师所提出的问题。
总评成绩:
分
指导教师:
〔签字〕
日期:
2021年6月27日
摘要
摘要:
工资治理系统是使用MyEclipse开发的一个数据库治理系统。
在开发过程中使用SQLServer2005和MyEclipse完成工资治理系统差不多过程。
开发那个系统的步骤要紧有系统分析、系统设计、系统实现和系统爱护。
在系统的设计过程中,详细展现了系统的各个模块、所需的数据库表的设计等。
在系统实现过程中,给出了实现表单中相应的功能控件事件、代码及菜单实现的方法。
本系统具有数据输入、数据储备、工资运算、信息修改、删除等功能,本系统以简洁明了的界面设计实现了差不多功能,使新用户能快速把握系统差不多操作。
关键词:
MyEclipse;SQLServer;Request
名目
第一章课题背景〔或绪论、概述〕
1.1引言
1.1.1开发背景
随着社会的进步和运算机技术的进展,专门是微型运算机的大范畴普及,现
在应用在大中型企业的信息治理系统中,几乎都包括了工资治理模块。
有些环境中是有大型ERP软件中的一个模块引进的,有些作为企业的财务系统的一部分。
运算机处理的数据量不断增加。
文件治理系统采纳的一次最多存取一个记录的访问方式,以及在不同文件之间缺乏相互联系的结构,越来越不能适应治理大量数据的需要,因此数据库治理系统便应运而生。
有了数据库我们便能方便快捷的对数据进行读取、存取,并爱护数据库的数据。
今天,数据库治理已成为运算机信息治理的要紧方式。
数据库的应用专门广泛,可应用于各行各业,只要是稍复杂的数据,都可制作成数据库,交由电脑来治理。
用电脑治理数据,运算速度快,检索迅速、查找方便、可靠性高、储备量大、保密性好、寿命长、成本低且不易出错等,这些优点能够极大地提高工资治理的效率,也是科学化、正规化治理的重要条件,专门是现在的中小型企业正需要这种对口的工资治理系统,同时是现行的财务治理系统所代替不了的。
。
1.1.2目的
随着公司规模的不断扩大,职工数量急剧增加,有关职工的各种信息量也成倍增长,而目前许多公司的职工工资治理系统仍停留在复杂的人工操作上,重复工作较多,工作量大,效率低,因此设计一个能够实现教职工工资信息的治理系统。
该系统包括扫瞄、查询、添加、修改、删除等功能。
其中添加功能要求能够添加新的工资信息及教职工差不多信息到数据库文件;修改功能要求能够对教职工的工资信息以及差不多信息进行修改;删除功能要求能够对教职工的工资信息以及差不多信息进行删除;扫瞄功能要求能按照教职工的工号,姓名扫瞄,提供分页显示;有排序功能,排序后按照工号升序输出;查询功能要求能够按照工号或者姓名查询。
第二章可行性分析
2.1可行性分析
2.1.1技术可行性分析
目前学校各工作点均采纳装载window7系统的PC机作为工作台,其容量、速度能满足系统要求。
依照客户提出的系统功能、性能及实现系统的各项约束条件,依照新系统目 标来衡量所需的技术是否具备,本系统是一个文件治理和查询的系统,现有的技术以较为成熟,硬件、软件的性能要求、环境条件等各项条件良好,估量利用现有技术条件应完全能够达到该系统的功能目标。
同时,考虑给予的开发期限也较为充裕,估量系统是能够在规定期限内完成开发。
在技术角度来说,开发学校内部工资系统是可行的。
2.1.2经济可行性分析
通过对开发学校内部工资治理系统的经济效益进行评判,一方面估算开发它的支出费用,其中包括设备购置费、软件开发费、治理和爱护费、人职员资和培训费等。
另一方面估算职工工资治理那个软件可能取得的收益中能够用钱来衡量的那部分。
并对目前的软件市场进行调查,所做软件是否有专门大的销售市场和相当规模的用户群。
所做软件的开发成本与客户提出的要求是否可达到双方都中意。
分析系统开发会对其它产品或利润带来一定阻碍。
通过对上述几个方面的调查研究和分析,我们得出学校内部工资治理系统那个软件的使用性专门强,减轻人力成本,在经济角度来说,开发学校内部工资治理是可行的。
2.1.3操作可行性分析
通过了解学校内部工资治理的相关人员对开发信息系统是否支持,现有职工工资治理制度和方法是否科学,规章制度是否齐全,原始数据是否正确等。
职工工资治理人员积极支持该系统开发,使新系统能够充分的发挥作用;系统操作简单,易于明白得,操作者通过短时刻的培训就能够使用职工工资治理系统。
在操作可行性角度来说,开发学校内部工资治理是可行的。
2.2开发打算
表2-1开发打算表
学校内部工资治理系统
时期
所需时刻〔天〕
可行性研究
1
需求分析
1
概要设计
1
详细设计
2
实现
4
调试与测试
2
总计
11
第三章项目需求分析
工资治理系统是针对企事业单位的大量业务处理工作,用运算机进行全面现代化治理。
要紧包括信息输入功能、信息修改删除、信息的查询以及工资运算治理功能。
该系统要紧包括登录模块、部门治理模块、职员信息治理模块、职员考勤治理模块和职员资治理模块等。
3.1登录功能
用户输入账号和密码与数据库中的一致时方可登录该系统。
3.2部门治理功能
1〕输入部门的差不多信息,包括部门编号〔DepID〕、部门名〔DepName〕、部门经理〔Manager〕、办公〔DepTel〕
2〕查询部门信息:
点击部门名称,能显示该部门所有差不多信息,如:
部门编号、部门名称、部门经理、办公。
3〕修改、删除部门信息:
假如各部门信息发生变化,点击修改,能对部门各个信息进行重新设置,同时能够删除该部门,那么该部门所有信息都会从数据库中删除,在部门治理界面可不能显示该部门的信息。
3.3职员信息治理功能
1)录入职员的差不多信息,包括职员编号〔employeeId〕、姓名〔name〕、身份证号〔cardNumber〕、民族〔nation〕、性别〔sex〕、生日〔birthday〕、毕业学校〔graduateSchool〕、学历〔schoolRecord〕、部门〔department〕、职称〔positionName〕、〔telephone〕、邮件〔email〕、编辑时刻〔editTime〕、备注〔memo〕。
2)查询职员信息,点击职员姓名,能显示该职员的所有差不多信息。
假如职员信息发生变化,例如:
号码发生变化、职位调遣等。
需要重新录入该职员信息,点击修改能够实现重置信息。
假如该职员离职,那么点击删除,该职员所有信息在职员信息治理界面会清除该条记录。
3.4职员出勤信息治理功能
1〕录入职员的出勤差不多信息,包括请假编号〔leaveId〕、职工编号〔employeeId〕、职工姓名〔employeeName〕、请假开始时刻〔starTime〕、请假天数〔day〕、请假缘故〔reason〕、批准人〔approvePerson〕、编辑时刻〔editTime〕、备注〔memo〕。
2〕查询职员出勤信息可分为按职员编号查询、按职员姓名查询。
选择查询方式,输入信息,点击搜索,那么能显示该职员所有出勤记录。
假如出勤信息发生变化,点击修改,重新录入出勤信息,同时系统会重新自动生成编辑时刻,确保出勤信息的准确性。
假如录入信息发生重复等情形,能够点击删除,那么该条记录会被删除。
3.5工资信息治理功能
1)录入职员的工资差不多信息,包括:
工资编号〔salayId〕、职员编号〔employeeId〕、职员姓名〔employeeName〕、年份〔year〕、月份〔month〕、差不多工资〔basicWage〕、加工工资〔overtimeWage〕、交通补助〔trafficWage〕、考勤扣除〔kaoqinReduce〕、保险扣除〔secureReduce〕、总工资〔totalWage〕、总扣除〔totalReduce〕、实际工资〔realWage〕、编辑时刻〔editTime〕、备注〔memo〕
2)查询工资治理信息,选择查询年份、月份、查询方式、输入查询信息,点击搜索就能准确显示该职员在具体的时刻段内实际工资总额。
治理员能够录入职员详细的工资信息,例如:
差不多工资、加班工资、交通补助、考勤扣除、保险扣除、扣税等信息。
依照实际情形可对职职员资信息进行修改、打印、删除等操作。
3.6用例描述
图3-1部门信息治理
表3-1治理员登录用例描述
用例编号
3-1-1
用例名称
治理员登录
用例描述
1、治理员在治理系统中输入自己的用户名及密码,即可进入登录工资治理系统。
2、治理员在登录界面能够修改自己的密码。
表3-2治理员治理部门信息用例描述
用例编号
3-1-2
用例名称
治理员治理部门信息
用例描述
治理员能够在部门治理界面实现增加部门信息、查询部门信息、修改部门信息、删除部门信息
图3-2职员信息治理
表3-3治理员治理职员信息用例描述
用例编号
3-2
用例名称
治理员治理职员信息
用例描述
在职员信息治理界面,治理员拥有增加职员信息、查询职员信息、修改职员信息、删除职员信息等权限。
图3-3职员出勤信息治理
表3-4治理职员出勤信息用例描述
用例编号
3-3
用例名称
治理员治理职员出勤信息
用例描述
在职员出勤信息治理界面,治理员能够实现增加职员出勤信息、查询职员出勤信息、修改职员出勤信息、删除职员出勤信息。
图3-4工资信息治理
表3-5治理职职员资信息用例描述
用例编号
3-4
用例名称
治理员治理工资信息
用例描述
在工资信息治理界面,治理员能够实现增加工资信息、查询工资信息、修改工资信息、删除工资信息、打印工资信息等功能。
第四章项目概要设计
4.1功能设计
图4-1功能设计图
4.2系统数据库设计
4.2.1数据字典
1、职员表employee
表4-1职员表
字段名
数据类型
含义说明
是否为空
employeeId
Char(100)
职员编号
主键
Name
Varchar(10)
职工姓名
否
Sex
Char
(2)
性别
cardNumber
Char(100)
身份证号码
nation
Char(4)
民族
birthday
Char(100)
生日
graduateSchool
Char(100)
毕业院校
schoolRecord
Char(4)
学历
department
Char(100)
部门
positionName
Char(100)
级别
telephone
Char(100)
email
Char(100)
邮箱
editTime
Char(100)
编辑时刻
memo
Char(100)
备忘录
2、部门表department
表4-2部门表
字段名
数据类型
含义说明
是否为空
DepID
Char(6)
部门编号
主键
DepName
Varchar(20)
部门名称
否
Manager
Varchar〔20〕
部门经理
DepTel
Varchar〔15〕
办公室
3、考勤表leave
表4-3考勤表
字段名
数据类型
含义说明
是否为空
leaveId
Int
编号
否
employeeId
Char(100)
职员编号
否
employeeName
Char(100)
职员姓名
否
startTime
Char(100)
时刻
day
Char(100)
天数
reason
Char(100)
缘故
approvePerson
Char(100)
审查人
editTime
Char(100)
编辑时刻
memo
Char(100)
备注
4、工资表salary
表4-4工资表
字段名
数据类型
含义说明
是否为空
salaryId
int
编号
主键
employeeId
char(100)
职员编号
否
employeeName
char(100)
职员姓名
否
year
char(100)
年份
month
char(100)
月份
basicWage
float
差不多工资
否
overtimeWage
float
加工工资
trafficWage
float
交通补助
totalWage
float
整体工资
kaoqinReduce
float
考勤扣除
secureReduce
float
保险扣除
taxReduce
float
扣税
totalReduce
float
整体扣除
realWage
float
实际工资
否
editTime
char(100)
编辑时刻
memo
char(100)
备注
5、治理员表admin
表4-5治理员表
字段名
数据类型
含义说明
是否为空
adminID
char(100)
编号
主键
adminName
char(100)
治理员姓名
否
password
char(100)
密码
否
4.2.2ER图
图4-2ER图
4.2.3数据流图
图4-3数据流图
第五章项目详细设计
5.1数据库设计
5.1.1数据字典
工资表salary
表5-1工资表
字段名
数据类型
含义说明
是否为空
salaryId
int
编号
主键
employeeId
char(100)
职员编号
否
employeeName
char(100)
职员姓名
否
year
char(100)
年份
month
char(100)
月份
basicWage
float
差不多工资
否
overtimeWage
float
加工工资
trafficWage
float
交通补助
totalWage
float
整体工资
kaoqinReduce
float
考勤扣除
secureReduce
float
保险扣除
taxReduce
float
扣税
totalReduce
float
整体扣除
realWage
float
实际工资
否
editTime
char(100)
编辑时刻
memo
char(100)
备注
5.2人机交互界面设计
5.2.1工资信息治理
图5-1工资信息治理主界面
5.2.2信息查询
图5-2查询界面
图5-3查询结果
5.2.3添加新的工资信息
图5-4添加新的工资信息
图5-5添加成功
5.2.4修改工资信息
图5-6修改工资信息
图5-7修改成功
5.2.5删除工资信息
图5-8删除工资信息
图5-9删除成功
5.2.6打印工资信息
图5-10打印工资信息
第六章项目编码
6.1连接数据库
通过JDBC与数据库建立连接,发送操作数据库的语句并处理结果。
publicclassDataBase{
protectedConnectionconn=null;//Connection接口
protectedStatementstmt=null;//Statement接口
protectedResultSetrs=null;//记录结果集
protectedPreparedStatementprepstmt=null;//PreparedStatementprotectedbooleanisConnect=true;//与数据库连接标识
publicDataBase(){
try
{
DBConnectionManagerdcm=newDBConnectionManager();
conn=dcm.getConnection();
stmt=conn.createStatement();
}
catch(Exceptione)
{
System.out.println(e);
isConnect=false;
}
}
publicStatementgetStatement(){
returnstmt;
}
publicConnectiongetConnection(){
returnconn;
}
publicPreparedStatementgetPreparedStatement(){
returnprepstmt;
}
publicResultSetgetResultSet(){
returnrs;
}
publicbooleanexecute()throwsException{
returnfalse;
}
publicbooleaninsert()throwsException{
returnfalse;
}
publicbooleanupdate()throwsException{
returnfalse;
}
publicbooleandelete()throwsException{
returnfalse;
}
publicbooleanquery()throwsException{
returnfalse;
}
publicvoidclose()throwsSQLException{
if(stmt!
=null)
{
stmt.close();
stmt=null;
}
conn.close();
conn=null;
}
}
publicclassDBConnectionManager{
//privateStringdriverName="com.microsoft.jdbc.sqlserver.SQLServerDriver";//"oracle.jdbc.driver.OracleDriver";
//privateStringurl="jdbc: