畢業(yè)設(shè)計(jì)(論文)商店P(guān)OS積分管理系統(tǒng)積分失效與數(shù)據(jù)分析模塊的實(shí)現(xiàn)_第1頁
畢業(yè)設(shè)計(jì)(論文)商店P(guān)OS積分管理系統(tǒng)積分失效與數(shù)據(jù)分析模塊的實(shí)現(xiàn)_第2頁
畢業(yè)設(shè)計(jì)(論文)商店P(guān)OS積分管理系統(tǒng)積分失效與數(shù)據(jù)分析模塊的實(shí)現(xiàn)_第3頁
畢業(yè)設(shè)計(jì)(論文)商店P(guān)OS積分管理系統(tǒng)積分失效與數(shù)據(jù)分析模塊的實(shí)現(xiàn)_第4頁
畢業(yè)設(shè)計(jì)(論文)商店P(guān)OS積分管理系統(tǒng)積分失效與數(shù)據(jù)分析模塊的實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、某店pos積分管理系統(tǒng)積分失效與數(shù)據(jù)分析模塊的實(shí)現(xiàn)摘 要開發(fā)一個(gè)大而復(fù)雜的pos積分管理軟件系統(tǒng),將它進(jìn)行適當(dāng)?shù)姆纸?,不但可以降低其?fù)雜性,還可以減少開發(fā)工作量,降低開發(fā)成本,提高軟件生產(chǎn)率。其中, 積分失效處理,是為了刺激客戶消費(fèi),對(duì)于一年以內(nèi)未購買任何商品的會(huì)員,對(duì)其積分進(jìn)行清除處理。數(shù)據(jù)處理模塊,是對(duì)商品銷售金額等具體數(shù)據(jù)進(jìn)行計(jì)算處理,以方便企業(yè)對(duì)各類型商品銷售情況等進(jìn)行數(shù)據(jù)分析。作為商務(wù)用軟件,錯(cuò)誤檢測機(jī)制尤為重要。因此,在模塊開發(fā)時(shí)應(yīng)考慮到各種實(shí)發(fā)情況的出現(xiàn),并做出相應(yīng)處理。在完成程序開發(fā)后,需作成單元檢測清單(pcl),并進(jìn)行測試,驗(yàn)證軟件的有效性,發(fā)現(xiàn)并修補(bǔ)缺陷,以提高軟件質(zhì)量,

2、確保開發(fā)出用戶滿意的軟件產(chǎn)品。關(guān)鍵詞:pos積分管理軟件系統(tǒng);積分失效;數(shù)據(jù)分析;單元檢測清單an integral management of pos system for a department storethe implementation of integral failure and data analysis module abstractthe design is about the development of make integral failures and data analysis modules.integral failures, the members who

3、 the whole year did not buy any goods ,will be get rid of their integral. data analysis module is for the sales amount of specific data to be dealt with and for the convenience of enterprises to deal with all types of commodities, such as sales of data analysis. development of modules that should be

4、 taken into account is various circumstances, and made a program check list (pcl) is also important. conduct testing to verify the effectiveness of the software and detect and repair defects and to improve software quality is also needed. key words: integral management system; integral failure; data

5、 analysis; program check list 目 錄論文總頁數(shù):30頁積分失效與數(shù)據(jù)分析模塊的實(shí)現(xiàn)錯(cuò)誤!未定義書簽。1引言11.1課題背景11.2選題意義11.3研究方法12分析工程12.1需求分析12.2系統(tǒng)分析22.2.1系統(tǒng)構(gòu)成22.2.2系統(tǒng)模塊22.2.3系統(tǒng)數(shù)據(jù)分析23設(shè)計(jì)工程33.1外部設(shè)計(jì)(概要設(shè)計(jì))33.1.1數(shù)據(jù)庫設(shè)計(jì)33.1.2數(shù)據(jù)流程圖73.2內(nèi)部設(shè)計(jì)(詳細(xì)設(shè)計(jì))83.2.1積分失效詳細(xì)代碼設(shè)計(jì)83.2.2數(shù)據(jù)分析模塊詳細(xì)代碼設(shè)計(jì)134制造工程144.1開發(fā)環(huán)境144.2程序開發(fā)154.2.1程序流程圖154.2.2建立jdbc-odbc橋接器174.2.

6、3讀取ini文件174.2.4對(duì)數(shù)據(jù)庫操作184.2.5對(duì)文件操作195測試工程205.1測試準(zhǔn)備205.1.1積分失效模塊單元檢測表205.1.2分析用pos明細(xì)作成模塊單元檢測表235.2測試實(shí)施245.2.1測試頁面截圖245.2.2測試結(jié)果數(shù)據(jù)26結(jié) 論27參考文獻(xiàn)28致 謝錯(cuò)誤!未定義書簽。聲 明錯(cuò)誤!未定義書簽。1 引言1.1 課題背景隨著社會(huì)科學(xué)技術(shù)突飛猛進(jìn)的發(fā)展,計(jì)算機(jī)的應(yīng)用已經(jīng)普及到經(jīng)濟(jì)和社會(huì)的各個(gè)領(lǐng)域。長期以來人們所使用的傳統(tǒng)的單純憑借人力進(jìn)行管理的銷售方式,已經(jīng)無法適應(yīng)當(dāng)今社會(huì)的現(xiàn)狀,同時(shí)也存在著很多弊端,如成本較高、安全性低、效率難以提高等。因此,作為計(jì)算機(jī)應(yīng)用的一個(gè)方

