基于ASP的超市经营管理系统.docx
- 文档编号:4778305
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:18
- 大小:244.08KB
基于ASP的超市经营管理系统.docx
《基于ASP的超市经营管理系统.docx》由会员分享,可在线阅读,更多相关《基于ASP的超市经营管理系统.docx(18页珍藏版)》请在冰豆网上搜索。
基于ASP的超市经营管理系统
基于ASP.NET的华联超市经营管理系统的设计与实现
学生姓名:
指导教师:
摘要:
随着大数据时代的到来,数据挖掘技术已经逐渐走向成熟,并且深入各个领域。
而现在大多数超市企业仍在采用传统的数据分析手段。
这样它们就很难应付大量的数据。
所以,它们要想在竞争中取胜,获得更大的利益,就必须采用数据挖掘、联机分析处理等新兴的技术。
本文研究了如何将数据挖掘、联机分析处理技术与传统的超市管理系统结合,开发出一个新式的、更有企业竞争力的超市经营管理系统。
本文使用VisualStudio2008开发工具对系统界面进行设计与实现,使用SQLServer2005软件进行后台的数据库的设计与实现。
关键词:
数据挖掘;经营管理;联机分析处理
DesignandImplementationofOperationandManagementSystemofHuaLianSupermarketBasedonASP.NET
Author’sName:
YAORuiTutor:
WANGChang-hou
ABSTRACT:
Withtheadventoftheeraofthebigdata,dataminingtechnologyhasgraduallybecomematureandhasbeendeepintovariousfields.Butnow,mostofthesupermarketenterprisesstillusethetraditionaldatatoanalysismethod.Itisdifficultforthemtodealwithlargeamountsofdata.So,iftheywanttowininthecompetition,andgaingreaterbenefits,theymustusesomenewtechnologiessuchasdataminingandon-lineanalyticalprocessing.
Inthispaper,westudyhowtocombinethedataminingandtheon-lineanalyticalprocessingtechnologywithtraditionalsupermarketmanagementsystemandhowtodevelopanoperationandmanagementsystemwhichisnewandhasmoreenterprisecompetitivepower.Inthispaper,weusetheVisualStudio2008developmenttoolstodesignandimplementthesysteminterface,anduseSQLServer2005developmenttoolstodesignandimplementthebackgrounddatabase.
KEYWORDS:
datamining;operationandmanagement;OLAP
目录
1引言1
1.1关于数据的研究背景及现状1
1.2本文的主要内容1
2主要技术介绍2
2.1数据挖掘技术2
2.2OLAP技术2
3可行性研究与需求分析3
3.1可行性研究3
3.2需求分析4
4超市经营管理系统的设计与实现6
4.1系统数据库的设计与实现6
4.2系统界面的算法与设计10
5系统测试分析14
5.1登录界面的测试14
5.2其他界面的抽样测试14
6结束语15
致谢17
参考文献18
1引言
本章介绍了数据以及数据挖掘的背景和现状,并对本篇论文的主要内容经行了概括。
1.1关于数据的研究背景及现状
进入2013年,大数据一词已经越来越多地被人们提及。
它被用来描述和定义这个信息爆炸时代产生的大量数据,并被命名与之相关的技术发展。
它已经上过《纽约时报》和《华尔街日报》的特别封面,登陆过白宫的官方网站的主页,也现身于我国国内一些互联网的主题讲座中,甚至被那些嗅觉灵敏的证券金融机构如国金证券写进了投资推荐报告之中[1]。
数据正在迅速发展和变化,它决定着企业发展的未来,虽然现在的许多企业可能并没有过多意识到数据地爆炸性增长将要带来的问题隐患,但是随着时代的向前发展,越来越多的人们将意识到数据对企业的重要性。
大数据时代向人类对数据驾驭的能力提出了新的挑战,也为人们能拥有更为深刻、全面的洞察能力提供了前所未有的空间。
数据挖掘是为了适应信息社会从海量的数据中提取信息的需要而产生的新兴学科。
它是数据库理论、统计学、人工智能等学科的交叉。
在我国的许多重点院校中都已经开设了数据挖掘这门课程或相关的研究课题。
此外,政府机构和大型企业也已经开始重视这个领域。
调查结果显示,一个企业要想在复杂的社会环境中获得成功,高层管理者就必须能够控制相对比较复杂的商业结构。
如果没有详实的数据作为支持,那是很难办到的[2]。
因此,在数据挖掘技术的不断发展改进和日益成熟的今天,数据挖掘技术必将被更多的用户使用,并且让更多的管理者获得更多的商务智能。
现在,许多企业都把数据看成非常宝贵的财富,纷纷利用许多商务智能手段去发现其中隐藏的信息,并借此获得巨额的回报[1]。
国内暂时还没有官方的关于数据挖掘行业本身的市场统计分析报告,但是数据挖掘在国内各个行业都有一定的研究。
据国外专家预测,在今后的3至5年内,随着数据量的日益积累,数据挖掘技术必将在中国形成一个产业。
1.2本文的主要内容
首先对华联超市业务数据库进行分析,构造出系统的逻辑模型。
然后从系统需求分析出发,完成了华联超市系统中销售管理的立方体的构建。
通过系统的结构和功能两个角度来对超市管理系统的需求进行详细的分析,同时将本系统分为系统设置信息管理和商品销售信息管理两部分来设计。
在对系统需求分析与设计的基础上,利用SQLServer2005数据库进行后台数据库的建立,使用VisualStudio2008开发工具对本系统进行设计与实现。
2主要技术介绍
本文使用的主要技术有:
数据挖掘技术,OLAP。
其中聚类分析作为数据挖掘的主要技术在后续章节中着重介绍。
2.1数据挖掘技术
数据挖掘的历史仅能追溯到上世纪90年代,但它的发展速极快。
由于它在许多学科都被涉及,所以到目前未知仍然还没有一个完整的官方的定义。
人们提出了许多数据挖掘的定义:
数据挖掘是使用模式识别技术、数学和统计技术,在大量的数据中发现有意义、有价值的新模式、新关系和新趋势的过程和方法[3];数据挖掘是在大量相关数据基础之上进行数据探索并建立相关模型的先进方法和过程[3];数据挖掘就是在大型数据库中寻找有意义、有价值信息的过程[3]等等。
总的来说,数据挖掘就是从大量的数据中挖掘出可能有潜在价值的信息的技术。
1、数据挖掘过程
数据挖掘可以看作是一个比较复杂处理过程,它一般分为五个步骤:
确定数据对象、数据准备、数据挖掘、结果的分析与评估和知识的嵌入应用。
2、数据挖掘的功能
数据挖掘综合了各个学科技术,目前的主要功能有:
(1)聚类:
识别出分析对内在的规则,按照这些规则把对象分成若干类;
(2)关联规则和序列模式:
关联是某种事件发生时其他事件也会发生的一种横向联系。
与关联不同,序列是一种纵向的联系;
(3)分类:
按照分析对象的属性、特征,建立不同的分类来描述事物;
(4)预测:
把握分析对象发展的规律,对未来的发展趋势做出合理的预见;
(5)偏差的检测:
对分析对象的少数的、极端的特例的描述,揭示其内在的原因。
2.2OLAP技术
OLAP属于决策支持领域的其中一部分。
传统的查询和报表工具是告诉我们数据库中都有什么,OLAP则是更进一步告诉我们下一步会怎么样和如果我们采取这样的措施又会怎么样。
用户首先建立一个假设,然后用OLAP检索数据库来验证这个假设是否正确。
也就是说,OLAP分析师是建立一系列的假设,然后通过OLAP来证实或推翻这些假设来最终得到自己的结论[6]。
所以说,OLAP分析过程在本质上是一个推理演绎的过程。
但是如果要分析的变量达到了几十或上百个,那么再用OLAP手动分析验证这些假设将会是一件非常困难和麻烦的事情。
数据挖掘与OLAP不同的地方是,数据挖掘不是用于验证某个假定的模式(模型)的正确性,而是在数据库中自动寻找所需要的模型。
3可行性研究与需求分析
3.1可行性研究
本章节从技术,经济,操作三方面以及数据挖掘的适用性进行可行性研究。
特别地,由于在上面的章节介绍过主要的技术,所以,本章只是从理论上来分析上述技术的可行性。
1、技术可行性:
数据库与ASP.NET技术已经走向成熟,一般人可以驾驭,而且它们易学易懂,即便是一个新手也不会花太多的时间就能掌握。
而数据挖掘与OLAP虽然是一个新兴的技术,但在本文中主要以函数和实例等形式讨论的,因此也比较容易掌握。
总之本文所用的技术略显多一点,但都不是很困难。
所以从技术层面来讲本课题是可行的。
2、经济可行性:
虽然这属于本科毕业论文(设计),不像一个企业需要讨论利润等问题,所以我在此讨论的经济可行性更侧重于一个毕业设计而不是一个软件。
我们都知道撰写论文和设计软件的开发成本基本上可以降到最低,所以从经济的角度来讲,是可行的。
3、操作可行性:
相信一般的超市管理系统大家并不陌生,本课题就是在传统的系统之上做的改良,增加了由数据挖掘分析产生的相关模块,所以可操作性极强。
4、数据挖掘在本课题的可行性研究:
由于超市每天的交易量都比较多,经过日积月累形成的数据量已经达到了海量这样的级别,而这些数据量已经能为数据挖掘做充分的准备,因此在超市管理系统中进行数据挖掘是可行的。
3.2需求分析
怎样从超市收集到的大量数据里分析出哪些商品好卖,哪些商品适应什么用户群,用户在购买某种商品的同时还会购买哪种商品等这些有价值的商业信息,超市经营者只有对数据进行仔细的分析,才能真正掌握自己所需的信息,使超市信息化管理逐步迈向知识化的管理。
传统的数据库管理系统不能够很好地利用、分析数据库中积累的大量数据,而数据挖掘技术却能很好地解决这一问题。
利用数据挖掘技术,不仅可以有效地控制和防范超市经营风险,还能有利于超市加强对日常的经营管理。
经过对于我所在地区的华联超市市场调查,我认为有必要以超级市场的决策支持为切入点,从理论和实践两个方面来探讨华联超市中的销售管理。
1、系统应用需求分析
从用户的角度分析考虑,超市信息系统主要用来满足两类用户需求,即普通管理员和系统管理员。
普通管理员在根据用户名和密码登录之后,只能登录到一般界面,只可以对超市的商进行销售处理,而看不到其他的处理界面;系统管理员的功能信息量却很大,它在根据用户名和密码登录之后,可以对所有信息进行管理和维护。
系统管理员可以对所有管理员信息进行添加、修改、删除等功能,还可以对超市已销售的商品进行查询和汇总。
通过应用需求分析,系统的主要流程是:
用户要登录系统前,先要对用户身份和权限进行验证,如果是未注册用户之类的非法用户,系统拒绝进入;若己注册,则根据用户的身份进入不同的界面(普通管理员进入普通界面进行销售操作,系统管理员进入高级界面对系统进行其他更高级的操作),系统的流程图如图3-1所示。
2、系统
图3-1系统流程图
功能模块
按照功能横向介绍,每个模块内部的小模块为当前模块的下级模块。
(1)登录界面模块
可以让不同的用户进行登录,总共有两种用户类型,分别为管理员和员工(收银员)。
(2)基本信息模块
分别有:
供应商信息管理模块、商品信息管理模块、员工信息管理模块等。
(3)进退货信息管理模块
分别有:
进货登记(进行商品进货登记)模块、进货查询(可根据时间段,商品类别,供应商进行查询)模块、退货查询(可根据时间段,商品类别,供应商进行查询)模块等。
(4)销售管理模块
分别有:
商品销售处理(可实现多种商品的销售,有销售日期,小票号以及销售人员的编号)模块、销售退货处理(可依据小票号进行退货,并要有备注可表明退货原因,以及要有退货日期)模块、销售查询(按商品名称查询,按销售人员查询,按销售日期查询)模块、退货查询(按小票号查询,按商品名称查询,按销售人员查询,按退货日期查询)模块等。
(5)库存管理模块
分别有:
库存查询(可按商品名进行查询,商品类别进行查询)模块、库存盘点(进货金额和销售金额的对比)模块等。
此外还有库存上溢,下限预警,以及库存报损等功能。
(6)系统管理设置模块
分别有:
用户信息管理(限制不同用户的权限)模块、用户密码修改模块等。
4超市经营管理系统的设计与实现
4.1系统数据库的设计与实现
数据库是系统的核心,它的设计直接关系系统执行的效率和系统的稳定性。
性能良好的数据库是应用系统成功的基础和保证,因此必须对数据库进行合理设计[7]。
所以在软件系统开发中,数据库设计应遵循必要的数据库范式原则,以便能减少冗余、保证数据的完整性与正确性。
通过对系统的需求进行分析,本设计中主要的实体有:
管理员、员工、厂家、商品。
1、上述实体的E-R图如下:
图4-1管理员的E-R图
管理员的实体图如图4-1所示。
图4-2员工的E-R图
员工的实体图如图4-2所示。
图4-3商品的E-R图
商品的实体图如图4-3所示。
图4-4厂家的E-R图
厂家(供应商)的实体图如图4-4所示。
2、各实体间的联系图如图4-5所示。
图4-5各实体间E-R图
根据系统分析在数据库中建立数据库表,表结构如下:
1、商品信息表Goods用来记录商品信息。
结构如表4-1所示。
表4-1商品信息表
列名
字段含义
数据类型
备注
GoodsID
GoodsName
Barcode
ClassID
CompanyID
Se1lPrice
AddTime
商品编号
商品名称
商品条码
商品类别
厂家编号
商品售价
添加时间
varchar(20)
varchar(40)
varchar(40)
int
int
float
datetime
主码(这是超市内部的商品“条码”)
外码,参照GoodsClass表GoodsClassID
外码,参照Company表CompanyID
2、厂家信息表Company,记录商品供应厂家的编号,厂家名称、地址和联系电话。
结构如表4-2所示。
表4-2厂家信息表
列名
字段含义
数据类型
备注
CompanyID
CompanyName
Adress
Tel
厂家编号
厂家名称
厂家地址
联系电话
varchar(20)
varchar(40)
varchar(40)
varchar(40)
主码
3、商品订单信息表Order,记录商品订单信息,包括订单编号、商品编号、商品售价、进价等信息,信息表结构如表4-3所示。
表4-3商品订单信息表
列名
字段含义
数据类型
备注
OrderID
GoodsID
CompanyName
SellPrice
PurPrice
Number
TotalPrice
OrderTime
订单编号
商品编号
厂家名称
商品售价
商品进价
进货数量
进货总价
进货日期
varchar(20)
varchar(20)
varchar(40)
float
float
int
float
datetime
主码
外码,参照Goods表GoodsID
外码,参照Company表CompanyName
null,外码,参照Goods表SellPrice
4、管理员信息表Admin,信息表的结构如表4-4所示。
表4-4管理员信息表
列名
字段含义
数据类型
备注
AdminID
AdminName
AdminPassWord
管理员帐号
管理员姓名
管理员密码
varchar(20)
varchar(20)
varchar(32)
主码
5、员工信息表Emp,信息表的结构如表4-5所示。
表4-5员工信息表
列名
字段含义
数据类型
备注
EmpID
EmpName
EmpPassWord
EmpSex
EmpBirth
EmpAdress
员工账号
员工姓名
员工密码
员工性别
员工生日
员工住址
varchar(20)
varchar(20)
varchar(32)
nchar
(1)
datetime
varchar(40)
主码
m表示男,f表示女
6、销售信息表Sell,信息表的结构如表4-6所示。
表4-6销售信息表
列名
字段含义
数据类型
备注
SellSys
SellID
GoodsID
SellPrice
Number
TotalPrice
SellTime
EmpID
系统编号
单据编号
商品编号
销售单价
销售数量
销售总价
销售时间
员工账号
varchar(20)
varchar(30)
varchar(20)
float
int
float
datetime
varchar(20)
主码
notnull
外码,参照Goods表GoodsID
外码,参照Goods表SellPrice
外码,参照Emp表EmpID
4.2系统界面的算法与设计
本超市管理系统采用ASP.NET开发工具对系统进行设计与算法。
由于ASP.NET开发工具已经把常用的以及较为经典的算法都封装到类库或者函数库当中了,所以在设计的过程中不必劳神那些复杂的算法,而是要记住并学会使用那些类库或函数库就行了。
在这里只介绍设计过程中想到,用到的算法以及一些算法的优化和改进,达到软件工程中“逐步求精”,“行代码最优”的要求。
设计所有的页面的时的一般步骤都是:
设计面板,添加控件,设置控件属性,编写事件代码。
这里设计是为了使得界面美观,控件集合在一起也比较好控制。
在事件过程部分设计时,不需要考虑方法的先后编写顺序。
因为事件中的代码是在相应的触发条件下才会执行,比如用户执行鼠标单击,按下回车键等情况。
对于一些比较长的字符串,最好定义一个字符串类来保存它(在现在很多的高级语言中都把字符串看作一个类,而C语言则不是,由此也可以说明C语言是高级语言中的低级语言),否则一旦分行而写,会影响程序的美观、可读性和可修改性。
下面我只介绍两个比较典型的页面的算法与设计,其余的跟这两个大同小异,就不再专门介绍了。
4.2.1登录界面的算法与设计
登录界面
图4-6系统登录界面
如图4-6所示。
登录界面设计的主要步骤跟上述大体相同,具体的:
先制作一个面板(大小合适即可),居中摆放;添加4个按钮,功能分别为:
管理员登录,普通用户登录,用户注册和退出系统;在一个比较醒目的位置添加一个滚动条,以提示新用户要先注册再登录;插入图片,设置背景音乐,即做一些美化操作;按钮的事件代码部分主要用到页面重定向语句“Response.Redirect("");”,不同的按钮根据不同的功能重定向到不同的页面,退出按钮则是用到关闭页面的语句(并在关闭页面时带有提示防止误关页面)“Response.Write("");”。
4.2.2进货界面的算法与设计
图4-7系统销售界面
进货界面对应数据库的增加(销售界面对应数据库的减少)如图4-7所示。
界面设计跟上述的登录界面相似,在此不再赘述。
有区别的是部分控件需要绑定数据。
连接数据库步骤是:
定义数据库连接类(连接不同类型的数据库需要定义不同的类,这里定义的是SqlConnection类);打开并连接数据库,数据库的名称(数据源DataSource)最好使用localhost(本地数据库),这是为了增强程序的可移植性,并且在命名空间中增加该语句“usingSystem.Data.SqlClient;”这样才能保证数据库连接成功和以后的使用;定义数据库命令语句类(这里定义的是SqlCommand类);定义数据阅读器类或数据适配器类(如果只是读取数据就可以定义数据阅读器类或数据适配器类,如果要涉及到数据的修改,则必须使用数据适配器类[10])并且设定一个相应要创建执行SQL语句命令的对象的属性;绑定数据控件(如果使用的是数据适配器类,则在此之前要先定义数据集类并且要填充数据集);关闭数据库的连接。
在修改完单击添加按钮则可将数据写入到数据库中,而且对应的商品数+1(如果是销售则对应的商品数-1)。
4.2.3聚类挖掘技术在超市中的应用
在本节会重点介绍聚类挖掘技术。
聚类分析是数据挖掘的关键技术之一。
聚类分析就是根据数据对象集中数据本身的分布特点,经过数据预处理,采用合适的算法进行数据簇的划分,划分的结果是:
一个对象与同一个簇的其他对象的相似度较大,与不同簇的对象的相似度较小[9]。
采用不同的聚类方法,对于相同的数据集可能有不同的划分结果。
我们这里主要着眼于统计聚类法的研究。
系统聚类算法
1、系统聚类步骤
系统聚类分析(HierachicalClusterAnalysis)是聚类分析中应用最广泛的一种方法,用户可以选择不同的距离和聚类方法获得满意的数值分类效果。
其聚类步骤如下:
(1)聚类前先对数据进行变换处理,在聚类处理之前,对变量进行筛选,选择那些相关性不很显著的而且贡献大的指标,剔除了相关性很强的变量。
(2)聚类分析的开始是各样品自成一类(n个样品…共有n个类),计算各样品之间的距离,并将距离最近的两个样品并成一类。
(3)选择并计算类与类之间的距离,并将距离最近的两类合并,如果类的个数大于1则继续并类,直至所有样品归为一类为止。
(4)最后绘制系统聚类谱系图,按不同的分类标准或不同的分类原则,得出不同的分类结果。
2、数据变换处理
规格化变换是从数据矩阵的每一个变量中找出其最大值和最小值,然后从每个变量的每个原始数据中减去该变量中的最小值,再除以极差,就得到规格化数据[4]。
即有:
经过规格化变换后,数据矩阵中每列即每个变量的最大数值为1,最小数值为0,其余数据取值均在0至1之间。
3、系统聚类法距离计算
我们在这里采用的是欧式距离计算方法,又称二阶Minkowski度量计算。
4、系统聚类法的聚类方法:
我们在这里只介绍最短距离法。
最短距离法的聚类方法是:
把两个类之间的距离定义为一个类的所有个体与另一个类的所有个体之间的距离的最小者。
我们选取“商品类别”作为维度,再选取“销售单价”、“销售数量”、“实收金额”作为我们用来聚类的指标,进行聚类分析,从分析中找出畅销和滞销的商品,对该商品今后的订货提供决策依据。
5系统测试分析
软件测试的目的就是寻找并纠正软件中存在的错误。
软件测试只能证明软件是有错误的而不能证明软件一定是无错误的(除非使用穷举测试,然而绝大多数情况下无法进行穷举测试)。
由于本系统许多模块的代码相似程度很高,所以在相似程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ASP 超市 经营管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)