《毕业论文进销存管理系统25812.doc》由会员分享,可在线阅读,更多相关《毕业论文进销存管理系统25812.doc(36页珍藏版)》请在三一办公上搜索。
1、本 科 生 毕 业 设 计 (论 文)题目:进销存管理系统Inventory management system教学单位 _计算机科学与技术学院_姓 名 _ _ _ _学 号 _ _年 级 _ _ _ _专 业 _ _ _指导教师 _ 职 称 _ 教 授 2010年 5 月 10 日目 录【摘 要】- 2 -【Abstract】- 2 -第一章:系统分析- 1 -1.1 引言- 1 -1.2 可行性分析- 1 -1.2.1 技术可行性- 1 -1.2.1 法律可行性- 1 -1.3.进度计划- 1 -1.4 需求分析- 2 -1.4.1系统功能需求- 2 -1.4.2性能分析- 3 -1.4.
2、3 运行环境及相关配置- 3 -第二章 系统设计- 4 -2.1 系统边界- 4 -2.2 项目规划- 4 -2.3系统功能结构图- 5 -2.4两个主要功能的活动图- 6 -2.5.数据库设计- 7 -2.5.1实体联系图- 7 -2.5.2系统数据- 8 -第三章 系统主要窗体设计- 10 -3.1 数据备份(frmSJBF)- 10 -3.2 数据恢复(frmSJHF)- 13 -3.3 商品信息编辑(frmSPXXBJ)- 15 -3.4 商品查询(frmSPCX)- 18 -3.5商品销售(frmSPXS)- 22 -3.6缺货信息(frmQHXX)- 25 -第四章 系统测试- 2
3、6 -4.1 系统测试选项及结果- 26 -4.2 测试样本- 26 -4.2.1对商品查询(frmSPCX)窗体测试:- 26 -5.2.2对商品销售(frmSPXS)窗体测试:- 27 -第五章 系统缺陷说明- 28 -第六章 小结- 29 -致 谢- 30 -参 考 资 料- 31 -【 摘 要 】中小企业在我国经济发展中具有重要地位,目前我国的中小企业数量多,地区分布广泛,行业跨度大。据相关数据显示,相比发达国家的国外企业,我国中小企业的信息化水平还很低,只处于起步上升阶段。随着技术的发展,电脑的普及,电子信息化的高速发展。为了加强自身竞争力,企业信息化成为必然选择。进销存管理系统作为
4、典型的信息管理系统,非常适用于小企业、小商店及小型批发部等。它可以降低管理成本,提供准确的历史数据,为管理员的决策提供依据,进而提高管理效率。 本系统以VB为开发语言,以SQL Server 2000为数据库进行对进销存管理系统的开发。由于技术上的不足,该系统并没有加入数据挖掘等的智能分析统计技术。本系统旨在培养对该类系统的了解,为今后开发类似系统提供参考。关键词:中小企业 决策 进销存 管理系统 数据库【Abstract】 It has an important position for SMEs in the development of chinas economic, the curr
5、ent number of SMEs in China more than broad regional distribution, industry span. According to relevant data, compared to developed countries, foreign enterprises, the informatization of SMEs in China is still very low, rising only at the initial stage. With the technology and popularization of comp
6、uters, the rapid development of electronic information. To enhance its competitiveness, company information has become the inevitable choice. Inventory management system as a typical information management system, is a good choice for small businesses, small shops and small wholesale department. It
7、can reduce administrative costs and provide accurate historical data, Provide the basis for the administrators decision, and thus improve management efficiency.The system is developed by VB language and SQL Server 2000 as the database of the inventory management system development. Due to technical
8、deficiencies, the system did not include data mining, intelligent analysis of statistical techniques. The system is designed for others to realize this class system and provide the reference for others to develop of similar system.Key words: Small-and-medium-sized enterprises (SMEs) Decision Invento
9、ry Management system Database 第一章:系统分析1.1 引言自改革开放以来,我国经济一直保持高速发展态势,大企业不断崛起的同时,中小型商品流通企业越来越多,其经营的商品种类繁多,人工管理起来工作量大、效率低。随着人类社会由工业社会时代进入电子信息时代,各企业团体为了加强自身竞争力,降低管理成本,提高运营效率,使用电子管理软件已成为他们的首选。为了满足这个庞大的市场,诸多软件公司都进入了该类软件开发运营的行列。作为一名软件工程专业的学生,如对这类软件有深刻的了解,将可以协助开发这类软件的公司更好的进行技术、运营等工作。1.2 可行性分析该系统要求通过计算机对系统对商店
10、进行商品、销售的管理,满足了商店的现代化管理的要求。分析其可行性,由于此次设计系统为毕业设计项目,故不考虑其经济可行性,主要分析其技术可行性及法律可行性。 1.2.1 技术可行性该系统为小型管理系统,主要运行在单机上,技术难度不大。根据已学知识及相关资料的辅助,基本上能提供技术上的支持。如开发过程中遇到未想到之难题,可以向同行有该类系统开发经验的同学、朋友请教,或在网上查阅相关资料。 1.2.1 法律可行性该项目为独立开发,用于单机上,在技术上没有使用任何现有专利与方法。所以在法律方面不存在侵犯专利权、版权等问题。1.3.进度计划进销存管理系统是典型的信息管理系统,由于本系统逻辑结构简单,没有
11、加入高技术的算法,故在系统需求分析、设计等方面将费时较短,然而由于之前并没有VB开发经验,故在代码编写方面会遇到较大困难,所以初步预计代码编写方面需要较长的时间。预测各个阶段的时间安排如下图1-3-1所示:图1-3-1 进度计划1.4 需求分析1.4.1系统功能需求1通过对商品进销存管理的调查与分析,要求系统需要具有以下功能:q 由于操作人员的计算机知识普遍较差,要求有良好的人机界面。q 由于该系统的使用对象较少,在权限管理方面无需太大的要求。q 方便的数据查询,支持多条件查询。q 基础信息管理与查询(包括商品信息、销售情况)。q 通过计算机,能够直接“透视”仓库存储情况。q 便利的商品销售操
12、作q 商品销售排行统计。q 当外界环境(停电、网络病毒)干扰本系统时,系统可以自动保护原始数据的安全。2根据对系统的调查分析,系统需完成:商品管理、销售管理、意见管理三大功能其中,对商品管理:引言:对商品信息数据进行管理输入:商品的各类属性处理:将商品信息存储至数据库输入:显示添加成功,在数据库中可以查询到该商品目的:完善商品数据,让管理者更加方便的了解本店商品情况销售管理:引言:对销售情况进行查询、统计输入:商品编号 或 商品名称处理:在数据库中提取相关信息输入:该商品的清单列表目的:进行营业状况的查询和统计,为管理者提供决策依据,如:采购预算、采购商品类型、应采取的营销方式等意见管理引言:
13、对客户所反映的意见进行记录、总结输入:意见编号处理:找出解决办法或改进措施输入:显示意见信息、解决状态及办法内容目的:用于收集顾客意见,改善当前不足,为提高满意度提供参考 1.4.2性能分析精度要求:本软件主要用于管理,不是科学计算,要求计算的精度不是很苛刻。所以输入、输出数据精度要求不是很高,用于计算的数用浮点数就可以了。时间特性要求:本软件运行的响应时间要求在不超过2秒内,各项功能基本能实现。输入要求:输入的数据基本为:商品编号、商品名称、数量等。输出要求:输出一般为表格或表单形式,输出数据主要有消费的金额及客户的消费历史记录。1.4.3 运行环境及相关配置AMD 2200+、128M内存
14、或更高配置的计算机Microsoft Windows XP 型操作系统需要的硬盘空间容量:40GVGA 或更高性能的显示器第二章 系统设计进销存管理系统是典型的数据库应用程序,系统由前台功能模块和后台数据库管理组成。其中前台主要包括系统管理、商品管理及销售管理。后台主要管理数据表及进行数据连接更新等操作。2.1 系统边界进销存系统 只负责商品管理、销售管理及意见管理,其执行者由用户来执行。根据系统功能需求及已确定的执行者和边界可以绘制出如2-1-1 的用例图图 2-1-1 系统用例图2.2 项目规划进销存管理系统是一个典型的数据库开发应用程序,由商品管理模块、商品销售模块、查询统计模块、系统设
15、置模块等部分组成,规划系统功能模块如下:q 商品管理模块该模块的主要管理商品信息录入和商品信息查询。q 商品销售模块该模块主要完成商品的销售及查询。q 查询统计模块该模块主要管理销售信息查询、商品销售排行。q 系统设置模块该模块主要管理添加操作员、更改操作员密码、删除操作员。2.3系统功能结构图根据需求分析及系统功能的要求,进销存管理系统功能结构如图2-3-1所示。图2-3-1 系统功能结构图2.4两个主要功能的活动图1 添加商品是一个描述添加商品过程流程,该流程从“输入商品信息”开始,到添加商品结果为结束。此活动图用3个泳道分别出现3个逻辑对象:“管理员”、“商品对象(业务逻辑)”及“数据库
16、”。设计具体流程如图 2-4-1。图 2-4-1 添加商品活动图2 设计出售商品的各个动作状态执行顺序如下:1,在商品出售窗口判断出售列表是否为空的两种情况:*为空:条件成立,提示 添加出售列表,活动结束。*不为空:条件成立,继续执行,将LSXSB(临时销售表)中的数据添加至SELLER(销售表)中,继续执行到下一个动作状态。2,清空LSXSB(临时销售表)中的记录。3,刷新显示界面,流程结束。具体流程如图2-4-2。判断列表是否为空图2-4-2 出售商品活动图2.5.数据库设计 2.5.1实体联系图根据需求分析中系统的要求,系统主要分为三个实体:商品、用户及意见,三者间的关系是管理与被管理的
17、关系,其中用户担任管理角色,而商品和意见扮演被管理角色。根据各自关系及属性可以得出三者间的实体联系图如下图 2-5-1-1。图 2-5-1-1 实体联系图 2.5.2系统数据此处取数据库名:JXC由系统的实体联系图及系统的逻辑关系,需要建立商品信息表、临时销售表、商品销售表、客户意见表及用户表。商品信息表SPXXB,主要记录商品的基本信息。该表结构如图2-5-2-1所示图2-5-2-1 商品信息表SPXXB临时销售表LSXSB,主要记录加入商品列表的商品记录。该表结构如图2-5-2-2所示图2-5-2-1 临时销售表LSXSB商品销售表SPXSB,主要记录加入商品销售情况。该表结构如图2-5-
18、2-3所示图2-5-2-3 商品销售表SPXSB客户意见表KHYJB,主要记录客户对商品的反馈情况。该表结构如图2-5-2-4所示图2-5-2-4客户意见表KHYJB用户表YHB,主要记录用户帐户。该表结构如图2-5-2-5所示图2-5-2-4客户意见表KHYJB需要建立的视图:FirstSeller(用于商品销售排行)创建视图代码如下:Select seller.spbh,seller.spmc,goods.splb,dj,sum(seller.cssl) as SunSeller from seller,goods where seller.spbh = goods.spbh第三章 系统主
19、要窗体设计 3.1 数据备份(frmSJBF)数据备份窗体主要完成对各表中历史数据的备份操作。其设计窗体如图3-1-1 所示图3-1-1 数据备份该窗体的源代码如下:Dim StrCnn As New ADODB.ConnectionDim key, list, sql As String 定义字符串变量Private Sub Command1_Click()Command1.Enabled = FalseIf Text1.Text = ThenMsgBox 请您选择数据库备份的路径!, 64, 进销存管理系统ElseDim connter As IntegerDim sql, workare
20、a(15) As StringProgressBar1.Visible = TrueProgressBar1.Max = UBound(workarea)ProgressBar1.Value = ProgressBar1.Min For connter = LBound(workarea) To UBound(workarea) workarea(connter) = initial value & connter ProgressBar1.Value = connter StrCnn.Open Provider=SQLOLEDB.1;Integrated Security=SSPI;Pers
21、ist Security Info=False;Initial Catalog=JXC;Data Source=(Local)GSQL strcnn.Open Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=JXC;Data Source=(Local)GSQL sql = BACKUP DATABASE JXC TO disk= & Text1.Text & StrCnn.Execute (sql) 执行SQL语句 StrCnn.Close Next connte
22、r ProgressBar1.Value = ProgressBar1.Min MsgBox 数据库备份成功!, 64, 进销存管理系统 Command1.Enabled = True End IfEnd SubPrivate Sub Command2_Click() Call CmdEnd(Me)End SubPrivate Sub Command3_Click()CommonDialog1.Filter = 备份文件(*.bak)|*.bak|文本文件(*.txt)|*.txt|ALL File(*.*)|*.*CommonDialog1.ShowSaveText1.Text = Comm
23、onDialog1.FileNameEnd SubPrivate Sub Command4_Click()Command4.Enabled = FalseIf Text2.Text = ThenMsgBox 请您选择数据库恢复的路径!, 64, 进销存管理系统ElseDim connter As IntegerDim sql, workarea(15) As StringProgressBar2.Visible = TrueProgressBar2.Max = UBound(workarea)ProgressBar2.Value = ProgressBar2.Min For connter =
24、 LBound(workarea) To UBound(workarea) workarea(connter) = initial value & connter ProgressBar2.Value = connter StrCnn.Open Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=JXC;Data Source=(Local)GSQL sql = RESTORE DATABASE JXC from disk= & Text2.Text & StrCnn.
25、Execute (sql) 执行SQL语句 StrCnn.Close Next connter ProgressBar2.Value = ProgressBar2.Min MsgBox 数据库恢复成功!, 64, 进销存管理系统 Command4.Enabled = TrueEnd IfEnd SubPrivate Sub Command5_Click()CommonDialog2.Filter = 备份文件(*.bak)|*.bak|文本文件(*.txt)|*.txt|ALL File(*.*)|*.*CommonDialog2.ShowOpenText2.Text = CommonDial
26、og2.FileNameEnd SubPrivate Sub Form_Load()Me.Left = (Screen.Width - Me.Width) / 2Me.Top = (Screen.Height - Me.Height) / 2Unload frmZJMEnd SubPrivate Sub Form_Unload(Cancel As Integer) Call CmdEnd(Me)End Sub 3.2 数据恢复(frmSJHF)数据还原窗体主要完成对各表中数据恢复为某一时刻所备份下来的历史数据的,其设计窗体如图3-2-1 所示图3-2-1 数据恢复数据恢复的源代码如下:Opti
27、on ExplicitDim StrCnn As New Connection 定义连接Dim key, list, sql, Temp, Intext As String 定义字符串变量Private Sub Command1_Click()If Txt_restore.Text = Then MsgBox 请您选择数据库恢复的路径!, 64, 提示信息ElseMe.MousePointer = 11Command1.Enabled = FalseDim connter As IntegerDim sql, workarea(12) As StringProgressBar1.Visible
28、 = TrueProgressBar1.Max = UBound(workarea)ProgressBar1.Value = ProgressBar1.Min For connter = LBound(workarea) To UBound(workarea) workarea(connter) = initial value & connter ProgressBar1.Value = connter StrCnn.Open Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Cat
29、alog=JXC;Data Source=(Local)GSQL sql = use master RESTORE DATABASE JXC from disk= & Txt_restore.Text & StrCnn.Execute (sql) 执行SQL语句 StrCnn.Close Next connter ProgressBar1.Value = ProgressBar1.Min MsgBox 数据库恢复成功!, 64, 提示信息 Command1.Enabled = True Me.MousePointer = 0End IfEnd SubPrivate Sub Command3_C
30、lick()CommonDialog1.Filter = 备份文件(*.bak)|*.bak|文本文件(*.txt)|*.txt|ALL File(*.*)|*.*CommonDialog1.ShowOpenTxt_restore.Text = CommonDialog1.FileNameEnd SubPrivate Sub Command2_Click() Unload MeEnd SubPrivate Sub Form_Load() Me.Left = (Screen.Width - Me.Width) / 2 Me.Top = (Screen.Height - Me.Height) /
31、2End Sub 3.3 商品信息编辑(frmSPXXBJ)商品信息编辑主要完成对商品信息的添加、修改及删除功能。其中添加功能由用户输入商品的各项信息后按“添加”按钮即可完成商品的添加操作,修改功能需在商品编号处输入需要修改的商品编号,按下修改后,该编号的商品信息将显示在相对应的文本框中,此时修改按钮显示为“保存”,用户对该商品信息修改完毕后按下“保存”按钮即可完成对商品修改的操作。删除功能由用户在商品编号所在文本框处输入需要删除的记录编号,然后按下“删除”按钮即可完成该项功能。同时窗体中应实现及时刷新信息编辑结果。设计该窗体如图3-3-1 所示。图3-3-1 商品信息编辑商品信息编辑的源代码
32、如下:Private Sub Command1_Click()Call main If Text2.Text = Or Text3.Text = Or Text4.Text = Or Text5.Text = Then MsgBox 请输入完整的商品信息, 48, 进销存管理系统 Else Adodc2.RecordSource = select spbh from GOODS where spbh = + Text2.Text + Adodc2.Refresh If Adodc2.Recordset.RecordCount 0 Then MsgBox 对不起,商品已存在, 48, 进销存管理
33、系统 Else Set adoRs = adoCon.Execute(insert into GOODS values( & Text2.Text & , & Text3.Text & , & Text4.Text & , & Text5.Text & , & Text6.Text & , & Text7.Text & , & Text8.Text & ) MsgBox 添加商品成功, 48, 进销存管理系统 Adodc1.Refresh Call cleanAll End If Refresh End IfEnd SubPrivate Sub Command2_Click() If Comm
34、and2.Caption = 修改 Then If Text2.Text = Then MsgBox 请输入商品编号, 48, 进销存管理系统 Else Adodc2.RecordSource = select * from GOODS where spbh = + Text2.Text + Adodc2.Refresh If Adodc2.Recordset.RecordCount = 0 Then MsgBox 对不起,该商品不存在,请重新输入, 48, 进销存管理系统 Else Text2.Enabled = False Text3.Text = Adodc2.Recordset.Fie
35、lds(spmc) Text4.Text = Adodc2.Recordset.Fields(splb) Text5.Text = Adodc2.Recordset.Fields(kc) Text6.Text = Adodc2.Recordset.Fields(dj) Text7.Text = Adodc2.Recordset.Fields(gys) Text8.Text = Adodc2.Recordset.Fields(bz) Command2.Caption = 保存 Command1.Enabled = False Command3.Enabled = False End If End
36、 If Else If Command2.Caption = 保存 Then Call main Set adoRs = adoCon.Execute(update goods set spmc = + Text3.Text + ,splb = + Text4.Text + ,kc = + Text5.Text + ,dj = + Text6.Text + ,gys = + Text7.Text + ,bz = + Text8.Text + where spbh = + Text2.Text + ) MsgBox 信息修改成功, 48, 进销存管理系统 Adodc1.Refresh Text2
37、.Enabled = True Command2.Caption = 修改 Command1.Enabled = True Command3.Enabled = True Call cleanAll End If End IfEnd SubPrivate Sub Command3_Click() If Text2.Text = Then MsgBox 请输入所要删除的商品信息编号, 48, 进销存管理系统 Else Adodc2.RecordSource = select spbh from GOODS where spbh = + Text2.Text + Adodc2.Refresh If
38、 Adodc2.Recordset.RecordCount = 0 Then MsgBox 对不起,该商品不存在, 48, 进销存管理系统 Else Adodc2.Recordset.Delete MsgBox 该商品删除成功, 48, 进销存管理系统 Adodc1.Refresh Call cleanAll End If End IfEnd SubPrivate Sub Command4_Click() Unload MeEnd SubPrivate Sub cleanAll() Text2.Text = Text3.Text = Text4.Text = Text5.Text = Text
39、6.Text = Text7.Text = Text8.Text = End SubPrivate Sub DataGrid1_Click() If DataGrid1.Bookmark 0 Then Text2.Text = DataGrid1.Columns(0).CellValue(DataGrid1.Bookmark) End IfEnd Sub 3.4 商品查询(frmSPCX)商品查询应完成对商品信息的检索功能,在窗体中及时显示所查询的记录。根据系统设计的特点,我们可以设计三类查询条件,它们分别为:商品编号、商品名称及商品类别。对该模块,我们设计该窗体如下图 3-4-1 所示。图3
40、-4-1 商品查询商品查询的源代码如下:Private Sub Command1_Click() If Option1.Value = True Then If Text5.Text = Then MsgBox 商品编号不可为空, 48, 进销存管理系统 Else Adodc1.RecordSource = select * from goods where spbh like % + Text5.Text + % 实现模糊查询 Adodc1.Refresh If Adodc1.Recordset.RecordCount = 0 Then MsgBox 无该商品, 48, 进销存管理系统 En
41、d If End If Else If Option2.Value = True Then If Text6.Text = Then MsgBox 商品名称不可为空, 48, 进销存管理系统 Else Adodc1.RecordSource = select * from goods where spmc like % + Text6.Text + % Adodc1.Refresh If Adodc1.Recordset.RecordCount = 0 Then MsgBox 无该商品, 48, 进销存管理系统 End If End If Else If Option3.Value = True Then