30基于VB的超市销售管理系统的设计与实现Word格式文档下载.docx
《30基于VB的超市销售管理系统的设计与实现Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《30基于VB的超市销售管理系统的设计与实现Word格式文档下载.docx(37页珍藏版)》请在冰豆网上搜索。
1.1系统的研究意义
随着中小型超市的数量增加,超市的商品越来越多,价格的多样性以及员工数量增加。
开发一个超市管理系统对一间超市的管理显得极其重要,合理地管理不但反映一个国家的科技水平。
在这个经济时代到来的今天,用计算机控制超市的工作由自动化系统运行而完成。
这不仅节省了人力,还提高了工作效率和服务质量,而且还加速了商品的流通。
由于各超市的商品的数量不断增多和超市规模的不断扩大,管理这些庞大的体系非常困难的,因为商品的情况是随时改变的,因此必需对商品进行动态的管理,而这对于一个管理人员来说是一件比较复杂的事情,存储,查询是必不可少的业务。
超市管理何管理好一个所有超市的信息,成为超市管理中的一个大问题。
在这种情况下,一个可以规范化,自动化[1]的超市管理系统就显得非常必要。
最初的超市管理,都是靠人力来完成的。
当超市规模比较小的时候,人力可以完成,不过随着超市的规模越来越大,超市的员工人数和商品种类,商品数量也越来越多,依然维持着人力进行超市管理的时候,必然会造成工作效率低,工作错误增高的问题。
为了能让管理员从繁重的工作中解脱出来,使管理员在使用一个软件以后能极其容易地对所有商品进行管理,并且准确无误,轻松自如。
为此,本文开发了一个适合小型超市的超市销售管理系统。
1.2系统的研究现状
就目前的国际形势而言,虽然计算机发展飞速。
但是,在其飞速发展的同时,计算机技术并未全面深入到民用里。
就拿我们国家来说,很多人不知道计算机编程的原理。
但是,计算机技术是一个走在时代前列的先进技术,它终究还是能给人们工作与生活带来更高的效率。
目前就全国的超市管理程序而言,仍然有相当一部分超市的超市管理系统存在着一些不足,比如系统不完善,功能不齐全,存在较多BUG等。
甚至在有些偏远地区的超市没有使用便捷的超市管理系统来代替繁琐的人工管理。
1.3系统的研究内容
超市管理系统就是把分散的超市的职工,供应商,商品销售等信息实行统一,集中,规范的收集管理,建立分类编号管理,电脑存储查询以及防火,防潮,防蛀,防盗等现代化,专业化的超市管理系统。
超市管理系统为超市提供信息咨询,信息检索,信息存取等服务。
系统是超市管理的一个重要内容,随着时代的进步,超市也逐渐变的庞大起来。
超市管理系统的流通部分[2]是对所有商品管理最重要的部分,流通系统将客户与商品,员工与客户,管理员与员工相互间联系起来,而且流通系统处理的数据类型[3]多,数量大,精细且频繁,因而需要系统应具备较完善的检验防错功能,从而根据系统的运行及反馈信息高质量,高效率地管理系统流通部门的全部功能。
本系统包含五大模块:
(1)系统管理:
包括登录系统、注销系统。
(2)商品信息:
包括对商品添加、查询、删改。
(3)用户管理:
包括了供应商管理、员工管理、会员管理。
(4)管理库存:
包括了对商品库存的查询功能。
(5)销售管理:
具有商品销售、销售统计等功能。
(6)数据管理:
具有数据备份及恢复功能。
2开发工具描述
2.1VisualBasic(VB)简介
VisualBasic(VB)是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。
从任何标准来说,VB都是世界上使用人数最多的语言——不仅是盛赞VB的开发者还是抱怨VB的开发者的数量。
它源自于BASIC[4]编程语言。
VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO连接数据库,或者轻松的创建ActiveX[5]控件。
程序员可以轻松的使用VB提供的组件快速建立一个应用程序。
VisualBasic的最大的优势在于它的易用性,可以让经验丰富的VB程序员或是刚刚懂得皮毛的人都能用自己的方式快速开发程序。
而且VB的程序可以非常简单的和数据库连接。
比如利用控件可以绑定数据库,这样一来用VB写出的程序就可以掌握数据库的所有信息而不用写一行代码。
BASIC是种易学易用的高级语言[6],非常适合初学者学习运用。
事件驱动编程:
VisualBasic允许创建反映用户动作[7]和系统事件[8]的程序。
这种编程叫事件驱动编程。
要了解事件驱动程序是怎样工作的,先要了解过去的程序怎样运行及在Windows环境中有何不同。
在Windows之前(回到往日的DOS和“史前时代”&
#0;
&
PC之前),程序以顺序方式运行。
也就是说,一旦程序启动,它就一条指令一条指令的向前执行,直到程序结束或出现致命错误。
面向对象编程:
使创建Windows程序较为容易的关键技术是面向对象编程,或OOP。
这种技术可以创建可重用组建[2],它是程序的组成模块。
在讨论VisualBasic时,经常可以听到这些术语,因此对这些术语的基本理解十分有帮助。
控件:
提供程序可见界面的可重用对象。
控件的示例有文本框、标签和命令按钮。
事件:
由用户或操作系统引发的动作。
事件的示例有击键、单击鼠标、一段时间的限制,或从端口接收数据。
方法:
嵌入在对象定义中的程序代码,它定义对象怎样处理信息并响应某事件。
例如,数据库对象有打开纪录集并从一个记录移动到另一个记录的方法。
对象:
程序的基本元素,它含有定义其特征的属性,定义其任务和识别它可以响应的事件的方法。
控件和窗体是VisualBasic中所有对象的示例。
过程:
为完成任务而编写的代码段。
过程通常用于响应特定的事件。
属性:
对象的特征,如尺寸、位置、颜色或文本。
属性决定对象的外观,有时也决定对象的行为。
属性也用于为对象提供数据和从对象取回信息。
2.2VisualBasic语言特性
一个典型的VB进程VB的中心思想就是要便于程序员使用,无论是新手或者专家。
VB使用了可以简单建立应用程序的GUI系统,但是又可以开发相当复杂的程序。
VB的程序是一种基于窗体的可视化组件安排的联合,并且增加代码来指定组建的属性和方法。
因为默认的属性和方法已经有一部分定义在了组件内,所以程序员不用写多少代码就可以完成一个简单的程序。
过去的版本里面VB程序的性能问题一直被放在了桌面上,但是随着计算机速度的飞速增加,关于性能的争论已经越来越少。
窗体控件的增加和改变可以用拖放技术实现。
一个排列满控件的工具箱用来显示可用控件(比如文本框或者按钮)。
每个控件都有自己的属性和事件。
默认的属性值会在控件创建的时候提供,但是程序员也可以进行更改。
很多的属性值可以在运行时候随着用户的动作和修改进行改动,这样就形成了一个动态的程序。
举个例子来说:
窗体的大小改变事件中加入了可以改变控件位置的代码,在运行时候每当用户更改窗口大小,控件也会随之改变位置。
在文本框中的文字改变事件中加入相应的代码,程序就能够在文字输入的时候自动翻译或者阻止某些字符的输入。
VB的程序可以包含一个或多个窗体,或者是一个主窗体和多个子窗体,类似于操作系统的样子。
有很少功能的对话框窗口(比如没有最大化和最小化按钮的窗体)可以用来提供弹出功能。
VB的组件既可以拥有用户界面,也可以没有。
这样一来服务器端程序就可以处理增加的模块。
VB使用参数计算的方法来进行垃圾收集,这个方法中包含有大量的对象,提供基本的面向对象支持。
因为越来越多组建的出现,程序员可以选用自己需要的扩展库。
和有些语言不一样,VB对大小写不敏感,但是能自动转换关键词到标准的大小写状态,以及强制使得符号表入口的实体的变量名称遵循书写规则。
默认情况下字符串的比较是对大小写敏感的,但是可以关闭这个功能。
VB使得大量的外界控件有了自己的生存空间。
大量的第三方控件针对VB提供。
VB也提供了建立、使用和重用这些控件的方法,但是由于语言问题,从一个应用程序创建另外一个并不简单。
2.3Access简介
建立一个数据库我们有多种选择,现在市场上有各种各样的数据库,而且每一种数据库都有其自身的特点,不能说哪一种更好,只能在其中寻找一种能更好地适应系统需求、更好地满足用户的要求以及适应开发人员的习惯。
在本系统中,做为图书仓库管理系统是一个比较小的应用系统,它所产生和处理的数据量也比较小。
因此,没有必要使用像sqlserver和oracle这样的大型数据库。
我首先想到的数据库是borland公司的paradox数据库。
另外,microsoftoffice中的access数据库在计算机上的应用比较普及,是开发小型数据库系统的比较理想的选择,所以,在本系统中我选择了access数据库。
access做为一个数据库管理系统,它被集成在microsoftoffice中。
access数据库处理的基本结构,采取关系型数据库模式。
与其他的数据库系统相比,access更加简单易学,一个普通的计算机用户可以很快地掌握它。
access2000的功能十分强大,利用它可以方便地实现对信息保存、维护、查询、统计、打印、交流、发布,而且它可以十分方便地与office其他组件交流数据,这些功能对一个一般用户而言已经足够了。
Access能够存取Access/Jet、MicrosoftSQLServer、Oracle,或者任何ODBC兼容数据库内的资料。
熟练的软件设计师和资料分析师利用它来开发应用软件。
2.4设计所用到技术简介
本设计采用了MicrosoftVisualBasic6.0作为开发工具,在连接数据库的时候采用了VB里的ADO方法进行了连接数据库和对数据库操作。
后台数据库采用了Access2000,以下对ADO和Access进行技术的简介:
ActiveXDataObjects(ADO)是微软最新的数据访问技术。
它被设计用来同新的数据访问层OLEDBProvider一起协同工作,以提供通用数据访问(UniversalDataAccess)。
OLEDB是一个低层的数据访问接口,用它可以访问各种数据源,包括传统的关系型数据库,以及电子邮件系统及自定义的商业对象。
ADO向我们提供了一个熟悉的,高层的对OLEDB的Automation封装接口。
对那些熟悉RDO的程序员来说,你可以把OLEDB比作是ODBC驱动程序。
如同RDO对象是ODBC驱动程序接口一样,ADO对象是OLEDB的接口;
如同不同的数据库系统需要它们自己的ODBC驱动程序一样,不同的数据源要求它们自己的OLEDB提供者(OLEDBprovider)。
目前,虽然OLEDB提供者比较少,但微软正积极推广该技术,并打算用OLEDB取代ODBC。
ADO向VB程序员提供了很多好处。
包括易于使用,熟悉的界面,高速度以及较低的内存占用(已实现ADO2.0的Msado15.dll需要占用342K内存,比RDO的Msrdo20.dll的368K略小,大约是DAO3.5的Dao350.dll所占内存的60%)。
同传统的数据对象层次(DAO和RDO)不同,ADO可以独立创建。
因此你可以只创建一个"
Connection"
对象,但是可以有多个,独立的"
Recordset"
对象来使用它。
ADO针对客户/服务器以及WEB应用程序作了优化.
以前的对象模型,如DAO和RDO是层次型的。
也就是说一个较低的数据对象如Recordset是几个较高层次的对象,如Environment和QueryDef,的子对象。
在创建一个QueryDef对象的实例之前,你不能创建DAORecordset对象的实例。
但ADO却不同,它定义了一组平面型顶级对象.
最重要的三个ADO对象是Connection,Recordset和Command.本文将主要介绍Connection和Recordset这两个对象。
每个Connection的属性定义了与数据源的连接。
Recordset对象接收来自数据源的数据。
Recordset可以与Connection一起起使用,先建立一个连接,然后获取数据。
尽管如此,Recordset也可以被单独创建,其Connection参数可以在Open属性定义。
一旦安装了ADO,在VB的工程->
引用对话框中选择"
ActiveXDataObjects1.5Library"
(ADODB).在其下的"
ADORecordset1.5Library"
是一个客户端的版本(ADOR),它定义了有聚的数据访问对象。
ADOR对于客户端的数据访问来说是足够的了,因为你不需要Connection对象来建立与远程数据源的联系。
如果你想要访问更多的外部数据源,你需要安装这些外部数据源自己的OLEDBProvider,就象你需要为新的数据库系统安装新的ODBC驱动程序一样。
如果该外部数据源没有自己的OLEDBProvider,你就得使用OLEDBSDK来自己为这个外部数据源创建一个OLEDBProvider了。
3系统需求分析与总体框架
3.1需求分析
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
计算机作为一种高效的管理工具,对现代企业的管理发挥了极其重要的作用。
超市是当前最重要的商业经营形式之一,为了进一步提高超市的管理水平和竞争力,管理信息系统在超市中的应用已是大势所趋。
传统的计算机管理在超市流程中的数据处理比较繁琐、效率低、易出错,这就制约了企业的发展。
因此企业利用成熟的管理思想和先进的信息技术来提高管理水平和经济效益就显得尤为重要。
基于先进的计算机技术开发的超市管理信息系统可以帮助超市改变落后的经营模式,并且可以使管理层及时、合理地进行管理和决策。
因此设计开发的超市管理信息系统应顺应社会发展的潮流。
作为计算机应用的一部分,使用计算机对超市的信息进行管理,具有着手工管理所无法比拟的优点.例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
3.2系统的体系结构设计
如果要完成一个完整的超市管理系统,需要的相关信息很多。
由于种种条件的限制,同时考虑到开发成本,所以本系统仅实现基本的管理功能。
本毕业设计为超市管理信息系统,本管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
超市管理信息系统经过系统的分析后,将整个系统分成7大模块,分别为系统管理模块、用户管理模块、商品信息模块、商品库存信息模块、会员信息模块、数据管理模块以及销售信息模块。
系统设置模块:
设置本系统将要显示的内容及注销用户功能。
用户管理模块:
完成供应商信息、员工信息及权限设置和会员的添加和修改。
商品信息模块:
完成商品的添加删除与修改。
商品库存信息模块:
完成商品的入库出库和库存查询。
数据管理模块:
备份、还原数据库。
销售管理模块:
实现商品销售和销售统计两项功能。
系统的体系结构图如下图3-1所示:
4系统设计
4.1数据库设计
本超市销售管理系统为实现超市进、销、存三大关键环节,需建立商品信息表、商品销售表、库存表。
其中商品信息包括商品编号、商品名称、商品价格、会员价格、商品类型、进货价格、包装率。
商品销售信息包括商品编号、商品名称、销售日期、销售数量。
库存信息包括商品编号、商品名称、库存数量。
另外本系统考虑了对供应商,员工,会员三类人员的管理。
需建立供应商、员工表、会员表。
系统总体E-R图
作为Microsoft公司的桌面数据库,ACCESS在VB中的应用非常广泛,为此我选用ACCESS数据库来进行数据库的逻辑设计。
根据前面定义的实体及实休之间的关系,形成数据库的表格以及各个表之间的关系。
本软件的数据库用VB的“可视化数据管理器”新建一个名称为“supermarket.mdb”的数据库,该数据库主要由下述七张表构成:
管理员表:
admin;
员工档案表:
employee;
供应商信息表:
provider;
商品信息表merchandise;
会员注册信息表member;
商品销售表distribution;
商品库存表stockpile。
1.超市管理员表:
admin
说明:
超市管理的信息情,管理员ID设为主键、索引。
表4-1管理员表
列名
数据类型
长度
可否为空
注释
ID
文本
50
NotNull
帐号
pswd
密码
popedom
权限
2.超市员工档案表employee
此表记录了每个超市员工的信息情况,员工编号workid设为主键、索引。
表4-2超市员工档案表
workid
员工编号
name
员工姓名
sex
NotNull
员工性别
duty
信息添加日期
3.超市供应商信息表provider
此表记录是供货商品给超市的每一个供应商的信息表,供应商编号merchandiseid设为主键。
表4-3超市供应商信息表
merchandiseid
供应商编号
providername
供应商名称
providertel
数字
长整型
供应商电话
provideraddess
供应商地址
4.超市商品信息表merchandise
此表记录是超市商品的信息表,供应商编号面上merchandiseid设为主键。
表4-4超市商品信息表
商品编号
mname
商品名称
number
商品电话
saleprice
货币
商品价格
memberprice
会员价格
purchaseprice
进货价格
casingratio
包装率
mchtype
商品类别
5.会员注册信息表member
此表是在超市里已注册会员的信息的表,会员的编号memberid设为主键。
表4-5会员注册信息表
memberid
会员编号
会员名称
mtel
maddress
会员地址
integral
会员电话
6.商品销售表distribution
此表是在超市销售商品记录信息的表,出售商品的编号dbid设为主键。
表4-6商品销售表
dbid
自动编号
出售编号
merchid
mchname