毕业论文-某店pos积分管理系统—商品分类,交易状况统计_第1页
毕业论文-某店pos积分管理系统—商品分类,交易状况统计_第2页
毕业论文-某店pos积分管理系统—商品分类,交易状况统计_第3页
毕业论文-某店pos积分管理系统—商品分类,交易状况统计_第4页
毕业论文-某店pos积分管理系统—商品分类,交易状况统计_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

某店POS积分管理系统商品分类,交易状况统计摘要现在,百货店已经成为我们生活中不可缺少的一部分,而为了给客户提供更方便的服务平台,给商家提供更有效的管理手段设计了POS积分管理系统。向消费者发放积分这种手段在国内外各百货店都是很流行的。有了积分卡,消费者可以通过参加各种积分活动获得更多礼品或打折的利益,商家也可以通过发放积分这种方式来提升自己的市场竞争力,增加社会经济效益,从而使商家和消费者都能获利。在整个系统中我主要负责用于分析的商品分类数据生成和用于分析的分店铺交易状况统计两个模块,它们在系统中起着重要的作用。商品分类数据文件是根据其他模块生成的数据文件信息,按照指定的格式和要求生成一份具有分析价值的新的数据文件。而用于分析的分店铺交易状况统计是对各个分店铺在某交易日的交易情况的统计,对商家来说具有很强的市场参考分析价值。系统是基于日文版WINDOWS2000操作系统,采用CNET开发语言,并使用SQLSERVER2000的数据库来实现的。关键词计算机应用技术;信息管理系统;POS;商品分类;交易情况ANINTEGRALMANAGEMENTOFPOSSYSTEMFORADEPARTMENTSTORESTATISTICSTOCOMMODITYCLASSIFICATIONANDTRANSACTIONDATAABSTRACTNOWADAYS,SHOPPINGINDEPARTMENTSTOREHASBECOMEANESSENTIALPARTOFOURLIFEINORDERTOOFFERINGAMORECONVENIENTSERVICEPLATFORMFORCUSTOMERSANDAMOREEFFECTIVEMANAGEMENTTOOLFORMERCHANTS,APOSSYSTEMISDESIGNEDITISVERYPOPULARTOISSUEPOINTSTOCONSUMERSINLARGEDEPARTMENTSTORESINDOMESTICANDABROADCONSUMERSCANGAINMOREPRESENTORDIRECTDISCOUNTBYPARTICIPATINGINANYACTIVITYBYUSINGTHEPOINTCARDTHEENTERPRISEALSOCANIMPROVEITSMARKETINGCOMPETITIONANDINCREASETHESOCIOECONOMICBENEFITSITISBENEFITFORBOTHTHEENTERPRISESANDCONSUMERSINTHISSYSTEM,MYTASKISTOREALIZETHEMODULEOFANALYSISCOMMODITYCLASSIFICATIONDATAANDTHEMODULEOFANALYSISSUBSHOPTHEYBOTHPLAYIMPORTANTROLESINTHESYSTEMTHEANALYSISOFCOMMODITYCLASSIFICATIONDATAFILEISBASEDONOTHERMODULEDATA,ANDGENERATEDAVALUEDFILEACCORDINGTOSOMEFORMATANDREQUIREANDTHEANALYSISOFSUBSHOPTRADINGSTATISTICSDATAISOFGREATMARKETREFERENCEVALUEFORTHEBUSINESSTHEMODULESAREDEVELOPEDBYUSEOFCLANGUAGEANDSQLSERVER2000DATABASESONTHEPLATFORMOFJAPANESESYSTEMWINDOWS2000KEYWORDSCOMPUTERAPPLICATIONTECHNOLOGYINFORMATIONMANAGEMENTSYSTEMSPOSCOMMODITYCLASSIFICATIONTRANSACTIONS目录论文总页数30页1引言12系统概述13模块需求分析131模块功能需求232模块性能要求333模块其他需求34可行性研究441技术可行性442经济可行性45数据库及数据文件设计451数据流程图452数据表及数据文件结构设计66环境搭建961安装MICROSOFTVISUALSTUDIONET2003962安装MICROSOFTSQLSERVER2000963安装SUBVERSIONSVN97模块功能代码实现过程971用于分析的商品分类数据生成模块的实现972用于分析的分店铺交易状况统计的实现158模块测试结果2081用于分析的商品分类数据生成模块的测试结果2082用于分析的分店铺交易状况统计模块的测试结果26结论27参考文献28致谢29声明301引言21世纪的今天,人类已步入一个高速发展的信息时代。随着科学技术的不断发展和日益更新,计算机技术的发展更是尤为突出,并在人们的生活当中发挥着越来越重要的作用,已经成为人们生活中不可或缺的一个角色。进而产生了运用计算机技术开发的各式各样的产品来提高人们的工作管理效率,如各种各样的信息管理系统等,而POS积分管理系统便是其中一种类型的信息管理系统。POS积分管理这个概念在人们的记忆中并不陌生,它是风靡于各大企业经营管理中的一种先进的管理方式,也是提高管理效率的一种手段。随着WTO的步伐加快,国际化竞争必然加剧,国际国内市场将面临更为激烈的争夺。参与市场竞争,更多的要靠先进超前的经营管理观念和方法、系统的战略规划、科学的市场分析、规范的管理运作、入微的客户服务、优秀的员工队伍等综合实力。经营绩效是公司管理的重心,建立先进的管理系统,对推动公司战略实现、提高经营业绩是非常重要的。因此POS积分管理系统就是在具备先进科学技术条件下,以先进超前的经营管理观念为基础而设计的一套先进的管理系统。为了满足某百货店的需求,这里设计具有以下优点的POS积分管理系统。如检索迅速,提供有效的数据分析和市场参考,可靠性高,稳定性强,更新方便,保密性好,成本低,使用方便等等。有了这些优点,各大企业可以利用POS积分管理系统通过积分的手段提高经营绩效,达到增加利润的目的,增加个企业之间的竞争,从而促进社会经济的发展。在系统中,我主要负责用于分析的商品分类数据生成和用于分析的分店铺交易状况统计这两个模块。结合所学的知识,基于日文WINDOWS2000操作系统,采用CNET开发语言,并使用SQLSERVER2000的数据库来实现分析的商品分类数据生成以及用于分析的分店铺交易状况统计的功能。下面介绍开发过程中实现该模块的具体情况。2系统概述系统是某大型百货店的一套POS积分管理系统,百货店通过使用本系统可以进行对积分的管理,用户信息的管理,交易数据的统计以进行实时的市场分析等活动。整个系统主要负责用于分析的商品分类数据生成和用于分析的分店铺交易状况统计两个模块,它们在系统中起着重要的作用。商品分类数据文件是根据其他模块生成的数据文件信息,按照指定的格式和要求生成一份具有分析价值的新的数据文件。而用于分析的分店铺交易状况统计是对各个分店铺在某交易日的交易情况的统计,对商家来说具有很强的市场参考分析价值。该系统是采用C/S结构开发,为提高处理效率,降低成本,使用了大量批处理,以及定时处理机制。3模块需求分析在现代社会的商业竞争中,善于分析消费者的消费习惯,消费能力和需求从而做出正确的判断来制定更新的发展方向是十分重要的。而各种用于分析的数据就可以为企业进行这样的判断提供参考。所以在这里我负责了关于生成分析用数据的两个模块用于分析的商品分类数据生成和用于分析的分店铺交易状况统计。31模块功能需求用于分析的商品分类数据生成模块基本资料1商品分类参数文件此文件是由其他模块工作生成的数据,包括分类阶层区分,有效区分,分类称呼和此文件生成的日期。2商品大分类数据包括大分类编号,大分类名汉字(日文汉字),大分类假名,注册年月日,注册时刻,更新年月日,更新时刻和输入者。3商品中分类数据包括大分类编号,中分类编号,中分类名汉字(日文汉字),中分类假名,删除日期,注册年月日,注册时刻,更新日期,更新时刻和输入者。4商品小分类数据包括大分类编号,中分类编号,小分类编号,小分类名汉字(日文汉字),小分类假名,POS部门,等级,购买者代码,删除日期,购买者标识,注册年月日,注册时刻,更新日期,更新时刻和输入者。处理功能需求1从INI文件中读取企业名和企业代码,本地系统日志路径和商品分类参数文件路径。并从系统得到当前时期,从商品分类参数文件得到此参数文件生成的日期。并按照客户要求的格式生成名为“”(头记录)的记录。当INI文件不存在,打不开或者打开后读取的项目有错的时候提示错误信息并保存到系统日志,终止程序。2从商品分类参数文件中得到分类阶层区分,有效区分和分类称呼的信息。并按照客户要求的格式生成名为“A”(数据记录A)的记录,商品分类参数文件的目录不存在或者商品分类参数文件不存在或文件存在但是文件为空的时候提示错误并终止。3分别从大分类数据表,中分类数据表,和小分类数据表这三张列名不同的表中得到相应的分类代码,分类名和部门名,按照大分类,中分类,小分类的主从关系生成名为“B”(数据记录B)的顺序记录,当大分类,中分类,小分类中任意一张数据表为空的时候,此记录都为0件。4统计总共的记录条数并生成名为“”(结束记录)的记录。5在服务器的数据库和本地保存响应的日志文件。用于分析的分店铺交易状况统计模块基本资料1会员交易数据文件此文件由其他模块生成,是一个已排好序文件,包括店铺代码,终端号,流水号,交易年月日,交易时间(时),交易时间(分),会员代码,积分种类,积分状态,本次积分,总积分,交易金额,交易积分,总交易金额(含税),积分对象金额,积分标准金额,积分倍率,负责人代码,确认人代码,积分卡使用次数,优惠等级,优惠倍率,退货交易。处理需求功能1INI文件中读取本地系统日志路径和会员交易文件路径,当INI文件不存在,打不开或者打开后读取的项目有错的时候提示错误信息并保存到系统日志,终止程序。2从会员交易文件中读取数据,文件目录不存在或者文件不存在或者文件存在但是其中记录为空的时候,提示错误并终止。会员文件正确读取后,开始处理,但是当数据文件中退货交易一项标识为“2”的情况下跳过不处理。3当交易日,店铺代码未发生变化的时候,统计当日该店铺的交易总件数,交易金额和交易的积分数。同时当会员代码发生变化的时候,会员数加“1”,但是当会员代码没有发生变化的时候则不做加“1”处理。4当交易日或者店铺代码发生变化的时候,输出统计数据,并初始化各个统计用的工作区。5生成的数据文件中包含营业日,店铺代码,交易金额,交易件数,交易积分数,会员数,和备注。6在服务器的数据库和本地保存响应的日志文件。32模块性能要求1实现所要求的功能。2可调用性强。3稳定性强。33模块其他需求开发环境需求1硬件需求数据库服务器一台,项目管理服务器一台,单体编程测试主机一台。2操作系统日文版WINDOWS2000。3开发平台MICROSOFTNETFRAMEWORKSDKV11,MICROSOFTVISUALSTUDIONET2003。4开发语言C。5数据库MICROSOFTSQLSERVER2000。6管理工具SUBVERSIONSVN130。时间需求学习使用日文版WINDOWS2000操作系统,学习C语言,完成日文式样书分析理解,系统需求分析,所负责两个模块功能实现以及单体测试报告需要3个月时间。4可行性研究41技术可行性1以C作为该模块的开发工具,是因为它是目前使用最为广泛的编程语言之一,并且具有简单、现代、面向对象、类型安全、版本控制、兼容等特点。2以MICROSOFTSQLSERVER2000作为该模块的数据库,是因为SQLSERVER2000数据库学起来较为简单,容易使用,因此使用数据库查询语句,条件查询语句以及写入语句,对数据库进行查询取值,并向数据库里写入数据。3在一些技术难题方面,由于有指导老师的指导和相关的参考文献,而且还有网上众多的网友所提供的资料,使得在开发过程中所遇到的困难都能够一一得到解决。42经济可行性随着科学技术的发展,特别是计算机技术的飞跃发展,使得计算机在人们的生活使用中越来越普遍。计算机的普遍使用说明人们的生活水平提高了,从而也说明了计算机的价格越来越被众多人所接受。然而价格的低廉并不是说产品的质量不好,是因为技术的飞跃发展使得产品的成本降低。因此开发POS积分管理系统所需要的成本也是该百货店所能接受的,并且通过POS积分管理系统的管理使得客户获得相应的好处,从而使百货店获得更高的利益。除此之外它还具有很多优点,例如1可以随时获得客户的基本资料,以及店铺的基本资料,通过这些可以增加客户与百货店之间的相互信任度。保证交易中的安全性。2方便百货店对客户积分的管理以及更新,以便让客户在符合条件的情况下享受某种特别优惠待遇,从而增加客户对百货店的满意度,吸引更多的客户。3方便百货店详细掌握交易状况,对其进行准确地分析,了解客户的需求,从而更好地完善自身的销售、服务、管理等,提高自身在激烈竞争下的竞争力和存活力。因此,开发POS积分管理系统是可行的。5数据库及数据文件设计51数据流程图用于分析的商品分类数据生成模块(见图51)图51用于分析的商品分类数据生成数据流程图流程说明该流程涉及两个数据文件和三个数据库表。其中包括一个输入文件和一个输出文件,三个数据表都是输入数据表。商品分类参数文件FSPTB_ITEM_CLASS_PARCSV,输入数据文件,存放商品分类的参数。大分类数据表SMTB_DAI_BUNRUI,输入数据表,存放商品大分类的相关信息。中分类数据表SMTB_CHU_BUNRUI,输入数据表,存放商品中分类的相关信息。小分类数据表SMTB_SHO_BUNRUI,输入数据表,存放商品小分类的相关信息。大分类于分析的商品分类数据生成商品分类参数文件商品分类数据文件中分类小分类商品分类数据文件SHOYYYYMMDDDAT,输出数据文件,存放模块成功运行后生成的数据。用于分析的分店铺交易状况统计模块(见图52)图52用于分析的分店铺交易状况统计数据流程图流程说明该流程涉及两个数据文件。包括一个输入数据文件和一个输出数据文件。会员交易文件FSP_EFT010CSV(已排好序),存放会员交易的相关信息。交易状况统计数据文件FSP_URIAGE_KEIDAT,存放按照客户要求统计的相关交易数据信息。52数据表及数据文件结构设计表51FSPTB_ITEM_CLASS_PARCSV(商品分类参数文件)项目编号项目中文名项目英文名类型长度1分类阶层区分1KAISOU_KUBUN1C12分类阶层区分2KAISOU_KUBUN2C13分类阶层区分3KAISOU_KUBUN3C1用于分析的分店铺交易状况统计会员交易文件交易状况统计数据文件4分类阶层区分4KAISOU_KUBUN4C15有效区分1YUUKOU_KUBUN1C16有效区分2YUUKOU_KUBUN2C17有效区分3YUUKOU_KUBUN3C18有效区分4YUUKOU_KUBUN4C19分类称呼1KAISOU_KOSYOU1C3010分类称呼2KAISOU_KOSYOU2C3011分类称呼3KAISOU_KOSYOU3C3012分类称呼4KAISOU_KOSYOU4C3013数据开始日期REKIYOU_DATE字符8表52SMTB_DAI_BUNRUI(大分类数据表)主键列名中文名称类型长度是否允许空DAI_BUNRUI大分类代码CHAR2NOTNULLDAI_BUNRUI_NAME_KANJI大分类名汉字CHAR10DAI_BUNRUI_NAME_KANA大分类名假名CHAR10TOROKU_YMD注册日期CHAR8TOROKU_HMS注册时刻CHAR6UPDATE_YMD更新日期CHAR8UPDATE_HMS更新时刻CHAR6INPUT_TANTO输入负责人CHAR6表53SMTB_CHU_BUNRUI(中分类数据表)主键列名中文名称类型长度是否允许空DAI_BUNRUI大分类代码CHAR2NOTNULLCHU_BUNRUI中分类代码CHAR2NOTNULLCHU_BUNRUI_NAME_KANJI中分类名汉字CHAR10CHU_BUNRUI_NAME_KANA中分类名假名CHAR10CHU_SAKUJO_KIKAN删除日期CHAR3TOROKU_YMD注册日期CHAR8TOROKU_HMS注册时刻CHAR6UPDATE_YMD更新日期CHAR8UPDATE_HMS更新时刻CHAR6INPUT_TANTO输入负责人CHAR6表54SMTB_SHO_BUNRUI(小分类数据表)主键列名中文名称类型长度是否允许空DAI_BUNRUI大分类代码CHAR2NOTNULLCHU_BUNRUI中分类代码CHAR2NOTNULLSHO_BUNRUI小分类代码CHAR3NOTNULLSHO_BUNRUI_NAME_KANJI小分类名汉字CHAR10SHO_BUNRUI_NAME_KANA小分类名假名CHAR10POS_BUMON部门CHAR4CLASS等级CHAR5BUYER_CD购买者代码CHAR4SHO_SAKUJO_KIKAN删除日期CHAR8BUYER_ARAIGAE_FG购买者标识CHAR1TOROKU_YMD注册日期CHAR8TOROKU_HMS注册时刻CHAR6UPDATE_YMD更新日期CHAR8UPDATE_HMS更新时刻CHAR6INPUT_TANTO输入负责人CHAR6表55FSP_EFT010CSV(会员交易文件)项目编号项目中文名项目英文名类型长度1店铺代码TENPO_CODEC52终端号POS_NOC63流水号TORIHIKI_NOC64交易年月日TORIHIKI_YMDC85交易时间(时)TORIHIKI_HHC26交易时间(分)TORIHIKI_MMC27会员代码MEMBER_CODEC168积分种类POINTO_SBTC29积分状态STATUSC210本次积分POINTN911总积分ALL_POINTN912交易金额NET_URIAGE_MN913交易积分URIAGA_TENSUN714总交易金额(含税)ALL_URIAGE_MN915积分对象金额POINT_MN916积分标准金额POINT_RMN417积分倍率POINT_RITC218负责人代码SEKININ_NOC619确认人代码TANTOU_NOC620积分卡使用次数CARD_RIYOSUC721优惠等级YUTAI_RANKC222优惠倍率YUTAI_BAIRITC223退货交易HENPIN_KBNC16环境搭建61安装MICROSOFTVISUALSTUDIONET2003执行安装程序,出现安装初始画面。按照提示进入安装界面。设置安装文件夹为“CPROGRAMFILESMICROSOFTVISUALSTUDIONET2003”,继续按照安装提示安装直到安装结束。此时开始菜单的程序组中新增了一个“MICROSOFTVISUALSTUDIONET2003”。62安装MICROSOFTSQLSERVER2000开发某店POS积分管理系统时,共同使用一个数据库服务器,因此MICROSOFTSQLSERVER2000的安装是在服务器上进行的,这里的模块不涉及数据库MICROSOFTSQLSERVER2000的安装,只是使用。63安装SUBVERSIONSVN首先,在项目管理服务器19219219269上安装SUBVERSION服务器,一切设置均采用默认设置。然后在管理服务器上新建好开发项目的各模块文件夹和共通函数的空文件。第二步,在开发用计算机上安装客户端TORTOISESVN,采用默认设置即可。第三步,安装SUBVERSION用于MICROSOFTVISUALSTUDIONET2003的插件ANKHSVN,采用默认安装即可。7模块功能代码实现过程由于是商业软件,根据客户要求,其中涉及到的判断控制语句很多,特别是对于文件的判断。用于分析的商品分类数据生成和用于分析的分店铺交易状况统计这两个模块详细实现过程如下71用于分析的商品分类数据生成模块的实现共通文件(COMMONINI)的使用这里所谓的共通文件是存放了大部分系统中各个模块所需要的文件的路径和一些其他例如数据库连接字符串,客户方提供的企业信息等相关信息,所以基本上每个模块都需要读取共通文件中的一些信息和判断共通文件是否存在以及文件中各项目的值是否正确。共通文件操作接口属于一个单独模块,我在这里只作判断和调用。相关代码及说明如下INICONFIGCONFNEWINICONFIG/实例化一个新的共通函数接口。IFCONFERRORSTRING“1“/在共通文件操作接口中对出错字符串进行了定义,“1”的时候为共通文件不存在,“2”的时候为文件打不开,“3”的时候为文件中模块所需的项目的值有错。/提示出错语句并保存日志到数据库服务器IFCONFERRORSTRING“2“/提示出错语句并保存日志到数据库服务器IFCONFERRORSTRING“3“/提示出错语句并保存日志到数据库服务器STRINGLOGPATHCONFLOGFILE/从共通文件中得到日志文件的路径STRINGFINDSPATHCONFFSPTB_ITEM_CLASS_PARSTRINGENTERPRISECODECONFENTERPRISECODESTRINGENTERPRISENAMECONFENTERPRISENAME/从共通文件文件中得到其他模块所需的信息对商品分类参数文件的判断STRINGFINDSPATHCONFFSPTB_ITEM_CLASS_PAR/商品分类参数文件所在目录IFDIRECTORYEXISTSFINDSPATH/判断目录是否存在/提示出错语句并保存日志到数据库服务器IFFILEEXISTSCONFFSPTB_ITEM_CLASS_PAR/提示出错语句并保存日志到数据库服务器IFFILEEXISTSCONFFSPTB_ITEM_CLASS_PARSRNEWSTREAMREADERCONFFSPTB_ITEM_CLASS_PARSTRINGREADSTRSRREADLINEIFREADSTRNULL/提示出错语句并保存日志到数据库服务器对商品分类参数文件的读取操作在这里用了C文件I/O的STREAM类。由于CSV文件的各项目是用“,”隔开,故同时使用了SPLIT的方法来实现对各项目的读取。STREAMREADERSRSRNEWSTREAMREADERCONFFSPTB_ITEM_CLASS_PAR,ENCODINGDEFAULTSTRINGTEMPSRREADLINETEMPSRREADLINE/由于这个CSV文件包含了列名,故从第二行开始才是数据信息。STRINGSTRTEMPSPLITNEWCHAR,STRINGKAISOU_KUBUN1STR0STRINGREKIYOU_DATESTR12通过以上代码便完成了对商品分类参数文件这个CSV格式的文件内容的读取。数据库操作本项目有一个数据库连接操作接口,故本模块对几张数据库表操作的核心代码如下CONNNEWSKYCONNECT这里使用了变长数组来存放读取的数据信息ARRAYLISTARRDAINEWARRAYLISTARRAYLISTARRCHUNEWARRAYLISTARRAYLISTARRSHONEWARRAYLISTARRAYLISTARRTOTALNEWARRAYLISTSTRINGSQLDAI“SELECTDAI_BUNRUI,DAI_BUNRUI_NAME_KANJIFROMSMTB_DAI_BUNRUI“STRINGSQLCHU“SELECTDAI_BUNRUI,CHU_BUNRUI,CHU_BUNRUI_NAME_KANJIFROMSMTB_CHU_BUNRUI“STRINGSQLSHO“SELECTDAI_BUNRUI,CHU_BUNRUI,SHO_BUNRUI,SHO_BUNRUI_NAME_KANJIFROMSMTB_SHO_BUNRUI“按照客户要求的格式,从三张不同列长的表中读取所需要的数据排好序组成新的记录,同时要求其中任意一张表为空的情况下这条记录都为0件,最初希望通过直接用数据库操作语句的方式来实现几张表的组合,如用内联接,外联接和合并查询UNION等,经过很多方法的尝试,都失败了,最后经过长时间的思考和尝试,选用了DATASET,DATATABLE和DATAROW来实现了这个功能,具体操作如下DATASETDS1NEWDATASETDATASETDS2NEWDATASETDATASETDS3NEWDATASETDS1CONNGETDATASETSQLDAIDS2CONNGETDATASETSQLCHUDS3CONNGETDATASETSQLSHOIFDS1TABLES0ROWSCOUNT0|DS2TABLES0ROWSCOUNT0|DS3TABLES0ROWSCOUNT0/任意一张数据表为空的时候SWWRITELINE“記録0件“SWFLUSHELSEDATATABLETBNEWDATATABLETBDS1TABLES0FOREACHDATAROWDRINTBROWSARRDAIADD“RECORDFLAG3“0000“DR0TOSTRING“000000“000000“000000“DR1TOSTRINGDS2CONNGETDATASETSQLCHUTBDS2TABLES0FOREACHDATAROWDRINTBROWSARRCHUADD“RECORDFLAG3“0000“DR0TOSTRING“0000“DR1TOSTRING“000000“000000“DR2TOSTRINGDS3CONNGETDATASETSQLSHOTBDS3TABLES0FOREACHDATAROWDRINTBROWSARRSHOADD“RECORDFLAG3“0000“DR0TOSTRING“0000“DR1TOSTRING“0000“DR2TOSTRING“000000“DR3TOSTRINGFORINTI0IARRDAICOUNTIARRTOTALADDARRDAIIFORINTI0IARRCHUCOUNTIARRTOTALADDARRCHUIFORINTI0IARRSHOCOUNTIARRTOTALADDARRSHOIARRTOTALSORTFORINTI0IARRTOTALCOUNTISWWRITELINEARRTOTALISWWRITELINECONNDISPOSESWFLUSHSWCLOSE写系统日志将系统的各个处理过程写成系统日志保存在数据库服务器并在本地生成LOG文件,这里使用一条结束日志来说明具体实现方法。STRINGP_SEL2“E“/结束LOGSTRINGP_MSG2“終了“/结束LOG提示STRINGP_APPNM“FSPB1360“/模块提示STRINGP_FUNCNM4“終了“/项目名STRINGP_JOBNM“SKWANXIAO“/操作工作号STRINGP_ERRDETAIL6“終了“/信息提示STRINGP_INIFILE“COMMONINI“/INIFILECONNNEWSKYCONNECT将日志写入数据库服务器。CONNSQLEXECUTE“INSERTFSPTB_LOGP_SEL,P_MSG,P_APPNM,P_FUNCNM,P_JOBNM,P_ERRDETAIL,P_INIFILEVALUES“P_SEL2“,“P_MSG2“,“P_APPNM“,“P_FUNCNM4“,“P_JOBNM“,“P_ERRDETAIL6“,“P_INIFILE“CONNDISPOSE将日志写入本地日志文件SWNEWSTREAMWRITERLOGPATH,TRUE,ENCODINGDEFAULTSWWRITELINE“01234567“,DATETIMENOW,P_SEL2,P_MSG2,P_APPNM,P_FUNCNM4,P_JOBNM,P_ERRDETAIL6,P_INIFILESWWRITELINESWFLUSHSWCLOSE以上便是本模块一些主要功能的核心代码和实现方法。72用于分析的分店铺交易状况统计的实现这里的共通文件的操作,会员交易文件操作,系统日志的创建和前一模块类似,故不再另举例说明,下面介绍一下模块功能实现的核心算法从会员交易文件中得到需求的几个属性。SWNEWSTREAMWRITERDATAPATH,TRUE,ENCODINGDEFAULTSRNEWSTREAMREADERCONFPOS_TORIHIKI,ENCODINGDEFAULTSTRINGTEMPSRREADLINESTRINGSTRTEMPSPLITNEWCHAR,STRINGTENPO_CODESTR0STRINGTORIHIKI_YMDSTR3STRINGMEMBER_CODESTR6STRINGNET_URIAGE_MSTR11STRINGURIAGE_TENSUSTR12STRINGHENPIN_KBNSTR22STRINGYOBI“各个计数器初始化。INTNETURIAGE0INTURIAGETENSU0INTTORIHIKICOUNT0INTMEMBERCOUNT0STRINGOLDTENPO_CODE“STRINGOLDTORIHIKI_YMD“STRINGOLDMEMBER_CODE“BOOLFIRSTTRUE/判断是否为第一次交易WHILETEMPNULLIFHENPIN_KBN“2“/退货标识是“2”的情况下跳过不做处理为了实现模块功能,由于采用的方法是逐条读取数据来比较,故定义了几个临时变量OLDTENPO_CODE,OLDTORIHIKI_YMD,OLDMEMBER_CODE来存放上一条记录的对应项目的值,便于两条记录进行比较。比较的时候,采用的方法是只要当日期或者店铺代码任意一个发生变化的时候变把前面所统计的数据打印一次,从而组成这个分析数据。ELSEIFHENPIN_KBN“2“TORIHIKICOUNT1MEMBERCOUNT1;NETURIAGECONVERTTOINT32NET_URIAGE_MURIAGETENSUCONVERTTOINT32URIAGE_TENSUOLDTENPO_CODETENPO_CODEOLDTORIHIKI_YMDTORIHIKI_YMDOLDMEMBER_CODEMEMBER_CODEELSEIFHENPIN_KBN“2“NETURIAGECONVERTTOINT32NET_URIAGE_MNETURIAGEURIAGETENSUCONVERTTOINT32URIAGE_TENSUURIAGETENSUIFMEMBER_CODEOLDMEMBER_CODEMEMBERCOUNTMEMBERCOUNT1ELSEIFMEMBER_CODEOLDMEMBER_CODE当本次读取的店铺代码与上一条的不一样的时候。ELSEIFTENPO_CODEOLDTENPO_CODESWWRITELINE“0123456“,OLDTORIHIKI_YMD,OLDTENPO_CODE,NETURIAGE,TORIHIKICOUNT,URIAGETENSU,MEMBERCOUNT,YOBISWFLUSHMEMBERCOUNT1TORIHIKICOUNT1NETURIAGECONVERTTOINT32NET_URIAGE_MURIAGETENSUCONVERTTOINT32URIAGE_TENSUELSEIFTORIHIKI_YMDOLDTORIHIKI_YMDIFTENPO_CODEOLDTENPO_CODENETURIAGECONVERTTOINT32NET_URIAGE_MNETURIAGEURIAGETENSUCONVERTTOINT32URIAGE_TENSUURIAGETENSUIFMEMBER_CODEOLDMEMBER_CODEMEMBERCOUNTMEMBERCOUNT1ELSEIFMEMBER_CODEOLDMEMBER_CODEELSEIFTENPO_CODEOLDTENPO_CODESWWRITELINE“0123456“,OLDTORIHIKI_YMD,OLDTENPO_CODE,NETURIAGE,TORIHIKICOUNT,URIAGETENSU,MEMBERCOUNT,YOBISWFLUSHMEMBERCOUNT1TORIHIKICOUNT1NETURIAGECONVERTTOINT32NET_URIAGE_MURIAGETENSUCONVERTTOINT32URIAGE_TENSUTEMPSRREADLINE读取下一条,如果为空的话,跳出循环。IFTEMPNULLBREAKIFHENPIN_KBN“2“ELSEIFHENPIN_KBN“2“OLDTENPO_CODETENPO_CODEOLDTORIHIKI_YMDTORIHIKI_YMDOLDMEMBER_CODEMEMBER_CODE读取下一条的各项目值。STRTEMPSPLITNEWCHAR,TENPO_CODESTR0TORIHIKI_YMDSTR3MEMBER_CODESTR6NET_URIAGE_MSTR11URIAGE_TENSUSTR12HENPIN_KBNSTR22由于WHILE循环结束的时候,上面判断的最后一条记录为空,有可能导致前面一条或者几条记录的数据不会被处理,故在循环外还应再对最后一条数据进行判断处理,这样才能完整的处理会员交易文件里面的所有数据。IFHENPIN_KBN“2“ELSEIFHENPIN_KBN“2“IFTENPO_CODEOLDTENPO_CODENETURIAGECONVERTTOINT32NET_URIAGE_MNETURIAGEURIAGETENSUCONVERTTOINT32URIAGE_TENSUURIAGETENSUIFMEMBER_CODEOLDMEMBER_CODEMEMBERCOUNTMEMBERCOUNT1ELSEIFMEMBER_CODEOLDMEMBER_CODEELSEIFTENPO_CODEOLDTENPO_CODE|TORIHIKI_YMDOLDTORIHIKI_YMDTORIHIKICOUNT1MEMBERCOUNT1NETURIAGENETURIAGECONVERTTOINT32NET_URIAGE_MURIAGETENSUCONVERTTOINT32URIAGE_TENSUSWWRITELINE“0123456“,TORIHIKI_YMD,TENPO_CODE,NETURIAGE,TORIHIKICOUNT,URIAGETENSU,MEMBERCOUNT,YOBISWFLUSHSWCLOSE以上便是本模块功能实现的核心算法。8模块测试结果两个模块的功能都实现并完成了测试。这里列出一些具有代表性的测试结果。81用于分析的商品分类数据生成模块的测试结果模块共包含共通文件取得处理,文件存在检查处理,初期处理,商品分类数据项目处理,结束处理5方面共19个测试点。这里列出一些测试结果。共通文件取得处理1文件不存在的情况下图81目录下COMMONINI不存在的情况下图82测试界面中的错误信息COMMONINI访问错误图83数据库服务器中的日志记录更新一条开始LOG和一条结束LOG2INI文件内容有错的情况下图84删除了模块需要用的LOGFILE路径和企业代码,企业名的INI文件图85测试界面中提示错误信息COMMONINI设定错误向数据库服务器更新日志信息的情况与文件不存在时类似。文件存在检查处理1商品分类参数文件目录不存在的情况下图86商品分类参数文件目录(FSPTB_ITEM_CLASS_PAR文件夹)不存在的情况图87测试界面中提示错误信息商品分类参数文件目录不存在图88数据库服务器中更新的三条日志开始日志,错误日志,结束日志图89保存到本地的三条日志记录开始日志,错误日志和结束日志2商品分类参数文件不存在的情况下图810商品参数文件目录(FSPTB_ITEM_CLASS_PAR文件夹)存在图811商品分类参数文件目录下商品分类参数文件不存在的情况图812测试界面中提示信息商品分类参数文件不存在更新系统日志和保存到本地系统日志和商品分类参数文件目录不存在时类似。初期处理向服务器更新一条开始日志并在本地保存,前面在判断商品分类参数文件目录不存在时已经举例说明过,故不再举例,见图88和图89。商品分类数据项目处理1头记录程序正常运行的情况下在生成的数据文件截图(见图813)中,红色方框内的就是头记录,包括了记录代码区分,企业代码,企业名字,数据生成日期,商品分类参数文件日期和备注。图813生成数据文件的头记录2数据记录A见图813中名为“A”的一项,此项便是数据记录A,包括记录代码区分,分类阶层区分,有效区分,分类称呼和备注。3数据记录B见图813中名为“B”的一项,此项便是数据记录B,包括记录代码区分,从大,中,小三个数据库表中得到的分类代码再经过添“0”处理过后的分类代码14,部门名称和备注。由于此数据记录比较长,故这里就不截完整的图来说明。4结束记录如图814中红色方框内的就是结束记录。包含了记录代码区分和统计的总记录条数。图814结束记录5大分类数据库中数据为空的情况这里先列出正常的数据库表,如图815,图816,图817图815大分类数据库表图816中分类数据库表图817小分类数据库表当大分类数据库表中数据为空的情况下(如图818)得到的数据记录B提示信息“记录为0件”(如图819)。图818大分类数据表中数据为空的情况图819大分类数据库表为空时,生成数据文件里数据记录B为0件6中分类数据库表为空的情况下,数据文件里数据记录B为0件。具体情况类似大分类数据库表为空的情况,这里不另做说明。7小分类数据库表为空的情况下,数据文件里数据记录B为0件。具体情况类似大分类数据库表为空的情况,这里不另做说明。结束处理向数据库服务器更新一条结束日志,并保存到本地,具体情况在商品分类参数文件目录不存在时已经说明过,故此不再另做说明,见图88和图89。82用于分析的分店铺交易状况统计模块的测试结果模块共包含共通文件取得处理,文件存在检查处理,初期处理,会员交易状况数据项目的处理,结束处理5方面共15个测试点。由于共通文件取得处理,文件存在检查处理,初期处理,结束处理这些都和用于分析的分店铺交易状况统计模块类似,这里就只列出一些项目测试结果。图820本地创建的日志文件(正确运行后的3条开始日志,业务处理日志,结束日志)图821写入数据库服务器的日志信息(正确运行后的3条开始日志,业务处理日志,结束日志)图822模块运行生成的会员交易统计数据文件(FSP_URIAGE_KEIDAT)在程序正确运行后,生成如图823的一个数据文件,第一个分隔线“”下的是会员代码都一样的情况,第二个分隔线“”下的是会员代号有不一样情况的数据文件,其中都按照交易日期,店铺代码改变而统计出来,这里不再具体一条一条进行举例说明。图823交易日期发生变化的情况下生成的交易状况统计文件以上就是两个模块的部分测试结果。由于重复测试和类似的情况比较多,这里也就没有每条测试都举例说明,只取了一些具有代表性的情况说明。结论通过本次设计,首次接触了C语言,并进一步学习了SQL数据库技术方面的知识,同时也是首次在日文版WINDOWS操作系统的环境下进行开发,并且重点学习和使用了关于几种格式的文件I/O操作。在设计过程中,遇到了许多预计中和预计之外的问题,首先在用于分析的分店铺交易状况统计这个模块中对于三张数据表时遇到了很多麻烦,尝试了许多种方法仍然不能解决的情况下继续查阅资料,和同学商讨,最后终于找到了一个虽然看起来比较笨,但是却能够解决这个问题的方法。这也让我前所未有地感觉到了团队的重要性,让我充分理解到了团队合作的概念和团队精神。面向日本的项目的开发中,对代码的设计和式样书以及测试计划的要求是很严格的,这点在模块功能实现后写测试计划时充分的体现了出来,由于严格地控制了测试点,所以在测试的时候对源程序的改动也十分的大,而源程序一旦发生改变,又必须重新对所有的测试点进行测试。一些看似简单的地方必须通过许多次的判断才能大体符合要求。这些细节上的问题也是在以前最容易疏忽的地方,所以通过这次设计,在设计理念上也发生了许多变化。三个月时间里,在老师的指导和同学的帮助下,我顺利地完成了用于分析的商品分类数据生成和用于分析的分店铺交易状况统计这两个模块的功能实现,但是由于知识范围的限制和经验的缺乏,本次设计中还有很多不足的地方例如作为一个实用性软件,本模块的实用性和全面性还很欠缺,还不能满足一个系统正常运行的需求;由于学习语言的不彻底性,也存在一些功能性方面的缺陷,比如在程序优化时对时间和空间的利用仍不充分;由于编程经验的缺乏,在编程过程中,特别是编程规范和格式方面存在很大的问题,比如MAIN函数里的程序太长,不方便查阅和修改等,这些都有待今后改进。参考文献1唐耀C程序设计实用教程M北京中国水利水电出版社,2005。2庄成三微软NET平台软件技术M成都电子科技大学出版社,2004。3方睿实用网络技术教程M成都四川大学出版社,2003。4方睿,刁仁宏等网络数据库原理及应用M成都四川大学出版社,2005。5李超,罗积玉等软件制造工程M成都电子科技大学出版社,2005。6杜斌,幸利等软件设计工程M成都电子科技大学出版社,2005。7KARLIWATSON,MARCOBELLINASO美等C入门经典M齐立波译北京清华大学出版社,2005。致谢论文的工作是2007年2月至2007年6月在成都信息工程学院网络工程系完成的。设计能顺利的完成,首先,谢谢我们的指导老师常征老师和陈运老师长期以来给我们的帮助,两位老师长期以来都耐心细致的给我们辅导,帮我们补充重要的知识点。在完成毕业设计的过程中,认真负责,严谨细致,多次询问毕业设计的进展情况,也给了我很多建议,他们细心的指导也给了我很大的鼓励和帮助。同时还要感谢我的公司的李晓岗高级工程师和其他公司的前辈们和我的同学们,没有你们的热心帮助,你们的鼓励,就没有本设计的成功完成。这里向他们表示深深的谢意最后向在百忙之中评审本文的各位专家、老师表示衷心的感谢作者简介姓名万晓性别男出生年月1985年10月19日民族汉EMAILWANXIAO1019163COM声明本论文的工作是2007年2月至2007年6月在成都信息工程学院网络工程系完成的。文中除了特别加以标注地方外,不包含他人已经发表或撰写过的研究成果,也不包含为获得成都信息工程学院或其他教学机构的学位或证书

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论