工资管理系统的设计(数据库课程设计)_第1页
工资管理系统的设计(数据库课程设计)_第2页
工资管理系统的设计(数据库课程设计)_第3页
工资管理系统的设计(数据库课程设计)_第4页
工资管理系统的设计(数据库课程设计)_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、永磁同步电机双环调速系统的仿真研究数据库课程设计报告(2011)PAGE 22PAGE 1数据库课程设计报告工资管理系统的设计专业计算机科学与技术学生姓名班级学号指导教师完成日期20011年7月7日工资管理系统的设计PAGE 1工资管理系统的设计目 录 TOC o 1-5 h z u HYPERLINK l _Toc6702 1 课程设计目的及要求 PAGEREF _Toc6702 1 HYPERLINK l _Toc25922 2 课程设计的主要内容 PAGEREF _Toc25922 1 HYPERLINK l _Toc27644 3数据库设计 PAGEREF _Toc27644 2 HY

2、PERLINK l _Toc10651 3.1 概念设计 PAGEREF _Toc10651 2 HYPERLINK l _Toc7754 3.1.1 系统需求分析 PAGEREF _Toc7754 2 HYPERLINK l _Toc3785 3.1.2 E-R图 PAGEREF _Toc3785 3 HYPERLINK l _Toc3097 3.1.3 数据字典 PAGEREF _Toc3097 4 HYPERLINK l _Toc14450 3.2 逻辑设计 PAGEREF _Toc14450 5 HYPERLINK l _Toc21624 3.3 物理设计 PAGEREF _Toc21

3、624 7 HYPERLINK l _Toc13158 4程序模块设计 PAGEREF _Toc13158 7 HYPERLINK l _Toc31498 4.1 用户登录界面模块设计 PAGEREF _Toc31498 7 HYPERLINK l _Toc16004 4.2 管理员信息界面模块设计 PAGEREF _Toc16004 8 HYPERLINK l _Toc3543 4.3 员工信息界面模块设计 PAGEREF _Toc3543 9 HYPERLINK l _Toc22479 4.4 员工工资界面模块设计 PAGEREF _Toc22479 11 HYPERLINK l _Toc

4、643 4.5 帮助界面模块设计 PAGEREF _Toc643 13 HYPERLINK l _Toc5953 5 小结 PAGEREF _Toc5953 14 HYPERLINK l _Toc20066 附录1 源程序清单 PAGEREF _Toc20066 15 HYPERLINK l _Toc27934 附录1.1 用户登录界面模块设计 PAGEREF _Toc27934 15 HYPERLINK l _Toc6145 附录1.2 管理员信息界面模块设计 PAGEREF _Toc6145 16 HYPERLINK l _Toc18375 附录1.3 员工信息界面模块设计 PAGEREF

5、 _Toc18375 17 HYPERLINK l _Toc5656 附录1.4 员工工资界面模块设计 PAGEREF _Toc5656 19 HYPERLINK l _Toc1388 附录1.5 帮助界面模块设计 PAGEREF _Toc1388 22PAGE 21工资管理系统的设计1 课程设计目的及要求 数据库课程设计是为数据库原理及应用课程而独立开设的实践性课程。数据库课程设计对于巩固数据库知识,加强学生的实际动手能力和提高学生综合素质十分必要。本课程分为系统分析与数据库设计、应用程序设计和系统集成调试三个阶段进行。数据库课程设计的主要目标是:a)加深对数据库系统、程序设计语言的理论知识

6、的理解和应用水平。b)通过设计实际的数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力。2 课程设计的主要内容本次课程设计主要是设计一个工资管理系统。背景资料:1)某单位现有1000名员工,其中有管理人员、财务人员、技术人员和销售人员。2)该单位下设4个科室,即经理室、财务科、技术科和销售科。3)工资由基本工资、福利补贴和奖励工资构成,失业保险和住房公积金在工资中扣除。4)每个员工的基本资料有姓名、性别、年龄、单位和职业(如经理、工程师、销售员等)。5)每月个人的最高工资不超过3000元。工资按月发放,实际发放的工资金额为工资减去扣除。设计要求:

7、1)进行需求分析,编写数据字典。2)设计E-R图。3)实现按照科室录入个人的基本资料、工资和扣除金额的数据。4)计算个人的实际发放工资。5)按科室、职业分类统计人数和工资金额。6)实现分类查询。7)能够删除辞职人员的数据。3数据库设计3.1 概念设计概念设计是由分析用户需求到生成概念产品的一系列有序的、可组织的、有目标的设计活动,它表现为一个由粗到精、由模糊到清晰、由具体到抽象的不断进化的过程。概念设计即是利用设计概念并以其为主线贯穿全部设计过程的设计方法。概念设计是完整而全面的设计过程,它通过设计概念将设计者繁复的感性和瞬间思维上升到统一的理性思维从而完成整个设计。如果说概念设计是一篇文章,

