企业工资管理系统数据库课程设计(DOC 35页)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
企业工资管理系统数据库课程设计(DOC 35页)
企业工资管理系统
目录
第一章绪论 (1)
1.1数据库管理系
统 (1)
1.2企业工资管理系
统 (1)
1.3开发工
具 (1)
第二章员工工资管理系统设计分析 (2)
2.1应用需求与分
析 (2)
2.2系统模块划
分 (2)
2.3系统数据库设
计 (3)
第三章:企业工资管理系统应用程序设计 (4)
3.1系统图 (4)
3.1.1系统的数据流
图 (4)
3.1.2系统的流程
图 (5)
3.1.3系统模块的具体划
分 (6)
3.2跳转界面设
计 (7)
3.2“选择登陆用户模块”详细设计………………………………………
8
3.4管理员登录………………………………………………………………
10
3.4.1“登录模块”详细设计………………………………………………
10
3.4.2主窗体模块设计………………………………………………………
13
3.4.3员工注册界面及功能…………………………………………………
15
3.4.4删除员工信息界面及功能……………………………………………
18
3.4.5修改及查询员工工资界面及功能……………………………………
20
3.4.6工资设定界面及功能…………………………………………………
23
3.4.7职位管理界面及功能…………………………………………………
25
3.4.8其他功能………………………………………………………………
28
3.5员工登陆模块……………………………………………………………
29
第四章:运行与测试 (31)
4.1系统运行………………………………………………………………
31
4.2系统测试………………………………………………………………
31
第五章:实验心得 (32)
第一章绪论
1.1数据库管理系统
数据库管理系统(DBMS)是指数据库系统中管理数据的软件系统。
DBMS是数据库系统的核心组成部分。
对数据库的一切操作,包括定义、更新及各种控制,都是通过DBMS进行的。
DBMS总是基于某种数据模型,可以把DBMS看成是某种数据模型在计算机系统上的具体实现。
根据数据模型的不同,DBMS可以分成层次型、网状型、关系型、面向对象型等。
MSsqlserve2000就是一种关系型数据库管理系统。
关系模型主要是用二维表格结构表达实体集,用外键表示实体间联系。
关系模型是由若干个关系模式组成的集合。
关系模式相当于前面提到的记录类型,每个关系实际上是一张二维表格。
关系模型和层次、网状模型的最大判别是用关键码而不是用指针导航数据,表格简单用户易懂,编程时并不涉及存储结构,访问技术等细节。
SQL语言是关系型数据库的标准化语言,已得到了广泛的应用。
1.2企业工资管理系统
企业工资管理是一项琐碎、复杂而又十分细致的工作,一般不允许发生差错。
最初的工资统计和发放都是使用人工方式处理,工作量大的时候,出现错误的机率也随之升高,不仅花费财务人员大量的时间,而且往往由于抄写不慎,或者由于计算的疏忽,出现工资发放错误的现象。
同时工资的发放具有较强的时间限制,必须严格按照单位规定的时间完成计算和发放工作。
正是企业工资管理的这种重复性、规律性、时间性,使得企业工资管理计算机化成为可能。
企
业工资管理系统就是使用电脑代替大量的人工统计和计算,完成众多企业工资信息的处理,同时使用电脑还可以安全地、完整地保存大量的企业工资记录。
1.3开发工具
后台数据库采用SQL SERVER数据库服务器,前台开发语言可自选。
可设计成为C/S模式或B/S模式均可。
要求根据题目自行设计系统所使用的数据库及数据表,通过系统界面实现对数据库的各种查询、增、删、改等功能操作。
结合实际,经过实际的需求分析,采用功能强大的visual stdio 20010作为前台设计工具,c#作为软件编程语言, sql server 2008作为后台数据库开发工具。
本文先进行需求分析,详细论述了课题来源和本系统的开发目的,经过实现和测试各个环节,最后对本系统做出客观理性的评价,指明了它的现实作用、缺点以及系统的升级方向。
第二章员工工资管理系统设计分析
2.1应用需求与分析
企业工资管理系统的开发宗旨以及总体任务就是帮助企业提高工作效率,节省大量的人力和物力资源,实现企业工资信息管理的自动化、规范化和系统化。
系统最终实现的主要功能如下:
(1)员工及管理员的登录与注册;
(2)员工查询浏览工资的发布情况;
(3)管理员对工资信息进行维护管理操作;
(4)管理员对员工信息进行相关的管理操作;
2.2系统模块划分
开发这个系统的目的就是帮助企业的财务主管部门提高工作效率,实现企业工资信息管理的系统化、规范化和自动化。
能够和认识管理系统、考勤管理
系统相结合,真正实现企业高效、科学、现代化的员工管理。
系统最终实现的主要功能如下。
·企业工资信息设置部分:包括设置员工的基本工资和其他项目的金额,如奖金等。
·企业工资信息管理部分:包括查询工资和查询现有职务及现有基本工资标准。
·系统部分:包括添加用户。
2.3系统数据库设计
数据库是信息管理系统的后台,存储着所有的信息,在信息管理系统中有着很重要的地位。
数据库设计的好与坏,直接影响到这个系统的运行效率。
良好的数据库设计,可以提高数据信息的存储效率,确保数据信息的完整性和一致性。
针对企业工资信息管理系统的需求,通过对员工工资计算过程的内容分析,为本系统设计如下的数据项和数据结构:
表5-2为员工信息表。
此表中包含属性为:员工号,员工姓名,员工职位,员工电话,月薪,奖金,处罚金。
表5-2 员工信息表
表5-3为工资标准表。
此表中包含属性为:员工职位,基本工资。
表5-3工资标准表
表5-4 为管理员信息表
此表中包含属性为:管理员账号,密码。
表5-4管理员信息表
E-R图
第三章:企业工资管理系统应用程序设计
3.1系统图
3.1.1系统的数据流图
数据流图(DFD,data flow diagram)是描述数据处理过程的有力工具。
数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。
本系统的数据流图如图3-1:
3.1.2系统的流程图
流程图是最古老的设计表达方式之一,大多数程序人员把画流程图作为编码的先导。
许多人在程序编好后也用流程图来表达程序的梗概,以便于同他人进行交流。
由于它具有能随意表达任何程序逻辑的优点而广泛流传。
本系统流程图如图3-2:
3.1.3系统模块的具体划分
企业工资管理系统主要分为以下几个模块:管理员模块主要有管理员登陆,员工信息注册、删除、修改及查询,工资标准浏览,员工工资的查询等;用户主要模块有查询工资标准,查询现有职位等等。
系统功能模块图如下:
图
4.2企业工资管理系统模块图
3.2跳转界面设计
当用户点击本企业工资管理系统时,首先跳出此界面,作为一个缓冲,吸引用户的眼球,设定了三秒钟的跳转时间,然后直接弹出登陆界面。
跳转界面及代码如下所示:
图
3-1 跳转界面
系统函数:using System.Data.SqlClient;
namespace企业工资管理系统
{
public partial class loading : Form
{
public loading()
{
InitializeComponent();
}
private void timer1_Tick_1(object sender, EventArgs e)
{
if (this.Opacity > 0.8)
{
this.Opacity = this.Opacity - 0.005;
}
else if(this.Opacity > 0.01) { this.Opacity = this.Opacity - 0.04; } else
{
this.timer1.Enabled = false;
this.Hide();
Form10 login = new Form10();
login.Show();
}
}
}
3.3“选择登陆用户模块”详细设计
选择登陆用户模块的详细设计主要是供用户选择登陆的一个界面,用户选择登录的是管理员还是普通用户,然后选择是进入登陆模块还是主界面,从而进行相关的操作。
窗体及核心代码:
核心代码:
private void button1_Click(object sender, EventArgs e)
{
this.Hide();
Form16 f = new Form16();
f.Show();
}
private void button2_Click(object sender, EventArgs e)
{
this.Hide();
Form11 f = new Form11();
f.Show();
}
private void button3_Click(object sender, EventArgs e)
{
Application.Exit ();
}
3.4管理员登陆模块
3.4.1“登录模块”详细设计
登录模块的详细设计主要是用户登录的一个界面,判断是否密码和用户名错误,进入后将面对的是主界面,从而进行相关的操作。
登录的界面主要由用户名和密码的信息,还有一些标题设置,确定和取消的按钮组成。
通过标题可以知道此系统的大概内容,由此,登录界面的设计完成。
窗体及核心代码:
图3-4-1登录界面
图3-4-2登录出错的提示1
图3-4-3登录出错的提示2
核心代码:
private void button1_Click(object sender, EventArgs e)
{
string sqlconstr = "Data Source=.;Initial Catalog=企业工资管理系统;Integrated Security=True";
SqlConnection sqlc = new SqlConnection(sqlconstr);
if(textBox1.Text.Trim().Equals("")||textBox2.Text.Trim().Equals("")) {
textBox1.Text = "";
textBox2.Text = "";
textBox1.Focus();
MessageBox.Show("用户名或密码不能为空");
return;
}
string sqlcomstring = "select * from 管理员信息表 where username='" + this.textBox1.Text + "'and password='" +
this.textBox2.Text + "'";
try
{
sqlc.Open();
SqlCommand sqlcom = new SqlCommand(sqlcomstring, sqlc);
SqlDataReader sqlread = sqlcom.ExecuteReader();
if (sqlread.Read())
{
sqlread.Close();
sqlc.Close();
this.Hide();
Form3 gljm = new Form3();
gljm.Show();
}
else
{
textBox1.Text = "";
textBox2.Text = "";
textBox1.Focus();
MessageBox.Show(" 该用户不存在!");
sqlread.Close();
}
}
catch (SqlException ex)
{
MessageBox.Show(ex.Message, " 密码或用户名错误!"); }
finally
{
sqlc.Close();
}
}
private void button2_Click(object sender, EventArgs e)
{
Application.Exit();
}
3.4.2主窗体模块设计
如果用户输入的用户和密码都正确,则进入如下主窗体界面:
图3-5-1管理员主窗体界面
管理员主窗体界面核心代码:
private void退出ToolStripMenuItem1_Click(object sender, EventArgs e) {
Application.Exit();
}
private void关于ToolStripMenuItem_Click(object sender, EventArgs e)
{
Form4 f = new Form4();
f.Show();
}
private void员工注册ToolStripMenuItem_Click(object sender, EventArgs e)
{
Form5 f = new Form5();
f.Show();
}
private void删¦除员工信息ToolStripMenuItem_Click(object sender, EventArgs e)
{
Form6 f = new Form6();
f.Show();
}
private void修改员工工资ToolStripMenuItem_Click(object sender, EventArgs e)
{
Form8 f = new Form8();
f.Show();
}
private void现有工资ToolStripMenuItem_Click(object sender,
EventArgs e)
{
Form7 f = new Form7();
f.Show();
}
private void职位管理ToolStripMenuItem_Click(object sender, EventArgs e)
{
Form9 f = new Form9();
f.Show();
}
private void返回登录ToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Hide();
Form10 l = new Form10();
l.Show();
}
private void帮助ToolStripMenuItem_Click(object sender, EventArgs e)
{
Form15 f = new Form15();
f.Show();
}
3.4.3员工注册界面及功能
图3-6员工注册界面
核心代码:
private void button1_Click_1(object sender, EventArgs e)
{
SqlConnection sqlconn = new SqlConnection("Data Source=.;Initial Catalog=企业工资管理系统;Integrated Security=True");
try
{
if (textBox1.Text.Trim().Equals("") ||
textBox2.Text.Trim().Equals(""))
{
MessageBox.Show("工号和姓名不能为空!");
return;
}
else
{
sqlconn.Open();
SqlDataAdapter sda = new SqlDataAdapter("select * from 员工信息表 where ygno='" + textBox1.Text.Trim() + "'", sqlconn);
DataTable dt = new DataTable();
sda.Fill(dt);
if (dt.Rows.Count != 0)
{
MessageBox.Show("用户名已经存在!");
return;
}
SqlDataAdapter sda1 = new SqlDataAdapter("select * from 员工信息表", sqlconn);
DataTable dt1 = new DataTable();
sda1.Fill(dt1);
DataRow dr = dt1.NewRow();
dr["ygno"] = textBox1.Text.Trim();
dr["ygname"] = textBox2.Text.Trim();
dr["ygduty"] = textBox3.Text.Trim();
dr["ygtel"] = textBox4.Text.Trim();
dt1.Rows.Add(dr);
SqlCommandBuilder scb = new
SqlCommandBuilder(sda1);
sda1.InsertCommand = scb.GetInsertCommand();
sda1.Update(dt1);
MessageBox.Show("注册成功!");
}
}
catch (SqlException ex)
{
MessageBox.Show(ex.Message, "错误!");
}
finally
{
sqlconn.Close();
}
}
private void button2_Click_1(object sender, EventArgs e)
{
textBox1.Text="";
textBox2.Text="";
textBox3.Text="";
textBox4.Text="";
textBox1 .Focus ();
}
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
private void button4_Click(object sender, EventArgs e)
{
SqlConnection sqlconn = new SqlConnection("Data
Source=.;Initial Catalog=企业工资管理系统;Integrated Security=True");
SqlDataAdapter sda = new SqlDataAdapter("select * from 员工信息表", sqlconn);
DataTable dt = new DataTable();
sda.Fill(dt);
dataGridView1.DataSource = dt;
}
3.4.4删除员工信息界面及功能
图3-7删除员工信息界面
核心代码:
private void button1_Click_1(object sender, EventArgs e)
{
SqlConnection sqlconn = new SqlConnection("Data
Source=.;Initial Catalog=企业工资管理系统;Integrated Security=True");
if (textBox1.Text.Trim().Equals(""))
{
MessageBox.Show("员工号不能为空!");
return;
}
SqlDataAdapter sda = new SqlDataAdapter("select * from 员工信息表 where ygno='" + textBox1.Text.Trim() + "'", sqlconn);
DataTable dt = new DataTable();
sda.Fill(dt);
if (dt.Rows.Count == 0)
{
MessageBox.Show("员工不存在!");
return;
}
MessageBoxButtons mbox = MessageBoxButtons.OKCancel;
DialogResult result;
result = MessageBox.Show("确定删除? ", "删除记录", mbox, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
if (result == DialogResult.OK)
{dt.Rows[0].Delete();
SqlCommandBuilder scb = new SqlCommandBuilder(sda); sda.DeleteCommand = scb.GetDeleteCommand();
sda.Update(dt);
MessageBox.Show("删除成功"); }
else
{return;}
}
private void button2_Click_1(object sender, EventArgs e)
{textBox1.Text = ""; textBox1.Focus(); }
private void button3_Click(object sender, EventArgs e)
{ this.Close();
}
private void button4_Click(object sender, EventArgs e)
{
SqlConnection sqlconn = new SqlConnection("Data
Source=.;Initial Catalog=企业工资管理系统;Integrated Security=True");
SqlDataAdapter sda = new SqlDataAdapter("select * from 员工信息表", sqlconn);
DataTable dt = new DataTable();
sda.Fill(dt);
dataGridView1.DataSource = dt;
}
3.4.5修改及查询员工工资界面及功能
图3-8修改及查询员工工资界面
核心代码:
private Boolean ishaved()
{
SqlConnection sqlconn = new SqlConnection("Data
Source=.;Initial Catalog=企业工资管理系统;Integrated Security=True");
SqlDataAdapter sda = new SqlDataAdapter("select * from 员工信息表 where ygno='" + textBox1.Text.Trim() + "'", sqlconn);
DataTable dt = new DataTable();
sda.Fill(dt);
if (dt.Rows.Count == 0)
{
MessageBox.Show("员工不存在!");
return false;
}
else
{button1.Enabled = true;
return true;
}
}
private void button1_Click_1(object sender, EventArgs e)
{
SqlConnection sqlconn = new SqlConnection("Data
Source=.;Initial Catalog=企业工资管理系统;Integrated Security=True");
if (!ishaved())
{return;
}
SqlDataAdapter sda = new SqlDataAdapter("select * from 员工信息表 where ygno='" + textBox1.Text.Trim() + "'", sqlconn);
DataTable dt = new DataTable();
sda.Fill(dt);
dt.Rows[0]["ygname"] = textBox2.Text.Trim();
dt.Rows[0]["ygduty"] = textBox3.Text.Trim();
dt.Rows[0]["ygtel"] = textBox4.Text.Trim();
dt.Rows[0]["yuexin"] = textBox5.Text.Trim();
dt.Rows[0]["jiangjin"] = textBox6.Text.Trim();
dt.Rows[0]["chufa"] = textBox7.Text.Trim();
SqlCommandBuilder scb = new SqlCommandBuilder(sda);
sda.UpdateCommand = scb.GetUpdateCommand();
sda.Update(dt);
MessageBox.Show("修改成功!");
}
private void button3_Click_1(object sender, EventArgs e)
{
this.Close();
}
private void button4_Click_1(object sender, EventArgs e)
{
SqlConnection sqlconn = new SqlConnection("Data
Source=.;Initial Catalog=企业工资管理系统;Integrated Security=True");
SqlDataAdapter sda = new SqlDataAdapter("select * from 员工信息表 where ygno='" + textBox1.Text.Trim() + "'", sqlconn);
DataTable dt = new DataTable();
sda.Fill(dt);
if (dt.Rows.Count == 0)
{
MessageBox.Show("员工不存在!");
return;
}
else
{ button1.Enabled = true;
textBox2.Text = dt.Rows[0]["ygname"].ToString();
textBox3.Text = dt.Rows[0]["ygduty"].ToString();
textBox4.Text = dt.Rows[0]["ygtel"].ToString();
textBox5.Text = dt.Rows[0]["yuexin"].ToString();
textBox6.Text = dt.Rows[0]["jiangjin"].ToString();
textBox7.Text = dt.Rows[0]["chufa"].ToString();
}
}
private void button2_Click(object sender, EventArgs e)
{ textBox1.Text = "";
textBox1.Focus();
}
private void button5_Click(object sender, EventArgs e)
{
SqlConnection sqlconn = new SqlConnection("Data
Source=.;Initial Catalog=企业工资管理系统;Integrated Security=True");
SqlDataAdapter sda = new SqlDataAdapter("select * from 员工信息表", sqlconn);
DataTable dt = new DataTable();
sda.Fill(dt);
dataGridView1.DataSource = dt;
}
3.4.6工资设定界面及功能
图3-9工资设定界面
核心代码:
private void button2_Click_1(object sender, EventArgs e) {
if (comboBox1.Text.Trim().Equals(""))
{
MessageBox.Show("请选择一个职位!");
return;
}
if (textBox1.Text.Trim().Equals(""))
{
MessageBox.Show("请填入数值!");
return;
}
SqlConnection sqlconn = new SqlConnection("Data
Source=.;Initial Catalog=企业工资管理系统;Integrated Security=True");
SqlDataAdapter sda = new SqlDataAdapter("select * from 工资标准表 where ygduty='" + comboBox1.Text.Trim() + "'", sqlconn);
DataTable dt = new DataTable();
sda.Fill(dt);
dt.Rows[0]["jbgz"] = textBox1.Text.Trim();
SqlCommandBuilder scb = new SqlCommandBuilder(sda);
sda.UpdateCommand = scb.GetUpdateCommand();
sda.Update(dt);
MessageBox.Show("修改成功!");
SqlConnection sqlconn1 = new SqlConnection("Data
Source=.;Initial Catalog=企业工资管理系统;Integrated Security=True");
SqlDataAdapter sda1 = new SqlDataAdapter("select * from 工资标准表, sqlconn1);
DataTable dt1 = new DataTable();
sda1.Fill(dt1);
dataGridView1.DataSource = dt1;
}
private void button3_Click_1(object sender, EventArgs e)
{
this.Close();
}
private void button1_Click_1(object sender, EventArgs e)
{
SqlConnection sqlconn = new SqlConnection("Data
Source=.;Initial Catalog=企业工资管理系统;Integrated Security=True");
SqlDataAdapter sda = new SqlDataAdapter("select * from 工资标准表, sqlconn);
DataTable dt = new DataTable();
sda.Fill(dt);
dataGridView1.DataSource = dt;
}
private void button4_Click(object sender, EventArgs e) {
textBox1.Text = "";
textBox1.Focus();
}
3.4.7职位管理界面及功能
图3-10职位管理界面
核心代码:
private void button2_Click_1(object sender, EventArgs e)
{
if (textBox1.Text.Trim().Equals(""))
{
MessageBox.Show("请输入一个新职位!");
return;
}
SqlConnection sqlconn = new SqlConnection("Data
Source=.;Initial Catalog=企业工资管理系统;Integrated Security=True");
SqlDataAdapter sda = new SqlDataAdapter("select ygduty 职位 from 工资标准表 where ygduty='" + textBox1.Text.Trim() + "'", sqlconn);
DataTable dt = new DataTable();
sda.Fill(dt);
if (dt.Rows.Count != 0)
{
MessageBox.Show("职位已经存在!");
return;
}
SqlDataAdapter sda1 = new SqlDataAdapter("select ygduty from 工资标准表 where ygduty='"+ textBox1.Text.Trim() + "'", sqlconn);
DataTable dt1 = new DataTable();
sda1.Fill(dt1);
DataRow dr = dt1.NewRow();
dr["ygduty"] = textBox1.Text.Trim();
dt1.Rows.Add(dr);
SqlCommandBuilder scb = new SqlCommandBuilder(sda1);
sda1.InsertCommand = scb.GetInsertCommand();
sda1.Update(dt1);
SqlConnection sqlconn2 = new SqlConnection("Data
Source=.;Initial Catalog=企业工资管理系统;Integrated Security=True");
SqlDataAdapter sda2 = new SqlDataAdapter("select ygduty 职¡ã位? from 工资标准表, sqlconn2);
DataTable dt2 = new DataTable();
sda2.Fill(dt2);
dataGridView1.DataSource = dt2;
}
private void button3_Click_1(object sender, EventArgs e)
{
if (textBox2.Text.Trim().Equals(""))
{
MessageBox.Show("职位不能为空!");
return;
}
SqlConnection sqlconn = new SqlConnection("Data
Source=.;Initial Catalog=企业工资管理系统;Integrated Security=True");
SqlDataAdapter sda = new SqlDataAdapter("select ygduty 职位 from 工资标准表 where ygduty='" + textBox2.Text.Trim() + "'", sqlconn);
DataTable dt = new DataTable();
sda.Fill(dt);
dt.Rows[0].Delete();
SqlCommandBuilder scb = new SqlCommandBuilder(sda);
sda.DeleteCommand = scb.GetDeleteCommand();
sda.Update(dt);
MessageBox.Show("删除成功");
SqlDataAdapter sda2 = new SqlDataAdapter("select ygduty 职位 from 工资标准表, sqlconn);
DataTable dt2 = new DataTable();
sda2.Fill(dt2);
dataGridView1.DataSource = dt2;
textBox2.Enabled = true;
textBox2.Text = "";
textBox2.Enabled = false;
}
private void button4_Click(object sender, EventArgs e)
{
this.Close();
}
private void button1_Click_1(object sender, EventArgs e)
{
SqlConnection sqlconn = new SqlConnection("Data
Source=.;Initial Catalog=企业工资管理系统;Integrated Security=True");
SqlDataAdapter sda = new SqlDataAdapter("select ygduty 职位 from 工资标准表, sqlconn);
DataTable dt = new DataTable();
sda.Fill(dt);
dataGridView1.DataSource = dt;
}
private void button5_Click(object sender, EventArgs e)
{ textBox1.Text = "";
textBox1.Focus();
}
private void button6_Click(object sender, EventArgs e)
{ textBox2.Text = "";
textBox2.Focus();
}
3.4.8其他功能
信息维护分为关于和帮助两个界面:
图3-10-1关于界面图3-10-2帮助界面
3.5员工的功能模块
如果是员工,则直接进入主窗体界面
图3-5-2普通用户主窗体界面
员工主窗体界面核心代码:
private void退出ToolStripMenuItem_Click(object sender, EventArgs e) {
Application.Exit();
}
private void关于ToolStripMenuItem_Click(object sender, EventArgs e)
{
Form4 f = new Form4();
f.Show();
}
private void现有职务ToolStripMenuItem_Click(object sender, EventArgs e)
{
Form14 f = new Form14();
f.Show();
}
private void查询员工信息ToolStripMenuItem_Click(object sender, EventArgs e)
{
Form12 f = new Form12();
f.Show();
}
private void查询工资标准ToolStripMenuItem_Click(object sender, EventArgs e)
{
Form13 f = new Form13();
f.Show();
}
private void帮助ToolStripMenuItem1_Click(object sender, EventArgs e)
{
Form15 f = new Form15();
f.Show();
}
private void返回登陆ToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Hide();
Form10 l =new Form10 ();
l.Show();
}
员工的其他功能模块与管理员的大致相同,界面和代码以此类推。
第四章:运行与测试
经过一个星期的设计,本系统基本实现中小型企业工资管理的需要。
4.1.系统运行
首先将“企业工资管理系统”文件夹复制到你的硬盘上。
程序启动方式:首先使用SQL SEVER 2008附加学生档案管理系统下的数据库,然后使用Visual Studio 2010打开网站文件夹,然后在资源管理器中右击主页面-在浏览器中查看即可。
系统调试:要查看或修改程序设计可在Visual Studio 2010环境下打开所要修改的文件就可以了。
4.2系统测试
设计测试方案时,不仅要包括确定的输入数据,而且因包括从系统功能出发预期的测试结果:
测试用例不仅要包括合理、有效的输入数据,还要包括无效的或不合理的输入数据;不仅要检验程序是否做了应该完成的事,还要检查是否同时做了不应该完成的事;软件中仍存在错误的概率和已经发现错误的个数是成正比的;而且需要保留测试用例,作为软件文档的组成部分
设计完成后进行系统的测试,测试时进行代码审查,从数据类型,变量声明,数据结构进行审查,然后进行动能测试,从输入一些简单的数据开始执行一遍,观测运行期间变量的变化,运行中值的变化范围。
改变测试方案来变换另一个角度进行测试,发现错误并记录,修改代码,测试条件使程序通过多层
分支,判断运行结果从而完成测试。
在整体测试时,发现由登录界面打开个功能模块后,应该释放或隐藏登录界面,要不然同一功能模块可以同时打开多个。
由功能模块返回主界面时,同样也要释放该功能模块。
第五章:实验心得
在开发这个企业工资管理系统的这段时间以来,回想刚开始听到要数据库课程设计时我可以说是头脑一片空白,起初我用C#做了一些自己系统需要的模块但是C#自己也忘记怎么弄,就是连怎么把SQL和C#联系起来都觉得很不可思议,可以说当时心里是相当地纠结,花费了很长的时间却一点效果都没有,心里很失落,也很烦躁。
我深刻地体会到了光是平时专业课的学习是不够的,必须要培养好课下的自学能力。
再课程设计的过程中间碰到了很多的问题,有的是粗心大意,还有就是代码总是出错,设计的版面也不够完美,那时才明白原来我平时所学习到的知识真的只是九牛一毛,而只运用这一点点知识就想设计一个系统是远远不够的。
但是在实验室做课程设计的时候经过同学的指点迷津,我突然间恍然大悟。
脑海中有了大概的模型,心情也跟着好了,而且兴趣十足,用一天的时间把大概模型做出来心里别提多开心,真正的验证了“无事一身轻”这句话了。
在接下来的几天中我就对模块进行一些功能增加、界面美化。
在生产实习的过程中,我明白了专业知识是多么重要,如果没有这些专业知识来提升你的水平,那么你在计算机领域将一事无成。
本次课程设计中还存在着许多的不足和缺憾,我们会的专业知识有限,希望在以后的课程设计中能有新的突破。