某店P(guān)OS積分管理系統(tǒng)畢業(yè)設(shè)計論文_第1頁
某店P(guān)OS積分管理系統(tǒng)畢業(yè)設(shè)計論文_第2頁
某店P(guān)OS積分管理系統(tǒng)畢業(yè)設(shè)計論文_第3頁
某店P(guān)OS積分管理系統(tǒng)畢業(yè)設(shè)計論文_第4頁
某店P(guān)OS積分管理系統(tǒng)畢業(yè)設(shè)計論文_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、畢業(yè)設(shè)計(論文)某店pos積分管理系統(tǒng)積分失效與數(shù)據(jù)分析模塊的實現(xiàn)論文作者姓名:申請學(xué)位專業(yè):申請學(xué)位類別:指導(dǎo)教師姓名(職稱):論文提交日期:某店pos積分管理系統(tǒng)積分失效與數(shù)據(jù)分析模塊的實現(xiàn)摘 要開發(fā)一個大而復(fù)雜的pos積分管理軟件系統(tǒng),將它進行適當(dāng)?shù)姆纸?,不但可以降低其?fù)雜性,還可以減少開發(fā)工作量,降低開發(fā)成本,提高軟件生產(chǎn)率。其中, 積分失效處理,是為了刺激客戶消費,對于一年以內(nèi)未購買任何商品的會員,對其積分進行清除處理。數(shù)據(jù)處理模塊,是對商品銷售金額等具體數(shù)據(jù)進行計算處理,以方便企業(yè)對各類型商品銷售情況等進行數(shù)據(jù)分析。作為商務(wù)用軟件,錯誤檢測機制尤為重要。因此,在模塊開發(fā)時應(yīng)考慮到各

2、種實發(fā)情況的出現(xiàn),并做出相應(yīng)處理。在完成程序開發(fā)后,需作成單元檢測清單(pcl),并進行測試,驗證軟件的有效性,發(fā)現(xiàn)并修補缺陷,以提高軟件質(zhì)量,確保開發(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 integr

3、al failures and data analysis modules.integral failures, the members who 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 commoditie

4、s, such as sales of data analysis. development of modules that should be 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 al

5、so needed. key words: integral management system; integral failure; data analysis; program check list 目 錄論文總頁數(shù):30頁積分失效與數(shù)據(jù)分析模塊的實現(xiàn)01引言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è)計工程33.1外部設(shè)計(概要設(shè)計)33.1.1數(shù)據(jù)庫設(shè)計33.1.2數(shù)據(jù)流程圖73.2內(nèi)部設(shè)計(詳細(xì)設(shè)計)83.2.1積分失效詳細(xì)代碼設(shè)計83.2.2數(shù)據(jù)分析模塊詳細(xì)代碼設(shè)計

6、134制造工程144.1開發(fā)環(huán)境144.2程序開發(fā)154.2.1程序流程圖154.2.2建立jdbc-odbc橋接器174.2.3讀取ini文件174.2.4對數(shù)據(jù)庫操作184.2.5對文件操作195測試工程205.1測試準(zhǔn)備205.1.1積分失效模塊單元檢測表205.1.2分析用pos明細(xì)作成模塊單元檢測表235.2測試實施245.2.1測試頁面截圖245.2.2測試結(jié)果數(shù)據(jù)26結(jié) 論27參考文獻28致 謝29聲 明301 引言1.1 課題背景隨著社會科學(xué)技術(shù)突飛猛進的發(fā)展,計算機的應(yīng)用已經(jīng)普及到經(jīng)濟和社會的各個領(lǐng)域。長期以來人們所使用的傳統(tǒng)的單純憑借人力進行管理的銷售方式,已經(jīng)無法適應(yīng)當(dāng)今

7、社會的現(xiàn)狀,同時也存在著很多弊端,如成本較高、安全性低、效率難以提高等。因此,作為計算機應(yīng)用的一個方面,利用其強大的運算能力,進行銷售管理具有無法替代的優(yōu)勢。其高效、可靠、穩(wěn)定等優(yōu)點已得到了消費者和銷售企業(yè)一致的好評。1.2 選題意義不同類型的銷售行業(yè)有自己的特點,對于零售業(yè)而言,是一個成本敏感,同時具有大規(guī)模的分布性和靈活多變的特點。因此,如何處理好在一個高度分布的網(wǎng)絡(luò)環(huán)境中,多種軟硬件平臺的管理、部署和升級,適應(yīng)實際的需求變化,為用戶提供一種可靠的低成本運作模式,成為零售業(yè)解決方案成功的關(guān)鍵。針對這一情況,希望研究出一套pos積分管理系統(tǒng),用來對商品銷售情況、會員消費情況、分店經(jīng)營情況等信