8、那么设计概念则是这篇文章的主题思想。概念设计围绕设计概念而展开,设计概念则联系着概念设计的方方面面。概念结构设计阶段的目标是产生整体数据库概念结构,即概念模式。概念模式是整个组织各个用户关心的信息结构。3.1.1 系统需求分析工资管理系统对企业加强工资管理有着极其重要的作用,就一般的大型企业来说,它的设计内容非常复杂而且繁多,比如拥有工资计算功能,工资统计功能,报表输出功能,而且设计的模块也很多,比如工资管理模块,工资统计模块,报表设计模块,打印输出模块,模糊查询模块等等。系统是一个工资管理系统,拥有1000多人。当管理员登录后,可以实现对在数据库的员工信息按员工姓名,员工年龄,员工单位,员工

9、职业,员工性别进行查找,还可以对员工信息进行操作(删除,修改),还可以添加新的员工信息。实现按照科室录入个人的基本资料、工资和扣除金额的数据。计算个人的实际发放工资。按科室、职业分类统计人数和工资金额。科室员工职业福利工资奖励工资工资结构基本工资管理员信息员工查询工资管理系统员工增删员工信息管理员工信息图3-1 工资管理系统功能模块图3.1.2 E-R图描述概念结构的有力工具是E-R模型。在数据库设计中,先要对系统分析所得的数据字典中的数据存储进行分析,然后得出系统的关系模式,可以采用实体联系图(简称ER图)的方法进行数据结构的描述。ER图由实体、属性、联系三部分组成。ER图的有关符号说明如下

10、:属性联系实体本实例根据上面的设计规划出的实体有用户实体、员工实体、员工工资实体,各实体的E-R图及其关系描述如下:(1)用户E-R图用户用户名密码用户等级连续输入密码错误次数最后一次密码错误时当前时间图3-2 用户E-R图(2)员工E-R图员工员工号姓名年龄性别单位职业 图3-3 员工E-R图(3)员工工资E-R图员工工资基本工资福利补贴奖励工资失业保险住房公积金员工号图3-4 员工工资E-R图(4)实体和实体之间的关系E-R图属于工资1n1拥有11员工信息职业拥有n员工图3-5 实体和实体之间E-R图3.1.3 数据字典 数据字典是各类数据描述的集合,它是进行详细的数据收集和数据分析后所获

11、得的主要成果。 数据字典通常包括以下5个部分: a.数据项:数据项是不可再分的数据单位。 b.数据结构:数据结构反映了数据之间的组合关系。一个数据结构可以由若 干个数据项组成,也可以由若干个数据结构组成,或由若干数 据项和数据结构混合组成。 c.数据流:数据流是数据结构在系统内传输的路径。 d.数据存储:数据存储是数据及其结构停留或保存的地方,也是数据流的来 源和去向之一。 e.处理过程:处理过程的具体处理逻辑一般用判定表或判定树来描述。数据字 典是关于数据库中数据的描述,即对元数据的描述。数据字典是 在需求分析阶段建立,在数据库设计过程中不断修改、充实、完 善的。 A.数据项编号:Em01数

12、据项:员工编号 描述:唯一地标识数据库中员工的一个特定的关键域(主键,标识规范1,自 动增长)。类型及宽度:int 4字节取值方法:新员工添加时,由电脑自动生成 B.数据编号:Em02数据项:工资编号 唯一地标识数据库中员工的一个特定的关键域(主键,标识规范1,自动增长)。类型及宽度:int 4字节 取值方法:新工资信息添加时,由电脑自动生成 C数据编号:Em03数据项:基本员工信息表 描述:管理指定条件下的员工基本情况查询结果的信息表 定义:员工信息查询报表员工号姓名年龄性别+单位+职业位置:显示出在员工信息管理界面 D.数据编号:Em04数据项:员工工资所有情况表 描述:管理指定条件下的员

13、工工资基本情况查询结果的信息表 定义:工资信息查询报表工资编号(隐藏)+姓名+基本工资+福利补贴+奖励 工资+失业保险+住房公积金+日期位置:显示在工资信息管理界面 3.2 逻辑设计逻辑设计就是把一种计划、规划、设想通过视觉的形式通过概念、判断、推理、论证来理解和区分客观世界的思维传达出来的活动过程。逻辑设计阶段的主要目标是把概念模型转换为具体计算机上DBMS所支持的结构数据模型。 逻辑设计的输入要素包括:概念模式、用户需求、约束条件、选用的DBMS的特性。 逻辑设计的输出信息包括:DBMS可处理的模式和子模式、应用程序设计指南、物理设计指南。E-R模型表示的概念模型是用户的模型。它独立于任何

