基于BS格式的工资管理系统_第1页
基于BS格式的工资管理系统_第2页
基于BS格式的工资管理系统_第3页
基于BS格式的工资管理系统_第4页
基于BS格式的工资管理系统_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

...wd......wd......wd...郑州华信学院课程设计说明书题目:网络工资管理系统设计与实现姓名:贾慧萍院〔系〕:信息工程系专业班级:10计算机科学与技术学号:1001110156指导教师:杨杨成绩:时间:2013年9月03日至2013年10月24日郑州华信学院课程设计任务书题目基于B/S模式的工资管理系统设计与实现专业、班级10计算机科学与技术学号1001110156姓名贾慧萍主要内容:首先,开发一个采用B/S构造的企业网络工资管理系统,使用ASP.NET技术和SQLserver2000数据库实现的三层构造Web应用程序,通过ADO.NET访问数据库结合网络编程开发动态网页。本系统是适合于各企事业单位使用的通用工资管理软件,系统开发目的主要是针对工资管理系统落后、数据环境混乱等问题提出可行的解决方案。给工资管理系统带来先进的管理理念、完善的工资管理制度,从而提高管理水平、节约资源、提高办事效率。根本要求:要求系统界面友好,操作简单方便,任意设定工资工程,任意定义工资计算公式,任意定义输出表格等功能健全。主要参考资料:[1]赵强.J2EE应用开发[M].电子工业出版社,2006[2]明日科技.JSP开发技术大全[M].人民邮电出版社,2007[3]BertBates.HeadFirstServlets&JSP〔影印版〕[M]南京:东南大学出版社2002.8[4]oracle数据库进阶.林树泽李渊编.清华大学出版社,2011.3完成期限:09月03日-10月24日指导教师签名:课程负责人签名:2013年09月12日目录1.总体设计31.1企业网建设规划31.2工资管理系统任务概述31.3工资管理系统功能需求41.4工资管理系统可行性分析51.5工资管理系统开发环境62.构造化系统设计62.1系统功能模块设计62.2数据库设计72.3界面设计83.软件的测试243.1测试原则243.2测试方法243.3测试环境243.4测试内容24总结284.1系统可改良的地方284.2开展前景281.总体设计1.1企业网建设规划〔1〕概述企业网分内部和外部两局部。外部的页面是展示给所有人员浏览的页面,在外部主要对企业的宣传。在产品展示的页面提供顾客注册的功能,进展网上订购的功能.只有注册的顾客用户才能进展网上订购。内部的页面只有企业内部人员才能浏览,而且必须登录才能进入,没有注册的功能,只有在人事部门进展添加的用户才能进入。〔2〕组织构造,见图1.1〔a〕职务为总经理,副总经理;最高级别机构有主管、财务主管、开发部主管、人事部主管、市场部主管;部门设部门经理,普通职员。〔3〕总体设计,见图1.1〔b〕1.2工资管理系统任务概述工程名称:基于B/S模式的工资管理系统开发意图:使员工工资管理更加科学、标准;使员工工资查询更加方便、快捷;发挥网络在工资管理与查询中的作用,实现工资管理与查询的网络化应用目标:通过本系统,能帮助财务人员利用计算机,快速方便的对员工工资进展管理、输入、输出、查找等所需操作,使大量的员工工资能够集中方便的进展管理。员工则能够利用自己的用户名和密码通过本登陆,方便快捷的查询到自己工资信息。1.3工资管理系统功能需求〔1〕登录内部办公系统的所有用户都可以查询自己的详细工资情况,提供按月查询,按年查询,按特定时间查询三种方式.〔2〕企业的财务人员可以进展工资的添加,删除,修改,查询,浏览的操作,在查询中提供按月查询,按年查询,按特定查询,按部门查询,按员工编号查询四种方式.〔3〕企业的财务人员可对工资信息进展添加,删除,修改,浏览的操作。〔4〕工资的修改时应在备注后写清楚修改时间以及原因等相关信息。北京毕博北京毕博财务部开发部总办财务科人力资源部市场部硬件开发部软件开发部人力资源科采购部销售部图1.1(a)企业网企业网外部信息展示内部办公管理首页企业介绍成功案例产品展示与网上订购系统管理新闻管理人事管理财务管理营销管理内部交流系统邮件管理供给商供给管理顾客订购管理新闻动态人员信息管理部门信息管理机构信息管理图1.1(b)1.4工资管理系统可行性分析〔1〕技术可行性ASP.NET的推出也有一定的时间了,它将来的网络编程做好了准备,我在毕业设计中用到的相关技术,也是比拟成熟的,只是鉴于对网络编程和.net的熟悉程度,可能在功能的实现上还存在一定的缺陷。基于对指定的系统要实现的功能的要求的考虑,结合对现有技术的掌握程度,鉴于软硬件的资源问题,对于系统的要求和性能,是可以实现的。参与源代码开发的成员必须掌握.NET技术,具有基于SQL2000网络数据库编程经历,对信息管理系统有比拟深入的认识,能够很快的进展系统分析并开发实现。〔2〕经济可行性本系统基于ASP.NET构架,运用SQL2000网络数据库,本钱不高。开发周期不会太长,维护费用也不多。〔3〕运行可行性目前许多公司的工资管理系统都不太先进,基于网页的查询系统不完善。由于系统的要求是基于用户操作的根本要求实现的,对各个子系统的划分是符合管理人员的要求的,又本系统是按照三层构造和B/S的思想而开发的,对于系统的升级还是方便易行的,所以本套查询系统可以马上解决这些问题。按上述三方面进展可行性分析、研究后,笔者认为此工程是可行的。1.5工资管理系统开发环境〔1〕硬件条件:CPU:P42.0内存:512DDR硬盘:80G。服务器一台为数据库服务器和Web服务器;客户端计算机假设干;网络通讯设备,主要包括网卡、MODEM等。〔2〕系统平台:采用Browser/Server体系构造,服务器端采用MicrosoftWindowsXPProfessionalSP2作为网络操作系统,Web服务器软件采用IIS5.0〔InternetInformationServer〕。客户端软件,包括单机操作系统和浏览器软件,分别选用Windows98以上版本和InternetExplorer5.0以上版本,数据库系统采用MicrosoftSQLServer2000有利于使用操作。〔3〕开发工具:基于Web的系统开发工具应使开发者使用各种各样的技术来创立动态的Web应用程序,并且应是一个可视化的工具。我们采用了VisualStudio.NET进展开发,它是用来快速创立数据驱动Web应用程序的基于团队的开发环境,支持ASP.NET,以ADO.NET连接数据库,编程语言为C#。2.构造化系统设计2.1系统功能模块设计〔1〕主登陆界面模块:该模块提供管理系统的主界面,是主系统的唯一入口和出口,该界面提供用户登陆并选择并调用各子模块〔2〕工资管理系统:用户选择该模块后将进入工资管理系统。〔3〕员工界面:员工进入该模块进展选择查询操作。〔4〕工资管理人员界面:工资管理人员进入操作界面。〔5〕工资浏览界面:管理人员浏览所有员工工资。〔6〕工资添加界面:管理人员添加员工工资信息。〔7〕工资删除界面:管理人员删除员工工资信息。〔8〕工资查询界面:在此模块中,管理人员有五种查询方式,员工有3种查询方式。〔9〕工资修改界面:管理人员修改员工工资信息。主登陆界面主登陆界面工资管理系统员工工资管理员工资查询工资浏览工资添加工资删除工资查询工资修改图2.12.2数据库设计表2.2工资表图2.2(a)图2.2(b)员工登陆后可以根据年份,月份来查询自己的工资详细信息。管理人员登陆后可以根据员工的编号,部门,年份,月份来查询所需要的信息。2.3界面设计〔1〕工资添加界面图2.3.1当管理人员登陆的时候,点击工资记录添加,就会出现添加记录界面,2.3.1图2.3.1当信息添加成功以后,得到一个提示成功界面,如图2.3.1图2.3.1假设输入工资编号不唯一,则会提示输入错误,返回重新输入,如图2.3.1图2.3.1当非管理人员登陆的时候,则会提示无法进入,如图2.3.1图2.3.1在添加的界面使用了TextBox和Button控件,添加代码如下:privatevoidadd_button_Click(objectsender,System.EventArgse){dbComm=newSqlCommand(strSQL,sqlConnection1);if(Page.IsValid){StringstrSQL="INSERTINTOSalary(SalaryID,UserID,Dept,Year,Month,Bouns,BasicWage,AllWage,Remark)VALUES(@SalaryID,@UserID,@Dept,@Year,@Month,@Bouns,@BasicWage,@AllWage,@Remark)";SqlCommanddbComm=newSqlCommand(strSQL,sqlConnection1);dbComm.Parameters.Add("@SalaryID",SqlDbType.Int,4);dbComm.Parameters.Add("@UserID",SqlDbType.VarChar,50);dbComm.Parameters.Add("@Dept",SqlDbType.VarChar,300);dbComm.Parameters.Add("@Year",SqlDbType.Char,16);dbComm.Parameters.Add("@Month",SqlDbType.Char,16);dbComm.Parameters.Add("@Bouns",SqlDbType.VarChar,50);dbComm.Parameters.Add("@BasicWage",SqlDbType.VarChar,50);dbComm.Parameters.Add("@AllWage",SqlDbType.VarChar,50);dbComm.Parameters.Add("@Remark",SqlDbType.VarChar,300);dbComm.Parameters["@SalaryID"].Value=TextBox1.Text;dbComm.Parameters["@UserID"].Value=TextBox2.Text;dbComm.Parameters["@Dept"].Value=TextBox3.Text;dbComm.Parameters["@Year"].Value=TextBox4.Text;dbComm.Parameters["@Month"].Value=TextBox5.Text;dbComm.Parameters["@Bouns"].Value=TextBox6.Text;dbComm.Parameters["@BasicWage"].Value=TextBox7.Text;dbComm.Parameters["@AllWage"].Value=TextBox8.Text;dbComm.Parameters["@Remark"].Value=TextBox9.Text;intiID=0;try{sqlConnection1.Open();iID=Convert.ToInt32(dbComm.ExecuteScalar());}catch(Exceptionex){Response.Write("此工资编号已经存在,请<ahref='wageAdd.aspx'>重新输入</a><br>或者等待3秒后自动返回添加员工信息页面<meta-equiv='refresh'content='3;url=wageAdd.aspx'><br>");Response.End();}finally{if(sqlConnection1.State==ConnectionState.Open)sqlConnection1.Close();}Response.Redirect("Success.aspx");Response.End();}}权限代码如下:Privilege=dr["Privilege"].ToString();i=Convert.ToInt32(Privilege);switch(i){case11:case13:break;default:this.Response.Write("<script>window.alert('你没有权限进入该页面!');window.location.href='../in_index.aspx';</script>");break;}〔2〕工资查询界面:进入查询界面以后,分为普通员工进入和工资管理人员进入,程序会根据登录用户的权限来判断该用户可以进入的界面。所有人都可以进入员工界面来查询自己的工资信息,工资管理人员可以进入管理界面来查询所需要的信息。如图2.3.2图2.3.2员工查询界面如图2.3.2图2.3.2该界面实现代码:privatevoidButton1_Click(objectsender,System.EventArgse){Year=TextBox1.Text;sqlDataAdapter1.SelectCommand.CommandText="select*fromSalarywhere[Year]="+Year+"and[UserID]="+i;try{sqlDataAdapter1.Fill(dataSet1);DataGrid1.DataBind();}catch{}finally{}}privatevoidButton2_Click(objectsender,System.EventArgse){Month=TextBox2.Text;sqlDataAdapter1.SelectCommand.CommandText="select*fromSalarywhere[Month]="+Month+"and[UserID]="+i;try{sqlDataAdapter1.Fill(dataSet1);DataGrid1.DataBind();}catch{}finally{}}privatevoidButton3_Click(objectsender,System.EventArgse){Year=TextBox3.Text;Month=TextBox4.Text;sqlDataAdapter1.SelectCommand.CommandText="select*fromSalarywhere[Year]="+Year+"and[Month]="+Month+"and[UserID]="+i;try{sqlDataAdapter1.Fill(dataSet1);DataGrid1.DataBind();}catch{}finally{}}工资管理人员查询界面,如图2.3.2图2.3.2该界面实现代码如下:privatevoidButton1_Click(objectsender,System.EventArgse){Year=TextBox1.Text;sqlDataAdapter1.SelectCommand.CommandText="select*fromSalarywhere[Year]="+Year;try{sqlDataAdapter1.Fill(dsSalary1);DataGrid1.DataBind();}catch{}finally{}}privatevoidButton2_Click(objectsender,System.EventArgse){Month=TextBox2.Text;sqlDataAdapter1.SelectCommand.CommandText="select*fromSalarywhere[Month]="+Month;try{sqlDataAdapter1.Fill(dsSalary1);DataGrid1.DataBind();}catch{}finally{}}privatevoidButton3_Click(objectsender,System.EventArgse){Year=TextBox3.Text;Month=TextBox4.Text;sqlDataAdapter1.SelectCommand.CommandText="select*fromSalarywhere[Year]="+Year+"and[Month]="+Month;try{sqlDataAdapter1.Fill(dsSalary1);DataGrid1.DataBind();}catch{}finally{}}privatevoidButton4_Click(objectsender,System.EventArgse){UserID=TextBox5.Text;sqlDataAdapter1.SelectCommand.CommandText="select*fromSalarywhereUserID="+UserID;try{sqlDataAdapter1.Fill(dsSalary1);DataGrid1.DataBind();}catch{}finally{}}privatevoidButton5_Click(objectsender,System.EventArgse){Dept=TextBox6.Text;sqlDataAdapter1.SelectCommand.CommandText="select*fromSalarywhereDept='"+Dept+"'";sqlDataAdapter1.Fill(dsSalary1);DataGrid1.DataBind();}PrivatevoidDataGrid1_PageIndexChanged(objectsource,System.Web.UI.WebControls.DataGridPageChangedEventArgse){DataGrid1.CurrentPageIndex=e.NewPageIndex;DataGrid1.DataBind();}〔3〕工资修改界面:只有工资管理人员才能进入该界面,该界面如图2.3.3图2.3.3浏览该页面,找到需要修改的,点击修改,出现下面的界面,如图2.3.3(b),图2图2.3.3图2.3.3该界面实现代码如下:privatevoidDataGrid1_EditCommand(objectsource,System.Web.UI.WebControls.DataGridCommandEventArgse){DataGrid1.EditItemIndex=e.Item.ItemIndex;DataGrid1.DataBind();}privatevoidDataGrid1_PageIndexChanged(objectsource,System.Web.UI.WebControls.DataGridPageChangedEventArgse){DataGrid1.CurrentPageIndex=e.NewPageIndex;DataGrid1.DataBind();}privatevoidadd_button_Click(objectsender,System.EventArgse){stringk;k=Request.QueryString["id"];SqlConnectionMyConn=newSqlConnection("Server=;uid=sa;pwd=;database=whtzkj");stringstrupdate="update[Salary]setUserID="+TextBox2.Text+",Dept="+"'"+TextBox3.Text+"'"+",[Year]="+"'"+TextBox4.Text+"'"+",[Month]="+"'"+TextBox5.Text+"'"+",Bouns="+"'"+TextBox6.Text+"'"+",BasicWage="+"'"+TextBox7.Text+"'"+",AllWage="+"'"+TextBox8.Text+"'"+",Remark="+"'"+TextBox9.Text+"'"+"whereSalaryID="+k;SqlCommandstrcmd=newSqlCommand(strupdate,MyConn);strcmd.Connection.Open();strcmd.ExecuteNonQuery();strcmd.Connection.Close();Response.Write("<script>alert('修改成功!');window.location.href='wageModify.aspx';</script>");}〔4〕工资浏览页面:非工资管理人员是不能进入工资浏览界面的,管理人员进去浏览界面后,会看到公司所有员工的工资信息。如图5.3.4(a)。图5.3.4(a)浏览界面的实现代码如下:privatevoidPage_Load(objectsender,System.EventArgse){//在此处放置用户代码以初始化页面inti;stringPrivilege="";SqlConnectionobjConnection;StringstrConnection="Server=;uid=sa;pwd=;database=whtzkj;"objConnection=newSqlConnection(strConnection);stringstrName="select*from[Privilege]";SqlCommandMyCmd=newSqlCommand(strName,objConnection);SqlDataReaderdr;objConnection.Open();dr=MyCmd.ExecuteReader();if(dr.Read())Privilege=dr["Privilege"].ToString();i=Convert.ToInt32(Privilege);switch(i){case11:case13:break;default:this.Response.Write("<script>window.alert('你没有权限进入该页面!');window.location.href='../in_index.aspx';</script>");break;}if(this.IsPostBack){dsSalary1=(dsSalary)Session["DsSalary"];}else{this.sqlDataAdapter1.Fill(this.dsSalary1);Session["DsSalary"]=dsSalary1;this.DataGrid1.DataBind();}}privatevoidDataGrid1_PageIndexChanged(objectsource,System.Web.UI.WebControls.DataGridPageChangedEventArgse){DataGrid1.CurrentPageIndex=e.NewPageIndex;DataGrid1.DataBind();}〔5〕工资删除界面:当管理人员进入工资删除界面,找到需要删除的信息,点击删除,其界面如图2.3.5(a)、图2.3.5(b)图2.3.5图2.3.5该界面实现代码如下:privatevoidDataGrid1_PageIndexChanged(objectsource,System.Web.UI.WebControls.DataGridPageChangedEventArgse){DataGrid1.CurrentPageIndex=e.NewPageIndex;DataGrid1.DataBind();}privatevoidDataGrid1_DeleteCommand(objectsource,System.Web.UI.WebControls.DataGridCommandEventArgse){stringstrDel="deletefrom[Salary]whereSalaryID=@SalaryID";SqlConnectionMyConn=newSqlConnection("server=;uid=sa;pwd=;database=whtzkj");SqlCommandMyCmd=newSqlCommand(strDel,MyConn);MyCmd.Parameters.Add(newSqlParameter("@SalaryID",SqlDbType.Int,4,"SalaryID"));MyCmd.Parameters["@SalaryID"].Value=e.Item.Cells[0].Text;MyConn.Open();MyCmd.ExecuteNonQuery();Response.Redirect(this.Page.Request.RawUrl);MyConn.Close();DataGrid1.DataBind();}3.软件的测试3.1测试原则〔1〕程序设计者不应测试自己设计的程序。〔2〕在设计测试用例时,不仅要有确定的输入数据,而且要有确定的预期输出结果。〔3〕测试用例不仅要有合理的输入数据,还要有不合理的输入数据。〔4〕除了检查程序是否做完了他应该做的事,还要检查它是否做了不应做的事。〔5〕程序中存在错误的概率与在该段程序中已发现的错误数成比例。3.2测试方法本系统采用黑盒测试方法,着眼于程序的外部特征,而不考虑程序的内部构造,主要看程序的功能是否完成。3.3测试环境局域网机器假设干台〔均配有InternetExplore5.0〕,服务器一台〔配有IIS6.0,VS.Net2003,OfficeXP〕。3.4测试内容以工资管理者身份进入,可以添加,删除,浏览,修改,查询。以普通员工身份进入,只能查询自己的工资信息,假设不是工资管理者想进展添加,删除,浏览,修改和查询其他人的工资信息,会提示无权访问。如图6.4(a)。图6.4(a)在添加工资信息的时候,工资编号要唯一且不能为空。假设为空则会提示必填。如图6.4(b)。图6.4(b)图6.4(c)当添加成功以后会提示添加信息成功。如图6.4(d)图6.4(d)在查询的时候,假设查询的信息不存在,会出现一个异常处理,只出现标题不出现内容。如图6.4(e)。图6.4(e)在修改信息的时候,工资编号是不能够修改的,只能修改其他工资信息。如图6.4(f)。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论