

4系统实现
在进行了整体设计以后,就开始进行详细的设计及编码工作。也就是设计文件和把他们有机地组织在一起实现所有功能
4.1 系统流程图设计
根据整个系统的整体设计,本系统首先要产生一个登录页面,当用户输入正确的用户名和密码后就可以顺利的进入本系统的主界面。 然而当用户输入错误的用户名和密码后,就进入产生错误页面,接着返回到注册页面进行重新注册。
进入本站点后,用户可以根据自己的需要浏览本站点。本站点主要包括:员工的基本资料包括工薪,出勤等情况
管理员登陆后可以对在线用户进行管理(主要体现在修改员工资料和发布通知等)。
仔细分析调查有关企业人事管理信息的需求的基础上,将得到如图5-1所示的本系统处理的数据流图。
针对一般企业人事管理系统的需求。通过对员工工作过程的内容和数据流程分析,设计如下面所示的数据项和数据结构:
员工基本信息:包括的数据项有员工编、员工姓名、性别、出生日期、所在部门、籍贯、学历、进公司时间、离职时间、职称等。
员工工资信息:包括的数据项有员工所在部门、姓名、底薪、补贴、奖金、养老金、医疗保险、住房公积金、实发工资等。
员工考勤信息:包括姓名、公休时间、所在部门、请假时间等。
图5.2 员工基本信息实体E_R图
4.1.2 员工工资信息实体E_R图。
……
图5.3为员工工资信息实体E_R图
4.1.3 系统结构如下图所示
图5.4为系统结构图
4.2 关键技术
4.2.1 一开始在使用程序中的for 循环总是出错
由于vbscript的for循环的语法和vb的略有不同,可能会使一些对vb较熟的人不理解,比如下面的例子就是不正确的:
<%
for I=1to 100
………
next I%>
其实,最后一句应为Next,不是Next I,这是和VB的不同之处。
4.2.2 数据库更新问题
有时数据库能浏览,但是不能更新(比如添加、删除、修改等)。
解决的方法是:在Windows 2000和Windows NT操作系统,就必须将数据文件的权限设置为任何人可完全控制。否则就只能读取了。
4.2.3 建立合理的表结构,避免数据冗余
各表通过特定字段实现不同表的数据连接,避免数据冗余,需要设计简洁高效的表结构。
4.2.4 建立相当的系统安全性
登录用户身份的验证机制的设计、操作页面的权限保护。对用户的登陆密码采用加密方式。
4.2.5 建立严密的数据表操作机制
同一表有可能在多个模块中被修改,所以严密的数据表操作机制的建立十分比较困难的,但也是必须的。除了设计时必须有相当程度的考虑,在编制时更应加强程序逻辑的可靠性和程序调试的全面性。
5主要模块
5.1 用户以及管理员登录模块
图5.1 用户登陆模块
登陆检查页面,用户只要输入正确的用户名和密码就能够顺利登陆到本系统的主页面,如果输入错误则提醒你。不同权限的用户输入的用户名和密码都将提交到表单中查询。
通过对用户登陆流程的分析,得到用户登陆系统算法流程图如图6.2
在登录之前,首先要连接数据库。此<Empmain.asp>文件就实现了该功能。源程序如下:
Dim MM_EmpMain_STRING //连接数据库驱动定义字段
MM_EmpMain_STRING = "Driver={Microsoft Access Driver (*.mdb)};DBQ="&server.MapPath("EmployeeMaintian.mdb")
//定义连接数据库字符串
登录部分源程序如下:
MM_valUsername=CStr(Request.Form("UserName")) //获取前台用户名
If MM_valUsername <> "" Then
MM_fldUserAuthorization="" //权限置空
MM_redirectLoginSuccess="EmpMain_FrameAll.asp" //进入主页面
MM_redirectLoginFailed="index.asp" //失败刷新页面
图5.2用户登陆系统算法流程图
MM_flag="ADODB.Recordset"
set MM_rsUser = Server.CreateObject(MM_flag) //定义数据库驱动数据集
MM_rsUser.ActiveConnection = MM_EmpMain_STRING //激活数据库的连接
MM_rsUser.Source = "SELECT UserName, password,ID"
If MM_fldUserAuthorization <> "" Then
MM_rsUser.Source = MM_rsUser.Source & "," & MM_fldUserAuthorization
end if
MM_rsUser.Source = MM_rsUser.Source & " FROM UserRight WHERE UserName='" & Replace(MM_valUsername,"'","''") &"' AND password='" & md5(Request.Form("Password")) & "'" //与前台输入的用户名和密码匹配
MM_rsUser.CursorType = 0
MM_rsUser.CursorLocation = 2
MM_rsUser.LockType = 3 //数据集属性设置转贴于 酷文网-论文下载中心 http://www.coolwen.net