某店POS积分管理系统 精品.doc_第1页
某店POS积分管理系统 精品.doc_第2页
某店POS积分管理系统 精品.doc_第3页
某店POS积分管理系统 精品.doc_第4页
某店POS积分管理系统 精品.doc_第5页
已阅读5页,还剩23页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

某店POS积分管理系统积分失效与数据分析模块的实现1 引言1.1 课题背景随着社会科学技术突飞猛进的发展,计算机的应用已经普及到经济和社会的各个领域。长期以来人们所使用的传统的单纯凭借人力进行管理的销售方式,已经无法适应当今社会的现状,同时也存在着很多弊端,如成本较高、安全性低、效率难以提高等。因此,作为计算机应用的一个方面,利用其强大的运算能力,进行销售管理具有无法替代的优势。其高效、可靠、稳定等优点已得到了消费者和销售企业一致的好评。1.2 选题意义不同类型的销售行业有自己的特点,对于零售业而言,是一个成本敏感,同时具有大规模的分布性和灵活多变的特点。因此,如何处理好在一个高度分布的网络环境中,多种软硬件平台的管理、部署和升级,适应实际的需求变化,为用户提供一种可靠的低成本运作模式,成为零售业解决方案成功的关键。针对这一情况,希望研究出一套POS积分管理系统,用来对商品销售情况、会员消费情况、分店经营情况等信息进行系统高效的管理。降低甚至消除不必要的成本和费用,给客户带来更大效益。而本课题的研究正是要在这个系统之下开发出积分失效和数据分析两个模块。其中积分失效模块对一年内未购买任何物品的会员,进行积分过期失效处理。这样做可以刺激用户消费,提高销售业绩。而数据分析模块则是对商品销售信息进行分析,对各种类型的商品销售情况,销售利润做成数据资料以供外部分析使用。1.3 研究方法作为以JAVA语言为基础的商务型软件,此次研究主要采用面向对象的方法进行软件开发。尽可能模拟人类习惯的思维方式来分析和解决问题,保证软件系统的稳定性和可复用性以及良好的维护性。在程序中,采用了JDBCODBC桥的方式,进行数据库连接。另外,由于是商务软件,就要考虑到用户在使用该系统时有可能出现的各种错误,并针对这些错误制定出解决的方案。整个开发过程分为四个部分,包括分析工程、设计工程、制造工程、测试工程。下面将详细对上述过程进行细致的描述。2 分析工程2.1 需求分析由于该百货店实行会员管理模式,每个会员都有代金消费点数,其中就存在部分会员在获得消费点后,因某些原因长期未能进行消费,但仍要对他们的消费点进行管理,这就给整个管理系统带来了负担,同时也占用了很多不必要的资源,无形中增大了管理的成本。为了解决这个问题,就需要建立一个模块来定期检查会员消费情况,对限定时间内未消费的用户进行积分失效处理,以节约系统资源,同时,也在一定程度上刺激会员消费。把握市场动向,提高销售利润是企业的最终目标。在企业管理日趋科学化的今天,如何准确及时地进行生产经营决策是销售企业面临的严峻问题。要求决策者准确及时地捕捉到销售信息,分析销售情况,随时根据历史的销售情况,对下一步的生产经营科学地进行决策。销售分析需要大量的基础数据,但是如果将原始的销售信息直接用于分析又会给分析工作带来很大不便,是效率无法提高。因此就需要将原始销售信息进行整理,处理成决策分析所需的数据资料,进行保存。2.2 系统分析2.2.1 系统构成 硬件需求:计算机一台 操作系统:Windows 2000(日文) 开发语言:Java 开发工具:eclipse 数据库:Microsoft SQL Server 2000 其他软件:Microsoft SQL Server 2000 Driver for JDBC Service,Subversion(SVN)1.302.2.2 系统模块 积分失效从会员信息表中,找出一年前注册,当前点数不为0,且一年内未进行消费的用户,对其积分进行清零处理。 数据分析对每日POS消费记录文件进行数据处理,生成用于外部数据分析的明细文件2.2.3 系统数据分析会员数据:包括会员的基本信息数据(入会日期,会员编码,姓名,住址,联系电话,出生年月日,会员种类,入会店铺编码等等);积分数据:包括积分卡基本信息数据(会员编码,现在积分点,累计积分点,输出累计积分点,增加累计积分点,基本累计积分点,购买次数,购买累计金额等等);店铺数据:包括店铺基本信息数据(店铺编码,店铺名称,DOMINANT编码,住址,联系电话等等);用于进行数据分析处理的原始销售信息存放于一个名为FSP_EFI010.DAT的文件中,其数据格式如表1所示:表1 原始销售信息文件数据格式数据名称数据字段长度(位)店铺CODE6Terminal NO6交易序列号5交易日期8交易时间2会员NO13JAN CODE13商品名称不定消费点数3消费金额6会员价格4退货交易1折扣价4贴现价4按比例折扣价4按比例贴现价4按比例M&M值4GP CODE4部门 CODE63 设计工程商业源代码,全套计算机免费下载 ibaidusoft更多全套设计联系QQ:1042897696最新设计大全 bylw168/sf/20XX0915/3539.3.1 外部设计(概要设计)3.1.1 数据库设计数据库表结构的设计在每一个开发项目中都是非常重要的一个部分,数据库表设计的好坏直接关系到开发过程中代码实现的功能强大与否,是否包含齐备客户所需求的功能。因此现在来介绍该模块所用到的数据库表的详细设计。各数据表定义如表2所示表2 数据表定义序号表参数名表名说明1FSPTB_MEMBER记录会员基本信息2FSPTB_MEMBER_STATUS记录会员状态信息3FSPTB_POINT记录会员点数基本信息4FSPTB_POINT_JNL记录会员点数更新履历5FSPTB_POINT_RIREKI记录会员当日消费点数信息表3 FSPTB_MEMBER(会员)主键列(属性)名中文名称类型宽度是否允许为空MEMBER_CODE会员编码Char13NOT NULLNYUKAI_YMD入会年月日Char8NULLSHIMEI_KANA_S日语假名性Char16NOT NULLSHIMEI_KANA_N日语假名名Char16NOT NULLSHIMEI_KANJI_S中文姓Char32NOT NULLSHIMEI_KANJI_N中文名Char32NOT NULLTEL_SHIGAI_1电话1(市外)Char8NOT NULLTEL_SHINAI_1电话1(市内)Char8NOT NULLTEL_BANGO_1电话1(其它)Char8NOT NULLTEL_SHIGAI_2电话2(市外)Char8NOT NULLTEL_SHINAI_2电话2(市内)Char8NOT NULLTEL_BANGO_2电话3(其它)Char8NOT NULLTEL_SHIGAI_3电话3(市外)Char8NOT NULLTEL_SHINAI_3电话3(市内)Char8NOT NULLTEL_BANGO_3电话3(其它)Char8NOT NULLBIRTH_DAY出生年月日Char8NULLMEMBER_KBN会员种类Char1NULLFM_KBN性别Char1NULLMEMBER_ZIP邮政编码Char8NOT NULLADDR_1地址1Char32NOT NULLADDR_2地址2Char48NOT NULLADDR_3地址3Char48NOT NULLADDR_4地址4Char48NOT NULLNYUKAI_TENPO入会的店铺编码Char6NULLMUKOU_KBN起效种类Char1NULLHOLD_CODE家庭所属代码Char13NULLADD_YMDHMS注册时间Char14NULLADD_TANTOU注册负责人IDChar6NULLUPD_YMDHMS更新时间Char14NULLUPD_TANTOU更新负责人IDChar6NULL表4 FSPTB_MEMBER_STATUS(会员状态)主键列(属性)名中文名称类型宽度是否允许为空MEMBER_CODE会员编码Char13NOT NULLOLD_MEMBER_CODE旧会员编码Char13NULLDOMINANT_CODE优先级别编码Char3NOT NULLTENPO_CODE店铺号码Char6NOT NULLOLD_DOMINANT_CODE旧优先级别编码Char3NOT NULLOLD_TENPO_CODE旧店铺编码Char6NOT NULLUPD_KBN更新种类Char1NULLMSTS_AUTO_ID记录番号Numeric15NULL表5 FSPTB_POINT(积分)主键列(属性)名中文名称类型宽度是否允许为空MEMBER_CODE会员编码Char13NOT NULLOLD_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表6 FSPTB_POINT_JNL(积分更新记录)主键列(属性)名中文名称类型宽度是否允许为空TENPO_CODE店舗CODEChar6NOT NULLMEMBER_CODE会员CODEChar13NOT NULLCLIENT_NO顾客NOChar8NOT NULLADD_POINT_B当日追加POINT(更新前)96NOT NULLOUT_POINT_B当日支出POINT(更新前)96NOT NULLNOW_POINT_B現在POINT(更新前)98NOT NULLBONUS_POINT_B当日奖励POINT(更新前)98NOT NULLOUT_KAIAGE_M_B当日減算金額(更新前)910NOT NULLADD_KAIAGE_M_B当日加算金額(更新前)910NOT NULLTUKI_KAIAGE_M_B月购买金額(更新前)910NOT NULLADD_POINT_A当日追加POINT(更新后)96NOT NULLADD_RIYU_CODE追加理由CODEChar2NOT NULLOUT_POINT_A当日支出POINT(更新后)96NOT NULLOUT_RIYU_CODE支出理由CODEChar2NOT NULLNOW_POINT_A現在POINT(更新后)98NOT NULLBONUS_POINT_A当日奖励POINT(更新后)98NOT NULLOUT_KAIAGE_M_A当日減算金額(更新后)910NOT NULLADD_KAIAGE_M_A当日加算金額(更新后)910NOT NULLTUKI_KAIAGE_MA月购买金額(更新后)910NOT NULLKURIKOSHI_POINT转入POINT98NOT NULLTODAY_POINT本日最終POINT98NOT NULLUPD_YMDHMS更新日期Char14NOT NULLUPD_TANTOU担当者CODEChar6NOT NULLJNL_AUTO_ID记录IDNumeric15NOT NULL表7 FSPTB_POINT_RIREKI(积分当日消费记录)主键列(属性)名中文名称类型宽度是否允许为空MEMBER_CODE会员CODEChar13NOT NULLYMD日期Char8NOT NULLYUTAI_RANK优待等级Char2NULLKIHON_POINT当日基本POINT96NULLBONUS_POINT当日奖励POINT96NULLADD_POINT当日追加POINT96NULLOUT_POINT当日支出POINT96NULLNOW_POINT現在POINT98NOT NULLUPD_YMDHMS更新日期Char14NOT NULLUPD_TANTOU担当者CODEChar6NULL3.1.2 数据流程图FSPTB_POINT_JNLFSPTB_POINT_RIREKIFSPTB_POINTFSPTB_MEMBERFSPTB_MEMBER_STATUSFSPTB_LOG积分失效模块CSV图1 积分失效处理流图FSP_EFI010.DATPOSYYYYMMDDXX.DAT分析数据作成模块FSPTB_LOG图2 数据分析模块流图图形注释: :数据文件 :数据库表 :功能模块 :数据流图3 注释图3.2 内部设计(详细设计)3.2.1 积分失效详细代码设计1) 程序初期设定。如果出现错误,输出错误信息,程序结束。2) 输出开始日志记录。(1)如果出现错误,程序结束。(2)否则,取得系统前一年日期。3) 处理日期check。(1)读入初始设定的会员信息数据文件。 如果出现错误,输出错误信息,程序结束。 否则,取得POINT实效日期。(2)设定会员信息数据文件。 系统日期不是POINT实效处理日期的场合,输出信息,程序结束。4) POINT实效处理。 CSV文件读入。(1) 如果出现错误,输出错误信息,程序结束。 (2) 取得文件名。(3) 打开CSV文件。 POINT失效对象抽出(1)(1) 从FSPTB_POINT中读取会员CODE。条件:最后购买日期在一年前&现在POINT不为0。 失效区分有效。(2) 抽出失效区分有效数据。 POINT失效对象抽出(2)(1) 从FSPTB_POINT和FSPTB_MEMBER中读取会员CODE。条件:会员CODE匹配;入会日期在一年以前;失效区分有效;买入次数为0;现在POINT不为0。(2) 返回值不为空。 各表的更新处理(1) 从FSPTB_POINT中取出匹配会员的数据。 条件:会员编号是匹配会员编号。(2) 匹配会员的POINT信息更新。参照“POINT信息项目移动表”。(3) 从FSPTB_MEMBER中取出匹配会员的数据。条件:会员编号是匹配会员编。a) 匹配用户数据的店铺CODE为NULL的场合。 输出信息,处理终止。b) 否则,取得店铺CODE。(4) 从FSPTB_POINT_RIREKI中取出匹配会员的POINT履历信息数据。条件:会员编号是匹配会员编号;日期在系统日期之前。a) 如果出现错误,输出错误信息,程序结束。 (5) 在FSPTB_POINT_JNL中追加数据。a) 匹配用户的POINT更新日志不存在。 参照“POINT更新日志新建项目移动表”。b) 匹配用户的POINT更新日志存在。参照“POINT更新日志更新项目移动表”。(6) FSPTB_POINT_RIREKI的追加更新。条件:会员编号是匹配会员编号;日期在系统日期之前。a) 通过(4)取得的POINT履历是EOF的情况,新追加POINT履历。参照“POINT履历(追加)项目移动表”。b) 通过(4)取得的POINT履历不是EOF的情况,存储初始状态,并更新,参照“POINT履历(更新)项目移动表”。(7) 在FSPTB_POINT中检索匹配的用户数据。条件:用户CODE是匹配用户CODE;(8) 不是EOF的情况,程序结束。(9) 如果是EOF ,在FSPTB_MEMBER追加新的数据。参照“用户数据项目移动表”。(10) CSV文件数据输出。参照“CSV文件项目移动表”。5) 输出结束日志。表8 POINT信息项目移动表移动表名称移动操作地址名称AFSPTB_POINTPOINT信息项目移动表BCD编辑项目名称原项目名称ABCD移动方式现在POINT0消费累计POINT消费累计POINT当前POINT担当者CODENULL系统更新时间执行操作时系统时间表9 POINT更新日志新建项目移动表移动表名称移动操作地址名称AFSPTB_MEMBERPOINT更新日志新建项目移动表BFSPTB_POINTCD编辑项目名称原项目名称ABCD移动方式店铺CODE店铺CODEYFSPTB_MEMBER的店舗CODE的右3位数的值 小于10的情况,该值加5个空格。 小于100的情况,该值加4个空格。 大于100的情况,该值加3个空格。会员CODE会员CODEY同项目顾客NULL当日追加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记录号自动获取表10 POINT更新日志更新项目移动表移动表名称移动操作地址名称AFSPTB_MEMBERPOINT更新日志更新项目移动表BFSPTB_POINTCFSPTB_POINT_RIREKID编辑项目名称原项目名称ABCD移动方式店铺CODE店铺CODEYFSPTB_MEMBER的店舗的右3位数的值 小于10的情况,该值加5个空格。 小于100的情况,该值加4个空格。 大于100的情况,该值加3个空格。会员CODE会员CODEY同项目顾客NULL当日追加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记录号自动获取表11 POINT履历(追加)项目移动表移动表名称移动操作地址名称AFSPTB_MEMBERPOINT履历(追加)项目移动表BFSPTB_POINTCD编辑项目名称原项目名称ABCD移动方式会员CODE会员CODEY同项目日期执行时的时间优待等级号优待等级号Y同项目当日基本POINT0当日奖励POINT0当日追加POINT0当日支出POINT现在POINTY同项目现在POINT0更新时间执行时时间执行者CODENULL表12 POINT履历(更新)项目移动表移动表名称移动操作地址名称AFSPTB_MEMBERPOINT履历(更新)项目移动表BCD编辑项目名称原项目名称ABCD移动方式当日支出POINTY当日支出POINT现在POINT现在POINT0执行者CODEYNULL更新日期执行操作时的日期表13用户数据项目移动表移动表名称移动操作地址名称AFSPTB_MEMBER用户数据项目移动表BCD编辑项目名称原项目名称ABCD移动方式会员CODEY同项目旧会员CODENULLDominant CODENULL店铺CODE店铺CODE同项目旧Dominant CODENULL旧店铺CODENULL更新区分“1”记录号自动获取3.2.2 数据分析模块详细代码设计1) 初期处理。(1)共通文件(INI)取得。如存在错误,输出错误信息,程序结束。(2)输出开始日志。2) 分析用POS明细文件作成。(1)文件检查处理。. 检查POS明细文件路径。如果不存在,输出错误日志,程序结束。. 生成POS明细文件。如果超过99个,直接跳转到步骤3。. 检查POS项目信息文件路径。如果不存在,输出错误日志,程序结束。. 检查POS项目信息文件。如果不存在,输出错误日志,程序结束。(2)读取POS项目信息文件。 当数据读完,结束。 (3)POS明细文件CODE作成。(4)参照“项目数据移动表”。3) 结束处理。输出结束日志。表14项目数据移动表移动表名称移动操作地址名称AFSP_EFI010.DAT项目数据移动表BCD编辑项目名称原项目名称ABCD移动方式record区分record区分Y同项目店铺CODE店铺CODEY同项目register NOterminal NOY店铺CODE店铺CODEY同项目receipt NO购买编号Y购买日期购买日期Y同项目购买时间购买时间Y同项目会员CODE会员CODEY同项目商品分类号1大分类号YJAN CODE的左12位商品分类号2中分类号YJAN CODE的左34位商品分类号3小分类号YJAN CODE的左57位商品分类号4细分类号YJAN CODE的左813位扩充预留“0”JAN CODEY如果FSP_EFI010.DAT中的JANCODE=0000000000000, JANCODE=9999999CODE的右2位部门CODE的右4位.否则, JANCODE等于FSP_EFI010.DAT中JANCODE商品名商品名Y同项目购买点数购买点数Y同项目购买金额YFSP_EFI010.DAT中的消费金额折扣价贴现价按比例折扣价按比例贴现价按比例M&M值折扣价0000000特价区分FSP_EFI010.DAT中的会员价格不等于0则设为“1”,否则设为“0”内税符号GPCODE的右2位=“90”且购买点数=“000”且部门CODE的右4位=“9701”或“9702”或“9703”,则置“1”; 退货交易=”1”或者购买金额的计算结果0,则置“1”;其他情况置位空格原价000000备注两个空格4 制造工程4.1 开发环境开发环境为Eclipse3.2,JDK包采用版本为jdk1.5.0_06。OBDC数据源为tokyosuper。数据库登录帐号:sa ;密码:123456。4.2 程序开发4.2.1 程序流程图图4 积分失效模块流程图图5 数据分析模块模块流程图4.2.2 建立JDBC-ODBC桥接器try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);/*注册数据库驱动程序为 SQL JDBC-ODBC驱动*/ catch (ClassNotFoundException e) /*如无法找到该驱动,则捕获异常,并输出错误*/ TODO Auto-generated catch blocke.printStackTrace();4.2.3 读取INI文件INI文件中记录了本系统中所有数据文件的存储地址。因此,在开始模块编码前,一定要先读取该文件。专门建立一个类Iniread.java来实现各种功能。具体如下:成员变量:FileReader inOjb; /创建一个用来读取字符文件的对象BufferedReader br;/创建一个使用默认大小输入缓冲区的缓冲字符输入流。Connection con;/与特定数据库的连接Statement stmt;/用于执行静态 SQL 语句并返回它所生成结果的对象String url;/定义数据源名String user;/定义数据源的login nameString password;/定义数据源的密码/*构造方法(参数是为了进行数据库连接,在读取INI文件过程中如出现错误则将错误 日志输入数据库的LOG表)*/Iniread(String url,String user,String password)inOjb=new FileReader(FSP.INI);br=new BufferedReader(inOjb); /*此方法用于获取数据文件在服务器上的地址,参数是数据文件名*/public String getaddress(String a)str=br.readLine();/读取INI文件中的一行4.2.4 对数据库操作/向数据库插入一条数据,此处temp除可进行插入操作外,还能进行更新,删除操作String url=jdbc:odbc:tokyosuper;/定义数据源名String user=sa;/定义数据源的login nameString password=123456;/定义数据源的密码String temp=INSERT INTO FSPTB_LOG(P_Sel,P_Msg,P_AppNM,P_FunM,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 (SQLException e1) / TODO Auto-generated catch blocke1.printStackTrace();/在数据库中查询数据查询的结果全部存放于ResultSet的对象中,利用next方法可以读取结果集的第一行,以后每执行一次,向下跳转一行。getxxx方法可以获得结果集中的某一项其中xxx为该项的属性,如String等try con=DriverManager.getConnection(url,user,password);stmt=con.createStatement();String temp=SELECT MEMBER_CODE,TENPO_CODE FROM FSPTB_MEMBER WHERE MEMBER_CODE=+member+;ResultSet rs=stmt.executeQuery(temp);rs.next();String tenpo=rs.getString(TENPO_CODE); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();4.2.5 对文件操作/判断文件路径或文件是否存在,File的exists方法返回是ture则存在。File posdata=new File(Pos_Data);File outposprefix=new File(Pos_Data,Out_Pos_PreFIX);posdata.exists();outposprefix.exists();/打开文件,逐条读取FileReader fr=new FileReader(positem.getPath();BufferedReader inOjb = new BufferedReader(fr);str=inOjb.readLine();while(str!=null)/打开文件写入数据String address=file.getPath();FileWriter fw;try fw = new FileWriter(address,true);/打开address所表示的文件,ture表示在该文件末尾写入数据,而非文件的开始处BufferedWriter out=new BufferedWriter(fw);/从新的一行开始写入out.newLine();/写入新的一行信息out.write(str,0,str.length();out.close();fw.close(); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();商业源代码,全套计算机免费下载 ibaidusoft更多全套设计联系QQ:1042897696最新设计大全 bylw168/sf/20XX0915/3539.5 测试工程5.1 测试准备本系统属于一款商务应用型软件,因此,对各种可能出现的错误情况要有很高的检测能力,并进行响应处理。所以,在软件开发完成后,为了检验是否达到客户要求需要进行全面的测试,包括程序的逻辑处理,输入/输出处理,边界条件判断,异常处理等。在进行测试前,应针对上述各情况填写一份全面的单元测试检测清单。5.1.1 积分失效模块单元检测表表 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且失效区分有

温馨提示

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

评论

0/150

提交评论