进销存管理系统课程设计_第1页
进销存管理系统课程设计_第2页
进销存管理系统课程设计_第3页
免费预览已结束,剩余34页可下载查看

下载本文档

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

文档简介

1、数据库课程设计课题名称:进销存管理系统2010年12月27日目录1. 系统概述 22. 系统分析 32.1 需求分析 32.2 数据字典 52.3 程序运行流程图 73. 系统设计 93.1 模块结构设计 93.2 数据库概念设计 103.3 数据库逻辑设计 103.4 输出设计和输入设计 134. 结语 325 参考文献 321. 系统概述现代科技技术突飞猛进, 在不同的领域要求各异, 以前对库存盘点的统计都 是手写登记, 纸制查看,这样很容易发生错误, 导致企事业失去他们所需要的信 息,而且会产生错误信息误导决策, 现在为了方便决策者了解到更加确切的信息 和资料,所以开发这样的系统方便决策

2、者查询信息及网上浏览, 使各方面的信息 都能够正确及时。系统的功能是将该企业的所有库存盘点信息进行电子统计 , 根据不同的需求 建立各种的报表 , 便于企事业在网上查询库存的各方面的信息情况 , 方便决策者 了解市场 , 也能够方便管理者对库存盘点的信息进行不同的统计。库存盘点管理管理子系统主要实现的是库存盘点信息的录入, 修改,查询以 及盘点信息的打印等功能, 为此,若要实现各方面的需求, 系统的数据必须具有 高度的完整性和准确性, 这就要求系统的高度安全性, 可维护性, 可靠性及灵活 性。比如库存管理系统的管理, 管理员在录入商品的库存情况的时候或是数据库 出现异常而产生差错, 可能会影响

3、决策者从网上查询这些商品的库存情况, 这就 要求系统具有高度的安全性, 可维护性和可靠性; 灵活性指的是系统要具有强大 的功能以适应不同层次的客户不同的需求。 另外,系统的操作界面要求简便, 通 俗,以便于操作。用户对系统的信用,如果因为一次的错误就会导致一连串的信息错误,所以 保证信息的可靠性十分必须的, 这样才能使系统得到用户的信赖和支持。 这样的 系统需要保证可靠性 , 避免给决策者提供虚假的信息 ,更确保各部门通过浏览该 系统, 进行相应的需求操作。因此,随着技术发展,企业采用库存盘点信息化已成为趋势及必然。2. 系统分析2.1 需求分析2.1.1 需求分析 本系统通过简单的数据库的操

4、作, 实现企事业单位的库存信息的管理。 库存 盘点管理管理子系统是一个小型的信息管理系统, 数据库采用 SQLServer 2005。 使用户和项目人员明确系统的功能、应用范围。本系统具有以下功能: 1:实现库存盘点管理的信息化管理。2 :实现库存盘点管理的基础要求,如信息添加,查看及删除。操作方便 简单,且数据稳定性强。3 :方便的库存信息查询功能,支持多条件查询。4 :数据计算自动完成,尽量减少人工干预。 5:强大的报表打印功能。可行性分析经济上可行性分析现在,计算机的价格已经十分低廉,性能却有了长足的进步。而本系统的开 发,为企业的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:

5、第一,本系统的运行可以代替人工进行许多繁杂的劳动; 第二,本系统的运行可以节省许多资源; 第三,本系统的运行可以大大的提高企业的工作效率; 第四,本系统可以使敏感文档更加安全,等等。 本产品的开发所需的设备在现有条件下,只需要少量的投入资金就可以实 现。因此在经济上是可行的 。技术上可行性分析软件可行性C#具有丰富的数据库功能,可以直接建立和编辑数据库,使用结构化查 询语言直接访问 SQLSever 上的数据库,并提供简单的面向对象的库操作命 令、多用户数据库的加锁机制和网络数据库的编程技术。SQL Sever2000是由微软公司推出的,能提供超大型系统所需的数据库 服务,并对数据库提供全面的