8、息進行系統(tǒng)高效的管理。降低甚至消除不必要的成本和費用,給客戶帶來更大效益。而本課題的研究正是要在這個系統(tǒng)之下開發(fā)出積分失效和數(shù)據(jù)分析兩個模塊。其中積分失效模塊對一年內(nèi)未購買任何物品的會員,進行積分過期失效處理。這樣做可以刺激用戶消費,提高銷售業(yè)績。而數(shù)據(jù)分析模塊則是對商品銷售信息進行分析,對各種類型的商品銷售情況,銷售利潤做成數(shù)據(jù)資料以供外部分析使用。1.3 研究方法作為以java語言為基礎(chǔ)的商務(wù)型軟件,此次研究主要采用面向?qū)ο蟮姆椒ㄟM行軟件開發(fā)。盡可能模擬人類習(xí)慣的思維方式來分析和解決問題,保證軟件系統(tǒng)的穩(wěn)定性和可復(fù)用性以及良好的維護性。在程序中,采用了jdbcodbc橋的方式,進行數(shù)據(jù)庫連

9、接。另外,由于是商務(wù)軟件,就要考慮到用戶在使用該系統(tǒng)時有可能出現(xiàn)的各種錯誤,并針對這些錯誤制定出解決的方案。整個開發(fā)過程分為四個部分,包括分析工程、設(shè)計工程、制造工程、測試工程。下面將詳細(xì)對上述過程進行細(xì)致的描述。2 分析工程2.1 需求分析由于該百貨店實行會員管理模式,每個會員都有代金消費點數(shù),其中就存在部分會員在獲得消費點后,因某些原因長期未能進行消費,但仍要對他們的消費點進行管理,這就給整個管理系統(tǒng)帶來了負(fù)擔(dān),同時也占用了很多不必要的資源,無形中增大了管理的成本。為了解決這個問題,就需要建立一個模塊來定期檢查會員消費情況,對限定時間內(nèi)未消費的用戶進行積分失效處理,以節(jié)約系統(tǒng)資源,同時,也

10、在一定程度上刺激會員消費。把握市場動向,提高銷售利潤是企業(yè)的最終目標(biāo)。在企業(yè)管理日趨科學(xué)化的今天,如何準(zhǔn)確及時地進行生產(chǎn)經(jīng)營決策是銷售企業(yè)面臨的嚴(yán)峻問題。要求決策者準(zhǔn)確及時地捕捉到銷售信息,分析銷售情況,隨時根據(jù)歷史的銷售情況,對下一步的生產(chǎn)經(jīng)營科學(xué)地進行決策。銷售分析需要大量的基礎(chǔ)數(shù)據(jù),但是如果將原始的銷售信息直接用于分析又會給分析工作帶來很大不便,是效率無法提高。因此就需要將原始銷售信息進行整理,處理成決策分析所需的數(shù)據(jù)資料,進行保存。2.2 系統(tǒng)分析2.2.1 系統(tǒng)構(gòu)成 硬件需求:計算機一臺 操作系統(tǒng):windows 2000(日文) 開發(fā)語言:java 開發(fā)工具:eclipse 數(shù)據(jù)庫

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

12、點,累計積分點,輸出累計積分點,增加累計積分點,基本累計積分點,購買次數(shù),購買累計金額等等);店鋪數(shù)據(jù):包括店鋪基本信息數(shù)據(jù)(店鋪編碼,店鋪名稱,dominant編碼,住址,聯(lián)系電話等等);用于進行數(shù)據(jù)分析處理的原始銷售信息存放于一個名為fsp_efi010.dat的文件中,其數(shù)據(jù)格式如表1所示:表1 原始銷售信息文件數(shù)據(jù)格式數(shù)據(jù)名稱數(shù)據(jù)字段長度(位)店鋪code6terminal no6交易序列號5交易日期8交易時間2會員no13jan code13商品名稱不定消費點數(shù)3消費金額6會員價格4退貨交易1折扣價4貼現(xiàn)價4按比例折扣價4按比例貼現(xiàn)價4按比例m&m值4gp code4部門 code6

