服装公司进销存管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

服装公司进销存管理系统设计
一、课程设计目的
通过建立小型数据库的实践操作,使我们更深层次的掌握关系型数据库的基本操作,理解关系型数据库的有关概念,具备一定的数据库结构设计的能力,并能综合运用所学知识,进行小型数据库应用系统的开发工作。

来提高我们对所学的知识和数据库开发过程的理解和掌握,提高分析问题、解决问题的能力,并为接下来的毕业论文设计打下基础。

二、实验环境
1、硬件设备
计算机、网络连接器等、CPU、硬盘、内存、显示器。

2、软件环境
操作系统Windows XP,系统开发数据库系统Microsoft Office Access2003,数据库引擎SQL。

3、软件工具
结构化分析工具:实体联系图等;系统设计工具:流程图,组织结构图;画图工具Microsoft Word Visio 2003;详细设计工具:Microsoft Office Access2003
三、实验内容
1.系统概述
进销存管理信息系统以商品库存为管理核心,可以动态跟踪库存的变化,实现采购、入库、销售、出库一体化的管理。

可对商品进行入库记帐和出库记帐,并提供综合查询、统计、分析、打印各种报表等功能,能够准确及时地为决策者提供第一手信息。

本系统以人机对话来实现,操作简单,使用方便。

服装店的销售业务一直使用着最简单的人工管理。

其中物品的采购、库存、销售及核算等手工信息管理使得员工工作量大、服务质量差、工作效率低。

同时,
由于对市场的反馈信息不能及时地处理,从而导致销售与市场脱节。

要改变这种手工管理的落后状况,把工作人员从枯燥乏味的重复劳动中解脱出来,利用计算机这一工具,开发进销存管理系统,不但能成百倍地提高工作效率,还能及时准确地得到有关信息,有效排除人为造成的失误,避免许多不必要的损失。

服装店的进销存管理信息系统,首先必须具备的功能是记录仓库存货、客户订货以及进货发货情况,通过该系统了解服装进货渠道、商品单价、数量,库存商品的种类、数量,订单即客户信息及时反馈,以便管理员更好的做出经营管理决策。

2.功能模块设计
(1)结合现有服装公司进销存管理系统对系统功能模块进行设计,给出功能模块图如下所示:
(2)系统主要功能定义:
①产品进库:根据商品库存量和商品订货情况制订采购计划向系统及时添加产品进库,并修改该产品的库存量。

②订单处理:用户经过查询商品信息,找到自己所需的商品通过所关联的账户进行订购,工作人员进行发货处理。

主要包括向系统添加订单,查看产品的库存量和确认产品的发货信息。

③信息查询:主要包括库存信息查询与产品信息查询,订单查询,客户信息查询,能够准确及时地为决策者提供第一手信息。

④报表显示:方便用户查看系统数据库中的各产品、订单、客户的全部信息,从总体上了解系统的内部存储情况,主要包括订单报表显示、发货报表显示、库存报表显示。

⑤退出系统
四、数据库设计
1.数据模型的设计(E-R)模型
针对服装进销存管理系统,通过对产品进货、订货、发货工作的过程、内容以及数据流程分析,设计如下所示的数据项和数据结构:(用E-R 图表示如下)
产品发货E-R 图
客户
发货
1
发货单
n
图2 发货E-R 图
产品
转换1
n 1
n
客户订货E-R
客户
产品
订票单
订货
转换1
1
1
n
n
图3 客户订货E-R 图
产品进库E-R 图
产品
库存
进库
图4 产品进库E-R 图
N
1
全局E-R图
根据各分E-R图合并整体E-R图,具体方法是将4个E-R图中相同的实体,进行合并,消除属性冲突、命名冲突、结构冲突之后得到总E-R如图5所示。

图 5 全局E-E图
2.基本数据表和联系的实现
遵循E-R图向数据模型的转换规则,对该系统的E-R图进行转换,进行逻辑结构设计,得到本系统各实体与联系的关系模型(二维表)如下:
表2 进库表
表3 订单表
表4 发货表
表6 客户表
各表之间的关系如下图所示:
图6 各表之间的关系
五、系统实现
基于Access 2003环境, 建立相应的查询、窗体、报表,根据要求设计相应的程序模块及其它对象。