6、保护,具有防止问题发生的安全措施,他是一 个采用SQL语言的关系型数据库管理系统。作为客户机/服务器的后端数据 库,他是所有数据的汇总和管理中心。项目规划企业进销存管理系统是一个典型的数据库开发应用程序,由基础信息模块、 采购管理模块、库存管理模块、商品销售模块、查询统计模块、往来管理模块、 系统设置模块等部分组成,规划系统功能模块如下:基础信息模块该模块主要管理商品信息录入、客户信息录入、供应商信息录入、商品信息 查询、客户信息查询、供应商信息查询。采购管理模块该模块的主要管理商品采购信息录入和商品采购信息查询。库存管理模块该块主要管理商品入库信息、 商品入库退货、商品库存查询和库存商品价格

7、 调整。商品销售模块 该模块主要管理商品销售信息录入和商品销售退货信息录入。查询统计模块该模块主要管理销售信息查询、销售退货查询、商品入库查询、入库退货查 询、商品销售排行和年销售额分析。往来管理模块该模块主要管理商品销售结账、入库退货结账、销售结账查询、商品入库结 账、销售退货结账和入库结账查询。系统设置模块该模块主要管理添加操作员、更改操作员密码、删除操作员。2.1.2开发及运行环境1. 硬件环境:CPU CH 1.7G以上,内存在256M以上。2.软件环境:Windows XP操作系统,Microsoft SQL Servers数据库系统。软件编程使用 Microsoft Visual

8、studio 20052.1.3程序流程本库存盘点管理管理子系统使用如下的流程进行登陆以及其他的操作:开始界面是始于登陆界面“登录(登录.frm ) ”,当用户键入用户名和密码 的时候,系统自动到所对应的数据库“用户信息表”中进行用户验证。如果输入 正确则进入系统主界面,就可以进入到主操作菜单窗体“系统(系统.frm) ”中进 行操作。在主操作菜单窗体“系统(系统.frm) ”中,用户可以对数据库中的商品 信息、供应商信息及客户信息等基本信息进行包括:添加,查询,修改等操作, 并能够进行入库管理,出库管理及库存盘点。此外,可在“清单报表管理窗口” 中进行相应的报表打印。2.2数据字典2.2.1

9、.数据元素条目数据元素条目总编号.1-100编号:100名称:库存单编号编码说明:别名:kcdb*说明:库存单编码商品编号数据值类型:离散库存编号类型:数字库存序号长度:10有关数据:库存卡2.2.2数据结构条目数据结构条目名商品入库卡总编号:2-032.2.3.数据流条目数据流条 目名称:库存信息表总编号.3-02简要说明:库存信息的汇 总编号:005数据流来源:账面库存数据流去向:P2.1,P2,2包含的数据结构:流通量:1000份每年销售的商品商品库存记录称:说商品入库时明:填写的卡片结构:入库序号 入库编号 商品编号 商品名称 规格计量单位数量 单价 总金额 入库日期 经手人备注信息编

10、号:006有关的数据流,数据存储新商品入库表商品库存表数量:每年约2000份2.2.4数据存储条目数据存储条目名称:库存盘点明细表总编号.4-05说明:库存信息汇总编号:A1结构:有关的数据流盘点编号P2.1-A1A1-P2.1.2商品名称A1-P2.1.5账面库存信息量:150份每年实盘库存有无复查:有差异数225处理过程条目处理过程条目名称打印库存盘点清单总编号:5-009说明公布库存盘点信息,并说明库存情况编 号:P2.1.5输入 A1-P2.1.5输出 P2.1.5-盘点明细表处理:查A1 (库存明显表),打印库存信息表及盘点信息表,表现好的可以保持,:表现不令人满意的可加以调整,并注