13、3 設(shè)計工程3.1 外部設(shè)計(概要設(shè)計)3.1.1 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫表結(jié)構(gòu)的設(shè)計在每一個開發(fā)項目中都是非常重要的一個部分,數(shù)據(jù)庫表設(shè)計的好壞直接關(guān)系到開發(fā)過程中代碼實現(xiàn)的功能強大與否,是否包含齊備客戶所需求的功能。因此現(xiàn)在來介紹該模塊所用到的數(shù)據(jù)庫表的詳細(xì)設(shè)計。各數(shù)據(jù)表定義如表2所示表2 數(shù)據(jù)表定義序號表參數(shù)名表名說明1fsptb_member記錄會員基本信息2fsptb_member_status記錄會員狀態(tài)信息3fsptb_point記錄會員點數(shù)基本信息4fsptb_point_jnl記錄會員點數(shù)更新履歷5fsptb_point_rireki記錄會員當(dāng)日消費點數(shù)信息表3 fsptb_mem

14、ber(會員)主鍵列(屬性)名中文名稱類型寬度是否允許為空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(市內(nèi))char8not nulltel_bango_1電話1(其它)char8not n

15、ulltel_shigai_2電話2(市外)char8not nulltel_shinai_2電話2(市內(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會員種類char1nullfm_kbn性別char1nullmember_zip郵政編碼char8not nulladdr_1地址1char32no

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

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

18、 nullold_member_code舊會員編碼char13nullyutai_rank優(yōu)惠等級char2nullnow_point現(xiàn)在積分點98nullruikei_point累計積分點98nullout_ruikei_point支出的累計積分點98nulladd_ruikei_point增加的累計積分點98nullkihon_ruikei_point基本累計積分點98nullbonus_ruikei_point獎勵累計積分點98nullkaiage_r最后交易時間char8nulltuki_kaiage_m每月交易金額910nullbefore_tuki_kaiage_m上月交易金額91

19、0nullkaiage_f交易次數(shù)95nullkaiage_m交易金額910nullmember_waribiki_m打折累計金額910nullkounyu_m購買金額910nullmukou_kbn起效種類char1nulladd_ymdhms登陸時間char14nulladd_tantou登陸負(fù)責(zé)人idchar6nullupd_ymdhms更新時間char14nullupd_tantou更新負(fù)責(zé)人idchar6nullsystem_upd_ymdhms系統(tǒng)更新時間char14null表6 fsptb_point_jnl(積分更新記錄)主鍵列(屬性)名中文名稱類型寬度是否允許為空tenpo_

20、code店舗codechar6not nullmember_code會員codechar13not 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)日獎勵point(更新前)98not nullout_kaiage_m_b當(dāng)日減算金額(更新前)910not nulladd_kaiage_m_b當(dāng)日加算金額(更新前)910not nulltuki_kai

21、age_m_b月購買金額(更新前)910not nulladd_point_a當(dāng)日追加point(更新后)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)日獎勵point(更新后)98not nullout_kaiage_m_a當(dāng)日減算金額(更新后)910not nulladd_kaiage_m_a當(dāng)日加算金額(更新后)910

22、not nulltuki_kaiage_ma月購買金額(更新后)910not nullkurikoshi_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)日消費記錄)主鍵列(屬性)名中文名稱類型寬度是否允許為空member_code會員codechar13not nullymd日期char8not nullyut

23、ai_rank優(yōu)待等級char2nullkihon_point當(dāng)日基本point96nullbonus_point當(dāng)日獎勵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積分失效模

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

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

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

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

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

29、移動方式店鋪code店鋪codeyfsptb_member的店舗code的右3位數(shù)的值 小于10的情況,該值加5個空格。 小于100的情況,該值加4個空格。 大于100的情況,該值加3個空格。會員code會員codey同項目顧客null當(dāng)日追加point(更新前)0當(dāng)日支出point(更新前)0現(xiàn)在point(更新前)現(xiàn)在pointy同項目當(dāng)日獲贈point(更新前)0當(dāng)日減算金額(更新前)0當(dāng)日加算金額(更新前)0月中購買金額(更新前)0當(dāng)日追加point(更新后)0追加理由codenull當(dāng)日追加point(更新后)現(xiàn)在pointy同項目支出理由code“04”現(xiàn)在point(更新后)0當(dāng)

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

