软件工程工资管理系统.docx

上传人:b****4 文档编号:5124357 上传时间:2022-12-13 格式:DOCX 页数:21 大小:229.59KB
下载 相关 举报
软件工程工资管理系统.docx_第1页
第1页 / 共21页
软件工程工资管理系统.docx_第2页
第2页 / 共21页
软件工程工资管理系统.docx_第3页
第3页 / 共21页
软件工程工资管理系统.docx_第4页
第4页 / 共21页
软件工程工资管理系统.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

软件工程工资管理系统.docx

《软件工程工资管理系统.docx》由会员分享,可在线阅读,更多相关《软件工程工资管理系统.docx(21页珍藏版)》请在冰豆网上搜索。

软件工程工资管理系统.docx

软件工程工资管理系统

第一章项目开发计划书

1.1引言

企业工资管理系统是一个企业单位不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以工资管理系统应该能够为用户提供充足的信息和快捷的查询手段。

使其公司工资管理初步实行计算机化,让计算机在工资管理中得到初步应用。

使工资管理者总是根据准确、及时的工资管理信息来进行决策,实现管理。

只有计算机才能将现代化社会中,成倍增长的工资管理信息量,进行及时收集、加工、整理、贮存、检索、传递、反馈给决策者。

而一个企业工资管理系统在企业对工资管理已不可或缺。

其功能主要有:

(1)对输入的工资管理数据,进行数值运算和逻辑运算,求解各种问题。

(2)对工资管理信息进行加工来解决各种数据处理问题,为人事决策者在决策时提供依据。

(3)对工资管理的各种资料数据进等统计计算,并将处理后的信息存贮起来。

当前,不少单位的工资管理部门对于计算机的应用还仅限于简单的单机应用,随着时间的推移、任务的复杂、用户的需求,其应用还会扩大。

随着计算机的广泛应用,计算机工资管理信息系统的建立,适应了社会经济发的客观要求,是工资管理现代化的一大进步。

今天我们运用计算机进行了工资管理档案管理的初步现代化的开发和使用,它大大提高了工资管理工作者的工作效率,它把工资管理(档案、工资)从繁重的手工操作中解脱出来,用更多精力从事创造性的管理活动;它能使决策、计划和其它管理活动更加科学、精确、灵活。

因此,建立计算机工资管理信息系统是一种客观发展必然趋势。

尽管在工资管理方面还不可能普遍使用计算机,但从长远来说,工资管理现代化和计算机是不分割的。

轻视或者拒绝利用计算机技术,就不可能真正地、全面地实现工资管理现代化。

1.2工资管理系统功能模块描述

具体系统功能需求描述

(1)档案信息管理

提供对”人员档案信息”数据输入、查询功能。

(2)工资管理

提供对”职工工资表”数据的输入、查询、统计功能。

(3)工资统计

提供对“职工工资表”数据的月统计,由系统自行生成“职工工资构成情况表”实现该表的查询、打印功能。

(4)部门查询

提供以某一部门为索引的”人员档案信息”查询功能。

(5)特殊查询

提供对日期型字段和合同期限的”人员档案信息”查询功能。

(6)报表查询

提供对工资、职工履历的信息以报表的形式供用户查询、打印,另外用户还可以对这些基本信息进行更新和删除,

1.3实施计划

工作任务的分配与人员分工

组长:

冯亮任务:

(1)系统总的开发计划书

(2)每周至少组织小组讨论一次,记录讨论内

列出本周开发计划

(3)项目开发进度的管理

(4)团队的组织和协调

设计:

孔超苏海东任务:

(1)参与小组讨论

(2)进行系统的需求分析和系统设计

(3)完成系统需求说明书和系统设计说明书

(4)编写测试计划,参与系统测试

(5)协助文档人员完成用户相关文档

开发:

任万喆任务:

(1)参与小组讨论

(2)根据设计完成编码,并注释

(3)进行单元测试

系统规划阶段:

项标志性事件开始到完成

开发阶段:

目开发计划书的完成12.5-12.7

需求分析阶段:

系统需求说明书完成12.8-12.10

设计阶段:

系统设计说明书12.11-12.13

编码实现:

项目的形成12.14-12.15

测试阶段:

测试计划和Bug跟踪列表12.16-12.17

移交阶段:

项目的递交12.17-12.18

1.4计算机系统支持

操作系统需要windows2000以上版本;开发工具采用的是eclipse,所使用的开发语言是JSP,以SQLserver作为数据库支持。

第二章可行性分析

2.1可行性研究前提

要求:

满足对工资管理的基本要求及功能,并对职工信息收集、处理、保存。

目标:

实现无纸化办公,节省成本,提高工作效率。

