1、湖南人文科技学院计算机系课程设计说明书课程名称 : 软件工程导论课程代码 : 408023题 目 : 企业工资管理系统年级/专业/班 : 08 级计科二班学生姓名:学 号 :指导老师 : 颜富强开题时间 : 2009 年 6 月 5 日完成时间 : 2009 年 6 月 29 日2009 年 6 月 18 日课 程 设 计 任 务 书 及 成 绩 评 定课程名称 : 软件工程导论完成者 :1、设计的目的与要求 1)加强学生的实践能力;2)理解小型系统开发的基本步骤;3)本系统的功能包括:档案信息管理模块、工资管理模块、工资统计模块,部门查询,特殊查询,报表查询。2、设计进度及完成情况日 期 内
2、 容6.5-6.7 项目开发计划书6.8-6.10 系统需求说明书6.11-6.13 系统设计说明书6.14-6.15 项目的形成6.16-6.17 测试计划和 Bug跟踪列表6.17-6.18 项目的递交3、成绩评定设计成绩: (教师填写)指导老师: (签 字)二00九 年 月 湖南人文科技学院课程设计1目 录目 录 1一 项目开发计划书 31.1 引言 31.2 工资管理系统功能模块描述 41.3 实施计划 41.4 支持条件 5二 可行性分析 52.1 可行性研究前提 52.2 经济上可行性 62.3 技术可行性 62.4 开发工具的选择 62.5 开发工具概述 62.5.1 JSP 概
3、述 .62.5.2 SQL Server 数据库简介 .7三 需求分析 83.1 市场需求分析 83.2 系统需求分析 83.2.1 系统目标 83.2.2 系统的分析和概要设计 93.2.3 系统功能分析 103.2.4 系统业务流程图 113.3 系统 E-R 图 .123.4 数据流图 133.5 数据字典 15四 系统设计 164.1 系统处理流程和数据流程 164.2 系统数据库概念结构 184.3 系统数据库逻辑结构 184.4 系统数据库设计 19五 系统测试 225.1 部分代码 225.1.1 登陆平台 225.1.2 工资查询系统 245.1.3 工资发放系统 265.2
4、测试 .275.2.1 测试的作用和意义 275.2.2 测试方法 27湖南人文科技学院课程设计25.2.3 测试内容 285.2.4 测试结果 28六 总结 29参考文献 29附录:编码规范 29湖南人文科技学院课程设计3一 项目开发计划书1.1 引言企业工资管理系统是一个企业单位不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以工资管理系统应该能够为用户提供充足的信息和快捷的查询手段。使其公司工资管理初步实行计算机化,让计算机在工资管理中得到初步应用。使工资管理者总是根据准确、及时的工资管理信息来进行决策,实现管理。只有计算机才能将现代化社会中,成倍增长的工资管理信息量,
5、进行及时收集、加工、整理、贮存、检索、传递、反馈给决策者。而一个企业工资管理系统在企业对工资管理已不可或缺。其功能主要有:(1)对输入的工资管理数据,进行数值运算和逻辑运算,求解各种问题。(2)对工资管理信息进行加工来解决各种数据处理问题,为人事决策者在决策时提供依据。(3)对工资管理的各种资料数据进等统计计算,并将处理后的信息存贮起来。当前,不少单位的工资管理部门对于计算机的应用还仅限于简单的单机应用,随着时间的推移、任务的复杂、用户的需求,其应用还会扩大。随着计算机的广泛应用,计算机工资管理信息系统的建立,适应了社会经济发的客观要求,是工资管理现代化的一大进步。今天我们运用计算机进行了工资
6、管理档案管理的初步现代化的开发和使用,它大大提高了工资管理工作者的工作效率,它把工资管理(档案、工资)从繁重的手工操作中解脱出来,用更多精力从事创造性的管理活动;它能使决策、计划和其它管理活动更加科学、精确、灵活。因此,建立计算机工资管理信息系统是一种客观发展必然趋势。尽管在工资管理方面还不可能普遍使用计算机,但从长远来说,工资管理现代化和计算机是不分割的。轻视或者拒绝利用计算机技术,就不可能真正地、全面地实现工资管理现代化。湖南人文科技学院课程设计41.2 工资管理系统功能模块描述具体系统功能需求描述(1) 档案信息管理提供对”人员档案信息”数据输入、查询功能。(2) 工资管理提供对”职工工
7、资表”数据的输入、查询、统计功能。(3) 工资统计提供对“职工工资表”数据的月统计,由系统自行生成“职工工资构成情况表”实现该表的查询、打印功能。(4) 部门查询提供以某一部门为索引的”人员档案信息”查询功能。(5) 特殊查询提供对日期型字段和合同期限的”人员档案信息”查询功能。(6) 报表查询提供对工资、职工履历的信息以报表的形式供用户查询、打印,另外用户还可以对这些基本信息进行更新和删除, 1.3 实施计划工作任务的分门与人员分工 组长: 贺泽溪 任务: (1)系统总的开发计划书(2)每周至少组织小组讨论一次,记录讨论内列出本周开发计划(3)项目开发进度的管理(4)团队的组织和协调设计:罗
8、维 马红操 任务:(1)参与小组讨论(2)进行系统的需求分析和系统设计湖南人文科技学院课程设计5(3)完成系统需求说明书和系统设计说明书(4)编写测试计划,参与系统测试(5)协助文档人员完成用户相关文档开发:王日春 卢洪波 任务:(1)参与小组讨论(2)根据设计完成编码,并注释(3)进行单元测试系统规划阶段: 项标志性事件 开始到完成开发阶段: 目开发计划书的完成 6.5-6.7需求分析阶段: 系统需求说明书完成 6.8-6.10设计阶段: 系统设计说明书 6.11-6.13编码实现: 项目的形成 6.14-6.15测试阶段: 测试计划和 Bug 跟踪列表 6.16-6.17移交阶段: 项目的
9、递交 6.17-6.181.4 支持条件计算机系统支持操作系统需要 windows 2000 以上版本;二 可行性分析2.1 可行性研究前提要求:满足对工资管理的基本要求及功能,并对职工信息收集、处理、保存。目标:实现无纸化办公,节省成本,提高工作效率。条件、假定、限制:当企业工资管理的信息量和复杂程度达到某一限度时,即管理人员的劳动强度超过其承受能力时,就必须采用新的管理手段,如用计算机技术对信息的收集、加工、传递和存贮等,这样,一个工资管理系统就可以湖南人文科技学院课程设计6对企业职工工资进行高效、合理、恰当地管理。此系统成本低廉,自开发到运行结束至少可运行 3 年,开发成本不超过 600
10、 人民币,开发软件到投入使用不超过 1 个月。2.2 经济上可行性开发成本:600 元人民币。效益:大幅度地提高工资管理信息系统的工作质量和效率,让企业掌握整个工资管理系统的全面情况,为管理人员提供了准确的工资管理信息,促进工资管理工作的规范化及各项管理制度与指标体系的建立和健全;提供各种加工处理了的工资管理信息,以满足工资管理的特殊要求,适应新形势对职工队伍提出的新要求。效益/投资比:暂时无法估算。投资回收期:大约 3 个月。2.3 技术可行性软件需求:操作系统 WINDOWS 2000 Advance Server 以上。硬件需求:赛扬 1.7G CPU、512M 内存 80G 硬盘的计算
11、机。本系统采用 JSP 实现,依靠其强大的面向对象系统,与 SQL Server2000 数据库管理系统相结合,能在 1 个月内开发出系统。2.4 开发工具的选择eclipse 作为前台的开发工具,用 SQL Server200 作为后台支持数据库,通过JSP 的数据库控件来连接 SQL Server200 中并对其编程来实现各种功能。2.5 开发工具 概述2.5.1 JSP 概述JSP 技术使用 Java 编程语言编写类 XML 的 tags 和 scriptlets,来封装产生动湖南人文科技学院课程设计7态网页的处理逻辑。网页还能通过 tags 和 scriptlets 访问存在于服务端的
12、资源的应用逻辑。JSP 将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于 Web 的应用程序的开发变得迅速和容易。 Web 服务器在遇到访问 JSP 网页的请求时,首先执行其中的程序段,然后将执行结果连同 JSP 文件中的 HTML 代码一起返回给客户。插入的 Java 程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 JSP 与 Java Servlet 一样,是在服务器端执行的,通常返回该客户端的就是一个 HTML 文本,因此客户端只要有浏览器就能浏览。 JSP 的 1.0 规范的最后版本是 1999 年 9 月推出的,12 月又推出了 1.1 规范
13、。目前较新的是 JSP1.2 规范, JSP2.0 规范的征求意见稿也已出台。 JSP 页面由 HTML 代码和嵌入其中的 Java 代码所组成。服务器在页面被客户端请求以后对这些 Java 代码进行处理,然后将生成的 HTML 页面返回给客户端的浏览器。 Java Servlet 是 JSP 的技术基础,而且大型的 Web 应用程序的开发需要 Java Servlet 和 JSP 配合才能完成。JSP 具备了 Java 技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 自 JSP 推出后,众多大公司都支持 JSP 技术的服务器,如 IBM、Oracle、B
14、ea公司等,所以 JSP 迅速成为商业应用的服务器端语言。 JSP 可用一种简单易懂的等式表示为:HTML+Java=JSP。2.5.2 SQL Server 数据库简介SQL Server 是由 Microsoft 开发和推广的关系数据库管理系统(DBMS ) ,它最初是由 Microsoft、Sybase 、Ashton-Tate 等三家公司共同开发的,并于 1988年推出了第一个在 OS/2 版本上运行的 SQL Server 系统。1992 年 Sybase 和Microsoft 这两家公司将 SQL Server 移植到了 Windows NT 操作系统上,后来Microsoft 致
15、力于 Windows NT 平台的 SQL Server 的开发,而 Sybase 则专注于SQL Server 在 UNIX 上的应用。 近年来在 Microsoft SQL Server 的发展历程中不断更新版本,有两个版本具有重要的意义。即是在 1996 年推出的 SQL Server6.5 版本和在 2000 年 8 月推出的 SQL Server2000 版本。6.5 版本使得 SQL Server 得到广泛的应用,而 2000 版本在功能和易用性上有很大的增强,并推出湖南人文科技学院课程设计8了简体中文版,它包括企业版、标准版、开发版和个人版等 4 个版本。三 需求分析3.1 市场
16、需求分析工资管理系统是一个企业单位不可缺少的部分,它能为用户提供充足的信息和快捷的查询手段。(1)一个工资管理系统可以高效能、大容量地收集、处理、存贮工资管理信息,大幅度地提高工资管理信息系统的工作质量和效率。(2)能够为企业管理人员及时掌握整个工资管理系统的全面情况,提供系统的准确的工资管理信息,可以促进工资管理工作的规范化及各项管理制度与指标体系的建立和健全。(3)为企业提供各种加工处理了的工资管理信息,以满足工资管理的特殊要求,适应新形势对职工队伍提出的新要求,帮助管理人员选择方案,实现优化决策。虽然当前,不少单位的工资管理部门对于计算机的应用还仅限于简单的单机应用,随着时间的推移、任务
17、的复杂、用户的需求,其应用还会扩大。3.2 系统需求分析3.2.1 系统目标企业工资管理系统可以用于支持企业完成工资管理工作,有如下 3 个方面的目标。(1)支持企业实现规范化的管理。 (2)支持企业高效率完成人事管理的日常业务,包括新员工加入时人事档案的建立,老员工转出、辞职、退休等。 (3)支持企业进行人事管理及其相关方面的科学决策,如企业领导根据现有的员工合同期限决定是否继续聘用等。湖南人文科技学院课程设计93.2.2 系统的分析和概要设计根据实际情况,我们使用原型法(Rapid Prototyping)即以少量代价快速地构造一个可执行的软件系统模型。使用户和开发人员可以较快地确定需求,
18、然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐增加上去,直到所有的性质全部满足。此时模块也发展成为最终产品了。通过对用户需求的分析,我们可以分析出该工资管理系统大致可以分为六个模块:人事档案管理模块、职工工资管理模块、工资统计模块的实现、部门查询模块、特殊查询模块、报表查询模块。现在对这六个模块做具体说明:人事基本情况管理模块:输入:职工信息输出:“人员档案表”功能:对人事基本信息的查询职工工资管理模块输入:人员月工资输出:“职工工资表” 功能:完成员工工资的查询工资统计模块输出:“职工工资统计表”功能:完成员工工资的统计和打印部门查询模块输出:以部门为索引的“职工
19、档案信息”功能:完成以部门为索引的“职工档案信息”的统计和查询特殊查询模块的实现输出:满足查询条件的“职工档案信息”和职工合同的期限功能:完成满足查询条件的“职工档案信息”和职工合同的期限的查询湖南人文科技学院课程设计10报表查询模块的实现输出:员工履历信息和工资信息的基本情况 查询及打印功能功能:完成对员工履历信息和工资信息基本情况的查询及打印3.2.3 系统功能分析本系统是基于 JSP 和 SQL Server 数据库建立的 B/S 结构管理系统,考虑了两种角色:工资管理员和普通员工。他们通过相同的登陆页面,选择不同的登陆方式,各自进入自己的用户界面管理员进入管理页面可以对员工发放工资,可
20、以新添加新的员工,修改自己的密码,以及发布消息:普通用户可以查看自己的工资情况,可以根据需要查询具体每个月,或几个月的工资发放情况,察看最近的动态发布消息,同时也可以修改密码:湖南人文科技学院课程设计113.2.4 系统业务流程图普通员工管理员用户登录判断用户管理平台 用户平台发放工资发布消息修改密码添加员工察看消息查询工资修改密码注销登录湖南人文科技学院课程设计123.3 系统 E-R 图图 3-3 E-R 图mmmm11报表员工信息设置用户查询员工职工编 号性别职务民族籍贯 婚否工资设置部门设置技能工 资基本工 资实发工资别资职务工资职工编 号职工姓 名实发工资别资职务部门出勤表缺勤 满勤
21、湖南人文科技学院课程设计133.4 数据流图人事科工资管理银行财务科报表传盘职工名单D 1 工资表表 6-1 底层数据流图 人事科职工名单D 1 本月工资表P 2发本月工资P 1异动管理劳资科本月工资银行财务科劳资科停发名单职工信息报表工资表 6-2 工资管理第一层数据流图湖南人文科技学院课程设计14人事科P 1 . 1涨工资 劳资科职工名单D 1 工资表P 1 . 3停发工资劳资科P 1 . 2登记职工劳资科涨工资名单停发名单职工信息工资信息工资信息表 6-3 工资管理的展开劳资科本月工资P 2 . 3银行传盘P 2 . 1统计汇总银行各科室停发名单记账存档D 1 本月工资表P 2 . 2发
22、工资记账本月工资职工记账存档按科室汇总本月工资表 6-4 本月工资管理的展开湖南人文科技学院课程设计153.5 数据字典通过系统需求分析,对企业工资管理系统编制数据字典如下:(1) 数据流定义(2) 数据存储定义(3) 处理逻辑定义数据流名称:职工名单数据流编号:F1简述:职工信息数据来源:人事科数据去向:P1.1数据流名称:本月工资数据流编号:F2简述:对职工本月工资进行修改数据来源:劳资科数据去向:P2.1 ,P2.2数据流名称:职工发工资数据流编号:P2.2简述:根据工资条形成本月工资表输入数据流:D2-P2.2输出数据流:P2.2-职工处理:查询 D1(本月工资表) ,打印本月职工工资
23、条财务记账后传盘给银行。外部实体名称:人事科数据流编号:S1简述:对职工添加,删除进行管理的部门输出数据流:F1外部实体名称:劳资科数据流编号:S2简述:对职工工资进行管理的部门输出数据流:F2湖南人文科技学院课程设计16(4) 外部实体定义四 系统设计4.1 系统处理流程和数据流程外部实体名称:财务科数据流编号:S3简述:发放工资,及工资记账管理。数据存储名称:职工信息表数据存储编号:D0简述:职工基本信息数据存储组成:职工编号+姓名+ 科室号+职称+体制+医保号+ 公积金号+养老金号+银行账号+ 有效标志关键字:职工编号相关处理:F1数据存储名称:本月工资表数据存储编号:D1简述:职工本月
24、工资信息数据存储组成:职工号+工资日期+ 操作员+1 薪金科目20+1扣款科目5关键字:职工编号+工资日期相关处理:F2湖南人文科技学院课程设计17财务处数据库职工工作部门部门汇总信息姓名 职称工作考勤情况后勤部门职工月消费及工资税汇总表水电费 个人所得税职工保险住房公积金银行ATM 机 收费公司税务部门保险公司人事处性别 银行帐户湖南人文科技学院课程设计184.2 系统数据库概念结构发布浏览管理员 修改 密码工资发放员工查询修改动态消息4.3 系统数据库逻辑结构与与与login / post username,pasword与与与与与与与与与与与与与与与与与与与与与与与与 与与与与与湖南人文
25、科技学院课程设计194.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文化程度 字
26、符型 8 Yes政治面目 字符型 6 Yes毕业学校 字符型 16 Yes联系电话 数值型 16 Yes籍贯 字符型 10 Yes民族 字符型 10 Yes湖南人文科技学院课程设计20家庭地址 字符型 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 员工工资表字段名 类型 长度 允许职工编号 数
27、值型 8 No职工姓名 字符型 8 Yes年/月 日期型 10 Yes技能工资 数值型 8 Yes工龄工资 数值型 8 Yes岗位工资 数值型 8 Yes湖南人文科技学院课程设计21职务工资 数值型 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
28、 特殊查询表字段名 类型 长度 允许职工编号 数值型 8 No职工姓名 字符型 8 Yes日期 日期型 8 Yes表 3-26 报表查询表湖南人文科技学院课程设计22字段名 类型 长度 允许职工编号 数值型 8 No部门 字符型 6 Yes职务 字符型 8 Yes房屋租金 数值型 8 Yes养老保险 数值型 8 Yes建房扣款 数值型 8 Yes实发工资 数值型 8 Yes日期 日期型 8 Yes五 系统测试5.1 部分代码5.1.1 登陆平台该平台可以实现员工和管理员的登录验证,根据登陆的身份不同进入不同的管理系统如:普通员工进入工资查询系统,管理员则进入工资发放系统。核心代码:以及 jav
29、abean 文件的核心部分:public boolean isManager(String manager, String password, int type) this.setMname(manager);this.setMpassword(password);String cstr = “select * from manager where managername=“ + manager +“ and managerpassword=“ + password + “;try mcon = this.connection();mstmt = mcon.createStatement();
30、mrs = mstmt.executeQuery(cstr);if (mrs.next() setMID(mrs.getInt(“MID“);return true;else return false;catch (Exception ex) return false;湖南人文科技学院课程设计24public boolean isUser(String user,String password)this.setUsername(user);this.setUserpassword(password);String ustr = “select * from guestuser where us
31、ername=“ + user +“ and userpassword=“ + password + “;tryucon=this.connection();ustmt=ucon.createStatement();urs=ustmt.executeQuery(ustr);if(urs.next()setUID(urs.getInt(“USERID“);return true;elsereturn false;catch(Exception ex)System.out.println(ex.toString();return false;5.1.2 工资查询系统该子系统实现普通员工对工资的查询
32、以及动态新闻的浏览以及密码修改核心代码:湖南人文科技学院课程设计25修改密码的核心代码:package DataBase;import java.sql.*;public class Changepwd extends DataActionprivate Connection changepwdcon;private Statement changestmt;public boolean change(String username,String oldpass,String newpass)changepwdcon=this.connection();String changestr = “
33、update guestuser set userpassword=“ + newpass +“ where username like “ + username + “;try changestmt = changepwdcon.createStatement();changestmt.execute(changestr);changestmt.close();changepwdcon.close();湖南人文科技学院课程设计26return true;catch (Exception ex) System.out.println(ex.toString();return false;5.1
34、.3 工资发放系统该平台下,管理员可以为员工发放每月的工资,同时还可以修改密码以及发布动态的新闻。核心代码:5.2 测试5.2.1 测试的作用和意义系统测试是教师工资管理系统的开发周期中的一个十分重要环节。尽管在系统开发周期的各个阶段均采取了严格的技术审查,但依然难免会留下错误,如果没有在投入运行前的系统测试阶段被发现并纠正,问题迟早会在运行中暴露出来,到那时要纠正错误将会付出更大的代价。系统测试占用的时间、花费的人力和成本占软件开发的很大比例。统计表明,开发较大规模的系统,系统测试的工作量大约占整个软件开发工作量的 4050。而对于一些特别重要的大系统,测试的工作量和成本更大,甚至超过系统开
35、发其他各阶段的总和的若干倍。5.2.2 测试方法(1) 测试人员测试队伍由两位成员组成。软件的设计者在测试整个过程中负责整体测试方案的制定和测试进度的掌握以及白盒测试的测试者。第二位成员由未参加软件制作者担任,主要责任是进行软件的黑盒测试以及软件环境,硬件要求和极限测试工作。(2) 机器测试通过在计算机上直接运行被测程序,来发现程序中的错误。机器测试包括黑盒测试盒白盒测试。黑盒测试也称功能测试,将软件看作黑盒子,在完全不考虑程序的内部结构和特性的情况下,研究软件的外部特性。根据软件的需求规格说明书测试用例,从程序的输入和输出特性上测试是否满足设定的功能。白盒测试也称结构测试,将软件看作一个透明
36、的白盒子,按照程序的内部结构和处理逻辑来选定测试用例,对软件的逻辑路径及过程进行测试,检查与测试是否相符。湖南人文科技学院课程设计285.2.3 测试内容软件的正常运行、关闭及退出时保存记录的提示(默认为是) 。用户登录界面友好,可操作性及安全性能较好,能对不同管理级别者进行限制,以保证数据库的安全。数据库的可维护性好,数据的录入、删除及更改均能顺利完成,并能实现动态更新。数据查询便捷,能对各种不同的查询条件进行搜索,以找到最合适的答案。数据溢出、越界均能进行非法提示,以警告用户正确使用。对用户的非正常操作方式也提出警告。数据类型填写错误时,系统能够报错。软件对操作系统的兼容性良好,可移植性完
37、好。5.2.4 测试结果软件在运行、关闭及退出时保存记录的提示功能基本完成,在软件的不断启动关闭过程中没有出现死机、程序执行效率降低等各种不良现象,功能的实现较为完善。用户登录界面较友好,但软件界面的色彩选择、搭配上对于长期工作者而言仍然不会产生眼部不适感。可操作性及安全性能较好,能完成对不同管理级别者的限制工作,对软件涉及到的机密数据能进行良好的保护。数据库的可维护性良好,数据的录入能顺利完成,并能实现动态更新,删除和修改也能顺利完成。数据查询不够全面,只能按系统设定的少数查询条件进行搜索,以找到合适的答案。数据溢出、越界基本不能进行非法提示,以警告用户正确使用。对用户的非正常操作方式能提出警告。数据类型填写错误时,系统有报错功能,在数据输入错误时,使用者能够获知错误所在。