7、面,利用其強(qiáng)大的運(yùn)算能力,進(jìn)行銷售管理具有無法替代的優(yōu)勢。其高效、可靠、穩(wěn)定等優(yōu)點(diǎn)已得到了消費(fèi)者和銷售企業(yè)一致的好評(píng)。1.2 選題意義不同類型的銷售行業(yè)有自己的特點(diǎn),對(duì)于零售業(yè)而言,是一個(gè)成本敏感,同時(shí)具有大規(guī)模的分布性和靈活多變的特點(diǎn)。因此,如何處理好在一個(gè)高度分布的網(wǎng)絡(luò)環(huán)境中,多種軟硬件平臺(tái)的管理、部署和升級(jí),適應(yīng)實(shí)際的需求變化,為用戶提供一種可靠的低成本運(yùn)作模式,成為零售業(yè)解決方案成功的關(guān)鍵。針對(duì)這一情況,希望研究出一套pos積分管理系統(tǒng),用來對(duì)商品銷售情況、會(huì)員消費(fèi)情況、分店經(jīng)營情況等信息進(jìn)行系統(tǒng)高效的管理。降低甚至消除不必要的成本和費(fèi)用,給客戶帶來更大效益。而本課題的研究正是要在這個(gè)

8、系統(tǒng)之下開發(fā)出積分失效和數(shù)據(jù)分析兩個(gè)模塊。其中積分失效模塊對(duì)一年內(nèi)未購買任何物品的會(huì)員,進(jìn)行積分過期失效處理。這樣做可以刺激用戶消費(fèi),提高銷售業(yè)績。而數(shù)據(jù)分析模塊則是對(duì)商品銷售信息進(jìn)行分析,對(duì)各種類型的商品銷售情況,銷售利潤做成數(shù)據(jù)資料以供外部分析使用。1.3 研究方法作為以java語言為基礎(chǔ)的商務(wù)型軟件,此次研究主要采用面向?qū)ο蟮姆椒ㄟM(jìn)行軟件開發(fā)。盡可能模擬人類習(xí)慣的思維方式來分析和解決問題,保證軟件系統(tǒng)的穩(wěn)定性和可復(fù)用性以及良好的維護(hù)性。在程序中,采用了jdbcodbc橋的方式,進(jìn)行數(shù)據(jù)庫連接。另外,由于是商務(wù)軟件,就要考慮到用戶在使用該系統(tǒng)時(shí)有可能出現(xiàn)的各種錯(cuò)誤,并針對(duì)這些錯(cuò)誤制定出解決

9、的方案。整個(gè)開發(fā)過程分為四個(gè)部分,包括分析工程、設(shè)計(jì)工程、制造工程、測試工程。下面將詳細(xì)對(duì)上述過程進(jìn)行細(xì)致的描述。2 分析工程2.1 需求分析由于該百貨店實(shí)行會(huì)員管理模式,每個(gè)會(huì)員都有代金消費(fèi)點(diǎn)數(shù),其中就存在部分會(huì)員在獲得消費(fèi)點(diǎn)后,因某些原因長期未能進(jìn)行消費(fèi),但仍要對(duì)他們的消費(fèi)點(diǎn)進(jìn)行管理,這就給整個(gè)管理系統(tǒng)帶來了負(fù)擔(dān),同時(shí)也占用了很多不必要的資源,無形中增大了管理的成本。為了解決這個(gè)問題,就需要建立一個(gè)模塊來定期檢查會(huì)員消費(fèi)情況,對(duì)限定時(shí)間內(nèi)未消費(fèi)的用戶進(jìn)行積分失效處理,以節(jié)約系統(tǒng)資源,同時(shí),也在一定程度上刺激會(huì)員消費(fèi)。把握市場動(dòng)向,提高銷售利潤是企業(yè)的最終目標(biāo)。在企業(yè)管理日趨科學(xué)化的今天,如

10、何準(zhǔn)確及時(shí)地進(jìn)行生產(chǎn)經(jīng)營決策是銷售企業(yè)面臨的嚴(yán)峻問題。要求決策者準(zhǔn)確及時(shí)地捕捉到銷售信息,分析銷售情況,隨時(shí)根據(jù)歷史的銷售情況,對(duì)下一步的生產(chǎn)經(jīng)營科學(xué)地進(jìn)行決策。銷售分析需要大量的基礎(chǔ)數(shù)據(jù),但是如果將原始的銷售信息直接用于分析又會(huì)給分析工作帶來很大不便,是效率無法提高。因此就需要將原始銷售信息進(jìn)行整理,處理成決策分析所需的數(shù)據(jù)資料,進(jìn)行保存。2.2 系統(tǒng)分析2.2.1 系統(tǒng)構(gòu)成 硬件需求:計(jì)算機(jī)一臺(tái) 操作系統(tǒng):windows 2000(日文) 開發(fā)語言:java 開發(fā)工具:eclipse 數(shù)據(jù)庫:microsoft sql server 2000 其他軟件:microsoft sql serv

