商品进销存管理系统.docx
《商品进销存管理系统.docx》由会员分享,可在线阅读,更多相关《商品进销存管理系统.docx(25页珍藏版)》请在冰豆网上搜索。
商品进销存管理系统
精品文档
商品进、销、存系统
背景说明
待开发的软件系统的名称:
商品进、销、存管理系统软件项目的用途:
用于数据库课程设计及商业用途
软件项目的范围:
系统涉及企业的库存,销售与进货提供了管理功能,为库存,销售,进货等管理数据提供了分析功能
开发小组:
我们小组
小组成员:
组长:
曾炫
组员:
冶福磊
陈光
钟浩杰
李钦铭
指导老师:
姚全珠
在信息技术的催化之下,世界经济的变革已经进入了加速状态。
世界经济一体化,企业经营全球化,以及高度竞争造成的高度个性化与迅速改变的客户需求,令企业与顾客、企业与供方的关系变得更加密切和复杂。
强化管理,规范业务流程,提高透明度,加快商品资金周转,以及为流通领域信息管理全面网络化打下基础,是商品销售公司乃至众多商业企业梦寐以求的愿望。
随着技术发展,电脑操作及管理日趋简化,电脑知识日趋普及,同时市场经济快速多变,竞争激烈,因此企业采用电脑管理进货、库存、销售等诸多环节也已成为趋势及必然。
⒈系统规划
1.1可行性分析
经济上可行性分析
现在,计算机的价格已经十分低廉,性能却有了长足的进步。
而本系统的开
发,为企业的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:
。
1欢迎下载
精品文档
第一,本系统的运行可以代替人工进行许多繁杂的劳动;
第二,本系统的运行可以节省许多资源;
第三,本系统的运行可以大大的提高企业的工作效率;
第四,本系统可以使敏感文档更加安全,等等。
本产品的开发所需的设备在现有条件下,只需要少量的投入资金就可以实
现。
因此在经济上是可行的。
技术上可行性分析
a)软件可行性
C#具有丰富的数据库功能,可以直接建立和编辑数据库,使用结构化查
询语言直接访问SQLSever上的数据库,并提供简单的面向对象的库操作命
令、多用户数据库的加锁机制和网络数据库的编程技术。
SQLSever2000是由微软公司推出的,能提供超大型系统所需的数据库
服务,并对数据库提供全面的保护,具有防止问题发生的安全措施,他是一
个采用SQL语言的关系型数据库管理系统。
作为客户机/服务器的后端数据
库,他是所有数据的汇总和管理中心。
b)硬件可行性
CPU:
奔腾三代以上。
OS(操作系统):
Windows2000/windows98以上。
内存:
64MB以上。
硬盘:
30G以上。
本系统的开发利用MicrosoftSQLServer2000作为本系统的数据库,
它是一个支持多用户的新型数据库,适用于大中规模的数据量需求。
使用C#作为系统开发的开发环境,此开发工具开发数据库管理系统,
采用面向对象的方式,方便、简捷、功能强大。
管理上可行性分析
课设指导老师给与了精心的讲解和大力的支持。
综上所述,系统在技术上、经济上、管理上都是可行的。
。
2欢迎下载
精品文档
1.2划分子系统
各个模块的划分
1.3制定信息系统开发方案及日程安排
1.3.1任务分配
陈光:
商品入库(输入)
李钦铭:
信息查询(查询)
冶福磊:
信息修改(修改)
钟浩杰:
信息统计(统计)
曾炫:
商品销售(输出)
1.3.2计划
需求分析阶段:
用时一天。
需求分析,业务逻辑,模块化分,详细分工编码阶段:
用时两天。
根据需求分析进行编码
整合:
待续
⒉系统分析
2.1系统流程图
。
3欢迎下载
精品文档
业务流程图
2.2
数据字典
重要数据及其简要描述如下所示:
1)
数据元素:
表3.1
商品编号
名称:
商品编号
总编号:
1-001
说明:
唯一标识商品
编号:
001
数据值:
(连续/离散)离散
有关编码说明:
类型:
(字符/数字)数字
长度:
4
有关数据结构:
商品卡片
表3.2
员工编号
名称:
员工编号
总编号:
1-002
说明:
唯一标识员工
编号:
002
数据值:
(连续/离散)连续
有关编码说明:
类型:
(字符/数字)数字
长度:
7
有关数据结构:
员工卡片
。
4欢迎下载
精品文档
表3.3销售编号
名称:
销售编号总编号:
1-003
说明:
唯一标识每次销售登记编号:
003
数据值:
(连续/离散)连续有关编码说明:
类型:
(字符/数字)数字
长度:
17
有关数据结构:
销售登记卡
表3.4库存盘点票号
名称:
库存盘点票号总编号:
1-004
说明:
记录一次库存盘点并唯一标识编号:
004
数据值:
(连续/离散)离散有关编码说明:
类型:
(字符/数字)数字
长度:
17
有关数据结构:
库存盘点登记卡
2)数据结构:
表3.6商品卡片
名称:
商品登记卡总编号:
2-001
说明:
商品信息卡片编号:
001
结构:
有关数据流,数据存储:
编号商品登记表
名称
商品创建时间
销售单价
[商品备注]
。
5欢迎下载
精品文档
3)数据流:
表3.7操作信息
名称:
操作信息总编号:
3-001
说明:
业务员对客户提出的请求向计算机进行操作编号:
001
数据流来源:
业务员
数据流去向:
包括的数据结构:
商品登记
名称
销售登记
金额
日期
表3.9管理信息
名称:
管理信息总编号:
3-002
说明:
管理员对库存,财务,基本信息进行管理操作编号:
002
数据流来源:
管理员
数据流去向:
包括的数据结构:
库存登记
数量
财务
收入
支出
基本信息登记
4)数据存储:
表3.10进货一览表
名称:
进货文件总编号:
4-01
说明:
一段时间内所有进货信息的存储编号:
D1
结构:
入库时间入库编号
入库数量
商品编号
。
6欢迎下载
精品文档
表3.11销售一览表
名称:
销售文件总编号:
4-02
说明:
一段时间内所有销售信息的存储编号:
D2
结构:
销售编号有关数据流:
销售时间
商品编号
销售数量
销售单价
销售备注
表3.12库存一览表
名称:
库存文件总编号:
4-03
说明:
一段时间内所有库存信息的存储编号:
D3
结构:
更新日期有关数据流:
库存编号
库存数量
商品编号
5)处理过程:
表3.12销售信息单
名称:
填写销售单总编号:
5-001
说明:
所销售商品的详细信息编号:
P2
输入:
D2→P2
输出:
P2→(销售单)
处理:
查(销售文件)打印销售单,对不完整的地方进行备注信息说明
表3.13进货信息单
名称:
填写进货单总编号:
5-002
说明:
所进商品的详细信息编号:
P3
输入:
D1→P3
输出:
P3→(进货单)
处理:
查D1(进货文件)打印进货单,对不完整的地方进行备注信息说明
。
7欢迎下载
精品文档
表.3.14库存信息单
名称:
填写库存单总编号:
5-003
说明:
商品存储的详细信息编号:
P4
输入:
D3→P4
输出:
P4→(反馈信息单)
P4→(库存信息单)
处理:
查D3(库存文件)打印库存单,对反馈是否存在信息,对管理员显示库存的详细信息,便于管理。
⒊系统设计
3.1代码设计
编码设计使数据库系统开发的前提条件,使系统不可缺少的重要内容。
编码是指与原来名称对应的符号和记号。
它是进行信息交换、处理、传输和实现信息共享的关键。
本系统内部信息编码采用顺序码和区间码混合使用:
顺序码是用一串连续的数字来代表系统中的客观实体或实体属性。
其优点是简单,容易处理,但是不能反映编码对象的特征。
所以用区间码来弥补这个缺点。
区间码是按编码的特点把代码分为若干个区段,每一个区段表示编码对象的一个类别。
合理的编码结构是信息处理系统是否具有生命力的一个重要因素,在本系统的代码设计时,遵循以下几个原则:
a)惟一性。
每个代码只能惟一地代表系统中的一个实体或实体属性。
b)标准性。
代码设计时采用国际或国家的标准代码。
c)合理性。
代码设计应该与编码对象的分类体系相适应,使代码对编码对
象的分类有标识作用。
d)可扩充性。
编码时留有足够的备用代码。
e)简单性。
方便输入,提高处理效率。
f)适用性。
便于识别和记忆,使用户容易了解和掌握。
编码设计如图:
SP00
商品名称编码顺序码编码
。
8欢迎下载
精品文档
3.2输出设计
输出设计的主要目的是满足用户和管理者对数据和信息的要求。
本系统将
采用表单和查询显示输出方式,使用者可以通过多种方式获取自己所需信息。
输出设计主要考虑了以下几点:
a)方便使用者
b)考虑系统的硬件性能
c)尽量利用原系统的输出格式
d)输出表格要考虑系统的发
例如:
表3.1输出销售表
编号:
总金额:
商品编号:
商品名称
数量:
备注信息:
商品单价:
3.3输入设计
在计算机信息传统中,输入数据的正确性决定着整个系统质量的好坏。
本商
品进销存管理系统主要采取以下输入方法:
1.键盘输入法:
录入人员直接通过键盘输入法将所需数据直接手工输入。
由于该系统所涉及的数据量不是很大,所已本系统将采取人工校对的方式进
行数据核对。
即输入数据后,屏幕将录入的数据显示出来,由人工进行校对。
3.4数据库设计
概念结构设计过程
本次课设开发商品进、销、存管理系统,经过可行性分析、详细调查以及多次讨论,确
定了该系统由商品入库、信息查询、信息修改、信息统计、商品销售五个子系统组成。
本过程结构设计过程采用自底向上的设计方法,即首先定义各局部应用的概念结构,然
后将它们集成起来,得到全局概念结构.
下面给出商品销售子系统的分析及分E-R图的设计及对其进行的各项调整。
。
9欢迎下载
精品文档
商品入库子系统(陈光)
包含子功能:
此模块完成库存产品的输入包括库房中已有商品库存的增加以及新产品的输入
信息和数量。
如果库房中已存在此商品,则不需添加此商品的商品信息,直接对商品数量做成一定的更新即可。
如果此商品为库存中已存在的商品,则应当添加对应的商品信息,包括名称,单价等。
再将新商品的数量输入数据库。
根据需求分析给出的数据流图,参照数据字典中的详细描述,给出
商品入库子系统的E-R图:
单价
名称
商品创建时间
备注
编号
库存
信息查询子系统(李钦铭)
包含子功能:
商品查询,销售查询,入库查询
A.商品信息查询。
{商品编号,商品名称,类型,备注,库存量}
B.销售信息查询。
{销售编号,品种数,总金额,客户名称,销售日期,流水号,商品编号,销售单价,销售数量。
}
C.入库信息查询。
{入库编号,品种数量,总计金额,入库时间,商品编号,进货单价,数量}
子系统功能:
用户可通过表中所有的属性根据需要选择自己的属性集合来对三张表的信息进行查询。
处于
商品信息查询状态时有五种基本属性:
商品编号,商品名称,类型,备注,库存量。
销售信
息查询状态时有九个基本属性:
销售编号,品种数,总金额,客户名称,销售日期,流水号,
。
10欢迎下载
精品文档
商品编号,销售单价,销售数量。
处于入库信息查询状态时有七个基本属性:
入库编号,品
种数量,总计金额,入库时间,商品编号,进货单价,数量。
E-R图:
管理员
N
查询
3
111
商品信息销售信息入库信息
111
商品信息表销售信息表入库信息表
实体属性定义:
管理员(因系统简单,不储存管理员信息,因此不定义此实体的属性)商品信息(商品编号、商品名称、商品单价、商品创建时间、商品备注)销售单(销售编号、销售时间、商品编号、销售数量、销售备注)库存单(商品编号、库存数量)
信息修改子系统(冶福磊)
子系统的功能:
A.通过商品编号查找出商品的所有信息
B.通过库存编号查找出库存的所有信息
。
11欢迎下载
精品文档
C.通过销售编号查找出销售的所有信息
D.根据查找出来的信息,可以对这些信息进行修改
根据需求分析给出的数据流图,参照数据字典中的详细描述,给出
商品修改子系统的E-R图:
实体属性定义:
管理员(因系统简单,不储存管理员信息,因此不定义此实体的属性)
商品(商品编号、商品名称、商品单价、商品创建时间、商品备注)
销售单(销售编号、销售时间、商品编号、销售数量、销售备注)
库存单(商品编号、库存数量)
信息统计子系统(钟浩杰)
子系统的功能:
A.通过商品编号/信息查找出商品的所有信息
B.通过商品名称查找出商品的所有信息
。
12欢迎下载
精品文档
C.对查询所得的数据分类统计,并将统计的结果以视图(View)的形式展现到
用户窗口中
根据需求分析给出的数据流图,参照数据字典中的详细描述,给出
信息统计子系统的E-R图:
用户N
N
查看
查询
M
M
N
组成
M
进销存三级数据表
统计结果视图
实体属性定义:
用户(用户名)
进销存三级数据表:
进货表(进货编号,商品编号,进货时间,进货数量,进货备注)
存货单(商品编号、商品名称、商品单价、商品创建时间、商品备注)
销售单(销售编号、销售时间、商品编号、销售数量、销售备注)
统计结果视图(需统计的信息,统计后的信息)
商品销售子系统(曾炫)
子系统的功能:
A.通过商品编号查找出商品的所有信息
B.通过商品名称查找出商品的所有信息
C.输入销售数量及备注(可为空)完成销售交易
D.可以随时查看今日销售总额
根据需求分析给出的数据流图,参照数据字典中的详细描述,给出
。
13欢迎下载
精品文档
商品销售子系统的
E-R图:
顾
客
1
库存单
m
对应
1
购买
1
销售单
对应
n
1
商品
对E-R图调整的准则:
现实世界中的事物能作为属性对待的尽量作为属性对待;
属性和实体的划分:
属性中不具有需要描述的信息,即属性是不可分的数据
项,不再包含其他信息。
具体调整如下:
1.本来顾客还应对应员工关系,但这里为了简便,员工也省略了。
2.库存单可以作为商品的一个属性来设置,但这里为了强调商品的库存情况,需要库存进
行进一步的描述,因此这里作为一个实体;
逻辑结构设计
用户的需求体现在各种信息的提供、保存,更新和查询,这就要求数据库结
构能充分满足各种信息的输入和输出。
收集基本数据,数据结构以及数据处理的
流程,组成一份详细的数据字典,为后面的具体设计打下基础。
设计如下数据项和数据结构:
商品信息,包括的数据项有:
商品编号,商品名称,商品单价,商品创
建时间,商品备注等等。
入库单信息,包括的数据项有:
入库编号,入库时间,入库数量,商品
品编号,入库备注等。
销售单信息,包括的数据项有:
销售时间,销售编号,销售数量,商品
编号,销售单价,销售备注等。
库存信息,包括的数据项有:
编号,商品编号,库存数量等。
。
14欢迎下载
精品文档
物理结构设计
有了上面的数据结构,数据项和数据流程就可以进行如下的数据库设计,要
将上面的数据库概念结构转化为SQLServer2000数据库系统所支持的实际数据
模型,也就是数据库的逻辑结构。
商品资料
tb_product_info
名称
列名
数据类
长度
允
许
其他
相关表
型
空
商品编号
proID
int
主
键
自增
商品名称
proName
Varchar
30
商品单价
proPrice
Varchar
50
商品创建时
proCreateTime
datatim
间
e
商品备注
proRemark
Varchar
250
允许
入库单
tb_ruku_info
名称
列名
数据类
长度
允
许
其他
相关表
型
空
入库编号
rukuID
int
主
键
自增
入库时间
rukuDateTime
dataeti
me
入库数量
rukuAcount
int
商品编号
proID
int
参照商品资料
外
tb_product_info
键
入库备注
rukuRemark
Varchar
250
允许
库存单tb_kucun_info
名称
列名
数据类
长度
允
许
其他
相关表
型
空
商品编号
proID
int
参照商品资料
外
tb_product_info
键
库存数量
kucunAcount
int
销售单tb_sell_info
名称列名数据类长度允许其他相关表
型空
。
15欢迎下载
精品文档
销售编号
sellID
int
主
键
自增
销售时间
sellDateTime
dataeti
me
商品编号
proID
int
参照商品资料
外
tb_product_info
键
销售数量
sellAcount
int
销售单价
proSellPrice
Varchar
50
销售备注
sellRemark
Varchar
250允许
⒋系统实施
由于用户需求和管理需求的不确定性,系统应用环境经常发生变化,应用软
件要有足够的灵活性、适应性来满足对软件的输入、输出的要求。
操作系统:
WINDOWSXP
数据库:
SQLSever2000
前台开发:
MicrosoftVisualStudio2008
5.系统测试
编程完成后,开始系统测试,不断地重复测试系统功能,使用正确数据录入,
一遍遍测试系统的功能是否完成,是否能够达到需求,第二项就是出错处理,根据系统需求给每个部分可能出错的情况进行了出错处理。
。
16欢迎下载
精品文档
。
17欢迎下载
精品文档
。
18欢迎下载
精品文档
。
19欢迎下载
精品文档
。
20欢迎下载
精品文档
6.心得体会和总结
6.1个人心得体会
陈光个人心得体会
通过这次课程设计,我不仅巩固了数据库课程中所学的各种关于Sql的
知识和技巧,更重要的是我学会和实践了如何使用所学知识设计可行的,符合要求的没有冗余的数据库表。
这个是课程学习中比较缺乏的经验。
此外还
提高了自己使用sqlserver的能力,和用面向对象编程语言C#的编程能力。
从数据库的设计和实施中我巩固了,如何创建数据库和表,如何创建视图,
如何设置主键和外键,如何设置建的自增。
另外,由于使用NAT网络进行数据库的连接,我还特别学到了如何配置网络数据库,如何查看数据库的端口监听状态。
从c#的编程实践中我学会了如何使用面向对象的sqlclient类进行数据库的连接和调试。
重点明白了c#与数据库间建立连接后沟通和存取数据的过
程和方法。
明白了Dataset,和DataAdapter以及Sqlserver之间的关系和作
用机制。
DataAdapter是数据库与程序间沟通的桥梁。
使用DataAdapter的Fill方法填写DataSet供应用程序去调用。
用DataAdapter的command子类定义sql命令并执行。
这次课程设计做不同以往的地方就是在课设中使用了系统的,工程化的方法和技术。
借鉴了很过原来的成功项目的实践经验。
今后的实践和工作都应始终遵循工程化原则,以保证任务的准确和高效完成。
李钦铭个人心得体会
在此,我们的项目将告一段落,虽然对我们是皆大欢喜,然而我们并不
会因此感到骄傲、自满、因为我们需要做的还很多。
让我认识最深的就是团
队合作精神,这种精神在项目以及职业生涯中是不可缺少的,最后我们每一
个职业人必须拥有的一种能力。
当然,我们从中也了解到编程的乐趣以及程
序编写的多样性和变通性。
然而,在整个项目的开发中也暴露出了我们在知
识掌握上存在的误区,同时让我们也深刻明白了“会做与做了”的区别。
所
以总的来说,通过这个项目,除了技术和知识层面上的收获,值得我们去学
。
21欢迎下载
精品文档
习、深思的却更多,因为我们依然在成长!
冶福磊个人心得体会
通过这次数据库系统设计,我基本了解了整个系统的大致模型,数据库与程序之间的链接,但是在输出方面,还有一些类型不一致导致显示出错或修改出错。
所以只能将那些特殊类型的数据都改为VARCHAR类型的,这样数据失去了它的特性。
这对以后的发展是不利的,所以在以后的发展道路上我们要解决这些问题。
如果技术上允许,以后可以尝试用网站的形式来做一个这样的系统。
可能还有一大堆新知识要学习,但是我们要相信前途是光明的,我们一定要不惧困难,语言不是问题,思想才是最主要的,以后对系统的分析要更彻底,更详细,这样就可以保证在实现阶段少一些问题。
钟浩杰个人心得体会
在数据库专业课的学习中,我们接触了高移