1、1.3 研究方法作为以JAVA语言为基础的商务型软件,此次研究主要采用面向对象的方法进行软件开发。尽可能模拟人类习惯的思维方式来分析和解决问题,保证软件系统的稳定性和可复用性以及良好的维护性。在程序中,采用了JDBCODBC桥的方式,进行数据库连接。另外,由于是商务软件,就要考虑到用户在使用该系统时有可能出现的各种错误,并针对这些错误制定出解决的方案。整个开发过程分为四个部分,包括分析工程、设计工程、制造工程、测试工程。下面将详细对上述过程进行细致的描述。2 分析工程2.1 需求分析由于该百货店实行会员管理模式,每个会员都有代金消费点数,其中就存在部分会员在获得消费点后,因某些原因长期未能进行
2、消费,但仍要对他们的消费点进行管理,这就给整个管理系统带来了负担,同时也占用了很多不必要的资源,无形中增大了管理的成本。为了解决这个问题,就需要建立一个模块来定期检查会员消费情况,对限定时间内未消费的用户进行积分失效处理,以节约系统资源,同时,也在一定程度上刺激会员消费。把握市场动向,提高销售利润是企业的最终目标。在企业管理日趋科学化的今天,如何准确及时地进行生产经营决策是销售企业面临的严峻问题。要求决策者准确及时地捕捉到销售信息,分析销售情况,随时根据历史的销售情况,对下一步的生产经营科学地进行决策。销售分析需要大量的基础数据,但是如果将原始的销售信息直接用于分析又会给分析工作带来很大不便,
3、是效率无法提高。因此就需要将原始销售信息进行整理,处理成决策分析所需的数据资料,进行保存。2.2 系统分析2.2.1 系统构成1 硬件需求:计算机一台2 操作系统:Windows 2000(日文)3 开发语言:Java4 开发工具:eclipse5 数据库:Microsoft SQL Server 20006 其他软件:Microsoft SQL Server 2000 Driver for JDBC Service,Subversion(S VN)1.302.2.2 系统模块1 积分失效从会员信息表中,找出一年前注册,当前点数不为0,且一年内未进行消费的用户,对其积分进行清零处理。2 数据分
4、析对每日POS消费记录文件进行数据处理,生成用于外部数据分析的明细文件2.2.3 系统数据分析 会员数据:包括会员的基本信息数据(入会日期,会员编码,姓名,住址,联系电话,出生年月日,会员种类,入会店铺编码等等); 积分数据:包括积分卡基本信息数据(会员编码,现在积分点,累计积分点,输出累计积分点,增加累计积分点,基本累计积分点,购买次数,购买累计金额等等); 店铺数据:包括店铺基本信息数据(店铺编码,店铺名称,DOMINANT编码,住址,联系电话等等);用于进行数据分析处理的原始销售信息存放于一个名为FSP_EFI010.DAT的文件中,其数据格式如表1所示:表1 原始销售信息文件数据格式数
5、据名称数据字段长度(位)店铺CODE6Terminal NO交易序列号5交易日期8交易时间2会员NO13JAN CODE商品名称不定消费点数3消费金额会员价格4退货交易1折扣价贴现价按比例折扣价按比例贴现价按比例M&M值GP CODE部门 CODE3 设计工程3.1 外部设计(概要设计)3.1.1 数据库设计 数据库表结构的设计在每一个开发项目中都是非常重要的一个部分,数据库表设计的好坏直接关系到开发过程中代码实现的功能强大与否,是否包含齐备客户所需求的功能。因此现在来介绍该模块所用到的数据库表的详细设计。各数据表定义如表2所示表2 数据表定义序号表参数名表名说明FSPTB_MEMBER记录会
6、员基本信息FSPTB_MEMBER_STATUS记录会员状态信息FSPTB_POINT记录会员点数基本信息FSPTB_POINT_JNL记录会员点数更新履历FSPTB_POINT_RIREKI记录会员当日消费点数信息表3 FSPTB_MEMBER(会员)主键列(属性)名中文名称类型宽度是否允许为空MEMBER_CODE会员编码CharNOT NULLNYUKAI_YMD入会年月日NULLSHIMEI_KANA_S日语假名性16SHIMEI_KANA_N日语假名名SHIMEI_KANJI_S中文姓32SHIMEI_KANJI_N中文名TEL_SHIGAI_1电话1(市外)TEL_SHINAI_1
7、电话1(市内)TEL_BANGO_1电话1(其它)TEL_SHIGAI_2电话2(市外)TEL_SHINAI_2电话2(市内)TEL_BANGO_2电话3(其它)TEL_SHIGAI_3电话3(市外)TEL_SHINAI_3电话3(市内)TEL_BANGO_3BIRTH_DAY出生年月日MEMBER_KBN会员种类FM_KBN性别MEMBER_ZIP邮政编码ADDR_1地址1ADDR_2地址248ADDR_3地址3ADDR_4地址4NYUKAI_TENPO入会的店铺编码MUKOU_KBN起效种类HOLD_CODE家庭所属代码ADD_YMDHMS注册时间14ADD_TANTOU注册负责人IDUP
8、D_YMDHMS更新时间UPD_TANTOU更新负责人ID表4 FSPTB_MEMBER_STATUS(会员状态)OLD_MEMBER_CODE旧会员编码DOMINANT_CODE优先级别编码TENPO_CODE店铺号码OLD_DOMINANT_CODE旧优先级别编码OLD_TENPO_CODE旧店铺编码UPD_KBN更新种类MSTS_AUTO_ID记录番号Numeric15表5 FSPTB_POINT(积分)YUTAI_RANK优惠等级NOW_POINT现在积分点9RUIKEI_POINT累计积分点OUT_RUIKEI_POINT支出的累计积分点ADD_RUIKEI_POINT增加的累计积分
9、点KIHON_RUIKEI_POINT基本累计积分点BONUS_RUIKEI_POINT奖励累计积分点KAIAGE_R最后交易时间TUKI_KAIAGE_M每月交易金额10BEFORE_TUKI_KAIAGE_M上月交易金额KAIAGE_F交易次数KAIAGE_M交易金额MEMBER_WARIBIKI_M打折累计金额KOUNYU_M购买金额登陆时间登陆负责人IDSYSTEM_UPD_YMDHMS系统更新时间表6 FSPTB_POINT_JNL(积分更新记录)店舗CODE会员CODECLIENT_NO顾客NOADD_POINT_B当日追加POINT(更新前)OUT_POINT_B当日支出POIN
10、T(更新前)NOW_POINT_B現在POINT(更新前)BONUS_POINT_B当日奖励POINT(更新前)OUT_KAIAGE_M_B当日減算金額(更新前)ADD_KAIAGE_M_B当日加算金額(更新前)TUKI_KAIAGE_M_B月购买金額(更新前)ADD_POINT_A当日追加POINT(更新后)ADD_RIYU_CODE追加理由CODEOUT_POINT_A当日支出POINT(更新后)OUT_RIYU_CODE支出理由CODENOW_POINT_A現在POINT(更新后)BONUS_POINT_A当日奖励POINT(更新后)OUT_KAIAGE_M_A当日減算金額(更新后)AD
11、D_KAIAGE_M_A当日加算金額(更新后)TUKI_KAIAGE_MA月购买金額(更新后)KURIKOSHI_POINT转入POINTTODAY_POINT本日最終POINT更新日期担当者CODEJNL_AUTO_ID记录ID表7 FSPTB_POINT_RIREKI(积分当日消费记录)YMD日期优待等级KIHON_POINT当日基本POINTBONUS_POINT当日奖励POINTADD_POINT当日追加POINTOUT_POINT当日支出POINT現在POINT3.1.2 数据流程图图1 积分失效处理流图图2 数据分析模块流图图3 注释图3.2 内部设计(详细设计)3.2.1 积分失
12、效详细代码设计1) 程序初期设定。如果出现错误,输出错误信息,程序结束。2) 输出开始日志记录。 (1)如果出现错误,程序结束。 (2)否则,取得系统前一年日期。3) 处理日期check。 (1)读入初始设定的会员信息数据文件。1 如果出现错误,输出错误信息,程序结束。 2 否则,取得POINT实效日期。(2)设定会员信息数据文件。 系统日期不是POINT实效处理日期的场合,输出信息,程序结束。4) POINT实效处理。1 CSV文件读入。(1) 如果出现错误,输出错误信息,程序结束。(2) 取得文件名。(3) 打开CSV文件。2 POINT失效对象抽出(1)(1) 从FSPTB_POINT中
13、读取会员CODE。条件:最后购买日期在一年前&现在POINT不为0。 失效区分有效。(2) 抽出失效区分有效数据。3 POINT失效对象抽出(2)(1) 从FSPTB_POINT和FSPTB_MEMBER中读取会员CODE。会员CODE匹配;入会日期在一年以前;失效区分有效;买入次数为0;(2) 返回值不为空。4 各表的更新处理(1) 从FSPTB_POINT中取出匹配会员的数据。 条件:会员编号是匹配会员编号。(2) 匹配会员的POINT信息更新。参照“POINT信息项目移动表”。(3) 从FSPTB_MEMBER中取出匹配会员的数据。会员编号是匹配会员编。a) 匹配用户数据的店铺CODE为
14、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履历。参照“P
15、OINT履历(追加)项目移动表”。b) 通过(4)取得的POINT履历不是EOF的情况,存储初始状态,并更新,参照“POINT履历(更新)项目移动表”。(7) 在FSPTB_POINT中检索匹配的用户数据。用户CODE是匹配用户CODE;(8) 不是EOF的情况,程序结束。(9) 如果是EOF ,在FSPTB_MEMBER追加新的数据。参照“用户数据项目移动表”。(10) CSV文件数据输出。参照“CSV文件项目移动表”。5) 输出结束日志。表8 POINT信息项目移动表移动表名称移动操作地址名称APOINT信息项目移动表BCD编辑项目名称原项目名称移动方式现在POINT消费累计POINT消费累计POINT当前POINT执行操作时系统时间表9 POINT更新日志新建项目移动表POINT更新日志新建项目移动表YFSPTB_MEMBER的店舗CODE的右3位数的值1 小于10的情况,该值加5个空格。2 小于100的情况,该值加4个空格。3 大于100的情况,该值加3个空格。同项目顾客现在POINT(更新前)当日获赠POINT(更新前)当日减算金额(更新前)当日加算金额(更新前)月中购买金额(更新前)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1