资源描述
基于C#的公司人事管理系统THE DESIGN OF PERSONNEL MANAGEMENT SYSTEM BASED ON C#专 业:计算机科学与技术姓 名:赵海超指 导 教 师: 申请学位级别:学 士论文提交日期:2015年6月5日学位授予单位:天津科技大学摘 要在计算机时代日益发展的今天,计算机网络正快速融入这个社会的每一个领域。开发和设计的公司人事管理系统是这个时代的产物,解决因为传统人事管理的局限性,达到提高管理效率和质量,节省人力物力资源的目的。通过本系统,可以很好的管理各部门,也能够及时了解某一员工的工资、请假和休假等考勤情况。本系统是在Windows 7环境下,采用B/S结构,采用ASP.NET技术开发的,后台数据库采用SQL Server2005,WEB服务器采用IIS 6.0。系统总共有三类用户,超级管理员,普通管理员(人事管理员,财务管理员,考勤部门管理员),公司员工,超级管理员权限最多,普通管理员权限有限,员工的功能主要以查询为主。关键词:SQL; 人事管理; ASP.NETAbstractIn the computer age growing today, the computer NET work is rapidly into every field of the society. The development and design of the personnel management system is a product of this era, solution because of the limitations of the traditional personnel management, to improve management efficiency and quality, save manpower and material resources to. Through this system, can be very good management departments, also can understand a salary, leave and leave and attendance situation in a timely manner.This system is under Windows 7 environment, using B/S structure, using ASP.NET technology development, back-end database using SQL Server2000, WEB server using IIS 6. The system there are three types of users, the super administrator, general manager( the personnel manager, financial manager, department of check on work attendance administrator), company staff, the super administrator privileges, most ordinary administrator privileges is limited, the function of the employees are mainly composed of the query.Keywords: SQL; personnel management; ASP.NETII目 录IV第一章 绪论1第一节 系统开发背景1第二节 系统开发意义与目的1第三节 本文结构1第二章 开发环境及相关知识介绍2第一节 开发环境介绍2第二节 ASP.NET介绍2第三节 Microsoft SQL Server 2005介绍3第三章 系统分析4第一节 现状分析4第二节 可行性分析4第三节 设计目标5第四章 概要模块设计6第一节 模块概要说明6第二节 功能结构及流程图9第三节 数据库设计10第五章 系统详细设计21第一节 数据库连接的设计21第二节 系统各个模块的设计22第六章 系统综合测试46第一节 系统综合测试的意义47第二节 系统综合测试的测试环境47第三节 测试报告47第七章 总结与展望50第一节 总结50第二节 展望50参考文献51致 谢52天津科技大学2015届本科生毕业论文第一章 绪论本章是对本次毕业设计系统开发背景的总体简介,本章总共有三节,第一节是系统开发背景,第二节是系统开发意义与目的,第三节是本文结构。第一节 系统开发背景随着经济的发展,公司部门越来越繁杂,人员越来越多,管理起来越来越不方便。公司人事档案问题、人事调动等问题接踵而至。每个公司拥有自己的公司管理系统势在必行。公司人事管理系统可以优化公司人事管理制度,是公司每位员工价值最大化,发掘员工最大潜力。第二节 系统开发意义与目的公司人事管理系统开发的意义重大,一般的人工管理公司方法已经落后,人工管理公司方法单一,效率低下,查找人事档案、查找数据很不方便。现在计算机技术应用于各行各业,目前用友管理系统成为行业的领头羊。使用计算机技术管理公司拥有人工没有办法比拟的天然优势,例如查询速度快,查询方便,快速保存等优势。本次毕业设计的目的是想利用自己大学四年来所学到的知识,利用自己思想,为公司做一些力所能及的微小的改变。第三节 本文结构本论文共分为七章。第一章为绪论,主要介绍了本此公司人事管理系统毕业设计系统的开发背景、开发意义和目的和论文结构。第二章为开发环境及相关知识介绍,包括开发环境介绍、ASP.NET介绍、Microsoft SQL Server 2005介绍; 第三章为系统分析,包括现状分析、可行性分析、设计目标;第四章为概要模块设计,包括模块概要说明、功能结构及流程图、数据库设计;第五章为系统详细设计,包括数据库连接的设计、系统各个模块的设计;第六章为系统综合测试包括系统综合测试的意义、系统综合测试的测试环境、测试报告;第七章为总结与展望。第二章 开发环境及相关知识介绍本章是对毕业设计开发是所用到的开发环境及知识点的介绍。本章共有三节,第一节是开发环境的介绍,第二节是ASP.NET介绍,第三节是Microsoft SQL Server 2005介绍。第一节 开发环境介绍一、 系统环境介绍操作系统:Windows 7集成开发环境:Microsoft Visual Studio 2010数据库管理工具:Microsoft SQL Server 2005开发语言:C#运行平台:Windows 7/XP二、 开发环境介绍Visual Studio 2010带来了NET Framework4.0、Microsoft Visual Studio 2010 CTP( Community Technology Preview-CTP),并且支持开发面向Windows 7的应用程序1。除了Microsoft SQL Server,并且它还支持IBMDB2和Oracle数据库2。Microsoft Visual Studio 2010具有9个新功能:(1)C# 4.0中的动态类型和动态编程;(2)支持多显示器;(3)使用Visual Studio 2010的特性并且支持TDD;(4)支持Office;(5)Quick Search的特性;(6)C+ 0x的新特性;(7)IDE增强;(8)使用Visual C+ 2010创建Ribbon的界面;(9)新增基于.NET平台的语言 F#;第二节 ASP.NET介绍M包含ASP.net,ASP.net是它的一部分,作为微软的战略性的产品,ASP.net不仅仅是 ASP的下一个版本3。并且ASP.net还供给了一个统一的、一致的 Web模型4。ASP.NET 的语法在在ASP上有很大程度的兼容性,同时ASP.net还提供了一种新的编程结构,这种应用程序具有很好的稳定性和安全性5。ASP.NET 功能可以根据现有的ASP应用程序添加。并且可以每时每刻增强 ASP 各种操作应用程序功能6。第三节 Microsoft SQL Server 2005介绍Microsoft SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理7。Microsoft SQL Server 2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序8。所有公司管理数据的解决方案的核心是Microsoft SQL Server 2005 的数据引擎9。此外 Microsoft SQL Server 2005 结合了分析、报表、集成和通知功能10。这使您的企业可以构建和部署经济有效的 BI 解决方案,帮助您的团队通过记分卡、Dashboard、Web services 和移动设备将数据应用推向业务的各个领域11。与 Microsoft Visual Studio、Microsoft Office System 以及新的开发工具包(包括 Business Intelligence Development Studio)的紧密集成使 Microsoft SQL Server 2005 与众不同13。无论您是开发人员、数据库管理员、信息工作者还是决策者,Microsoft SQL Server 2005 都可以为您提供创新的解决方案,帮助您从数据中更多地获益14。第三章 系统分析系统分析就是对系统开发的一种分析,本章共有三节,第一节是现状分析,第二节是可行性分析,第三节是设计目标。第一节 现状分析我国企业应用计算机技术起步比较晚,大概起步于70年代,相比美国落后不少。在企业管理系统中若不引入计算机管理技术,可以说这个企业并不是一个成熟的企业。最近几年我国大力支持这个行业,我们需迎头赶上,弥补以前的差距,这就需要各个开发公司的大力研发。第二节 可行性分析一、 技术可行性技术可行性是为了检测软件、硬件上能否达到可以开发的要求,包括操作系统、集成开发环境、数据库管理工具等。目前,从现有的技术上来考虑,完全可以开发。因此,从技术上来说是完全可以实现的。二、 经济可行性任何系统的开发都要考虑到经济基础。利用计算机技术往往节省金钱。如果用纯人工的管理方式去统计工资情况、去统计签到情况、去进行公司公告的发布,会浪费许多人力和不必要的开支,而且容易产生错误和误差。不经意之间就增加了管理成本,并且效率低下。对于所有的公司来说建立纸质版的数据库来说是天方夜谭,不可能实现的,在资金成本上来说也是不能接受的,查找和检阅无比繁琐冗杂。引入计算机技术,就完全解决了这个问题。使用起来简单,管理起来方便,更新速度也快。各个部门仅需要对管理人员授权即可,大大较少了管理成本。所以,从经济可行性上来讲,是完全可行的。三、 社会可行性随着科学的发展,计算机越来越普及,互联网技术的越来越先进,各个工作领域越来越都离不开计算机,公司人事管理脱离人工管理势在必行。每个公司拥有自己的管理系统,并把自己的管理系统连接到公司的内网,实现无纸化管理大势所趋。这样不仅仅节约了成本,并且还大大提高了效率,减少了管理成本15。所以从社会可行性上来讲,是完全可行的。第三节 设计目标本系统设计要实现超级管理员可以添加人事管理员、考勤管理员和财务管理员,由这些管理员分别完成员工信息添加、考勤记录(请假、休假)、工资等管理功能。员工可以进行自己资料修改,上下班签到,以及查看公告等。这个系统预期的目的是为了做成交互式的网页,方便管理员与员工之间的互动,并且可以在第一时间查看相关的信息,方便领导与员工的交流沟通。第四章 概要模块设计概要模块设计就是系统的总体设计,本章共有三节,第一节是模块概要说明,第二节是功能结构及流程图,第三节是数据库设计,包括E-R图设计和数据表设计。第一节 模块概要说明本次毕业设计是一个公司人事管理系统,该系统总共有三类用户,超级管理员,普通管理员(人事管理员,财务管理员,考勤部门管理员),公司员工,超级管理员权限最多,普通管理员权限有限,员工的功能主要以查询为主。一、 超级管理员模块超级管理员模块主要包括八大模块,包括了超级管理员登陆模块、员工账号管理模块、部位管理模块,职位管理模块、员工信息管理模块,出勤休假管理模块,工资管理模块和公司信息管理模块。1.超级管理员登陆模块公司超级管理员的登陆使用。2.员工账号管理模块超级管理员可以添加新的员工账号并设置最初的密码,也可以添加新的普通管理员账号(人事管理员,财务管理员,考勤部门管理员)并设置最初的密码,可以对已离职的员工的账号进行删除。3.部门管理模块部门添加:可以添加新的部门,如设计部,开发部,人事部等,部门信息要具体,要经过详细调研。部门查询:可以看到公司所有部门的具体信息,也可以通过查找功能直接选择具体部门名称查看部门具体情况。4.职位管理模块职位添加:先选择已有的部门,然后在该部门下添加具体职位信息,职位信息要具体,要经过详细调研。职位查询:可以看到公司所有职位的具体信息,也可以通过查找功能直接选择具体职位名称进行查找,也可以输入部门名称,然后查看该部门下所有职位名称。5. 员工信息管理模块员工添加:可以添加新的员工的具体信息(个人基本信息,合同情况,薪资等级,部位职位情况等),员工信息要具体,要经过详细调研,可以选择员工的在职情况。员工查询:可以看到公司所有员工的具体信息,可以通过查找功能直接选择员工工号或姓名进行查找,也可以选择部门,然后查看该部门下所有员工名单。员工调动:可以选择具体员工,然后实现部门与部门之间,职位与职位之间进行调动。6.出勤休假管理模块批假管理:查看员工的请假申请并决定批假或者不批假。员工休假查询:对已批准休假的员工进行查询。出勤管理:选择员工当天的出勤情况。出勤查询:把当天公司请假的人名单通过日报表输出出来,把具体员工月请假情况通过月报表输出出来。7.工资管理模块工资信息添加:添加员工部门,职位,工号,姓名,日期,然后计算出该员工当月应发工资,实发工资。工资信息查询:对任意日期的任意员工的具体工资发放情况进行查询,也可以打印该页。8.公司公告栏信息管理模块信息添加:可以添加公司公告,人事调动,紧急通知(具体内容包括标题,内容等)。信息管理:查询公司公告,人事调动,紧急通知。二、 普通管理员模块普通管理员模块主要包括四大模块,包括了超级管理员登陆模块、员工账号管理模块、员工信息管理模块,出勤休假管理模块,工资管理模块和公司信息管理模块。1.普通管理员登陆模块公司普通管理员的登陆使用。2.员工账号管理模块普通管理员可以添加新的员工账号并设置最初的密码,可以对已离职的员工的账号进行删除。3.员工信息管理模块员工添加:可以添加新的员工的具体信息(个人基本信息,合同情况,薪资等级,部位职位情况等),员工信息要具体,要经过详细调研,可以选择员工的在职情况。员工查询:可以看到公司所有员工的具体信息,可以通过查找功能直接选择员工工号或姓名进行查找,也可以选择部门,然后查看该部门下所有员工名单;员工调动:可以选择具体员工,然后实现部门与部门之间,职位与职位之间进行调动。4.出勤休假管理模块(考勤部门管理员才能看见)批假管理:查看员工的请假申请并决定批假或者不批假。员工休假查询:对已批准休假的员工进行查询。出勤管理:选择员工当天的出勤情况;出勤查询:把当天公司请假的人名单通过日报表输出出来,把具体员工月请假情况通过月报表输出出来。5.工资管理模块(财务部门管理员才能看见)工资信息添加:添加员工部门,职位,工号,姓名,日期,然后计算出该员工当月应发工资,实发工资。工资信息查询:对任意日期的任意员工的具体工资发放情况进行查询,也可以打印该页。6.公司公告栏信息管理模块(人事部门管理员才能看见)信息添加:可以添加公司公告,人事调动,紧急通知(具体内容包括标题,内容等)。信息管理:查询公司公告,人事调动,紧急通知。三、 员工模块员工模块主要包括了6大模块,包括了员工登陆模块,员工账号管理模块,员工信息查询模块,休假申请模块,工资查询模块和公司信息查询模块。1.员工登陆模块公司员工登陆使用。2.员工账号管理模块员工可以修改自己账号的登陆密码。3.员工信息查询模块查看自己的基本信息(个人基本信息,合同情况,薪资等级,部位职位情况等)。4.休假申请模块填写员工工号,姓名,然后选择休假类型,填写休假理由,具体休假时间,然后提交。5.工资查询模块对任意年份,月份的具体工资发放情况进行查询,也可以打印该页。6.公司公告栏信息查询模块查询公司公告,通知。第二节 功能结构及流程图一、 系统功能结构模块结构图 系统功能结构模块图是将该系统的所有功能进行分解,按照其功能从属的关系来表示的图表。系统功能结构图是对软件、硬件、解决的方案等方面进行解剖,详细描述功能列表的构成,结构,以及剖面的从粗到细,从大到小,从上到下等而画或,描绘出来的结构图。从概念上来讲,其上层功能包括 或控制下层功能,越上层功能越笼统,越下层功能也越具体。 该公司人事管理系统功能模块结构图如图4-1所示。人事管理系统超级管理员财务管理员考勤管理员人事管理员员工个人资料管理员工管理公告栏信息管理个人资料管理部门职位管理员工管理请假管理系统用户管理考勤管理工资管理公告栏信息管理系统数据管理休假管理工资管理个人资料管理个人工资查看请假管理休假管理考勤签到查询公告信息查看个人资料管理请假管理休假管理考勤管理个人资料管理图4-1 系统功能模块结构图二、 系统数据流程图该公司人事管理系统的系统数据流程图如下图4-2所示。请假管理、个人工资查看等个人管理系统用户登录管理员登录部门职位管理、考勤管理和公告栏信息管理等系统数据库管理员信息数据备份数据恢复注销登陆图4-2 系统数据流程图第三节 数据库设计一、 数据库设计E-R图E-R图也叫实体-联系图,它给予并表示了属性、实体类型以及联系的方法,也用来描述现实的概念模型。在E-R图(实体-联系图)有四个组成部分,它们分别是矩形框、椭圆形框、菱形框以及连线。其中矩形框用来表示实体,并在矩形框中写入实体名,椭圆形框用来表示联系或实体的属性,并在椭圆形框中写入属性名。菱形框用来表示之间的联系以及关系,并在菱形框中写入联系名。连线用来表示属性与实体之间的联系,属性与联系之间用直线相连,其联系的类型在直线上标注。根据前面的系统功能需求分析、业务流程分析以及数据流程分析,就已经可以设计出能够满足用户所需求的各种实体,以及它们之间的联系,为后面的逻辑结构设计打下基础。这些实体包含了各种具体的信息,它们之间通过相互的作用来形成数据的流动。超级管理员具有添加、查询、审核的功能,超级管理员模块主要包括八大模块,包括了超级管理员登陆模块、员工账号管理模块、部位管理模块,职位管理模块、员工信息管理模块,出勤休假管理模块,工资管理模块和公司信息管理模块。普通管理员模块主要包括四大模块,包括了超级管理员登陆模块、员工账号管理模块、员工信息管理模块,出勤休假管理模块,工资管理模块和公司信息管理模块。员工模块主要包括了六大模块,包括了员工登陆模块,员工账号管理模块,员工信息查询模块,休假申请模块,工资查询模块和公司信息查询模块。该公司人事管理系统整体E-R图如下图4-3所示。人事管理员考勤管理员员工财务管理员系统用户管理个人资料管理部门职位管理员工管理考勤管理管理请假休假管理工资管理公告信息管理系统管理添加查询审核超级管理员图4-3 整体E-R图当管理员登陆成功后,在系统用户管理模块可以添加管理员,并且修改管理员,此时就需要管理员(allusers)表来保存管理员的用户名和密码。管理员实体E-R图如下图4-4所示。管理员用户名密码图4-4 管理员(allusers)表实体E-R图当进入员工管理模块后,超级管理员和人事管理员可在此进行员工管理和添加,其中包括员工的工号、密码、姓名、性别、电话、部门、职位、入职时间、合同、个人概要、各类经历等。员工在进入系统后也可对自己的基本信息进行修改,此时需要员工(yuangong)表来保存员工的基本信息。员工信息实体E-R图如下图4-5所示。职位部门入职时间性别姓名合同电话个人概要密码各类经历工号员工图4-5 员工(yuangong)表实体E-R图当进入工资管理模块后,超级管理员和财务管理员可以在此模块对所有员工的工资进行添加和修改。此模块包括了员工姓名、员工编号、月份、应发工资、税率、个人所得税、实发工资等。员工可在自己的工资管理模块查看自己的月工资信息,此时就需要工资(gongzi)表来保存所有员工工资信息,员工月工资信息实体E-R图如下图4-6所示。员工姓名月份应发工资税率员工编号个人所得税实发工资员工月工资图4-6 工资(gongzi)表实体E-R图当进入请假申请模块后,超级管理员可以对员工提出的请假申请进行审核和修改,此模块包括员工的编号、姓名、部门、休假类型、休假时长、和备注,员工可在登陆系统后查看管理员对于自己请假申请的审核意见,此时就需要请假申请(qingjiashenqing)表来保存员工的休假申请信息。休假申请信息实体E-R图如下图4-7所示。备注请假申请工号姓名部门类型休假时长图4-7 请假申请(qingjiashenqing)表实体E-R图当进入休假申请模块后,超级管理员可以对员工提出的休假申请进行审核和修改,此模块包括员工的编号、姓名、部门、休假类型、休假时长、和备注,员工可在登陆系统后查看管理员对于自己休假申请的审核意见,此时就需要休假申请(xiujiashenqing)表来保存员工的休假申请信息。休假申请信息实体E-R图如下图4-8所示。备注休假申请工号姓名部门类型休假时长图4-8 休假申请(xiujiashenqing)表实体E-R图当进入考勤管理模块时,超级管理员和考勤管理员可以设置上班和下班的时间,包括早班上班时间设置、早班下班时间设置、晚班上班时间设置、晚班下班时间设置,此时就需要考勤设置(kaoqinshezhi)表来保存早班、晚班考勤时间的设置,考勤设置实体E-R图如下图4-9所示。考勤设置早班上班时间早班下班时间晚班上班时间晚班下班时间图4-9 考勤设置(kaoqinshezhi)表实体E-R图当进入考勤管理模块时,超级管理员和考勤管理员可以查看员工的考勤记录,以此来评价员工的工作状态,考勤记录包括员工工号、姓名、部门、日期、早班上班时间、早班下班时间、早班上班状态、早班下班状态、晚班上班时间、晚班下班时间、晚班上班状态、晚班下班状态。此时就需要考勤记录(kaoqinjilu)表来保存员工的考勤记录。考勤记录实体E-R图如下图4-10所示。考勤设置早班上班时间早班下班时间晚班上班时间晚班下班时间早班上班状态早班下班状态晚班上班状态早班下班状态工号姓名部门日期图4-10 考勤记录(kaoqinjilu)表实体E-R图当进入部门职位管理模块时,超级管理员可以对公司部门进行添加和管理,包括部门编号、部门名称、部门主管、部门电话、部门传真、以及备注,此时需要部门(bumen)表来保存部门信息,部门实体E-R图如下图4-11所示。备注部门编号名称主管电话传真图4-11 部门(bumen)表实体E-R图当进入部门职位管理模块时,超级管理员可以对公司职位进行添加和管理,包括职位所在部门,职位名称以及备注。此时需要职位(zhiwei)表来保存职位信息,职位实体E-R图如下图4-12所示。职位部门名称备注图4-12 职位(zhiwei)表实体E-R图当进入公司公告信息模块时,超级管理员可以对公司公告信息进行编辑和添加,包括普通公告信息、人事调动公告信息、紧急公告信息。公告信息包括标题、内容、类别。此时需要公告(allgonggao)表来保存公告信息,公告信息实体E-R图如下图4-13所示:公告信息标题内容类别图4-13 公告 (allgonggao)表实体E-R图二、 数据库设计数据表设计1.公告表(allgonggao)用于保存所有公告信息,包括普通公告信息,人事调动公告信息和紧急公告信息,公告表表结构如下4-1表所示。表4-1 公告表(allgonggao)序号字段名称字段类型大小允许为空最大长度备注1IDInt4自增编号102titleVarChar255是2553contentText16是2554leibieVarChar50是2555shouyetupianVarChar50是2556dianjilvVarChar50是2557addtimeDateTime8是232.管理员表(allusers)用于保存所有管理员,包括超级管理员,考勤管理员,人事管理员和财务管理员,用户表表结构如下表4-2所示。表4-2 管理员表(allusers)序号字段名称字段类型大小允许为空最大长度备注1IDInt4自增编号102usernameVarChar50是2553pwdVarChar50是2554cxVarChar50是2555addtimeDateTime8是233.部门表(bumen)用于保存公司所有部门信息,部门表表结构如下表4-3所示。表4-3 部门表(bumen)序号字段名称字段类型大小允许为空最大长度备注1IDInt4自增编号102bianhaoVarChar50是2553mingchengVarChar50是2554zhuguanVarChar50是2555dianhuaVarChar50是2556chuanzhenVarChar50是2557beizhuVarChar50是2558addtimeDateTime8是234.工资表(gongzi)用于保存所有员工工资信息,工资表表结构如下表4-4所示。表4-4 工资表(gongzi)序号字段名称字段类型大小允许为空最大长度备注1IDInt4自增编号102ygbhVarChar50是2553ygxmVarChar50是2554nianVarChar50是2555yueVarChar50是2556gzVarChar50是2557sdsVarChar50是2558gz2VarChar50是2559addtimeDateTime8是235.考勤记录表(kaoqinjilu)用于保存员工的早班、晚班签到情况。考勤记录表表结构如下表4-5所示。表4-5 考勤记录表(kaoqinjilu)序号字段名称字段类型大小允许为空最大长度备注1IDInt4自增编号102gonghaoVarChar50是2553xingmingVarChar50是2554riqiDateTime8是165sbsjVarChar50是2556xbsjVarChar50是2557sbztVarChar10是2558xbztVarChar10是2559addtimeDateTime8是2310bumenVarChar50是25511sbsj3VarChar50是25512xbsj3VarChar50是25513sbzt3VarChar10是25514xbzt3VarChar10是2556.考勤设置表(kaoqinshezhi)用于保存早班、晚班考勤时间的设置,考勤设置表表结构如下表4-6所示。表4-6 考勤设置表(kaoqinshezhi)序号字段名称字段类型大小允许为空最大长度备注1sbsjVarChar50是2552xbsjVarChar50是2553sbsj3VarChar50是2554xbsj3VarChar50是2557.请假信息表(qingjiaxinxi)用于保存员工的请假信息,请假申请信息表表结构如下表4-7所示。表4-7 请假信息表(qingjiaxinxi)序号字段名称字段类型大小允许为空最大长度备注1IDInt4自增编号102gonghaoVarChar50是2553xingmingVarChar50是2554qingjiatianshuVarChar50是2555qingjiashiyouVarChar50是2556isshVarChar2是2557addtimeDateTime8是238.休假申请表(xiujiashenqing)用于保存员工的休假申请信息,休假信息表表结构如下表4-8所示。表4-8 休假申请表(xiujiashenqing)序号字段名称字段类型大小允许为空最大长度备注1IDInt4自增编号102gonghaoVarChar50是2553xingmingVarChar50是2554bumenVarChar50是2555xiujiashichangVarChar50是2556beizhuVarChar500是2557isshVarChar2是2558addtimeDateTime8是239leixingVarChar50是2559.员工表(yuangong)用于保存所有员工的信息,包括个人基本信息,合同情况,薪资等级,部位职位情况等,员工表表结构如下表4-9所示。表4-9 员工表(yuangong)序号字段名称字段类型大小允许为空最大长度备注1IDInt4自增编号102gonghaoVarChar50是2553xingmingVarChar50是2554xingbieVarChar50是2555dianhuaVarChar50是2556zhiweiVarChar50是2557hetongVarChar50是2558gerengaiyaoVarChar50是2559geleijingliVarChar50是25510mimaVarChar50是25511addtimeDateTime8是2312bumenVarChar50是25513ruzhitimeDateTime8是2314gxtsInt4是1015sytsInt4是1010.职位表(zhiwei)用于保存公司所有职位,职位表表结构如下表4-10所示。表4-10 职位表(zhiwei)序号字段名称字段类型大小允许为空最大长度备注1IDInt4自增编号102bumenVarChar50是2553mingchengVarChar50是2554beizhuVarChar50是255 第五章 系统详细设计 系统详细设计是系统开发过程中一个很重要的步骤,是对系统概要设计的细化.本章共有两节,第一节是数据库连接的设计,第二节是系统各个模块的设计。第一节 数据库连接的设计数据库连接的设计是系统详细设计中最基本的设计,数据库连接不成功,意味着系统中所需要的数据无法读取和保存。该公司人事管理系统数据库连接的设计只需在Web.Config文件中写入数据库连接代码,将计算机用户名,数据库名,SQL登录名及密码输入正确即可。数据库连接详细设计如下图5-1所示。图5-1 数据库连接详细设计第二节 系统各个模块的设计由于各个模块的设计与实现是通过HTML语言实现的,所以需要先介绍一些本次本次毕业设计用到的基础的HTML语言。本次毕业设计用到最多的是表格标签。其中用来定义表格区域;用来定义一行;用来定义表头单元格;用来定义数据单元;用来定义标题;用来定义表格主体;则用来定义表头,其中无论我们把第一行写在哪里,都会在第一行显示;用来定义表注,属性与相同。一、 登录模块详细设计登录模块即该公司人事管理系统的前台,在登录界面,超级管理员,人事管理员,财务管理员,考勤管理员将用户名和密码输入正确即可登陆。该模块可以验证用户名、密码以及权限是否正确。我们了每次浏览的互联网网页都是用HTML语言来实现的。界面中“公司人事管理系统”七个字是使用是采用排版大块HTML段落技术来显示的,三行小字是用标志创建的三个段落,右侧使用标志创建了一个表格,在表格中又使用 标志来创建的表格中每一行,使用 标志来创建每一行中的每一个表格,并在每一行每一个表格中插入相对应的字,例如用户名、密码等。其中密码输入框后的“锁”是用插入的图片来实现的。整个界面的背景颜色是用属性来控制实现的,文本字体的颜色是用属性来控制实现的,浏览器上方显示的文字“公司人事管理系统”是在 标志对之间加入所需文本即可成功。其中输入用户名和密码使用的TextBox控件来实现的,权限的选择使用的DropDownList控件来实现的。当登陆人员输入用户名、密码之后,点击登陆按钮,此时连接数据库用户表的的sql语句会起到作用,若输入的用户名、密码与数据库表中的用户名、密码、权限完全一致,则可以成功登陆,跳转到相应的管理员所对应的管理界面,若不完全一致,则提示错误。登陆和重置按钮则是两个Button控件。重置按钮需要被点击来触发input事件的发生。 登录模块界面设计如下图5-2所示,登陆模块主要控件如下表5-1所示。图5-2 登录模块界面表5-1 登陆模块主要控件控件名称控件类型作用TextBox1TextBox登录用户名输入TextBox2TextBox登录密码输入CXDropDownList登陆人员权限的选择Button1Button登陆Reset1Input重置用户名密码登录模块主要实现代码:sql = select * from allusers where username= + TextBox1.Text.ToString().Trim() + and pwd= + TextBox2.Text.ToString().Trim() + and cx=+cx.Text.ToString().Trim()+ ;二、 系统用户管理模块详细设计系统用户管理模块是超级管理员拥有的权限,超级管理员可以在这个模块进行管理员的添加和查询。1.系统用户管理添加管理员模块该模块要求添加管理员时输入两次密码,可以有效防止密码忘记。系统用户管理添加管理员模块的实现需用HTML语言在功能界面中创建一个定义的表格区域,来控制添加用户的界面大小。其中用户名、密码、确认密码、权限是使用4个数据单元格实现的,上端“添加用户”是用划分的独立区域,下面的每个界面的设计与实现方法都相类似,不再一一介绍。用户名、密码、确认密码的输入使用TexBoxk控件实现的,权限的选择是使用DropDownList实现的,若两次密码输入不一致,则在后面会显示两次密码不一致;若有一项未填写,则会对应相应的提示,这个功能是用RequiredFieldValidator控件实现的。添加用户系统用户管理添加管理员模块界面设计如下图5-3所示,系统用户管理添加管理员模块主要控件如下表5-2所示:图5-3 系统用户管理添加管理员模块界面表5-2 系统用户管理添加管理员模块主要控件控件名称控件类型作用usernameTextBox新管理员用户名输入pwd1TextBox新管理员第一次登录密码输入pwd2TextBox新管理员第二次登陆人员权限的选择RequiredFieldValidator1RequiredFieldValidator验证是否输入新管理员用户名RequiredFieldValidator2RequiredFieldValidator验证是否输入新管理员密码RequiredFieldValidator3RequiredFieldValidator3验证两次密码输入是否一致是否为空cxDropDownList新注册管理员权限的选择系统用户管理添加管理员模块主要实现代码:sql = insert into allusers(username,pwd,cx) values( + username.Text.ToString().Trim() + , + pwd1.Text.ToString().Trim() + ,+cx.Text.ToString().Trim()+);2. 系统用户管理查询管理员模块该模块可以查询所有的管理员的用户名、密码、角色权限、添加时间。系统用户管理查询管理员模块的实现系统用户管理查询管理员模块界面设计如下图5-4所示,系统用户管理查询管理员模块主要控件如下表5-3所示。图5-4 系统用户管理查询管理员模块界面表5-3 系统用户管理查询管理员模块主要控件控件名称控件类型作用DataGrid1DataGrid识别管理员数据系统用户管理查询管理员模块主要实现代码:sql = select * from allusers order by id desc;getdata(sql);new Class1().hsgcaozuojilu(Sessionusername.ToString().Trim(), 查询管理员, allusers);三、 部门职位管理模块详细设计部门职位管理模块是超级管理员拥有的权限,超级管理员可以在部门职位管理模块进行公司职位的更改和查询。1.部门职位管理添加部门模块 该模块可以添加公司部门,添加部门时需要填写部门编号、名称、主管、电话、传真以及备注。部门编号、名称、主管、电话、传真以及备注的输入都是用TexBox控件来实现的,带*的则表示必须输入,若有一项没有输入则用红色字在后面提醒,这个功能的实现则是用RequiredFieldValidator控件实现的。添加按钮属性为Button,重置按钮属性为input。部门职位管理添加部门模块界面设计如下图5-5所示,部门职位管理添加部门模块主要控件如下表5-4所示:图5-5 部门职位管理添加部门模块界面部门职位管理添加部门模块主要实现代码: if (result = 1) Response.Write(javascript:alert(添加成功);); else Response.Write(javascript:alert(系统错误,请检查数据库设置问题);); 表5-4 部门职位管理添加部门模块主要控件控件名称控件类型作用bianhaoTextBox添加部门编号输入mingchengTextBox添加部门名称输入zhuguanTextBox添加部门主管输入dianhuaTextBox添加部门电话输入chuanzhenTextBox添加部门传真输入beizhuTextBox添加部门备注输入RequiredFieldValidatorbianhaoRequiredFieldValidator验证是否输入添加部门的编号RequiredFieldValidatormingchengRequiredFieldValidator验证是否输入添加部门的名称RequiredFieldValidatorzhuguanRequiredFieldValidator验证是否输入添加部门的主管RequiredFieldValidatordianhuaRequiredFieldValidator验证是否输入添加部门的电话Button1Button添加部门Resert1input 重新输入部门信息2.部门职位管理查询部门模块该模块可以查询公司部门编号、名称、主管、电话、传真以及备注。其中编号、名称的输入使用的是TexBox控件,查找是Button按钮,打印本页、修改、和删除HTML语言中onclickshi事件。查询结果的显示则是使用的DataGrid控件。部门职位管理查询部门模块界面设计如下图5-6所示,部门职位管理查询部门模块主要控件如下表5-5所示。图5-6 部门职位管理查询部门模块界面表5-5 部门职位管理查询部门模块主要控件控件名称控件类型作用DataGrid1DataGrid识别部门数据bhTextBox查询部门编号输入mcTextBox查询部门名称输入Button1Button进行部门查询部门职位管理查询部门模块主要实现代码:sql = sql + and bianhao like % + bh.Text.ToString().Trim() + %;if (mc.Text.ToString().Trim() != )sql = sql + and mingcheng like % + mc.Text.ToString().Trim() + %;sql = sql + order by id desc;getdata(sql);3.部门职位管理添加职位模块该模块可以添加公司职位,添加职位时时需要填写职位所在部门、职位名称和备注。其中部门、名称、备注是插入的三个数据单元格,部门的选择使用的DropDownLis
展开阅读全文