11、明表现不好的地方,要求改进。2.2.6外部实体条目总编号:06-001编号:001个数:约2000个外部实体条目 名称: 员工说明:输出数据流:输入数据流:P2.1,5 一员工(工资表)2.3程序运行流程图登陆窗体:(系统(系 统.frm)判断是否登陆用户登陆数据库数据:用户信息表验证登录登陆成功,进入操作主界面!基本信息管理窗体库存管理窗口验证 失败,返回重新登陆商供客退品应户出信商信窗息信息口管息管理管理窗理窗入出盘库库占八、管管库理理存窗窗管口口理窗口进货管理窗口厂3商 品 添 加 窗 口商 品 删 除 窗 口商 品 查 询 窗 口数 据 备 份 与 修 改 窗销售管理销 售 清 单 报

12、 表 预 览库 存 清 单 报 表 打 印3. 系统设计3.1模块结构设计该系统的总体结构设计如下图所示:销售信息管理,库存信息管理,数据人员信息档案管理系统包括基本信息管理, 报表管理和系统管理等部分。进销存管理系统基本信息管理(销售管理库存管理数据报表)系统管理商品信息管理客户信息管理基本信息管理.库存信息、查询*入库管理出库管理盘点管理入库单录入库单查入修改询出库单录入修改出库单查询hl盘点清单盘点清单录入修改查询图二系统图其中,基本信息管理中可以对商品,供应商,客户基本信息进行添加,修改,查询和删除 等操作,如图:供应商信息管理图三信息管理库存管理中可以实现库存信息,入库单信息,出库单

13、信息,盘点清单信息的录入,修改, 查询等操作,如图:库存管理图四库存管理数据报表管理可以实现盘点清单的预览及打印等操作,如图:图五清单图系统管理中主要是用户查询,添加用户,修改密码,数据备份及恢复等的操作,3.2数据库概念设计盘点清单更新图七概念设计图3.3数据库逻辑设计表七商品信息表字段名数据类型长度是否允许空说明商品编号varchar10否主键,惟一标识商品记录商品名称varchar50是单价varchar50是计量单位varchar10是产地varchar50是供应商名称varchar50是备注信息text16是表八供应商信息表字段名数据类型长度是否允许空说明供应商编号varchar10

14、否主键,惟一标识供应商记录供应商名称varchar50是供应商单位全称地址varchar50是邮政编码varchar10是联系电话varcgar20是企业网址varchar50是联系人varchar50是联系人电话varcgar20是开户银行varchar50是银行账号varchar13是备注信息text16是表九客户信息表字段名数据类型长度是否允许空说明客户编号varchar10否主键,惟一标识客户记录客户名称varchar50是客户单位全称地址varchar50是邮政编码varchar6是联系电话varchar20是企业网址varcgar30是联系人varchar50是联系人电话varcg

15、ar20是开户银行varchar50是银行账号varchar20是备注信息text16是表十商品进货信息表字段名数据类型长度是否允许空说明入库序号decimal9否主键,惟一标识商品入库记录商品编号varchar10否外键,对应商品信息表中商品编号商品名称varchar50是供应商编号varchar10否外键,对应供应商信息表中供应商编号供应商名称varchar50是规格varchar30是计量单位varchar10是数量varchar10是单价varchar50是总金额varchar50是日期datetime8是经手人varchar20是备注信息text16是修改人varchar20是修改日

16、期datetime8是表一商品库存信息表字段名数据类型长度是否允许空说明库存序号decimal9否主键,惟一标识商品库存记录库存编号varchar30是库存名称varchar50是商品编号varchar10否外键,对应商品信息表中商品编号规格varchar30是计量单位varchar10是数量varchar10是单价varchar50是总金额varchar50是日期datetime8是备注信息text16是表十二商品销售信息表字段名数据类型长度是否允许空说明出库序号decimal9否主键,惟一标识商品入库记录出库编号varchar10是商品编号varchar10否外键,对应商品信息表中商品编号

17、商品名称varchar50是规格varchar30是计量单位varchar10是数量varchar10是单价varchar50是总金额varchar50是出库日期datetime8是提货单位varchar50是提货人varchar50是经手人varchar20是备注信息text16是修改人varchar20是修改日期datetime8是表十三库存明细表字段名数据类型长度是否允许空说明盘点编号varchar10否:主键,惟一标识商品盘点记录商品编号varchar10否外键,对应商品信息表中商品编号商品名称varchar50是规格varchar30是计量单位varchar10是单价varchar5

18、0是账面库存varchar50是实盘库存varchar50是差异数varchar50是盘点人员varchar50是盘点日期datetime8是备注信息text16是表十四用户信息表字段名数据类型长度是否允许空说明用户名varchar10否主键用户密码varchar10否用户名称varchar50是备注信息text16是3.4输出设计和输入设计3.4.1登录界面:登陆代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;

19、using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace 进销存public partial class 登陆 : Formpublicstaticstringname;publicstaticstringpassword;publicstaticstringentry;public登陆 ()InitializeComponent();private void pictureBox1_Click( object sender, EventArgs e)

20、private void textBox1_TextChanged( object sender, EventArgs e)name = this .textBox1.Text;SqlConnection con = new SqlConnection (); / 创建连接con.ConnectionString = server=(local);database= 进销存管理系统 ;uid=sa;pwd= ; con.Open();SqlCommandcmd = con.CreateCommand();cmd.CommandText = select 用 户 类 型 from 用 户 表 w

21、here 用 户 名 = this .textBox1.Text + ;SqlDataReader sqlread = cmd.ExecuteReader(CommandBehavior.CloseConnection);if (sqlread.Read()label5.Text = sqlread 用户类型 .ToString();entry = this .label5.Text.Trim();con.Close();password = this .textBox2.Text;private void button1_Click( object sender, EventArgs e)i

22、f ( this .textBox1.Text = | this .textBox2.Text = ) MessageBox.Show( 请输入用户名和密码 );else;uid=sa;pwd=SqlConnection con = new SqlConnection (); / 创建连接 con.ConnectionString =server=(local);database= 进销存管理系统con.Open();SqlCommandcmd = con.CreateCommand(); cmd.CommandText = select *from 用户表 ;SqlDataReader dr

23、 = cmd.ExecuteReader();if (dr.Read()string power = dr0.ToString(); 主界面 main = new 主界面 ();main.Tag = this .FindForm();this .Visible = false ;main.ShowDialog();this .Close();elseMessageBox.Show( 用户名或密码错误 ); con.Close();private void button2_Click( object sender, EventArgs e) this .Close();342主界面:主界面代码:

24、using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace进销存public partial class 主界面:Formpublic 主界面()lnitializeComponent();private void 主界面 _Load( object sender, EventArgs

25、e)object sender, EventArgs e)private void 商品类别 ToolStripMenuItem_Click( 商品信息 m = new 商品信息 ();m.Show(); private void 商品添加 ToolStripMenuItem_Click( object sender, EventArgs e) if ( 进销存 . 登陆 .entry = 管理员 )商品添加 tj = new 商品添加 ();tj.Show();else信息 , MessageBoxButtons .OK,MessageBox.Show( 您没有权限添加库存信息! Messa

26、geBoxIcon.Information);private void 商品删除 ToolStripMenuItem_Click( 商品删除 sc = new 商品删除 (); sc.Show();private void 商品查询 ToolStripMenuItem_Click( 商品查询 cx = new 商品查询 (); cx.Show();private void 返回登陆 ToolStripMenuItem_Click( 登陆 dl = new 登陆 ();object sender,object sender,EventArgs e)EventArgs e)dl.Show();pr

27、ivate void 修改密码 ToolStripMenuItem_Click( object sender, EventArgs e) 修改密码 xg = new 修改密码 ();xg.Show(); private void 供应商信息 ToolStripMenuItem_Click( object sender, EventArgs e) 供应商信息 m = new 供应商信息 ();m.Show(); private void 销售信息 ToolStripMenuItem_Click( object sender, EventArgs e) 销售信息 m = new 销售信息 ();m

28、.Show(); private void 关于 ToolStripMenuItem_Click( object sender, EventArgs e) 关于 m = new 关于 ();m.Show(); private void 库存信息 ToolStripMenuItem_Click( object sender, EventArgs e) 库存信息 m = new 库存信息 ();m.Show();private void 退出 ToolStripMenuItem_Click( object sender, EventArgs e) this .Close();private voi

29、d pictureBox1_Click( object sender, EventArgs e) 343商品信息管理:代码:namespace进销存public partial class 商品信息:Formpublic 商品信息()lnitializeComponent();private void 商品信息 _Load(object sender, EventArgs e)/ TODO:这行代码将数据加载到表“进销存管理系统DataSet.商品信息”中。您可以根据需要移动或移除它。this .商品信息TableAdapter.Fill( this .进销存管理系统 DataSet.商品信息

30、);this .Close();private void button1_Click( object sender, EventArgs e)3.44供应商信息管理:代码:namespace进销存public partial class 供应商信息: Formpublic 供应商信息()lnitializeComponent();private void button2_Click( object sender, EventArgs e) this .Close();this .供应商信息TableAdapter.Fill( this .进销存管理系统 DataSet2.供应商信息);priv

31、ate void 确定_Click( object sender, EventArgs e)345商品添加:代码:namespace进销存private void button1_Click(object sender, EventArgs e)public partial class 商品添加1 :Formpublic 商品添加()lnitializeComponent();III!if ( this .textBox1.Text !=string a = this .textBox1.Text;string b = this .textBox2.Text;string c = this .

32、textBox3.Text;string d = this .textBox4.Text;string m = this .textBox5.Text;string er = this .dateTimePicker1.Value.ToShortDateString();SqlConnection con = new SqlConnection (); / 创建连接con.ConnectionString = server=(local);database= 进销存管理系统 ;uid=sa;pwd= ;SqlCommandcmd = con.CreateCommand();cmd.Comman

33、dText = insert into 进货信息 ( 商品编号 , 商品名称 , 单价 , 数量 , 进货编号 , 进货日期 ) + values( + a + , + b + , + c + , + d + , + m + , + er + ) ;con.Open();int dd = cmd.ExecuteNonQuery();if (dd = 1)MessageBox.Show( 添加成功! ); elseMessageBox.Show( 请输入商品编号! ); private void button2_Click( object sender, EventArgs e) this .C

34、lose();private void button3_Click( object sender, EventArgs e) this .Close();3.4.5 商品删除:代码:namespace进销存public partial class 商品删除:Form public商品删除()lnitializeComponent();private void button1_Click( object sender, EventArgs e)DialogResult result = new DialogResult ();result= MessageBoxShow(”确定要删除该库存信息?

35、,警告!,MessageBoxButtons .OKCancel, MessageBoxIcon .Warning);switch (result)case DialogResult .OK:SqlConnection con = new SqlConnection ();con.ConnectionString= server=(local);database= 进 销存 管理系统;uid=sa;pwd=;SqlCommanctmd = con.CreateCommand();cmd.CommandText= delete from 进货信 息 where 商品名称=+this .textB

36、ox1.Text +;cmd.Connection = con;con.Open();int d = cmd.ExecuteNonQuery();if (d = 1)MessageBoxShow(”删除成功”);break;case DialogResult .Cancel: break;private void button2_Click( object sender, EventArgs e)textBox1.Clear();private void button3_Click( object sender, EventArgs e)this .Close();3.4.6商品查询:代码:n

37、amespace进销存public partial class 商品查询: Formpublic 商品查询()InitializeComponent();private void button1_Click( object sender, EventArgs e)string tempValue = comboBox1.ItemscomboBox1.SelectedIndex.ToString();SqlConnection con = new SqlConnection ();con.ConnectionString = server=(local);uid=sa;password=;dat

38、abase=if (tempValue = 商品编号 )string co = select * from 进货信息 where 商品编号 = + thisDataSet ds = new DataSet ();SqlDataAdapter da = new SqlDataAdapter (co, con);da.Fill(ds);dataGridView1.DataSource = ds.Tables0;if (tempValue = 商品名称 )string co = select * from 进货信息 where 商品名称 = + thisDataSet ds = new DataSe

39、t ();SqlDataAdapter da = new SqlDataAdapter (co, con);da.Fill(ds);dataGridView1.DataSource = ds.Tables0;if (tempValue = 进货编号 )string co = select * from 进货信息 where 进货编号 = + thisDataSet ds = new DataSet ();SqlDataAdapter da = new SqlDataAdapter (co, con);da.Fill(ds);dataGridView1.DataSource = ds.Table

40、s0;进销存管理系统 ;.textBox1.Text +.textBox1.Text +.textBox1.Text +private void button2_Click( object sender, EventArgs e) this .Close();/ TODO:这行代码将数据加载到表“进销存管理系统DataSetl.进货信息”中。您可以根据需要移动或移除它。this .进货信息TableAdapter.Fill( this .进销存管理系统DataSetl.进货信息);3.47销售信息管理:代码:namespace进销存public partial class 销售信息: Form

41、public 销售信息()lnitializeComponent();private void button2_Click( object sender, EventArgs e)this .Close();/ TODO:这行代码将数据加载到表“进销存管理系统DataSet3.销售信息”中。您可以根据需要移动或移除它。this .进销存管理系统DataSet3.销售信息);this .销售信息 TableAdapter.Fill(private void button1_Click( object sender, EventArgs e)3.48商品库存管理:代码:namespace进销存pu

42、blic partial class 库存信息: Formpublic 库存信息()lnitializeComponent();/ TODO: 这行代码将数据加载到表“进销存管理系统 DataSet4. 库存信息”中。您可以根据 需要移动或移除它。this . 库存信息 TableAdapter.Fill( this . 进销存管理系统 DataSet4. 库存信息 );private void button1_Click_1( object sender, EventArgs e)string tempValue = comboBox1.ItemscomboBox1.SelectedInde

43、x.ToString(); SqlConnection con = new SqlConnection ();con.ConnectionString = server=(local);uid=sa;password=;database= 进销存管理系统 if (tempValue = 商品编号 )string co = select * from库存信息 where 商品编号 = + this .textBox1.Text +DataSet ds = new DataSet ();SqlDataAdapter da = new SqlDataAdapter (co, con); da.Fil

44、l(ds);dataGridView1.DataSource = ds.Tables0;if (tempValue = 仓库编号 )string co = select * from 库存信息 where 仓库编号 = + this .textBox1.Text +DataSet ds = new DataSet ();SqlDataAdapter da = new SqlDataAdapter (co, con);da.Fill(ds); dataGridView1.DataSource = ds.Tables0;if (tempValue = 进货编号 )string co = selec

45、t * from 库存信息 where 进货编号 = + this .textBox1.Text +DataSet ds = new DataSet ();SqlDataAdapter da = new SqlDataAdapter (co, con);da.Fill(ds); dataGridView1.DataSource = ds.Tables0;if (tempValue = 销售编号 )string co = select * from 库存信息 where 销售编号 = + this .textBox1.Text +DataSet ds = new DataSet ();SqlDa

46、taAdapter da = new SqlDataAdapter (co, con);da.Fill(ds);dataGridViewl.DataSource = ds.TablesO;if (tempValue =仓库名称)string co = select * from 库存信息 where 仓库名称=+ this .textBoxl.Text +nin .DataSet ds = new DataSet ();SqlDataAdapter da = new SqlDataAdapter (co, con);da.Fill(ds);dataGridViewl.DataSource = ds.TablesO;private void button2_Click( object sender, EventArgs e)this .Close();349修改密码:代码:namespace进销存public partial class 修改密码 : Formpublic 修改密码 ()InitializeComponent();private void button1_Click( object sender, EventArgs e)string s = this .textBox2.Text;if (s != 进销存 . 登陆 .password)MessageBo

温馨提示

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

评论

0/150

提交评论