条件、假定、限制:

当企业工资管理的信息量和复杂程度达到某一限度时,即管理人员的劳动强度超过其承受能力时,就必须采用新的管理手段,如用计算机技术对信息的收集、加工、传递和存贮等,这样,一个工资管理系统就可以对企业职工工资进行高效、合理、恰当地管理。

此系统成本低廉,自开发到运行结束至少可运行3年,开发成本不超过600人民币,开发软件到投入使用不超过1个月。

2.2经济上可行性

开发成本:

600元人民币。

效益:

大幅度地提高工资管理信息系统的工作质量和效率,让企业掌握整个工资管理系统的全面情况,为管理人员提供了准确的工资管理信息,促进工资管理工作的规范化及各项管理制度与指标体系的建立和健全;提供各种加工处理了的工资管理信息,以满足工资管理的特殊要求,适应新形势对职工队伍提出的新要求。

效益/投资比:

暂时无法估算。

投资回收期:

大约3个月。

2.3技术可行性

软件需求:

操作系统WINDOWS2000AdvanceServer以上。

硬件需求:

赛扬1.7GCPU、512M内存80G硬盘的计算机。

本系统采用JSP实现,依靠其强大的面向对象系统,与SQLServer2000数据库管理系统相结合,能在1个月内开发出系统。

3.2.3系统功能分析

本系统是基于JSP和SQLServer数据库建立的B/S结构管理系统,考虑了两种角色:

工资管理员和普通员工。

他们通过相同的登陆页面,选择不同的登陆方式,各自进入自己的用户界面。

管理员进入管理页面可以对员工发放工资,可以新添加新的员工,修改自己的密码,以及发布消息。

普通用户可以查看自己的工资情况,可以根据需要查询具体每个月,或几个月的工资发放情况,察看最近的动态发布消息,同时也可以修改密码。

2.4开发工具的选择

eclipse作为前台的开发工具,用SQLServer200作为后台支持数据库,通过JSP的数据库控件来连接SQLServer200中并对其编程来实现各种功能。

2.5开发工具概述

2.5.1JSP概述

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。

网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。

JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。

Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。

插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。

JSP与JavaServlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。

JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。

目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。

JSP页面由HTML代码和嵌入其中的Java代码所组成。

服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。

JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。

JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。

自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。

JSP可用一种简单易懂的等式表示为:

HTML+Java=JSP。

2.5.2SQLServer数据库简介

SQLServer是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase、Ashton-Tate等三家公司共同开发的,并于1988年推出了第一个在OS/2版本上运行的SQLServer系统。

1992年Sybase和Microsoft这两家公司将SQLServer移植到了WindowsNT操作系统上,后来Microsoft致力于WindowsNT平台的SQLServer的开发,而Sybase则专注于SQLServer在UNIX上的应用。

近年来在MicrosoftSQLServer的发展历程中不断更新版本,有两个版本具有重要的意义。

即是在1996年推出的SQLServer6.5版本和在2000年8月推出的SQLServer2000版本。

6.5版本使得SQLServer得到广泛的应用,而2000版本在功能和易用性上有很大的增强,并推出了简体中文版,它包括企业版、标准版、开发版和个人版等4个版本。

第三章需求分析

3.1市场需求分析

工资管理系统是一个企业单位不可缺少的部分,它能为用户提供充足的信息和快捷的查询手段。

(1)一个工资管理系统可以高效能、大容量地收集、处理、存贮工资管理信息,大幅度地提高工资管理信息系统的工作质量和效率。

(2)能够为企业管理人员及时掌握整个工资管理系统的全面情况,提供系统的准确的工资管理信息,可以促进工资管理工作的规范化及各项管理制度与指标体系的建立和健全。

(3)为企业提供各种加工处理了的工资管理信息,以满足工资管理的特殊要求,适应新形势对职工队伍提出的新要求,帮助管理人员选择方案,实现优化决策。

虽然当前,不少单位的工资管理部门对于计算机的应用还仅限于简单的单机应用,随着时间的推移、任务的复杂、用户的需求,其应用还会扩大。

3.2系统需求分析

3.2.1系统目标

企业工资管理系统可以用于支持企业完成工资管理工作,有如下3个方面的目标。

(1)支持企业实现规范化的管理。

(2)支持企业高效率完成人事管理的日常业务,包括新员工加入时人事档案的建立,老员工转出、辞职、退休等。

(3)支持企业进行人事管理及其相关方面的科学决策,如企业领导根据现有的员工合同期限决定是否继续聘用等。

3.2.2系统E-R图

 

图3-1E-R图

3.2.3数据流图

图3-2底层数据流图

图3-3工资管理第一层数据流图