1、公司进销存管理信息系统数据库中的查询设计
在该数据库中需要查询订单,产品进库、客户信息的查询和发货信息。

因此,建立以下5个查询。

进库查询:用于查询与产品进库相关的信息
订单查询:用于查询与订单相关的信息
客户查询:用于查询与客户相关的各种信息
发货信息查询:用于查询与发货相关的信息,在发货表的基础上增加一个字段金额总计(产品数量*发货价格)。

如图7
图7 发货信息查询
发货信息交叉表查询:用于查看各种产品的售票情况以及客户购买产品的信息。

如图8
图8 发货信息交叉表查询
2、设计系统数据库的报表
在该系统中需要制作3个报表,库存报表、发货报表、订单报。

这样可以随时观察产品库存、发货与订单的信息并打印出来。

下图是订单报表的设计
图9 订单报表
3、系统数据库窗体的设计
按照系统功能模块图,需要在数据库中设计“产品进库窗体”、“订单处理窗体”、“发货确认窗体”、“报表显示窗体”。

为了实现信息查询的功能,还需要设计“查询窗体”、“产品进库查询窗体”、“订单查询窗体”、“客户信息查询窗体”。

用于对各种信息的查询。

最后建立一个“切换面板”。

产品进库窗体:用于向数据库中添加产品进库的记录,并修改该产品的库存量。

有添加记录、修改记录。

如图10。

订单处理窗体:向“订单表”中添加订单,查看产品的库存量,确认产品的发货信息。

主要有添加订单、查看库存、准备发货三个功能。

如图11。

发货确认窗体:确认在订单处理中能够调用该窗体
报表显示窗体:方便用户查看数据库中的报表,其中包含订单报表显示、发货报表显示、库存报表显示和退出。

如图12。

切换面板:为“服装公司进销存管理系统”做的一个切换界面。

如图13所示,其表属性见附表2。

图10 产品进库窗体
图11 订单处理窗体
表 7 Switchboard Items
六、程序运行、调试和结果分析
1.程序运行中出现的问题及调试手段(包括异常处理)
(1)在“发货确认窗体”操作“确认发货“时出现如下图14所示的对话框
图14 操作异常显示
点击进行“调试“,出现“curdb.Execute "update 订单表 set 库存量 =" & curRS.Fields("库存量") - product_number & "where 产品号='" & product_no & "'"”语法错误。

最后经过不断的修改数据类型得以成功。

2.程序运行结果分析
打开数据库“服装公司管理系统.mdb“,进入主界面“服装公司管理系统”,如上图13,然后分别点击进入上面5个菜单,执行以下功能。

(1)产品进库演示结果
进入“产品进库面板”,点击“产品进库查询”,可以查询产品进库信息。

如图16-17 。

接着点击“产品进库处理”,即可进行“添加记录”“修改库存”(即添加记录到库存),和“查看库存”,再次查看库存004号产品明显增加了300个单位,如图18-20所示。

图16 产品进库处理面板
图 17 产品进库查询
图18 产品进库处理
图19 库存报表1
图 20库存报表2
(2)订单处理演示结果
进入“订单处理“面板,并添加订单4,如下图21所示点击“添加订单”
进行测试
图 21订单处理面板
图 22 发货确认窗体
对刚添加的订单进行发货处理,即点击“准备发货”,进入“发货确认窗体”并输入“发货时间:2010-12-11”,“发货负责人:小肥”以及发货价格,如价格不知道,可以点击“查看产品”进入相应产品信息查询价格。

然后退出输入价格,点击“确认”即可,如图22所示,最后查看库存005号产品减少了100各单位。

(3)信息查询演示结果
进入“信息查询”面板,如图23所示.
分别点击“产品信息”、“产品进库”、“订单信息”、“客户信息”,依此进入“产品信息查询窗体”、“产品进库查询窗体”、“订单查询窗体”、“客户信息查询窗体”,如图24-27。

最后点击“退出查询”,返回系统主界
面。

