方霞
(新疆工程学院 计算机系,新疆 乌鲁木齐 830091)
超级市场已成为生活中不可缺少的一部分,它具有营业面积大、商品陈列直观、营业人员少、流通成本低、节约购买时间、刺激消费欲望、避免人际磨擦等特点,因而对消费者和零售企业都有很强的吸引力。随着超级市场在都市中的崛起和超市对管理现代化的要求,要求把计算机应用到超市管理领域的要求日益膨胀,这就为应用于超级市场的管理系统的开发提供了广阔的天地。
通过调查研究,系统应该有以下功能:
(1)系统应该有友善的界面,能方便用户的使用。
(2)系统管理员能对系统用户的信息进行增、删、改等操作。
(3)不同权限的用户,登陆到系统的不同操作界面。
能对仓库中的商品信息进行增、删、改等操作。
(4)方便的数据查询功能,能将查询结果快速、清楚地反映给用户。
(5)要有强大的统计功能,能按照用户选择的时间段产生该时间段的商品盈利报表。
(6)有方便的报表打印功能,能实现销售单据和各种统计报表的输出。
系统功能模块图如图1所示。
1.3.1 系统管理模块
系统管理模块包括:登陆模块和服务器配置模块。登陆模块负责用户身份验证,使不同权限用户登陆到不同的模块。服务器配置模块提供用户一个接口,用户可以调用本模块对数据库服务器的连接信息进行配置,以使客户端能正确的连接到数据库服务器。
图1 系统功能模块图
1.3.2 员工管理模块
提供系统管理员对人员信息的增、删、改等权限。系统管理员通过调用本模块就可以实现对新来销售员入库、对调走或因为其他原因而离开的人员进行删除,对错误的信息进行修改。此外,本模块还提供管理员对用户信息的查找功能,以方便管理员能快速地查找到员工的信息。
1.3.3 商品销售模块
提供销售信息的录入功能,收银员通过调用本模块,就能快速地把客户的购物信息写到后台数据库的销售表中,同时更新库存信息。
1.3.4 仓库管理模块
通过调用本模块,用户能实现对商品信息进行增、删、改等操作。由于超市中的商品十分丰富,为了方便用户及时了解商品信息,本模块还提供用户对商品信息的查询功能。其中包括:商品基本信息的查询、库存信息的查询和快要过期或已经过期的商品查询等。
1.3.5 统计模块
能实现对上月、本月、每季度和每年所销售的不同种类的商品的销售数量以及盈利进行统计的功能。此外,本月和上月热销商品的统计更能方便管理员对以后的销售行情进行预测。
1.3.6 打印模块
能实现对销售单据和各种统计报表的输出。
超市营运系统是基于C/S模式的超级市场电脑管理系统,是一个数据库前端应用程序,Visual Basic 6.0提供了大量的控件,而这些控件可用于设计界面和实现各种功能,大大减少了开发人员的工作量,也简化了界面设计过程,从而有效地压缩了应用程序的开发周期[1]。因此,选择 Visual Basic 6.0作为应用程序开发工具是十分适合的。
Microsoft SQL Server 2000作为一种强大的面向客户机/服务器(Client/Server)的关系型数据库管理系统,可以创建在 Windows9x/2000和Windows NT等多种操作系统平台上的平稳和高性能的数据库应用程序,其特点主要是能够支持企业应用,在存储大容量数据方面、在数据的安全性和完整性方面、在分布式处理和具有高效的机制等方面都能实现[2-5]。所以,选择 SQL Server 2000是比较合适的。
超市营运系统中包含商品和员工两个实体,数据库中一共有五张数据表,其结构如下:
(1)员工基本信息:员工工号、员工姓名、性别、身份证号码、权限、登陆系统密码和工作日期。
(2)权限表:权限、职务。
(3)商品表:商品代号、名称、进价、售价、数量、种类、产地、等级和过期日期。
(4)种类表:种类号和种类名。
(5)销售表:商品代号、销售数量、日期和员工工号。
3.2.1 前端应用程序与后台数据库的连接
由于ADO能方便地实现对数据库的各种操作,所以在系统开发过程中,就用ADO来实现前台应用程序和后台数据库的连接[6-7]。
3.2.2 系统的具体实现
1)配置服务器
当用户第一次使用本系统时,系统会提示用户输入要连接的数据库服务器的信息,包括:服务器名、登陆到服务器的用户名和该用户所对应的密码。如果本系统的用户是系统管理员,系统还允许管理员修改服务器的连接信息,实现流程如图2所示。
图2 实现流程图
当用户输入完相应的配置信息后,系统将对服务器的配置信息中的用户登陆密码进行加密操作,然后再连同数据库服务器名和登陆到服务器的用户名保存到操作系统的注册表中。加密的VB代码如下:
2)登陆
当用户使用本系统时,系统首先要求用户输入其工号和该工号对应的密码,然后系统从操作系统的注册表中读入数据库服务的连接信息与服务器进行连接。登陆图如图3所示。
图3 系统登录图
3)修改当前用户密码
密码如图4修改,用户正确登陆到系统后,可以通过相应界面的选项中调用密码修改模块,当用户点击“修改密码”时,系统要求输入用户当前的密码和将要修改的新密码,在用户点击“确定”后,系统检查用户两次输入的新密码是否一致,在数据库的员工表中查找该用户的记录,然后比较用户输入的当前密码是否与该用户在数据库中的密码一样,如果一样就更新该用户的登陆密码,如果不一样就提示用户输入的当前密码输入错误,要求用户重新输入。
4)商品销售
如果用户以收银员的身份登陆,系统将直接调用商品销售模块,如果用户以系统管理员的身份登陆,则可通过在总控界面中通过相应的菜单调用该模块。
程序的实现流程如图5所示。
图4 修改密码图
图5 程序实现流程图
在系统实现的过程中,采用在内存中创建一个空的Record-Set。它先创建一个ADO的Recordset对象 rsSell,然后在rsSell中添加商品代号、商品名等六个列,列名后面的参数是该列的数据类型和默认长度,根据不同的需要创建不同的 Recordset对象。需要特别指出的是:Recordset对象的游标类型在默认情况下是服务器端游标,该类型的游标是由服务器来管理的。要在客户端对游标处理,游标类型必须要设成客户端游标。
5)销售记录管理
当用户选择了销售记录管理时,系统就通过查询销售记录表,找到最早的销售记录,然后从最早的销售记录的年份开始,把年份的内容添加到下拉列表框中,直到添加到当前的年份为止。
6)统计
图6 统计具体流程图
统计的过程是通过对数据库的多次查询,然后把几次查询的结果再进行处理,最后才得到统计的结果。实现过程比较麻烦,无法只通过一次查询来得到结果。下面以本月的按商品代号统计的过程为例,说明统计的实现过程。
统计的具体流程如图6所示。
7)打印报表
本系统是通过水晶报表来实现打印的,但是水晶报表只支持从Access数据库中读出的数据进行打印。所以需要打印时,系统把要打印的信息写到一个Access数据库的一张数据表中,然后再通过水晶报表把Access数据库中的信息打印出来,不过实现起来还是比较方便的。
经设计和开发,超市营运系统基本开发完成,其功能基本上能满足大部分超市的需求,但还存在一些不足的地方,还需进一步改进。
[1]于鹏.中文版VisualBasic6.0程序设计项目教程.[M].北京:清华大学出版社.2010.
[2]杜柏林 .网络数据库 SQL Server 2000[M].北京:清华大学出版社.2010.
[3]宋晓峰.SQL SERVER 2000中文版基础教程[M].北京:人民邮电出版社.2008.
[4]曹军生.SQL SERVER 2000实用教程,2版[M].北京:北京理工大学出版社.2010.
[5]宋晓峰.SQL Server 2000中文版基础教程,2版[M].北京:人民邮电出版社.2011.
[6]萨师煊,王珊.数据库系统概论[M].北京:高等教育出版社,2006.
[7]陈宝明,许巨定,贾小军.数据库及其应用[M].北京:北京邮电大学出版社.2009.