11、er 2000 driver for jdbc service,subversion(svn)1.302.2.2 系統(tǒng)模塊 積分失效從會(huì)員信息表中,找出一年前注冊(cè),當(dāng)前點(diǎn)數(shù)不為0,且一年內(nèi)未進(jìn)行消費(fèi)的用戶,對(duì)其積分進(jìn)行清零處理。 數(shù)據(jù)分析對(duì)每日pos消費(fèi)記錄文件進(jìn)行數(shù)據(jù)處理,生成用于外部數(shù)據(jù)分析的明細(xì)文件2.2.3 系統(tǒng)數(shù)據(jù)分析會(huì)員數(shù)據(jù):包括會(huì)員的基本信息數(shù)據(jù)(入會(huì)日期,會(huì)員編碼,姓名,住址,聯(lián)系電話,出生年月日,會(huì)員種類,入會(huì)店鋪編碼等等);積分?jǐn)?shù)據(jù):包括積分卡基本信息數(shù)據(jù)(會(huì)員編碼,現(xiàn)在積分點(diǎn),累計(jì)積分點(diǎn),輸出累計(jì)積分點(diǎn),增加累計(jì)積分點(diǎn),基本累計(jì)積分點(diǎn),購買次數(shù),購買累計(jì)金額等等);店鋪數(shù)

12、據(jù):包括店鋪基本信息數(shù)據(jù)(店鋪編碼,店鋪名稱,dominant編碼,住址,聯(lián)系電話等等);用于進(jìn)行數(shù)據(jù)分析處理的原始銷售信息存放于一個(gè)名為fsp_efi010.dat的文件中,其數(shù)據(jù)格式如表1所示:表1 原始銷售信息文件數(shù)據(jù)格式數(shù)據(jù)名稱數(shù)據(jù)字段長度(位)店鋪code6terminal no6交易序列號(hào)5交易日期8交易時(shí)間2會(huì)員no13jan code13商品名稱不定消費(fèi)點(diǎn)數(shù)3消費(fèi)金額6會(huì)員價(jià)格4退貨交易1折扣價(jià)4貼現(xiàn)價(jià)4按比例折扣價(jià)4按比例貼現(xiàn)價(jià)4按比例m&m值4gp code4部門 code63 設(shè)計(jì)工程3.1 外部設(shè)計(jì)(概要設(shè)計(jì))3.1.1 數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫表結(jié)構(gòu)的設(shè)計(jì)在每一個(gè)開發(fā)項(xiàng)目中都

13、是非常重要的一個(gè)部分,數(shù)據(jù)庫表設(shè)計(jì)的好壞直接關(guān)系到開發(fā)過程中代碼實(shí)現(xiàn)的功能強(qiáng)大與否,是否包含齊備客戶所需求的功能。因此現(xiàn)在來介紹該模塊所用到的數(shù)據(jù)庫表的詳細(xì)設(shè)計(jì)。各數(shù)據(jù)表定義如表2所示表2 數(shù)據(jù)表定義序號(hào)表參數(shù)名表名說明1fsptb_member記錄會(huì)員基本信息2fsptb_member_status記錄會(huì)員狀態(tài)信息3fsptb_point記錄會(huì)員點(diǎn)數(shù)基本信息4fsptb_point_jnl記錄會(huì)員點(diǎn)數(shù)更新履歷5fsptb_point_rireki記錄會(huì)員當(dāng)日消費(fèi)點(diǎn)數(shù)信息表3 fsptb_member(會(huì)員)主鍵列(屬性)名中文名稱類型寬度是否允許為空member_code會(huì)員編碼char13

14、not nullnyukai_ymd入會(huì)年月日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(市內(nèi))char8not nulltel_bango_1電話1(其它)char8not nulltel_shigai_2電話2(市外)char8not nulltel_shinai_2電話2

15、(市內(nèi))char8not nulltel_bango_2電話3(其它)char8not nulltel_shigai_3電話3(市外)char8not nulltel_shinai_3電話3(市內(nèi))char8not nulltel_bango_3電話3(其它)char8not nullbirth_day出生年月日char8nullmember_kbn會(huì)員種類char1nullfm_kbn性別char1nullmember_zip郵政編碼char8not nulladdr_1地址1char32not nulladdr_2地址2char48not nulladdr_3地址3char48not nu

