工资管理系统 软件工程设计

  • 格式:doc
  • 大小:563.00 KB
  • 文档页数:33

第一章绪论 (2)1.1任务概述 (2)1.2开发工具 (2)第二章系统设计 (3)2.1应用需求与分析 (3)2.2系统模块划分 (3)2.3系统数据库设计 (3)第三章详细设计 (5)3. 1操作流程图 (5)3.2 “登录”模块详细设计 (5)3.3 “主窗体”模块详细设计 (9)3.4 各项子模块详细设计 (12)3.4.1 添加用户与删除 (12)3.4.2 修改用户 (13)3.4.3 退出 (15)3.4.4基本工资 (16)3.4.5岗位工资 (17)3.4.6部门管理 (19)3.4.7员工管理 (21)3.4.8发放工资 (21)3.4.9 按员工查询 (26)3.4.10 按部门查询 (27)模块一: (28)模块二:........................................ 错误!未定义书签。

第四章结束语 (30)参考文献: (31)第1章绪论1.1任务概述企业的工资管理是公司管理的一个重要内容。

随着企业人员数量增加,企业的工资管理工作也变得越来越复杂。

工资管理既涉及到企业劳动人事的管理,同时也是企业财务管理的重要组成部分。

工资管理需要和人事管理相联系,同时连接工时考勤和医疗保险等等,来生成企业每个职工的基本工资、津贴、医疗保险、保险费、实际发放工资等。

早期的工资统计和发放都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间且不易保存,往往由于个人的因素抄写不慎或计算疏忽,出现工资发放错误的现象。

早期工资管理多采取纸质材料和具有较强的时间限制。

基于以上原因,企业工资管理系统使用电脑安全保存、快速计算、全面统计,实现工资管理的系统化、规范化、自动化。

企业工资管理系统是典型的信息管理系统(MIS),前台程序开发工具采用微软的VB6,后台数据库采用SQL Server2000数据库。

VB6是一种面向对象的开发工具,具有组件丰富、语言简单、功能强大的优点。

SQL Server2000数据库具有与VB6无缝连接、操作简单、易于使用的优点1.2开发工具微软公司的Visual Basic 6.0是Windows应用程序开发工具,是目前最为广泛的、易学易用的面向对象的开发工具。

Visual Basic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。

因此,本系统前台使用MS Visual Basic 6.0开发,后台数据库采用SQL Server2000数据库。

第2章系统设计2.1可行性分析(1)技术上的可行性硬件要求:主要配置为CPU(PII300以上)、内存(128MB 以上)、显卡(64MB以上)以及硬盘(10GB以上)等。

软件要求:系统采用Visual Basic 6.0和SQL Server 2000 开发工具:用VB制作系统的用户界面,SQL Server 2000制作后台数据库,两者结合完成系统功能,可运行在Windows系列操作系统上。

(2)经济上的可行性由于工资管理系统是一个比较小型的系统,所以从人力、物力、财力方面来说都是可行的。

(3)社会可行性员工的工资管理工作变得越来越复杂,工资管理既涉及到劳动人事的管理,同时也是财务管理的重要组成部分。

早期的工资统计和发放都是使用人工方式处理纸质档案,不仅花费财务人员大量的时间,且不易于保存,往往由于个人原因,抄写不慎或者计算疏忽等,出现工资发放错误的现象。

基于以上原因,学校工资管理系统使用电脑安全保存,快速计算,全面统计,实现工资管理的系统化,规范化,自动化。

因此,建立本系统具体有现实意义。

(4)操作可行性本系统运行在通用的Windows操作系统上,具有Windows 相似的操作界面。

具有简单易学,使用方便等特点,只需在计算机上进行相关的简单的设置即可,懂得计算机基本操作的人员经过短期培训培训即可熟练操作,熟悉计算机操作的人员不需要再经过专门的培训即可熟练操作。

2.2需求规定2.2.1 对功能的规定基本信息的添加、修改、删除和查询。

基本信息包括项目类型信息,项目状态信息,模块状态信息和缺陷级别信息等。

此功能为项目组管理和软件项目管理模块提供数据。

项目组信息的添加、修改、删除和查询。

项目组信息包括收员工信息和角色信息。