图3-5本月工资管理的展开

3.2.4数据字典

通过系统需求分析,对企业工资管理系统编制数据字典如下:

(1)数据流定义

数据流名称:

职工名单

数据流编号:

F1

简述:

职工信息

数据来源:

人事科

数据去向:

P1.1

 

数据流名称:

本月工资

数据流编号:

F2

简述:

对职工本月工资进行修改

数据来源:

劳资科

数据去向:

P2.1,P2.2

 

(2)数据存储定义

数据流名称:

职工发工资

数据流编号:

P2.2

简述:

根据工资条形成本月工资表

输入数据流:

D2->P2.2

输出数据流:

P2.2->职工

处理:

查询D1(本月工资表),打印本月职工工资条

财务记账后传盘给银行。

 

(3)处理逻辑定义

外部实体名称:

人事科

数据流编号:

S1

简述:

对职工添加,删除进行管理的部门

输出数据流:

F1

 

外部实体名称:

劳资科

数据流编号:

S2

简述:

对职工工资进行管理的部门

输出数据流:

F2

 

外部实体名称:

财务科

数据流编号:

S3

简述:

发放工资,及工资记账管理。

(4)外部实体定义

数据存储名称:

职工信息表

数据存储编号:

D0

简述:

职工基本信息

数据存储组成:

职工编号+姓名+科室号+职称+体制+医保号+公积金号+养老金号+银行账号+有效标志

关键字:

职工编号

相关处理:

F1

 

数据存储名称:

本月工资表

数据存储编号:

D1

简述:

职工本月工资信息

数据存储组成:

职工号+工资日期+操作员+1{薪金科目}20+1{扣款科目}5

关键字:

职工编号+工资日期

相关处理:

F2

 

第四章系统设计

4.1模块分析和概要设计

根据实际情况,我们使用原型法(RapidPrototyping)即以少量代价快速地构造一个可执行的软件系统模型。

使用户和开发人员可以较快地确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐增加上去,直到所有的性质全部满足。

此时模块也发展成为最终产品了。

通过对用户需求的分析,我们可以分析出该工资管理系统大致可以分为六个模块:

人事档案管理模块、职工工资管理模块、工资统计模块的实现、部门查询模块、特殊查询模块、报表查询模块。

现在对这六个模块做具体说明:

人事基本情况管理模块:

输入:

职工信息

输出:

“人员档案表”

功能:

对人事基本信息的查询

职工工资管理模块

输入:

人员月工资

输出:

“职工工资表”

功能:

完成员工工资的查询

工资统计模块

输出:

“职工工资统计表”

功能:

完成员工工资的统计和打印

部门查询模块

输出:

以部门为索引的“职工档案信息”

功能:

完成以部门为索引的“职工档案信息”的统计和查询

特殊查询模块的实现

输出:

满足查询条件的“职工档案信息”和职工合同的期限

功能:

完成满足查询条件的“职工档案信息”和职工合同的期限的查询

报表查询模块的实现

输出:

员工履历信息和工资信息的基本情况查询及打印功能

功能:

完成对员工履历信息和工资信息基本情况的查询及打印

4.2系统业务流程图

图4-1系统业务流程图

4.3系统数据库逻辑结构

图4-2系统数据逻辑结构图

4.4系统数据库设计

由于考虑到本系统是应用在单机系统上,另外根据人员规模,我们只建立起一个数据库,在此数据库基础上建立起如下表:

 ·职工基本信息表  employee_information_table

 ·职工工资表employee_salary_table

 ·系统信息表system_table

下面我们详细说明:

 

表3-21员工基本信息

字段名

类型

长度

允许

职工编号

数值型

8

No

部门

字符型

6

Yes

职务

字符型

8

Yes

职工姓名

字符型

8

Yes

身份证号

字符型

18

Yes

性别

字符型

2

Yes

出生日期

日期型

10

Yes

婚否

逻辑型

2

Yes

文化程度

字符型

8

Yes

政治面目

字符型

6

Yes

毕业学校

字符型

16

Yes

联系电话

数值型

16

Yes

籍贯

字符型

10

Yes

民族

字符型

10

Yes

家庭地址

字符型

30

Yes

邮政编码

数值型

6

Yes

入单位时间

日期型

10

Yes

合同期限

数值型

8

Yes

职称

字符型

16

Yes

评定时间

日期型

10

Yes

备注

备注型

100

Yes

表3-22部门查询表

字段名

类型

长度

允许

职工编号

数值型

8

No

职工姓名

字符型

8

Yes

职务

字符型

8

Yes

实发工资

数值型

8

Yes

表3-23员工工资表

字段名

类型

长度

允许

职工编号

数值型

8