31、de會員codey同項目顧客null當(dāng)日追加point(更新前)當(dāng)日追加pointy同項目當(dāng)日支出point(更新前)當(dāng)日支出pointy同項目現(xiàn)在point(更新前)現(xiàn)在point(y同項目當(dāng)日獲贈point(更新前)當(dāng)日獲贈pointy同項目當(dāng)日減算金額(更新前)0當(dāng)日加算金額(更新前)0月中購買金額(更新前)0當(dāng)日追加point(更新后)同項目追加理由codenull當(dāng)日追加point(更新后)當(dāng)日追加pointy同項目支出理由code“04”現(xiàn)在point(更新后)0當(dāng)日獎勵point(更新后)0當(dāng)日減算金額(更新后)0當(dāng)日加算金額(更新后)0月中購買金額(更新后)0轉(zhuǎn)入point0本

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

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

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

35、項目名稱原項目名稱abcd移動方式record區(qū)分record區(qū)分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細(xì)分類號yjan code的左813位擴充預(yù)留“0”jan codey如果fsp_efi010.dat中的jancode=0000000000000,

36、 jancode=9999999code的右2位部門code的右4位.否則, jancode等于fsp_efi010.dat中jancode商品名商品名y同項目購買點數(shù)購買點數(shù)y同項目購買金額yfsp_efi010.dat中的消費金額折扣價貼現(xiàn)價按比例折扣價按比例貼現(xiàn)價按比例m&m值折扣價0000000特價區(qū)分fsp_efi010.dat中的會員價格不等于0則設(shè)為“1”,否則設(shè)為“0”內(nèi)稅符號gpcode的右2位=“90”且購買點數(shù)=“000”且部門code的右4位=“9701”或“9702”或“9703”,則置“1”; 退貨交易=”1”或者購買金額的計算結(jié)果0,則置“1”;其他情況置位空格原

37、價000000備注兩個空格4 制造工程4.1 開發(fā)環(huán)境開發(fā)環(huán)境為eclipse3.2,jdk包采用版本為jdk1.5.0_06。obdc數(shù)據(jù)源為tokyosuper。數(shù)據(jù)庫登錄帳號:sa ;密碼:123456。4.2 程序開發(fā)4.2.1 程序流程圖圖4 積分失效模塊流程圖圖5 數(shù)據(jù)分析模塊模塊流程圖4.2.2 建立jdbc-odbc橋接器try class.forname(sun.jdbc.odbc.jdbcodbcdriver);/*注冊數(shù)據(jù)庫驅(qū)動程序為 sql jdbc-odbc驅(qū)動*/ catch (classnotfoundexception e) /*如無法找到該驅(qū)動,則捕獲異常,并

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

39、ring url;/定義數(shù)據(jù)源名string user;/定義數(shù)據(jù)源的login namestring password;/定義數(shù)據(jù)源的密碼/*構(gòu)造方法(參數(shù)是為了進行數(shù)據(jù)庫連接,在讀取ini文件過程中如出現(xiàn)錯誤則將錯誤 日志輸入數(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)s

40、tr=br.readline();/讀取ini文件中的一行4.2.4 對數(shù)據(jù)庫操作/向數(shù)據(jù)庫插入一條數(shù)據(jù),此處temp除可進行插入操作外,還能進行更新,刪除操作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,讀取文件錯誤,查找的地址不存

41、在,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();/在數(shù)據(jù)庫中查詢數(shù)據(jù)查詢的結(jié)果全部存放于resultset的對象中,利用next方法可以讀取結(jié)果集的第一行,以后每執(zhí)行一次

42、,向下跳轉(zhuǎn)一行。getxxx方法可以獲得結(jié)果集中的某一項其中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

43、); 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.g

44、etpath();bufferedreader inojb = new 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();/寫入新的一行信息

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

46、檢測表表 15 積分失效模塊單元檢測表項目名稱point失效項目標(biāo)記名fspb1400測試編號測試內(nèi)容測試結(jié)果*異常測試*共通文件(ini)取得*1ini文件不存在的場合向數(shù)據(jù)庫日志表輸出”ini文件地址錯誤?!毕?。程序結(jié)束2ini文件打開出錯,或ini文件不可打開向數(shù)據(jù)庫日志表輸出”ini文件地址錯誤。”消息。程序結(jié)束3在ini文件中,文件地址、標(biāo)記值、內(nèi)容值不存在向數(shù)據(jù)庫日志表輸出”ini設(shè)定錯誤?!毕ⅰ3绦蚪Y(jié)束4point失效處理日期取得錯誤向數(shù)據(jù)庫日志表輸出”非失效處理日期?!毕?。程序結(jié)束*csv文件準(zhǔn)備處理*5無法取得csv文件名向數(shù)據(jù)庫日志表輸出”point失效處理失敗?!毕?。程序結(jié)束6無法打開csv文件向數(shù)據(jù)庫日志表輸出”point失效處理失敗?!毕?。程序結(jié)束*數(shù)據(jù)庫更新處理時共通錯誤*7各表更新處理時出

溫馨提示

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

最新文檔

評論

0/150

提交評論