数据库应用技术课程设计说明书题目:企业员工信息管理系统学院(系):专业班级:学号:学生姓名:指导教师:教师职称:起止时间: 20-辽宁工业大学课程设计(论文)任务书院(系):教研室:软件工程说明:此表一式四份,学生、指导教师、教研室、系部各一份。
可加附页。
2011年 12 月 31日目录第一章概述 ................................................ 第二章问题定义 ............................................ 第三章需求分析 ............................................ 第四章数据库设计........................................... 第五章界面设计 ............................................ 第六章代码与注释........................................... 设计总结 ................................................... 参考文献 ...................................................第一章概述企业人事档案是企业在人事管理活动中形成的重要人事记录。
人事档案在发展中国特色社会主义过程中,是人力资源储备、促进人才合理流动、科学配置和合理使用人才,全面考察了解、正确评价和使用人才的重要依据。
但是,有的企业却片面地认为,人事档案不过是人的经历记录,其本身不能直接带来经济效益,管好管坏无所谓,所以对人事档案工作在管理制度、管理手段、管理模式、管理人员等方面不够重视,存在着这样和那样的问题,影响了企业的改革和发展。
因此,研究开发出一套比较通用、功能比较完善的企业员工培训管理软件,力求在这一领域取得一些新的成果。
员工管理系统是一个企事业单位不可缺少的部分,它的内容对于企事业单位的决策者和管理者来说都至关重要,所以员工管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
第二章问题定义用户管理:系统的登录人员,需要通过密码才能进入。
他们拥有对系统数据的登录界面,信息查询,部门/职务管理,密码修改等操作权限。
管理员管理:员工信息管理,员工工资管理,员工部门/职务的管理,用户管理,退出的详细信息的管理。
可以对系统密码进行更改,可以管理用户信息、权限。
员工信息管理:指管理系统的管理人员,可以查询到员工信息编号,姓名,出生年月,现任职务,所属部门,开始工作时间,进单位时间,身份证号,联系电话,家庭住址,填表时间等。
第三章需求分析一、数据库需求分析企业员工信息管理系统的开发任务是为了减轻工作人员的工作负担,为了管理工作能够系统化、规范化和自动化而开发的。
作为企业发展战略的重要组成部分,人员工作是其中的重中之重,是企业赖以生存的命脉,市场经济条件下,在企业中起决定作用的除企业产品、服务之外,人员的作用越来越为明显。
作为企业“选、育、用、留、汰”的重要部门——人力资源部,对员工信息管理工作的支持将发挥越来越大的作用。
培训部作为人力资源工作中“育”的主要执行部门就处于“承上启下”的重要地位,所谓“承上”即承接“选才”后的培训工作,所谓“启下”即通过培训,更好的“用人”和更好的“留人”。
企业员工管理系统是将企业的人事管理、工资管理、考勤管理有机相合,综合运用的一个企业管理软件,它使企业的人事管理由以往的手工作业,向自动化、网络化、现代化迈进了一大步。
从而使企业的人事管理人员从繁重的人事管理中解放出来,大大提高了工作效率,减轻了管理人员的工作量。
企业员工管理系统的数据需求包括如下几点:数据的一致性与完整性由于系统的数据是共享的,在不同的公司中,员工信息是共享数据,所以如何保证这些数据的一致性,是系统必须解决的问题。
要解决这一问题,要有一定的人员维护数据的一致性,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。
二、数据库概念的结构设计数据库是数据库应用程序的重要组成部分。
一个设计结构合理的数据库对于应用程序的开发效率和程序的性能都是非常重要的。
数据库的设计过程大致如下:根据用户需求,确定数据库中要保存的数据信息对用户需求进行分析是数据库设计的第一个阶段。
不断地调查与研究用户需求,了解企业运作流程等系统需求,是设计概念模型的基础。
设计数据的概念模型概念模型是按用户的观点来对数据建模,是用于进行信息世界建模的工具。
它对整个数据库的设计具有深刻的影响。
三、数据库的逻辑结构设计:此企业员工信息管理系统由用户登录,管理员登录,信息查询,部门职务管理,密码修改,营销资源管理,员工信息管理,员工工资管理等部分组成。
员工登陆属性表,用员工姓名做为主键,员工信息属性表主键是EID员工登陆属性表的主键作为员工登陆属性表的外键;公司信息属性表,主键是YID,员工信息的主键作为其外键;员工工资表,主键为PID。
员工信息查询属性表,主键为ENAME。
管理员登陆属性表,主键为CHANGETYPE。
四、数据字典(DD):企业员工信息管理基本信息表=用户登录+管理员登录用户登录表=员工信息+员工工资登记+员工部门职务登记管理员登录表=员工信息管理+员工工作管理+员工部门职务管理+用户管理五、程序流程图:第四章数据库设计一、概念设计:系统ER图公司利用管理员管理员工公司属性是:工资管理信息,奖惩管理信息,考勤管理信息。
管理员负责对各种信息的输入与输出员工属性是:姓名,性别,年龄,部门,联系方式,身份证号码图4.1 E-R图二、逻辑设计:下面列出几个主要的数据库表设计:在开发企业员工信息管理系统的过程中,因为要多处用到对数据库的操作,所以这些操作在每次用到时在每个VB程序中去实现。
根据企业员工信息系统数据库模块图分析可知道,各表所包含的字段的列名,数据类型,长度,是否允许为空等具体情况如下:表4.1 数据库用户登陆表表4.2 数据库员工信息查询表表4.3数据库员工工资表三、物理设计查询模块对在职员工进行查询查询包括按编号或者姓名或者身份证号等位关键字查询对离职员工进行查询同上操作模块对员工的基本信息进行录入,修改。
员工信息应该包括:学号、姓名、年龄、学历(不多于3个)、地址、身份证号码(不多于19个)、部分、职务、籍贯、名族、政治身份。
照片录入。
员工的调动和升降职位对员工进行离职操作维护模块员工信息的修改,员工信息的删除。
查看数据库看是否有此员工编号存在mandType = adCmdTextAdodc1.RecordSource = "select * from employermessege where eid='" &Trim(Textid.Text) & "'"Adodc1.RefreshMsgBox "此员工编号已经存在,不能进行登记!", vbOKOnly + vbExclamation, "警告"Textid.Text = ""Textid.SetFocusExit SubEnd If第五章界面设计一、登陆窗口如下所示:在企业员工管理系统中主窗台界面中包括用户登录管理,管理员登录.。
图5.1主窗体截图。
图5.1主窗体截图在企业员工信息管理系统中单击用户登录模块可以进行、新用户注册.登录.退出。
用户登录表窗体截图如图5.2所示。
图5.2用户登录截图在企业员工信息管理系统中登录用户管理进入此模块,此模块主要完成对产品登录界面,信息查询,部门/职务的管理,密码修改,退出的详细信息的管理。
用户管理表窗体截图如图5.3所示。
图5.3产品信息表截图图5.3用户登录表截图在企业员工信息管理系统中登录管理员管理进入此模块,此模块主要完成员工信息管理,员工工资管理,员工部门/职务的管理,用户管理,退出的详细信息的管理。
管理员管理表窗体截图如图5.4所示。
图5.4管理员登录管理表截图在企业员工信息管理系统中登录管理员管理进入员工信息管理模块,此模块主要完成员工信息编号,姓名,出生年月,现任职务,所属部门,开始工作时间,进单位时间,身份证号,联系电话,家庭住址,填表时间等。
员工信息管理表窗体截图如图5.5所示。
图5.5员工信息管理表截图第六章代码与注释一、登录代码Option ExplicitPublic OK As BooleanDim miCount As IntegerPrivate Sub Form_Load()OK = FalsemiCount = 0End SubPrivate Sub cmdOK_Click()Dim txtsql As StringDim mrc As ADODB.RecordsetDim MsgText As StringUserName = ""If Trim(txtUserName.Text = "") ThenMsgBox "没有这个用户,请重新输入用户名!", vbOKOnly + vbExclamation, "警告" txtUserName.SetFocusElsetxtsql = "select * from user_Info where user_ID='''& txtUserName.Text &'''"Set mrc = ExecuteSQL(txtsql, MsgText)If mrc.EOF = True ThenMsgBox "没有这个用户,请重新输入用户名!", vbOKOnly + vbExclamation, "警告" txtUserName.SetFocusElseIf Trim(mrc.Fields(1)) = Trim(txtPassword.Text) ThenOK = Truemrc.CloseMe.HideUserName = Trim(txtUserName.Text)ElseMsgBox "输入密码不正确,请重新输入!", vbOKOnly + vbExclamation, "警告"txtPassword.SetFocustxtPassword.Text = ""End IfEnd IfEnd IfmiCount = miCount + 1If miCount = 3 ThenMe.HideEnd IfExit Sub二、员工部门/职务代码Private Sub Command1_Click()'判断员工编号是否为空If Textid.Text = "" ThenMsgBox "员工编号不能为空!", vbOKOnly + vbExclamation, "警告"Textid.SetFocusExit SubEnd If'查看数据库看是否有此编号的员工存在mandType = adCmdTextAdodc2.RecordSource = "select * from employermessege where eid='" & Trim(Textid.Text) & "'"Adodc2.RefreshMsgBox "此员工不存在,不能进行登记,请先填写正确员工编号!", vbOKOnly + vbExclamation, "警告"Textid.Text = ""Textid.SetFocusExit Sub'查看数据库看此编号是否已登记mandType = adCmdTextAdodc1.RecordSource = "select * from bd where yid='" & Trim(Textid.Text) & "'" Adodc1.RefreshMsgBox "此员工已经登记!", vbOKOnly + vbExclamation, "警告"Textid.Text = ""Textid.SetFocusExit SubEnd If'查看姓名是否为空If Textname.Text = "" ThenMsgBox "姓名不能为空!", vbOKOnly + vbExclamation, "警告" Textname.SetFocusExit SubEnd If'查看曾任职务是否为空If Textbeforeduty.Text = "" ThenMsgBox "曾任职务不能为空!", vbOKOnly + vbExclamation, "警告" Textbeforeduty.SetFocusExit SubEnd If'查看现任职务是否为空If Textnowduty.Text = "" ThenMsgBox "现任职务不能为空!", vbOKOnly + vbExclamation, "警告" Textnowduty.SetFocusExit SubEnd If三、管理员管理用户代码Private Sub Command1_Click()Private Sub Command2_Click()Exit SubEnd IfEnd IfEnd SubPrivate Sub Command3_Click()Exit SubEnd IfEnd IfEnd SubPrivate Sub Command4_Click()End SubPrivate Sub Command5_Click()Text3.Enabled = TrueCommand1.Enabled = FalseCommand2.Enabled = FalseCommand3.Enabled = FalseCommand4.Enabled = FalseCommand5.Enabled = FalseCommand6.Enabled = FalseText1.DataField = ""Text2.DataField = ""Text3.DataField = ""End SubPrivate Sub Command6_Click()Dim res As Stringres = MsgBox("你确定要删除此信息吗?", vbQuestion + vbYesNo, "提示") If res = vbYes ThenEnd IfEnd SubPrivate Sub Command7_Click()Dim res As Stringres = MsgBox("你确定要更新此信息吗?", vbQuestion + vbYesNo, "提示")If res = vbYes ThenAdodc1.RecordSource = "select * from usermessege where uname='" & Trim(Text1.Text) & "'"MsgBox "此用户名已经存在,请另外选择用户名!", vbOKOnly + vbExclamation, "警告"Text1.SetFocusExit SubEnd IfMsgBox "信息修改成功!", vbOKOnly + vbExclamation, "提示"End IfText1.Enabled = FalseText2.Enabled = FalseText3.Enabled = FalseCommand1.Enabled = TrueCommand2.Enabled = TrueCommand3.Enabled = TrueCommand4.Enabled = TrueCommand5.Enabled = TrueCommand6.Enabled = TrueText1.DataField = "Uname"Text2.DataField = "Upassword"Text3.DataField = "Utype"End SubPrivate Sub Command8_Click()Text1.Enabled = FalseText2.Enabled = FalseText3.Enabled = FalseCommand1.Enabled = TrueCommand2.Enabled = TrueCommand3.Enabled = TrueCommand4.Enabled = TrueCommand5.Enabled = TrueCommand6.Enabled = TrueFormglygl.ShowMe.HideEnd Sub三、密码修改Private Sub Command1_Click()'判断原密码是否为空If Len(Trim(Text1.Text)) = 0 ThenMsgBox "原密码不允许为空!", vbOKOnly + vbExclamation, "警告"Text1.SetFocusExit SubEnd If'判断原密码是否正确mandType = adCmdTextAdodc1.RecordSource = "select * from usermessege where uname='" & Label2.Caption & "'" Adodc1.RefreshMsgBox "原密码不正确!", vbOKOnly + vbExclamation, "警告"Text1.Text = ""Text2.Text = ""Text3.Text = ""Text1.SetFocusExit SubEnd If'判断新密码是否为空If Len(Trim(Text2.Text)) = 0 ThenMsgBox "新密码不允许为空!", vbOKOnly + vbExclamation, "警告"Text2.SetFocusExit SubEnd If'限制密码长度If Len(Trim(Text2.Text)) < 6 Or Len(Trim(Text2.Text)) > 16 ThenMsgBox "密码必须为6-16位!", vbOKOnly + vbExclamation, "警告"Text2.Text = ""Text3.Text = ""Text2.SetFocusExit SubEnd If'判断灾次输入的密码是否为空If Len(Trim(Text3.Text)) = 0 ThenMsgBox "请再次输入密码!", vbOKOnly + vbExclamation, "警告"Text3.SetFocusExit SubEnd If'判断两次所输入的密码是否一致If Text2.Text <> Text3.Text ThenMsgBox "输入密码不一致,请重新输入", vbOKOnly + vbExclamation, "警告Text2.Text = ""Text3.Text = ""Text2.SetFocusExit SubEnd If'修改密码MsgBox "恭喜你,修改密码成功!请记住你的新密码!", vbOKOnly + vbExclamation, "提示" Adodc1.RefreshText1.Text = ""Text2.Text = ""Text3.Text = ""Formyhgl.ShowMe.HideEnd SubPrivate Sub Command2_Click()Text1.Text = ""Text2.Text = ""Text3.Text = ""End SubPrivate Sub Command3_Click()Formyhgl.ShowMe.HideEnd SubPrivate Sub Form_Load()End Sub设计总结一个完整的学生信息管理系统就创建完毕了。