人事工资管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
人事工资管理系统
-标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII
************* 人事工资管理系统09地理信息系统
一.开发背景
企业在发展中不断地壮大,员工也随之增加。对于人事管理部门来说,迫切地需要一个操作方便、功能简单实用,可以满足企业对员工的档案及工资信息进行管理系统。在企业选择人事工资管理系统时,主要存在以下几个方面的要求:
(1)对企业员工的档案进行管理
(2)系统的功能要符合本企业的基本情况
(3)系统的功能操作要简单、实用、操作方便,不要出现复杂的操作。
(4)可以方便地对工资信息进行打印。
二.需求分析
通过实际调查,要求本系统具有以下功能:
良好的人机界面。
方便的添加和修改数据功能。
方便的数据查询功能。
方便的数据打印功能。
在相应的窗体中,可方便地删除数据。
三.系统设计
1.系统目标
(1)界面友好、操作方便
(2)可以对员工档案进行管理,包括增、删、改、查。
(3)实现奖罚管理。
(4)可以使用操作员管理修改口令和更改操作员。、
(5)系统运行稳定、安全可靠。
2.系统预览
3.业务流程图
人事工资管理系统的业务流程如图:
4.数据库概念设计
应用程序开发过程中,对数据库的操作时必不可少的,数据库设计师根据程序的需求及其实现功能所制定的,数据库设计得是否合理将直接影响程序的开发进程。
(1)数据库设计在系统开发中占有非常重要的比重,它是通过管理系统的整体需求而制定的,数据库设计的好坏直接影响到系统的后期开发。下面对本系统中具有代表性的数据库设计做详细说明。
在本系统中,为了提高系统的安全性,每一个用户都要使用正确的用户名和密码才能进入主窗体,而且还需要根据指定的用户名提供相应的权限,为了能够验证正确的用户名和密码得到相应的权限,应在数据库中创建登录表。
登录用户信息表的实体E-R图:
员工档案信息表的实体E-R图:
员工工资信息表的实体E-R图:
(2)数据库逻辑结构设计
根据上面设计好的E-R图,可以在数据库中创建相应的数据表
db_User(登录表)
字段名数据类型长度主键
用户编号Int 4 是
UserName varchar 20 否
UserPwd varchar 15 否
权限varchar 10 否
db_employee(员工档案信息表)
字段名数据类型长度主键
员工编号Int 4 是
姓名Char 10 否
性别Char 10 否
年龄Int 4 否
民族Varchar 10 否
职务Char 10 否
db_pay(员工工资信息表)
字段名数据类型长度主键
员工编号Int 4 是
工资月份Varchar 50 是
基本工资decimal 9 否
职务津贴decimal 9 否
奖励金额decimal 9 否
罚款金额decimal 9 否
应发工资decimal 9 否
实发工资decimal 9 否
四.公共类设计
项目开发过程中,通常会以类的形式来组织、封装一些常用的方法和事件,这样做不仅可以提高代码的重用率,也大大方便了用户对代码的管理。在本系统中,主要建立了两个公共类,分别为DBConnection类和DBOperate类。DBConnection类主要用于
连接数据库;在DBOperate类中则定义了一些操作数据库的公用方法,分别用于实现各种功能,下面详细介绍这两个类。
1.DBConnection公共类
DBConnection类是数据库连接类,此类主要用于连接SQL Server数据库,在连接数据库时,只需调用此类中的MYConnection即可,其实现代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
namespace PMSClass
{
class DBConnetion
{
public static SqlConnection MYConnection()
{ return new SqlConnection(@"server=.;database=db_PMS;user=sa;pwd=123"); }
}
}
2.DBOperate公共类
DBOperate类中建立了多个方法用于执行不同的SQL语句
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Data;
namespace WindowsFormsApplication1
{
class DBOperate
{
SqlConnection conn = PMSClass.DBConnetion.MYConnection();
public int OperateData(string strSql)
{
conn.Open();
SqlCommand cmd = new SqlCommand(strSql, conn);
int i = (int)cmd.ExecuteNonQuery();