14、一种数据模型,独立于任何一个具体的数据库管理系统,因此,需要把上述概念模型转换为某个具体的数据库管理系统所支持的数据模型,然后建立用户需要的数据库。在上面的实体以及实体之间的关系的基础上,形成数据库中的表格和各个表格之间的关系。仓库管理系统数据库中各个表格的设计结果如下面的几个表格所示。每个表格表示在数据库中的一个表。表3-6 管理员用户数据表User1列名字段类型长度是否为空备注Idint4否主键UserNamenvarchar50是姓名Passwordvarchar50是密码Levelsmallint2是等级ErrorTimesint4是连续错误次数LastErrorTimedatetim

15、e8(精度23)是最后一次错误时间表3-7 员工信息数据库信息表T_Employee列名字段类型长度是否为空备注EmIdint4否主键EmNamenvarchar50是员工姓名EmAgeint4是员工年龄EmSexnchar10是性别EmDwnvarchar50是科室EmZynvarchar50是职业表3-8 员工工资数据库信息表T_Wage列名字段类型长度是否为空备注WIdint4否主键EmNamenvarchar50是员工姓名Wjbgzint4是基本工资Wflbtint4是福利补贴Wjlgzint4是奖励工资Wsybxint4是失业保险Wzfgjjint4是住房公积金MonthTimeda

16、tetime8(精度23)是日期3.3 物理设计数据库最终是要存储在物理设备上的。为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构(存储结构与存取方法)的过程,就是数据库的物理设计。物理结构依赖于给定的DBMS和和硬件系统,因此设计人员必须充分了解所用DBMS的内部特征,特别是存储结构和存取方法;充分了解应用环境,特别是应用的处理频率和响应时间要求;以及充分了解外存设备的特性。 数据库的逻辑结构设计已经明确了数据库表名,字段名,字段类型,字段长度,是否为空。当完成了以上的逻辑结构设计后,就可以在Microsoft Visual Studio的解决方案工资管理系统上直接右键添加数据库Em

17、ployeeUser.mdf和参考以上逻辑设计建立3个新表分别为Users、T_Employee和T_Wage。 4程序模块设计4.1 用户登录界面模块设计 用户登录模块是用户登录时所必需要用到的,登录之前需要验证用户身份的合法性,故而需要用户输入程序,输入用户名及密码来进行身份验证。添加一个窗体,利用C#提供的控件,并设置其属性,得到的窗体如下图。详细代码设计请见附录1.1 用户登录界面模块设计。如图4-1为密码错误,登录失败窗体:图4-1 密码错误,登录失败如图4-2为密码正确,登陆成功窗体:图4-2 登陆成功4.2 管理员信息界面模块设计管理员信息界面模块的设计是为了方便管理员修改自己的

18、密码,添加一个窗体,利用C#提供的控件,并设置其属性,得到的窗体如下图。详细代码设计请见附录1.2 管理员信息界面模块设计。如图4-3为管理员信息界面窗体:图4-3 管理员信息界面如图4-4为管理员密码修改成功窗体:图4-4 管理员密码修改成功4.3 员工信息界面模块设计员工信息模块为管理员提供了查看全部员工信息,按姓名查询员工信息,按部门查询员工信息。添加一个窗体,利用C#提供的控件,并设置其属性,得到的窗体如下图。 详细代码设计请见附录1.3 员工信息界面模块设计。如图4-5 员工信息界面:图4-5 员工信息界面如图4-6 按姓名查询信息:图4-6 按姓名查询信息如图4-7 按部门查询信息

19、:图4-7 按部门查询信息4.4 员工工资界面模块设计员工工资信息模块为管理员提供了添加员工工资,按姓名查询员工信息,显示所有工资信息,按员工姓名领取工资。添加一个窗体,利用C#提供的控件,并设置其属性,得到的窗体如下图。 详细代码设计请见附录1.4 员工工资界面模块设计。如图4-8 员工工资界面:图4-8 员工工资界面如图4-9 添加员工gucci的工资界面:图4-9 添加员工gucci的工资如图4-10 添加gucci信息后的所有员工工资信息界面:图4-10 添加gucci信息后的所有员工工资信息如图4-11 按员工姓名查询界面:图4-11 按员工姓名查询如图4-12 领取gucci的工资

