《工资管理系统数据库课程设计.doc》由会员分享,可在线阅读,更多相关《工资管理系统数据库课程设计.doc(35页珍藏版)》请在三一办公上搜索。
1、 燕山大学 数据库与信息管理课程设计报告 学 院 信息科学与工程学院 年级专业 11软件工程2班 学 号 110120010057 姓 名 李一新 指导教师 王颖 设计日期 2013.12.23-2014 .1.5 燕山大学课程设计任务书学院:信息科学与工程学院 系级教学单位:软件工程系 地点信息馆101题目工资管理系统主要内容1. 功能2. 查看总体工资情况3. 增加和删除奖惩信息4. 增加和删除培训信息5. 查看更新后的工资信息基本要求 1. 开发工具 2. SQL server 2005 3. VS 2005 4. 工作计划1. 时间顺序 2. 前两天设计ER图并向老师汇报 3. 第三天
2、设计数据库 4. 之后设计页面并连接数据库参考资料1. 王颖,宫继兵,孙胜涛,刘佳,王开宇ASP.NET 2.0 Web 数据库开发教程北京:机械工业出版社,20082. 施伯乐,丁宝康,汪卫. 数据库系统教程(第3版). 北京:高等教育出版社,2008. 3. 4. 第1章 需求分析1.1 功能需求(1)、用户可以查看工资的基本信息,并且如果有人参加培训,或者得到奖励,亦或受到惩罚,也可以查看变动后的工资信息。(2)、管理者可以添加或删除相应的奖惩和培训信息,并且修改后的信息要反映到查看界面:包括奖惩和培训界面以及工资变动界面,方便用户实时查看。(3)、在修改信息时,工资基本界面是不变的,所
3、以没有参加培训,以及没有受到奖励和惩罚的员工只要在这个页面查看就可以了,而参与上述时间的员工就要到相应的界面查看他们的工资信息。1.2 数据需求 数据流图表达了数据和处理过程的关系。 数据字典是对系统中数据的详细描述,是各类数据结构和属性的清单。它与数据流图互为注释。 数据字典的内容:数据项、数据结构、数据流、数据存储、处理过程 1、数据项:不可再分的数据单位。对数据项的描述。数据项描述=数据项名,含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系 2、数据结构:反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成。数据结构描述=数据结构名,含义说明,组成 3、
4、数据流:数据结构在系统内传输的路径。数据流描述=数据流名,说明,来源,去向,组成:数据结构,平均流量,高峰期流量 4、数据存储:数据结构停留或保存的地方。数据存储描述=名字,说明,编号,流入的数据流,流出的数据流,组成:数据结构,数据量,存取方式 5、处理过程:处理过程的具体处理逻辑一般用判定表或判定树来描述。处理过程描述=名字,说明,输入:数据刘,输出:数据刘,处理:简要说明经过这个过程,需求分析人员应该 已经了解了对象的组织结构,对象中的业务处理活动。明确了用户的信息要求(实体、属性、联系),处理要求(处理过程),安全性、完整性要求。然后按照自顶向下的需求分析方法,用数据流图和数据字典来描
5、述这系统,分离用户完成功能和计算机完成功能,明晰系统功能。1.3 开发工具简介VS 2005 简介:Visual Studio 2005是基于.NET2.0框架的。它同时也能开发跨平台的应用程序,如开发使用微软操作系统的手机的程序等。总体来说是一个非常庞大的软件,甚至包含代码测试功能。这个版本的Visual Studio 包含有众多版本,分别面向不同的开发角色。同时还永久提供免费的Visual Studio Express 版本。通过将 SDLC 工具集成到 UI 级别的表面,Visual Studio Team System 提高了团队工作效率并增强了项目的可预见性,下面说明数据级别表面以及
6、过程级别的项目上下文。 用户界面集成:工具间的无缝集成是增强生产效率的关键。Visual Studio Team System 提供跨整个 SDLC 工具套件的、一致的用户体验。对于开发人员而言,可以在他们当前的开发环境中使用某些活动(例如,单元测试、工作项跟踪、代码剖析以及代码分析)。 数据集成:通过使用一个公共的跨工具集的数据仓库,Visual Studio Team System 解决了在大多数 SDLC 工具中建立数据仓库这一问题,并启动了一个聚合的项目状态视图。团队根据能够收集到的规则来管理项目。今天,数据主要限于缺陷跟踪。Visual Studio Team System 中集成的
7、数据将开创一条新路 通过平衡利用贯穿于 SDLC 的大量、多样的数据来管理项目规则。Visual Studio Team System 会收集精确的数据 不仅限于缺陷跟踪,而是包括测试结果、代码涵盖、代码生成、任务进度等这些贯穿于团队常规工作流程的数据。该数据以某些标准的报告方式呈现,客户和 Microsoft 内部团队已在报告中建立了成功项目管理的关键规则。此外,团队还能够创建自定义报告。仅当以项目的大范围上下文查看数据时,团队才能够精确地报告项目状态。 过程集成:在 Visual Studio Team System 中,工具行为由项目开始时选择的过程决定。通过将过程与工具相集成,Visu
8、al Studio Team System 帮助确保在项目各阶段之间或各种项目角色之间避免丢失任何内容。通过自动处理团队成员之间的工作调整,可以提高团队效率。公司通过使过程标准化,能够纠正贯穿于过程改进中的系统问题,而无需增加团队的工作量。此外,过程集成并不增加工作量,而通常能够降低与 SDLC 中所采纳过程相关的开销。尽管存在一些基本的工具可组成 SDLC 工具(例如,架构师工具、测试工具等),但是 SDLC 并未限制住工具的数量。当集成支持 SDLC 的工具时,团队会发现在提高团队效率,同时降低复杂性这些方面的好处。Visual Studio Team System 将提供基本的平台,让所
9、有提供商能够以一种普通的、公众可理解的形式交换信息。这理所当然地铸造了一个充满活力的合作伙伴体系,合作伙伴能够构建完全集成的工具,简化构建 IT 解决方案的复杂性,以及推动信息交流和鼓励团队协作。要获得跨 UI、数据和过程集成的最大价值,就需要扩展性。扩展性促成交互性。Visual Studio Team System 设计基础是扩展性模型。Microsoft 提供的 SDLC 工具利用与第三方可用的扩展性功能相同的扩展性功能。扩展性体现在集成的三个层次:UI、数据和过程。 用户界面扩展性:Visual Studio Team System 利用现有的 Visual Studio Indust
10、ry Partner (VSIP) 计划,将补充的产品和服务插入到 Visual Studio集成开发环境(IDE) 之中。 数据扩展性:Visual Studio Team System 利用 Visual Studio Team Foundation Core Services (TFCS) 将这些工具集成在一起。TFCS 提供一组能够将工具集成在一起的工具,无需工具间的紧密耦合。对于数据收集,TFCS 还能够将第三方工具用于由 Visual Studio Team System 使用的数据仓库。 过程扩展性:Visual Studio Team System 使用方法论模板来定义每个项目
11、将遵循的过程。不存在适用于所有组织、以至一个组织内的所有项目的通用过程。不要为此担心,Visual Studio Team System 是一个灵活的工具集,它采用即灵活又正规的过程。Microsoft 的 Global Solution Integrator 合作伙伴将提供他们自己的方法论模板产品;或者,您可以自己创建模板。过程扩展性允许自定义工作项类型、签入策略、自定义报告以及项目管理模板。SQL server 2005 简介 Microsoft SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。Microsoft SQL Se
12、rver 2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。Microsoft SQL Server 2005 数据引擎是该企业数据管理解决方案的核心。此外 Microsoft SQL Server 2005 结合了分析、报表、集成和通知功能。这使您的企业可以构建和部署经济有效的 BI 解决方案,帮助您的团队通过记分卡、Dashboard、Web services 和移动设备将数据应用推向业务的各个领域。与 Microsoft Visual Studio、Microsoft Office System 以及新的开发工
13、具包(包括 Business Intelligence Development Studio)的紧密集成使 Microsoft SQL Server 2005 与众不同。无论您是开发人员、数据库管理员、信息工作者还是决策者,Microsoft SQL Server 2005 都可以为您提供创新的解决方案,帮助您从数据中更多地获益。SQL Server 2005 提供了5个不同版本:SQL Server 2005 Enterprise Edition(32 位和 64 位)企业版Enterprise Edition 达到了支持超大型企业进行联机事务处理 (OLTP)、高度复杂的数据分析、数据仓库
14、系统和网站所需的性能水平。Enterprise Edition 的全面商业智能和分析能力及其高可用性功能(如故障转移群集),使它可以处理大多数关键业务的企业工作负荷。Enterprise Edition 是最全面的 SQL Server 版本,是超大型企业的理想选择,能够满足最复杂的要求。SQL Server 2005 Standard Edition(32 位和 64 位)标准版SQL Server 2005 Standard Edition 是适合中小型企业的数据管理和分析平台。它包括电子商务、数据仓库和业务流解决方案所需的基本功能。Standard Edition 的集成商业智能和高可用
15、性功能可以为企业提供支持其运营所需的基本功能。SQL Server 2005 Standard Edition 是需要全面的数据管理和分析平台的中小型企业的理想选择。SQL Server 2005 Workgroup Edition(仅适用于 32 位)工作组版对于那些需要在大小和用户数量上没有限制的数据库的小型企业,SQL Server 2005 Workgroup Edition 是理想的数据管理解决方案。SQL Server 2005 Workgroup Edition 可以用作前端 Web 服务器,也可以用于部门或分支机构的运营。它包括 SQL Server 产品系列的核心数据库功能,
16、并且可以轻松地升级至 SQL Server 2005 Standard Edition 或 SQL Server 2005 Enterprise Edition。SQL Server 2005 Workgroup Edition 是理想的入门级数据库,具有可靠、功能强大且易于管理的特点。SQL Server 2005 Developer Edition(32 位和 64 位)开发版SQL Server 2005 Developer Edition 允许开发人员在 SQL Server 顶部生成任何类型的应用程序。该应用程序包括 SQL Server 2005 Enterprise Editio
17、n 的所有功能,但许可用作开发和测试系统,而不用作生产服务器。SQL Server 2005 Developer Edition 是独立软件供应商 (ISV)、咨询人员、系统集成商、解决方案供应商以及生成和测试应用程序的企业开发人员的理想选择。可以根据生产需要升级 SQL Server 2005 Developer Edition。SQL Server 2005 Express Edition(仅适用于 32 位)学习版SQL Server Express 数据库平台基于 SQL Server 2005。它也可以替换 Microsoft Desktop Engine (MSDE)。通过与 Mi
18、crosoft Visual Studio 2005 集成,SQL Server Express 简化了功能丰富、存储安全且部署快速的数据驱动应用程序的开发过程。SQL Server Express 是免费的,可以再分发(受制于协议),还可以充当客户端数据库以及基本服务器数据库。SQL Server Express 是独立软件供应商 ISV、服务器用户、非专业开发人员、Web 应用程序开发人员、网站主机和创建客户端应用程序的编程爱好者的理想选择。如果您需要使用更高级的数据库功能,则可以将 SQL Server Express 无缝升级到更复杂的 SQL Server 版本。 NET框架主机使用
19、SQL Server2005,开发人员通过使用相似的语言,例如微软的VisualC#.net和微软的VisualBasic,将能够创立数据库对象。开发人员还将能够建立两个新的对象-用户定义的类和集合。XML技术在使用本地网络和互联网的情况下,在不同应用软件之间散步数据的时候,可扩展标记语言(XML)是一个重要的标准。SQL Server2005将会自身支持存储和查询可扩展标记语言文件。ADO. NET2.0版本从对SQL类的新的支持,到多活动结果集(MARS),SQL Server2005中的ADO . NET将推动数据集的存取和操纵,实现更大的可升级性和灵活性。增强的安全性SQL Serve
20、r2005中的新安全模式将用户和对象分开,提供fine-grainAccess存取、并允许对数据存取进行更大的控制。另外,所有系统表格将作为视图得到实施,对数据库系统对象进行了更大程度的控制。Transact-SQL的增强性能SQL Server2005为开发可升级的数据库应用软件,提供了新的语言功能。这些增强的性能包括处理错误、递归查询功能、关系运算符PIVOT,APPLY,ROW_NUMBER和其他数据列排行功能,等等。SQL服务中介SQL服务中介将为大型、营业范围内的应用软件,提供一个分布式的、异步应用框架。通告服务通告服务使得业务可以建立丰富的通知应用软件,向任何设备,提供个人化的和及
21、时的信息,例如股市警报、新闻订阅、包裹递送警报、航空公司票价等。在SQL Server2005中,通告服务和其他技术更加紧密地融合在了一起,这些技术包括分析服务、SQLServerManagementStudio.Web服务使用SQL Server2005,开发人员将能够在数据库层开发Web服务,将SQL Server当作一个超文本传输协议(HTTP)侦听器,并且为网络服务中心应用软件提供一个新型的数据存取功能。报表服务利用SQL Server2005,报表服务可以提供报表控制,可以通过VisualStudio2005发行。 第2章 总体设计2.1 功能模块设计功能大致分为增删改查四部分,其结
22、构分布如下图所示: 工资管理系统的功能模块设计登陆及注册界面查看基本工资信息模块查看奖惩模块修改奖惩模块查看培训模块修改培训模块工资变动模块处罚和培训模块奖励和培训模块接受培训模块受到奖励模块受到处罚模块 图2-1 系统功能模块图2.2 数据库设计2.2.1 ER图工资项目奖惩对应享有培训接受职位担任员工设置聘用部门2.2.2 表结构员工表工资表第3章 详细设计3.1 界面及代码说明登陆界面和注册界面登录实现代码using System;using System.Data;using System.Configuration;using System.Web;using System.Web.
23、Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class _Default : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) protected void btnLogin_Click(obj
24、ect sender,EventArgs s) if (txtUsername.Text =)lblMessage.Text = 请输入用户名!; else if (txtPassword.Text = ) lblMessage.Text = 请输入密码!; /else if (txtUsername.Text = username & txtPassword.Text = password) lblMessage.Text = 恭喜您通过验证!; /else lblMessage.Text = 用户名或密码不能为空!; SqlConnection sqlcon = new SqlConnec
25、tion(); sqlcon.ConnectionString = Data source=.SQLEXPRESS;Database=Salary Ma;Uid=sa;Pwd=123; /sqlcon.ConnectionString = System.Configuration.ConfigurationManager.AppSettingsdsn; sqlcon.Open(); Response.Write(数据库成功打开!); SqlCommand sqlcmd = new SqlCommand(); sqlcmd.Connection = sqlcon; if (txtUsername
26、.Text != ) sqlcmd.CommandText = Select * From Register Where username= + txtUsername.Text + ; SqlDataReader sqlDr = sqlcmd.ExecuteReader(); if(sqlDr.HasRows) sqlDr.Read(); if (string.Equals(sqlDr.GetValue(2).ToString().Trim(), txtPassword.Text) Response.Redirect(main.aspx); else Response.Write(密码无效!
27、); else Response.Write(用户名不存在!); else Response.Write(请输入用户名!); sqlcon.Close(); protected void lbtnRegister_Click(object sender, EventArgs e) Response.Redirect(注册.aspx); 注册实现代码using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security
28、;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class 注册 : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) protected void Button2_Click(object sender, Eve
29、ntArgs e) Response.Redirect(Default.aspx); protected void Button1_Click(object sender, EventArgs e) lblMsg.Text = 编号: + txtStuno.Text + ; lblMsg.Text = lblMsg.Text + 姓名: + txtStuname.Text + ; lblMsg.Text = lblMsg.Text + 密码: + txtPwd.Text + ; lblMsg.Text = lblMsg.Text + 性别: + rblGender.SelectedItem.T
30、ext + ; lblMsg.Text = lblMsg.Text + 部门: + ddlSchool.SelectedItem.Text + ; SqlConnection sqlcon=new SqlConnection(); sqlcon.ConnectionString = data source=.SQLEXPRESS;database=Salary Ma;uid=sa;pwd=123; sqlcon.Open(); Response.Write(连接成功!); SqlCommand sqlcmd = new SqlCommand(); sqlcmd.Connection = sql
31、con; string strsql; strsql = insert into Register values( + txtStuno.Text + , + txtStuname.Text + , + txtPwd.Text + , + rblGender.SelectedItem.Value + , + ddlSchool.SelectedItem.Text + ); Response.Write(strsql); sqlcmd.CommandText = strsql; int num; num=sqlcmd.ExecuteNonQuery(); Response.Write(插入+ n
32、um.ToString() +条记录!); sqlcon.Close(); 主界面以及各个分界面:由于各个界面有代码相似,就不一一列举了,下面只给出基本信息的选择代码(第一个),培训信息的修改代码(第二个),奖励与培训的数据更新代码(第三个)。using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;
33、using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class basic : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) SqlDataAdapter sqlDa = new SqlDataAdapter(); SqlConnection sqlCon = new SqlConnection(); sqlCon.C
34、onnectionString = Data Source=.SQLEXPRESS;Database=Salary Ma;Uid=sa;Pwd=123; sqlDa.SelectCommand = new SqlCommand(); sqlDa.SelectCommand.CommandText = Select submoney,Wbasic,Wgrade,Afund,Tax,Insure, Sname, Pname,Pgrade,Dname From Wages A,Staff B,Post C,Depart D Where A.Snum=B.Snum and B.Pnum=C.Pnum
35、and C.Dnum=D.Dnum; sqlDa.SelectCommand.Connection = sqlCon; DataSet ds = new DataSet(); sqlDa.Fill(ds); grvStuInfo.DataSource = ds; grvStuInfo.DataBind(); using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI
36、;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class 修改培训 : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) protected void Button1_Click(object sender, EventArgs e) string s
37、trSnum = txtStaff.Text; string strPnnum = txtProject.Text; string strTway = txtWay.Text; string strTmoney = txtMoney.Text; SqlConnection sqlCon = new SqlConnection(); sqlCon.ConnectionString = Data Source=.SQLEXPRESS;Database=Salary Ma;Uid=sa;Pwd=123; SqlCommand sqlComIns = new SqlCommand(); SqlData
38、Adapter sqlDa = new SqlDataAdapter(Select * From Accept, sqlCon); sqlComIns.CommandText = Insert Into Train(Snum,Pnnum,Tway,Tmoney) + Values(Snum,Pnnum,Tway,Tmoney); sqlComIns.Connection = sqlCon; sqlDa.InsertCommand = sqlComIns; DataSet ds = new DataSet(); sqlDa.Fill(ds, Salary Ma); sqlComIns.Param
39、eters.Add(Snum, SqlDbType.VarChar); sqlComIns.Parameters.Add(Pnnum, SqlDbType.VarChar); sqlComIns.Parameters.Add(Tway, SqlDbType.VarChar); sqlComIns.Parameters.Add(Tmoney, SqlDbType.Int); sqlComIns.Parameters0.Value = strSnum; sqlComIns.Parameters1.Value = strPnnum; sqlComIns.Parameters2.Value = str
40、Tway; sqlComIns.Parameters3.Value = strTmoney; DataRow dr = ds.TablesSalary Ma.NewRow(); ds.TablesSalary Ma.Rows.Add(dr); sqlDa.Update(ds, Salary Ma); Response.Write(信息成功添加!); sqlCon.Close(); protected void btnDelete_Click(object sender, EventArgs e) string strSnum = txtStaff.Text; string strPnnum =
41、 txtProject.Text; string strTway = txtWay.Text; string strTmoney = txtMoney.Text; SqlConnection sqlCon = new SqlConnection(); sqlCon.ConnectionString = Data Source=.SQLEXPRESS;Database=Salary Ma;Uid=sa;Pwd=123; SqlDataAdapter sqlDa = new SqlDataAdapter(Select * From Train Where Snum= + strSnum + and
42、 Pnnum= + strPnnum + , sqlCon); DataSet ds = new DataSet(); sqlDa.Fill(ds, Salary Ma); DataRow dr = ds.TablesSalary Ma.Rows0; dr.Delete(); SqlCommandBuilder sqlcbr = new SqlCommandBuilder(sqlDa); sqlDa.Update(ds, Salary Ma); Response.Write(信息成功删除!); using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.W