软件项目管理模块包括项目基本信息管理、软件模块管理和软件缺陷管理等功能2.2.2 对性能的规定a .精度本系统所需要的数据比较简单,基本不存在精度的问题。

b. 时间特性要求要求本系统对于事务的处理有较高的响应,如数据库的更新操作等响应时间应限定在一定范围。

2.2.3 输入输出的要求该系统输入数据由管理员操作,其输出数据用于显示给用户查看。

2.3运行环境硬件环境:学校需配备数据库服务器,本系统对个人计算机无特殊硬件要求,普通个人PC均能运行。

软件环境:本系统是基于WINDOWS系统开发的,因此windows 2000 以上的个人PC都能较好的运行本系统。

学校主机建议安装windows 2000 或 windows 2003 server 。

2.4人工处理过程本系统在实际运用中,有时需要人工来调整,员工工资发放的时间等。

2.5尚未解决的问题调试运行未出现问题,有待继续发现。

2.6概念模型(整个工资管理系统的E-R图)2.7接口设计(1)用户接口用户可以根据用户名和密码进行查询自己的相关信息。

(2)外部接口软件接口:通过ODBC与数据库之间进行连接;硬件接口:鼠标、键盘。

(3)内部接口模块间采取数据耦合方式,通过参数表传递数据,交换信息。

2.8运行设计(1)运行控制用户只需要通过鼠标以及键盘就可以实现查询等本系统所包含的一切操作;(2)运行时间查询时间<2s;登陆系统时间<30 minutes;2.9应用需求与分析基本信息的添加、修改、删除和查询。

基本信息包括项目类型信息,项目状态信息,模块状态信息和缺陷级别信息等。

此功能为项目组管理和软件项目管理模块提供数据。

项目组信息的添加、修改、删除和查询。

项目组信息包括收员工信息和角色信息。

软件项目管理模块包括项目基本信息管理、软件模块管理和软件缺陷管理等功能2.10系统模块划分开发这个系统的目的就是帮助企业的财务主管部门提高工作效率,实现企业工资信息管理的系统化、规范化和自动化。

能够和认识管理系统、考勤管理系统相结合,真正实现企业高效、科学、现代化的员工管理。

系统最终实现的主要功能如下。

·企业工资信息设置部分:包括设置员工的基本工资和其他项目的金额,如奖金等。

·企业工资信息管理部分:包括统计出勤、计算工资、查询工资和导出工资表等。

·系统部分:包括添加用户和修改密码。

2.11系统数据库设计数据库是信息管理系统的后台,存储着所有的信息,在信息管理系统中有着很重要的地位。

数据库设计的好与坏,直接影响到这个系统的运行效率。

良好的数据库设计,可以提高数据信息的存储效率,确保数据信息的完整性和一致性。

针对企业工资信息管理系统的需求,通过对员工工资计算过程的内容分析,为本系统设计如下的数据项和数据结构:·基本工资信息:包括工资级别和工资金额。

·岗位工资信息:包括工资级别和工资金额。

·工资信息:包括员工编号、基本工资、岗位工资、水电费、津贴工资、扣除薪水、实发金额。

·部门信息:包括部门编号、部门名称、部门负责人、部门人数。

·工资统计信息:包括员工编号、姓名、出生年月、所属部门、文化程度、职称。

·考勤信息:包括员工编号、姓名、性别、迟到次数、缺席次数。

·津贴信息:包括员工编号、姓名、性别、加班时间、加班天数、加班类型、津贴情况。

·用户信息:包括用户名、密码和权限。

第3章:详细设计3.1操作流程图初始登入用户:123 密码为:1233.2 “登录模块”详细设计登录模块的详细设计主要是用户登录的一个界面,判断登录的用户是管理员还是普通用户,进入后将面对的是主界面,从而进行相关的操作。

登录的界面主要由用户名和密码的信息,还有一些标题设置,确定和取消的按钮组成。

通过标题可以知道此系统的大概内容,由此,登录界面的设计完成。

