




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
某美容院积分管理系统的设计摘要计算机诞生以来,对数据的管理一直是计算机应用中最为重要的环节,数据库管理系统便是这一环节中坚力量。在NET平台推出以后,由于其通用语言基础结构和规范性,让不同语言开发的程序员们都能得心应手地在NET平台下进行高效的程序开发,ADONET框架对数据库管理系统的访问控制是相当的灵活和方便,减少了程序员们操作数据库底层代码,让程序员的精力完全集中到逻辑代码开发之中。因此,采用NET平台开发管理信息系统是一个明智的选择。某店积分更新记录管理前台采用NET,后台采用SQL2000,语言使用C。实现的系统功能是对用户消费和追加的积分进行更新,并对积分变化进行记录。程序模块读取临时积分表,通过返回临时积分表的数据对积分表,用户状态表,积分奖励记录表进行更新,并对积分累积记录表进行更新,系统着重于对更新失败和程序异常时进行处理。关键词计算机应用;数据库管理系统;积分更新记录;NET平台;ADONET;C;SQL2000THESHOPSINTEGRALUPDATERECORDMANAGEMENTABSTRACTDATAMANAGEMENTISALWAYSTHEMOSTIMPORTANTLINKOFTHECOMPUTERSAPPLICATION,SINCETHEINVENTIONOFTHECOMPUTER,ANDTHEDATABASEMANAGEMENTSYSTEMISAVERYIMPORTANTINTHISLINKAFTERTHENETWASLAUNCHED,FORITSCOMMONLANGUAGESTRUCTUREANDSTANDARD,PROGRAMMERSOFALLLANGUAGESCARRYONTHEPROCEDUREHIGHEFFECTIVELYUNDERTHENETPLATFORMTHESTRUCTUREOFADONETGIVEAFLEXIBLEANDSUITABLEMANAGETOTHEACCESSCONTROLOFDATABASEMANAGEMENTSYSTEM,THISREDUCETHECHANCEOFOPERATINGLOWERLAYERCODE,ANDMAKEPROGRAMMERPAYMOREATTENTIONTOLOGICALCODEDEVELOPMENTTHEREFOREITISWISETOCHOICETHENETPLATFORMTODEVELOPMENTMANAGEMENTINFORMATIONNETISUSEDASONSTAGE,SQL2000ISUSEDASBACKSTAGEANDCISUSEDASDEVELOPINGLANGUAGEINTHEINTEGRALTOUPDATERECORDSMANAGEMENTTHEFUNCTIONOFSYSTEMISTOUPDATETHEINTEGRALOFCONSUMINGANDPRODUCING,ANDCARRIESONTHERECORDOFTHEINTEGRALCHANGINGINFORMATIONWHENTHEPROGRAMMODULEREADTHETEMPORARYINTEGRALTABLE,ITUPDATEDTHEINTEGRALTABLE,THEUSERCONDITIONTABLE,THEINTEGRALREWARDDATASHEETTHROUGHRETURNSTHEDATAOFTEMPORARYINTEGRALTABLETHISSYSTEMPAYMOREATTENTIONTODEALINGWITHUPDATEFAILUREANDPROCEDUREEXCEPTIONALLYWHENCARRIEDONPROCESSINGKEYWORDSCOMPUTERAPPLICATIONSDATABASEMANAGEMENTSYSTEMINTEGRALUPDATERECORDNETPLATFORMADONETCSQL2000目录论文总页数33页1引言22模块需求分析221模块功能需求222客户对模块性能要求223模块开发需求23系统开发设计分析231系统设计模式232模块功能分析2321积分表的更新2322新入会员积分表的更新2323老用户卡片遗失情况下的更新2324当日积分变化进行记录233程序流程及分析234模块的详细设计2341模块主要对象的定义2342数据库结构设计24模块的实现过程分析241积分更新类具体实现242积分累计记录类具体实现25系统运行结果251积分更新类测试结果252积分累计记录更新类测试结果2结论2参考文献2附录2致谢2声明21引言随着NET平台的推出,其强大的功能和多语种的支持无疑给程序员们提供了一个更为广大的开发平台,其即时编译能力在执行效率上毫不逊于当今其它流行编程平台,通用语言规范使得不同语言定义的类能够相互引用,大大地增加了代码的重用性,使得软件开发速度得到质的提高。其中C综合了JAVA,C,VB等语言的优点成为MICROSOFT新一代开发平台下的生力军,在此平台下开发的各种管理应用系统纷纷出现,百货店当然也少不了它。以前消费者都是通过现金交易来购买商品,消费者无意要带大量的现金在身上,这样做既不方便也不安全,为了让消费者消费不再单单依赖于现金进行交易,以及为消费者提供优惠的政策,相应地需要一套积分系统对消费者积分进行必要的管理,从而不但可以方便消费者的购物还能提高购物的趣味性,并通过奖励积分方法激起消费者在百货店的购物兴趣。系统模块主要负责对消费者当日消费和追加的积分进行更新和累计记录管理,对消费者遗失卡片的情况,卡号进行更改并对原有积分进行保留,最大程度上保护消费者的利益。2模块需求分析21模块功能需求模块对用户当日消费或者追加的积分进行更新,这种更新不是即时更新,而是在指定的时间间隔后对积分信息进行更新。同时要对新增加的会员信息进行初始化,并添加新会员信息,对老会员遗失积分卡情况进行卡号的再发行,参照原卡信息对再发行的积分卡信息进行更新。所有积分累积变化都应有所记录,模块程序的启动以及结束都要输出日志记录使得程序执行与否有据可查,对于程序的意想不到异常终止也应该输出到日志记录中,从而便于管理者查出异常原因,并即时采取措施。22客户对模块性能要求实现模块所有功能模块重用性强模块稳定性和容错能力强模块能稳定运行模块能即时响应23模块开发需求积分管理系统是对日软件外包的一个实际项目,系统所有的工作都要求在日文操作系统下进行,客户要求选用NET作为开发所用平台,为了使系统达到最好性能,所以开发所用的一套工具都使用MICROSOFT公司的开发产品,C其融合JAVA,C,VB等语言的优点是我们选择它作为开发语言的原因之一。以下列出模块开发基本需求1硬件需求微型计算机一台2操作系统WINDOWS2000日文3开发语言CNET4数据库MICROSOFTSQLSERVER20005其他软件需求VISUALSTUDIO2003集成开发环境3系统开发设计分析31系统设计模式根据用户对模块功能需求描述,初步设计5张数据表1临时积分表用于记录用户当日和前日为更新到积分表中的数据,主要有当日积分,前日积分,更新区分等字段,系统会定时将当日积分累加到前日积分,最后积分更新时才会写入用户积分表。2积分表记录用户积分信息,主要有消耗积分,追加积分,奖励积分,累积积分等字段。3用户状态表记录用户优先等级,入会店铺等信息。4奖励积分表记录用户得到的奖励积分以及奖励理由。5积分历史记录表记录用户当日积分变化,主要有当日消耗积分,当日追加积分,现有积分,当日奖励积分等字段。模块通过读取临时积分表分别对其它四张表进行更新或者添加操作。遵照临时表对其它表进行操作的模式,进行模块设计。32模块功能分析321积分表的更新对当日用户积分进行时间段更新,因为不是即时更新,记录积分表可见有两张,一张是应该用来记录当日时间段用户积分变化的临时积分表,另一张表则是用户的积分表,积分表的更新应该按照临时积分表的数据进行更新。322新入会员积分表的更新对于新入会员则起先应在临时表中记录,当积分表进行更新的时候,才将其添加入积分表中,并对新会员入会信息进行记录,则必需要会员表。323老用户卡片遗失情况下的更新还有种情况便是用户卡片丢失的情况,需要对卡片进行再发行,要将原来用户所有信息移植到新卡片中,由此应在临时积分表中设计一个用于区分更新的字段来识别用户积分表更新情况,还有就是再发行的时候会员的以前的ID就不能再用了,系统还设计到了一个奖励积分表,应该把奖励积分表的ID更新成新卡的ID号。324当日积分变化进行记录最后还应对用户当日积分变化进行记录,则相应需要一张积分记录表,根据临时表进行更新。33程序流程及分析模块程序流程如图1程序类临时积分表积分表奖励积分表会员表积分累积表图1模块处理流程图该流程说明详细流程图见附录1依次读取临时积分表里的记录,对每一条记录根据其更新区分字段进行相应处理。2用临时表读出的记录的会员ID字段对会员表进行读取,如无记录则对会员表进行添加。3临时表读出的记录的更新区分不属于卡片再发行的时候,对积分表进行更新或者添加。4临时表读出的记录的更新区分属于卡片再发行的时候,对积分表进行更新或者添加,并对奖励积分表会员ID进行更新。5临时表读出的记录对当日积分历史记录表进行更新或者添加。34模块的详细设计341模块主要对象的定义342数据库结构设计数据库技术在计算机软件邻域研究中一直是非常重要的主题,在积分管理系统中,数据库的结构设计占非常重要的地位,设计好坏与数据库中数据的读取起很大影响作用。而且应该以数据的统计算法相结合,以数据的读取统计方便为目的。在积分更新和积分累计记录模块中,相应的数据库表结构如下表4临时积分数据表字段名称数据类型长度是否为空字段说明备注MEMBER_CODECHAR13否会员编号OLD_MEMBER_CODECHAR13是旧会员编号用于卡片再发行YUTAI_RANKCHAR2是优待等级YDAY_POINTNUMERIC8是前日所有积分前日为止所有积分NOW_POINTNUMERIC8是当前积分当前为止所有积分YDAY_TUKI_KAIAGE_MNUMERIC10是前月购买金额前月为止所有积分TUKI_KAIAGE_MNUMERIC10是当月购买金额OUT_POINTNUMERIC6是当日消耗积分OUT_KAIAGE_MNUMERIC10是当日减算金额OUT_RIYU_CODECHAR2是减算原因ADD_POINTNUMERIC6是当日添加积分ADD_KAIAGE_MNUMERIC10是当日添加金额ADD_RIYU_CODECHAR2是添加原因UPD_KBNCHAR1是更新区分1注册2修改3删除4卡片再发行DATA_KBNCHAR1是发生地区分0分店1总店UPD_YMDHMSCHAR20是更新日期YYYYMMDDHHMMSSUPD_TANTOUCHAR6是更新担当者之所以要建立临时表是因为模块更新是定时更新而不是即时更新,临时表的主要作用是记录当日和前日用户数据的,这些数据都还没来得及更新到积分表中去,而临时表自己也会定时地将当日积分累加到前日积分中去,即字段NOW_POINT值累加到YDAY_POINT字段中去,ADD_POINT也会定时地向NOW_POINT进行累加,在临时表中会员有两个ID,一个是旧ID,一个是新ID他的作用在于如果会员卡片丢失了就需要对会员注册一个新ID以供用户使用,其中UPD_KBN字段是比较重要的字段,它是用来进行更新区分的,即会员到底是第一次注册,还是会员要求注销自己的帐号,还是由于卡片丢失需要重新办理卡片等。表5会员状态表字段名称数据类型长度是否为空字段说明备注MEMBER_CODECHAR13否会员编号OLD_MEMBER_CODECHAR13是旧会员编号DOMINANT_CODECHAR3是会员等级编号TENPO_CODECHAR6是店铺编号OLD_DOMINANT_CODECHAR3是会员旧等级编号OLD_TENPO_CODECHAR6是旧店铺编号UPD_KBNCHAR1是更新区分MSTS_AUTO_IDINT15否自动编号会员状态表主要是用于记录会员的一些入会信息,在临时表中的会员是否是第一次注册,如果是第一次的话就需要对其信息进行添加到会员状态表中去,不是的话就不需要添加。表6用户积分表字段名称数据类型长度是否为空字段说明备注MEMBER_CODECHAR13否会员编号OLD_MEMBER_CODECHAR13是旧会员编号YUTAI_RANKCHAR2是优待等级NOW_POINTNUMERIC8是当前积分RUIKEI_POINTNUMERIC8是累积积分OUT_RUIKEI_POINTNUMERIC8是消耗累计积分ADD_RUIKEI_POINTNUMERIC8是追加累计积分KIHON_RUIKEI_POINTNUMERIC8是基本累积积分BONUS_RUIKEI_POINTNUMERIC8是奖励累积积分KAIAGE_RCHAR8是最后消费时间YYYYMMDDTUKI_KAIAGE_MNUMERIC10是当月购买金额BEFORE_TUKI_KAIAGE_MNUMERIC10是前月购买金额KAIAGE_FNUMERIC5是购买次数KAIAGE_MNUMERIC10是购买金额MEMBER_WARIBIKI_MNUMERIC10是会员打折累积金额KOUNYU_MNUMERIC10是买进累积金额MUKOU_KBNCHAR1是无效区分0有效1无效ADD_YMDHMSCHAR20是注册时间YYYYMMDDHHMMSSADD_TANTOUCHAR6是注册担当者UPD_YMDHMSCHAR20是更新时间YYYYMMDDHHMMSSUPD_TANTOUCHAR6是更新担当者SYSTEM_UPD_YMDHMSCHAR20是系统更新时间YYYYMMDDHHMMSS积分表则是记录从会员注册之日起到现在,会员积分总的变化,如会员总的消耗积分,总的追加积分,总的奖励积分,最后一次消费时间,打折了好多金额,消费的次数等能反应出会员是否是一个老客户还是不怎么经常光顾的新客户。表7奖励积分表字段名称数据类型长度是否为空字段说明备注SHORI_YMCHAR6否处理月份YYYYMMMEMBER_CODECHAR13否会员编号TUKI_KAIAGE_MNUMERIC10是当月购买金额BONUS_POINTNUMERIC8是奖励积分BONUS_KUBNNUMERIC4是奖励区分SYSTEM_UPD_YMDHMSCHAR14是系统更新时间YYYYMMDDHHMMSS奖励积分表用来记录用户受到奖励的积分数,以及为什么受到奖励,让管理者有据可查。表8当日积分历史记录表字段名称数据类型长度是否为空字段说明备注MEMBER_CODECHAR13否会员编号YMDCHAR8否日期YYYYMMDDYUTAI_RANKCHAR2是优待等级KIHON_POINTNUMERIC6是当前基本积分BONUS_POINTNUMERIC6是奖励积分ADD_POINTNUMERIC6是添加积分OUT_POINTNUMERIC6是消耗积分NOW_POINTNUMERIC8是当日积分UPD_YMDHMSCHAR14是更新日期YYYYMMDDHHMMSSUPD_TANTOUCHAR6是更新担当者当日积分历史记录表则是用于记录用户当日记录变化的,其主键是MEMBER_CODE和YMD联合起来的主键,可见每当依照临时表对其它表进行更新时,临时表中每条用户的数据都会备份到当日积分历史记录表中来。模块程序处理过程都是参照临时积分表对其它5个表进行数据库更新,添加删除等工作,程序开始以及结束都要输出相应的日志,但发生异常现象时应输出错误日志到数据库的LOG中去。读取临时表时应该注意每次读取记录条数,以免数据量过大引起服务器系统崩溃。4模块的实现过程分析41积分更新类具体实现先在FSPB1210类构造函数里创建数据库连接类和共通文件类PUBLICFSPB1210/共通情報取得INIININEWINICONFIGIFINIERRORSTRING“1“/因为SKYCONNECT类中会使用到INICONFIG类进行INI共同文件的读取,所以要先判断INI文件是否存在,以及文件能否打开和正确读取INI中的字段项,这样才能保证SKYCONNECT类正常运行。程序首先要读取INI共同文件,如果读取失败需要输出失败原因,并结束程序,因为程序的所有数据库操作都封装在SKYCONNECT类中的,而SKYCONNECT类也需要INI文件的读取,固输出错误日志时候需要自己单独创建数据库连接代码。这段代码如下以下是更新积分程序具体实现的主要逻辑代码DODATATABLEKARISKYCONNECT1GETDATATABLEPAGE“SELECTFROMFSPTB_POINT_KARI“,I,100IFDATATABLEKARIROWSCOUNT0FOREACHDATAROWDATAROWKARIINDATATABLEKARIROWSDATASETDATASETMEMBERSKYCONNECT1GETDATASET“SELECTFROMFSPTB_MEMBER_STATUSWHEREMEMBER_CODE“DATAROWKARI“MEMBER_CODE“TOSTRING“IFDATASETMEMBERTABLES0ROWSCOUNT0FSPTB_MEMBER_STATUSDATAROWKARIIFDATAROWKARI“UPD_KBN“TOSTRING“4“DATASETDATASETPOINTJSKYCONNECT1GETDATASET“SELECTFROMFSPTB_POINTWHEREOLD_MEMBER_CODE“DATAROWKARI“OLD_MEMBER_CODE“TOSTRING“IFDATASETPOINTJTABLES0ROWSCOUNT0DATAROWDATAROWPOINTJDATASETPOINTJTABLES0ROWS0DATASETDATASETKARIJSKYCONNECT1GETDATASET“SELECTFROMFSPTB_POINT_KARIWHEREOLD_MEMBER_CODE“DATAROWKARI“OLD_MEMBER_CODE“TOSTRING“DATAROWDATAROWKARIJDATASETKARIJTABLES0ROWS0DATASETDATASETPOINTXSKYCONNECT1GETDATASET“SELECTFROMFSPTB_POINTWHEREMEMBER_CODE“DATAROWKARI“MEMBER_CODE“TOSTRING“IFDATASETPOINTXTABLES0ROWSCOUNT0FSPTB_CARDZDATAROWKARI,DATAROWPOINTJ,DATAROWKARIJELSEDATAROWDATAROWPOINTXDATASETPOINTXTABLES0ROWS0FSPTB_CARDGDATAROWKARI,DATAROWPOINTJ,DATAROWKARIJ,DATAROWPOINTXSLCONNECTIONCON1NEWSQLCONNECTION“SERVER192192192238UIDSAPWD123456DATABASETOKYOSUPER“SQLCOMMANDCOM1NEWSQLCOMMAND“INSERTFSPTB_LOGP_SEL,P_MSG,P_APPNM,P_FUNCNM,P_JOBNM,P_ERRDETAIL,P_INIFILEVALUESL,FSPINI,FSPB1210,UPDATA,SKXUFENG,FSPINI,COMMONINI“,CON1ELSERETURN0DATASETDATASETBONUSSKYCONNECT1GETDATASET“SELECTFROMFSPTB_POINT_BONUSWHEREMEMBER_CODE“DATAROWKARI“OLD_MEMBER_CODE“IFDATASETBONUSTABLES0ROWSCOUNT0DATAROWDATAROWBONUSDATASETBONUSTABLES0ROWS0FSPTB_POINT_BONUSDATAROWBONUS,DATAROWKARIELSEDATASETDATASETPOINTSKYCONNECT1GETDATASET“SELECTFROMFSPTB_POINTWHEREMEMBER_CODE“DATAROWKARI“MEMBER_CODE“TOSTRING“DATATABLEDATATABLEPOINTDATASETPOINTTABLES0IFDATATABLEPOINTROWSCOUNT0FSPTB_POINTZDATAROWKARIELSEDATAROWDATAROWPOINTDATATABLEPOINTROWS0FSPTB_POINTGDATAROWKARI,DATAROWPOINTELSERETURN0说明INT10DATATABLEDATATABLEKARIDODATATABLEKARISKYCONNECT1GETDATATABLEPAGE“SELECTFROMFSPTB_POINT_KARI“,I,100IFDATATABLEKARIROWSCOUNT0ELSERETURN0II100WHILEDATATABLEKARIROWSCOUNT100这段代码是表示一次从临时积分表中读取100条记录,用于避免数据量读取过大造成系统崩溃,是处理过程的精髓所在,SKYCONNECT1GETDATATABLEPAGE将返回一个有100条或者100条以下的记录条数。IFDATASETMEMBERTABLES0ROWSCOUNT0II100WHILEDATATABLEKARIROWSCOUNT100CATCHEXCEPTIONESKYCONNECT1SQLEXECUTE“INSERTFSPTB_LOGP_SEL,P_MSG,P_APPNM,P_FUNCNM,P_JOBNM,P_ERRDETAIL,P_INIFILEVALUESL,履歴更新,FSPB1210,UPDATA,SKXUFENG,“EMESSAGE“,COMMONINI“FINALLYSKYCONNECT1SQLEXECUTE“INSERTFSPTB_LOGP_SEL,P_MSG,P_APPNM,P_FUNCNM,P_JOBNM,P_ERRDETAIL,P_INIFILEVALUESE,終了,FSPB1210,UPDATA,SKXUFENG,終了,COMMONINI“THISDISPOSEFSPTB_MEMBER_STATUSDATAROWKARI判断会员状态表中是否有这个会员的信息,如果没有,则用于对会员状态表进行添加,FSPTB_MEMBER_STATUSDATAROWKARI这个函数的具体实现请见附录。IFDATAROWKARI“UPD_KBN“TOSTRING“4“/会员卡片再发行更新处理ELSE/普通更新处理用于更新区分,当该条临时表积分记录更新区分字段值为“4”的时候是会员遗失卡片的情况,否则便是一般的更新。两种更新的具体实现请见附录。42积分累计记录类具体实现积分累计记录类的实现大概思路和积分更新类相同,因为它们更新的参照物都是以临时积分表为基础的,首先都要通过SKYCONNECT1GETDATATABLEPAGE一次从临时表中读取100条记录,直到将表中的记录读取完毕为止,程序开始正常运行时需要输入开始日志,正常运行结束也需要输入结束日志,出现异常需要输出异常信息,它们都是通过SKYCONNECT1SQLEXECUTE来实现向日志数据表输出一条记录信息。模块通过IFDATATABLERIREKIROWSCOUNT0判断当日积分变化表是否存在临时表中指定日期用户的这天变化记录,如果存在存在则通过FSPTB_POINT_RIREKIGDATAROWKARI,DATAROWRIREKI函数更新,不存在通过FSPTB_POINT_RIREKIZDATAROWKARI函数追加。两个函数的具体实现请见附录。主要的处理逻辑代码如下INTI0DATATABLEDATATABLEKARIDODATATABLEKARISKYCONNECT1GETDATATABLEPAGE“SELECTFROMFSPTB_POINT_KARI“,I,100IFDATATABLEKARIROWSCOUNT0FOREACHDATAROWDATAROWKARIINDATATABLEKARIROWSDATASETDATASETRIREKISKYCONNECT1GETDATASET“SELECTFROMFSPTB_POINT_RIREKIWHEREMEMBER_CODE“DATAROWKARI“MEMBER_CODE“TOSTRING“ANDUPD_YMDHMS“DATAROWKARI“UPD_YMDHMS“TOSTRING“DATATABLEDATATABLERIREKIDATASETRIREKITABLES0IFDATATABLERIREKIROWSCOUNT0DATAROWDATAROWRIREKIDATATABLERIREKIROWS0FSPTB_POINT_RIREKIGDATAROWKARI,DATAROWRIREKIELSEFSPTB_POINT_RIREKIZDATAROWKARIELSERETURN0II100WHILEDATATABLEKARIROWSCOUNT1005系统运行结果51积分更新类测试结果该模块的测试包括共通信息取得、文件存在检查处理、文件打开处理、对数据库表检索,追加,更新,正常和异常处理等合计16个测试点。图3共通文件错误命名后的文件图3将共通文件的名字进行了更改,这样程序就无法读取共通文件。图4共通文件读取失败错误信息输出图4由于无法读取共通文件,则程序将输出一条错误信息到日志中,这条信息的意思是没有找到共通文件。图5程序更新开始输入日志输出图5是在共通文件读取成功的前提下,输出一条程序开始运行的日志,说明此程序运行开始。图6会员状态表添加前图6是测试会员状态表能否正常添加,假如起先表中没有任何值。图7会员状态表添加后图7从临时积分表中读取的记录,在会员状态表中找不到这条记录,就将其添加到会员状态表中去。图8积分表追加前图8是测试积分表能否正常添加,假如起先表中没有任何值。图9积分表追加后结果图9从临时积分表中读取的记录,在积分表中找不到这条记录,就将其添加到积分表中去。图10积分表更新前图10是积分更新前积分表中数据的初始值,当更新后其值将发生变化。图11积分表更新后结果图11积分表根据临时表进行了积分更新,积分表值发生变化。图12卡片再发行时积分表追加前图12测试卡片再发行的时候,用临时表中旧会员号对积分表进行检索,如果存在着个旧会员号,通过积分表旧会员号记录的数据和临时表旧会员号记录进行运算,把新会员号信息添加到积分表中,此图是添加前时积分表的数据。图13卡片再发行时积分表追加后结果图13卡片再发行时成功添加了临时表中的新会员信息后积分表的数据。图14卡片再发行时积分表更新前图14卡片再发行时候,如果临时表中新会员号能在积分表中找到对应的记录,则就不需要另外添加一项,只需在该项进行更新即可,此图是更新前积分表的数据。图15卡片再发行时积分表更新后结果图15是卡片再发行时,直接对积分表中存在的新会员号进行更新后的数据。图16卡片再发行时奖励积分表更新前图16是卡片再发行时候需要将奖励积分表中以前的会员号进行更改,此图为更改前的数据。图17卡片再发行时奖励积分表更新后结果图17是奖励积分表会员号更改后的状态。图18程序结束日志输出图18是程序正常运行后输出一个结束日志,意思表示程序已经正常结束。52积分累计记录更新类测试结果FSPB1220模块的测试内容和过程基本上和FSPB1210测试内容一致,以下只将同FSPB1210测试不同的结果列出图19当日积分记录表追加前图19是测试当日积分记录表能否正常添加,假如起先表中没有任何值。图20当日积分记录表追加后结果图20从临时积分表中读取的记录,在当日积分记录表中找不到这条记录,就将其添加,此图为添加后的结果。图21当日积分记录表更新前图21当日积分记录表中有此条记录只需要进行更新,此图为表更新前状态。图22当日积分记录表更新后结果图22当日积分表根据临时积分表更新后的结果。结论通过翻阅资料和实践编码,模块顺利地实现了对系统的积分更新和历史积分记录,即通过读取积分临时表对用户状态表,用户积分表,奖励积分表和历史积分记录更新表进行了更新操作,模块能够成功地捕捉程序中出现的异常,并对异常信息进行记录。除此之外还可以对模块程序运行状态进行记录,即程序是否开始进行更新运行,以及程序是否正常运行结束,都会以一条信息形式记录到数据库中,从而满足商业软件要求程序严谨性,无差错性。系统的设计与开发在老师的领导下完全遵从对日软件开发的标准。系统进行了需求分析,概要设计、详细设计、编码、测试等每一部分的学习和实践。系统的设计阶段有举足轻重的地位,设计阶段的质量优劣,直接影响到以后系统质量。需求是否准确,影响到最后系统是否能达到用户的要求,概要设计的数据结构的设计,影响数据库的设计是否优越,如果设计合理,在编码阶段实现就相对容易了。而某店积分管理系统是一个大型的团队开发项目。团队合作的概念和团队精神是非常重要性。如何在一个团队里寻找到自己的位置和与人相处是团队开发的重要环节之一。参考文献1JESSELIBERTY美C程序设计M北京中国电力出版社,2002。2方睿,吴四九等网络数据库原理及应用M成都四川大学出版社,2005。3杜斌,幸利等软件设计工程M成都电子科技大学出版社,2005。4李超,罗积玉等软件制造工程M成都电子科技大学出版社,2005。5唐耀C程序设计实用教程M北京中国水利水电出版社,2005。6郝春强C基础与实例教程M北京中国电力出版社,2005。7JOSEPHMAYO美C技术内幕M北京机械工业出版社,2003。附录详细流程图如图23所示图23程序详细流程图FSPB1210模块中的各函数代码PUBLICVOIDFSPTB_MEMBER_STATUSDATAROWDATAROWKARISKYCONNECT1SQLEXECUTE“INSERTFSPTB_MEMBER_STATUSMEMBER_CODE,UPD_KBNVALUES“DATAROWKARI“MEMBER_CODE“TOSTRING“,1“PUBLICVOIDFSPTB_POINTGDATAROWDATAROWKARI,DATAROWDATAROWPOINTDECIMALNOWPOINTDECIMALDATAROWPOINT“RUIKEI_POINT“DECIMALDATAROWKARI“YDAY_POINT“DECIMALDATAROWKARI“NOW_POINT“DECIMALDATAROWPOINT“OUT_RUIKEI_POINT“DECIMALDATAROWKARI“OUT_POINT“DECIMALRUIKEIPOINTDECIMALDATAROWPOINT“ADD_RUIKEI_POINT“DECIMALDATAROWPOINT“KIHON_RUIKEI_POINT“DECIMALDATAROWPOINT“BONUS_RUIKEI_POINT“DECIMALDATAROWKARI“ADD_POINT“DECIMALOUTRUIKEIPOINTDECIMALADDRUIKEIPOINTDECIMALTUKIKAIAGEMSTRINGUPDYMDHMSIFDATAROWKARI“OUT_POINT“SYSTEMDBNULLVALUEOUTRUIKEIPOINTDECIMALDATAROWPOINT“OUT_RUIKEI_POINT“ELSEOUTRUIKEIPOINTDECIMALDATAROWPOINT“OUT_RUIKEI_POINT“DECIMALDATAROWKARI“OUT_POINT“IFDATAROWKARI“ADD_POINT“SYSTEMDBNULLVALUEADDRUIKEIPOINTDECIMALDATAROWPOINT“ADD_RUIKEI_POINT“ELSEADDRUIKEIPOINTDECIMALDATAROWPOINT“ADD_RUIKEI_POINT“DECIMALDATAROWKARI“ADD_POINT“TUKIKAIAGEMDECIMALDATAROWPOINT“TUKI_KAIAGE_M“DECIMALDATAROWKARI“ADD_KAIAGE_M“DECIMALDATAROWKARI“OUT_KAIAGE_M“UPDYMDHMSSYSTEMDATETIMENOWTOSTRINGSKYCONNECT1SQLEXECUTE“UPDATEFSPTB_POINTSETMEMBER_CODE“DATAROWKARI“MEMBER_CODE“TOSTRING“,OLD_MEMBER_CODE“DATAROWKARI“OLD_MEMBER_CODE“TOSTRING“,YUTAI_RANK“DATAROWKARI“YUTAI_RANK“TOSTRING“,NOW_POINT“NOWPOINTTOSTRING“,RUIKEI_POINT“RUIKEIPOINTTOSTRING“,OUT_RUIKEI_POINT“OUTRUIKEIPOINTTOSTRING“,ADD_RUIKEI_POINT“ADDRUIKEIPOINTTOSTRING“,TUKI_KAIAGE_M“TUKIKAIAGEMTOSTRING“,SYSTEM_UPD_YMDHMS“UPDYMDHMSTOSTRING“WHEREMEMBER_CODE“DATAROWKARI“MEMBER_CODE“TOSTRING“/追加PUBLICVOIDFSPTB_POINTZDATAROWDATAROWKARIDECIMALNOWPOINTDECIMALDATAROWKARI“YDAY_POINT“DECIMALDATAROWKARI“NOW_POINT“DECIMALDATAROWKARI“OUT_POINT“DECIMALOUTRUIKEIPOINTDECIMALADDRUIKEIPOINTSTRINGUPDYMDHMSIFDATAROWKARI“OUT_POINT“SYSTEMDBNULLVALUEOUTRUIKEIPOINTDECIMALDATAROWKARI“OUT_POINT“ELSEOUTRUIKEIPOINT0IFDATAROWKARI“ADD_POINT“SYSTEMDBNULLVALUEADDRUIKEIPOINTDECIMALDATAROWKARI“ADD_POINT“ELSEADDRUIKEIPOINT0UPDYMDHMSSYSTEMDATETIMENOWTOSTRINGSKYCONNECT1SQLEXECUTE“INSERTFSPTB_POINTVALUES“DATAROWKARI“MEMBER_CODE“TOSTRING“,“DATAROWKARI“OLD_MEMBER_CODE“TOSTRING“,“DATAROWKARI“YUTAI_RANK“TOSTRING“,“NOWPOINTTOSTRING“,“DATAROWKARI“ADD_POINT“TOSTRING“,“OUTRUIKEIPOINTTOSTRING“,“ADDRUIKEIPOINTTOSTRING“,“0,0,NULL,0“,“DATAROWKARI“TUKI_KAIAGE_M“TOSTRING“,0,0,0,0“,“0“,“DATAROWKARI“UPD_YMDHMS“TOSTRING“,“DATAROWKARI“UPD_TANTOU“TOSTRING“,“DATAROWKARI“UPD_YMDHMS“TOSTRING“,“DATAROWKARI“UPD_TANTOU“TOSTRING“,“UPDYMDHMS“/更新(再発行時)PUBLICVOIDFSPTB_CARDGDATAROWDATAROWKARI,DATAROWDATAROWPOINTJ,DATAROWDATAROWKARIJ,DATAROWDATAROWPOINTXDECIMALNOWPOINTDECIMALRUIKEIPOINTDECIMALOUTRUIKEIPOINTDECIMALADDRUIKEIPOINTDECIMALKIHONRUIKEIPOINTDECIMALTUKIKAIAGEMSTRINGKAIAGERDECIMALKAIAGEFDECIMALKAIAGEMDECIMALMEMBERWARIBIKIMDECIMALKOUNYUMSTRINGUPDYMDHMSIFDECIMALPARSEDATAROWKARI“OLD_MEMBER_CODE“TOSTRINGDECIMALPARSEDATAROWKARI“MEMBER_CODE“TOSTRINGNOWPOINTDECIMALDATAROWPOINTX“RUIKEI_POINT“DECIMALDATAROWKARI“YDAY_POINT“DECIMALDATAROWKARI“NOW_POINT“DECIMALDATAROWKARI“OUT_POINT“DECIMALDATAROWKARI“YDAY_POINT“RUIKEIPOINTDECIMALDATAROWPOINTJ“ADD_RUIKEI_POINT“DECIMALDATAROWPOINTJ“KIHON_RUIKEI_POINT“DECIMALDATAROWPOINTJ“BONUS_RUIKEI_POINT“DECIMALDATAROWPOINTX“ADD_RUIKEI_POINT“DECIMALDATAROWPOINTX“KIHON_RUIKEI_POINT“DECIMALDATAROWPOINTX“BONUS_RUIKEI_POINT“DECIMALDATAROWKARI“ADD_POINT“OUTRUIKEIPOINTDECIMALDATAROWPOINTJ“OUT_RUIKEI_POINT“DECIMALDATAROWKARI“OUT_POINT“DECIMALDATAROWKARI“YDAY_POINT“ADDRUIKEIPOINTDECIMALDATAROWPOINTJ“ADD_RUIKEI_POINT“DECIMALDATAROWKARI“ADD_POINT“TUKIKAIAGEMDECIMALDATAROWPOINTJ“TUKI_KAIAGE_M“DECIMALDATAROWPOINTX“TUKI_KAIAGE_M“DECIMALDATAROWKARI“YDAY_TUKI_KAIAGE_M“DECIMALDATAROWKARI“ADD_KAIAGE_M“DECIMALDATAROWKARI“OUT_KAIAGE_M“ELSENOWPOINTDECIMALDATAROWPOINTX“RUIKEI_POINT“DECIMALDATAROWKARI“YDAY_POINT“DECIMALDATAROWKARI“NOW_POINT“DECIMALDATAROWKARI“OUT_POINT“DECIMALDATAROWKARI“YDAY_POINT“DECIMALDATAROWKARIJ“OUT_POINT“RUIKEIPOINTDECIMALDATAROWPOINTJ“ADD_RUIKEI_POINT“DECIMALDATAROWPOINTJ“KIHON_RUIKEI_POINT“DECIMALDATAROWPOINTJ“BONUS_RUIKEI_POINT“DECIMALDATAROWPOINTX“ADD_RUIKEI_POINT“DECIMALDATAROWPOINTX“KIHON_RUIKEI_POINT“DECIMALDATAROWPOINTX“BONUS_RUIKEI_POINT“DECIMALDATAROWKARI“ADD_POINT“DECIMALDATAROWKARIJ“ADD_POINT“OUTRUIKEIPOINTDECIMALDATAROWPOINTJ“OUT_RUIKEI_POINT“DECIMALDATAROWKARI“OUT_POINT“DECIMALDATAROWKARI“YDAY_POINT“DECIMALDATAROWKARIJ“OUT_POINT“ADDRUIKEIPOINTDECIMALDATAROWPOINTJ“ADD_RUIKEI_POINT“DECIMALDATAROWKARI“ADD_POINT“DECIMALDATAROWKARIJ“ADD_POINT“TUKIKAIAGEMDECIMALDATAROWPOINTJ“TUKI_KAIAGE_M“DECIMALDATAROWPOINTX“TUKI_KAIAGE_M“DECIMALDATAROWKARI“YDAY_TUKI_KAIAGE_M“DECIMALDATAROWKARI“ADD_KAIAGE_M“DECIMALDATAROWKARI“OUT_KAIAGE_M“DECIMALDATAROWKARIJ“ADD_KAIAGE_M“DECIMALDATAROWKARIJ“OUT_KAIAGE_M“KIHONRUIKEIPOINTDECIMALDATAROWPOINTJ“KIHON_RUIKEI_POINT“DECIMALDATAROWPOINTX“KIHON_RUIKEI_POINT“IFDATAROWPOINTX“KAIAGE_R“SYSTEMDBNULLVALUEKAIAGERDATAROWPOINTX“KAIAGE_R“TOSTRINGELSEKAIAGERDATAROWPOINTJ“KAIAGE_R“TOSTRINGKAIAGEFDECIMALDATAROWPOINTJ“KAIAGE_F“DECIMALDATAROWPOINTX“KAIAGE_F“KAIAGEMDECIMALDATAROWPOINTX“KAIAGE_M“DECIMALDATAROWPOINTJ“KAIAGE_M“MEMBERWARIBIKIMDECIMALDATAROWPOINTX“MEMBER_WARIBIKI_M“DECIMALDATAROWPOINTJ“MEMBER_WARIBIKI
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 单位兼职出纳协议书
- 合作开店制度协议书
- 工厂建设项目资金筹措与融资策略
- 单位派遣学习协议书
- 制度编制委托协议书
- 研讨2025年工程法规考试趋势试题及答案
- 双方投资装修协议书
- 商业变革下的员工角色与技能需求
- 县级医疗救护协议书
- 企业文化重塑在推动企业数字化转型中的重要性
- 白血病患者护理教学查房
- 语言学导论知到课后答案智慧树章节测试答案2025年春广东外语外贸大学
- 第10课 养成遵纪守法好习惯
- 2025年工程测量员(技师)职业技能鉴定理论考试指导题库(含答案)
- T-CWEC 45-2024 水利水电工程帷幕灌浆水下施工及质量验收规范
- 湖北省松滋市老城镇八一小学2024-2025学年小学六年级第二学期小升初数学试卷含解析
- 2025-2030年中国核桃种植深加工行业运行状况及前景趋势分析报告
- 历史课件:中国古代史【模板课件】
- 《陶瓷基复合材料》课件
- 申请软著流程
- 民航旅客乘机流程
评论
0/150
提交评论