16、lladdr_4地址4char48not nullnyukai_tenpo入會(huì)的店鋪編碼char6nullmukou_kbn起效種類char1nullhold_code家庭所屬代碼char13nulladd_ymdhms注冊(cè)時(shí)間char14nulladd_tantou注冊(cè)負(fù)責(zé)人idchar6nullupd_ymdhms更新時(shí)間char14nullupd_tantou更新負(fù)責(zé)人idchar6null表4 fsptb_member_status(會(huì)員狀態(tài))主鍵列(屬性)名中文名稱類型寬度是否允許為空member_code會(huì)員編碼char13not nullold_member_code舊會(huì)員編碼c

17、har13nulldominant_code優(yōu)先級(jí)別編碼char3not nulltenpo_code店鋪號(hào)碼char6not nullold_dominant_code舊優(yōu)先級(jí)別編碼char3not nullold_tenpo_code舊店鋪編碼char6not nullupd_kbn更新種類char1nullmsts_auto_id記錄番號(hào)numeric15null表5 fsptb_point(積分)主鍵列(屬性)名中文名稱類型寬度是否允許為空member_code會(huì)員編碼char13not nullold_member_code舊會(huì)員編碼char13nullyutai_rank優(yōu)惠等級(jí)c

18、har2nullnow_point現(xiàn)在積分點(diǎn)98nullruikei_point累計(jì)積分點(diǎn)98nullout_ruikei_point支出的累計(jì)積分點(diǎn)98nulladd_ruikei_point增加的累計(jì)積分點(diǎn)98nullkihon_ruikei_point基本累計(jì)積分點(diǎn)98nullbonus_ruikei_point獎(jiǎng)勵(lì)累計(jì)積分點(diǎn)98nullkaiage_r最后交易時(shí)間char8nulltuki_kaiage_m每月交易金額910nullbefore_tuki_kaiage_m上月交易金額910nullkaiage_f交易次數(shù)95nullkaiage_m交易金額910nullmember_w

19、aribiki_m打折累計(jì)金額910nullkounyu_m購買金額910nullmukou_kbn起效種類char1nulladd_ymdhms登陸時(shí)間char14nulladd_tantou登陸負(fù)責(zé)人idchar6nullupd_ymdhms更新時(shí)間char14nullupd_tantou更新負(fù)責(zé)人idchar6nullsystem_upd_ymdhms系統(tǒng)更新時(shí)間char14null表6 fsptb_point_jnl(積分更新記錄)主鍵列(屬性)名中文名稱類型寬度是否允許為空tenpo_code店舗codechar6not nullmember_code會(huì)員codechar13not

20、nullclient_no顧客nochar8not nulladd_point_b當(dāng)日追加point(更新前)96not nullout_point_b當(dāng)日支出point(更新前)96not nullnow_point_b現(xiàn)在point(更新前)98not nullbonus_point_b當(dāng)日獎(jiǎng)勵(lì)point(更新前)98not nullout_kaiage_m_b當(dāng)日減算金額(更新前)910not nulladd_kaiage_m_b當(dāng)日加算金額(更新前)910not nulltuki_kaiage_m_b月購買金額(更新前)910not nulladd_point_a當(dāng)日追加point(更

21、新后)96not nulladd_riyu_code追加理由codechar2not nullout_point_a當(dāng)日支出point(更新后)96not nullout_riyu_code支出理由codechar2not nullnow_point_a現(xiàn)在point(更新后)98not nullbonus_point_a當(dāng)日獎(jiǎng)勵(lì)point(更新后)98not nullout_kaiage_m_a當(dāng)日減算金額(更新后)910not nulladd_kaiage_m_a當(dāng)日加算金額(更新后)910not nulltuki_kaiage_ma月購買金額(更新后)910not nullkurikos

22、hi_point轉(zhuǎn)入point98not nulltoday_point本日最終point98not nullupd_ymdhms更新日期char14not nullupd_tantou擔(dān)當(dāng)者codechar6not nulljnl_auto_id記錄idnumeric15not null表7 fsptb_point_rireki(積分當(dāng)日消費(fèi)記錄)主鍵列(屬性)名中文名稱類型寬度是否允許為空member_code會(huì)員codechar13not nullymd日期char8not nullyutai_rank優(yōu)待等級(jí)char2nullkihon_point當(dāng)日基本point96nullbonu

23、s_point當(dāng)日獎(jiǎng)勵(lì)point96nulladd_point當(dāng)日追加point96nullout_point當(dāng)日支出point96nullnow_point現(xiàn)在point98not nullupd_ymdhms更新日期char14not nullupd_tantou擔(dān)當(dāng)者codechar6null3.1.2 數(shù)據(jù)流程圖fsptb_point_jnlfsptb_point_rirekifsptb_pointfsptb_memberfsptb_member_statusfsptb_log積分失效模塊csv圖1 積分失效處理流圖fsp_efi010.datposyyyymmddxx.dat分析數(shù)據(jù)

