软件工程课程设计工资管理系统的设计与实现题目:工资管理系统学生姓名:***********学号:*********专业班级:****指导教师:*****1开发背景说明随着科技的发展现在越来越多的办公都实行了自动化,随着就职人员的增加,这对工资管理提出了新的要求,传统的纯手工或简单的计算工具,已经不适应现代经济高速发展和信息快速增长的要求,因此必须运用现代化管理手段,配备完善的自动化设备,采用全新的计算机网络和工资管理系统,来提高企业的办公效率,最大限度地发挥准确、快捷、高效等作用,从而赢得企业的高信誉、强实力、好效益,运用计算机管理就势在必行!!2系统分析:2.1问题定义工资管理系统有着许多手工管理所无法比拟的优点:检索迅速、查找方便、可靠性高、存储量高、保密性好、寿命长、成本低等.这些优点能够极大的提高工资管理的效率。2.2可行性分析2.2.1目标方案可行性1)计算机设备处理繁杂的工资增减问题,大幅度减少人力、物力,极大地提高企业的管理水平和管理效率。2)管理水平和管理效率的提高能直接产生经济效益。3)高效率的管理形成了良好的经营氛围,为企业打造优良形象,提高企业竞争力。4)本系统安全保密性可靠,实施独立的局域网络,人员进入系统需要登录,需输入账户和密码。5)本系统的管理,可以根据市场需要进行调整,实用性强2.2.2技术可行性(1)工作人员一般都要求掌握计算机技术,会使用各种管理软件。(2)在新系统投入使用时,需对员工进行少量的培训,熟悉系统的功能和使用方法使系统能够顺利运行。2.2.3经济可行性(1)企业有能力承担系统开发费用。(2)新系统将为企业带来经济效益。管理系统是一个信息化、智能化和先进理理念的集合体。而管理是一个动态过程,在其运行过程中要采取多项措施。其最主要的表现就是减少了企业管理费用和人力开支。2.2.4操作可行性(1)本系统采用基于Windows的图形用户界面,而该系统是大家熟悉的操作系统,对于那有一般的计算机知识的人员就可以轻松上手。(2)整个工资管理系统采用较友好的交互界面,简单明了,操作方便,不需要对数据库进行深入的了解。2.3需求分析2.3.1市场需求分析1)工资管理系统是一个企业单位不可或缺的部分,他能为用户提供充足的信息和快捷的查询手段。2)一个工资管理系统可以高效能、大容量的收集、处理、存储工资管理信息,大幅度的工资管理信息系统的工作质量和效率。3)能够为企业管理人员及时掌握整个工资管理系统的全面情况,提供系统的准确的工资管理信息,可以促进工资管理工作的规范化及各项管理制度与指标体系的建立和健全。4)为企业提供各种加工管理了工资管理信息,以满足工资管理的特殊要求,适应新形势对职工队伍建设提出的新要求,帮助管理人员选择方案,实现优化决策。虽然当前,不少单位的工资管理部门对于计算机应用还仅限于简单的单机应用,随着时间的推移、任务的复杂、用户的需求,其应用还会扩大。2.3.2系统功能需求分析工资管理系统涉及到员工基本信息的录入、修改和删除,工资标准的设定、查询和结算等。典型的工资管理系统主要有以下基本功能:a)员工基本信息的录入、修改、删除等功能b)工资标准的设定功能,集体包括职务工资、职称工资以及其他工资标准的设定。c)工资信息的浏览d)员工工资信息表的创建e)工资调整管理f)工资统计2.3.3系统需求分析和目标企业工资管理系统可以用于支持企业完成工资管理工资,有如下3个方面的目标。1)支持企业实现规范化的管理。2)支持企业高效率完成人事管理的日常业务,包括新员工加入时人事档案的建立,老员工转出、辞职、退休等。3)支持企业进行人事管理及其相关方面的科学决策,如企业领导根据现有的员工合同期限决定是否继续聘用等。3概要设计通过分析,将工资管理系统分为六个模块:人事档案管理模块、职工工资管理模块、工资统计模块的实现、部门查询模块、特殊查询模块、报表查询模块用户管理者判断用户用户登录管理平台发放工资发布消息修改密码添加员工注销登录查看消息查询工资修改密码用户平台对六个模块做具体说明:人事基本信息管理模块:输入:职员信息输出:“人员档案表”功能:对人事基本信息的查询职工工资管理模块输入:人员月工资输出:“职工工资表”功能:完成员工工资的查询工资统计模块输出:“职工工资统计表”功能:完成员工工资的统计和打印部门查询模块输出:以部门为索引的“职工档案信息”功能:完成以部门为索引的“职工档案信息”的统计和查询特殊查询模块的实现输出:满足查询条件的“职工档案信息”和职工合同的期限功能:完成满足查询条件的“职工档案信息”和职工合同的期限的查询报表查询模块的实现输出:员工履历信息和工资信息基本情况的查询及打印功能功能:完成员工履历信息和工资信息基本情况的查询及打印功能3.1系统业务流程图DI工资表职工名单报表传盘人事科工资管理银行财务科IIMMMM员工职工编号籍贯婚否性别民族职位员工信息设置用户查询报表部门实发工资职务职工姓名职工编号出勤表缺勤满勤工资设置部门设置工资实发工资技能工资职务基本工资3.2系统E-R图3.4数据流图图3.4.1底层数据流图图3.4.2工资管理第一层数据流图图3.4.3工资管理的展开图3.4.4本月工资管理的展开数据流名称:职工名单数据流编号:F2简述:职工信息数据来源:人事科数据去向:P1.1数据流名称:本月工资数据流编号:F2简述:对职工本月工资进行修改数据来源:劳资科数据去向:P2.1,P2.2数据流名称:职工发工资数据流编号:P2.2简介:根据工资条形成本月工资表输入数据流:D2-P2.2输出数据流:P2.2-职工处理:查询ID(本月工资表),打印本月职工工资条外部实体名称:劳资科数据流编号:S1简述:对职工工资进行管理的部门输出数据流:F2外部实体名称:财务科数据流编号:S3简述:发放工资,及工资记账管理数据存储名称:本月工资表数据存储编号:D1简述:职工基本信息数据存储组成:职工编号+工资日期+操作员+1{薪金科目}20+1{扣款科目}5关键字:职工编号+工资日期相关处理:F2外部实体名称:人事科数据流编号:S1简述:对职工添加,删除进行管理的部门输出数据流:F1数据存储名称:职工信息表数据存储编号:D0简述:职工基本信息数据存储组成:职工编号+名称+科室号+职称+体制+医保号+公积金号+养老金号+银行账号+有效标志关键字:职工编号相关处理:F13.5数据字典通过需求分析,对企业工资管理系统编制数据字典如下:(1)数据流定义(2)数据存储定义(3)处理逻辑定义(4)外部实体定义姓名性别银行账号职称工作考勤情况职工工作部门部门汇总信息财务处数据库人事处职工月消费及工资税收汇总表后勤部门水电费个人所得税职工保险住房公积金4系统设计4.1系统处理流程和数据流程管理员修改密码动态消息员工工资发布发放查询修改浏览4.2系统数据库概念结构4.3数据库设计4.3.1数据录入功能主要任务是对各种工资信息进行日常的管理,如工资信息的输入、查询、修改、增加、删除,迅速准确地完成各种工资信息的统计计算和汇总,快速打印出报表。4.3.2.数据查询功能系统需要提供以下查询功能:1)员工考勤情况2)员工工种情况,反映员工的工种、等级,岗位工资等信息3)员工津贴信息情况,反映员工的加班时间,加班类别、加班天数、岗位补贴情况等4)员工基本信息情况5)员工月工资情况:年,月,职工号,姓名,部门名,基本工资,病假扣款,事假扣款,3.应发工资,实发工资4.3.3.数据统计功能1)统计员工年终奖金2)统计每部门月工资情况4.4.4数据库概念设计分析前面的系统功能要求,需要一个表来存储和管理员工信息,使系统能够接受员工原始的各项数据,以实现数据录入、查询或统计员工信息等功能。员工是本系统的第一个实体。为了能实现查询和统计部门内员工情况等功能,必须有一个表来存储和管理所有部门的信息。部门是本系统的第二个实体。工资是以员工工作情况来制定的。需要建立一个表来记录各种工资、津贴、扣款的信息。它主要为各种查询和统计功能提供工资数据。工资是第3个实体。据此可以绘出工资管理系统数据库的E-R图如下:1NMM1部门员工工资工作获得实体属性列表如下:实体属性员工工号姓名性别年龄籍贯身份认证婚姻状况学历部门名称工种工龄职务等级部门部门名称部门负责人部门人数工资工号工资年月岗位工资岗位补贴出勤天数加班工时加班天数加班类别加班工资病假扣款事假扣款其他扣款应发工资实发工资4.4数据库逻辑设计将数据库的概念模型转换为关系模型:实体转换成的关系模式有:员工(工号,姓名,性别,年龄,籍贯,身份证号,婚姻状况,学历,部门名称,工种,工龄,职务等级)部门(部门编号,部门名称,部门负责人,部门人数)获得(工号,姓名)工资(工号,工资年月,岗位工资,岗位补贴,出勤天数,加班工时,加班工资,加班天数,加班类别,病假扣除,事假扣除,其它扣除,应发工资,实发工资)因为,员工与工资是1:N的关系,所以各关系模式为:员工(工号,姓名,性别,年龄,籍贯,身份证号,婚姻状况,学历,部门名称,工种,工龄,职务等级)部门(部门名称,部门负责人,部门人数)工资(工号,工资年月,岗位工资,岗位补贴,出勤天数,加班工时,加班工资,加班天数,加班类别,病假扣除,事假扣除,其它扣除,应发工资,实发工资)//字体为粗体的属性为各关系模式的主码。关系规范式:工资管理系统∈1NF每个属性均不可再分4.5数据库与数据表设计——物理结构设计在SQL数据库中需要建立3个数据表:员工信息数据表、部门信息数据表和工资数据表。4.5.1.数据库与数据表设计①员工信息数据表定义其中,“工号”是表的主键,惟一标识。“部门名称”是外键。“工号”将记录员工的编号,在员工信息表中增加这一列时,虽然增加了数据冗余,但可以在查询每个员工信息时,提高系统的性能。因为员工信息表的记录数相对固定,相比之下,增加这个冗余的列对于整个系统来说是有利的。通过它,系统将引用到工资信息。此表取名为“员工”②部门信息数据表定义其中,部门名称是该表的主键,惟一标识一个部门。此表取名为“部门”③工资数据表定义其中,“工号”作为该表的主键,唯一标识,保证客房信息表数据的参照完整性。此表表取名为“工资”根据上面三个数据表的设计,可执行下面的步骤创建数据表1)打开企业管理器,在本地服务器上创建新的数据库“工资管理库”2)创建表员工、部门、工资4.5.2.数据完整性设计1)给每个表实施主键约束。①主键约束、非空值约束员工:工号为主键,所以此项非空部门:部门名称为主键,所以此项非空工资:工号为主键,所以此项非空2)实施CHECK约束员工表中建立一个检查约束,即员工性别不是‘男’就是‘女’CHECK(性别IN('男','女')工资表中建立一个对于出勤天数的检查约束,即出勤天数在0-20天之间check(出勤天数=0and出勤天数=20)3)外键约束员工表中,工号、部门名称为外键。FK_员工_工资FOREIGNKEY(工号)REFERENCES工资(工号)FK_员工_部门FOREIGNKEY(部门名称)REFERENCES部门(名称)通过此键建立3个表的联系4)惟一约束a)每个表的主键需定义为惟一性:对于工资表,因为工号是主键,联系着员工表,所以建立唯一性altertable工资addconstraintUQ_工号unique(工号)b)对于员工表,员工的工号、身份证号、部门名称都是用于识别员工身份,所以建立唯一约束altertable员工addconstraintUQ_工号unique(工号)5)强制约束对INSERT和UPDATE操作强制约束,表明以后对员工表中的工号、部门名称的添加和更新操作都会分别检查在工资表、部门表中是否存在与此相应的内容。6)规则为了检查员工表中输入的身份证号码是有效位数,可以创建一个规则绑定到该列;在数据操作时进行检查。规则的定义语句为:(LEN((@身份证号)=15)OR(LEN(@身份证号)=18)5系统测试该平台可以实现员工和管理员的登陆验证,根据登录的身份不同进入的管理系统如:普通员工进入