c#程序设计实验报告考勤管理系统学号:11姓名:提交日期:2015-12-25成绩:东北大学秦皇岛分校实验背景:目前企业考勤管理系统在实际开发和应用中尚存在很多问题,我国众多的企业都是采用传统的手工方式记录企业员工每日的出勤情况。
这种方式繁琐易错,准确性、透明度、实时性差,受人为因素影响过大,增加了企业的人力资源成本。
同时使用传统人工记录考勤管理容易出现疏漏,甚至可能存在考勤监管人员因人情导致考勤不平等的情况,造成企业员工存在侥幸心理,无法解决代考、脱岗的问题,不利于企业的人员管理。
现在,计算机辅助管理已在我国的各行各业得到了广泛地应用,但总的来说,计算机在我国管理中的应用,还处于初级阶段,尽管近两年发展较快,但还需要不断地探索和研究。
实验目的:对企业的员工上班的基本信息的考勤管理系统,主要任务是让企业的考勤方面信息系统化、规范化和自动化。
本系统基本涵盖了企业考勤管理的主要需求,员工上班情况信息管理(员工打卡的查询、修改、添加)、部门情况(部门信息的添加、保存、删除)等,设置系统用户登陆功能,即时对系统数据进行安全设置与保护、友好的用户界面,业务操作简单,进入系统即能使用,操作快捷、方便。
本系统可运用于中小型的企业考勤管理。
在本课题中以中小型企业的考勤管理业务为依托,结合管理的理论,设计并开发一个基于网络环境的企业考勤管理系统。
其具体工作如下:首先,以某企业对员工考勤的要求为基础,分析企业在考勤管理这一方面的业务流程,通过网络和专业书籍收集有关企业考勤系统的第一手资料,确定建设企业考勤管理系统的目标和主要功能需求。
其次,在确立系统的目标和主要功能需求的基础上,提出这个考勤管理系统的设计方案和设计原则,合理安排开发进度,设计各个功能模块等等。
最后,进行具体的系统开发,实现了功能模块相应的功能,达到系统的目标最终完成的功能需求,对系统进行模块集成、测试和性能分析。
实验步骤:为了让用户更好的了解本系统的功能结构,用图来看其系统的功能构架。
由项目管理器进行统一的管理,由主程序进入系统,由主程序调出用户登录界面。
登录成功后调出应用系统的主菜单,由主菜单调出各个表单界面。
整个系统的结构要紧凑、简洁;功能明确、完整。
考勤管理系统的总体功能流程图如下:图1 总体功能流程图数据库的设计1数据库需求分析数据库在一个信息管理系统中占有非常重要的地位,合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。
[4]考勤管理系统的需求具体体现在各种信息的修改、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。
通过上述系统功能分析,针对企业的考勤管理系统的需求,总结出如下的需求信息。
员工在上下班期间打卡,考勤监管人员可以通过打卡情况查看员工的考勤情况,并且与员工的工资情况直接挂钩。
所有设计如下数据项和数据结构。
用户登录,包括数据项:用户名、密码。
基本信息,包括数据项:部门信息管理、员工信息管理等。
考勤设置,包括数据项:节假日列表、增加节假日等。
统计报表,包括数据项:查询统计、每日统计列表等。
打卡,包括数据项:打卡操作。
得到上面的数据项和数据结构以后,就可以设计出能够满足企业管理的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。
这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。
这些实体用图来表示更直观可见。
ER图如下:图2 E-R图2 数据库表设计本系统包括七个表,企业部门表(Adept,见3-1表),活动表(attAction,见3-2表),员工信息表(Employee,见3-3表),节假日信息表(Holiday,见3-4表),管理员登录表(ManagerInfo,见3-5表),考勤状态表(State,见3-6表),工作时间表(WorkTime,见3-7表),公司名称表(company,见3-8表)。
一般企业都有好几个甚至十几个部门,然而每个部门在企业中都有不同的功能,因此我们需要根据部门的具体需求,给每个部门不同的编号和名称来区分它们的不同工作任务。
其数据表如下:表3-1 企业部门表(Adept)adeptname nvarchar 20企业部门名称adeptDes nvarchar 255部门描述comID char 10公司ID考勤管理是系统的核心,企业也是通过考勤来管理员工,让大家有一个统一的上班下班时间,因此需要员工上下班时打卡来记录员工的考勤。
因此需要一个考勤管理表,具体数据表如下:actionID int 8 员工号,主键Employeeid char 10 员工名称firsttime datetime 20 早签到时间lasttime datetime 20 晚签到时间stateID char 20 所在部门description nvarchar 100 说明员工信息表是用于记录员工编号,员工所在部门,员工入职时间,员工姓名等信息的表。
其具体数据表如下:表3-3 员工信息表(Employee)EmployeeID char 20员工号,主键EmployeeName nvarchar 20员工姓名adeptID char 10企业部门号Sex char 2性别phone nvarchar 20电话JoinTime datetime 20加入时间number nvarchar 20身份证号节假日是员工休息的日子,而节假日表则是记录员工休息时间的表。
其具体数据信息如下:HolidayID char 10假日ID,主键HolidayName nvarchar 255假日名称FirstTime datetime 20起始时间LastTime datetime 20结束时间这里的管理员,即管理考勤的员工,该员工可以通过登录系统看到所有员工的上下班记录,然后算出员工上班时间。
而管理考勤的不一定是一个人,因此有一个管理员用户,可以查看其他员工考勤信息。
管理员用户的具体数据信息如下表:ManagerID char 10管理员的ID,主键Loginame nvarchar 20登录名Loginpwd nvarchar 20登录密码comID char 10公司的ID考勤状态表是用于记录员工是否准时上下班情况,它包括迟到、早退、旷到等其他没有来上班的各种情况,其相关的数据表如下表:表3-6考勤状态表(State)stateID char 10考勤的IDstatename nvarchar 10考勤的名称工作时间表是指员工在早上上班前的某一个时间段内打卡,算是准时上班,之后的时间打卡则是按旷到或是迟到,晚上下班时也有一个打卡的上限,在这个时间限制之前打卡离开则按早退记录。
根据早上和晚上的打卡时间最后有一个每天的工作时间统计。
其具体数据表如下表:表3-7 工作时间表(WorkTime)toptime datetime 20早签区间(上)Undertime datetime 11早签区间(下)Wstime datetime 255晚签区间limtime int 8旷工时限公司名称表是记录公司名称及地址信息,在用户登录时选择该公司名称,其具体数据表如下表:表3-8公司名称表(company)comID char 10 公司的ID,主键comName nvarchar 20 公司名称comDec nvarchar 255 公司地址系统的设计及其表单1)数据库的连接在Visual Studio 2008中,用作为开发工具,用SQL Server 2005作为后台数据库,数据库连接的核心代码在Web.config中,其代码如下所示:<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"><sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral,PublicKeyToken=31BF3856AD364E35"><section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/><sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"><section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/><section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral,PublicKeyToken=31BF3856AD364E35" requirePermission="false"allowDefinition="MachineToApplication"/><section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/><section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral,PublicKeyToken=31BF3856AD364E35" requirePermission="false"allowDefinition="MachineToApplication"/></sectionGroup></sectionGroup></sectionGrou p></configSections><appSettings><add key="WebDAL" value="Attendance.SQLServerDAL"/><add key="SQLConnString" value="Data Source=.;Initial Catalog=Attendance;uid=sa;pwd=123456"/></appSettings><connectionStrings></connectionStrings><system.web> 2)系统登录表单(1)界面设计管理员用户通过输入用户名和密码,登录考勤管理系统。