No

职工姓名

字符型

8

Yes

年/月

日期型

10

Yes

技能工资

数值型

8

Yes

工龄工资

数值型

8

Yes

岗位工资

数值型

8

Yes

职务工资

数值型

8

Yes

洗理费

数值型

8

Yes

房屋补贴

数值型

8

Yes

交通补贴

数值型

8

Yes

价格补贴

数值型

8

Yes

工会会费

数值型

8

Yes

房屋租金

数值型

8

Yes

养老保险

数值型

8

Yes

建房扣款

数值型

8

Yes

实发工资

数值型

8

Yes

表3-24工资统计表

字段名

类型

长度

允许

部门

字符型

8

Yes

人数

数值型

10

Yes

工资总和

数值型

20

Yes

表3-25特殊查询表

字段名

类型

长度

允许

职工编号

数值型

8

No

职工姓名

字符型

8

Yes

日期

日期型

8

Yes

表3-26报表查询表

字段名

类型

长度

允许

职工编号

数值型

8

No

部门

字符型

6

Yes

职务

字符型

8

Yes

房屋租金

数值型

8

Yes

养老保险

数值型

8

Yes

建房扣款

数值型

8

Yes

实发工资

数值型

8

Yes

日期

日期型

8

Yes

第五章系统测试

5.1测试方法

(1)测试人员

测试队伍由两位成员组成。

软件的设计者在测试整个过程中负责整体测试方案的制定和测试进度的掌握以及白盒测试的测试者。

第二位成员由未参加软件制作者担任,主要责任是进行软件的黑盒测试以及软件环境,硬件要求和极限测试工作。

(2)机器测试

通过在计算机上直接运行被测程序,来发现程序中的错误。

机器测试包括黑盒测试盒白盒测试。

黑盒测试也称功能测试,将软件看作黑盒子,在完全不考虑程序的内部结构和特性的情况下,研究软件的外部特性。

根据软件的需求规格说明书测试用例,从程序的输入和输出特性上测试是否满足设定的功能。

白盒测试也称结构测试,将软件看作一个透明的白盒子,按照程序的内部结构和处理逻辑来选定测试用例,对软件的逻辑路径及过程进行测试,检查与测试是否相符。

5.2部分代码和测试结果

5.2.1登陆平台

该平台可以实现员工和管理员的登录验证,根据登陆的身份不同进入不同的管理系统如:

普通员工进入工资查询系统,管理员则进入工资发放系统。

核心代码:

<%@pagecontentType="text/html;charset=GB2312"session="true"%>

<%@pageimport="java.sql.*"%>

useBeanid="login"scope="session"class="DataBase.DBControl">

useBean>

<%

Stringlname=request.getParameter("UserName");

Stringlpassword=request.getParameter("Password");

intltype=Integer.parseInt(request.getParameter("logintype"));

if(ltype==0){

if(login.isManager(lname,lpassword,ltype)){

session.setAttribute("MANAGERID",String.valueOf(login.getMID()));

session.setAttribute("MANAGERNAME",lname);

session.setAttribute("MANAGERPASSWORD",lpassword);

response.sendRedirect("manageMain.jsp");

}

else{

response.sendRedirect("error.jsp");

}

}

elseif(ltype==1){

if(login.isUser(lname,lpassword)){

session.setAttribute("GUESTID",String.valueOf(login.getUID()));

session.setAttribute("GUESTNAME",lname);

session.setAttribute("GUESTPASSWORD",lpassword);

response.sendRedirect("user.jsp");

}

else{

response.sendRedirect("error.jsp");

}

}

%>

5.2.2登陆界面

5.2.3工资查询系统

该子系统实现普通员工对工资的查询以及动态新闻的浏览以及密码修改

核心代码:

<%

Connectionusercon;

Statementuserstmt;

ResultSetuserrs;

Stringrsstr="select*fromguestuserwhereusername='"+uname+

"'anduserpassword='"+upassword+"'";

try{

usercon=datacon.connection();

userstmt=usercon.createStatement();

userrs=userstmt.executeQuery(rsstr);

while(userrs.next()){

%>

0;margin-bottom:

0">

<%=userrs.getDate("wagetime")%>

0;margin-bottom:

0">

<%=userrs.getFloat("oldmoney")%>

0;margin-bottom:

0">

<%=userrs.getFloat("healthmoney")%>

0;margin-bottom:

0">

<%=userrs.getFloat("wages")%>

0;margin-bottom:

0">

<%=userrs.getFloat("housemoney")%>

0;margin-bottom:

0">

<%=userrs.getFloat("totalmoney")%>

<%

}

userrs.close();

userstmt.close();

usercon.close();

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 司法考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1