图 23 信息查询面板
图 24 产品信息
图 25产品进库
图 26订单信息
图27客户信息
(4)报表显示演示结果
进入“显示报表”面板,如图28所示.
图 28显示报表面板
分别点击“订单报表”、“发货报表”、“库存报表”,依此进入“订单报表”如下图29、“发货报表”、“库存报表”。

最后点击“退出”,返回系统主界面。

图29订单报表
(5)退出系统
点击“退出系统”,退出进销存管理系统数据库。

七、实验总结
这次系统的设计遇到了很多问题,常常为了解决一个问题而长时间停滞不前,但经过自己不断的思考、尝试,问题都逐一的被解决了。

总的来说,这次课程设计的感触很多。

首先就是理论和实践的差距远远大于自己的想象;一些平时觉得很简单的东西,真到要实践操作的时候,就会发现很难下手。

之前总感觉数据库只要好好看看书就没问题了,不过现在才明白数据库重点在于设计,设计的过程才是让我们真正学会如何操作,也是最有价值、最有实际意义。

这次课程设计在一次次的修改与完善中总算是完成了。

虽然我做出的系统不是很全面,但是每一次的修改,每一次新的知识的接受,都让自己学会了很多。

这也让我知道在以后的学习中,我一定要多实践,多练习,书本上知识的学习毕竟没有实践来的有效。

同时,非常感谢这一学期罗老师的教学指导与同学们的帮助!
参考资料
[1] 萨师煊,王珊.《数据库系统概论》.高等教育出版社,2002年2月
[2] 郑人杰.《实用软件工程》.清华大学出版社,2003
[3] 龚波.《SQL SERVER 2000教程》.北京希望电子出版社
[4] 孙一林,彭波.《Java数据库编程实例》. 清华大学出版社,2002年8月
附录1:
1、利用SQL语言建立一些表、查询、报表、窗体的语句
(1)客户表的建立
CREATE TABLE 客户表(客户号 CHAR(6) NOT NULL UNIQUE,
客户名 CHAR(10),
地址 CHAR(30),
信誉度 CHAR(10),
省份 CHAR(10));
(2)订单查询选择查询的建立
SELECT 订单表.*
FROM 订单表
WHERE 订单号=[请输入订单号];
(3)发货信息查询的建立
SELECT订单号,产品号,客户号,产品数量,发货价格,产品数量*发货价格AS 金额小计
FROM 发货表;
2.事件生成VB代码
(1)添加记录
Private Sub 添加记录_Click()
On Error GoTo Err_添加记录_Click
DoCmd.GoToRecord , , acNewRec
Exit_添加记录_Click:
Exit Sub
Err_添加记录_Click:
MsgBox Err.Description
Resume Exit_添加记录_Click
End Sub
(2)修改库存
Private Sub CmdChange_Click()
Dim curdb As Database
Dim curRS As Recordset
Dim deviceCnt As Integer
Set curdb = CurrentDb
Set curRS = curdb.OpenRecordset("select * from 库存表 where 产品号='" & 产品号.Value & "'")
If Not curRS.EOF Then
deviceCnt = curRS.Fields("库存量")
deviceCnt = deviceCnt + CInt(进库数量.Value)
curdb.Execute "update 库存表 set 库存量=" & deviceCnt & " where 产品号='" & 产品号.Value & "'"
Else
With curdbRS
.AddNew
.Fields("产品号") = 产品号.Value
.Fields("库存量") = CInt(进库数量.Value)
.Fields("存放地点") = "第一仓库"
.Update
End With
End If
cmdAdd0.Enabled = True
cmdAdd0.SetFocus
CmdChange.Enabled = False
End Sub
(3)发货
Private Sub 准备发货_Click()
'打开发货确认窗体
If 订单是否发货.Value = True Then MsgBox ("该产品已经发货,不能重复发货!") Else
dd_no = 订单号.Value
product_no = 产品号.Value
kehu_no = 客户号.Value
product_number = 产品数量.Value
DoCmd.OpenForm "发货确认窗体"
End If
End Sub。

相关文档
最新文档