24、作成模塊fsptb_log圖2 數(shù)據(jù)分析模塊流圖圖形注釋: :數(shù)據(jù)文件 :數(shù)據(jù)庫表 :功能模塊 :數(shù)據(jù)流圖3 注釋圖3.2 內(nèi)部設(shè)計(jì)(詳細(xì)設(shè)計(jì))3.2.1 積分失效詳細(xì)代碼設(shè)計(jì)1) 程序初期設(shè)定。如果出現(xiàn)錯(cuò)誤,輸出錯(cuò)誤信息,程序結(jié)束。2) 輸出開始日志記錄。(1)如果出現(xiàn)錯(cuò)誤,程序結(jié)束。(2)否則,取得系統(tǒng)前一年日期。3) 處理日期check。(1)讀入初始設(shè)定的會(huì)員信息數(shù)據(jù)文件。 如果出現(xiàn)錯(cuò)誤,輸出錯(cuò)誤信息,程序結(jié)束。 否則,取得point實(shí)效日期。(2)設(shè)定會(huì)員信息數(shù)據(jù)文件。 系統(tǒng)日期不是point實(shí)效處理日期的場合,輸出信息,程序結(jié)束。4) point實(shí)效處理。 csv文件讀入。(1)

25、如果出現(xiàn)錯(cuò)誤,輸出錯(cuò)誤信息,程序結(jié)束。 (2) 取得文件名。(3) 打開csv文件。 point失效對(duì)象抽出(1)(1) 從fsptb_point中讀取會(huì)員code。條件:最后購買日期在一年前&現(xiàn)在point不為0。 失效區(qū)分有效。(2) 抽出失效區(qū)分有效數(shù)據(jù)。 point失效對(duì)象抽出(2)(1) 從fsptb_point和fsptb_member中讀取會(huì)員code。條件:會(huì)員code匹配;入會(huì)日期在一年以前;失效區(qū)分有效;買入次數(shù)為0;現(xiàn)在point不為0。(2) 返回值不為空。 各表的更新處理(1) 從fsptb_point中取出匹配會(huì)員的數(shù)據(jù)。 條件:會(huì)員編號(hào)是匹配會(huì)員編號(hào)。(2) 匹配

26、會(huì)員的point信息更新。參照“point信息項(xiàng)目移動(dòng)表”。(3) 從fsptb_member中取出匹配會(huì)員的數(shù)據(jù)。條件:會(huì)員編號(hào)是匹配會(huì)員編。a) 匹配用戶數(shù)據(jù)的店鋪code為null的場合。 輸出信息,處理終止。b) 否則,取得店鋪code。(4) 從fsptb_point_rireki中取出匹配會(huì)員的point履歷信息數(shù)據(jù)。條件:會(huì)員編號(hào)是匹配會(huì)員編號(hào);日期在系統(tǒng)日期之前。a) 如果出現(xiàn)錯(cuò)誤,輸出錯(cuò)誤信息,程序結(jié)束。 (5) 在fsptb_point_jnl中追加數(shù)據(jù)。a) 匹配用戶的point更新日志不存在。 參照“point更新日志新建項(xiàng)目移動(dòng)表”。b) 匹配用戶的point更新日志

27、存在。參照“point更新日志更新項(xiàng)目移動(dòng)表”。(6) fsptb_point_rireki的追加更新。條件:會(huì)員編號(hào)是匹配會(huì)員編號(hào);日期在系統(tǒng)日期之前。a) 通過(4)取得的point履歷是eof的情況,新追加point履歷。參照“point履歷(追加)項(xiàng)目移動(dòng)表”。b) 通過(4)取得的point履歷不是eof的情況,存儲(chǔ)初始狀態(tài),并更新,參照“point履歷(更新)項(xiàng)目移動(dòng)表”。(7) 在fsptb_point中檢索匹配的用戶數(shù)據(jù)。條件:用戶code是匹配用戶code;(8) 不是eof的情況,程序結(jié)束。(9) 如果是eof ,在fsptb_member追加新的數(shù)據(jù)。參照“用戶數(shù)據(jù)項(xiàng)目移

28、動(dòng)表”。(10) csv文件數(shù)據(jù)輸出。參照“csv文件項(xiàng)目移動(dòng)表”。5) 輸出結(jié)束日志。表8 point信息項(xiàng)目移動(dòng)表移動(dòng)表名稱移動(dòng)操作地址名稱afsptb_pointpoint信息項(xiàng)目移動(dòng)表bcd編輯項(xiàng)目名稱原項(xiàng)目名稱abcd移動(dòng)方式現(xiàn)在point0消費(fèi)累計(jì)point消費(fèi)累計(jì)point當(dāng)前point擔(dān)當(dāng)者codenull系統(tǒng)更新時(shí)間執(zhí)行操作時(shí)系統(tǒng)時(shí)間表9 point更新日志新建項(xiàng)目移動(dòng)表移動(dòng)表名稱移動(dòng)操作地址名稱afsptb_memberpoint更新日志新建項(xiàng)目移動(dòng)表bfsptb_pointcd編輯項(xiàng)目名稱原項(xiàng)目名稱abcd移動(dòng)方式店鋪code店鋪codeyfsptb_member的店舗c