20、界面:图4-12 领取gucci的工资4.5 帮助界面模块设计帮助界面模块为管理员提供了方便,显示工资管理系统功能的操作,添加一个窗体,利用C#提供的控件,并设置其属性,得到的窗体如下图。详细代码设计请见附录1.5 帮助界面模块设计。如图4-13 帮助界面:图4-13 帮助界面5 小结经过一周左右的数据库课程设计,使我的数据库技术和C#编程技术得到了扩充,学到了很多的东西,在拿到课题后,经过一系列的分析,决定了开发所用的工具,通过总体设计理清了所需要做的系统模块,进行模块的划分,层层设计,在数据库的设计阶段,明白了各个阶段需要做什么,首先先建立一个小型的数据库,在用C#语言设计时,对C#中的控

21、件有了更多的了解和应用,不过在进行C#连接数据库的时候出现了问题,提示错误,后来发现由于版本不兼容的问题,导致连接不成功,多次安装不同的数据库的版本,最后能连接上了,这当然离不开吴老师的指导和同学们的帮助,通过这次课程设计,我觉得我在编程方面存在技巧上的问题,连简单的界面设计都要找资料看,主要是平时练的比较少,对于一个系统来说,麻烦的应该算是对系统的调试,一个关键字错误将导致整个系统无法正常运行,幸好有同学帮我看程序,提示我一些小错误,减少了一些不必要的麻烦,我明白了课程设计是培养我们综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对我们实际工作能力的具体训练和考察

22、过程。复杂的课程设计也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极地影响。其次,这次课程设计让我充分认识到团队合作的重要性,只有分工协作才能保证整个项目的有条不紊。在课程设计中,当我们碰到不懂的问题时,吴老师总是耐心的讲解,给我们的设计极大地帮助,使我们受益匪浅,因此非常感谢老师的指导。附 录附录1 源程序清单附录1.1 用户登录界面模块设计using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using Sy

23、stem.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;using 工资管理系统.SQL.EmployeeUserDataSetTableAdapters;namespace 工资管理系统 public partial class mainform : Form public string strConnection = Data Source=.;Initial Catalog=EmployeeUser;Integrated Security=True; public static

24、string name = ; public mainform() InitializeComponent(); private void button1_Click(object sender, EventArgs e) User1TableAdapter adapter = new User1TableAdapter(); var data = adapter.GetDataByUserName(txtUserName.Text); name = txtUserName.Text; if (data.Count 5 & span = 1) MessageBox.Show(txtName.T

25、ext+员工+ttdateTime2.Value.Date+工资已经存在!不能再添加!); else adapter.Insert(txtName.Text, Convert.ToInt32(txtJbgz.Text), Convert.ToInt32(txtFlbt.Text), Convert.ToInt32(txtJlgz.Text), Convert.ToInt32(txtSybx.Text), Convert.ToInt32(txtZfgjj.Text), ttdatetime.Value.Date); MessageBox.Show(txtName.Text + 工资添加成功!);

26、 else MessageBox.Show(住房公积金不能为空!); else MessageBox.Show(失业保险不能为空!); else MessageBox.Show(奖励工资不能为空!); else MessageBox.Show(福利补贴不能为空!); else MessageBox.Show(基本工资不能为空!); else MessageBox.Show(姓名不能为空!); private void button4_Click(object sender, EventArgs e) T_WageTableAdapter adapter = new T_WageTableAda

27、pter(); if (textBox2.Text != null) & (textBox2.Text != ) if (adapter.GetDataBy2lingqu(ttdateTime2.Value.Date, textBox2.Text).Count = 1) try this.t_WageTableAdapter.lingquZz(this.employeeUserDataSet.T_Wage, textBox2.Text, new System.Nullable(System.DateTime)(System.Convert.ChangeType(ttdateTime2.Valu

28、e.Date, typeof(System.DateTime); int i = 0; int cCount = dataGridView1.ColumnCount; int rCount = dataGridView1.RowCount; double array = new doublecCount-1; array0 = Convert.ToDouble(dataGridView1.Rows0.Cells3.Value.ToString(); array1 = Convert.ToDouble(dataGridView1.Rows0.Cells4.Value.ToString(); ar

29、ray2 = Convert.ToDouble(dataGridView1.Rows0.Cells5.Value.ToString(); array3 = Convert.ToDouble(dataGridView1.Rows0.Cells6.Value.ToString(); array4 = Convert.ToDouble(dataGridView1.Rows0.Cells7.Value.ToString(); string gongzi=(Convert.ToInt32(array0) + Convert.ToInt32(array1) + Convert.ToInt32(array2) - Convert.ToInt32(array3) - Convert.ToInt32(array4).To

温馨提示

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

最新文档

评论

0/150

提交评论