摘 要:随着小型超市规模发展的日益壮大,商品数量和种类不断增加,有关商品的各种信息量也成倍增长,同时超市需要时时刻刻对商品各种信息进行分析统计。然而,现在已有的大型超市管理系统功能过于强大,其繁琐的操作过程削弱了小型超市的工作效率. 本系统采用VB程序设计语言作为开发语言,在Microsoft Visual Studio 2010开发环境中进行设计与实现,以SQL Server 2008作为后台数据库支持,实现具备用户登录、商品管理、人事管理、销售管理以及进货管理等功能。
关键词:超市管理;SQL Server 2008;VB
Abstract: With the growing scale of the development of small supermarkets, quantity and variety is increasing, and the information of these commodities is also increasing. At the same time the supermarkets always need to analyze a variety of information on commodity statistics. Now, however, the existing large supermarket management system is too powerful, its tedious operation weakens the efficiency of small supermarket. This system uses VB programming language as a development language to carry on the design and implementation in the Microsoft Visual Studio 2010 development environment, with SQL Server 2008 as the back-end database, realizing user login, product management, personnel management, sales management and stock management, etc.
Key words:Supermarket Information Management; SQL Server 2008;VB
1 系统概述
1.1 开发背景
我国超市形成在20世纪90年代初期,现在已经成为我国零售业的一种重要形态,为国民经济的发展发挥了重要的作用。随着现代科学技术的飞速发展,计算机技术已经渗透到社会上的各个领域,成为各行业必不可少的工具,特别是Internet技术的推广和信息高速公路的建立,使计算机产业在市场竞争中越发显示出其独特的优势。作为国内市场的一些小型超市,它们在信息化过程中的步伐要落后于大中型超市,而对于这些小型超市管理,相关信息的存储和处理也显得迫切需要。虽然大型的超市管理系统已经在大中型超市得到了广泛的应用,但是那些系统功能过于强大造成操作繁琐,软件成本非常高,维护也较为困难,根本不符合小型超市的实际情况。所以,开发一个操作方便,维护难度小的超市管理系统变得尤为必要[1]。
1.2 系统简介
本超市管理系统是在Microsoft Visual Studio 2010开发环境下采用VB.NET技术开发的小型数据库管理软件,后台数据库的设计采用SQL Server 2008支持,这些主流软件的应用也使系统维护更加高效。在开发过程中,我们针对当前各超市管理的特点和技术人员的实际水平,采用基于Windows图形用户界面这一易学易用的操作环境,尤其是数据窗口这一方便而简洁操纵数据库的智能化对象,从而建立一套完善科学的管理信息系统,对超市进行商品信息、进货信息、销售信息以及人事信息等实现全面、动态、及时的管理.因此,该设计的方案基本上满足了系统的业务需求,具有一定的可用性.
2 系统分析
2。1 可行性分析
2.1。1 经济可行性分析
经济可行性主要是针对项目的经济效益进行评价。本系统作为毕业设计课题,不需要大量经费,因此,经济可行性上完全没有问题。而且本系统开发成功后,还具有一定的实用性。
2.1。2 技术可行性分析
技术可行性主要是分析开发条件能否顺利完成开发工作。本系统采用Microsoft Visual Studio 2010和SQL Server 2008进行相关开发,而Microsoft Visual Studio是面向对象的可视化开发工具,其编程平台对数据库的访问做了很好的封装,该平台提供SQL Server数据库接口,故考虑到SQL Server作为后台数据库支持,微软公司的SQL Server数据库,它能够处理大量的数据,同时保证数据的完整性并提供许多高级管理功能,它的灵活性、安全性和易用性为数据库编程提供了良好的条件。
2。2 需求分析
本系统是一个供小型超市工作人员和管理人员使用的系统,它的核心是方便使用人员对商品信息的管理,因此超市信息管理系统应该实现以下几个功能:
(1)信息管理功能:超市工作人员可以对商品进行资料管理和统计,对商品品的进货单和商品的销售单进行录入管理和统计。
(2)信息查询功能:超市工作人员可以对根据需要对进货信息、销售信息和库存情况进行查询,了解超市的的销售情况。
(3)修改密码功能:超市工作人员可以修改自己登录系统的密码。
(4)权限管理功能:超市管理人员登录系统后可以对普通工作人员设置各个功能模块的操作权限,从而保证了信息的安全性.
2.3 系统的E-R模型图
概念模型的最常用的表示方法是实体—联系方法,简称E—R方法。E—R方法使用E—R图来描述某一组织的信息模型.E—R图中包含了实体、关系和属性三种基本成分,通常用矩形框带表实体,用连接相关实体的菱形框表示关系,用椭圆或者圆角矩形框表示实体(或关系)的属性,并用直线把实体(关系)与其属性连接起来[2]。
本系统实体-联系图【E-R】如图2-1所示:
图2—1 系统E-R图
2.4 数据流图
数据流图(Data Flow Diagram),简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法.它是一种图形化技术,描绘的是信息流和数据从输入到输出所经历的变换,是分析员和用户之间极好的通讯工具[3].
2.4.1 系统顶层数据流图
通过对系统流程的分析,得到系统顶层数据流图,如图2—2所示:
图2-2 系统顶层数据流图
2.4.2 系统0层数据流图
根据上面的数据流图,再具体分析商品管理、销售管理、进货管理以及人事管理过程中的数据流,得到0层数据流图,如图2—3所示:
图2—3 系统0层数据流图
2。4.3 商品管理模块数据流图
通过对商品管理过程中数据流的分析,得到商品管理模块数据流图,如图2—4所示:
图2-4 商品管理模块数据流图
2.4。4 销售管理模块数据流图
通过对销售管理过程中数据流的分析,得到销售管理模块数据流图,如图2—5所示:
图2-5 销售管理模块数据流图
2。4。5 进货管理模块数据流图
通过对进货管理过程中数据流的分析,得到进货管理模块数据流图,如图2-6所示:
图2—6 进货管理模块数据流图
3 系统设计
3.1 开发环境
本系统的开发环境如表3.1所示:
表3。1 开发环境表
操作系统 | Windows 7 |
开发工具 | Microsoft Visual Studio 2010 |
界面设计技术 | VB.NET |
数据库 | Microsoft SQL Server 2008 |
3。2.1 开发工具介绍
本系统采用的是微软公司的集成开发环境Microsoft Visual Studio.它是目前最流行的Windows平台应用程序开发环境。Visual Studio 2010 版本于2010年4月12日上市,其集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。Visual Studio 2010 同时带来了NET Framework 4。0、Microsoft Visual Studio 2010 CTP ( Community Technology Preview——CTP),并且支持开发面向 Windows 7 的应用程序.除了Microsoft SQL Server,它还支持 IBM DB2 和 Oracle 数据库。
3.2.2 数据库介绍
本系统的开发涉及到前台界面的开发以及数据库访问技术。针对小型超市信息的管理,我们采用了Microsoft SQL Server 2008。它是一个全面的数据库平台,使用集成的商业智能工具提供了企业级的数据管理。Microsoft SQL Server 2008 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使用户可以构建和管理用于业务的高可用和高性能的数据应用程序[4]。
3。2。3 数据库连接技术介绍
本系统用到了ADO.NET数据库访问技术,它的名称起源于ADO(ActiveX Data Objects),这是一个广泛的类组,用于在以往的Microsoft技术中访问数据.之所以使用ADO.NET名称,是因为Microsoft希望表明,这是在NET编程环境中优先使用的数据访问接口.同时ADO.NET可让开发人员以一致的方式存取资料来源(例如SQL Server 与XML),以及透过OLE DB 和ODBC 所公开的资料来源。资料共用的消费者应用程序可使用ADO.NET来连接至这些资料来源,并且撷取处理及更新其中所含的资料。
3.3 系统功能模块设计
模块化是指在解决一个复杂问题时,自顶向下逐层把系统划分为若干模块的过程。每个模块完成一个特定的功能,所有模块按某种方法组织起来,成为一个整体,完成整个系统所需要的功能。
根据前面在需求分析阶段提出的系统功能需求,将系统结构分成四个模块,分别是商品管理模块、人事管理模块、进货管理模块和销售管理模块。每个模块的具体功能如下:
3。3.1 商品管理模块
该模块主要实现超市日常商品信息管理,使整个超市的工作井然有序,这个模块包括“商品信息查询”和“商品信息维护”两个功能模块。
(1)商品信息查询,这个模块实现对超市所有商品信息的查询;
(2)商品信息维护,这个模块实现对超市商品信息的更新,包括增加、删除、修改功能。
3。3.2 人事管理模块
该模块主要实现对员工、供货商的基本信息管理管理功能,让超市管理人员对整个超市的人事有详细的了解,这个模块包括“员工信息管理”、“员工权限管理”和“供货商信息管理”三个功能模块。
(1)员工信息管理,这个模块对超市所有员工的信息进行登记管理,包括增加、删除、修改和查询功能;
(2)员工权限管理,这个模块实现超市管理人员对超市员工进行系统权限的,使相应模块对其可见;
(3)供货商信息管理,这个模块实现对超市商品供货商信息的管理,包括增加、删除、修改和查询功能。
3。3。3 进货管理模块
该模块主要实现超市进货管理,使超市管理人员对超市进货信息一目了然,这个模块包括“进货信息查询”和“进货信息维护”两个功能模块。
(1)进货信息查询,这个模块实现对超市进货信息的查询,可以按照商品编号和进货日期进行查询;
(2)进货信息维护,这个模块实现对超市进货信息的更新,包括增加、删除、修改功能。
3.3。4 销售管理模块
该模块主要实现超市销售管理,对商品的销售进行一条龙管理,能够对没日的销售信息进行输入、查询、统计等操作,这个模块包括“销售信息查询"和“销售信息维护"两个功能模块。
(1)销售信息查询,这个模块实现对超市销售信息的查询,可以按照销售日期进行查询;
(2)销售信息维护,这个模块实现对超市销售信息的更新,包括增加、删除、修改功能。
本系统的功能模块如图3—1所示:
图3—1 系统功能模块图
3.4 数据库设计
数据库是信息管理的基础,其结构直接关系到各种功能的实现和程序运行的效率,进行数据库设计首先必须了解与分析用户需求(包括数据与处理),根据前面的需求分析,建立了一个名为SuperMarketDB的数据库,其中包含6个数据表.
3。4。1 商品信息表
商品信息表:此表记录了超市所有商品信息,管理人员可以通过此表对商品信息进行删除、添加、修改等操作,此表的主键是商品编号。其结构如表3.2所示:
表3。2 商品信息表
字段 | 数据类型 | 数据长度 | 是否为空 | 是否主键 |
商品编号 | varchar | 10 | 否 | 是 |
商品名称 | varchar | 20 | 否 | 否 |
商品种类 | varchar | 10 | 否 | 否 |
单价 | money | 8 | 否 | 否 |
单位 | varchar | 10 | 否 | 否 |
规格 | varchar | 4 | 否 | 否 |
是否打折 | bit | 1 | 否 | 否 |
备注 | varchar | 50 | 可 | 否 |
员工信息表:此表记录了所有的员工信息,管理人员可以通过此表对员工信息进行删除、添加、修改等操作,也可以通过此表查询某个员工的信息,此表的主键是员工编号。其结构如表3.3所示:
表3.3 员工信息表
字段 | 数据类型 | 数据长度 | 是否为空 | 是否主键 |
员工编号 | varchar | 10 | 否 | 是 |
姓名 | varchar | 8 | 否 | 否 |
性别 | boolean | 2 | 否 | 否 |
工资 | money | 8 | 否 | 否 |
身份证号 | varchar | 14 | 否 | 否 |
供货商信息表:此表记录了所有供货商信息,管理人员可以通过此表对供货商信息进行删除、添加、修改等操作,此表的主键是供货商编号。其结构如表3。4所示:
表3。4 供货商信息表
字段 | 数据类型 | 数据长度 | 是否为空 | 是否主键 |
供货商编号 | varchar | 10 | 否 | 是 |
供货商名称 | varchar | 20 | 否 | 否 |
所在城市 | varchar | 10 | 否 | 否 |
公司电话 | varchar | 15 | 否 | 否 |
进货信息表:此表主要记录相关的进货信息,以方便管理人员日后查看和查询进货信息,此表的主键是进货编号。其结构如表3。5所示:
表3.5 进货信息表
字段 | 数据类型 | 数据长度 | 是否为空 | 是否主键 |
进货编号 | varchar | 10 | 否 | 是 |
进货日期 | datetime | 4 | 否 | 否 |
进货商品编号 | varchar | 10 | 否 | 否 |
进货数量 | int | 4 | 否 | 否 |
进货价格 | money | 8 | 否 | 否 |
供货商编号 | varchar | 10 | 否 | 否 |
经办人 | varchar | 8 | 否 | 否 |
备注 | varchar | 50 | 可 | 否 |
销售信息表:此表记录了超市所有商品的销售记录,管理人员可以通过此表对营业利润进行统计分析,此表的主键是销售编号。其结构如表3.6所示:
表3.6 销售信息表
字段 | 数据类型 | 数据长度 | 是否为空 | 是否主键 |
销售编号 | varchar | 10 | 否 | 是 |
销售日期 | datetime | 4 | 否 | 否 |
销售数量 | int | 4 | 否 | 否 |
销售总额 | money | 8 | 否 | 否 |
备注 | varchar | 50 | 可 | 否 |
权限信息表:此表记录了所有员工的权限信息,同时管理人员可以通过此表对员工进行权限管理操作,此表的主键是员工编号。其结构如表3.7所示:
表3。7 员工信息表
字段 | 数据类型 | 数据长度 | 是否为空 | 是否主键 |
员工编号 | varchar | 10 | 否 | 是 |
用户名 | varchar | 12 | 否 | 否 |
密码 | varchar | 12 | 否 | 否 |
商品管理权限 | varchar | 2 | 否 | 否 |
进货管理权限 | varchar | 2 | 否 | 否 |
销售管理权限 | varchar | 2 | 否 | 否 |
进货查询权限 | varchar | 2 | 否 | 否 |
销售查询权限 | varchar | 2 | 否 | 否 |
会员信息表:此表记录了超市所有的会员信息,管理人员可以通过此表对会员信息进行删除、添加、修改等操作,此表的主键是会员编号。其结构如表3.8所示:
表3。8 会员信息表
字段 | 数据类型 | 数据长度 | 是否为空 | 是否主键 |
会员编号 | varchar | 10 | 否 | 是 |
姓名 | varchar | 8 | 否 | 否 |
会员等级 | varchar | 8 | 否 | 否 |
会员积分 | int | 4 | 否 | 否 |
下面将详细阐述本系统的设计与实现,主要涉及窗体设计、功能实现和数据库的连接等功能的实现。由于篇幅,只介绍部分典型功能的实现代码(具体详见源程序)。
4.1 用户登录界面的实现
用户登录时本系统最基本的功能,该功能是通过用户选择相应的身份(超级用户或普通用户)输入用户名和密码,再通过代码判断是否与数据库里的数据匹配。如果匹配则登录成功,否则登录失败.登录界面如图4-1所示:
图4-1 系统登录界面
4。2 系统主界面
系统的主界面由菜单栏、工具栏和状态栏组成,菜单栏显示了系统的所有功能,工具栏是部分功能的快捷按钮,状态栏显示的是当前的操作用户以及当前时间。系统主界面如图4-2所示:
图4-2 系统主界面
4.3 商品管理模块的实现
为了实现该功能,我们在系统中主要用到了SqlConnection、SqlDataAdapter、SqlCommand等对象以及DataGridView、DataSet等控件.商品管理模块界面如图4—3所示:
图4—3 商品管理模块界面
4.4 进货查询模块的实现
为了实现该功能,我们在系统中主要用到了SqlConnection、SqlDataAdapter、SqlCommand等对象以及DataGridView、DataSet等控件.进货查询模块界面如图4—4所示:
图4-4 进货查询模块界面
4。5 权限管理模块的实现
为了实现该功能,我们在系统中主要用到了SqlConnection、SqlDataAdapter、SqlCommand等对象以及ListView、DataSet等控件。权限管理模块界面如图4-5所示:
图4—5 权限管理模块界面
5 系统测试
5.1 测试概述
为了使开发的软件各项功能能达到用户的需求,需要对已开发的系统各项功能反复测试,尽力找出系统的不足与缺陷,以便于及时修改,日后维护。
5。2 测试项目
5。2.1 系统登录窗口测试
测试目的:保证登录窗口的正确性与安全性.
测试过程:使用空密码和错误用户密码登录,查看是否具有错误提示,错误提示是否符合实际情况。将正确的用户名和密码输入,检测是否正常登录,有无异常情况。
5.2.2 系统管理模块测试
测试目的:检测系统管理初始化是否起作用,测试模块功能是否能够实现.
测试过程:分别用普通用户和超级用户的身份测试初始化和清空数据功能。
5.2.3 修改密码功能测试
测试目的:检测密码修改是否能够成功,是否具有容错性。
测试过程:输入错误的原密码、空密码,输入不一致的新密码,查看是否有错误提示。
5。2.4 商品信息增删改测试
测试目的:测试正确性、容错性和操作是否便利性。
测试过程:输入空的商品编号,输入非字符格式的编号,以及重复的编号,检测更新数据库的正确性和容错性.
5。2.5 商品销量信息查询测试
测试目的:测试各类数据的销量.
测试过程:选择数据类别进行查询,检测查询是否正确.
5.2.6 权限管理测试
测试目的:测试超级用户更改普通用户权限是否正常.
测试过程:超级用户登录系统更改某普通用户权限,再用该普通用户登录,查看权限是否更改。
5.3 测试方案
对本系统采用黑盒测试和白盒测试的方法进行测试.
5。4 测试结果
系统经过反复测试,确认主要功能正确可靠.
6 总结
本系统是一个小型信息管理系统,通过本系统可以实现很多的智能操作,从而减少了工作人员的时间,为超市节省更多的成本.但是由于技术水平有限,本系统还有很多地方不太完善,还需要改进,特别是商品销售智能化的分析功能.如果能实现此功能,能够利用以前的销售记录实现智能化的分析,来支持超市的进货管理,这将大大地提高超市的工作效率。
致谢
经过这几个月的构思与设计,本系统已经设计完毕,其使用功能基本符合实际需求,具有一定的实用性。但是由于设计时间有限,所以该系统还有许多不完善的地方,这些都有待进一步改善。
首先,我要感谢我的论文指导老师曾智老师在本系统设计过程中给予我的支持和帮助,提出了可行的建议,提高了本文的质量.同时感谢在毕业设计期间给我帮助的同学们。
其次,这次的毕业设计让我深深感受到软件开发不是一件简单的事情。它需要设计者具有全面的专业知识、缜密的逻辑思维、严谨的工作态度以及较好的分析能力.我在这方面还有很多欠缺,在今后的工作中我会加强这方面的学习和锻炼。
最后,我要感谢重庆师范大学计算机与信息科学学院对我的培养,让我完成学业!
参考文献:
[1] 郑忠霞。小型超市商品管理系统的开发与设计[J].计算机光盘软件与应用。2011,10
[2] 张鼎武。小型超市管理信息系统[J].新西部。2008,2
[3] 王俊艳,田小龙。中小型超市管理系统的分析与设计[J]。装备制造技术.2012,12
[4] 胡华。小型超市管理系统的设计与实现[D].硕士学位论文。2009,11
[5] 郑阿奇,刘启芳,顾韵华。SQL Server教程[M]。清华大学出版社,2010
[6] 王珊,萨师煊.数据库系统概论[M].高等教育出版社,2011
[7] 高春艳,李俊民。Visual Basic应用开发完全手册[M].人民邮电出版社,2006
[8] 王颖,李敏业。Visual Basic+SQL Server数据库应用实例[M].人民邮电出版社,2006
[9] 殷人昆,郑人杰,马素霞。实用软件工程(第三版)[M]。清华大学出版社,2011