29、ode的右3位數(shù)的值 小于10的情況,該值加5個(gè)空格。 小于100的情況,該值加4個(gè)空格。 大于100的情況,該值加3個(gè)空格。會(huì)員code會(huì)員codey同項(xiàng)目顧客null當(dāng)日追加point(更新前)0當(dāng)日支出point(更新前)0現(xiàn)在point(更新前)現(xiàn)在pointy同項(xiàng)目當(dāng)日獲贈(zèng)point(更新前)0當(dāng)日減算金額(更新前)0當(dāng)日加算金額(更新前)0月中購買金額(更新前)0當(dāng)日追加point(更新后)0追加理由codenull當(dāng)日追加point(更新后)現(xiàn)在pointy同項(xiàng)目支出理由code“04”現(xiàn)在point(更新后)0當(dāng)日獎(jiǎng)勵(lì)point(更新后)0當(dāng)日減算金額(更新后)0當(dāng)日加算金額(

30、更新后)0月中購買金額(更新后)0轉(zhuǎn)入point0本日最終point0更新時(shí)間當(dāng)前的時(shí)間執(zhí)行者codenull記錄號(hào)自動(dòng)獲取表10 point更新日志更新項(xiàng)目移動(dòng)表移動(dòng)表名稱移動(dòng)操作地址名稱afsptb_memberpoint更新日志更新項(xiàng)目移動(dòng)表bfsptb_pointcfsptb_point_rirekid編輯項(xiàng)目名稱原項(xiàng)目名稱abcd移動(dòng)方式店鋪code店鋪codeyfsptb_member的店舗的右3位數(shù)的值 小于10的情況,該值加5個(gè)空格。 小于100的情況,該值加4個(gè)空格。 大于100的情況,該值加3個(gè)空格。會(huì)員code會(huì)員codey同項(xiàng)目顧客null當(dāng)日追加point(更新前)當(dāng)

31、日追加pointy同項(xiàng)目當(dāng)日支出point(更新前)當(dāng)日支出pointy同項(xiàng)目現(xiàn)在point(更新前)現(xiàn)在point(y同項(xiàng)目當(dāng)日獲贈(zèng)point(更新前)當(dāng)日獲贈(zèng)pointy同項(xiàng)目當(dāng)日減算金額(更新前)0當(dāng)日加算金額(更新前)0月中購買金額(更新前)0當(dāng)日追加point(更新后)同項(xiàng)目追加理由codenull當(dāng)日追加point(更新后)當(dāng)日追加pointy同項(xiàng)目支出理由code“04”現(xiàn)在point(更新后)0當(dāng)日獎(jiǎng)勵(lì)point(更新后)0當(dāng)日減算金額(更新后)0當(dāng)日加算金額(更新后)0月中購買金額(更新后)0轉(zhuǎn)入point0本日最終point0更新時(shí)間前一日的時(shí)間執(zhí)行者codenull記錄號(hào)

32、自動(dòng)獲取表11 point履歷(追加)項(xiàng)目移動(dòng)表移動(dòng)表名稱移動(dòng)操作地址名稱afsptb_memberpoint履歷(追加)項(xiàng)目移動(dòng)表bfsptb_pointcd編輯項(xiàng)目名稱原項(xiàng)目名稱abcd移動(dòng)方式會(huì)員code會(huì)員codey同項(xiàng)目日期執(zhí)行時(shí)的時(shí)間優(yōu)待等級(jí)號(hào)優(yōu)待等級(jí)號(hào)y同項(xiàng)目當(dāng)日基本point0當(dāng)日獎(jiǎng)勵(lì)point0當(dāng)日追加point0當(dāng)日支出point現(xiàn)在pointy同項(xiàng)目現(xiàn)在point0更新時(shí)間執(zhí)行時(shí)時(shí)間執(zhí)行者codenull表12 point履歷(更新)項(xiàng)目移動(dòng)表移動(dòng)表名稱移動(dòng)操作地址名稱afsptb_memberpoint履歷(更新)項(xiàng)目移動(dòng)表bcd編輯項(xiàng)目名稱原項(xiàng)目名稱abcd移動(dòng)方式當(dāng)

33、日支出pointy當(dāng)日支出point現(xiàn)在point現(xiàn)在point0執(zhí)行者codeynull更新日期執(zhí)行操作時(shí)的日期表13用戶數(shù)據(jù)項(xiàng)目移動(dòng)表移動(dòng)表名稱移動(dòng)操作地址名稱afsptb_member用戶數(shù)據(jù)項(xiàng)目移動(dòng)表bcd編輯項(xiàng)目名稱原項(xiàng)目名稱abcd移動(dòng)方式會(huì)員codey同項(xiàng)目舊會(huì)員codenulldominant codenull店鋪code店鋪code同項(xiàng)目舊dominant codenull舊店鋪codenull更新區(qū)分“1”記錄號(hào)自動(dòng)獲取3.2.2 數(shù)據(jù)分析模塊詳細(xì)代碼設(shè)計(jì)1) 初期處理。(1)共通文件(ini)取得。如存在錯(cuò)誤,輸出錯(cuò)誤信息,程序結(jié)束。(2)輸出開始日志。2) 分析用pos

