《企业人事档案管理系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《企业人事档案管理系统的设计与实现.doc(57页珍藏版)》请在三一办公上搜索。
1、课程设计报告企业人事档案治理系统的设计与实现课 程 数据库原理及应用班 级 姓 名 学 号 指导教师 时刻:2012 年 6 月7 日 至 2012 年 6 月8 日指导教师对课程设计(论文)的评语(工作态度、任务完成情况、能力水平、设计讲明书(论文)的撰写和图纸质量等): 成绩 指导教师签字 年 月 日目 录第一章 开发背景1第二章 功能描述2第三章 业务流程分析3第四章 数据流程分析44.1、数据流程图44.2、数据字典4第五章 概念模型设计 12第六章 逻辑模型设计和优化13第七章 物理设计和实验14第八章系统测试16第九章课程设计心得体会24参考文献 25第一章 开发背景在经济全球化的
2、今天,建立以客户未中心的经营战略,能够加强企业和客户间的联系。对企业来讲,为客户提供一流的服务,是企业建立品牌,实现差不服务,取得竞争的利器。一直以来人们使用传统人工工的方式治理会员的差不多档案,这种治理方式存在着许多缺点:保密性差,另外时刻一长,将产生大量的文件和数据,关于查找,更新和维护都带来了许多的困蓝。而通过会员治理系统爱好,消费特点,意向需求等;进而针对客户的需求,为其提供优质的个性虎服务,还能为企业的产品开发,事业进展提供可靠的市场数据,是企业经营不可或缺的一个有利工具。同时,作为计算机应用的一部分,使用计算机对会员进行治理,具有着手工治理所无法比拟的优点。例如:检索迅速,查找方便
3、,可靠性高成本低等,这些优点极大的提高了会员治理的效率,也是企业的科学化,正规化治理,存储量大,密保性好,寿命长,成先进科学技术接轨的重要条件。目前,国内国外关于一方面的软件专门多,其功能也都比较完善,但也都存在着一些问题,如:性能不可靠,安全性差,交互能力不强等问题,在日益激烈的商场战场中难以应对真实的,残酷的竞争。第二章 功能描述当您运行本系统,首先看到的是一个登陆界面。用户名、密码差不多上由系统治理员分配,只有治理员能添加、删除用户、查询信息、修改信息以及录入职员信息。本系统要紧有以下功能:(1)数据录入功能在本系统中提供职员信息录入功能。能够录入职员的姓名、性不、年龄、民族、籍贯、职务
4、编号等信息。(2)数据查询功能系统需提供以下查询功能。依照职员的编号查询职员的差不多信息;依照职员的性不查询职员的信息;依照职员编号查询职员的职务变动信息。(3)数据修改功能 在系统中治理员能够修改已有职员的信息,包括性不、年龄、民族、籍贯、职务编号等信息。 第三章 业务流程分析 企业人事档案治理系统业务流程分析如图3-1所示。职员信息姓名联系电话出生日期性不身份证号民族婚姻状况年龄籍贯政治面貌职员号家庭住址婚姻状况职员号配偶姓名联系方式结婚时刻工作单位出生日期政治面貌职员学历职员号学历专业毕业学校毕业时刻职位设置职位代号职位描述职位名称部门经理部门名称部门代号结婚授予分配n111n11n11
5、拥有设置部门设置 图3-1 企业人事档案治理系统业务流程分析第四章 数据流程分析4.1、数据流程图 企业人事档案治理系统数据流程图如图4-1所示。姓名NNM1111111职工治理员工龄表奖惩职称表洗理费查看查看修改查看修改查看修改查看查看查看查看修改编号金额编号性不出生日期住址账号房补差不多工资职称名工资级不内容职务补助密码工龄年数工龄津贴金额性不1N1111 图4-1 企业人事档案治理系统的数据流程4.2、数据字典(1)要紧的数据流定义1)数据流名称:职员情况位置:职员P1。定义: 职员情况=姓名+性不+出生日期+民族+学历+职称 。数据流量:依照公司的职员具体录用情况来确定。讲明:要对每一
6、位被聘用的新职员进行唯一编号。2)数据流名称:奖惩情况位置:P3职员定义: 奖惩情况=职员流水号+奖惩类型+奖惩金额+奖惩年月日。数据流量:依照公司的具体情况来确定。讲明:要对每一次的奖惩记录进行唯一编号。3)数据流名称:奖惩批复位置:上级P3定义: 奖惩批复=奖惩类型+批复部门号+批复缘故+批复日期。数据流量:依照公司的具体情况来确定。讲明:具体应用中,批复缘故能够省略。4)数据流名称:调动情况位置:P5职员定义: 调动情况=职员号+调动前职务+调动后职务+调动日期。数据流量:依照公司的具体情况来确定。讲明:职员号和调动日期能够唯一确定一个调动情况。5)数据流名称:调动批复位置:上级P5定义
7、: 调动批复=批复部门号+批复缘故+批复日期。数据流量:依照公司的具体情况来确定。讲明:批复缘故能够省略。6)数据流名称:上班刷卡位置:职员P7.1定义: 上班刷卡=职员号+上班刷卡时刻+刷卡机号。数据流量:依照公司的具体规模情况来确定。讲明:上班刷卡时刻会汇入到出勤记录中。7)数据流名称:下班刷卡位置:职员P7.2定义: 下班刷卡=职员号+下班刷卡时刻+刷卡机号。数据流量:依照公司的具体情况来确定。讲明:下班刷卡时刻会汇入到出勤记录中。8)数据流名称:工资查询位置:P4职员定义: 工资查询=职员号+差不多工资+奖金+罚款+超始时刻+截止时刻+发薪日期。数据流量:依照公司的具体情况来确定。讲明
8、:依照职员号和发薪日期能够唯一确定一个工资记录。9)数据流名称:请假申请位置:职员P2.2定义: 请假申请=职员号+请假时刻+请假天数。数据流量:依照公司的具体情况来确定。讲明:职员号和请假时刻能够唯一确定一个请假记录。10)数据流名称:请假批复位置:上级P2.2定义: 请假批复=审批人+批复结果。数据流量:依照公司的具体情况来确定。讲明:批复结果的类型只能是(批准、拒绝)。11)数据流名称:销假申请位置:职员P2.1定义: 销假申请=职员号+销假时刻 。数据流量:依照公司的具体情况来确定。讲明:针对销假申请没用单独建立销假记录表,在那个地点将销假记录和请假记录进行了合并。因为在一般情况下,请
9、假是不能够进行嵌套的。12)数据流名称:治理员情况位置:治理员P6定义: 用户身份=职员编号。数据流量:依照公司的具体情况来确定。讲明:要对每一位治理员建立唯一的账号。13)数据流名称:用户身份位置:安全治理P1,P2.1,P2.2,P3,P4,P5,P7.1,P7.2定义: 用户身份= 非法用户 | 内部治理员 | 服务治理员数据流量:依照公司的具体情况来确定。讲明:不同的用户身份对应不同的操作权限,对应着不同的安全级不。14)数据流名称:部门情况位置:上级部门情况定义: 部门情况=部门号+部门名称+领导人号数据流量:依照公司的具体情况来确定。讲明:部门号是主码。(2)要紧的数据存储定义 1
10、)数据存储编号:职员记录 D1 输入:P1 输出:P1,P7.1,P7.2,P2.1,P2.2 数据结构:职员记录=姓名+性不+出生日期+民族+学历+职称 +职员编号。 数据量和存取频度:依照公司的具体规模情况来确定。 存取方式:联机处理;检索和更新;以随机检索为主。 讲明:职员编号具有唯一性和非空性;性不只能是男或女;主码是职员编号。 2)数据存储编号:请假记录 D2 输入:P2.1,P2.2 输出:P2.1,P2.2 数据结构:请假记录=职员号+请假时刻+请假天数+销假时刻 。 数据量和存取频度:依照公司的具体规模情况来确定。 存取方式:联机处理;检索和更新;以更新操作为主。 讲明:主码设
11、为请假时刻和职员号;职员号是外码,参照表是职员记录。 3)数据存储编号:奖惩记录 D3 输入:P3 输出:P3 数据结构:奖惩记录=职员流水号+奖惩类型+奖惩金额+奖惩时刻+批复部门号+批复缘故 +批复日期。 数据量和存取频度:依照公司的具体规模情况来确定。 存取方式:联机处理;检索和更新;以更新操作为主。 讲明:主码设为奖惩时刻和职员号;职员号是外码,参照表是职员记录。 4)数据存储编号:工资记录 D4 输入:P4 输出:P4 数据结构:工资记录=职员号+差不多工资+奖金+罚款+超始时刻+截止时刻+发薪日期。 数据量和存取频度:依照公司的具体规模情况来确定。 存取方式:联机处理;检索和更新;
12、以更新操作为主。 讲明:主码设为发薪日期和职员号;职员号是外码,参照表是职员记录。 5)数据存储编号:职务调动记录 D5 输入:P5 输出:P5 数据结构:职务调动记录=职员号+调动前职务+调动后职务+调动日期+批复部门号+批复缘故+批复日期。 数据量和存取频度:依照公司的具体规模情况来确定。 存取方式:联机处理;检索和更新;以更新操作为主。 讲明:主码设为调动日期和职员号;职员号是外码,参照表是职员记录。 6)数据存储编号:治理人员记录 D6 输入:P6 输出:P6 数据结构:治理人员记录=用户密码+职工号+密码+治理员账号。 数据量和存取频度:依照公司的具体规模情况来确定。 存取方式:联机
13、处理;检索和更新;以更新操作为主。 讲明:主码设为治理员账号。 7)数据存储编号:出勤记录 D7 输入:P7.1,P7.2 输出:P7.1,P7.2 数据结构:出勤记录=职员号+上班刷卡时刻+下班刷卡时刻+刷卡日期。 数据量和存取频度:依照公司的具体规模情况来确定。 存取方式:联机处理;检索和更新;以更新操作为主。 讲明:主码设为职员号和刷卡日期;职员号是外码,参照表是职员记录。 8)数据存储编号:部门记录 D8 输入:P8 输出:P8 数据结构:部门记录=部门号+部门名称+领导人号。 数据量和存取频度:依照公司的具体规模情况来确定。 存取方式:联机处理;检索和更新;以检索操作为主。 讲明:主
14、码设为部门号。(3)要紧的处理过程 1)处理过程编号:P1处理过程名:档案治理输入:用户身份,职员记录,职员情况输出:职员记录处理讲明:依照职员的聘用、解聘建立或删除职员记录,以及在后续的过程中,以治理员身份对职员的记录进行修改。2)处理过程编号:P2.1处理过程名:销假治理输入:销假申请,请假批复,用户身份,职员记录,销假记录输出:请假记录处理讲明:依照职员的销假申请,把销假时刻录入到相应的请假记录中。3)处理过程编号:P2.2处理过程名:请假治理输入:请假申请,请假批复,用户身份,职员记录,请假记录输出:请假记录处理讲明:依照职员的请假申请和批复情况,进行请假表的登记。4)处理过程编号:P
15、3处理过程名:奖惩治理输入:用户身份,奖惩批复,奖惩记录输出:奖惩记录,奖惩情况处理讲明:依照奖惩批复的要求对职员进行相应的惩处,并对惩处进行记录。5)处理过程编号:P4处理过程名:工资治理输入:用户身份,工资记录输出:工资记录,工资查询处理讲明:依照职员目前的工资情况,进行调薪的操作。 6)处理过程编号:P5处理过程名:调动治理输入:调动批复,用户身份,职务调动记录输出:职务调动记录,调动情况处理讲明:依照调动批复的内容,更改职员的职务信息,并对调动情况进行记录。7)处理过程编号:P6处理过程名:安全治理输入:治理员情况输出:D6, P1,P2.1,P2.2,P3,P4,P5,P7.1,P7
16、.2处理讲明:建立治理人员记录表;通过用户名和口令,确认用户身份,保证系统安全性。 8)处理过程编号:P7.1处理过程名:上班治理输入:上班刷卡,用户身份,职员记录,出勤记录输出:出勤记录处理讲明:依照输入的职员号信息,记录上班时刻,并推断是否迟到。9)处理过程编号:P7.2处理过程名:下班治理输入:下班刷卡,用户身份,职员记录,出勤记录输出:出勤记录处理讲明:依照输入的职员号信息,记录下班时刻,并推断是否早退。10)处理过程编号:P8处理过程名:部门治理输入:部门情况,部门记录输出:部门记录处理讲明:依照上级的调度,对现在公司的部门进行领导人的调换,或者是增加或删除某一部门。(4)数据项 数
17、据项名数据类型 长度取值范围讲明代码整型NN企业人事代码性不字符型2男/女企业人事性不姓名字符型6中文企业人事姓名出生日期整型81950.012011.01企业人事出生日期工作日期整型81970.012011.01企业人事工作日期工作简历字符型NN企业人事工作经历文化程度字符型10N企业人事文化程度所属部门字符型10N企业人事所属部门从事专业字符型10N企业人事从事专业职称字符型10N企业人事职称职务字符型10N企业人事职务民族字符型10N企业人事民族籍贯字符型20N企业人事籍贯 第五章 概念模型设计企业人事档案治理概念模型设计图3所示。图5-1 企业人事档案治理系统的概念模型设计图第六章 逻
18、辑模型设计和优化依照系统的总体概念设计模型、E-R图向关系模式的转化规则和数据库的范式理论,得到系统优化后的逻辑模型 图表如下: 表1 部门表 字段名称字段数据类型约束条件描述 表2 职务表字段名称字段数据类型约束条件描述 表3 职员类型表 字段名称字段数据类型约束条件描述 表4职员差不多信息表 字段名称字段数据类型约束条件描述 第七章 物理设计和实验得到系统逻辑模型后,就该进行数据库的物理设计和实施数据库了,物理设计要紧是要确定数据库的存储路径、存储结构以及如何建立索引等,能够采纳系统的默认设置。数据库实施要紧包括在具体的DBMS中创建数据库和表的过程,本设计所选用的DBMS为SQL SER
19、VER2000,有关创建数据库和关系表的SQL语句如下所示:创建数据库/* DataBase:企业人事档案治理系统, 创建数据库,数据库名称为企业人事档案治理系统*/*=*/create database 企业人事档案治理系统go创建表CREATE TABLE 工作信息(姓名 nchar(10) null,性不 nchar(10) null,部门类型 nchar(10) null,职务 nchar(10) null,工龄 nchar(10) null,差不多工资 float null,状态 nchar(10) null,) goCREATE TABLE企业人员信息 (姓名 nchar(10)
20、null,性不 nchar(10) null,名族类型 nchar(10) null,婚姻状况 nchar(10) null,政治面貌 nchar(10) null,文化程度 nchar(10) null,所学专业 nchar(10) null,)goCREATE TABLE 用户登录(用户名 nchar(10) null,密码 nchar(10) null,权限 char(10) null,)Go查询编号为1的职工姓名select distinct 姓名from 职工表where 编号=1;查询工资级不为2级的职工编号select 编号,工资级不from 职工表,职称表where 工资级不=
21、 2;查询与于得水工龄年数相同的职工姓名select 姓名from 职工表where 工龄年数=( select 工龄年数 From 职工表 Where 职工姓名= 于得水);统计全体职工的平均工资select avg(差不多工资)from 职称表;第八章 系统测试1、登录界面 图8-1 登录界面登陆界面代码如下:private void btnLogin_Click(object sender, EventArgs e) try if (txtUserName.Text = ) MessageBox.Show(用户名不能为空); else if (txtPwd.Text = ) Messag
22、eBox.Show(密码不能为空); else if (cmbLogin.Text = ) MessageBox.Show(请选择登录界面); cmbLogin.Focus(); return; else if (cmbLogin.Text = 治理员|cmbLogin.Text=用户) SqlConnection con = Connection.createCon(); con.Open(); SqlCommand cmd = new SqlCommand(select count(*)from 用户登录表 where 用户名= + txtUserName.Text + and 密码= +
23、 txtPwd.Text + and 权限=+cmbLogin.Text+, con); Int32 count = (Int32)cmd.ExecuteScalar(); if (count = 1) t = txtUserName.Text; t1 = cmbLogin.Text; FrmMain main = new FrmMain(); main.Show(); this.Hide(); Login_right = cmbLogin.Text; else MessageBox.Show(用户名或者密码错误!); con.Close(); catch (Exception ex) Mes
24、sageBox.Show(ex.ToString(); 2、增加职员界面图8-2 增加职员界面增加职员界面代码如下:private void button1_Click(object sender, EventArgs e) if (textBox1.Text = ) MessageBox.Show(姓名不能为空); else SqlConnection con = Connection.createCon(); con.Open(); SqlCommand cmd = new SqlCommand(select count(*) from 工作信息 where 姓名= + textBox1.
25、Text + , con); Int32 count = (Int32)cmd.ExecuteScalar(); if (count 0) MessageBox.Show(该职员信息差不多存在!); else string strSql1 = insert into 企业人员信息 (姓名) values( + textBox1.Text.ToString() + ); string strSql2 = insert into 工作信息 (姓名) values( + textBox1.Text.ToString() + ); SqlCommand cmd1 = new SqlCommand(st
26、rSql1, con); cmd1.ExecuteNonQuery();/ 执行SQL语句完成SQL命令 SqlCommand cmd2 = new SqlCommand(strSql2, con); cmd2.ExecuteNonQuery();/ 执行SQL语句完成SQL命令 MessageBox.Show(添加成功,请在差不多设置里面修改其他信息!); con.Close(); 3、数据备份界面图8-3 数据库界面数据备份代码如下:private void button1_Click(object sender, EventArgs e) try string strg = Applic
27、ation.StartupPath.ToString(); strg += Data; string sqltxt = BACKUP DATABASE 企业人事档案治理 TO Disk= + strg + + txtpath.Text + .bak + ; dbase db = new dbase(); if (db.ExecuteSQL(sqltxt) MessageBox.Show(备份成功, 提示, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); else MessageBox.Show(备份失败!); catch (Exceptio
28、n ex) MessageBox.Show(ex.Message.ToString(); 4、数据恢复界面 图8-4 数据恢复界面数据恢复代码如下:private void button1_Click(object sender, EventArgs e) dbase db = new dbase(); try string str = use master restore database 企业人事档案治理 from Disk= + textBox1.Text.Trim() + ; if (db.ExecuteSQL(str) MessageBox.Show(恢复成功, 提示, Messag
29、eBoxButtons.OK, MessageBoxIcon.Exclamation); catch (Exception ex) MessageBox.Show(ex.Message.ToString(); finally db.Dispose(); 6、主界面 图8-6 主界面主界面代码如下:private void FrmMain_Load(object sender, EventArgs e) if (FrmLogin.t1 = 治理员) 修改职员信息ToolStripMenuItem.Visible = true; 修改工作信息ToolStripMenuItem.Visible =
30、true; 增加职员ToolStripMenuItem.Visible = true; 7、修改信息界面图8-7 修改信息界面修改信息代码如下:private void button1_Click(object sender, EventArgs e) if (textBox1.Text = ) MessageBox.Show(姓名不能为空); else if (textBox2.Text = ) MessageBox.Show(信息不能为空); else if (comboBox1.Text = ) MessageBox.Show(信息不能为空); else SqlConnection co
31、n = Connection.createCon(); con.Open(); SqlCommand cmd = new SqlCommand(select count(*) from 工作信息 where 姓名= + textBox1.Text + , con); Int32 count = (Int32)cmd.ExecuteScalar(); if (count = 0) MessageBox.Show(没有该职员!); else string strSql1 = update 工作信息 set + comboBox1.Text.ToString() + = + textBox2.Text.ToString() + where 姓名= + textBox1.Text + ; SqlCommand cmd1 = new SqlCommand(strSql1, con); cmd1.ExecuteNonQuery();/ 执行SQL语句完成SQL命令 con.Close(); MessageBox.Show(修改成功!); con.Close(); 8、密码修改界面 图8-8 修改密码界面修改密码代码如下:private void button1_Cl