进销存管理系统设计及源代码.docx
- 文档编号:30834527
- 上传时间:2024-01-30
- 格式:DOCX
- 页数:31
- 大小:417.11KB
进销存管理系统设计及源代码.docx
《进销存管理系统设计及源代码.docx》由会员分享,可在线阅读,更多相关《进销存管理系统设计及源代码.docx(31页珍藏版)》请在冰豆网上搜索。
进销存管理系统设计及源代码
进销存管理系统设计及源代码
引言
.编写目的
2.前景说明
(1)
(2)
(3)
为提高工作效率,便于对库存产品进行统计和管理,特开发出进销存管理分析系统软件。
本文档将对该管理分析系统软件进行详述,以便根据用户的要求进行软件的开发。
而且除本系统需求分析规格说明书提及的功能之外,其余功能不列入待开发软件开发的范围。
待开发软件的名称为进销存管理分析系统;该待开发的项目的开发者为陈韩珍;该管理分析系统软件将对库存产品进行资料管理和统计,对产品的进货单和产品的销售单进行录入管理和统计。
3.参考资料
书中
本文档参照了北京大学出版社出版的《软件工程-技术、方法与环境》的需求分析文档。
二.概述
1.功能概述
待开发软件的主要功能为:
(1)该软件能对产品的进货单、产品的销售单进行资料录入;
(2)该软件能查询库存产品资料及产品的进货单和产品的销售单的资料,并预视打印查询结果或直接打印查询结果;
(3)该软件能对进销存管理分析系统进行数据的维护工作,以保证数据的完整性和准确性。
待开发软件的王要功能及相互关系如下图:
进销存管理分析系统
三.数据流图与数据字典
1.数据流图
经过分析,得出的数据流图如图2、图3、图4所示。
图2顶层数据流图
图30层数据流图
图4一层数据流图(a)
进货文件
/3.2\
1产品进货
杳询』■产品进货情况
—丿销售文件
查询要求绍/要求类别[查询产品销售情况施e品销售
\处理/统汁、杳询/产品销售情况
库存文件
-7要求、二1
^73.4\
I产品1
■统计表
;统计表'
图4一层数据流图(b)
2.数据字典
(1)数据流条目
库存管理要求=[产品的入库单I产品的出厂单]产品的进货单=进货日期+单据编号+进货商+附加说明
+品名+计量单位+单价+数量+金额产品的销售单=销售日期+单据编号+客户+附加说明
+品名+计量单位+单价+数量+金额
查询要求=[产品的进货情况I产品的销售情况I统计要求]
产品的进货情况=进货日期+单据编号+进货商+附加说明
+品名+计量单位+单价+数量+金额产品的销售情况=销售日期+单据编号+客户+附加说明
+品名+计量单位+单价+数量+金额统计表={产品的库存情况}
(2)文件条目
文件名:
进货文件
组成:
{进货日期+单据编号+进货商+附加说明
+品名+计量单位+单价+数量+金额}
组织:
按产品的单据编号及品名的递增顺序排列
文件名:
销售文件
组成:
{销售日期+单据编号+客户+附加说明
+品名+计量单位+单价+数量+金额}
组织:
按产品的单据编号及品名的递增顺序排列
文件名:
库存文件
组成:
{品名+计量单位+数量}
组织:
按产品的品名的递增顺序排列
3.小说明
小说明只描述最底层的基本加工。
加工编号:
1
加工名:
检查有效性
加工编号:
2.1
加工名:
输入流:
输出流:
输入流:
库存管理要求,查询要求输出流:
有效的库存管理要求,有效的查询要求加工逻辑:
检查输入要求的有效性
要求类型处理库存管理要求,当前日期产品的进货单,产品的销售单
加工逻辑:
根据库存管理要求的类型选择
CASE1:
产品进货,输出产品的进货单
CASE2:
产品销售,输出产品的销售单
加工编号:
3.1
加工名:
查询类别处理输入流:
查询要求输出流:
查询产品进货情况,查询产品销售情况,统计要求加工逻辑:
根据查询类别选择
CASE1:
查询产品进货情况
CASE2:
查询产品销售情况
CASE3:
统计要求
加工编号:
3.2
加工名:
产品进货查询
输入流:
查询产品进货情况,进货文件输出流:
产品进货情况加工逻辑:
根据查询产品进货情况的要求从进货文件中读出产品进货记录,输
出产品进货情况
加工编号:
3.3
加工名:
产品销售查询
输入流:
查询产品销售情况,销售文件
输出流:
产品销售情况
加工逻辑:
根据查询产品销售情况的要求从销售文件中读出产品销售记录,输出产品销售情况
加工编号:
3.4
加工名:
产品库存统计
输入流:
统计要求,库存文件
输出流:
统计表
加工逻辑:
根据统计要求从库存文件中读出所有库存产品的记录,输出统计表
四.接口
1.用户接口
(1)本管理分析系统采用分层打开的形式,而且当前窗口每次只有一个窗口,其主界面如下图:
打邂肖存管理窗口
设计者’陈韩珍
图5
(2)报表的打印前可进行打印预览,也可以直接打印,并对打印机进行设
置,其打印纸张采用A4纸;其界面如下图6、图7、图8例所示:
■ll|||%|||
Jliow^輛目1
冊CH:
iDoiros/os
说甘柑=
mi■说4;
髯翩紺a
器£1
中华W舌H
itBW:
S
4«:
120]□□
*5:
:
±»:
wooB.m
曲汗期:
3Cn]/QS/tD
进立A:
利屮帀M劳昔址
品£-
喜力*®
计空*也;
4«:
IW.W
«■:
全
3XEEI.DD
HBlftEfCB
打印》A
;KCCCG
jl印fisE3]
销售报表洁单
髓日期:
wovre/CB
OOBOI
*户:
附加SM:
S.*iLia«fw-
a州帀青险批童裔行
单
flf:
]JOO.00
«
ft:
™
盘
»匕
wooM.m
nfirra:
S
p:
«掃市奇除批发商疔
中侮#«
*«e号:
DOO血
S;
宫力比谧
计呈*便:
4
JSO.OO
B
S:
]□□
盘
»=
is™.口口
NThlffitl:
库行清单
H4单傥
中华fff手也
an
凶
业J型丄也J匚1囲剖
扭印出A
(3)本管理分析系统的界面打开方式可使用键盘或鼠标操作。
2.硬件接口
运行该管理分析系统的硬件基本要求如下:
CPU:
至少PentiumlOO以上,建议使用Pentium400;
内存:
至少16M以上,建议使用64M;硬盘:
至少2OM硬盘空间;显示器:
14"显示器;
其它:
键盘、鼠标、1.44MB软驱和光驱等。
3.软件接口该管理分析系统的数据库能在VisualFoxPro3.OFORWindows上正常运行。
五.性能需求
1.性能需求
产品的进货单和产品的销售单中的“单价”和“金额”的精度取到小数点后两位,“数量”的精度取整数。
2.时间特性
录入并
该管理分析系统从启动到进入主菜单的时间正常情况下少于6秒,更新数据的时间正常情况下少于20秒。
3.灵活性本管理分析系统软件适应于Windows95/98/2000/NT中文版的环境下
运行。
六.属性
1.保密性
该软件已对所用的数据库进行加密处理。
七.其它需求
1.操作
该管理分析系统可以在软件主菜单中选择“系统维护”7“数据备份”来对系统数据进行定期备份,当出现故障时可以在软件主菜单中选择“系统管理”7“数据恢复”进行系统数据恢复操作。
2.故障及处理
系统的故障分为软件故障和硬件故障。
对于硬件故障采用更换计算机硬件的处理方法。
对于软件故障,系统提供恢复数据库的功能,使系统有能力将数据库恢复到损坏之前的正确状态,使重要的数据得到有效的保存和恢复。
八.待开发软件的详述
1.软件功能详述
(1)信息登记管理:
该管理分析系统软件的数据录入分为产品的进货单录入和产品的销售单录入。
产品的进货单和产品的销售单能检查录入数据的有效性,并且确保“单据编号”的录入项不能为空,“金额”项采用自动计算方
式,为“单价”乘以“数量”的积。
其录入单如下图9、图10:
销售登记
(2)产品库存资料管理:
产品的库存资料是根据产品的进货单和产品的销售单的有效录入来对产品的库存数据进行自动更新,以确保数据的正确性。
(3)查询打印管理:
查询打印分为进货查询、销售查询和库存查询三项。
进货查询能根据产品的品名、单据编号、进货商或进货日期查询录入的进货单的资料,并打印查询结果;销售查询能根据产品的品名、单据编号、客户或销售日期查询录入的销售单的资料,并打印查询结果;库存查询
能根据产品的品名进行库存产品资料的查询,并打印查询结果。
进货
查询选择查询的方式界面如图11所示;销售查询选择查询的方式界
面如图12所示;输入查询数据的界面如图13所示;其查询进货文件数据的显示界面如图14所示;其查询销售文件数据的显示界面如图15所示;其查询库存文件数据的显示界面如图16所示。
-IX
3选握查询方式
图11
'邸选择查询方式
请输入查询的品名:
图13
kJ匚
进贺日期
单弱鋼号
进S裔1
£001/05/03
000001
Ka^有眼■ii■司
£001/05/03
000D03
氏江雲业有限it司
羅
T
L
a_-fi
謬1懂瘵辭法”減备矗卜厂
符書查闻寮件的进赏查询:
[?
r
预观
打tp
〔□□□I
图14
1/查询
nnii
销售日期
单JE鋼号
客戶L
20C1/05/03
0000D1
溯刑市奇珍扌It:
发商行
£(»1/05/03
000002
训州市奇珍扌燈商行fi
3
爛
■.融
-W一曲
m
爛
・m
符合査闻寮件鋤肖售査询:
席预视
厂打印
i打印
柠预视L打印
图16
(4)系统维护:
“期终转结”可以对数其“系统维护”
本软件的系统维护包括“数据备份”、“数据恢复”和“期终转结”三个部分。
“数据备份”可以对系统数据进行定期备份,当出现故障时,可以使用“数据恢复”进行系统数据恢复操作;据库进行清空操作,提供一个新的数据库以供使用。
的界面如下图17所示:
二,系统维护窗口
期终转結
图17
2•软件数据库功能设计:
其待开发软件数据库的功能设计如下图18所示:
进销存管理分析系统
打
打
打
打
打
打
印
印
印
印
印
印
打打打
印
丄
t
T
1
■
「丨1
按
单
据
编
号
按品名查询
按录入日期
按
进
货
商
按
单
据
编
号
按品名查询
按录入日期
按客户查询
按品名查询
图18
DOFORMjxc50.scx
2•进销存管理分析系统主界面:
(1)控件Command1(信息登记):
ClickEvent事件:
doFORMxxdj.scx
(2)控件Command2(查询打印):
ClickEvent事件:
doformcxdy.scx
(3)控件Command3(系统维护):
ClickEvent事件:
doformmentain.scx
(4)控件Command3(关闭):
ClickEvent事件:
thisform.release
3.产品进货单的录入:
(1)表单Form1:
InitEvent事件:
THISFORM.TEXT2.SETFOCUS
(2)控件Text1(进货日期):
InitEvent事件:
THIS.VALUE=DATE()
(3)控件Text2(单据编号):
InteractiveChange事件:
IFEMPTY(THIS.VALUE)
THISFORM.COMMAND1.ENABLED=F.
ELSE
THISFORM.COMMAND1.ENABLED=.T.
ENDIF
(3)控件Text7(单价):
InitEvent事件:
THIS.VALUE=VAL("")
InteractiveChange事件:
THISF0RM.TEXT9.VALUE=THIS.VALUE*THISF0RM.TEXT8.VALUE
(4)控件Text8(数量):
InteractiveChange事件:
THISFORM.TEXT9.VALUE=THIS.VALUE*THISFORM.TEXT7.VALUE
(5)控件Command1(保存):
ClickEvent事件:
IFLEN(ALLTRIM(STR(T9)))<=9
IFLEN(T2)<=8
SELECJHDJ
GOTOP
LOCATEFOR单据编号=T2
IFFOUND()
MESSAGEBOX("单据编号不能重复!
",16,"错误")
ELSE
APPENDBLANK
THISFORM.REFRESH
THISFORM.TEXT2.SETFOCUS
ENDIF
ELSE
MESSAGEBOX("单据编号不能大于8位!
",16,"错误")
ENDIF
ELSE
MESSAGEBOX("金额最大不能超过9位!
",16,"错误")
ENDIF
(6)控件Command2(退出):
ClickEvent事件:
THISFORM.RELEASE
5.产品销售单的录入:
(1)表单Form1:
InitEvent事件:
THISFORM.TEXT2.SETFOCUS
(2)控件Textl(销售日期)
InitEvent事件:
THIS.VALUE=DATE()
(3)控件Text2(单据编号)
InteractiveChange事件:
IFEMPTY(THIS.VALUE)
THISFORM.COMMAND1.ENABLED=F.
ELSE
THISFORM.COMMAND1.ENABLED=.T.
ENDIF
(3)控件Text7(单价):
InitEvent事件:
THIS.VALUE=VAL("")
InteractiveChange事件:
THISFORM.TEXT9.VALUE=THIS.VALUE*THISFORM.TEXT8.VALUE
(4)控件Text8(数量):
InteractiveChange事件:
THISFORM.TEXT9.VALUE=THIS.VALUE*THISFORM.TEXT7.VALUE
(5)控件Commands(保存):
ClickEvent事件:
T1=THISFORM.TEXT1.V
ALUE
T4=THISFORM.TEXT4.V
ALUE
T5=THISFORM.TEXT5.V
ALUE
T6=THISFORM.TEXT6.V
ALUE
T7=THISFORM.TEXT7.V
ALUE
T8=THISFORM.TEXT8.V
ALUE
T9=THISFORM.TEXT9.V
ALUE
IFLEN(ALLTRIM(STR(T9)))<=9
IFLEN(T2)<=8
SELECKC
GOTOP
LOCATEFOR品名=T5AND计量单位=T6
IFFOUND()
IF数量>=T8
SELECXSDJ
GOTOP
LOCATEFOR单据编号=T2
IFFOUND()
MESSAGEBOX("单据编号不能重复!
",16,"错误")
ELSE
REPLACE数量WITH数量-T8INKC
APPENDBLANK
THISF0RM.TEXT7.VALUE=VAL("")
THISF0RM.TEXT8.VALUE=0
THISF0RM.TEXT9.VALUE=0
THISFORM.REFRESH
THISFORM.TEXT2.SETFOCUS
ENDIF
ELSE
MESSAGEBOX("销售数量不能大于库存数量!
",16,"错误")
ENDIF
ELSE
MESSAGEBOX("找不到库存产品!
",16,"错误")
ENDIF
ELSE
MESSAGEBOX("单据编号不能大于8位!
",16,"错误")
ENDIF
ELSE
MESSAGEBOX("金额最大不能超过9位!
",16,"错误")
ENDIF
(6)控件Command2(退出):
ClickEvent事件:
THISFORM.RELEASE
6.选择查询方式界面:
(1)表单Form1:
InitEvent事件:
IFCXLS="XSDJ"
THISFORM.COMMANDGROUP1.COMMAND3.CAPTION="按客户查询"
ENDIF
(2)控件Command1(按日期查询):
ClickEvent事件:
DOCASE
CASECXLS="JHDJ"
CXSRNR="进货日期"
CXSRNR="销售日期"
ENDCASE
DOFORMcx_srjm_d.SCX
THISFORM.RELEASE
(3)控件Command2(按单据编号查询)
ClickEvent事件:
CXSRNR="单据编号"
DOFORMcx_srjm.scx
THISFORM.RELEASE
(4)控件Command3(按进货商或客户查询)
ClickEvent事件:
DOCASE
CASECXLS="JHDJ"
CXSRNR="进货商"
CASECXLS="XSDJ"
CXSRNR="客户"
ENDCASE
DOFORMcx_srjm.scx
THISFORM.RELEASE
(5)控件Command4(按品名查询):
ClickEvent事件:
CXSRNR="品名"
DOFORMcx_srjm.scx
THISFORM.RELEASE
7.按品名或单据编号查询界面:
(1)表单Form1:
InitEvent事件:
THISFORM.LABEL1.Caption="请输入查询的"+CXSRNR+":
"
(2)控件Commands(确定):
ClickEvent事件:
DOFORMCXJM.scx
(3)控件Command2(取消):
ClickEvent事件:
THISFORM.RELEASE
&按日期查询界面:
(1)表单Formi:
InitEvent事件:
THISFORM.LABEL1.Caption="请输入查询的"+CXSRNR+":
"
(2)控件Command1(确定):
ClickEvent事件:
CXNR=ALLTRIM(STR(YEAR(THISFORM.TEXT1.VALUE)))+'-'+ALLTRIM(STR(MO
NT(THISFORM.TEXT1.VALUE)))+'-'+ALLTRIM(STR(DAY(THISFORM.TEXT1.VALU
E)))
THISFORM.RELEASE
DOCX.QPR
DOFORMCXJM.scx
(3)控件Command1(取消):
THISFORM.RELEASE
9.查询文件:
SETSAFETYOFF
DOCASE
CASECXSRNR="品名"ORCXSRNR="单据编号"ORCXSRNR="进货商"OR
CXSRNR="客户"
SELECT*;
FROM进销售!
&CXLS;
WHERE&CXLS..&CXSRNR=ALL;
(SELECT&CXSRNR;
FROM&CXLS;
WHERE&CXLS..&CXSRNR="&CXNR");
INTOTABLETABLE
SELECT*;
FROM进销售!
&CXLS;
WHERE&CXLS..进货日期=ALL;
(SELECT进货日期;
FROM&CXLS;
WHERE&CXLS..进货日期={人&CXNR});
INTOTABLETABLE
CASECXSRNR="销售日期"
SELECT*;
FROM进销售!
&CXLS;
WHERE&CXLS..销售日期=ALL;
(SELECT销售日期;
FROM&CXLS;
WHERE&CXLS..销售日期={人&CXNR});
INTOTABLETABLE
ENDCASE
SETSAFETYON
10.查询显示界面:
(1)表单Form1:
InitEvent事件:
DOCASE
CASECXLS="JHDJ"
CXLS="进货查询
CASECXLS="KC"
CXLS="库存查询
CASECXLS="XSDJ"
CXLS="销售查询
ENDCASE
THISFORM.LABEL1.Caption="符合查询条件的"+CXLS+":
"
(2)控件Command1(打印):
ClickEvent事件:
DOCASE
CASETHISFORM.OPTIONGROUP1.OPTION1.VALUE=1
DOCASE
CASECXLS="进货查询"
REPORTFORMCXJH.FRXPREVIEW
CASECXLS="库存查询"
REPORTFORMCXKC.FRXPREVIEW
CASECXLS="销售查询"
REPORTFORMCXXS.FRXPREVIEW
ENDCASE
CASETHISFORM.OPTIONGROUP1.OPTION2.VALUE=1
DOCASE
CASECXLS="进货查询"
REPORTFORMCXJH.FRXTOPRINTERPROMPT
CASECXLS="库存查询"
REPORTFORMCXKC.FRXTOPRINTERPROMPT
CASECXLS="销售查询"
REPORTFORMCXXS.FRXTOPRINTERPROMPT
ENDCASE
ENDCASE
(3)控件Command2(退出):
ClickEvent事件:
USE
THISFORM.RELEASE
11.系统维护界面:
(1)控件Command1(数据备份)
ClickEvent事件:
X=MESSAGEBOX("确定要备份数据吗?
",3+32+256,"提示")
IFX=6
se
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 进销存 管理 系统 设计 源代码
![提示](https://static.bdocx.com/images/bang_tan.gif)