34、明細(xì)文件作成。(1)文件檢查處理。. 檢查pos明細(xì)文件路徑。如果不存在,輸出錯(cuò)誤日志,程序結(jié)束。. 生成pos明細(xì)文件。如果超過99個(gè),直接跳轉(zhuǎn)到步驟3。. 檢查pos項(xiàng)目信息文件路徑。如果不存在,輸出錯(cuò)誤日志,程序結(jié)束。. 檢查pos項(xiàng)目信息文件。如果不存在,輸出錯(cuò)誤日志,程序結(jié)束。(2)讀取pos項(xiàng)目信息文件。 當(dāng)數(shù)據(jù)讀完,結(jié)束。 (3)pos明細(xì)文件code作成。(4)參照“項(xiàng)目數(shù)據(jù)移動(dòng)表”。3) 結(jié)束處理。輸出結(jié)束日志。表14項(xiàng)目數(shù)據(jù)移動(dòng)表移動(dòng)表名稱移動(dòng)操作地址名稱afsp_efi010.dat項(xiàng)目數(shù)據(jù)移動(dòng)表bcd編輯項(xiàng)目名稱原項(xiàng)目名稱abcd移動(dòng)方式record區(qū)分record區(qū)分

35、y同項(xiàng)目店鋪code店鋪codey同項(xiàng)目register noterminal noy店鋪code店鋪codey同項(xiàng)目receipt no購買編號(hào)y購買日期購買日期y同項(xiàng)目購買時(shí)間購買時(shí)間y同項(xiàng)目會(huì)員code會(huì)員codey同項(xiàng)目商品分類號(hào)1大分類號(hào)yjan code的左12位商品分類號(hào)2中分類號(hào)yjan code的左34位商品分類號(hào)3小分類號(hào)yjan code的左57位商品分類號(hào)4細(xì)分類號(hào)yjan code的左813位擴(kuò)充預(yù)留“0”jan codey如果fsp_efi010.dat中的jancode=0000000000000, jancode=9999999code的右2位部門code的右4

36、位.否則, jancode等于fsp_efi010.dat中jancode商品名商品名y同項(xiàng)目購買點(diǎn)數(shù)購買點(diǎn)數(shù)y同項(xiàng)目購買金額yfsp_efi010.dat中的消費(fèi)金額折扣價(jià)貼現(xiàn)價(jià)按比例折扣價(jià)按比例貼現(xiàn)價(jià)按比例m&m值折扣價(jià)0000000特價(jià)區(qū)分fsp_efi010.dat中的會(huì)員價(jià)格不等于0則設(shè)為“1”,否則設(shè)為“0”內(nèi)稅符號(hào)gpcode的右2位=“90”且購買點(diǎn)數(shù)=“000”且部門code的右4位=“9701”或“9702”或“9703”,則置“1”; 退貨交易=”1”或者購買金額的計(jì)算結(jié)果0,則置“1”;其他情況置位空格原價(jià)000000備注兩個(gè)空格4 制造工程4.1 開發(fā)環(huán)境開發(fā)環(huán)境為e

37、clipse3.2,jdk包采用版本為jdk1.5.0_06。obdc數(shù)據(jù)源為tokyosuper。數(shù)據(jù)庫登錄帳號(hào):sa ;密碼:123456。4.2 程序開發(fā)4.2.1 程序流程圖圖4 積分失效模塊流程圖圖5 數(shù)據(jù)分析模塊模塊流程圖4.2.2 建立jdbc-odbc橋接器try class.forname(sun.jdbc.odbc.jdbcodbcdriver);/*注冊(cè)數(shù)據(jù)庫驅(qū)動(dòng)程序?yàn)?sql jdbc-odbc驅(qū)動(dòng)*/ catch (classnotfoundexception e) /*如無法找到該驅(qū)動(dòng),則捕獲異常,并輸出錯(cuò)誤*/ todo auto-generated catch

38、blocke.printstacktrace();4.2.3 讀取ini文件ini文件中記錄了本系統(tǒng)中所有數(shù)據(jù)文件的存儲(chǔ)地址。因此,在開始模塊編碼前,一定要先讀取該文件。專門建立一個(gè)類iniread.java來實(shí)現(xiàn)各種功能。具體如下:成員變量:filereader inojb; /創(chuàng)建一個(gè)用來讀取字符文件的對(duì)象bufferedreader br;/創(chuàng)建一個(gè)使用默認(rèn)大小輸入緩沖區(qū)的緩沖字符輸入流。connection con;/與特定數(shù)據(jù)庫的連接statement stmt;/用于執(zhí)行靜態(tài) sql 語句并返回它所生成結(jié)果的對(duì)象string url;/定義數(shù)據(jù)源名string user;/定義數(shù)據(jù)