窗体及核心代码如下:Private Sub cmd_cancel_Click()txt_key.Text = ""cmo_user.Text = "请选择"Unload MeEnd SubPrivate Sub cmd_ok_Click()Dim try_times As StringDim sql As StringDim rst As ADODB.Recordsettry_times = 0If (Trim(txt_key.Text) = "") ThenMsgBox "请输入密码", vbOKOnly + vbExclamation, "提示"Elsesql = "select * from 用户表where 用户名='" & Trim(cmo_user.Text) & "'"Set rst = ExecuteSQL(sql, "")If Trim(rst.Fields(1)) = Trim(txt_key.Text) ThenIf Trim(rst.Fields(2)) <> "管理员" Thenfrm_main.xitong.Enabled = False '在这里设计非管理员用户的权限,这里我假设让非管理员用户不能用菜单中的‘系统’frm_main.shezhi.Enabled = Falsefrm_main.xinxiweihu.Enabled = FalseEnd Ifrst.CloseUserName = Trim(cmo_user.Text)frm_main.ShowUnload MeElseMsgBox "密码不正确,请重新输入", vbOKOnly + vbExclamation, "警告"txt_key.SetFocustxt_key.Text = ""try_times = try_times + 1Exit Sub '在这里若密码错了应该跳出该过程,否则下面的语句还会执行,这不是你想要的End If'try_times = try_times + 1 '个人认为密码输入错了才加一,你这样的话,用户名错了也会加一,当然你这里用户名不会错是吧,改得多余了If try_times = 3 ThenUnload MeEnd IfEnd IfEnd SubPrivate Sub Form_Load()Dim i As IntegerDim sql As StringDim rst As ADODB.Recordsetsql = "select 用户名 from 用户表 "Set rst = ExecuteSQL(sql, "")For i = 1 To rst.RecordCountcmo_user.AddItem (rst.Fields(0))rst.MoveNextNext iEnd Sub主窗体:Private Sub bumenxinxi_Click()Dim sql As StringDim rst As New ADODB.Recordsetsql = "select * from 用户表 "Set rst = ExecuteSQL(sql, "")power = rst.Fields(2)If Trim(power) <> "管理员" ThenMsgBox "您无权进行该操作!", vbOKOnly + vbExclamation, "警告"ElseIf Trim(power) = "管理员" Thenfrm_bumenxinxi.ShowUnload MeEnd IfEnd IfEnd SubPrivate Sub gangweigongzi_Click()Dim sql As StringDim rst As New ADODB.Recordsetsql = "select * from 用户表 "Set rst = ExecuteSQL(sql, "")power = rst.Fields(2)If Trim(power) <> "管理员" ThenMsgBox "您无权进行该操作!", vbOKOnly + vbExclamation, "警告"ElseIf Trim(power) = "管理员" Thenfrm_gangweigongzi.ShowUnload MeEnd IfEnd IfEnd SubPrivate Sub jiben_Click()Dim sql As StringDim rst As New ADODB.Recordsetsql = "select * from 用户表 "Set rst = ExecuteSQL(sql, "")power = rst.Fields(2)If Trim(power) <> "管理员" ThenMsgBox "您无权进行该操作!", vbOKOnly + vbExclamation, "警告"ElseIf Trim(power) = "管理员" Thenfrm_jiben.ShowUnload MeEnd IfEnd IfEnd SubPrivate Sub yonghushanchu_Click()Dim sql As StringDim rst As New ADODB.Recordsetsql = "select * from 用户表 "Set rst = ExecuteSQL(sql, "")power = rst.Fields(2)If Trim(power) <> "管理员" ThenMsgBox "您无权进行该操作!", vbOKOnly + vbExclamation, "警告"ElseIf Trim(power) = "管理员" Thenfrm_tianjiayushanchu.ShowUnload MeEnd IfEnd IfEnd SubPrivate Sub yonghutianjia_Click()Dim sql As StringDim rst As New ADODB.Recordsetsql = "select * from 用户表 "Set rst = ExecuteSQL(sql, "")power = rst.Fields(2)If Trim(power) <> "管理员" ThenMsgBox "您无权进行该操作!", vbOKOnly + vbExclamation, "警告"ElseIf Trim(power) = "管理员" Thenfrm_tianjiayushanchu.ShowUnload MeEnd IfEnd IfEnd SubPrivate Sub Form_Load()Dim i As IntegerDim sql As StringDim rst As ADODB.Recordsetsql = "select 权限 from 用户表 "Set rst = ExecuteSQL(sql, "")For i = 1 To rst.RecordCountrst.MoveNextNext i3.3 “主窗体”模块详细设计在这个项目中,选择使用多文档界面。