商品分类交易状况统计信息系统设计与开发.docx
《商品分类交易状况统计信息系统设计与开发.docx》由会员分享,可在线阅读,更多相关《商品分类交易状况统计信息系统设计与开发.docx(29页珍藏版)》请在冰豆网上搜索。
![商品分类交易状况统计信息系统设计与开发.docx](https://file1.bdocx.com/fileroot1/2022-11/29/5f931c12-e787-42e9-9c84-2758548ac1e0/5f931c12-e787-42e9-9c84-2758548ac1e01.gif)
商品分类交易状况统计信息系统设计与开发
商品分类交易状况统计信息系统设计与开发
商品分类数据文件是根据其他模块生成的数据文件信息,按照指定的格式和要求生成一份具有分析价值的新的数据文件。
而用于分析的分店铺交易状况统计是对各个分店铺在某交易日的交易情况的统计,对商家来说具有很强的市场参考分析价值。
系统是基于日文版Windows2000操作系统,采用C#.NET开发语言,并使用SQLSERVER2000的数据库来实现的。
论文总页数:
30页
1引言1
2系统概述1
3模块需求分析1
3.1模块功能需求2
3.2模块性能要求3
3.3模块其他需求3
4可行性研究4
4.1技术可行性4
4.2经济可行性4
5数据库及数据文件设计4
5.1数据流程图4
5.2数据表及数据文件结构设计6
6环境搭建9
6.1安装MicrosoftVisualStudio.NET20039
6.2安装MicrosoftSQLServer20009
6.3安装Subversion(SVN)9
7模块功能代码实现过程9
7.1用于分析的商品分类数据生成模块的实现9
7.2用于分析的分店铺交易状况统计的实现15
8模块测试结果20
8.1用于分析的商品分类数据生成模块的测试结果20
8.2用于分析的分店铺交易状况统计模块的测试结果26
结论27
参考文献28
1引言
21世纪的今天,人类已步入一个高速发展的信息时代。
随着科学技术的不断发展和日益更新,计算机技术的发展更是尤为突出,并在人们的生活当中发挥着越来越重要的作用,已经成为人们生活中不可或缺的一个角色。
进而产生了运用计算机技术开发的各式各样的产品来提高人们的工作管理效率,如各种各样的信息管理系统等,而POS积分管理系统便是其中一种类型的信息管理系统。
POS积分管理这个概念在人们的记忆中并不陌生,它是风靡于各大企业经营管理中的一种先进的管理方式,也是提高管理效率的一种手段。
随着WTO的步伐加快,国际化竞争必然加剧,国际国内市场将面临更为激烈的争夺。
参与市场竞争,更多的要靠先进超前的经营管理观念和方法、系统的战略规划、科学的市场分析、规范的管理运作、入微的客户服务、优秀的员工队伍等综合实力。
经营绩效是公司管理的重心,建立先进的管理系统,对推动公司战略实现、提高经营业绩是非常重要的。
因此POS积分管理系统就是在具备先进科学技术条件下,以先进超前的经营管理观念为基础而设计的一套先进的管理系统。
为了满足某百货店的需求,这里设计具有以下优点的POS积分管理系统。
如:
检索迅速,提供有效的数据分析和市场参考,可靠性高,稳定性强,更新方便,保密性好,成本低,使用方便等等。
有了这些优点,各大企业可以利用POS积分管理系统通过积分的手段提高经营绩效,达到增加利润的目的,增加个企业之间的竞争,从而促进社会经济的发展。
在系统中,我主要负责用于分析的商品分类数据生成和用于分析的分店铺交易状况统计这两个模块。
结合所学的知识,基于日文Windows2000操作系统,采用C#.NET开发语言,并使用SQLserver2000的数据库来实现分析的商品分类数据生成以及用于分析的分店铺交易状况统计的功能。
下面介绍开发过程中实现该模块的具体情况。
2系统概述
系统是某大型百货店的一套POS积分管理系统,百货店通过使用本系统可以进行对积分的管理,用户信息的管理,交易数据的统计以进行实时的市场分析等活动。
整个系统主要负责用于分析的商品分类数据生成和用于分析的分店铺交易状况统计两个模块,它们在系统中起着重要的作用。
商品分类数据文件是根据其他模块生成的数据文件信息,按照指定的格式和要求生成一份具有分析价值的新的数据文件。
而用于分析的分店铺交易状况统计是对各个分店铺在某交易日的交易情况的统计,对商家来说具有很强的市场参考分析价值。
该系统是采用C/S结构开发,为提高处理效率,降低成本,使用了大量批处理,以及定时处理机制。
3模块需求分析
在现代社会的商业竞争中,善于分析消费者的消费习惯,消费能力和需求从而做出正确的判断来制定更新的发展方向是十分重要的。
而各种用于分析的数据就可以为企业进行这样的判断提供参考。
所以在这里我负责了关于生成分析用数据的两个模块:
用于分析的商品分类数据生成和用于分析的分店铺交易状况统计。
3.1模块功能需求
●用于分析的商品分类数据生成模块
<1>基本资料:
1.商品分类参数文件:
此文件是由其他模块工作生成的数据,包括分类阶层区分,有效区分,分类称呼和此文件生成的日期。
2.商品大分类数据:
包括大分类编号,大分类名汉字(日文汉字),大分类假名,注册年月日,注册时刻,更新年月日,更新时刻和输入者。
3.商品中分类数据:
包括大分类编号,中分类编号,中分类名汉字(日文汉字),中分类假名,删除日期,注册年月日,注册时刻,更新日期,更新时刻和输入者。
4.商品小分类数据:
包括大分类编号,中分类编号,小分类编号,小分类名汉字(日文汉字),小分类假名,POS部门,等级,购买者代码,删除日期,购买者标识,注册年月日,注册时刻,更新日期,更新时刻和输入者。
<2>处理功能需求:
1.从INI文件中读取企业名和企业代码,本地系统日志路径和商品分类参数文件路径。
并从系统得到当前时期,从商品分类参数文件得到此参数文件生成的日期。
并按照客户要求的格式生成名为“ヘッダレコード”(头记录)的记录。
当INI文件不存在,打不开或者打开后读取的项目有错的时候提示错误信息并保存到系统日志,终止程序。
2.从商品分类参数文件中得到分类阶层区分,有效区分和分类称呼的信息。
并按照客户要求的格式生成名为“データレコードA”(数据记录A)的记录,商品分类参数文件的目录不存在或者商品分类参数文件不存在或文件存在但是文件为空的时候提示错误并终止。
3.分别从大分类数据表,中分类数据表,和小分类数据表这三张列名不同的表中得到相应的分类代码,分类名和部门名,按照大分类,中分类,小分类的主从关系生成名为“データレコードB”(数据记录B)的顺序记录,当大分类,中分类,小分类中任意一张数据表为空的时候,此记录都为0件。
4.统计总共的记录条数并生成名为“エンドレコード”(结束记录)的记录。
5.在服务器的数据库和本地保存响应的日志文件。
●用于分析的分店铺交易状况统计模块
<1>基本资料:
1.会员交易数据文件:
此文件由其他模块生成,是一个已排好序文件,包括店铺代码,终端号,流水号,交易年月日,交易时间(时),交易时间(分),会员代码,积分种类,积分状态,本次积分,总积分,交易金额,交易积分,总交易金额(含税),积分对象金额,积分标准金额,积分倍率,负责人代码,确认人代码,积分卡使用次数,优惠等级,优惠倍率,退货交易。
<2>处理需求功能:
1.INI文件中读取本地系统日志路径和会员交易文件路径,当INI文件不存在,打不开或者打开后读取的项目有错的时候提示错误信息并保存到系统日志,终止程序。
2.从会员交易文件中读取数据,文件目录不存在或者文件不存在或者文件存在但是其中记录为空的时候,提示错误并终止。
会员文件正确读取后,开始处理,但是当数据文件中退货交易一项标识为“2”的情况下跳过不处理。
3.当交易日,店铺代码未发生变化的时候,统计当日该店铺的交易总件数,交易金额和交易的积分数。
同时当会员代码发生变化的时候,会员数加“1”,但是当会员代码没有发生变化的时候则不做加“1”处理。
4.当交易日或者店铺代码发生变化的时候,输出统计数据,并初始化各个统计用的工作区。
5.生成的数据文件中包含营业日,店铺代码,交易金额,交易件数,交易积分数,会员数,和备注。
6.在服务器的数据库和本地保存响应的日志文件。
3.2模块性能要求
1.实现所要求的功能。
2.可调用性强。
3.稳定性强。
3.3模块其他需求
●开发环境需求
1.硬件需求:
数据库服务器一台,项目管理服务器一台,单体编程测试主机一台。
2.操作系统:
日文版Windows2000。
3.开发平台:
Microsoft.NETFrameworkSDKv1.1,MicrosoftVisualStudio.NET2003。
4.开发语言:
C#。
5.数据库:
MicrosoftSQLServer2000。
6.管理工具:
Subversion(SVN)1.30。
●时间需求
学习使用日文版Windows2000操作系统,学习C#语言,完成日文式样书分析理解,系统需求分析,所负责两个模块功能实现以及单体测试报告需要3个月时间。
4可行性研究
4.1技术可行性
1.以C#作为该模块的开发工具,是因为它是目前使用最为广泛的编程语言之一,并且具有简单、现代、面向对象、类型安全、版本控制、兼容等特点。
2.以MicrosoftSQLServer2000作为该模块的数据库,是因为SQLServer2000数据库学起来较为简单,容易使用,因此使用数据库查询语句,条件查询语句以及写入语句,对数据库进行查询取值,并向数据库里写入数据。
3.在一些技术难题方面,由于有指导老师的指导和相关的参考文献,而且还有网上众多的网友所提供的资料,使得在开发过程中所遇到的困难都能够一一得到解决。
4.2经济可行性
随着科学技术的发展,特别是计算机技术的飞跃发展,使得计算机在人们的生活使用中越来越普遍。
计算机的普遍使用说明人们的生活水平提高了,从而也说明了计算机的价格越来越被众多人所接受。
然而价格的低廉并不是说产品的质量不好,是因为技术的飞跃发展使得产品的成本降低。
因此开发POS积分管理系统所需要的成本也是该百货店所能接受的,并且通过POS积分管理系统的管理使得客户获得相应的好处,从而使百货店获得更高的利益。
除此之外它还具有很多优点,例如:
1.可以随时获得客户的基本资料,以及店铺的基本资料,通过这些可以增加客户与百货店之间的相互信任度。
保证交易中的安全性。
2.方便百货店对客户积分的管理以及更新,以便让客户在符合条件的情况下享受某种特别优惠待遇,从而增加客户对百货店的满意度,吸引更多的客户。
3.方便百货店详细掌握交易状况,对其进行准确地分析,了解客户的需求,从而更好地完善自身的销售、服务、管理等,提高自身在激烈竞争下的竞争力和存活力。
因此,开发POS积分管理系统是可行的。
5数据库及数据文件设计
5.1数据流程图
●用于分析的商品分类数据生成模块(见图5-1)
图5-1用于分析的商品分类数据生成数据流程图
流程说明:
该流程涉及两个数据文件和三个数据库表。
其中包括一个输入文件和一个输出文件,三个数据表都是输入数据表。
商品分类参数文件:
FSPTB_ITEM_CLASS_PAR.CSV,输入数据文件,存放商品分类的参数。
大分类数据表:
SMTB_DAI_BUNRUI,输入数据表,存放商品大分类的相关信息。
中分类数据表:
SMTB_CHU_BUNRUI,输入数据表,存放商品中分类的相关信息。
小分类数据表:
SMTB_SHO_BUNRUI,输入数据表,存放商品小分类的相关信息。
商品分类数据文件:
SHOYYYYMMDD.DAT,输出数据文件,存放模块成功运行后生成的数据。
●用于分析的分店铺交易状况统计模块(见图5-2)
图5-2用于分析的分店铺交易状况统计数据流程图
流程说明:
该流程涉及两个数据文件。
包括一个输入数据文件和一个输出数据文件。
会员交易文件:
FSP_EFT010.CSV(已排好序),存放会员交易的相关信息。
交易状况统计数据文件:
FSP_URIAGE_KEI.DAT,存放按照客户要求统计的相关交易数据信息。
5.2数据表及数据文件结构设计
表5-1FSPTB_ITEM_CLASS_PAR.CSV(商品分类参数文件)
项目编号
项目中文名
项目英文名
类型
长度
1
分类阶层区分1
KAISOU_KUBUN1
C
1
2
分类阶层区分2
KAISOU_KUBUN2
C
1
3
分类阶层区分3
KAISOU_KUBUN3
C
1
4
分类阶层区分4
KAISOU_KUBUN4
C
1
5
有效区分1
YUUKOU_KUBUN1
C
1
6
有效区分2
YUUKOU_KUBUN2
C
1
7
有效区分3
YUUKOU_KUBUN3
C
1
8
有效区分4
YUUKOU_KUBUN4
C
1
9
分类称呼1
KAISOU_KOSYOU1
C
30
10
分类称呼2
KAISOU_KOSYOU2
C
30
11
分类称呼3
KAISOU_KOSYOU3
C
30
12
分类称呼4
KAISOU_KOSYOU4
C
30
13
数据开始日期
REKIYOU_DATE
字符
8
表5-2SMTB_DAI_BUNRUI(大分类数据表)
主键
列名
中文名称
类型
长度
是否允许空
◎
DAI_BUNRUI
大分类代码
Char
2
NOTNULL
DAI_BUNRUI_NAME_KANJI
大分类名汉字
Char
10
DAI_BUNRUI_NAME_KANA
大分类名假名
Char
10
TOROKU_YMD
注册日期
Char
8
TOROKU_HMS
注册时刻
Char
6
UPDATE_YMD
更新日期
Char
8
UPDATE_HMS
更新时刻
Char
6
INPUT_TANTO
输入负责人
Char
6
表5-3SMTB_CHU_BUNRUI(中分类数据表)
主键
列名
中文名称
类型
长度
是否允许空
◎
DAI_BUNRUI
大分类代码
Char
2
NOTNULL
◎
CHU_BUNRUI
中分类代码
Char
2
NOTNULL
CHU_BUNRUI_NAME_KANJI
中分类名汉字
Char
10
CHU_BUNRUI_NAME_KANA
中分类名假名
Char
10
CHU_SAKUJO_KIKAN
删除日期
Char
3
TOROKU_YMD
注册日期
Char
8
TOROKU_HMS
注册时刻
Char
6
UPDATE_YMD
更新日期
Char
8
UPDATE_HMS
更新时刻
Char
6
INPUT_TANTO
输入负责人
Char
6
表5-4SMTB_SHO_BUNRUI(小分类数据表)
主键
列名
中文名称
类型
长度
是否允许空
◎
DAI_BUNRUI
大分类代码
Char
2
NOTNULL
◎
CHU_BUNRUI
中分类代码
Char
2
NOTNULL
◎
SHO_BUNRUI
小分类代码
Char
3
NOTNULL
SHO_BUNRUI_NAME_KANJI
小分类名汉字
Char
10
SHO_BUNRUI_NAME_KANA
小分类名假名
Char
10
POS_BUMON
部门
Char
4
CLASS
等级
Char
5
BUYER_CD
购买者代码
Char
4
SHO_SAKUJO_KIKAN
删除日期
Char
8
BUYER_ARAIGAE_FG
购买者标识
Char
1
TOROKU_YMD
注册日期
Char
8
TOROKU_HMS
注册时刻
Char
6
UPDATE_YMD
更新日期
Char
8
UPDATE_HMS
更新时刻
Char
6
INPUT_TANTO
输入负责人
Char
6
表5-5FSP_EFT010.CSV(会员交易文件)
项目编号
项目中文名
项目英文名
类型
长度
1
店铺代码
TENPO_CODE
C
5
2
终端号
POS_NO
C
6
3
流水号
TORIHIKI_NO
C
6
4
交易年月日
TORIHIKI_YMD
C
8
5
交易时间(时)
TORIHIKI_HH
C
2
6
交易时间(分)
TORIHIKI_MM
C
2
7
会员代码
MEMBER_CODE
C
16
8
积分种类
POINTO_SBT
C
2
9
积分状态
STATUS
C
2
10
本次积分
POINT
N
9
11
总积分
ALL_POINT
N
9
12
交易金额
NET_URIAGE_M
N
9
13
交易积分
URIAGA_TENSU
N
7
14
总交易金额(含税)
ALL_URIAGE_M
N
9
15
积分对象金额
POINT_M
N
9
16
积分标准金额
POINT_RM
N
4
17
积分倍率
POINT_RIT
C
2
18
负责人代码
SEKININ_NO
C
6
19
确认人代码
TANTOU_NO
C
6
20
积分卡使用次数
CARD_RIYOSU
C
7
21
优惠等级
YUTAI_RANK
C
2
22
优惠倍率
YUTAI_BAIRIT
C
2
23
退货交易
HENPIN_KBN
C
1
6环境搭建
6.1安装MicrosoftVisualStudio.NET2003
执行安装程序,出现安装初始画面。
按照提示进入安装界面。
设置安装文件夹为“C:
\ProgramFiles\MicrosoftVisualStudio.NET2003\”,继续按照安装提示安装直到安装结束。
此时开始菜单的程序组中新增了一个“MicrosoftVisualStudio.NET2003”。
6.2安装MicrosoftSQLServer2000
开发某店POS积分管理系统时,共同使用一个数据库服务器,因此MicrosoftSQLServer2000的安装是在服务器上进行的,这里的模块不涉及数据库MicrosoftSQLServer2000的安装,只是使用。
6.3安装Subversion(SVN)
首先,在项目管理服务器(192.192.192.69)上安装Subversion服务器,一切设置均采用默认设置。
然后在管理服务器上新建好开发项目的各模块文件夹和共通函数的空文件。
第二步,在开发用计算机上安装客户端TortoiseSVN,采用默认设置即可。
第三步,安装Subversion用于MicrosoftVisualStudio.NET2003的插件AnkhSVN,采用默认安装即可。
7模块功能代码实现过程
由于是商业软件,根据客户要求,其中涉及到的判断控制语句很多,特别是对于文件的判断。
用于分析的商品分类数据生成和用于分析的分店铺交易状况统计这两个模块详细实现过程如下:
7.1用于分析的商品分类数据生成模块的实现
共通文件(COMMON.INI)的使用:
这里所谓的共通文件是存放了大部分系统中各个模块所需要的文件的路径和一些其他例如数据库连接字符串,客户方提供的企业信息等相关信息,所以基本上每个模块都需要读取共通文件中的一些信息和判断共通文件是否存在以及文件中各项目的值是否正确。
共通文件操作接口属于一个单独模块,我在这里只作判断和调用。
相关代码及说明如下:
……
IniConfigConf=newIniConfig();//实例化一个新的共通函数接口。
if(Conf.ErrorString=="1")//在共通文件操作接口中对出错字符串进行了定义,“1”的时候为共通文件不存在,“2”的时候为文件打不开,“3”的时候为文件中模块所需的项目的值有错。
{
……//提示出错语句并保存日志到数据库服务器
}
if(Conf.ErrorString=="2")
{
……//提示出错语句并保存日志到数据库服务器
}
if(Conf.ErrorString=="3")
{
……//提示出错语句并保存日志到数据库服务器
}
……
stringlogPath=Conf.LogFile;//从共通文件中得到日志文件的路径
stringfindsPath=Conf.FSPTB_ITEM_CLASS_PAR
stringenterPriseCode=Conf.EnterpriseCode;
stringenterPriseName=Conf.EnterpriseName;//从共通文件文件中得到其他模块所需的信息
……
对商品分类参数文件的判断:
stringfindsPath=Conf.FSPTB_ITEM_CLASS_PAR;//商品分类参数文件所在目录
if(!
Directory.Exists(findsPath))//判断目录是否存在
{
……//提示出错语句并保存日志到数据库服务器
}
if(!
File.Exists(Conf.FSPTB_ITEM_CLASS_PAR))
{
……//提示出错语句并保存日志到数据库服务器
}
if(File.Exists(Conf.FSPTB_ITEM_CLASS_PAR))
{
sr=newStreamReader(Conf.FSPTB_ITEM_CLASS_PAR);
stringreadStr=sr.ReadLine();
if(readStr==null)
{
……//提示出错语句并保存日志到数据库服务器
}
对商品分类参数文件的读取操作:
在这里用了C#文件I/O的Stream类。
由于CSV文件的各项目是用“,”隔开,故同时使用了Split的方法来实现对各项目的读取。
StreamReadersr;
……
Sr=newStreamReader(Conf.FSPTB_ITEM_CLASS_PAR,Encoding.Default);
stringtemp=sr.ReadLine();
temp=sr.ReadLine();//由于这个CSV文件包含了列名,故从第二行开始才是数据信息。
string[]str=temp.Split(newchar[]{','});
stringkaisou_kubun1=str[0];
……
stringrekiyou_date=str[12];
……
通过以上代码便完成了对商品分类参数文件这个CSV格式的文件内容的读取。
数据库操作:
本项目有一个数据库连接操作接口,故本模块对几张数据库表操作的核心代码如下:
……
conn=newSkyConnect();
这里使用了变长数组来存放读取的数据信息:
ArrayListarrDai=newArrayList();