1、大学工资管理系统的分析与设计 软 件 学 院 课程设计报告书 课程名称 软件工程 设计题目 大学工资管理系统的分析与设计 专业班级 软升本 学 号 姓 名 指导教师 2012年6月
2、 26 / 29 目录 1 设计时间 1 2 设计目的 1 3 设计任务 1 4 设计内容 1 4.1 设计内容概述 1 4.1.1组织机构介绍 1 4.1.2 业务流程介绍与分析 2 4.1.3 系统开发计划 3 4.1.4 可行性研究 3 4.2 需求分析 4 4.2.1 总体目标 4 4.2.2 具体目标 5 4.2.3 系统数据建模(ER图) 5 4.2.4 系统功能建模(数据流程图) 6 4.2.5 数据字典 7 4.3 总体设计 8 4.3.1 系统层次图 8 4.3.2 系统IPO图 9 4.4 详细设计 10 4.4.1 模块
3、详细设计 10 4.4.1.1模块定义 15 4.4.1.2输入项目 16 4.4.1.3输出项目 16 4.4.1.4程序算法设计 17 4.4.1.5测试要点 17 4.4.2 模块详细设计 18 5 存在的问题 19 6 总结与展望 20 1 设计时间 2012年6月4日-2012年6月9日 2 设计目的 为了掌握软件工程的基本原理和基本方法,充分理解和掌握软件工程学的概念、原理、方法和技术。 3 设计任务 运用软件工程的思想,严格按照软件生命周期各阶段的目,完成对系统的分析和设计。 4 设计内容 4.1 设计内容概述 某大学现行工资管理系统
4、简单描述如下: 该大学共有教职员工3758人。学校下设教务处、财务处和房产处等二十六处室,还设有计算机系、自动控制系和管理工程系等十八个教学系,此外还附设一个机械工厂、一个电子厂和一所校医院。该校财务处负责全校教职工的工资管理工作。 4.1.1组织机构介绍 该大学组织机构图如下: 大学组织结构 教务处 房产处 财务处 计算机系统 自动控制系 机械工厂 电子厂 医院 图4.1.1-1学校组织结构图 4.1.2 业务流程介绍与分析 有利学校对职工工资的管理与发展,可以形成一个连贯的系统,使数据更准确化,系统化,发放更规范化,减少由于疏忽而造成不必要的
5、失误。 1)若有职工在学校内部各部门之间调动工作情况发生,则提供这些职工的姓名、由何部门调至何部门工作、工资发放变动情况等。 2)若有校外人员调入学校工作,则应提供调入者的职工号、姓名、调入校内何部门、以与有关调入者工资方面的数据,还有他们的工资开始发放的月份,据此,财务处的工资管理会计员建立调入者的职工工资台帐帐页。 3)若有职工调离学校,则要提供调出人员的姓名、所在单位和终止发放本人工资的月份。 4)若调整工资,则应提供全校教职工工资调整变动情况清单和调整后工资从哪个月份开始发放。 当财务处收到各部门报送来的扣款单、补贴清单和其它有关职工工资变动通知单后,财务处的工资管理会计就可
6、以依据上个月份的职工工资台帐制做本月职工工资台帐。职工全年工资信息占据台帐的一页。 接下来,工资管理会计员再根据填制好的本月份职工工资台帐,花费一个星期左右的时间制作出一式两份的本月份全校职工工资发放单(按部门制作)和本月份工资汇总表, 工资管理会计员依据工资汇总表上的全校“实发工资”合计数字,从银行提回现金,并于下月的5号将本月份职工工资发至职工手中。 职工工资计算处理中的几项说明: .工龄工资每人每年增加0.50元。 .应发工资 = 基本工资 + 工龄工资 + 各项补贴之和。 .扣款合计 = 房费 + 水电费 + 托儿费 + 借支扣款 + 其它扣款。
7、 .实发工资 = 应发工资 - 扣款合计。 业务流程图如下: 普通员工 管理员 用户登录 判断用户 管理平台 用户平台 发放工资 发公布消息息 修改密码 添加员工 察看消息 查询工资 修改密码 注销登录 图4.1.2-1系统业务流程图 4.1.3 系统开发计划 在本工资管理系统里,初次使用系统通过运行比较简单的数据录入、工资查询,报表录入这样一些基本的操作,包括职工证号、姓名与其他信息对照表,部门代码表,以与其他固定数据。之后,如欲修改信息可通过数据维护进行修改。若有工资变动,可通过建立扣款、补贴文件内各模块可进行当月扣款补贴等变
8、动数据进行录入。 4.1.4 可行性研究 系统开发可行性分析的内容:从技术上、经济上、和管理方面对目标方案的可行性作进一步分析。 系统的可行性分析: 用计算机的便捷性,程序的可操作性,让我们更能够方便快捷的对信息系统进行科学性的管理。与此同时,我们能够利用专业知识来解决实际问题。 技术可行性:职工工资管理信息系统所需的设备要了解相关行情选择性价比好、适用的PC机。另外在进行系统开发前,我们考虑了自己的技术水平和能力,选择适合的开发软件。 经济可行性:对职工工资管理信息系统的开发从人力、财力、物力三方面,估算新系统的开发费用和今后运行、维护费用,估计新系统获得的效益,并将费用与效益进
9、行比较,看是否有利。 操作可行性:员工工资管理信息系统有检索迅速、查找方便、可靠性高、成本低等优点,开发后方便对职工工资信息的管理。该系统分为五大功能:系统管理、新增、修改、查询和系统维护。 员工信息管理功能包括新增员工的信息,修改员工的信息,查询员工的信息。该功能模块是对系统的初始化,对员工基本信息进行管理和维护。 4.2 需求分析 4.2.1 总体目标 工资业务是每一个企业都不能缺少的一项工作,工资管理子系统是负责对工资表的操作,可以查询职员工资记录,生成月份工资,增加职员工资记录,修改职员工资记录,删除不需要的工资记录。工资管理子系统主要连接数据库中的工资表,职工信息表,部门
10、信息表,做到数据的传递作用。工资管理子系统由工资查询模块、工资录入模块、工资修改模块组成,在工资查询模块中,主要完成对职员工资记录的查询,可以按照职工工号,职工姓名,部门等进行查询。界面友好,简单易懂。 工资录入模块完成职工工资的增加,但应收项目中,职务工资、岗位工资,工资津贴,综合补贴,补贴,养老补贴,电话补贴为工资自动生成,不允许人为修改,应扣项目中,工会费、养老费、教卫费、医保金、公积金、失业金也为公式生成项目,也不允许人为修改,体现了学校财务管理的规范性和正规性。 工资修改模块中同样存在这样的问题,上述公式生成项也是不允许修改的,其他不固定项目根据不同职员可以进行修改。 联系所学
11、的管理信息系统开发的原理、技术、方法、工具和步骤,以与在各个阶段上应该完成的工作内容等理论知识,亲身体会开发一个管理信息系统的全过程与其工作内容,训练独立从事开发管理信息系统的能力。通过实践了解和掌握信息系统分析与设计阶段的主要活动和结构化系统开发方法的要点。重点是能够建立新系统逻辑模型和物理模型。 4.2.2 具体目标 1)若有职工在学校内部各部门之间调动工作情况发生,则提供这些职工的姓名、由何部门调至何部门工作、工资发放变动情况等。 2)若有校外人员调入学校工作,则应提供调入者的职工号、姓名、调入校内何部门、以与有关调入者工资方面的数据,还有他们的工资开始发放的月份,据此,财务处
12、的工资管理会计员建立调入者的职工工资台帐帐页。 3)若有职工调离学校,则要提供调出人员的姓名、所在单位和终止发放本人工资的月份。 4)若调整工资,则应提供全校教职工工资调整变动情况清单和调整后工资从哪个月份开始发放。 当财务处收到各部门报送来的扣款单、补贴清单和其它有关职工工资变动通知单后,财务处的工资管理会计就可以依据上个月份的职工工资台帐制做本月职工工资台帐。 4.2.3 系统数据建模(ER图) 系统功能建模所采用的工具是数据流程图和数据字典,用于表达系统内部数据的运动以与对数据的描述和定义。 实体 联系
13、 属性 婚否 籍贯 职工 编号 月份 性别 缺勤 满勤 1 处理 职工 1 m 出勤 民族 m 职务 管理 n 工资设置 P 管理员 m 1 查询 实发工资 技能工资 n 报 表 工 资 基本工 资 工资金额 职工信息 职务 图4.2.3-1工资管理系统ER图 4.2.4 系统功能建模(数据流程图) P 工资管理系统 E
14、1 用户 F1输入职工信息 F2输入调动信息 E2 数据库 F3输入其他方面工资 F4查询条件 F8存盘 F5用户核对信息 F6报表要求 F7用户报表 图4.2.4-1数据流图(顶层图) 从图4-4中可以看出系统的大概功能,与数据来源,数据输出等。功能主要为数据的保存、查询、与反馈,还有数据的录入等进一步的操作没有显示出来,将在1层图里显示出来。 留言 人事部 人事变动单 各部门 工资汇总表 工资单 交通补贴费清单 托儿费扣款 职工补贴表 扣款,补贴清单 P1-1 录入处理 P2-2 工资汇
15、总 P1-3 录入处理 财务处 各部门 P3-1 生成报表 P1-4 录入处理 P2-1 计算工资 P1-2 录入处理 总务处 房产处 工资变动通知单 房费,水电等扣款清单 工资汇总表 扣款,补贴清单 人事变动单 考勤,员工工龄 图4.2.4-2数据流图(一层图) 4.2.5 数据字典 通过系统需求分析,对企业工资管理系统编制数据字典如下: 1. 数据流定义 数据流名称:职工名单 说明:反映了工资的基本信息 来自过程:工资管理 流至过程:报表管理 数据结构:用户个人信息+工资名称+工资金额
16、 2.数据元素 数据流名称:人员信息 说明:反映了人员的基本信息 来自过程:人员管理 流至过程:工资管理 数据结构:员工编号+员工姓名+部门+工龄 2. 数据存储 名称:员工编号 说明:工资管理系统员工的编号 类型:字符 长度:20 有关数据结构:员工基础信息表 名称:工资基本信息数据 说明:工资管理系统中工资基本信息,工资管理后进行的数据处理 结构:员工编号+员工姓名+基本工资+职务工资+工龄工资+生活补助+应发金额+实发金额 存储方式:随机存储 3. 数据处理 (1)处理过程
17、系统验证 说明:对用户输入的用户名,密码进行验证 输入:用户名+用户密码 输出:正确的用户名和密码 (2)处理过程:人员管理 说明:对员工信息进行管理 输入:登录信息 输出:人员信息 (3) 处理过程:工资管理 说明:对员工的工作进行管理 输入:人员信息 输出:工资信息 4.3 总体设计 4.3.1 系统层次图 根据对系统需求分析中的具体目标和具体目标部分的分析得到系统功能如下: 工资管理系统 人事管理 系统登录 系统管理 工资管理 系统主窗口 公共模块 管理人事信息 人员帐套管理 管理用户
18、 工资表管理 工资帐套管理 计时工资 工资表汇总 工资表格式调整 图4.3.1-1工资管理系统层次图 工资业务是每一个企业都不能缺少的一项工作,工资管理子系统是负责对工资表的操作,可以查询职员工资记录,生成月份工资,增加职员工资记录,修改职员工资记录,删除不需要的工资记录。工资管理子系统主要连接数据库中的工资表,职工信息表,部门信息表,做到数据的传递作用。工资管理子系统由工资查询模块、工资录入模块、工资修改模块组成,在工资查询模块中,主要完成对职员工资记录的查询,可以按照职工工号,职工姓名,部门等进行查询。界面友好,简单易懂。 4.3.2 系统IPO图 IPO图如下:
19、 系统名:超市管理系统 模块名:销售管理 由下列模块调用: 工资管理 调用下列模块: 工资录入 工资管理 工资查询 输入: 职工文档数据 出勤文档数据 补贴文档数据 输出: 处理内容: 若有职工在学校内部各部门之间调动工作情况发生,则提供这些职工的姓名、由何部门调至何部门工作、工资发放变动情况等。 若有校外人员调入学校工作,则应提供调入者的职工号、姓名、调入校内何部门、以及有关调入者工资方面的数据,还有他们的工资开始发放的月份,据此,财务处的工资管理会计员建立调入者的职工工资台帐帐页。 若有职工调离学校,则要提供调出人员的姓名、所在单位和终止发放本人工资的月份。
20、 若调整工资,则应提供全校教职工工资调整变动情况清单和调整后工资从哪个月份开始发放。员工编号姓名性别身份证号工作证号手机号码 内部数据元素:员工编号、姓名、性别、身份证号、工作证号、手机号码、工作岗位、职务、工资卡账号、工资金额。 备注: IPO图 图 4.3.2-1 IPO图 4.4 详细设计 4.4.1 模块详细设计 1) 工资管理模块: 各处室提交职工信息 人事处进行工资计算 将工资报表送入财务处 财务处审核 财务处整理标准工资信息 财务处打印标准工资信息到各处室 人事处审核 出错 出错 开始 结束 图 4.4.
21、1-1 工资管理模块流程图 2) 工资录入模块: 开始 录入工资信息 出错信息 职工号为空 数据库更新 出错 保存信息 继续 结束 yes no yesYES no 图 4.4.1-2 工资录入模块流程图 3) 工资项目管理模块: 开始 用户点击数据窗体 查询数据库出错 判断 显示子模块 结束 出错信息 NO NO YES YES 图4.4.1-3工资项目管理模块流程图 4) 工资查询模块: 开始 输入或选择相关信息 职工姓名 判断 由工资号查询工资表得到工资信息,并显示在窗口中 是否
22、继续 结束 YES NO NO YES 图4.4.1-4 工资查询模块流程图 5) 补贴标准增加模块: 开始 输入补贴信息 判断 查询数据库出错 保存 继续 结束 YES YES NO 出错信息 YES NO NO 图 4.4.1-5 补贴标准增加模块流程图 4.4.1.1模块定义 1.工资修改模块中同样存在这样的问题,上述公式生成项也是不允许修改的,其他不固定项目根据不同职员可以进行修改。 2.工资管理模块:它是工资发放系统中的最为重要的模块,也可以说是工资系统的核心所在。工资系统的生成,计算公式等都包含其中。所涉与的数据
23、也是最为复杂的,要在财务室人员输入职工号后立即输出相应的工资项目组成的数据,涉与到多张表的查询判断。 3.工资录入模块:完成职工工资的增加,但应收项目中,职务工资、岗位工资,工资津贴,综合补贴,补贴,养老补贴,电话补贴为工资自动生成,不允许人为修改,应扣项目中,工会费、养老费、教卫费、医保金、公积金、失业金也为公式生成项目,也不允许人为修改,体现了学校财务管理的规范性和正规性。 4.工资项目管理模块:根据用户点击数据窗体的不同记录条来连接不同窗体,对不同的工资项目进行修改。用户选择需要查看的工资项目记录后,系统查询数据库中表,若查询出错则显示出错信息,否则判断号,显示相应的工资项目窗体。
24、 5.工资查询模块:用于查询某职工的工资信息,如果信息正确,查寻职工工资信息,否者返回,重新查找。 6.补贴标准增加模块:该模块负责补贴新标准的增加,并将新记录添加到数据库中。 4.4.1.2输入项目 输入数据包括: 1.人事数据=职工编号+职工姓名+职称+职务+部门+参加工作时间+籍贯+基本工资+生活补贴+书报费+交通费+洗理费+班级系数+职称系数+单节课时费 2.事务数据=[课时信息|任务信息] 3.课时信息=课程名称+授课班级+授课时数+班级人数 4.任务信息=任务名称+任务工作量 4.4.1.3输出项目 输出数据包括: 1.工资表=职工编号+职工姓名+帐号+工资总额
25、 2.工资明细表=基本工资+课时费+岗位津贴+书报费+生活补贴+交通费+洗理费+缴纳的保险费+缴纳的公积金费+个税+工资合计+应发工资总额 4.4.1.4程序算法设计 员工登陆 系统管理 基本信息管理 工资管理 修改用户和部门信息 添加删除查询员工信息 修改查询统计员工信息 打印工资清单 退出系统 Y Y Y N N N 图 4.4.1.4-1程序算法设计流程图 4.4.1.5测试要点 完成对流程的编码后最重要的事情就是对系统的测试工作了,测试在系统设计阶段有两个时期,通常在编写每个模块后做单元测试,另一个时期是对系统的综合测试。 在模
26、块测试时我们主要从以下几个方面考虑: 1)模块接口; 2)局部数据结构; 3)重要执行通道; 4)出错处理通道; 5)影响上述方面的边界条件。 测试时进行代码审查,从数据类型,变量声明,数据结构进行审查,然后进行功能测试,从输入一些简单的数据开始执行一遍,观测运行期间变量的变化,运行中值的变化范围。改变测试方案来变换另一个角度进行测试,发现错误并记录,修改代码,测试条件使程序通过多层分支,判别运行结果从而完成模块测试。 总体测试是组装软件的系统技术,本系统测试采用渐增集成测试,即测试单一模块,将测试完的模块加入系统中,进行一次系统测试,依次类推将所有模块加入系统中,在具体测试时,
27、采用自顶向下的结合方式,从主控模块开始,沿各控制层向下移动,逐渐把所有模块结合了。 在测试过程中使用到调试技术: 1.采用debug调试语句,跟踪数据; 2.嵌入打印语句,输出中间结果; 3.利用Visual Studio 2003中调试工具,从调试窗口观测变量的变化; 4.设置断点,观察程序在断点附近的状况。 评估运行的可靠性问题: 1.结果正确; 2.运行速度; 3.空间利用率; 4.算法的可行性。 4.4.2 模块详细设计 1.部门表Departments 表Departments用来保存企业部门的信息。本系统采用树状结构来管理部门数据,也就是在部门之间建立从属
28、关系。 表Departments的结构 编号 字段名称 数据类型 说 明 1 DepId int 部门编号,主键 2 DepName Varchar(40) 部门名称 3 Describes Varchar(250) 部门职能描述 4 UpperId int 上级部门编号 2.员工基本信息表Employees 表Employees用来保存员工的基本信息 表Employees的结构 编号 字段名称 数据类型 说 明 1 EmpId int 员工编号,主键 2 EmpName
29、Varchar(50) 姓名 3 Sex Varchar(4) 性别 4 Id_Card Varchar(20) 身份证号 5 BadgeID Varchar(40) 工作证号 6 Mobile Varchar(30) 手机号码 7 Position1 Varchar(40) 工作岗位 8 Title Varchar(20) 职务 9 AccountNo Varchar(50) 工资卡账号 10 Salary int 工资金额 3.工资项目表SalaryItem 表SalaryItem用来保存工资项目信息 表SalaryI
30、tem的结构 编号 字段名称 数据类型 说 明 1 ItemId int 编号,主键 2 ItemName Varchar(50) 项目名称 3 ItemType Tinyint 项目类型 4 ItemSum Decimal(15,2) 固定值项目金额 5 Formula Varchar(1000) 计算值的公式 4.月度工资统计表SalaryStatistics 表SalaryStatistics用来保存月度工资统计信息 表SalaryStatistics的结构 编号 字段名称 数据类型 说 明
31、1 DepId int 编号,主键 2 DepName int 员工编号 3 Describes int 统计年月 4 UpperId int 工资项目编号 5 Total Decimal(15,2) 工资项目金额 5.用户信息表Users 表Users用来保存系统用户信息 表Users的结构 编号 字段名称 数据类型 说 明 1 UserName Varchar(40) 用户名,主键 2 EmpId int 员工编号 3 UserPwd Varchar(40) 密码 5 存
32、在的问题 本系统的开发是基于本学期学习的《软件工程导论》一书,由于是新学习的课程,对于开发系统没有熟练的运用,比较生疏,鉴于此问题,我认真反复的学习了课本,从中熟练掌握技巧,遇到问题多在图书馆查资料,并请教老师同学,使得开发本系统顺利完成。 6 总结与展望 通过几天的的设计,我完成一个学校工资管理系统,学习了很多有关的知识。这样的项目对我学过程序设计,数据库,软件工程等课程是一个综合性很高的实践。本系统开发的主要目的就是要使学校工资支付实现计算机管理,使管理员能够有序的管理每一位职工的各项工资条款的发放以与工资报表的打印,使学校运用现代化技术创造更多更高的经济效益,克服以往的人工管理、统
33、计与查询单一、管理效率低下等问题。这是一次意志的磨练,是对我实际能力的一次提升,也会对我未来的学习和工作有很大的帮助。在开发过程中,充分理解了软件工程在实践中的应用与结合,达到了熟悉知道,掌握技能的作用,在制作过程中遇到了很多问题,在思考解决与同学探讨中收获很大。 参考文献 [1] 《软件工程》陈明.编[M].中央广播电视大学出版社.2003 [2] 《软件工程导论》张海藩.北京.清华大学出版社.2007 [3] 《软件工程实验》陈明.王智广.赵鹏翔.北京.中央广播电视大学出版社 [4] 邓文渊等.ASP与网页数据库设计[M].中国铁道版社.2001年. [5] 杨皓等.ASP步步高[M].机械工业出版社.2000年. [6] 汪晓平等.ASP网络开发技术[M].人民邮电出版社.2000年. [7] 王大刚.JavaScript教程[M]. E时空年. 课程设计成绩评定 出勤 情况 缺勤次数: 课程 设计 评估 设计成绩 教师签字






