《工资管理系统课程设计(21页).doc》由会员分享,可在线阅读,更多相关《工资管理系统课程设计(21页).doc(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-工资管理系统课程设计-第 21 页软件工程课程设计报告题目:工资管理系统设计与实现班级: 教师: 学号: 姓名: 大学计算机科学与技术学院年 月课程设计任务书姓 名 学 号 班 级 课程名称软件工程导论课程性质专业基础课设计时间2009 年 9月 20 日 2009年 11 月 12 日设计名称工资管理系统设计与实现项目组成员姓名学号在本项目中的分工 代码实现 文档编写设计要求使用传统软件工程方法对工资管理系统进行分析和设计,本程序是建立在Windows操作系统上,以VB为开发软件的应用程序,主要功能包括:人事信息的录入,修改,删除和查询操作:工资的核算查询;用户信息的管理等。计划与进度9日
2、20日至9月30日学习项目开发的背景目标10日1日至10月7日可行性研究10日8日至10月13日系统分析(包括需求分析,数据流图,数据字典等)10日14日至10月24日系统设计(包括功能设计,数据库设计及数据库的实现)10月25日至11月2日系统实现11月3日至11月12日软件测试及资料整理指导教师意见目录内容概要第一章 引 言1.1 项目开发背景1.2 项目开发的目标及意义1.3 系统的开发方法第二章 可行性研究2.1 系统流程图2.2 完成新系统的可行性第三章 系统分析3.1 系统的设计思想3.2 需求分析3.3 系统的运行环境和开发平台3.4 数据流图3.5 数据字典第四章 系统设计 4
3、.1 功能模块设计 4.2 系统总体功能模块 4.3 数据库设计4.4 数据库结构的实现第五章 工资管理系统功能实现 5.1 开发环境简介 5.2 系统界面的设计 5.3 员工基本信息管理功能设计 5.4 工资管理功能设计第六章 软件测试第七章 用户操作手册 第八章 总结8.1 参考文献8.2 设计体会与建议内容摘要工资管理系统是使用Visual Basic 6.0开发的一个数据库管理系统。在此主要讲述了使用SQL Server 2000和Visual Basic 6.0完成工资管理系统基本功能的过程。开发这个系统的步骤主要有系统分析、系统设计、系统实现和系统维护。在系统的设计中,详细的展现了
4、系统的各个模块、所需的数据库表及表字段菜单的设计等。在系统的实现中,给出了实现表单中相应的功能控件的事件、代码及菜单实现的方法。本系统具有数据输入,数据存储,信息计算修改删除等功能,本系统也提供了友好的人际对话界面。第一章 引 言1.1 项目开发背景 众所周知当今时代的世界经济正从工业经济向知识经济转变,而知识经济的两个重要特征就是信息化合全球化。要实现信息化和全球化就必须依靠完善的网络和数据库机制。处于现在这样一个飞速发展的信息时代,在各行各业中都离不开信息处理,这正是计算机被广泛应用于管理信息系统的环境,使用计算机进行信息控制不仅提高了工作效率,而且大大的提高了其安全性。尤其是对于复杂的信
5、息管理,计算机能够充分发挥其优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发时系统管理的前提。因此,对于企业或是事业单位来说开发一套工资管理系统是很必要的。虽然企业事业单位的管理已经进入信息化管理,但对于不同的单位所需要的功能是不一样的,这样通用的软件使用效率不高,还会造成人力,财力的浪费,这样就不能满足所有单位和部门的需求。所以必须做好客户的需求分析工作,设计符合用户要求的系统。1.2 系统开发的目标及意义企业和事业单位工资管理系统唯有采用自动化,高效率,人性化的管理,才能满足服务员工的需求。工资管理系统的主要目标在于加强服务而不在于精简人力。所以系统要能提供更自动化的服务
6、,期望以最快的速度将人事工资信息做最适当的运用。主要目标有:以自动化、系统化、高效管理代替分散重复操作;提高单位效益和现代化信息管理水平;提高员工的自律性,促进员工人才的成长和流动;减轻人事工资管理员的负担,节省人力物力的开支等。引进以计算机信息管理技术和网络通讯技术,是加快人事工资管理信息服务进程的重要手段。新的管理系统的使用会给人事管理体系发生变化。这促进了工资数据管理方式和理念的转变,提高了企业单位的现代化和信息化水平,为企业带来更多的效益。1.3 系统的开发方法本系统采用Visual Basic 6.0可视化开发工具开发,采用ADO对象数据技术来提高系统的安全性和稳定性。工资管理系统可
7、为企业和事业单位使用,属于C/S结构的数据库系统,固定后台数据库采用SQL Server 2000。第二章 可行性研究2.1 系统流程图员工录入人事信息管理部门录入员工出勤工资核算工资管理基本工资出勤信息基本信息工资报表图2.1 系统流程图 2.2 完成新系统的可行性 工资管理系统吸取通用系统的优点的基础上,根据具体企业单位所要求的功能进行设计。添加业务管理模块,在业务管理模块中添加管理员工的业务档案,当用户的业务工种等发生变化时只需修改业务档案表记录即可。通用型工资管理的技术比较成熟,所以可以学习技术并添加一些企业需要的功能,这样就能完成此系统以满足客户的需求。第三章 系统分析3.1 系统的
8、设计思想工资管理系统是企业和事业单位常见的计算机信息管理系统。它的主要任务是对各种工资信息进行日常的管理,如工资信息的输入、查询、修改、增加、删除,迅速准确地完成各种工资信息的统计计算和汇总,快速打印出报表。在建立与实现工资管理系统时,应进行功能划分,能够由数据库管理系统完成的功能应尽可能由数据库管理系统完成,这样才能够充分发挥数据库管理系统高效、完全、可靠、便捷的性能,减少编程人员的工作量。3.2 需求分析工资管理系统是针对企事业单位的大量业务处理工作用计算机进行全面现代化管理主要包括信息输入功能,信息修改删除功能,信息的查询以及工资的计算管理等。1.信息输入功能1)输入职工的基本信息。包括
9、:Eno(员工编号)、Ename(员工姓名)、Epart(所属部门)、Eduty(职务)、Esex(性别)、Eedu(学历)、Eaddr(住址)、Ebir(出生年月)、Etel(电话号码)等。2)输入工资的信息。包括:(基本工资)、(岗位工资)、(住房补贴)、(津贴)、(工会会费)、(水电费)、(住房公积金)、(养老保险)、(奖惩)。3)输入员工的部门信息。包括:Bno(部门编号)、Bname(部门名称)、Bzg(部门总管)、Bmount(部门人数)等。2.数据修改和删除功能1)修改和删除员工的基本信息。当单位人员的信息发生变化,如职称的改变,工作部门变动,或调离本单位等,系统应能修改员工的信
10、息或将其从员工信息表中删除。2)修改和删除员工的工资信息。员工升职加薪、工资普调是企业中常见的事情,这就需要系统能方便对员工工资进行个别及批量的修改;如员工调离本单位,就应当从员工信息表中删除这个员工信息,将其工资信息表中相应的数据删除。3)修改和删除部门信息。当撤消一个部门时,文学艺术在能从部门信息表中将其删除。而当一个部门的名称发生改变时,系统中所有该项部门的名称应一致的改变。3.查询和统计功能1)能够查询指定员工的基本信息。2)能够查询指定某个部门或全部部门的基本信息。3)查询某个员工的工资信息。4)统计、汇总指定年份企业各部门或某个部门每个月或全年工资总额,汇总各部门的人数或本单位的总
11、人数。5)工资表月工资记录的生成功能。生成当月所有员工或某个部门的工资记录,同时能进行员工工资的计算,即计算应发金额、应扣金额及实发金额。3.3 系统的运行环境和开发平台本系统使用Visual Basic进行软件开发,SQL Server 2000进行数据库开发。VB是微软公司开发的最为流行的软件之一,也是社会上使用较多的开发工具之一。VB是一个完全可视化,面向对象的开发工具,因此此系统具有兼容性较好,安全性强,通用性好等优点。3.4 数据流图在对企业和事业单位工资管理过程进行分析后,根据系统功能的描述,得到工资管理系统的数据流图如下:1. 顶层数据流图与0层数据流图图3.1 顶层数据流图图3
12、.2 0层数据流图2.人事管理模块、工资管理模块查询模块分层数据流图 部门表1.1查询部门及员工信息1.2工资录入员工编号 员工与考勤数据工资数据考勤表 工资表图3.3 员工信息查询与录入考勤表2.2计算工资2.1查询考勤内容员工名称考勤数据工资信息工资表图3.4 工资核算 备份员工名3.2数据备份3.1查询工资数据备份工资表备份数据工资表工资备份表图3.5 工资备份工资表考勤表4.2查询处理4.1要求加工员工信息查询要求查询规则查询结果员工表图3.6 员工信息查询35 数据字典数据字典是系统中各类数据描述的集合简要说明工资管理系统的数据字典。1).名字:职工编号,部门编号别名:职工号,部门号
13、描述:职工号唯一地标识数据库中职工信息相关表中的一个特定员工的关键域;部门号唯一地标识部门信息表中的一个特定部门的关键域位置:员工信息表 考勤表 工资表2).名字:职工信息报表 别名:职工信息 描述:用户指定条件下的员工基本信息情况查询结果的信息表 定义:职工信息表=职工号+职工姓名+性别+出生年月+职务+学历+电话号码+住址+所属部门+身份证号 位置:输出到打印机3).名字:考勤信息报表 别名:考勤信息 描述:用户指定条件下的员工考勤信息查询结果的信息表 定义:员工考勤信息查询报表=考勤编号+员工号+员工姓名+加班天数+出差天数+旷工天数+迟到次数+考勤日期 位置:输出到打印机4).名字:工
14、资报表 别名:工资信息 描述:记录工资的组成部分以及员工的工资情况的信息 定义:工资信息报表=职务+基本工资+每日工资+加班系数+出差天数+旷工标准+迟到标准+奖金位置:输出到打印机 第四章 系统设计4.1 系统功能设计 软件所实现的功能强弱是衡量一个软件最根本的标准。经过系统的可行性研究,需求分析后,得出中小型企业的工资信息管理系统的功能分层图如下:工资管理系统2.1添加人事信息2.2修改人事信息2.4查询人事信息3.1设置工资3.3查询职务基本工资3.2计算工资2.0人事管理功能3.0工资管理功能1.0系统登录4.0系统管理功能4.1管理用户2.3删除人事信息4.1.1添加用户4.1.2修
15、改用户密码 图4.1 工资管理系统层次图4.2 系统总体功能模块此工资管理系统分为五个模块,具体如下: 1.人事基本信息管理模块:员工信息录入修改删除及查询。 2.部门管理模块。3.考勤管理模块。 4.工资计算及管理模块。4.3 数据库设计4.3.1概念结构设计1. 根据如上的信息可得到实体之间的关系E-R图如下:图4.2 E-R图2.概念结构模型 图4.3 概念模型CDM4.3.2 逻辑结构设计将E-R图转换成如下关系模式: 员工表(员工号,员工名,职务,部门号,性别,出生年月,学历,电话,住址,身份证号) 部门表(部门号,部门名,部门总管,部门人数,)考勤表(考勤编号,员工号,迟到次数,旷
16、工次数,出差天数,加班次数,考勤日期)工资表(职务,员工号,基本工资,奖金,出差标准,加班标准,迟到系数,旷工次数)依据上面的关系模式,设计数据表如下:1. 用户表 :用于进入系统的权限设置等。 表1 用户信息表Users列名数据类型长度属性描述userIDchar5主键用户编号usernamevarchar10不允许空用户名passwordvarchar15不允许空密码markvarchar20备注2.职工表:职工的基本信息。表2 职工信息表Employee列名数据类型长度属性描述Enochar6主键职工编号Enamevarchar15不允许为空职工姓名Esexvarchar10性别Ebir
17、thDatetime出生年月Edutyvarchar20外键职务Eeduvarchar20学历Etelvarchar15电话号码Eaddrvarchar20住址Bnovarchar20外键部门编号IDidentifyvarchar20身份证号3.部门表:部门基本信息。 表3 部门信息表Department列名数据类型长度属性描述Bnochar5主键部门号Bnamevarchar10不允许空部门名Bzgvarchar10部门总管Bmountint4部门人数4.工资表:工资的基本组成信息。表4 工资设置表WageConfig列名数据类型长度属性描述DutyVarchar20主键职务BaseWage
18、Money8基本工资DayWageMoney8每日工资QvertinmeJobFloat8加班系数EvectionStandardMoney出差标准AbsenStandardMoney8旷工标准LateStandardMoney8迟到标准Bonusmoney8奖金5.考勤表:记录员工的到职情况。 表5 考勤统计表CheckStat列名数据类型长度属性描述CheckIDInt主键考勤编号EnoChar6外键员工号Enamechar15不允许空员工姓名OvertimeDayVarchar加班天数EvectionDaySmallint出差天数AbsentDaySmallint旷工天数LateDayS
19、mallint迟到次数CheckDatesmalldatetime考勤日期 6.工资表:记录保存计算出来的工资。 表6 工资表Wage列名数据类型长度属性描述WageIDint主键编号EmployeeIDchar6不允许空员工编号EmployeeNamevarchar15不允许空员工姓名WageNamedatetime不允许空工作日期BaseWagemoney不允许空基本工资OvertimeWagemoney不允许空加班工资EvectionWagemoney不允许空出差补助AbsentWagemoney不允许空旷工减薪LateWagemoney不允许空迟到减薪EtcWagemoney不允许空其
20、他补助BonusWagemoney不允许空奖金TotalWagemoney不允许空总工资4.3.3 物理结构模型图4.4 物理结构模型PDM4.4 数据库结构的实现1、数据库的创建 T-SQL语句:Create database 工资管理onname=Wages_data,filename=E:MSSQLDataWages_data.mdf, size=10mb,maxsize=100mb,filegrowth=5%log on name=Wages_log, filename=E:MSSQLDataWages_log.ldf, size=5mb, maxsize=30mb, filegrow
21、th=2mb2、数据表的创建(可同时在创建时定义相关的约束) T-SQL语句: 1) Users表:Create table Users( UID int not null defaultPrimary Key,Uname char(8) not null default, UPassword char( 16) default,URight char(20) default, 2)Employee表:create table Employee( EmployeeID char(8) not null defaultPrimary Key, EmployeeName char(8) not n
22、ull default, Sex char(2) default, Birthday smalldatetime default, Education char(8) default, Duty char(20) not null References WageConfig(Duty) ON UPDATE CASCADE ON DELETE CASCADE, DepartmentID char(20) not null, IdentityID char(20) not null, Telephone char(15) not null, Address char(40) not null, R
23、emark varchar(100) default3)WageConfig表:Create table WageConfig( Duty char(20) not null defaultPrimary Key, BaseWage money not null, DayWage money not null, OvertimeJob float(8) not null, EvectionStandard money not null, AbsentStandard money not null, LateStandard money not null, EtcStandard money n
24、ot null, Bonus money not null4)CheckStat表:create table CheckStat( CheckID int IDENTITY(1,1) Primary Key, EmployeeID char(8) not null References Employee(EmployeeID) ON UPDATE CASCADE ON DELETE CASCADE, EmployeeName varchar(15) default, Overtimeday smallint default, Evectionday smallint default, Abse
25、ntday smallint default, Lateday smallint default, CheckDate smalldatetime default5)Wage表:create table Wage( WageID int IDENTITY(1,1) Primary Key, EmployeeID char(8) not null References Employee(EmployeeID) ON UPDATE CASCADE ON DELETE CASCADE, EmployeeName varchar(15) default, WageDate smalldatetime
26、default, BaseWage money default 0, OvertimeWage money default 0, EvectionWage money default 0, AbsentWage money default 0, LateWage money default 0, EtcWage money default 0, BonusWage money default 0, TotalWage money default 0,6)DepartmentID表:Create table DepartmentID(DepartmentID int not null defau
27、ltPrimary Key,Departmentname char(16) not null default, Departmentmanage char( 8) default,Departmentnumber int default,3. 向表中插入基本信息1)插入用户基本信息insert into Usersselect01,1,1,系统管理员union select 02,yy,1234,人事管理union select 03,ll,1234,工资管理union select 04,lxj,1234,人事管理union select 05,ws,1234,工资管理union selec
28、t 06,mq,1234,系统管理员2)插入职工基本信息insert into Employee(EmployeeID,EmployeeName,Sex,Birthday,Education,Duty,DepartmentID,IdentityID,Telephone,Address,Remark)select0101,时妍妍,女,1988-08-15,总管,策划部,15862110365,淮安,union select 0401,梁丽,女,1989-01-08,总管,财务部,15862110353,淮安,union select 0301,潘娟,女,1988-01-25,工人,生产部,158
29、62110371,徐州,union select 0402,许洁,女,1990-01-27,工人,财务部,15862110365,河南,union select 0501,王涛,1987-10-13,工人,销售部,15862110001,福建,union select 0201,徐杰,1984-07-09,研究生,技术人员,研发部,15862110002,无锡,union select 0701,张凯,1985-04-12,总管,后勤部,15862110003,浙江,union select 0601,李璐,女,1986-05-16,大专,总管,宣传部,15862110004,苏州,union
30、 select 0302,石磊,1985-02-07,工人,生产部,15862110005,扬州,union select 0303,吴华,1986-06-24,工人,生产部,15862110006,山东,union select 0304,唐建青,1989-11-10,总管,生产部,15862110007,扬州,union select 0502,李云,女,1988-03-17,工人,销售部,158621100008,镇江,union select 0202,王兆坤,1986-04-30,总管,研发部,15862110009,无锡,union select 0305,梁玉冲,1990-09-
31、04,工人,生产部,15862110010,无锡,union select 0503,金坛,1989-12-15,总管,销售部,15862110011,上海,union select 0403,夏平,1986-01-13,大专,工人,财务部,15862110012,四川,union select 0602,邵建波,1984-03-17,工人,宣传部,15862110013,徐州,union select 0603,李书生,1987-11-22,工人,宣传部,15862110014,南通,union select 0102,陆林,1980-08-21,博士,工人,策划部,15862110015,
32、河北,union select 0702,黄婷,女,1981-05-16,工人,后勤部,15862110016,安徽,union select 0203,周宇,1982-07-19,研究生,技术人员,研发部,15862110017,浙江,union select 0703,李晓梅,女,1982-04-03,工人,后勤部,15862110018,宿迁,第五章 工资管理系统功能实现5.1 开发环境简介 Visual Basic是一个可视化、面向对象的、采用事件驱动的结构化高级程序设计语言,它具有强大的数据库操作功能,提供了数据管理器(Data Manager)、数据控件(data Control)
33、以及ADO(Activex数据对象)等工具,利用它能够建立多种类型的数据库并可以管理维护和使用这些数据。5.2 系统界面的设计图5.1 系统界面系统主界面主要有系统菜单和运行界面。给界面提供了系统设置,人事管理,工资管理和帮助等功能,下面又分多个子功能。5.3 员工基本信息管理功能设计(代码)添加操作:Dim EmployeeID, Employeename, Sex, birthday, Education, Duty, DepartmentName, IdentityID, Telephone, Address As StringEmployeeID = Text1.TextEmploye
34、ename = Text2.TextEducation = Text3.TextDuty = Text8.TextDepartmentName = Text4.TextSex = Combo1.TextIdentityID = Text5.TextTelephone = Text6.TextAddress = Text7.TextIf Trim(EmployeeID) = Or Trim(Employeename) = Or Trim(DepartmentName) = Then MsgBox 员工基本信息不能为空,请填写! Exit SubEnd IfmyCon.Open Provider=
35、SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=工资管理;Data Source=HP-PC;myRs.Open select * from Employee where EmployeeID= & Trim(Text1.Text) & and Employeename= & Trim(Text2.Text) & , myConIf myRs.EOF = False Then MsgBox 该员工已经存在,请重新输入! myRs.Close myCon.Close Text1.Set
36、FocusExit SubEnd IfmyRs.ClosemyRs.Open employee, myCon, 3, 2myRs.AddNew myRs.Fields(EmployeeID) = Text1.Text myRs.Fields(Employeename) = Text2.Text myRs.Fields(Education) = Text3.Text myRs.Fields(Duty) = Text8.Text myRs.Fields(DepartmentName) = Text4.Text myRs.Fields(Sex) = Combo1.Text myRs.Fields(I
37、dentityID) = Text5.Text myRs.Fields(birthday) = DTPicker1.Value myRs.Fields(Telephone) = Text6.Text myRs.Fields(Address) = Text7.TextmyRs.UpdatemyRs.ClosemyCon.CloseMsgBox 添加成功!Adodc1.RecordSource = select * from employee jbxx.Adodc1.Refreshjbxx.DataGrid1.Refresh Text1.Text = Text2.Text = Text3.Text
38、 = Text4.Text = Combo1.Text = Text5.Text = Text6.Text = Text7.Text = Text8.Text = 修改操作:Dim EmployeeID, Employeename, Sex, birthday, Education, Duty, Department, IdentityID, Telephone, Address As StringDim n As IntegerEmployeeID = Text1.TextEmployeename = Text2.TextEducation = Text3.TextDuty = Text8.
39、TextDepartmentName = Text4.TextSex = Combo1.TextIdentityID = Text5.TextTelephone = Text6.TextAddress = Text7.TextIf Trim(EmployeeID) = Or Trim(Employeename) = Then MsgBox 请填写要删除员工的基本信息! Exit SubEnd IfIf myCon.State = 1 ThenmyCon.CloseEnd IfmyCon.Open Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=工资管理;Data Source=HP-PC;myRs.Open select * from employee where EmployeeID= & Text1.Text & , myCon, 3, 2n = MsgBox(您确定要删除吗?, vbYesNo, 提示)If n = 6 ThenmyRs.DeletemyRs.ClosemyCon.CloseEnd IfAdodc1.R
限制150内