版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学位论文某店POS积分管理系统——积分失效与数据分析模块的实现论文作者姓名:申请学位专业:计算机科学与技术申请学位类别:论文提交日期:某店POS积分管理系统——积分失效与数据分析模块的实现摘要开发一个大而复杂的POS积分管理软件系统,将它进行适当的分解,不但可以降低其复杂性,还可以减少开发工作量,降低开发成本,提高软件生产率。其中,积分失效处理,是为了刺激客户消费,对于一年以内未购买任何商品的会员,对其积分进行清除处理。数据处理模块,是对商品销售金额等具体数据进行计算处理,以方便企业对各类型商品销售情况等进行数据分析。作为商务用软件,错误检测机制尤为重要。因此,在模块开发时应考虑到各种实发情况的出现,并做出相应处理。在完成程序开发后,需作成单元检测清单(PCL),并进行测试,验证软件的有效性,发现并修补缺陷,以提高软件质量,确保开发出用户满意的软件产品。关键词:POS积分管理软件系统;积分失效;数据分析;单元检测清单AnIntegralManagementofPOSSystemforADepartmentStore——TheImplementationofIntegralFailureandDataAnalysisModuleAbstractThedesignisaboutthedevelopmentofmakeintegralfailuresanddataanalysismodules.Integralfailures,Thememberswhothewholeyeardidnotbuyanygoods,willbegetridoftheirintegral.Dataanalysismoduleisforthesalesamountofspecificdatatobedealtwithandfortheconvenienceofenterprisestodealwithalltypesofcommodities,suchassalesofdataanalysis.DevelopmentofmodulesthatshouldbetakenintoaccountisvariousCircumstances,andmadeaprogramchecklist(PCL)isalsoimportant.Conducttestingtoverifytheeffectivenessofthesoftwareanddetectandrepairdefectsandtoimprovesoftwarequalityisalsoneeded.Keywords:integralmanagementsystem;IntegralFailure;DataAnalysis;ProgramCheckList目录论文总页数:30页——积分失效与数据分析模块的实现 01 引言 11.1 课题背景 11.2 选题意义 11.3 研究方法 12 分析工程 12.1 需求分析 12.2 系统分析 22.2.1 系统构成 22.2.2 系统模块 22.2.3 系统数据分析 23 设计工程 33.1 外部设计(概要设计) 33.1.1 数据库设计 33.1.2 数据流程图 73.2 内部设计(详细设计) 83.2.1 积分失效详细代码设计 83.2.2 数据分析模块详细代码设计 134 制造工程 144.1 开发环境 144.2 程序开发 154.2.1 程序流程图 154.2.2 建立JDBC-ODBC桥接器 174.2.3 读取INI文件 174.2.4 对数据库操作 184.2.5 对文件操作 195 测试工程 205.1 测试准备 205.1.1 积分失效模块单元检测表 205.1.2 分析用POS明细作成模块单元检测表 235.2 测试实施 245.2.1 测试页面截图 245.2.2 测试结果数据 26结论 27参考文献 28致谢 29声明 30第30页共30页引言课题背景随着社会科学技术突飞猛进的发展,计算机的应用已经普及到经济和社会的各个领域。长期以来人们所使用的传统的单纯凭借人力进行管理的销售方式,已经无法适应当今社会的现状,同时也存在着很多弊端,如成本较高、安全性低、效率难以提高等。因此,作为计算机应用的一个方面,利用其强大的运算能力,进行销售管理具有无法替代的优势。其高效、可靠、稳定等优点已得到了消费者和销售企业一致的好评。选题意义不同类型的销售行业有自己的特点,对于零售业而言,是一个成本敏感,同时具有大规模的分布性和灵活多变的特点。因此,如何处理好在一个高度分布的网络环境中,多种软硬件平台的管理、部署和升级,适应实际的需求变化,为用户提供一种可靠的低成本运作模式,成为零售业解决方案成功的关键。针对这一情况,希望研究出一套POS积分管理系统,用来对商品销售情况、会员消费情况、分店经营情况等信息进行系统高效的管理。降低甚至消除不必要的成本和费用,给客户带来更大效益。而本课题的研究正是要在这个系统之下开发出积分失效和数据分析两个模块。其中积分失效模块对一年内未购买任何物品的会员,进行积分过期失效处理。这样做可以刺激用户消费,提高销售业绩。而数据分析模块则是对商品销售信息进行分析,对各种类型的商品销售情况,销售利润做成数据资料以供外部分析使用。研究方法作为以JAVA语言为基础的商务型软件,此次研究主要采用面向对象的方法进行软件开发。尽可能模拟人类习惯的思维方式来分析和解决问题,保证软件系统的稳定性和可复用性以及良好的维护性。在程序中,采用了JDBC—ODBC桥的方式,进行数据库连接。另外,由于是商务软件,就要考虑到用户在使用该系统时有可能出现的各种错误,并针对这些错误制定出解决的方案。整个开发过程分为四个部分,包括分析工程、设计工程、制造工程、测试工程。下面将详细对上述过程进行细致的描述。分析工程需求分析由于该百货店实行会员管理模式,每个会员都有代金消费点数,其中就存在部分会员在获得消费点后,因某些原因长期未能进行消费,但仍要对他们的消费点进行管理,这就给整个管理系统带来了负担,同时也占用了很多不必要的资源,无形中增大了管理的成本。为了解决这个问题,就需要建立一个模块来定期检查会员消费情况,对限定时间内未消费的用户进行积分失效处理,以节约系统资源,同时,也在一定程度上刺激会员消费。把握市场动向,提高销售利润是企业的最终目标。在企业管理日趋科学化的今天,如何准确及时地进行生产经营决策是销售企业面临的严峻问题。要求决策者准确及时地捕捉到销售信息,分析销售情况,随时根据历史的销售情况,对下一步的生产经营科学地进行决策。销售分析需要大量的基础数据,但是如果将原始的销售信息直接用于分析又会给分析工作带来很大不便,是效率无法提高。因此就需要将原始销售信息进行整理,处理成决策分析所需的数据资料,进行保存。系统分析系统构成硬件需求:计算机一台操作系统:Windows2000(日文)开发语言:Java开发工具:eclipse数据库:MicrosoftSQLServer2000其他软件:MicrosoftSQLServer2000DriverforJDBCService,Subversion(S VN)1.30系统模块积分失效从会员信息表中,找出一年前注册,当前点数不为0,且一年内未进行消费的用户,对其积分进行清零处理。数据分析对每日POS消费记录文件进行数据处理,生成用于外部数据分析的明细文件系统数据分析 会员数据:包括会员的基本信息数据(入会日期,会员编码,姓名,住址,联系电话,出生年月日,会员种类,入会店铺编码等等); 积分数据:包括积分卡基本信息数据(会员编码,现在积分点,累计积分点,输出累计积分点,增加累计积分点,基本累计积分点,购买次数,购买累计金额等等); 店铺数据:包括店铺基本信息数据(店铺编码,店铺名称,DOMINANT编码,住址,联系电话等等);用于进行数据分析处理的原始销售信息存放于一个名为FSP_EFI010.DAT的文件中,其数据格式如表1所示:表1原始销售信息文件数据格式数据名称数据字段长度(位)店铺CODE6TerminalNO6交易序列号5交易日期8交易时间2会员NO13JANCODE13商品名称不定消费点数3消费金额6会员价格4退货交易1折扣价4贴现价4按比例折扣价4按比例贴现价4按比例M&M值4GPCODE4部门CODE6设计工程外部设计(概要设计)数据库设计 数据库表结构的设计在每一个开发项目中都是非常重要的一个部分,数据库表设计的好坏直接关系到开发过程中代码实现的功能强大与否,是否包含齐备客户所需求的功能。因此现在来介绍该模块所用到的数据库表的详细设计。各数据表定义如表2所示表2数据表定义序号表参数名表名说明1FSPTB_MEMBER记录会员基本信息2FSPTB_MEMBER_STATUS记录会员状态信息3FSPTB_POINT记录会员点数基本信息4FSPTB_POINT_JNL记录会员点数更新履历5FSPTB_POINT_RIREKI记录会员当日消费点数信息表3FSPTB_MEMBER(会员)主键列(属性)名中文名称类型宽度是否允许为空◎MEMBER_CODE会员编码Char13NOTNULLNYUKAI_YMD入会年月日Char8NULLSHIMEI_KANA_S日语假名性Char16NOTNULLSHIMEI_KANA_N日语假名名Char16NOTNULLSHIMEI_KANJI_S中文姓Char32NOTNULLSHIMEI_KANJI_N中文名Char32NOTNULLTEL_SHIGAI_1电话1(市外)Char8NOTNULLTEL_SHINAI_1电话1(市内)Char8NOTNULLTEL_BANGO_1电话1(其它)Char8NOTNULLTEL_SHIGAI_2电话2(市外)Char8NOTNULLTEL_SHINAI_2电话2(市内)Char8NOTNULLTEL_BANGO_2电话3(其它)Char8NOTNULLTEL_SHIGAI_3电话3(市外)Char8NOTNULLTEL_SHINAI_3电话3(市内)Char8NOTNULLTEL_BANGO_3电话3(其它)Char8NOTNULLBIRTH_DAY出生年月日Char8NULLMEMBER_KBN会员种类Char1NULLFM_KBN性别Char1NULLMEMBER_ZIP邮政编码Char8NOTNULLADDR_1地址1Char32NOTNULLADDR_2地址2Char48NOTNULLADDR_3地址3Char48NOTNULLADDR_4地址4Char48NOTNULLNYUKAI_TENPO入会的店铺编码Char6NULLMUKOU_KBN起效种类Char1NULLHOLD_CODE家庭所属代码Char13NULLADD_YMDHMS注册时间Char14NULLADD_TANTOU注册负责人IDChar6NULLUPD_YMDHMS更新时间Char14NULLUPD_TANTOU更新负责人IDChar6NULL表4FSPTB_MEMBER_STATUS(会员状态)主键列(属性)名中文名称类型宽度是否允许为空◎MEMBER_CODE会员编码Char13NOTNULLOLD_MEMBER_CODE旧会员编码Char13NULLDOMINANT_CODE优先级别编码Char3NOTNULLTENPO_CODE店铺号码Char6NOTNULLOLD_DOMINANT_CODE旧优先级别编码Char3NOTNULLOLD_TENPO_CODE旧店铺编码Char6NOTNULLUPD_KBN更新种类Char1NULLMSTS_AUTO_ID记录番号Numeric15NULL表5FSPTB_POINT(积分)主键列(属性)名中文名称类型宽度是否允许为空◎MEMBER_CODE会员编码Char13NOTNULLOLD_MEMBER_CODE旧会员编码Char13NULLYUTAI_RANK优惠等级Char2NULLNOW_POINT现在积分点98NULLRUIKEI_POINT累计积分点98NULLOUT_RUIKEI_POINT支出的累计积分点98NULLADD_RUIKEI_POINT增加的累计积分点98NULLKIHON_RUIKEI_POINT基本累计积分点98NULLBONUS_RUIKEI_POINT奖励累计积分点98NULLKAIAGE_R最后交易时间Char8NULLTUKI_KAIAGE_M每月交易金额910NULLBEFORE_TUKI_KAIAGE_M上月交易金额910NULLKAIAGE_F交易次数95NULLKAIAGE_M交易金额910NULLMEMBER_WARIBIKI_M打折累计金额910NULLKOUNYU_M购买金额910NULLMUKOU_KBN起效种类Char1NULLADD_YMDHMS登陆时间Char14NULLADD_TANTOU登陆负责人IDChar6NULLUPD_YMDHMS更新时间Char14NULLUPD_TANTOU更新负责人IDChar6NULLSYSTEM_UPD_YMDHMS系统更新时间Char14NULL表6FSPTB_POINT_JNL(积分更新记录)主键列(属性)名中文名称类型宽度是否允许为空TENPO_CODE店舗CODEChar6NOTNULLMEMBER_CODE会员CODEChar13NOTNULLCLIENT_NO顾客NOChar8NOTNULLADD_POINT_B当日追加POINT(更新前)96NOTNULLOUT_POINT_B当日支出POINT(更新前)96NOTNULLNOW_POINT_B現在POINT(更新前)98NOTNULLBONUS_POINT_B当日奖励POINT(更新前)98NOTNULLOUT_KAIAGE_M_B当日減算金額(更新前)910NOTNULLADD_KAIAGE_M_B当日加算金額(更新前)910NOTNULLTUKI_KAIAGE_M_B月购买金額(更新前)910NOTNULLADD_POINT_A当日追加POINT(更新后)96NOTNULLADD_RIYU_CODE追加理由CODEChar2NOTNULLOUT_POINT_A当日支出POINT(更新后)96NOTNULLOUT_RIYU_CODE支出理由CODEChar2NOTNULLNOW_POINT_A現在POINT(更新后)98NOTNULLBONUS_POINT_A当日奖励POINT(更新后)98NOTNULLOUT_KAIAGE_M_A当日減算金額(更新后)910NOTNULLADD_KAIAGE_M_A当日加算金額(更新后)910NOTNULLTUKI_KAIAGE_M_A月购买金額(更新后)910NOTNULLKURIKOSHI_POINT转入POINT98NOTNULLTODAY_POINT本日最終POINT98NOTNULLUPD_YMDHMS更新日期Char14NOTNULLUPD_TANTOU担当者CODEChar6NOTNULLJNL_AUTO_ID记录IDNumeric15NOTNULL表7FSPTB_POINT_RIREKI(积分当日消费记录)主键列(属性)名中文名称类型宽度是否允许为空◎MEMBER_CODE会员CODEChar13NOTNULLYMD日期Char8NOTNULLYUTAI_RANK优待等级Char2NULLKIHON_POINT当日基本POINT96NULLBONUS_POINT当日奖励POINT96NULLADD_POINT当日追加POINT96NULLOUT_POINT当日支出POINT96NULLNOW_POINT現在POINT98NOTNULLUPD_YMDHMS更新日期Char14NOTNULLUPD_TANTOU担当者CODEChar6NULL数据流程图FSPTB_POINTFSPTB_POINT_JNLFSPTB_POINT_RIREKIFSPTB_POINTFSPTB_MEMBERFSPTB_MEMBER_STATUSFSPTB_LOG积分失效模块CSV图1积分失效处理流图FSP_EFI010.DATFSP_EFI010.DATPOSYYYYMMDDXX.DAT分析数据作成模块FSPTB_LOG图2数据分析模块流图图形注释:图形注释::数据文件:数据库表:功能模块:数据流图3注释图内部设计(详细设计)积分失效详细代码设计程序初期设定。如果出现错误,输出错误信息,程序结束。输出开始日志记录。 (1)如果出现错误,程序结束。 (2)否则,取得系统前一年日期。处理日期check。 (1)读入初始设定的会员信息数据文件。如果出现错误,输出错误信息,程序结束。否则,取得POINT实效日期。(2)设定会员信息数据文件。系统日期不是POINT实效处理日期的场合,输出信息,程序结束。POINT实效处理。CSV文件读入。如果出现错误,输出错误信息,程序结束。取得文件名。打开CSV文件。POINT失效对象抽出(1)从FSPTB_POINT中读取会员CODE。条件:最后购买日期在一年前&&现在POINT不为0。失效区分有效。抽出失效区分有效数据。POINT失效对象抽出(2)从FSPTB_POINT和FSPTB_MEMBER中读取会员CODE。条件:会员CODE匹配;入会日期在一年以前;失效区分有效;买入次数为0;现在POINT不为0。返回值不为空。各表的更新处理从FSPTB_POINT中取出匹配会员的数据。 条件:会员编号是匹配会员编号。匹配会员的POINT信息更新。参照“POINT信息项目移动表”。从FSPTB_MEMBER中取出匹配会员的数据。条件:会员编号是匹配会员编。匹配用户数据的店铺CODE为NULL的场合。输出信息,处理终止。否则,取得店铺CODE。从FSPTB_POINT_RIREKI中取出匹配会员的POINT履历信息数据。条件:会员编号是匹配会员编号;日期在系统日期之前。如果出现错误,输出错误信息,程序结束。在FSPTB_POINT_JNL中追加数据。匹配用户的POINT更新日志不存在。参照“POINT更新日志新建项目移动表”。匹配用户的POINT更新日志存在。参照“POINT更新日志更新项目移动表”。FSPTB_POINT_RIREKI的追加更新。条件:会员编号是匹配会员编号;日期在系统日期之前。通过(4)取得的POINT履历是EOF的情况,新追加POINT履历。参照“POINT履历(追加)项目移动表”。通过(4)取得的POINT履历不是EOF的情况,存储初始状态,并更新,参照“POINT履历(更新)项目移动表”。在FSPTB_POINT中检索匹配的用户数据。条件:用户CODE是匹配用户CODE;不是EOF的情况,程序结束。如果是EOF,在FSPTB_MEMBER追加新的数据。参照“用户数据项目移动表”。CSV文件数据输出。参照“CSV文件项目移动表”。输出结束日志。表8POINT信息项目移动表移动表名称移动操作地址名称AFSPTB_POINTPOINT信息项目移动表BCD编辑项目名称原项目名称ABCD移动方式现在POINT0消费累计POINT消费累计POINT+当前POINT担当者CODENULL系统更新时间执行操作时系统时间表9POINT更新日志新建项目移动表移动表名称移动操作地址名称AFSPTB_MEMBERPOINT更新日志新建项目移动表BFSPTB_POINTCD编辑项目名称原项目名称ABCD移动方式店铺CODE店铺CODEYFSPTB_MEMBER的店舗CODE的右3位数的值小于10的情况,该值加5个空格。小于100的情况,该值加4个空格。大于100的情况,该值加3个空格。会员CODE会员CODEY同项目顾客NONULL当日追加POINT(更新前)0当日支出POINT(更新前)0现在POINT(更新前)现在POINTY同项目当日获赠POINT(更新前)0当日减算金额(更新前)0当日加算金额(更新前)0月中购买金额(更新前)0当日追加POINT(更新后)0追加理由CODENULL当日追加POINT(更新后)现在POINTY同项目支出理由CODE“04现在POINT(更新后)0当日奖励POINT(更新后)0当日减算金额(更新后)0当日加算金额(更新后)0月中购买金额(更新后)0转入POINT0本日最终POINT0更新时间当前的时间执行者CODENULL记录号自动获取表10POINT更新日志更新项目移动表移动表名称移动操作地址名称AFSPTB_MEMBERPOINT更新日志更新项目移动表BFSPTB_POINTCFSPTB_POINT_RIREKID编辑项目名称原项目名称ABCD移动方式店铺CODE店铺CODEYFSPTB_MEMBER的店舗コード的右3位数的值小于10的情况,该值加5个空格。小于100的情况,该值加4个空格。大于100的情况,该值加3个空格。会员CODE会员CODEY同项目顾客NONULL当日追加POINT(更新前)当日追加POINTY同项目当日支出POINT(更新前)当日支出POINTY同项目现在POINT(更新前)现在POINT(Y同项目当日获赠POINT(更新前)当日获赠POINTY同项目当日减算金额(更新前)0当日加算金额(更新前)0月中购买金额(更新前)0当日追加POINT(更新后)同项目追加理由CODENULL当日追加POINT(更新后)当日追加POINTY同项目支出理由CODE“04现在POINT(更新后)0当日奖励POINT(更新后)0当日减算金额(更新后)0当日加算金额(更新后)0月中购买金额(更新后)0转入POINT0本日最终POINT0更新时间前一日的时间执行者CODENULL记录号自动获取表11POINT履历(追加)项目移动表移动表名称移动操作地址名称AFSPTB_MEMBERPOINT履历(追加)项目移动表BFSPTB_POINTCD编辑项目名称原项目名称ABCD移动方式会员CODE会员CODEY同项目日期执行时的时间优待等级号优待等级号Y同项目当日基本POINT0当日奖励POINT0当日追加POINT0当日支出POINT现在POINTY同项目现在POINT0更新时间执行时时间执行者CODENULL表12POINT履历(更新)项目移动表移动表名称移动操作地址名称AFSPTB_MEMBERPOINT履历(更新)项目移动表BCD编辑项目名称原项目名称ABCD移动方式当日支出POINTY当日支出POINT+现在POINT现在POINT0执行者CODEYNULL更新日期执行操作时的日期表13用户数据项目移动表移动表名称移动操作地址名称AFSPTB_MEMBER用户数据项目移动表BCD编辑项目名称原项目名称ABCD移动方式会员CODEY同项目旧会员CODENULLDominantCODENULL店铺CODE店铺CODE同项目旧DominantCODENULL旧店铺CODENULL更新区分“1”记录号自动获取数据分析模块详细代码设计初期处理。(1)共通文件(INI)取得。 如存在错误,输出错误信息,程序结束。 (2)输出开始日志。分析用POS明细文件作成。 (1)文件检查处理。检查POS明细文件路径。 如果不存在,输出错误日志,程序结束。生成POS明细文件。 如果超过99个,直接跳转到步骤3。检查POS项目信息文件路径。 如果不存在,输出错误日志,程序结束。检查POS项目信息文件。 如果不存在,输出错误日志,程序结束。 (2)读取POS项目信息文件。 当数据读完,结束。 (3)POS明细文件CODE作成。 (4)参照“项目数据移动表”。结束处理。 输出结束日志。表14项目数据移动表移动表名称移动操作地址名称AFSP_EFI010.DAT项目数据移动表BCD编辑项目名称原项目名称ABCD移动方式record区分record区分Y同项目店铺CODE店铺CODEY同项目registerNOterminalNOY店铺CODE店铺CODEY同项目receiptNO购买编号Y购买日期购买日期Y同项目购买时间购买时间Y同项目会员CODE会员CODEY同项目商品分类号1大分类号YJANCODE的左1~2位商品分类号2中分类号YJANCODE的左3~4位商品分类号3小分类号YJANCODE的左5~7位商品分类号4细分类号YJANCODE的左8~13位扩充预留“0”JANCODEY如果FSP_EFI010.DAT中的JANCODE="0000000000000",JANCODE=""9999999"+GPCODE的右2位+部门CODE的右4位.否则,JANCODE等于FSP_EFI010.DAT中JANCODE商品名商品名Y同项目购买点数购买点数Y同项目购买金额YFSP_EFI010.DAT中的‘消费金额’-折扣价-贴现价-按比例折扣价-按比例贴现价-按比例M&M值折扣价"0000000"特价区分FSP_EFI010.DAT中的‘会员价格’不等于0则设为“1”,否则设为“内税符号GPCODE的右2位=“90”且购买点数=“000”且部门CODE的右4位=“9701”或“9702”或“9703”,则置“1”;退货交易=”原价"000000"备注两个空格制造工程开发环境开发环境为Eclipse3.2,JDK包采用版本为jdk1.5.0_06。OBDC数据源为tokyosuper。数据库登录帐号:sa;密码:123456。程序开发程序流程图图4积分失效模块流程图图5数据分析模块模块流程图建立JDBC-ODBC桥接器try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");/*注册数据库驱动程序为SQLJDBC-ODBC驱动*/ } catch(ClassNotFoundExceptione){ /*如无法找到该驱动,则捕获异常,并输出错误*/ //TODOAuto-generatedcatchblock e.printStackTrace(); }读取INI文件INI文件中记录了本系统中所有数据文件的存储地址。因此,在开始模块编码前,一定要先读取该文件。专门建立一个类Iniread.java来实现各种功能。具体如下:成员变量:FileReaderinOjb; //创建一个用来读取字符文件的对象BufferedReaderbr; //创建一个使用默认大小输入缓冲区的缓冲字符输入流。Connectioncon; //与特定数据库的连接Statementstmt; //用于执行静态SQL语句并返回它所生成结果的对象Stringurl; //定义数据源名Stringuser; //定义数据源的loginnameStringpassword; //定义数据源的密码/*构造方法(参数是为了进行数据库连接,在读取INI文件过程中如出现错误则将错误日志输入数据库的LOG表)*/Iniread(Stringurl,Stringuser,Stringpassword){inOjb=newFileReader("FSP.INI");br=newBufferedReader(inOjb);……}/*此方法用于获取数据文件在服务器上的地址,参数是数据文件名*/publicStringgetaddress(Stringa) {str=br.readLine(); //读取INI文件中的一行……}对数据库操作//向数据库插入一条数据,此处temp除可进行插入操作外,还能进行更新,删除操作Stringurl="jdbc:odbc:tokyosuper"; //定义数据源名Stringuser="sa"; //定义数据源的loginnameStringpassword="123456"; //定义数据源的密码Stringtemp="INSERTINTOFSPTB_LOG(P_Sel,P_Msg,P_AppNM,P_FuncNM,P_JobNM,p_ErrDetail,P_InIFile)VALUES('L','读取文件错误','查找的地址不存在','iniread','iniread','FSP.INI读取出错','FSP.INI')";try{con=DriverManager.getConnection(url,user,password);stmt=con.createStatement();stmt.executeUpdate(temp);con.close();}catch(SQLExceptione1){//TODOAuto-generatedcatchblocke1.printStackTrace();}//在数据库中查询数据查询的结果全部存放于ResultSet的对象中,利用next方法可以读取结果集的第一行,以后每执行一次,向下跳转一行。getxxx方法可以获得结果集中的某一项其中xxx为该项的属性,如String等try{ con=DriverManager.getConnection(url,user,password); stmt=con.createStatement(); Stringtemp="SELECTMEMBER_CODE,TENPO_CODEFROMFSPTB_MEMBERWHEREMEMBER_CODE='"+member+"'"; ResultSetrs=stmt.executeQuery(temp); rs.next(); Stringtenpo=rs.getString("TENPO_CODE");}catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); }对文件操作//判断文件路径或文件是否存在,File的exists方法返回是ture则存在。Fileposdata=newFile(Pos_Data);Fileoutposprefix=newFile(Pos_Data,Out_Pos_PreFIX);posdata.exists();outposprefix.exists();//打开文件,逐条读取FileReaderfr=newFileReader(positem.getPath());BufferedReaderinOjb=newBufferedReader(fr);str=inOjb.readLine();while(str!=null) {…}//打开文件写入数据Stringaddress=file.getPath(); FileWriterfw; try{ fw=newFileWriter(address,true);//打开address所表示的文件,ture表示在该文件末尾写入数据,而非文件的开始处 BufferedWriterout=newBufferedWriter(fw); //从新的一行开始写入 out.newLine(); //写入新的一行信息 out.write(str,0,str.length()); out.close(); fw.close(); }catch(IOExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); }测试工程测试准备本系统属于一款商务应用型软件,因此,对各种可能出现的错误情况要有很高的检测能力,并进行响应处理。所以,在软件开发完成后,为了检验是否达到客户要求需要进行全面的测试,包括程序的逻辑处理,输入/输出处理,边界条件判断,异常处理等。在进行测试前,应针对上述各情况填写一份全面的单元测试检测清单。积分失效模块单元检测表表15积分失效模块单元检测表项目名称POINT失效项目标记名FSPB1400测试编号测试内容测试结果***异常测试****共通文件(INI)取得*1INI文件不存在的场合向数据库日志表输出”INI文件地址错误。”消息。程序结束2INI文件打开出错,或INI文件不可打开向数据库日志表输出”INI文件地址错误。”消息。程序结束3在INI文件中,文件地址、标记值、内容值不存在向数据库日志表输出”INI设定错误。”消息。程序结束4POINT失效处理日期取得错误向数据库日志表输出”非失效处理日期。”消息。程序结束*CSV文件准备处理*5无法取得CSV文件名向数据库日志表输出”POINT失效处理失败。”消息。程序结束6无法打开CSV文件向数据库日志表输出”POINT失效处理失败。”消息。程序结束*数据库更新处理时共通错误*7各表更新处理时出错向数据库日志表输出”POINT失效处理失败。”消息。程序结束*检索、获取数据时错误*8店铺CODE取得错误向数据库日志表输出“‘店铺CODE未设定,会员号:’+检索的会员号”消息。数据不更新,程序结束9POINT信息取得错误向数据库日志表输出“‘POINT信息获取失败,会员号:’+检索的会员号”消息。数据不更新,程序结束10POINT履历取得错误向数据库日志表输出“‘POINT履历获取失败,会员号:’+检索的会员号”消息。数据不更新,程序结束11会员信息取得错误向数据库日志表输出“会员信息获取失败,会员号:’+检索的会员号”消息。数据不更新,程序结束12会员数据检索失败向数据库日志表输出“会员数据检索失败,会员号:’+检索的会员号”消息。数据不更新,程序结束*插入、更新数据时错误*13POINT履历插入错误向数据库日志表输出“POINT履历插入失败,会员号:’+检索的会员号”消息。原数据不改变,程序结束14会员履历更新错误向数据库日志表输出“会员履历插入失败,会员号:’+检索的会员号”消息。原数据不改变,程序结束15POINT更新日志插入失败向数据库日志表输出“POINT更新日志插入失败,会员号:’+检索的会员号”消息。原数据不改变,程序结束16会员数据更新失败向数据库日志表输出“会员数据更新失败,会员号:’+检索的会员号”消息。原数据不改变,程序结束17POINT表更新错误向数据库日志表输出“POINT表更新失败,会员号:’+检索的会员号”消息。原数据不改变,程序结束18CSV文件写入错误向数据库日志表输出“CSV文件写入失败,日期:’+当前日期”消息。原数据不改变,程序结束***正常测试***19无错误的情况所有处理正常执行,程序正常结束*初期处理*20开始日志输出正常输出*POINT失效对象取出条件检查1*POINT表中取出会员号21最终购买日是一年前的后一天对应的会员数据不进行更新22最终购买日是一年内的任意一天对应的会员数据不进行更新23当前POINT已经是0对应的会员数据不进行更新24失效区分为无效对应的会员数据不进行更新25最终购买日正好是一年前、现在POINT不为0且失效区分有效的记录为0个所有的会员信息不进行更新26最终购买日是一年前的前一天、现在POINT不为且失效区分有效的记录为0个所有的会员信息不进行更新27最终购买日是一年前的某一天、现在POINT不为0且失效区分有效的记录为0个所有的会员信息不进行更新28最终购买日正好是一年前、现在POINT不为0且失效区分有效的记录大于0个对该范围的会员信息进行更新、并且更新正确29最终购买日是一年前的前一天、现在POINT不为且失效区分有效的记录大于0个对该范围的会员信息进行更新、并且更新正确30最终购买日是一年前的某一天、现在POINT不为0且失效区分有效的记录大于0个对该范围的会员信息进行更新、并且更新正确*POINT失效对象取出条件检查2*POINT表及会员信息表中取出会员号31未检测到该会员CODE对应的会员数据不进行更新32入会日期是一年前的后一天对应的会员数据不进行更新33入会日期是一年内的某一天对应的会员数据不进行更新34失效区分无效对应的会员数据不进行更新35购买次数不为0对应的会员数据不进行更新36现在POINT为0对应的会员数据不进行更新37会员CODE检测的到、最终购买日正好是一年前、现在POINT不为0且失效区分有效的记录为0个所有的会员数据不进行更新38会员CODE检测的到、最终购买日正好是一年前的前一天、现在POINT不为0且失效区分有效的记录为0个所有的会员数据不进行更新39会员CODE检测的到、最终购买日正好是一年前的某一天、现在POINT不为0且失效区分有效的记录为0个所有的会员数据不进行更新40会员CODE检测的到、最终购买日正好是一年前、现在POINT不为0且失效区分有效的记录大于0个对该范围的会员信息进行更新、并且更新正确41会员CODE检测的到、最终购买日正好是一年前的前一天、现在POINT不为0且失效区分有效的记录大于0个对该范围的会员信息进行更新、并且更新正确42会员CODE检测的到、最终购买日正好是一年前的某一天、现在POINT不为0且失效区分有效的记录大于0个对该范围的会员信息进行更新、并且更新正确*各表的编辑处理*43POINT信息更新输出正确(参照“POINT信息项目移动表”)44该会员的POINT更新日志不存在的情况输出正确(参照“POINT更新日志新建项目移动表”)45该会员的POINT更新日志已经存在的情况输出正确(参照“POINT更新日志更新项目移动表”)46POINT履历中取得的该会员的POINT履历是EOF的场合输出正确(参照“POINT履历(追加)项目移动表”以及“用户数据项目移动表“)47POINT履历中取得的该会员的POINT履历不是EOF的场合输出正确(参照“POINT履历(更新)项目移动表”),程序结束48CSV文件数据输出输出正确(参照“CSV文件项目移动表”)*结束处理*49终了日志的输出终了日志正确输入到数据库日志表分析用POS明细作成模块单元检测表表16分析用POS明细作成模块单元检测表项目名称分析用POS明细作成项目标记名FSPB1310测试编号测试内容测试结果***异常测试****共通文件(INI)取得*1INI文件不存在的场合向数据库日志表输出”INI文件地址错误。”消息。程序结束2INI文件打开出错,或INI文件不可打开向数据库日志表输出”INI文件地址错误。”消息。程序结束3在INI文件中,文件地址、标记值、内容值不存在向数据库日志表输出”INI设定错误。”消息。程序结束*文件存在检查*4POS明细数据文件路径不存在向数据库日志表输出“外部分析用POS明细数据文件路径不存在”消息。程序结束5外部分析用POS明细数据文件超过99个向数据库日志表输出“外部分析用POS明细数据文件超出99个”消息。程序结束6POS情报项目文件路径不存在向数据库日志表输出“POS情报项目文件路径不存在”消息。程序结束7POS情报项目文件不存在向数据库日志表输出“POS情报项目文件不存在”消息。程序结束*分析用POS明细作成处理*8处理过程中出现错误显示该系统错误向数据库日志表输出“POS明细作成出错”消息。程序结束***正常测试***9无错误的情况所有处理正常执行,程序正常结束*初期处理*10开始日志输出正常输出*分析用明细作成项目编辑*11明细文件CODE作成正确输出(参照)12外部分析用POS明细文件是0的场合POSYYYYMMDD01.DAT文件正确作成13外部分析用POS明细文件是1的场合POSYYYYMMDD02.DAT文件正确作成14外部分析用POS明细文件是50的场合POSYYYYMMDD51.DAT文件正确作成15外部分析用POS明细文件是98的场合POSYYYYMMDD99.DAT文件正确作成*结束处理*16终了日志的输出终了日志正确输入到数据库日志表测试实施在准备好测试数据,配置好测试环境后,根据测试清单上的内容,逐条进行测试,其中,如果中途发现BUG存在,并对程序进行相应更改的话,则前面所做的测试全部作废,需重新开始测试。测试页面截图积分失效模块测试如图6所示编号为842345143672的会员其注册日期为一年以前。其积分失效区分为有效。图6用户注册信息表如图7所示该用户当前积分为130图7用户POINT信息表图8所示为该用户积分被清零图8用户积分清零数据分析模块测试结果如图9所示图9分析用POS明细文件生成测试结果数据FSP_EFI010.DAT文件中测试数据:123456,sdcdsc,21458,20080525,13,1234567890123,2001010000000,苹果,122,554545,1234,2,1245,1222,1235,5589,7789,2490,009701123456,sdcdsc,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度房屋建筑工程承包合同版B版
- 2024年度品牌宣传与营销战略合作合同版B版
- 2024年度品牌形象代言协议3篇
- 中药材采收机课程设计
- 二零二四年度水稻种植产业绿色发展合同2篇
- 超多道数字地震仪相关行业投资方案
- 2024年度施工EPC合作体统一定制合同版B版
- 2024年度幼儿园餐饮场所承包协议样本版B版
- 2024年大型客机零部件供应与组装合同
- eda计算器课程设计计
- 第18课《我的白鸽》课件 2024-2025学年统编版语文七年级上册
- 电影第一出品单位变更协议模板
- 分子生物学 常用分子生物学技术的原理及应用
- 2021年《建设工程施工合同司法解释(一)》学习解读
- 二氧化碳灭火器点检表
- 铝方通吊顶施工工艺
- 分子生物学课件:组学
- 铜芯聚氯乙烯绝缘聚氯乙烯护套控制电缆检测报告可修改
- 新人教版八年级数学上册第15章单元教材分析
- 机电工程职称答辩题库
- 营口市及鲅鱼圈区概况及房地产市场情况报告
评论
0/150
提交评论