超市库存管理系统的设计
超市库存管理系统
内容摘要
超市库存管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。
经过分析,我们使用MICROSOFT 公司的VISUAL BASIC 开发工具,利用其提供的各种面向对象的开发工具, 尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象, 首先在短时间内建立系统应用原型, 然后, 对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。
本系统主要完成对超市的管理,包括进货管理,销售管理,库存管理和员工管理四个方面。系统可以完成对各类信息的浏览、查询、添加、删除、修改等功能。
系统的核心是销售、库存查询和进货管理三者之间的联系,每一个表的修改都将联动的影响其它的表,当完成销售或进货操作时系统会自动地完成相对应信息的修改。查询功能也是系统的核心之一,在系统中主要根据商品编号和商品名称等进行查询,其目的都是为了方便用户使用,以求更快的查找到各个物料和产品品质的基本信息。系统有完整的用户添加、删除和密码修改功能,系统采用Microsoft Office 中的Access 2000来设计数据库,并使用当前优秀的开发工具—VB 6.0,它有着最为灵活的数据库结构,对数据库应用有着良好的支持。
论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程。重点说明了系统的设计思想、难点技术和解决方案。
关键词:窗体数据库超市商品信息系统库存管理
Supermarket Stock Manage System
Abstract
This system chiefly accomplishes the stock management to the storehouse, includes being put in storage, goes out the warehouse and stocks, and staff’sinformation, six aspects such as supplier's information as well as cryptogram management etc. What the system can accomplish to various kind the information glances over and the function such as inquires about ads, deletes and modification etc.
The systematic nucleus is put in storage, stocks and goes out the contact between the warehouse, and when accomplishes being put in storage or going out a warehouse, the system can accomplish voluntarily the modification of stock to other table of influence that the modification of every table all will be link geed when operating. Inquiring about the function also is one of systematic nucleus, namely having the wall scroll spare to inquire about and inquires about with many conditions in the system, also having accurately the query to inquire about with blurring, not only there is the condition query of static state in the system, also having the condition query of trends formations, his purpose all is using for convenient user. The system has complete user to add, deletes and the cipher modification function, and has the report form and prints the function. The Access 2000that the system adopted among Microsoft Office comes the design data warehouse, and use before one Zorach development tool -VB6.0, it has the most nimble data base structure, and the application has the good support to the data warehouses.
The development background of this the subject, course of function and the development that will be accomplished were chiefly introduced to thesis.
The emphatic explanation focal point of systems design, design thought and difficult point technology and settlement scheme.
Key words:forms data base supermarket goods information system
Stock manage
目录
····································································································1序言·
一、概论····························································································2
····························································(一)超市库存管理的现状·2
·········································2(二)超市库存管理的发展背景和意义·
······················································································二、系统规划·3
(一)系统任务··············································································3
···············································································(二)系统目标·3
···············································································(三)系统计划·3
···········································································(四)可行性研究·3
三、系统分析···················································································5
···············································································(一)需求分析·5
············································································(二)组织机构图·6
············································································(三)业务流程图·6
············································································(四)数据流程图·7
················································································(五)系统分析·9
··············································································(六)数据字典·10
······················································································四、系统设计·12
···································································(一)系统功能模块图·12
··········································································(二)数据库设计·12
·······································································(三)输入输出设计·15
五、系统实施·····················································································18
·············································································(一)系统功能·18
······································································(二)系统功能介绍·18
··········································································六、系统测试与维护·23
················································································(一)系统测试·23
················································································(一)系统维护·24
·························································································七、结束语·26
···························································································27参考文献·
··········································································附录:部分系统代码·28
序言
超市库存管理系统是一个超市不可缺少的部分,它的内容对于超市的决策者和管理者来说都至关重要,所以超市库存管理系统应该能够为用户提供充足的信息和快捷的销售,查询手段。但一直以来人们使用传统人工的方式管理文件信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对品质信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高超市库存管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
因此,开发这样一套管理软件成为很有必要的事情,在接下来我们将以开发一套超市库存管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法。
一、概论
(一)超市库存管理的现状
库存管理是超市经营管理中的核心环节,也是超市能否取得效益的关键,如果能做到合理进货、及时销售、库存量最小、减少积压,那么超市就能取得最佳的效益。由此可见,库存管理决策的正确与否直接影响了企业的经济效益。
我国国内许多中小型超市装备资金少,在计算机应用、数据交换、信息传输上都严重滞后,整体信息传输、资料存储、商品分析、报表编制、市场预测等功能无法发挥。很多环节仍采用人力方式进行低效的采购、销售、物流、财务处理。
(二)超市库存管理的发展背景和意义
当今社会在不断进步,科学技术和管理也在迅速发展,世界经济正在从工业经济向知识经济转变,我们说知识经济的两个重要特征就是信息化和全球化,要实现信息化和全球化,就必须依靠完善的网络和完善的数据库。在这样一个飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用于管理信息系统的环境。面对此番形势,在手工管理的情况下,管理人员很难对进货量及库存量进行良好的控制,商品的供求信息很难正确得到,各部门之间的通讯也经常不畅通,这在激烈竞争的市场中是非常不利的。超市库存管理系统就是在这种状况下出现的,它利用计算机的技术,使得超市进货、库存和销售能够有机结合起来,提高超市的效率和效益,而且超市在客观性、时效性、科学性等方面抢得了先机,为运用现代化手段管理超市提供了保证,使超市的人、财、物最大限度地发挥了效益,杜绝了商品购、销、存多方面的漏洞
二、系统规划
(一)系统任务
超市库存管理信息系统的任务内容涉及超市库存管理的全过程,包括入库、出库、销售、库存统计查询等等。它将包括以下内容:
1.对超市内的各类货物进行分类管理;
2.存储各类信息档案包括货物、商品基本信息、供货单位信息、使用单位信息等;
3.仓库管理的各种信息的输入,包括采购入库,销售出库等;
4.对库存管理的各种信息的查询,修改,维护和报表打印。
(二)系统目标
1.大大提高超市的运作效率。
2.通过全面的信息采集和处理,辅助提高超市的决策水平。
3.使用本系统,可以迅速提升超市的管理水平,为降低经营成本,提高效益,增强超市扩张能力,提供有效的技术保障。
(三)系统计划
1.有关调试、研究和计划所建议的开发系统。找出问题定义说明书。
2.接着进行软件系统定义的一个阶段需求分析。回答系统所要做的对软件需求描述的精细化。
3.初步概要设计,之后就是详细设计。
4.进行模块的编码及测试,写出测试报告(论文)。
5.最后是文档的整理,并积极准备答辩。
(四)可行性研究
1.技术可行性
技术可行性包括一下几个方面:硬件,系统软件,应用软件,技术人员。针对这四个方面可行性都是没有问题的,本系统预采用Visual Basic 编程语言加Access 数据库。目前,数据库产品较多,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围,选择最合适的。
(1)VB介绍
Visual Basic 是微软公司出品的一个快速可视化程序开发工具软件,借助微软在操作系统和办公软件的垄断地位,VB在短短的几年内风靡全球。VB是具有强大功能的软件,主要表现在:所见即所得的界面设计,基于对象的设计方法,极短的软件开发周期,较易维护
的生成代码。VB程序语言具有许多优秀的特性,用其设计应用程序时有两个基本特点:可视化设计和事件驱动编程。
(2)Access
Access 作为一个数据库管理系统,它被集成在Microsoft Office 中。Access数据库处理的基本结构,采取关系型数据库模式。与其他的数据库系统相比,Access更加简单易学,一个普通的计算机用户可以很快地掌握它。Access2000的功能十分强大,利用它可以方便地实现对信息保存、维护、查询、统计、打印、交流、发布,而且它可以十分方便地与Office 其他组件交流数据,这些功能对于一般用户而言已经足够了。
2.经济可行性
近年来,企业管理者开始重视存货管理的重要性,存货管理主要是对商品的管理,它强调的是对商品货物的存储和传送,数量和状态变化信息的管理,其目标是在于降低库存成本,减少库存资金占用的同时,保证商品货物按计划流动,保证生产过程中的物料需求,保证生产的正常运行,从而使商品满足顾客和市场上的需求,库存控制就是要权衡库存费用(包括商品价值,订货费用,短缺等),使总费用最低。超市库存管理系统的职能大体上包括订单管理、入库管理和出库管理。所以库存管理人员已经成为仓库的计划员,他们的工作也受到了高度的重视,他们和市场部门及生产部门协同工作并成为整个企业组织的重要组成部分。因此,商品货物信息必须具有高度的准确性,这就需要有好的管理系统,能简明的反映实际情况。
3.社会可行性
信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和生活的各个领域。计算机虽然与人类的关系愈来愈密切,但是仍然还有人由于计算机操作的不方便而继续使用传统的手工劳动。为了适应现代社会人们高度强烈的时间观念,超市库存管理系统软件为超市库存管理方面带来了极大的方便。操作人员只需要输入一些简单的汉字或数字,便可很方便的达到自己的目标。
综上所述,不管是从技术上考虑,还是从经济以及社会上考虑,我们的系统都具有一定的可行性,因此我们才开发研究这个系统供广大读者使用。
三、系统分析
(一)需求分析
随着我国改革开放的不断深入,经济飞速的发展,企业要想生存、发展,要想在激烈的市场竞争中立于不败之地,没有现代化的管理是万万不行的,超市库存管理的全面自动化、信息化则是其中极其重要的部分。为了加快超市库存管理自动化的步伐,提高超市的管理业务处理效率,建立超市库存管理系统已变得十分必要。
将计算机这一信息处理利器应用于超市的日常管理已是势必所然,而且这也将为超市库存管理带来前所未有的改变,它可以带来意想不到的效益,同时也会为企业的飞速发展提供无限潜力。采用计算机管理信息系统已成为超市库存管理科学化和现代化的重要标志,它给企业管理来了明显的经济效益和社会效益。主要体现在:极大提高了超市工作人员的工作效率,大大减少了以往入出存取流程繁琐,杂乱,周期长的弊端,可以减少入库管理、出库管理及库存管理中的漏洞,可以节约不少管理开支,增加企业收入。
超市管理的操作自动化和信息的电子化,全面提高了超市的管理水平。入库、库存、出库还是现在企业超市库存管理的常规基本模式,虽然,最近又出现了很多新的管理模式,如:基于零库存思想的沃尔玛特管理方式,但这些新的思想在中国大部分企业的管理中还是难以实现的。所以如何设计好超市库存管理系统,尽可能地减少超市库存管理的重复性和低效性就成为当前最为重要的问题。超市供销管理的核心是入库、库存和出库之间的联系,如何处理好三者之间的关系是系统最为关键的部分。另外,经办人信息和厂家信息管理也是超市库存管理中一个必不可少的部分,它提供着与入库和出库相关的地一些信息,使得整个系统更加完整,更加实用。
通过对超市库存管理日常工作的详细调查,搜集了大量的资料,从系统结构的组织,功能的实现,技术的要求以及可行性等多方面进行考虑,认为本课题是一个适应现今超市供销管理需求的计算机信息管理系统,具有一定的实际开发价值和使用价值。
(二)组织机构图
(三)业务流程图
业务流程图图例:图3-1组织机构图
图3-2
业务流程图图例
超市库存业务流程图:
图3-3业务流程图
(四)数据流程图
数据流程图:数据流程图(简称DFD )是便于用户理解的系统数据流程的图形表示,它能精确的在逻辑上描述系统的功能,输入、输出和数据存储等,也是描述管理信息系统逻辑模型的最主要的工具。
总的数据流程图:外部实体主要有消费者,供货商,消费者通过购买从超市购得商品,超市与供货商就是一个供求关系。通过超市向其提供订货单,选择需求的货物。
货币
消费者
超市库存管理系统
商品
订货单
供货商
货物
图3-4数据流程总图
超市库存管理系统的第一层图:超市库存管理系统主要包括了进货管理管理,销货管理管理,退货管理三个主子模块,进货有进货统计表,销货有销货统计表,退货有退货统计表,三者通过管理员联系在一起,组成超市库存管理系统。
P1进货
D1
进货统计表
P3
管理员
销货
D3
销货统计表
P2退货
D2
退货统计表
图3-5数据流程子图1
对于超市库存管理子模块中,主要有添加,删除,修改,查询功能,其中货物的添加要进行详细的数据处理,对货物的信息都要按要求填写,否则不能正常添加。
超市库存管理二层数据流程图:消费者提出交易请求,超市管理员进行交易登记。
管理员
P11仓库
D1
商品库存表
出入
P21交易管理
P31
登记
进货统计表销货统计表
购买
库存管理
D3D1
消费者
D2退货统计表
图3-6数据流程子图2
(五)系统分析
作为一个超市库存管理系统,其功能是实现超市中商品的进货销售,库存等管理的系统化、规范化和自动化。本系统主要需要完成的功能有:
1.交易管理:包括进货登记、销货登记、退货登记等。其中进货登记中还包含进货商登记,如过是新的进货厂商,可以直接在此登记入库。进货和销售的主要交易都是在此进行。每次交易(包括进货、销货和退货)都需要对商品名称、生产厂商、商品型号、单价、数量、总金额、交易日期、经手业务员编号等各项记录。在交易过程中,程序的编写尽可能的方便员工进行交易,比如:进货登记时,如果商品编号相同,则自动添加该商品的其它属性;销货登记时,用户只要输入商品编号,该商品的其它属性即可自动出现。退货登记时,只要输入正确的销货编号,其销售信息也将自动列出,尽量的方便了用户的操作,同时对于登陆的员工编号程序也自动的将其列在进货登记、销货登记中,已防止员工进行非正常的交易。
2.进货统计:包括今日进货统计、本月进货统计、本季度进货统计、本季度进货统计、本年度进货统计等。其中每次进货统计都是按进货厂商和进货总金额统计显示的。使用一个表格显示所选时间段的全部进货数据,包括进货编号、商品名称等。再使用另一个表格显示分别从各个厂商进货的金额,还有一个文本框用于显示次时间段的进货总金额。
3.销货统计:包括今日销售统计、本月销售统计、本季度销售统计、本年度销售统计等,其中每次销售统计都是按生产厂商和销售总金额统计显示的。使用一个表格显示所选时间段的全部销售数据,包括销货编号、商品名称等。再使用另一个表格显示分别从各个厂商进货的金额,还有一个文本框用于显示次时间段的销售总金额。
4.查看数据表:实现各种数据表的浏览,包括进货表,商品库存表、销售表、退货表、员工表、进货商表等。对于员工表管理员还可以对其进行删除或添加用户操作。
5.系统管理:包括更换用户、修改密码、退出系统等。更换用户的操作方便了用户的使用,同时更加方便了管理员对于系统数据的查询,可以做到随时查看,以使管理员对帐目一目了然,同时方便了普通用户的交接班使用本系统。修改密码和退出系统都是对于系统管理的辅助功能,再这里就不详细说明了。
6.其它窗体:包括主窗体、登陆窗体、系统初始化窗体。主窗体就是将各个模块的大意列在菜单中,然后通过每一个菜单将其它的窗体逐个对应的连到主窗体中。登陆窗体为本系统的启动窗体,其功能是让合法的用户使用本系统,已防止其它的非法人员使用该系统。并对登陆的用户做一下权限的区别:分为管理员和普通员工。系统初始化窗体的主要目的是:在本系统的试运行阶段成功后是管理员可以直接把除了员工表以外的所有数据表的内容清零。登陆窗体中设计了一个权限,可以区分是员工登陆还是管理员登陆,如果是管理员则提示是否进行系统初始化,否则直接进入主窗体。
(六)数据字典
1.数据元素
数据元素条目
数据元素名称:进货编号类型:文本型长度:10
描述:仓库进货的编号有关的数据结构:buy
数据元素条目
数据元素名称:商品名称类型:文本型长度:16
描述:商品的名称有关的数据结构:buy
数据元素条目
数据元素名称:生产厂商类型:文本型长度:20
描述:商品的生产厂商有关的数据结构:goods
2.数据流条目
数据流条目
数据流名称:进货登记
简述:用户登陆可进行添加进货记录数据来源:buy
数据流向:进货统计表
数据流条目
数据流名称:查生产厂商信息简述:管理员登陆后可进行查询数据来源:库存商品信息数据流向:查询窗口
3.处理过程描述
数据元素条目
数据元素名称:货物数量类型:数值型长度:50
描述:货品的数量有关的数据结构:goods
数据流条目
数据流名称:查看商品
简述:从商品信息表中检索信息数据来源:现有商品统计数据流向:查看结果
数据流条目
数据流名称:销货登记
简述:用户登陆可添加销货记录数据来源:sell
数据流向:销货统计表
处理功能条目
名称:查询现存商品
输入数据:按商品名称、生产厂商来查询
输出数据:商品编号,商品名称,生产厂商等等处理逻辑:支持单表查询
处理功能条目
名称:添加员工
输入数据:员工编号,员工姓名,员工密码,密码确认,员工电话,员工地址输出数据:是否添加成功
处理逻辑:1.员工名称是否不同
2.员工两次输入密码是否一致
处理功能条目
名称:添加生产厂商
输入数据:厂商编号,厂商名称,联系人姓名,联系电话,厂商地址输出数据:是否添加成功处理逻辑:1.是否有漏填
2.数据要求是否匹配3.信息是否填写完整
4.数据存储
数据存储条目
数据存储名称:商品库存表说明:存储现存商品信息
结构:商品编号,商品名称,生产厂商,型号,数量,进货价,销货价关键字:商品编号
数据存储条目
数据存储名称:员工信息表说明:存储员工基本信息
结构:员工编号,员工姓名,员工密码,员工电话,员工地址关键字:员工编号
相关处理:查询,修改,添加,删除
数据存储条目
数据存储名称:进货表
说明:存购入货物基本信息
结构:进货编号,商品名称,生产厂商,型号,数量,进货价,进货年,
进货月,进货日,业务员编号,总金额
关键字:进货编号
四、系统设计
(一)系统功能模块图
图4-1功能模块图
(二)数据库设计
数据库设计作为本系统设计的一部分不可缺少。开发本系统中使用的数据库系统是Windows Access 2000。
1. E —R 图
(1)超市与供货商、消费者之间的关系图。体现超市的进货、销货与退货操作。实体E-R
图如下:
(2)管理员与员工之间的关系图:一名管理员可以管理若干员工。实体E-R 图如下:
(3)商品属性图:商品的属性包括商品编号、生产厂商、商品名称、型号、进货价、销货价、数量、进货年、进货月、进货日、业务员编号、总金额等。
2.数据库表
本系统需要建立以下几个数据表:buy 表(进货表)、goods 表(现存商品表)、sell 表(销售表)、retreat表(退货表)、employee表(员工表)、manufacturer表(进货商表)。由于数据量比较小,所以这些数据表都存在一个数据库下:sellsystem.mdb
在系统的数据库设计中,进货表、销货表、
商品库存表和退货表涉及了交易管理三个子
菜单的绝大部分数据,是本系统数据库的核心,所以将对其部分表的设置列表显示。
Manufacturer 表(进货商表)中包括有厂商编号、厂商名称、联系人姓名、电话、厂商地址等字段,表略。
employee(员工表)中包括有员工编号、员工姓名、员工密码、员工电话、员工地址等字段,表略。
buy 表(进货表)中包括有进货编号、商品编号、商品名称、生产厂商、型号、数量、进货价、进货年、进货月、进货日、总金额、业务员编号等。
下面对各个数据表的结构做一下简单介绍具体设置如表3-1所示。表4-1buy 表
字段名进货编号商品名称生产厂商型号数量进货价进货年进货月进货日业务员编号总金额
数据类型文本文本文本文本数字货币数字数字数字文本货币
说明字段大小为20字段大小为20字段大小为20字段大小为20
长整型货币整型整型整型字段大小为20
货币
goods 表(现存商品表)中包括有商品编号、生产厂商、商品名称、型号、进货价、销货价、数量、进货年、进货月、进货日、业务员编号、总金额等字段。具体设置如表3-2所示。
表4-2goods 表
字段名商品编号商品名称生产厂商型号数量进货价销货价
数据类型文本文本文本文本数字货币货币
说明字段大小为20字段大小为20字段大小为20字段大小为20
长整型货币货币
sell 表(销货表)中包括有销货编号、商品编号、商品名称、生产厂商、型号、数量等字段,由于篇幅有限,其表略。
retreat 表(退货表)中包括有退货编号、销货编号、生产厂商、商品名称、型号、单价、数量、总金额、退货年、退货月、退货日、业务员编号等。具体设置如表3-3所示。
表
4-3retreat 表
字段名退货编号销货编号商品名称生产厂商型号单价数量总金额退货年退货月退货日业务员编号
数据类型文本文本文本文本文本货币数字货币数字数字数字文本
说明字段大小为20字段大小为20字段大小为20字段大小为20字段大小为20
货币长整型货币整型整型整型字段大小为20
(三)输入输出设计
输入设计的原则主要有简单性,最小量原则,少转换原则,早检验原则。
本系统界面始终一致,减轻了用户的负担,让用户始终用同一种方式思考与操作。并且界面友好,使用方便,对于一些相对固定的数据,不应让用户频频输入(特别是汉字) ,而应让用户用鼠标轻松选择。
1.销货登记输入:输入商品编号,自动生成有关商品信息;输入销货编号及销货数量。
输出结果如下:直接点击销售按钮即可完成销售。
2.进货登记输入:
输入商品编号,进货编号,商品名称等信息。
输出结果如下:直接点击添加入库按钮即可完成进货登记。
五、系统实施
(一)系统功能
1.可以进行文本操作;
2.添加一个数据库项目;
3.删除一个数据库项目;
4.修改一个数据库项目;
5.查询信息;
6.用户添加和密码修改。
(二)系统功能介绍
由于此系统由本人和同小组的杨声伟共同完成,这里只着重介绍由本人设计制作的模块,其余部分将在杨声伟同学的论文中得到充分说明,这里只列其名字,具体介绍不予列出。
1.登陆窗体
该登陆窗体对用户登陆做了一个简单的判断,如果是管理员登陆则可进入初始化界面,然后再进入主界面。具体做法是:先在窗体级中定义一个记录集,用于打开employee 表,打开后将该表中的字段:员工姓名,依次加到combo1中。全加入后关闭记录集,然后对combo1和text1中的内容做一下简单判断:如果combo1和text1中的数据正好和employee 表中的某个记录相同,则通过登陆窗体,否则提示用户用户名或密码有误。在通过登陆窗体中还要对用户名做一下判断:如果是管理员登陆,则进入系统初始化窗体,如果是普通用户登陆,
则进入主界面。
2.初始化窗体
该初始化窗体为本系统的使用者提供了试运行服务,如果使用者试运行后决定正式使用,可以通过管理员登陆本窗体对系统进行初始化,即清空试运行阶段的所有销售数据。具体实现过程为:定义5个记录集,其每一个记录集控制一个数据表的打开与关闭操作,其记录集的取名与数据表相近:rs_sell,rs_buy,rs_goods,rs_retreat,rs_manufacturer.当管理员点击是标签时,先出现一个消息框,问管理员是否真的要进行初始化。如果是,则5个记录集依次连接到5个数据表上,然后对每个数据表的内容进行删除操作。具体删除方法为:先对表的状态进行判断,如果某个数据表的内容为空,则直接关闭记录集,以免多步操作数据表出现错误;如果该数据表不为空,则依次删除该数据表的每一个记录,对于每一个数据表都要做此判断,并且每打开一个新的数据表都要关闭上一个数据表,这样操作起来层次显得比较清晰,而且维护起来也比较方便。
3.超市库存管理主界面
主窗体的建立十分简单,只需将所要实现的功能编辑成菜单即可。该窗体的运行过程为:用户首先进入登陆窗体,如果是管理员登陆,则先进入初始化窗体,经过判断是否需要初始化后,进入主窗体。其权限为:销货统计、进货统计、查看数据表和系统管理。其权限的设置使管理员能够方便的查看任何时间段内的所有信息,还可以对员工表进行管理。
如果是普
通用户登陆,则直接进入主窗体,其授予的权限只有交易管理和系统管理,也就是说员工只能负责对商品进行入库登记、销货登记和退货登记,另外在一个员工对本系统使用的整个期间内,进货登记、销货登记和退货登记三个窗体中的显示的业务员编号都由系统自动给出的该员工的员工编号。
4.进货登记窗体
本窗体用来实现商品进货功能,将进货信息添加到buy 表,再将该信息选择性的加入goods 表。如果是新的进货厂商,可以在此入库登记。其具体实现过程如下所述:先在窗体级变量中定义三个记录集:rs_buy,rs_goods,rs_manufacture用来控制三个数据表:buy表,goods表,manufacturer表。在用户点击添加商品中的添加入库操作之前,程序先会检查是否有用户是否有个别属性为空,并做出提示。然后将商品添加到buy 表中,再添加到goods 表。在添加到goods 表时,程序会先判断该商品编号是否已经存在,如果存在则直接将该添加信息的数量加到goods 表中相应的记录上。为此,进货编号、商品编号是buy 表、goods 表中不可重复的属性。为方便用户操作,程序特在商品编号的文本框:text2的Change 事件中做了一个判断,即如果该商品编号存在的话直接显示该商品的其他属性。另外,对于总金额文本框也是由数量和进货价两个文本框的Change 事件计算入内的。如果是新的进货商,可以将它的信息添加到进货商表。其过程和上面所说的添加到buy 表基本相同,这里就
不做介绍了。
5.销货登记窗体
本窗体主要功能是对商品进行销售,首先对员工输入的销货信息进行完整条件的判断,条件符合后进行销售。然后将销售信息存入sell 表,并对goods 表的数量做相应修改。具体实现过程为:先在窗体集中定义两个记录集:rs_sell,rs_goods,用来控制两个数据表:sell 表和goods 表。在销货窗体中,如果用户输入的商品编号已经存在,则该商品的其它属性将随着text2(即商品编号)的Change 事件出现在其对应的位置上。而销售日期和业务员编号已经是程序默认给出的系统时间和登陆员工的编号。在判断没有空缺属性后该商品将顺利添加如库,而且该商品在goods 表中的数量也将随之做相应的改变,使goods 表和sell 表的总和保持原来goods 表中的数量值。
6.退货窗体
本窗体的功能是实现商品退货功能,当人为判断某商品可以退货时即可将该商品退货。其数据库实现为:先将该信息加入retreat 表,然后从sell 表中减掉,最后对goods 表的
数量做一下调整即可。其具体实现过程是:先在窗体集中定义三个记录集:rs_sell,
rs_goods,rs_retreat用来控制三个数据表:sell表、goods和retreat 表。在退货窗体中,如果用户输入的销货编号存在,则关于该商品的销售信息将依次出现在相应的对话框中。退货成功后,该退货信息先添加到退货表,然后将其退货数量从相应的sell 表中减掉,并添加到goods 表中。
7.进货统计菜单
8.销货统计窗体
9.查看进货表
10.查看进货表
11.管理员工表
12.更换用户功能
13.修改密码
六、系统测试与维护
本系统采用VB 编程工具,Access数据库,因此本系统运行需要的软件环境比较平常,易于操作。
(一)系统测试
将准备好的数据依次从各界面输入以对部分模块进行检测。
1.登录功能测试:
测试用例1
【输入】用户名:尹文俊和密码:0
【期望输出】直接进入主界面
【实际输出】确定之后
测试成功
2.现有商品查询测试:
测试用例2
【输
入】商品名称“可口可乐”
【期望输出】商品“可口可乐”的库存记录
【实际输出】确定之后
测试成功
(二)系统维护
系统的维护是系统生存的重要条件,在系统整个生命周期中,三分之二以上的经费用在系统维护上,从人力资源的分布看,现代世界上90%的软件人员在从事系统的维护工作,开发新系统的人员仅占10%,这些统计数据表明系统维护任务是十分繁重的。
1.维护的内容:
程序的维护:在编程中有许多没有被发现的错误,在系统运营过程中,还要对程序不但更新,以确保系统能够正常工作;
数据文件的维护:对于有关系统的数据库,其他文件,图片进行维护,定时不定时对数
据进行备份。
代码的维护:在编程过程中,代码的书写要整齐,规范,可能当时能够运行,但是还是要对其规范化。
机器、设备的维护:即硬件的维护,对于版本的更新,以及软件的升级的维护工作。
2.维护类型:
更正性维护,适应性维护,完善性维护,预防性维护。
七、结束语
本软件的设计目的是为超市库存管理人员提高效率提供方便和帮助。系统是基于Visual Basic 的ADO 技术设计的。选择了Access 2000作为后端开发工具,开发数据库功能,并选择了Visual Basic 6.0作为界面前台开发工具。在该系统开发中我通过建立数据库,以及对各种信息库的开发(如:添加、查询、修改、删除)及设计系统维护安全部分,完成了此次对超市库存管理系统的设计。
在本次的开发过程中,我意识到最重要的环节在于对系统的流程、功能模块、框架结构等方面的把握和设计。同时,在这次的系统开发中我也看到了自己在新知识的学习,新工具的应用方面的不足。开始时,由于我对Visual Basic 和Access 可以说只是停留在书面上的了解,还不够深入透彻,对它们的开发环境不是非常了解,所以在程序的开发过程中遇到了很多的困难,但经过同学和指导老师的帮助,一一化解了困难,并从中学到了很多编程方面的知识。
经过一个多月的设计和开发,超市库存管理系统基本开发完毕。其功能基本符合用户需求,能够实现品质检测的基本信息的录入、更新、修改,删除,查询等基本功能,从而实现产品检测的管理。对于数据的一致性的问题也通过程序进行了有效的解决。但是由于经验方面的原因,以及对超市库存方面的操作流程了解不足,该系统还有许多不尽如人意的地方和功能上的缺陷,这些都有待于进一步改善。
致谢
本设计在周少敏老师的悉心指导和严格要求下业已完成,从课题选择、方案论证到具体设计和调试,无不凝聚着周老师的心血和汗水,在四年的本科学习和生活期间,也始终感受着导师的精心指导和无私的关怀,我受益匪浅。在此向周少敏老师表示深深的感谢和崇高的敬意。
不积跬步何以至千里,本设计能够顺利的完成,也归功于各位任课老师的认真负责,使我能够很好的掌握和运用专业知识,并在设计中得以体现。正是有了他们的悉心帮助和支持,才使我的毕业论文工作顺利完成,在此向西安财经学院行知学院,信息系的全体老师表示由衷的谢意。感谢他们四年来的辛勤栽培。
另外,在系统开发过程中同组的杨声伟同学也给予我很大的帮助,帮助解决了不少的难点,使得系统能及时开发完成,还有许多平日积极帮助我进行设计研究的同学,这里一并表示感谢。
参考文献
[1]Bob Reselman , Richard Peasley , Wayne Pruchniak. Visual Basic 6.0使用
指南[J].电子工业出版社,2008.1
[2]刘永胜.库存管理面临的挑战与对策[N].经济管理出版社,2006.3
[3]Ned Snell. 中文版Microsoft Office 97自学通[M].机械工业出版社,2004.7
[4]张力军.现代库存管理概述[M].广东经济出版社,2007.9
[5]邝孔武,邝志云.管理信息系统分析与设计[M]. 西安电子科技大学出版社,2003.6
[6]Microsoft. Visual Basic 6.0中文版控件大全[M].电子工业出版社,2003.4
[7]Craig Eddy ,TimothyBuchanan. 中文Access 200024学时教程[M].机械工业出
版社,2005.8
附录:部分系统代码
Dim stremployee As String
Dim rs_employeeAs New ADODB.Recordset
Private Sub Form_Activate()
stremployee ="select *from employee "
rs_employee.Openstremployee, cnn, adOpenStatic, adLockOptimistic
Dim i As Integer
For i =0To rs_employee.RecordCount-1
Combo1.AddItem (rs_employee.Fields("员工姓名"))
rs_employee.MoveNext
Next
rs_employee.Close
End Sub
Private Sub Form_Load()
cnn.Provider ="microsoft.jet.oledb.4.0"
cnn.ConnectionString =App.Path &"\sellsystem.mdb"
cnn.Open
End Sub
Private Sub Picture1_Click()
End Sub
Private Sub Label3_Click()
If Combo1.Text ="" Then
MsgBox " 请输入用户名!", vbOKOnly +vbInformation, " 注意"
Combo1.SetFocus
Exit Sub
ElseIf Text1.Text ="" Then
MsgBox " 请输入密码!", vbOKOnly +vbInformation, " 注意"
Text1.SetFocus
Exit Sub
End If
stremployee ="select *from employee where 员工姓名='"&Combo1.Text &"' and 员工密码='"&Text1.Text &"'"
rs_employee.Openstremployee, cnn, adOpenStatic, adLockOptimistic
If rs_employee.EOF=True Then
MsgBox " 用户名或密码错误,请从新输入!", vbOKOnly +vbInformation, " 注意"
Combo1.SetFocus
rs_employee.Close
Exit Sub
Else
strs =rs_employee.Fields("员工编号") rs_employee.Close
End If
If Combo1.Text ="administrator" Then
frminitial.Show
Else
frmMain.Show
frmMain.mnBuyAll.Enabled =False frmMain.mnSellAll.Enabled =False frmMain.mnTable.Enabled =False End If
Unload Me
End Sub
Private Sub Label4_Click()Unload Me
cnn.Close
End Sub
Private Sub Picture2_Click()End Sub