• 474.00 KB
  • 21页

人事管理系统项目报告书

  • 21页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'人事管理系统山西金融职业学院信息技术系项目报告书项目名称_____人事管理系统___姓名________田野_______专业_信息管理____指导教师________付强_______2012年05月01日-20- 人事管理系统人事管理系统1.项目背景1)项目的目的和意义随着计算机技术、网络技术和信息技术的发展,现在办公系统更趋于系统化、科学化和网络化。网络办公自动化系统是计算机技术和网络迅速发展的一个办公应用解决方案,它的主要目的是实现信息交流和信息共享,提供协同工作的手段,提高办公的效率,让人们从繁琐的有纸办公中解脱出来。现在许多的机关单位的人事管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。本系统就是基于本公司的人事管理而设计的,是对公司的人事资料进行管理,为人事管理人员提供了一套操作简单、使用可靠、界面友好、易于管理和使用的处理工具。本系统对人事各种数据进行统一处理,避免数据存取、数据处理的重复,提高工作效率,减少了系统数据处理的复杂性。本系统不仅使公司人事管理人员从繁重的工作中解脱出来,而且提高了人事管理的效率,提高了人事管理的科学性,方便了用户查询、管理人员进行管理。有效的改进了现有的企业人事管理模式,提高了企业对职工信息、考勤、部门、机构信息管理的效率,提高了企业信息化管理水平,降低了管理成本,全面实现了管理的标准化和信息化。2)可行性分析可行性分析是在用户的要求和系统调研的基础上进行的,对新系统的开发从社会、技术、经济、管理等方面进行分析,并得出新系统的开发工作可行、不可行、需要修改、分步实施等方案和结论,最后完成可行性分析。-20- 人事管理系统可行性分析是项目在建设的前期对工程项目的一种考察和鉴定,对拟议中的项目进行全面与综合的技术、经济能力的调查,判断它是否可行。可行性分析阶段的主要工作包括以下几个方面:①新系统目标可行性分析:分析新系统的目标是否符合企业的现状和发展的需要。②社会可行性分析:社会可行性分析主要是指管理信息系统的开发是否符合国家法律、政策,是否能够与社会大系统实现良好的对接。开发本系统没有触犯到法律,也能很好地与社会对接。③技术可行性分析:技术可行性分析是根据新系统的目标来衡量是否具备所需要的技术,包括系统开发人员水平,硬件方面,软件方面及其它应用技术。C#已是微软成熟的技术,所以完全可以开发出来本系统。④经济可行性分析经济可行性分析主要是对开发新系统所投入的资金与系统投入使用后所带来的经济效益进行比较,确认新系统是否会给企业带来一定的经济效益。⑤管理可行性分析:管理可行性分析主要是分析企业现行的管理体制和企业领导是否具有现代化的管理意识和管理水平。2.项目需求分析21世纪的今天,随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对人事信息进行管理,具有着手工管理所无法比拟的优点。这些优点能够极大地提高人事管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。根据以上情-20- 人事管理系统况,决定实施建立人事管理系统,因为人事管理是一个企业单位不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以人事信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。可以解决一直以来人们使用传统人工的方式管理文件档案存在着的许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算实现企业人事档案的管理势在必行。人事管理系统是现代企业管理工作不可缺少的一部分,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件。3.项目设计人事管理系统主要包括:人事管理、考勤管理、系统管理这三大模块。该系统要求实现如下功能:修改密码、机构管理、部门管理、员工管理、员工签到签退、考勤历史查询、考勤统计、角色管理、菜单排序、登录日志、操作日志等。用例图如图3-1所示:-20- 人事管理系统图3-11)用户登录功能在用户登录中,主要实现的是对用户合法性的验证。用户打开系统主界面进入登录界面,在此输入其用户名、密码,系统通过数据库检查后,判断出密码是否正确。如果不正确则提示密码错误,并返回到系统主界面;如果密码正确则登录成功,进入功能界面。如图3-2所示:-20- 人事管理系统图3-2功能实现:1、由于用户在登录系统时,可能会有某些信息忘记输入,这时可能会出现错误。本系统通过获取用户信息框中的信息并进行判断,如果有未输入的信息,则会警告用户并提示用户将信息输入完整。2)修改密码功能由于管理员给定的是初始密码123,所有用户登录以后都需要进行密码的修改,谨防信息的泄漏,保证个人的信息安全。修改操作如图3-3:-20- 人事管理系统图3-3功能实现:1、用户在登录以后可以进行密码的修改,在输入原密码和两次输入新密码后点击提交,前台与后台数据库进行交互,将数据库中的密码修改为现在的密码。3)机构管理功能在这个功能模块中,管理员可以对机构的基本信息进行查看。在机构管理窗体中可以添加、修改、删除和各个机构信息。如图3-4所示:图3-44)部门管理功能-20- 人事管理系统在这个功能模块中,管理员可以对各部门的基本信息进行查看。在部门管理窗体中可以添加、修改、删除和各个部门的名称、负责人、联系方式等信息。如图3-5所示:图3-55)员工管理功能在这个功能模块中,管理员可以对员工的基本信息进行查看。在用户管理窗体中可以添加、修改、删除和各用户的ID、用户名、用户详情等信息。如图3-6所示:图3-66)员工考勤管理功能-20- 人事管理系统在这个功能模块中,员工可以进行每日签到、签退的实现。管理员可以进行员工考勤历史记录查询及员工考勤统计的查询。如图3-7所示:图3-77)系统管理功能在这个功能模块中,管理员可以进行角色功能的设置。设置每位用户的角色并给每个角色分配权限。管理员还可以登录日志和操作日志的查询及菜单的排序。如图3-8所示:-20- 人事管理系统图3-84.项目实施过程1、配置电脑环境使用WindowsServer2003操作系统,安装SQLServer2008数据库,VisualStudio2010开发环境。2、上网寻找素材、资料。3、首先绘制数据库设计图,建立数据库。如图4-1数据库设计图、图4-2用户信息表(dbo.UsersInfo):-20- 人事管理系统图4-1图4-2-20- 人事管理系统4、绘制软件用例图,设计系统体系结构。随着数据库应用的日渐发展、数据容量的不断增加、客户端数量的不断增加,该种体系结构显示出了诸多缺陷,主要体现在可扩充性、可维护性、可重用性三方面。正因为以上的诸多缺陷,使得三层(多层)体系结构成为目前数据库应用开发的首选。所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。5、建立项目解决方案,搭建三层架构开发框架。项目命名为“MyOffice”,为解决方案添加业务逻辑层、数据访问层和实体类层三个类库项目,分别命名为:MyOfficeBLL、MyOfficeDAL、MyOfficeModels,并未各层项目添加相应的引用。图4-36、创建数据访问层公共类DbHelpSQL.cs。并在数据访问层项目中添加一个类,命名为“DbHelpSQL.cs”,在类中添加如下代码:publicabstractclassDbHelperSQL//定义DbHelpSQL为静态类{protectedstaticstringconnectionString=ConfigurationManager.ConnectionStrings["MyOffice"].ToString();publicDbHelperSQL(){}-20- 人事管理系统//定义GetMaxID为私有方法publicstaticintGetMaxID(stringFieldName,stringTableName){stringstrsql="selectmax("+FieldName+")+1from"+TableName;objectobj=GetSingle(strsql);if(obj==null){return1;}else{returnint.Parse(obj.ToString());}}publicstaticboolExists(stringstrSql,paramsSqlParameter[]cmdParms){objectobj=GetSingle(strSql,cmdParms);intcmdresult;if((Object.Equals(obj,null))||(Object.Equals(obj,System.DBNull.Value))){cmdresult=0;}else{cmdresult=int.Parse(obj.ToString());}if(cmdresult==0){returnfalse;}else{returntrue;}}7、创建实体层,MyOfficeModels。数据库表UserInfo与实体类UserInfo.cs对应图如下图4-4所示:-20- 人事管理系统在实体层UserInfo.cs类中添加如下代码:namespaceMyOfficeModels{publicclassUserInfo{publicstringUserId{get;set;}publicstringUserName{get;set;}publicstringPassword{get;set;}publicintBranchId{get;set;}publicstringBranchName{get;set;}publicintDepartId{get;set;}publicstringDepartName{get;set;}publicintGender{get;set;}publicintRoleId{get;set;}publicstringRoleName{get;set;}publicintUserStateId{get;set;}publicstringUserStateName{get;set;}}}8、在数据访问层添加如下代码,实现员工信息的增、删、改、查。publicstaticclassLoginLogServer{//////增加一条数据///publicstaticvoidAdd(LoginLogmodel)-20- 人事管理系统{StringBuilderstrSql=newStringBuilder();strSql.Append("insertintoLoginLog(");strSql.Append("UserId,LoginTime,IfSuccess,LoginUserIp,LoginDesc)");strSql.Append("values(");strSql.Append("@UserId,@LoginTime,@IfSuccess,@LoginUserIp,@LoginDesc)");SqlParameter[]parameters={newSqlParameter("@UserId",SqlDbType.VarChar,50),newSqlParameter("@LoginTime",SqlDbType.DateTime),newSqlParameter("@IfSuccess",SqlDbType.Int,4),newSqlParameter("@LoginUserIp",SqlDbType.VarChar,100),newSqlParameter("@LoginDesc",SqlDbType.VarChar,100)};parameters[0].Value=model.UserId;parameters[1].Value=model.LoginTime;parameters[2].Value=model.IfSuccess;parameters[3].Value=model.LoginUserIp;parameters[4].Value=model.LoginDesc;SqlHelper.ExcuteNonQuery(strSql.ToString(),parameters);}//////更新一条数据///publicstaticvoidUpdate(LoginLogmodel){StringBuilderstrSql=newStringBuilder();strSql.Append("updateLoginLogset");strSql.Append("UserId=@UserId,");strSql.Append("LoginTime=@LoginTime,");strSql.Append("IfSuccess=@IfSuccess,");strSql.Append("LoginUserIp=@LoginUserIp,");strSql.Append("LoginDesc=@LoginDesc");strSql.Append("whereLoginId=@LoginId");SqlParameter[]parameters={newSqlParameter("@LoginId",SqlDbType.Int,4),newSqlParameter("@UserId",SqlDbType.VarChar,50),newSqlParameter("@LoginTime",SqlDbType.DateTime),newSqlParameter("@IfSuccess",SqlDbType.Int,4),newSqlParameter("@LoginUserIp",-20- 人事管理系统SqlDbType.VarChar,100),newSqlParameter("@LoginDesc",SqlDbType.VarChar,100)};parameters[0].Value=model.LoginId;parameters[1].Value=model.UserId;parameters[2].Value=model.LoginTime;parameters[3].Value=model.IfSuccess;parameters[4].Value=model.LoginUserIp;parameters[5].Value=model.LoginDesc;SqlHelper.ExcuteNonQuery(strSql.ToString(),parameters);}//////删除一条数据///publicstaticvoidDelete(intLoginId){StringBuilderstrSql=newStringBuilder();strSql.Append("deleteLoginLog");strSql.Append("whereLoginId=@LoginId");SqlParameter[]parameters={newSqlParameter("@LoginId",SqlDbType.Int,4)};parameters[0].Value=LoginId;SqlHelper.ExcuteNonQuery(strSql.ToString(),parameters);}//////得到一个对象实体///publicstaticLoginLogGetModel(intLoginId){StringBuilderstrSql=newStringBuilder();strSql.Append("select*fromLoginLog");strSql.Append("whereLoginId=@LoginId");SqlParameter[]parameters={newSqlParameter("@LoginId",SqlDbType.Int,4)};parameters[0].Value=LoginId;LoginLogmodel=newLoginLog();DataTabledt=SqlHelper.ExcuteDataTable(strSql.ToString(),parameters);DataSetds=newDataSet();-20- 人事管理系统ds.Tables.Add(dt);model.LoginId=LoginId;if(ds.Tables[0].Rows.Count>0){model.UserId=ds.Tables[0].Rows[0]["UserId"].ToString();if(ds.Tables[0].Rows[0]["LoginTime"].ToString()!=""){model.LoginTime=DateTime.Parse(ds.Tables[0].Rows[0]["LoginTime"].ToString());}if(ds.Tables[0].Rows[0]["IfSuccess"].ToString()!=""){model.IfSuccess=int.Parse(ds.Tables[0].Rows[0]["IfSuccess"].ToString());}model.LoginUserIp=ds.Tables[0].Rows[0]["LoginUserIp"].ToString();model.LoginDesc=ds.Tables[0].Rows[0]["LoginDesc"].ToString();returnmodel;}else{returnnull;}}//////获得数据列表///publicstaticListGetList(stringstrWhere){Listlist=newList();StringBuilderstrSql=newStringBuilder();stringsql="select*,UserName=(selectUserNamefromUserInfowhereUserInfo.UserId=LoginLog.UserId)fromLoginLog";if(strWhere.Trim()!=""){sql+="where"+strWhere;}sql+="orderbyLoginId";-20- 人事管理系统SqlDataReaderreader=SqlHelper.ExcuteReader(sql);while(reader.Read()){LoginLoglog=newLoginLog();log.LoginId=Convert.ToInt32(reader["LoginId"]);log.UserId=reader["UserName"].ToString();log.LoginTime=Convert.ToDateTime(reader["LoginTime"]);log.IfSuccess=Convert.ToInt32(reader["IfSuccess"]);log.LoginUserIp=reader["LoginUserIp"].ToString();log.LoginDesc=reader["LoginDesc"].ToString();list.Add(log);}reader.Close();reader.Dispose();returnlist;}}}9、在业务逻辑层添加如下代码,实现与数据访问层的交互,完成员工信息的增、删、改、查。namespaceMyOfficeBLL{publicstaticclassLoginLogManager{//////增加一条数据///publicstaticvoidAdd(LoginLogmodel){LoginLogServer.Add(model);}//////更新一条数据///publicstaticvoidUpdate(LoginLogmodel){LoginLogServer.Update(model);}///-20- 人事管理系统///删除一条数据///publicstaticvoidDelete(intLoginId){LoginLogServer.Delete(LoginId);}//////得到一个对象实体///publicstaticLoginLogGetModel(intLoginId){returnLoginLogServer.GetModel(LoginId);}//////获得数据列表///publicstaticListGetList(stringstrWhere){returnLoginLogServer.GetList(strWhere);}}}10、在Web层添加单击事件代码,实现员工信息的增、删、改、查的调用。publicpartialclass人事管理DepartAdd:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){if(IsPostBack!=true){}}protectedvoidbtnAdd_Click(objectsender,EventArgse){DepartInfodepart=newDepartInfo();depart.DepartName=txtDepartName.Text;depart.ConnectMobileTelNo=txtConnectMobileTelNo.Text;depart.ConnectTelNo=txtConnectTelNo.Text;depart.Faxes=txtFaxes.Text;-20- 人事管理系统depart.PrincipalUser=this.txtPrincipalUser.Text.Trim();depart.BranchId=Convert.ToInt32(DropDownList1.SelectedValue);DepartInfoManager.Add(depart);//增加新的操作日志OperateLoglog=newOperateLog(){UserId=(Session["loginUser"]asUserInfo).UserId,OperateName="新增",ObjectId=DropDownList1.SelectedValue,OperateDesc="新增员工信息",OperateTime=DateTime.Now};OperateLogManager.AddOperateLog(log);}protectedvoidImageButton1_Click(objectsender,ImageClickEventArgse){if(pUser.Visible==false){pUser.Visible=true;}else{pUser.Visible=false;}}protectedvoidbtnBack_Click(objectsender,EventArgse){Response.Redirect("DepartManage.aspx");}5.结束语5.1结论极大地提高了办公效率,及时准确地实现信息的上传下达,而计算机技术、网络技术、各种软件工作平台不断的发展,又能够促进人事管理信息化管理加速实现。本系统就是采用功能强大的C#-20- 人事管理系统作为开发工具而开发出来的单机版人事管理系统。5.2不足之处和前景展望本系统很好地实现了人事管理系统网站的具体操作,界面很友好,操作很简便,并且灵活、适用、安全,满足公司或企业人事管理方面的需要,有效提高了人事管理的效率。但由于人事管理系统网站的功能很庞大,需要很多页面,因为时间的原因,美化界面这部分还作得不是很好,所以很多界面会有重复。除此之外由于软件本身的一些问题,在设计过程中还存在很多不足,将在应用的过程中发现并改进完善。在毕业设计过程中,本人对业务流程及相关技术都做了一些调查,对系统有了些初步的了解,然后对系统和员工需求都作了细致的分析,并进行了可行性分析。经过对系统的概要设计及详细设计,系统功能模块等都已经基本确定,并且在具体实现过程中做了一些完善。毕业设计毕竟是为了让我们学习到如何设计和开发一套系统,在毕业设计过程中我还是学到了很多知识,知道遇到问题该如何去分析问题、解决问题,能够自己动手做出一套系统来这也是对自己的一种鼓舞,也是对我的大学生活的一次检验,让我把这四年所学到的知识能够用于实践,这让我的动手能力也有了很大的提高,也让我学会了如何思考问题。-20-'