版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 某店P(guān)OS積分管理系統(tǒng)</p><p> ——積分失效與數(shù)據(jù)分析模塊的實(shí)現(xiàn)</p><p> 某店P(guān)OS積分管理系統(tǒng)</p><p> ——積分失效與數(shù)據(jù)分析模塊的實(shí)現(xiàn)</p><p><b> 摘 要</b></p><p> 開(kāi)發(fā)一個(gè)大而復(fù)雜的POS積分管理軟
2、件系統(tǒng),將它進(jìn)行適當(dāng)?shù)姆纸?,不但可以降低其?fù)雜性,還可以減少開(kāi)發(fā)工作量,降低開(kāi)發(fā)成本,提高軟件生產(chǎn)率。其中, 積分失效處理,是為了刺激客戶消費(fèi),對(duì)于一年以內(nèi)未購(gòu)買任何商品的會(huì)員,對(duì)其積分進(jìn)行清除處理。數(shù)據(jù)處理模塊,是對(duì)商品銷售金額等具體數(shù)據(jù)進(jìn)行計(jì)算處理,以方便企業(yè)對(duì)各類型商品銷售情況等進(jìn)行數(shù)據(jù)分析。作為商務(wù)用軟件,錯(cuò)誤檢測(cè)機(jī)制尤為重要。因此,在模塊開(kāi)發(fā)時(shí)應(yīng)考慮到各種實(shí)發(fā)情況的出現(xiàn),并做出相應(yīng)處理。在完成程序開(kāi)發(fā)后,需作成單元檢測(cè)清單(P
3、CL),并進(jìn)行測(cè)試,驗(yàn)證軟件的有效性,發(fā)現(xiàn)并修補(bǔ)缺陷,以提高軟件質(zhì)量,確保開(kāi)發(fā)出用戶滿意的軟件產(chǎn)品。</p><p> 關(guān)鍵詞:POS積分管理軟件系統(tǒng);積分失效;數(shù)據(jù)分析;單元檢測(cè)清單</p><p> An Integral Management of POS System for A Department Store</p><p> ——The Impl
4、ementation of Integral Failure and Data Analysis Module </p><p><b> Abstract</b></p><p> The design is about the development of make integral failures and data analysis modules. I
5、ntegral 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 enterp
6、rises to deal with all types of commodities, such as sales of data analysis. Development of modules that should be taken into account is various Circumstances, and made a program check list </p><p> Key wor
7、ds: integral management system; Integral Failure; Data Analysis; Program Check List </p><p><b> 目 錄</b></p><p><b> 論文總頁(yè)數(shù):30頁(yè)</b></p><p> ——積分失效與數(shù)據(jù)分析模塊的實(shí)現(xiàn)
8、0</p><p><b> 1引言1</b></p><p> 1.1課題背景1</p><p> 1.2選題意義1</p><p> 1.3研究方法1</p><p><b> 2分析工程1</b></p><p>
9、 2.1需求分析1</p><p> 2.2系統(tǒng)分析2</p><p> 2.2.1系統(tǒng)構(gòu)成2</p><p> 2.2.2系統(tǒng)模塊2</p><p> 2.2.3系統(tǒng)數(shù)據(jù)分析2</p><p><b> 3設(shè)計(jì)工程3</b></p><p&
10、gt; 3.1外部設(shè)計(jì)(概要設(shè)計(jì))3</p><p> 3.1.1數(shù)據(jù)庫(kù)設(shè)計(jì)3</p><p> 3.1.2數(shù)據(jù)流程圖7</p><p> 3.2內(nèi)部設(shè)計(jì)(詳細(xì)設(shè)計(jì))8</p><p> 3.2.1積分失效詳細(xì)代碼設(shè)計(jì)8</p><p> 3.2.2數(shù)據(jù)分析模塊詳細(xì)代碼設(shè)計(jì)13<
11、;/p><p><b> 4制造工程14</b></p><p> 4.1開(kāi)發(fā)環(huán)境14</p><p> 4.2程序開(kāi)發(fā)15</p><p> 4.2.1程序流程圖15</p><p> 4.2.2建立JDBC-ODBC橋接器17</p><p>
12、 4.2.3讀取INI文件17</p><p> 4.2.4對(duì)數(shù)據(jù)庫(kù)操作18</p><p> 4.2.5對(duì)文件操作19</p><p><b> 5測(cè)試工程20</b></p><p> 5.1測(cè)試準(zhǔn)備20</p><p> 5.1.1積分失效模塊單元檢測(cè)表2
13、0</p><p> 5.1.2分析用POS明細(xì)作成模塊單元檢測(cè)表23</p><p> 5.2測(cè)試實(shí)施24</p><p> 5.2.1測(cè)試頁(yè)面截圖24</p><p> 5.2.2測(cè)試結(jié)果數(shù)據(jù)26</p><p><b> 結(jié) 論27</b></p>
14、;<p><b> 參考文獻(xiàn)28</b></p><p><b> 致 謝29</b></p><p><b> 聲 明30</b></p><p><b> 引言</b></p><p><b> 課題
15、背景</b></p><p> 隨著社會(huì)科學(xué)技術(shù)突飛猛進(jìn)的發(fā)展,計(jì)算機(jī)的應(yīng)用已經(jīng)普及到經(jīng)濟(jì)和社會(huì)的各個(gè)領(lǐng)域。長(zhǎng)期以來(lái)人們所使用的傳統(tǒng)的單純憑借人力進(jìn)行管理的銷售方式,已經(jīng)無(wú)法適應(yīng)當(dāng)今社會(huì)的現(xiàn)狀,同時(shí)也存在著很多弊端,如成本較高、安全性低、效率難以提高等。因此,作為計(jì)算機(jī)應(yīng)用的一個(gè)方面,利用其強(qiáng)大的運(yùn)算能力,進(jìn)行銷售管理具有無(wú)法替代的優(yōu)勢(shì)。其高效、可靠、穩(wěn)定等優(yōu)點(diǎn)已得到了消費(fèi)者和銷售企業(yè)一致的好評(píng)。&
16、lt;/p><p><b> 選題意義</b></p><p> 不同類型的銷售行業(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)鍵。</p><p&
17、gt; 針對(duì)這一情況,希望研究出一套POS積分管理系統(tǒng),用來(lái)對(duì)商品銷售情況、會(huì)員消費(fèi)情況、分店經(jīng)營(yíng)情況等信息進(jìn)行系統(tǒng)高效的管理。降低甚至消除不必要的成本和費(fèi)用,給客戶帶來(lái)更大效益。而本課題的研究正是要在這個(gè)系統(tǒng)之下開(kāi)發(fā)出積分失效和數(shù)據(jù)分析兩個(gè)模塊。其中積分失效模塊對(duì)一年內(nèi)未購(gòu)買任何物品的會(huì)員,進(jìn)行積分過(guò)期失效處理。這樣做可以刺激用戶消費(fèi),提高銷售業(yè)績(jī)。而數(shù)據(jù)分析模塊則是對(duì)商品銷售信息進(jìn)行分析,對(duì)各種類型的商品銷售情況,銷售利潤(rùn)做成數(shù)據(jù)
18、資料以供外部分析使用。</p><p><b> 研究方法</b></p><p> 作為以JAVA語(yǔ)言為基礎(chǔ)的商務(wù)型軟件,此次研究主要采用面向?qū)ο蟮姆椒ㄟM(jìn)行軟件開(kāi)發(fā)。盡可能模擬人類習(xí)慣的思維方式來(lái)分析和解決問(wèn)題,保證軟件系統(tǒng)的穩(wěn)定性和可復(fù)用性以及良好的維護(hù)性。在程序中,采用了JDBC—ODBC橋的方式,進(jìn)行數(shù)據(jù)庫(kù)連接。另外,由于是商務(wù)軟件,就要考慮到用戶在使用該
19、系統(tǒng)時(shí)有可能出現(xiàn)的各種錯(cuò)誤,并針對(duì)這些錯(cuò)誤制定出解決的方案。整個(gè)開(kāi)發(fā)過(guò)程分為四個(gè)部分,包括分析工程、設(shè)計(jì)工程、制造工程、測(cè)試工程。下面將詳細(xì)對(duì)上述過(guò)程進(jìn)行細(xì)致的描述。</p><p><b> 分析工程</b></p><p><b> 需求分析</b></p><p> 由于該百貨店實(shí)行會(huì)員管理模式,每個(gè)會(huì)員都有代
20、金消費(fèi)點(diǎn)數(shù),其中就存在部分會(huì)員在獲得消費(fèi)點(diǎn)后,因某些原因長(zhǎng)期未能進(jìn)行消費(fèi),但仍要對(duì)他們的消費(fèi)點(diǎn)進(jìn)行管理,這就給整個(gè)管理系統(tǒng)帶來(lái)了負(fù)擔(dān),同時(shí)也占用了很多不必要的資源,無(wú)形中增大了管理的成本。為了解決這個(gè)問(wèn)題,就需要建立一個(gè)模塊來(lái)定期檢查會(huì)員消費(fèi)情況,對(duì)限定時(shí)間內(nèi)未消費(fèi)的用戶進(jìn)行積分失效處理,以節(jié)約系統(tǒng)資源,同時(shí),也在一定程度上刺激會(huì)員消費(fèi)。</p><p> 把握市場(chǎng)動(dòng)向,提高銷售利潤(rùn)是企業(yè)的最終目標(biāo)。在企業(yè)管理
21、日趨科學(xué)化的今天,如何準(zhǔn)確及時(shí)地進(jìn)行生產(chǎn)經(jīng)營(yíng)決策是銷售企業(yè)面臨的嚴(yán)峻問(wèn)題。要求決策者準(zhǔn)確及時(shí)地捕捉到銷售信息,分析銷售情況,隨時(shí)根據(jù)歷史的銷售情況,對(duì)下一步的生產(chǎn)經(jīng)營(yíng)科學(xué)地進(jìn)行決策。銷售分析需要大量的基礎(chǔ)數(shù)據(jù),但是如果將原始的銷售信息直接用于分析又會(huì)給分析工作帶來(lái)很大不便,是效率無(wú)法提高。因此就需要將原始銷售信息進(jìn)行整理,處理成決策分析所需的數(shù)據(jù)資料,進(jìn)行保存。</p><p><b> 系統(tǒng)分析&l
22、t;/b></p><p><b> 系統(tǒng)構(gòu)成</b></p><p> 硬件需求:計(jì)算機(jī)一臺(tái)</p><p> 操作系統(tǒng):Windows 2000(日文)</p><p><b> 開(kāi)發(fā)語(yǔ)言:Java</b></p><p> 開(kāi)發(fā)工具:eclipse<
23、;/p><p> 數(shù)據(jù)庫(kù):Microsoft SQL Server 2000</p><p> 其他軟件:Microsoft SQL Server 2000 Driver for JDBC Service,Subversion(SVN)1.30</p><p><b> 系統(tǒng)模塊</b></p><p><b
24、> 積分失效</b></p><p> 從會(huì)員信息表中,找出一年前注冊(cè),當(dāng)前點(diǎn)數(shù)不為0,且一年內(nèi)未進(jìn)行消費(fèi)的用戶,對(duì)其積分進(jìn)行清零處理。</p><p><b> 數(shù)據(jù)分析</b></p><p> 對(duì)每日POS消費(fèi)記錄文件進(jìn)行數(shù)據(jù)處理,生成用于外部數(shù)據(jù)分析的明細(xì)文件</p><p><b
25、> 系統(tǒng)數(shù)據(jù)分析</b></p><p> 會(huì)員數(shù)據(jù):包括會(huì)員的基本信息數(shù)據(jù)(入會(huì)日期,會(huì)員編碼,姓名,住址,聯(lián)系電話,出生年月日,會(huì)員種類,入會(huì)店鋪編碼等等);</p><p> 積分?jǐn)?shù)據(jù):包括積分卡基本信息數(shù)據(jù)(會(huì)員編碼,現(xiàn)在積分點(diǎn),累計(jì)積分點(diǎn),輸出累計(jì)積分點(diǎn),增加累計(jì)積分點(diǎn),基本累計(jì)積分點(diǎn),購(gòu)買次數(shù),購(gòu)買累計(jì)金額等等);</p><p>
26、; 店鋪數(shù)據(jù):包括店鋪基本信息數(shù)據(jù)(店鋪編碼,店鋪名稱,DOMINANT編碼,住址,聯(lián)系電話等等);</p><p> 用于進(jìn)行數(shù)據(jù)分析處理的原始銷售信息存放于一個(gè)名為FSP_EFI010.DAT的文件中,其數(shù)據(jù)格式如表1所示:</p><p> 表1 原始銷售信息文件數(shù)據(jù)格式</p><p><b> 設(shè)計(jì)工程</b></p&
27、gt;<p> 外部設(shè)計(jì)(概要設(shè)計(jì))</p><p><b> 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p> 數(shù)據(jù)庫(kù)表結(jié)構(gòu)的設(shè)計(jì)在每一個(gè)開(kāi)發(fā)項(xiàng)目中都是非常重要的一個(gè)部分,數(shù)據(jù)庫(kù)表設(shè)計(jì)的好壞直接關(guān)系到開(kāi)發(fā)過(guò)程中代碼實(shí)現(xiàn)的功能強(qiáng)大與否,是否包含齊備客戶所需求的功能。因此現(xiàn)在來(lái)介紹該模塊所用到的數(shù)據(jù)庫(kù)表的詳細(xì)設(shè)計(jì)。各數(shù)據(jù)表定義如表2所示</p>&
28、lt;p><b> 表2 數(shù)據(jù)表定義</b></p><p> 表3 FSPTB_MEMBER(會(huì)員)</p><p> 表4 FSPTB_MEMBER_STATUS(會(huì)員狀態(tài))</p><p> 表5 FSPTB_POINT(積分)</p><p> 表6 FSPTB_POINT_JNL(積分更新記錄)
29、</p><p> 表7 FSPTB_POINT_RIREKI(積分當(dāng)日消費(fèi)記錄)</p><p><b> 數(shù)據(jù)流程圖</b></p><p> 圖1 積分失效處理流圖</p><p> 圖2 數(shù)據(jù)分析模塊流圖</p><p><b> 圖3 注釋圖</b><
30、;/p><p> 內(nèi)部設(shè)計(jì)(詳細(xì)設(shè)計(jì))</p><p> 積分失效詳細(xì)代碼設(shè)計(jì)</p><p><b> 程序初期設(shè)定。</b></p><p> 如果出現(xiàn)錯(cuò)誤,輸出錯(cuò)誤信息,程序結(jié)束。</p><p><b> 輸出開(kāi)始日志記錄。</b></p><
31、;p> (1)如果出現(xiàn)錯(cuò)誤,程序結(jié)束。</p><p> (2)否則,取得系統(tǒng)前一年日期。</p><p> 處理日期check。</p><p> ?。?)讀入初始設(shè)定的會(huì)員信息數(shù)據(jù)文件。</p><p> 如果出現(xiàn)錯(cuò)誤,輸出錯(cuò)誤信息,程序結(jié)束。 </p><p> 否則,取得POINT實(shí)效日期。&
32、lt;/p><p> ?。?)設(shè)定會(huì)員信息數(shù)據(jù)文件。</p><p> 系統(tǒng)日期不是POINT實(shí)效處理日期的場(chǎng)合,輸出信息,程序結(jié)束。</p><p> POINT實(shí)效處理。</p><p><b> CSV文件讀入。</b></p><p> 如果出現(xiàn)錯(cuò)誤,輸出錯(cuò)誤信息,程序結(jié)束。 <
33、;/p><p><b> 取得文件名。</b></p><p><b> 打開(kāi)CSV文件。</b></p><p> POINT失效對(duì)象抽出(1)</p><p> 從FSPTB_POINT中讀取會(huì)員CODE。</p><p> 條件:最后購(gòu)買日期在一年前&&a
34、mp;現(xiàn)在POINT不為0。</p><p><b> 失效區(qū)分有效。</b></p><p> 抽出失效區(qū)分有效數(shù)據(jù)。</p><p> POINT失效對(duì)象抽出(2)</p><p> 從FSPTB_POINT和FSPTB_MEMBER中讀取會(huì)員CODE。</p><p> 條件:會(huì)員
35、CODE匹配;入會(huì)日期在一年以前;失效區(qū)分有效;買入次數(shù)為0;現(xiàn)在POINT不為0。</p><p><b> 返回值不為空。</b></p><p><b> 各表的更新處理</b></p><p> 從FSPTB_POINT中取出匹配會(huì)員的數(shù)據(jù)。</p><p> 條件:會(huì)員編號(hào)是匹配會(huì)
36、員編號(hào)。</p><p> 匹配會(huì)員的POINT信息更新。</p><p> 參照“POINT信息項(xiàng)目移動(dòng)表”。</p><p> 從FSPTB_MEMBER中取出匹配會(huì)員的數(shù)據(jù)。</p><p> 條件:會(huì)員編號(hào)是匹配會(huì)員編。</p><p> 匹配用戶數(shù)據(jù)的店鋪CODE為NULL的場(chǎng)合。</p>
37、;<p> 輸出信息,處理終止。</p><p> 否則,取得店鋪CODE。</p><p> 從FSPTB_POINT_RIREKI中取出匹配會(huì)員的POINT履歷信息數(shù)據(jù)。</p><p> 條件:會(huì)員編號(hào)是匹配會(huì)員編號(hào);日期在系統(tǒng)日期之前。</p><p> 如果出現(xiàn)錯(cuò)誤,輸出錯(cuò)誤信息,程序結(jié)束。 </p&
38、gt;<p> 在FSPTB_POINT_JNL中追加數(shù)據(jù)。</p><p> 匹配用戶的POINT更新日志不存在。</p><p> 參照“POINT更新日志新建項(xiàng)目移動(dòng)表”。</p><p> 匹配用戶的POINT更新日志存在。</p><p> 參照“POINT更新日志更新項(xiàng)目移動(dòng)表”。</p>&
39、lt;p> FSPTB_POINT_RIREKI的追加更新。</p><p> 條件:會(huì)員編號(hào)是匹配會(huì)員編號(hào);日期在系統(tǒng)日期之前。</p><p> 通過(guò)(4)取得的POINT履歷是EOF的情況,新追加POINT履歷。</p><p> 參照“POINT履歷(追加)項(xiàng)目移動(dòng)表”。</p><p> 通過(guò)(4)取得的POINT履
40、歷不是EOF的情況,存儲(chǔ)初始狀態(tài),并更新,參照“POINT履歷(更新)項(xiàng)目移動(dòng)表”。</p><p> 在FSPTB_POINT中檢索匹配的用戶數(shù)據(jù)。</p><p> 條件:用戶CODE是匹配用戶CODE;</p><p> 不是EOF的情況,程序結(jié)束。</p><p> 如果是EOF ,在FSPTB_MEMBER追加新的數(shù)據(jù)。&l
41、t;/p><p> 參照“用戶數(shù)據(jù)項(xiàng)目移動(dòng)表”。</p><p> CSV文件數(shù)據(jù)輸出。</p><p> 參照“CSV文件項(xiàng)目移動(dòng)表”。</p><p><b> 輸出結(jié)束日志。</b></p><p> 表8 POINT信息項(xiàng)目移動(dòng)表</p><p> 表9 P
42、OINT更新日志新建項(xiàng)目移動(dòng)表</p><p> 表10 POINT更新日志更新項(xiàng)目移動(dòng)表</p><p> 表11 POINT履歷(追加)項(xiàng)目移動(dòng)表</p><p> 表12 POINT履歷(更新)項(xiàng)目移動(dòng)表</p><p> 表13用戶數(shù)據(jù)項(xiàng)目移動(dòng)表</p><p> 數(shù)據(jù)分析模塊詳細(xì)代碼設(shè)計(jì)</p
43、><p><b> 初期處理。</b></p><p> ?。?)共通文件(INI)取得。</p><p> 如存在錯(cuò)誤,輸出錯(cuò)誤信息,程序結(jié)束。</p><p> ?。?)輸出開(kāi)始日志。</p><p> 分析用POS明細(xì)文件作成。</p><p> ?。?)文件檢查處
44、理。</p><p> 檢查POS明細(xì)文件路徑。</p><p> 如果不存在,輸出錯(cuò)誤日志,程序結(jié)束。</p><p> 生成POS明細(xì)文件。</p><p> 如果超過(guò)99個(gè),直接跳轉(zhuǎn)到步驟3。</p><p> 檢查POS項(xiàng)目信息文件路徑。</p><p> 如果不存在,輸出錯(cuò)
45、誤日志,程序結(jié)束。</p><p> 檢查POS項(xiàng)目信息文件。</p><p> 如果不存在,輸出錯(cuò)誤日志,程序結(jié)束。</p><p> (2)讀取POS項(xiàng)目信息文件。</p><p><b> 當(dāng)數(shù)據(jù)讀完,結(jié)束。</b></p><p> ?。?)POS明細(xì)文件CODE作成。</p
46、><p> ?。?)參照“項(xiàng)目數(shù)據(jù)移動(dòng)表”。</p><p><b> 結(jié)束處理。</b></p><p><b> 輸出結(jié)束日志。</b></p><p> 表14項(xiàng)目數(shù)據(jù)移動(dòng)表</p><p><b> 制造工程</b></p>&
47、lt;p><b> 開(kāi)發(fā)環(huán)境</b></p><p> 開(kāi)發(fā)環(huán)境為Eclipse3.2,JDK包采用版本為jdk1.5.0_06。OBDC數(shù)據(jù)源為tokyosuper。數(shù)據(jù)庫(kù)登錄帳號(hào):sa ;密碼:123456。</p><p><b> 程序開(kāi)發(fā)</b></p><p><b> 程序流程圖<
48、;/b></p><p> 圖4 積分失效模塊流程圖</p><p> 圖5 數(shù)據(jù)分析模塊模塊流程圖</p><p> 建立JDBC-ODBC橋接器</p><p><b> try {</b></p><p> Class.forName("sun.jdbc.odbc.
49、JdbcOdbcDriver");/*注冊(cè)數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序?yàn)?SQL JDBC-ODBC驅(qū)動(dòng)*/</p><p><b> } </b></p><p> catch (ClassNotFoundException e) {/*如無(wú)法找到該驅(qū)動(dòng),則捕獲異常,并輸出錯(cuò)誤*/</p><p> // TODO Auto
50、-generated catch block</p><p> e.printStackTrace();</p><p><b> }</b></p><p><b> 讀取INI文件</b></p><p> INI文件中記錄了本系統(tǒng)中所有數(shù)據(jù)文件的存儲(chǔ)地址。因此,在開(kāi)始模塊編碼前,一定要
51、先讀取該文件。專門建立一個(gè)類Iniread.java來(lái)實(shí)現(xiàn)各種功能。具體如下:</p><p><b> 成員變量:</b></p><p> FileReader inOjb; //創(chuàng)建一個(gè)用來(lái)讀取字符文件的對(duì)象</p><p> BufferedReader br;//創(chuàng)建一個(gè)使用默認(rèn)大小輸入緩沖區(qū)的緩沖字符輸入流。</
52、p><p> Connection con;//與特定數(shù)據(jù)庫(kù)的連接</p><p> Statement stmt;//用于執(zhí)行靜態(tài) SQL 語(yǔ)句并返回它所生成結(jié)果的對(duì)象</p><p> String url;//定義數(shù)據(jù)源名</p><p> String user;//定義數(shù)據(jù)源的login name</p&g
53、t;<p> String password;//定義數(shù)據(jù)源的密碼</p><p> /*構(gòu)造方法(參數(shù)是為了進(jìn)行數(shù)據(jù)庫(kù)連接,在讀取INI文件過(guò)程中如出現(xiàn)錯(cuò)誤則將錯(cuò)誤 日志輸入數(shù)據(jù)庫(kù)的LOG表)*/</p><p> Iniread(String url,String user,String passwo
54、rd){</p><p> inOjb=new FileReader("FSP.INI");</p><p> br=new BufferedReader(inOjb);</p><p><b> … </b></p><p><b> …</b></p>
55、<p><b> }</b></p><p> /*此方法用于獲取數(shù)據(jù)文件在服務(wù)器上的地址,參數(shù)是數(shù)據(jù)文件名*/</p><p> public String getaddress(String a){</p><p> str=br.readLine();//讀取INI文件中的一行</p><p&g
56、t;<b> …</b></p><p><b> …</b></p><p><b> }</b></p><p><b> 對(duì)數(shù)據(jù)庫(kù)操作</b></p><p> //向數(shù)據(jù)庫(kù)插入一條數(shù)據(jù),此處temp除可進(jìn)行插入操作外,還能進(jìn)行更新,刪除操
57、作</p><p> String url="jdbc:odbc:tokyosuper";//定義數(shù)據(jù)源名</p><p> String user="sa";//定義數(shù)據(jù)源的login name</p><p> String password="123456";//定義數(shù)據(jù)源的密
58、碼</p><p> 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 ',
59、9;FSP.INI讀取出錯(cuò)','FSP.INI')";</p><p><b> try {</b></p><p> con=DriverManager.getConnection(url,user,password);</p><p> stmt=con.createStatement();</
60、p><p> stmt.executeUpdate(temp);</p><p> con.close();</p><p><b> } </b></p><p> catch (SQLException e1) {</p><p> // TODO Auto-generated catc
61、h block</p><p> e1.printStackTrace();</p><p><b> }</b></p><p> //在數(shù)據(jù)庫(kù)中查詢數(shù)據(jù)查詢的結(jié)果全部存放于ResultSet的對(duì)象中,利用next方法可以讀取結(jié)果集的第一行,以后每執(zhí)行一次,向下跳轉(zhuǎn)一行。getxxx方法可以獲得結(jié)果集中的某一項(xiàng)其中xxx為該項(xiàng)的屬性,如
62、String等</p><p><b> try {</b></p><p> con=DriverManager.getConnection(url,user,password);</p><p> stmt=con.createStatement();</p><p> String temp="S
63、ELECT MEMBER_CODE,TENPO_CODE FROM FSPTB_MEMBER WHERE MEMBER_CODE='"+member+"'";</p><p> ResultSet rs=stmt.executeQuery(temp);</p><p> rs.next();</p><p> St
64、ring tenpo=rs.getString("TENPO_CODE");</p><p> } catch (SQLException e) {</p><p> // TODO Auto-generated catch block</p><p> e.printStackTrace();</p><p>&l
65、t;b> }</b></p><p><b> 對(duì)文件操作</b></p><p> //判斷文件路徑或文件是否存在,F(xiàn)ile的exists方法返回是ture則存在。</p><p> File posdata=new File(Pos_Data);</p><p> File outposp
66、refix=new File(Pos_Data,Out_Pos_PreFIX);</p><p> posdata.exists();</p><p> outposprefix.exists();</p><p> //打開(kāi)文件,逐條讀取</p><p> FileReader fr=new FileReader(positem.g
67、etPath());</p><p> BufferedReader inOjb = new BufferedReader(fr);</p><p> str=inOjb.readLine();</p><p> while(str!=null)</p><p><b> {</b></p><
68、;p><b> …</b></p><p><b> }</b></p><p> //打開(kāi)文件寫(xiě)入數(shù)據(jù)</p><p> String address=file.getPath();</p><p> FileWriter fw;</p><p><b
69、> try {</b></p><p> fw = new FileWriter(address,true);//打開(kāi)address所表示的文件,ture表示在該文件末尾寫(xiě)入數(shù)據(jù),而非文件的開(kāi)始處</p><p> BufferedWriter out=new BufferedWriter(fw);</p><p> //從新的一行開(kāi)始寫(xiě)入
70、</p><p> out.newLine();</p><p> //寫(xiě)入新的一行信息</p><p> out.write(str,0,str.length());</p><p> out.close();</p><p> fw.close();</p><p> } c
71、atch (IOException e) {</p><p> // TODO Auto-generated catch block</p><p> e.printStackTrace();</p><p><b> }</b></p><p><b> 測(cè)試工程</b></p>
72、;<p><b> 測(cè)試準(zhǔn)備</b></p><p> 本系統(tǒng)屬于一款商務(wù)應(yīng)用型軟件,因此,對(duì)各種可能出現(xiàn)的錯(cuò)誤情況要有很高的檢測(cè)能力,并進(jìn)行響應(yīng)處理。所以,在軟件開(kāi)發(fā)完成后,為了檢驗(yàn)是否達(dá)到客戶要求需要進(jìn)行全面的測(cè)試,包括程序的邏輯處理,輸入/輸出處理,邊界條件判斷,異常處理等。在進(jìn)行測(cè)試前,應(yīng)針對(duì)上述各情況填寫(xiě)一份全面的單元測(cè)試檢測(cè)清單。</p><
73、p> 積分失效模塊單元檢測(cè)表</p><p> 表 15 積分失效模塊單元檢測(cè)表</p><p> 分析用POS明細(xì)作成模塊單元檢測(cè)表</p><p> 表16 分析用POS明細(xì)作成模塊單元檢測(cè)表</p><p><b> 測(cè)試實(shí)施</b></p><p> 在準(zhǔn)備好測(cè)試數(shù)據(jù),配
74、置好測(cè)試環(huán)境后,根據(jù)測(cè)試清單上的內(nèi)容,逐條進(jìn)行測(cè)試,其中,如果中途發(fā)現(xiàn)BUG存在,并對(duì)程序進(jìn)行相應(yīng)更改的話,則前面所做的測(cè)試全部作廢,需重新開(kāi)始測(cè)試。</p><p><b> 測(cè)試頁(yè)面截圖</b></p><p><b> 積分失效模塊測(cè)試</b></p><p> 如圖6所示編號(hào)為842345143672的會(huì)員其
75、注冊(cè)日期為一年以前。其積分失效區(qū)分為有效。</p><p> 圖6 用戶注冊(cè)信息表</p><p> 如圖7所示該用戶當(dāng)前積分為130</p><p> 圖7 用戶POINT信息表</p><p> 圖8所示為該用戶積分被清零</p><p><b> 圖8 用戶積分清零</b><
76、/p><p> 數(shù)據(jù)分析模塊測(cè)試結(jié)果如圖9所示</p><p> 圖9 分析用POS明細(xì)文件生成</p><p><b> 測(cè)試結(jié)果數(shù)據(jù)</b></p><p> FSP_EFI010.DAT文件中測(cè)試數(shù)據(jù):</p><p> 123456,sdcdsc,21458,20080525,13,
77、1234567890123,2001010000000,蘋(píng)果,122,554545,1234,2,1245,1222,1235,5589,7789,2490,009701</p><p> 123456,sdcdsc,21458,20080525,13,1234567890123,2001010000000,蘋(píng)果,122,254545,1234,1,1245,1222,1235,5589,7789,2490,0
78、09701</p><p> 生成POS明細(xì)文件POS2004011004.DAT中結(jié)果數(shù)據(jù)如下:</p><p> 51,123456,sdcdsc,20080525,13,1234567890123,20,01,010,000000,02001010000000,蘋(píng)果,122,554545,0000000,0, ,000000, </p><p> 51
79、,123456,sdcdsc,20080525,13,1234567890123,20,01,010,000000,02001010000000,蘋(píng)果,122,254545,0000000,0, ,000000, </p><p><b> 結(jié) 論</b></p><p> 本次設(shè)計(jì)的內(nèi)容主要是對(duì)積分失效和數(shù)據(jù)處理模塊進(jìn)行設(shè)計(jì)。其中積分失效模塊對(duì)一年內(nèi)未購(gòu)
80、買任何物品的會(huì)員,進(jìn)行積分過(guò)期失效處理。這樣做可以刺激用戶消費(fèi),提高銷售業(yè)績(jī)。而數(shù)據(jù)分析模塊則是對(duì)商品銷售信息進(jìn)行分析,對(duì)各種類型的商品銷售情況,銷售利潤(rùn)做成數(shù)據(jù)資料以供外部分析使用。作為商務(wù)用軟件,錯(cuò)誤檢測(cè)機(jī)制尤為重要。因此,在模塊開(kāi)發(fā)時(shí)應(yīng)考慮到各種實(shí)發(fā)情況的出現(xiàn),并做出相應(yīng)處理。在完成程序開(kāi)發(fā)后,做了單元檢測(cè)清單(PCL),并進(jìn)行測(cè)試,驗(yàn)證了軟件的有效性,發(fā)現(xiàn)并修補(bǔ)缺陷,以提高軟件質(zhì)量,確保開(kāi)發(fā)出用戶滿意的軟件產(chǎn)品。</p&g
81、t;<p> 通過(guò)本次設(shè)計(jì),進(jìn)一步學(xué)習(xí)了Java編程語(yǔ)言和SQL數(shù)據(jù)庫(kù)知識(shí)。比如Java編程中如何建立JDBC橋接器,怎樣運(yùn)用Java中的各種類對(duì)象,怎樣查詢API知識(shí),以及怎樣用Java來(lái)查詢數(shù)據(jù)庫(kù)表等等。而且還學(xué)習(xí)了怎樣對(duì)各種文件進(jìn)行操作。在操作文件方面遇到了很多問(wèn)題,特別是在文件的寫(xiě)入方面,花了很多的時(shí)間才成功地向文件里寫(xiě)入內(nèi)容。以上都是在編程時(shí)所涉及到的知識(shí),其實(shí)在編程之前還要構(gòu)架環(huán)境,在這一方面也有很多問(wèn)題,比
82、如在設(shè)置數(shù)據(jù)源時(shí),這要根據(jù)數(shù)據(jù)源是在本機(jī)還是其它服務(wù)器的不同來(lái)設(shè)置。這些問(wèn)題都在老師的細(xì)心指導(dǎo)下成功地解決的。</p><p> 在這次的設(shè)計(jì)中,不僅鞏固和加深了以前所學(xué)的理論知識(shí),而且在實(shí)踐方面也吸取了很多經(jīng)驗(yàn)。某百貨店P(guān)OS積分管理系統(tǒng)是由一個(gè)團(tuán)隊(duì)所開(kāi)發(fā)的。因此在開(kāi)發(fā)過(guò)程中還讓我了解到團(tuán)隊(duì)精神的重要性。潛意識(shí)里沒(méi)有協(xié)力合作互相幫助的概念,整個(gè)項(xiàng)目的開(kāi)發(fā)是沒(méi)有辦法進(jìn)行的。在短短兩個(gè)多月時(shí)間里,在老師的指導(dǎo)和同
83、學(xué)的幫助下,我順利完成了積分失效和數(shù)據(jù)分析模塊的功能實(shí)現(xiàn)。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 羅積玉,李超.軟件工程推進(jìn)方法[M].四川:電子科技大學(xué)出版社,2004.9。</p><p> [2] 杜斌,幸利.軟件設(shè)計(jì)工程[M].四川:電子科技大學(xué)出版社,2004.9。</p><
84、p> [3] 李超,羅積玉.軟件制造工程[M].四川:電子科技大學(xué)出版社,2004.9。</p><p> [4] 林邦杰.Java程序設(shè)計(jì)入門教程[M].北京:中國(guó)青年出版社,2001。</p><p> [5] John D.mcGregor David A.Skyes[美].面向?qū)ο蟮能浖y(cè)試[M].楊文宏等譯.北京:機(jī)械工業(yè)出版社,2002。 </p>&
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計(jì)--客戶消費(fèi)積分管理系統(tǒng)
- 課程設(shè)計(jì)--客戶消費(fèi)積分管理
- java某店pos積分管理系統(tǒng)(源代碼+論文)
- H2003031289_劉威_某店P(guān)OS積分管理系統(tǒng).doc
- H2003031289_劉威_某店P(guān)OS積分管理系統(tǒng).doc
- 【精品】java某店pos積分管理系統(tǒng)(源代碼+論文)
- 【精品】java某店pos積分管理系統(tǒng)(源代碼+論文)
- H2003031289_劉威_某店P(guān)OS積分管理系統(tǒng).doc
- java173某百貨店pos積分管理系統(tǒng)
- 畢業(yè)論文——某店pos積分管理系統(tǒng)--積分實(shí)績(jī)更新及銷售狀況統(tǒng)計(jì)
- 某店pos積分管理系統(tǒng)--創(chuàng)建會(huì)員信息文件——畢業(yè)論文
- 畢業(yè)論文——某店pos積分管理系統(tǒng)--創(chuàng)建會(huì)員信息文件
- 某店pos積分管理系統(tǒng)--創(chuàng)建會(huì)員信息文件——畢業(yè)論文
- 超市積分管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)-學(xué)分管理系統(tǒng)
- 某店pos積分管理系統(tǒng) --積分失效與數(shù)據(jù)分析模塊的實(shí)現(xiàn)——畢業(yè)論文
- 客戶消費(fèi)積分管理系統(tǒng)
- 客戶消費(fèi)積分管理系統(tǒng)
- 會(huì)員積分管理系統(tǒng)方案
- c商店購(gòu)物管理-課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論