39、源的login namestring password;/定義數(shù)據(jù)源的密碼/*構(gòu)造方法(參數(shù)是為了進(jìn)行數(shù)據(jù)庫連接,在讀取ini文件過程中如出現(xiàn)錯(cuò)誤則將錯(cuò)誤 日志輸入數(shù)據(jù)庫的log表)*/iniread(string url,string user,string password)inojb=new filereader(fsp.ini);br=new bufferedreader(inojb); /*此方法用于獲取數(shù)據(jù)文件在服務(wù)器上的地址,參數(shù)是數(shù)據(jù)文件名*/public string getaddress(string a)str=br.readline();/讀取ini文件中的一行4.2.

40、4 對(duì)數(shù)據(jù)庫操作/向數(shù)據(jù)庫插入一條數(shù)據(jù),此處temp除可進(jìn)行插入操作外,還能進(jìn)行更新,刪除操作string url=jdbc:odbc:tokyosuper;/定義數(shù)據(jù)源名string user=sa;/定義數(shù)據(jù)源的login namestring password=123456;/定義數(shù)據(jù)源的密碼string temp=insert into fsptb_log(p_sel,p_msg,p_appnm,p_funcnm,p_jobnm,p_errdetail,p_inifile) values(l,讀取文件錯(cuò)誤,查找的地址不存在,iniread ,iniread ,fsp.ini讀取出錯(cuò),f

41、sp.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();/在數(shù)據(jù)庫中查詢數(shù)據(jù)查詢的結(jié)果全部存放于resultset的對(duì)象中,利用next方法可以讀取結(jié)果集的第一行,以后每執(zhí)行一次,向下跳轉(zhuǎn)一行。getxxx方法可以獲得結(jié)果集中的某一項(xiàng)其中xxx

42、為該項(xiàng)的屬性,如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

43、auto-generated catch blocke.printstacktrace();4.2.5 對(duì)文件操作/判斷文件路徑或文件是否存在,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 = n

44、ew bufferedreader(fr);str=inojb.readline();while(str!=null)/打開文件寫入數(shù)據(jù)string address=file.getpath();filewriter fw;try fw = new filewriter(address,true);/打開address所表示的文件,ture表示在該文件末尾寫入數(shù)據(jù),而非文件的開始處bufferedwriter out=new bufferedwriter(fw);/從新的一行開始寫入out.newline();/寫入新的一行信息out.write(str,0,str.length();out.

45、close();fw.close(); catch (ioexception e) / todo auto-generated catch blocke.printstacktrace();5 測試工程5.1 測試準(zhǔn)備本系統(tǒng)屬于一款商務(wù)應(yīng)用型軟件,因此,對(duì)各種可能出現(xiàn)的錯(cuò)誤情況要有很高的檢測能力,并進(jìn)行響應(yīng)處理。所以,在軟件開發(fā)完成后,為了檢驗(yàn)是否達(dá)到客戶要求需要進(jìn)行全面的測試,包括程序的邏輯處理,輸入/輸出處理,邊界條件判斷,異常處理等。在進(jìn)行測試前,應(yīng)針對(duì)上述各情況填寫一份全面的單元測試檢測清單。5.1.1 積分失效模塊單元檢測表表 15 積分失效模塊單元檢測表項(xiàng)目名稱point失效項(xiàng)目標(biāo)

46、記名fspb1400測試編號(hào)測試內(nèi)容測試結(jié)果*異常測試*共通文件(ini)取得*1ini文件不存在的場合向數(shù)據(jù)庫日志表輸出”ini文件地址錯(cuò)誤?!毕?。程序結(jié)束2ini文件打開出錯(cuò),或ini文件不可打開向數(shù)據(jù)庫日志表輸出”ini文件地址錯(cuò)誤。”消息。程序結(jié)束3在ini文件中,文件地址、標(biāo)記值、內(nèi)容值不存在向數(shù)據(jù)庫日志表輸出”ini設(shè)定錯(cuò)誤?!毕ⅰ3绦蚪Y(jié)束4point失效處理日期取得錯(cuò)誤向數(shù)據(jù)庫日志表輸出”非失效處理日期?!毕?。程序結(jié)束*csv文件準(zhǔn)備處理*5無法取得csv文件名向數(shù)據(jù)庫日志表輸出”point失效處理失敗?!毕?。程序結(jié)束6無法打開csv文件向數(shù)據(jù)庫日志表輸出”point失效處理失敗?!毕?。程序結(jié)束*數(shù)據(jù)庫更新處理時(shí)共通錯(cuò)誤*7各表更新處理時(shí)出錯(cuò)向數(shù)據(jù)庫日志表輸出”point失效處理失敗?!毕?。程序結(jié)束*檢索、獲取數(shù)據(jù)時(shí)錯(cuò)誤*8店鋪code取得錯(cuò)誤向數(shù)據(jù)庫日志表輸出“ 店鋪code未設(shè)定,會(huì)員

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論