商店pos積分管理系統(tǒng)課程設(shè)計_第1頁
已閱讀1頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  某店P(guān)OS積分管理系統(tǒng)</p><p>  ——積分失效與數(shù)據(jù)分析模塊的實現(xiàn)</p><p>  某店P(guān)OS積分管理系統(tǒng)</p><p>  ——積分失效與數(shù)據(jù)分析模塊的實現(xiàn)</p><p><b>  摘 要</b></p><p>  開發(fā)一個大而復(fù)雜的POS積分管理軟

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

3、CL),并進行測試,驗證軟件的有效性,發(fā)現(xiàn)并修補缺陷,以提高軟件質(zhì)量,確保開發(fā)出用戶滿意的軟件產(chǎn)品。</p><p>  關(guān)鍵詞:POS積分管理軟件系統(tǒng);積分失效;數(shù)據(jù)分析;單元檢測清單</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>  論文總頁數(shù):30頁</b></p><p>  ——積分失效與數(shù)據(jù)分析模塊的實現(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è)計工程3</b></p><p&

10、gt;  3.1外部設(shè)計(概要設(shè)計)3</p><p>  3.1.1數(shù)據(jù)庫設(shè)計3</p><p>  3.1.2數(shù)據(jù)流程圖7</p><p>  3.2內(nèi)部設(shè)計(詳細(xì)設(shè)計)8</p><p>  3.2.1積分失效詳細(xì)代碼設(shè)計8</p><p>  3.2.2數(shù)據(jù)分析模塊詳細(xì)代碼設(shè)計13<

11、;/p><p><b>  4制造工程14</b></p><p>  4.1開發(fā)環(huán)境14</p><p>  4.2程序開發(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對數(shù)據(jù)庫操作18</p><p>  4.2.5對文件操作19</p><p><b>  5測試工程20</b></p><p>  5.1測試準(zhǔn)備20</p><p>  5.1.1積分失效模塊單元檢測表2

13、0</p><p>  5.1.2分析用POS明細(xì)作成模塊單元檢測表23</p><p>  5.2測試實施24</p><p>  5.2.1測試頁面截圖24</p><p>  5.2.2測試結(jié)果數(shù)據(jù)26</p><p><b>  結(jié) 論27</b></p>

14、;<p><b>  參考文獻28</b></p><p><b>  致 謝29</b></p><p><b>  聲 明30</b></p><p><b>  引言</b></p><p><b>  課題

15、背景</b></p><p>  隨著社會科學(xué)技術(shù)突飛猛進的發(fā)展,計算機的應(yīng)用已經(jīng)普及到經(jīng)濟和社會的各個領(lǐng)域。長期以來人們所使用的傳統(tǒng)的單純憑借人力進行管理的銷售方式,已經(jīng)無法適應(yīng)當(dāng)今社會的現(xiàn)狀,同時也存在著很多弊端,如成本較高、安全性低、效率難以提高等。因此,作為計算機應(yīng)用的一個方面,利用其強大的運算能力,進行銷售管理具有無法替代的優(yōu)勢。其高效、可靠、穩(wěn)定等優(yōu)點已得到了消費者和銷售企業(yè)一致的好評。&

16、lt;/p><p><b>  選題意義</b></p><p>  不同類型的銷售行業(yè)有自己的特點,對于零售業(yè)而言,是一個成本敏感,同時具有大規(guī)模的分布性和靈活多變的特點。因此,如何處理好在一個高度分布的網(wǎng)絡(luò)環(huán)境中,多種軟硬件平臺的管理、部署和升級,適應(yīng)實際的需求變化,為用戶提供一種可靠的低成本運作模式,成為零售業(yè)解決方案成功的關(guān)鍵。</p><p&

17、gt;  針對這一情況,希望研究出一套POS積分管理系統(tǒng),用來對商品銷售情況、會員消費情況、分店經(jīng)營情況等信息進行系統(tǒng)高效的管理。降低甚至消除不必要的成本和費用,給客戶帶來更大效益。而本課題的研究正是要在這個系統(tǒng)之下開發(fā)出積分失效和數(shù)據(jù)分析兩個模塊。其中積分失效模塊對一年內(nèi)未購買任何物品的會員,進行積分過期失效處理。這樣做可以刺激用戶消費,提高銷售業(yè)績。而數(shù)據(jù)分析模塊則是對商品銷售信息進行分析,對各種類型的商品銷售情況,銷售利潤做成數(shù)據(jù)

18、資料以供外部分析使用。</p><p><b>  研究方法</b></p><p>  作為以JAVA語言為基礎(chǔ)的商務(wù)型軟件,此次研究主要采用面向?qū)ο蟮姆椒ㄟM行軟件開發(fā)。盡可能模擬人類習(xí)慣的思維方式來分析和解決問題,保證軟件系統(tǒng)的穩(wěn)定性和可復(fù)用性以及良好的維護性。在程序中,采用了JDBC—ODBC橋的方式,進行數(shù)據(jù)庫連接。另外,由于是商務(wù)軟件,就要考慮到用戶在使用該

19、系統(tǒng)時有可能出現(xiàn)的各種錯誤,并針對這些錯誤制定出解決的方案。整個開發(fā)過程分為四個部分,包括分析工程、設(shè)計工程、制造工程、測試工程。下面將詳細(xì)對上述過程進行細(xì)致的描述。</p><p><b>  分析工程</b></p><p><b>  需求分析</b></p><p>  由于該百貨店實行會員管理模式,每個會員都有代

20、金消費點數(shù),其中就存在部分會員在獲得消費點后,因某些原因長期未能進行消費,但仍要對他們的消費點進行管理,這就給整個管理系統(tǒng)帶來了負(fù)擔(dān),同時也占用了很多不必要的資源,無形中增大了管理的成本。為了解決這個問題,就需要建立一個模塊來定期檢查會員消費情況,對限定時間內(nèi)未消費的用戶進行積分失效處理,以節(jié)約系統(tǒng)資源,同時,也在一定程度上刺激會員消費。</p><p>  把握市場動向,提高銷售利潤是企業(yè)的最終目標(biāo)。在企業(yè)管理

21、日趨科學(xué)化的今天,如何準(zhǔn)確及時地進行生產(chǎn)經(jīng)營決策是銷售企業(yè)面臨的嚴(yán)峻問題。要求決策者準(zhǔn)確及時地捕捉到銷售信息,分析銷售情況,隨時根據(jù)歷史的銷售情況,對下一步的生產(chǎn)經(jīng)營科學(xué)地進行決策。銷售分析需要大量的基礎(chǔ)數(shù)據(jù),但是如果將原始的銷售信息直接用于分析又會給分析工作帶來很大不便,是效率無法提高。因此就需要將原始銷售信息進行整理,處理成決策分析所需的數(shù)據(jù)資料,進行保存。</p><p><b>  系統(tǒng)分析&l

22、t;/b></p><p><b>  系統(tǒng)構(gòu)成</b></p><p>  硬件需求:計算機一臺</p><p>  操作系統(tǒng):Windows 2000(日文)</p><p><b>  開發(fā)語言:Java</b></p><p>  開發(fā)工具:eclipse<

23、;/p><p>  數(shù)據(jù)庫: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>  從會員信息表中,找出一年前注冊,當(dāng)前點數(shù)不為0,且一年內(nèi)未進行消費的用戶,對其積分進行清零處理。</p><p><b>  數(shù)據(jù)分析</b></p><p>  對每日POS消費記錄文件進行數(shù)據(jù)處理,生成用于外部數(shù)據(jù)分析的明細(xì)文件</p><p><b

25、>  系統(tǒng)數(shù)據(jù)分析</b></p><p>  會員數(shù)據(jù):包括會員的基本信息數(shù)據(jù)(入會日期,會員編碼,姓名,住址,聯(lián)系電話,出生年月日,會員種類,入會店鋪編碼等等);</p><p>  積分?jǐn)?shù)據(jù):包括積分卡基本信息數(shù)據(jù)(會員編碼,現(xiàn)在積分點,累計積分點,輸出累計積分點,增加累計積分點,基本累計積分點,購買次數(shù),購買累計金額等等);</p><p>

26、;  店鋪數(shù)據(jù):包括店鋪基本信息數(shù)據(jù)(店鋪編碼,店鋪名稱,DOMINANT編碼,住址,聯(lián)系電話等等);</p><p>  用于進行數(shù)據(jù)分析處理的原始銷售信息存放于一個名為FSP_EFI010.DAT的文件中,其數(shù)據(jù)格式如表1所示:</p><p>  表1 原始銷售信息文件數(shù)據(jù)格式</p><p><b>  設(shè)計工程</b></p&

27、gt;<p>  外部設(shè)計(概要設(shè)計)</p><p><b>  數(shù)據(jù)庫設(shè)計</b></p><p>  數(shù)據(jù)庫表結(jié)構(gòu)的設(shè)計在每一個開發(fā)項目中都是非常重要的一個部分,數(shù)據(jù)庫表設(shè)計的好壞直接關(guān)系到開發(fā)過程中代碼實現(xiàn)的功能強大與否,是否包含齊備客戶所需求的功能。因此現(xiàn)在來介紹該模塊所用到的數(shù)據(jù)庫表的詳細(xì)設(shè)計。各數(shù)據(jù)表定義如表2所示</p>&

28、lt;p><b>  表2 數(shù)據(jù)表定義</b></p><p>  表3 FSPTB_MEMBER(會員)</p><p>  表4 FSPTB_MEMBER_STATUS(會員狀態(tài))</p><p>  表5 FSPTB_POINT(積分)</p><p>  表6 FSPTB_POINT_JNL(積分更新記錄)

29、</p><p>  表7 FSPTB_POINT_RIREKI(積分當(dāng)日消費記錄)</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è)計(詳細(xì)設(shè)計)</p><p>  積分失效詳細(xì)代碼設(shè)計</p><p><b>  程序初期設(shè)定。</b></p><p>  如果出現(xiàn)錯誤,輸出錯誤信息,程序結(jié)束。</p><p><b>  輸出開始日志記錄。</b></p><

31、;p> ?。?)如果出現(xiàn)錯誤,程序結(jié)束。</p><p> ?。?)否則,取得系統(tǒng)前一年日期。</p><p>  處理日期check。</p><p> ?。?)讀入初始設(shè)定的會員信息數(shù)據(jù)文件。</p><p>  如果出現(xiàn)錯誤,輸出錯誤信息,程序結(jié)束。 </p><p>  否則,取得POINT實效日期。&

32、lt;/p><p> ?。?)設(shè)定會員信息數(shù)據(jù)文件。</p><p>  系統(tǒng)日期不是POINT實效處理日期的場合,輸出信息,程序結(jié)束。</p><p>  POINT實效處理。</p><p><b>  CSV文件讀入。</b></p><p>  如果出現(xiàn)錯誤,輸出錯誤信息,程序結(jié)束。 <

33、;/p><p><b>  取得文件名。</b></p><p><b>  打開CSV文件。</b></p><p>  POINT失效對象抽出(1)</p><p>  從FSPTB_POINT中讀取會員CODE。</p><p>  條件:最后購買日期在一年前&&a

34、mp;現(xiàn)在POINT不為0。</p><p><b>  失效區(qū)分有效。</b></p><p>  抽出失效區(qū)分有效數(shù)據(jù)。</p><p>  POINT失效對象抽出(2)</p><p>  從FSPTB_POINT和FSPTB_MEMBER中讀取會員CODE。</p><p>  條件:會員

35、CODE匹配;入會日期在一年以前;失效區(qū)分有效;買入次數(shù)為0;現(xiàn)在POINT不為0。</p><p><b>  返回值不為空。</b></p><p><b>  各表的更新處理</b></p><p>  從FSPTB_POINT中取出匹配會員的數(shù)據(jù)。</p><p>  條件:會員編號是匹配會

36、員編號。</p><p>  匹配會員的POINT信息更新。</p><p>  參照“POINT信息項目移動表”。</p><p>  從FSPTB_MEMBER中取出匹配會員的數(shù)據(jù)。</p><p>  條件:會員編號是匹配會員編。</p><p>  匹配用戶數(shù)據(jù)的店鋪CODE為NULL的場合。</p>

37、;<p>  輸出信息,處理終止。</p><p>  否則,取得店鋪CODE。</p><p>  從FSPTB_POINT_RIREKI中取出匹配會員的POINT履歷信息數(shù)據(jù)。</p><p>  條件:會員編號是匹配會員編號;日期在系統(tǒng)日期之前。</p><p>  如果出現(xiàn)錯誤,輸出錯誤信息,程序結(jié)束。 </p&

38、gt;<p>  在FSPTB_POINT_JNL中追加數(shù)據(jù)。</p><p>  匹配用戶的POINT更新日志不存在。</p><p>  參照“POINT更新日志新建項目移動表”。</p><p>  匹配用戶的POINT更新日志存在。</p><p>  參照“POINT更新日志更新項目移動表”。</p>&

39、lt;p>  FSPTB_POINT_RIREKI的追加更新。</p><p>  條件:會員編號是匹配會員編號;日期在系統(tǒng)日期之前。</p><p>  通過(4)取得的POINT履歷是EOF的情況,新追加POINT履歷。</p><p>  參照“POINT履歷(追加)項目移動表”。</p><p>  通過(4)取得的POINT履

40、歷不是EOF的情況,存儲初始狀態(tài),并更新,參照“POINT履歷(更新)項目移動表”。</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ù)項目移動表”。</p><p>  CSV文件數(shù)據(jù)輸出。</p><p>  參照“CSV文件項目移動表”。</p><p><b>  輸出結(jié)束日志。</b></p><p>  表8 POINT信息項目移動表</p><p>  表9 P

42、OINT更新日志新建項目移動表</p><p>  表10 POINT更新日志更新項目移動表</p><p>  表11 POINT履歷(追加)項目移動表</p><p>  表12 POINT履歷(更新)項目移動表</p><p>  表13用戶數(shù)據(jù)項目移動表</p><p>  數(shù)據(jù)分析模塊詳細(xì)代碼設(shè)計</p

43、><p><b>  初期處理。</b></p><p> ?。?)共通文件(INI)取得。</p><p>  如存在錯誤,輸出錯誤信息,程序結(jié)束。</p><p> ?。?)輸出開始日志。</p><p>  分析用POS明細(xì)文件作成。</p><p> ?。?)文件檢查處

44、理。</p><p>  檢查POS明細(xì)文件路徑。</p><p>  如果不存在,輸出錯誤日志,程序結(jié)束。</p><p>  生成POS明細(xì)文件。</p><p>  如果超過99個,直接跳轉(zhuǎn)到步驟3。</p><p>  檢查POS項目信息文件路徑。</p><p>  如果不存在,輸出錯

45、誤日志,程序結(jié)束。</p><p>  檢查POS項目信息文件。</p><p>  如果不存在,輸出錯誤日志,程序結(jié)束。</p><p> ?。?)讀取POS項目信息文件。</p><p><b>  當(dāng)數(shù)據(jù)讀完,結(jié)束。</b></p><p> ?。?)POS明細(xì)文件CODE作成。</p

46、><p> ?。?)參照“項目數(shù)據(jù)移動表”。</p><p><b>  結(jié)束處理。</b></p><p><b>  輸出結(jié)束日志。</b></p><p>  表14項目數(shù)據(jù)移動表</p><p><b>  制造工程</b></p>&

47、lt;p><b>  開發(fā)環(huán)境</b></p><p>  開發(fā)環(huán)境為Eclipse3.2,JDK包采用版本為jdk1.5.0_06。OBDC數(shù)據(jù)源為tokyosuper。數(shù)據(jù)庫登錄帳號:sa ;密碼:123456。</p><p><b>  程序開發(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");/*注冊數(shù)據(jù)庫驅(qū)動程序為 SQL JDBC-ODBC驅(qū)動*/</p><p><b>  } </b></p><p>  catch (ClassNotFoundException e) {/*如無法找到該驅(qū)動,則捕獲異常,并輸出錯誤*/</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ù)文件的存儲地址。因此,在開始模塊編碼前,一定要

51、先讀取該文件。專門建立一個類Iniread.java來實現(xiàn)各種功能。具體如下:</p><p><b>  成員變量:</b></p><p>  FileReader inOjb; //創(chuàng)建一個用來讀取字符文件的對象</p><p>  BufferedReader br;//創(chuàng)建一個使用默認(rèn)大小輸入緩沖區(qū)的緩沖字符輸入流。</

52、p><p>  Connection con;//與特定數(shù)據(jù)庫的連接</p><p>  Statement stmt;//用于執(zhí)行靜態(tài) SQL 語句并返回它所生成結(jié)果的對象</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ù)是為了進行數(shù)據(jù)庫連接,在讀取INI文件過程中如出現(xiàn)錯誤則將錯誤 日志輸入數(shù)據(jù)庫的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>  對數(shù)據(jù)庫操作</b></p><p>  //向數(shù)據(jù)庫插入一條數(shù)據(jù),此處temp除可進行插入操作外,還能進行更新,刪除操

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','讀取文件錯誤','查找的地址不存在','iniread ','iniread ',

59、9;FSP.INI讀取出錯','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ù)庫中查詢數(shù)據(jù)查詢的結(jié)果全部存放于ResultSet的對象中,利用next方法可以讀取結(jié)果集的第一行,以后每執(zhí)行一次,向下跳轉(zhuǎn)一行。getxxx方法可以獲得結(jié)果集中的某一項其中xxx為該項的屬性,如

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>  對文件操作</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>  //打開文件,逐條讀取</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>  //打開文件寫入數(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);//打開address所表示的文件,ture表示在該文件末尾寫入數(shù)據(jù),而非文件的開始處</p><p>  BufferedWriter out=new BufferedWriter(fw);</p><p>  //從新的一行開始寫入

70、</p><p>  out.newLine();</p><p>  //寫入新的一行信息</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>  測試工程</b></p>

72、;<p><b>  測試準(zhǔn)備</b></p><p>  本系統(tǒng)屬于一款商務(wù)應(yīng)用型軟件,因此,對各種可能出現(xiàn)的錯誤情況要有很高的檢測能力,并進行響應(yīng)處理。所以,在軟件開發(fā)完成后,為了檢驗是否達到客戶要求需要進行全面的測試,包括程序的邏輯處理,輸入/輸出處理,邊界條件判斷,異常處理等。在進行測試前,應(yīng)針對上述各情況填寫一份全面的單元測試檢測清單。</p><

73、p>  積分失效模塊單元檢測表</p><p>  表 15 積分失效模塊單元檢測表</p><p>  分析用POS明細(xì)作成模塊單元檢測表</p><p>  表16 分析用POS明細(xì)作成模塊單元檢測表</p><p><b>  測試實施</b></p><p>  在準(zhǔn)備好測試數(shù)據(jù),配

74、置好測試環(huán)境后,根據(jù)測試清單上的內(nèi)容,逐條進行測試,其中,如果中途發(fā)現(xiàn)BUG存在,并對程序進行相應(yīng)更改的話,則前面所做的測試全部作廢,需重新開始測試。</p><p><b>  測試頁面截圖</b></p><p><b>  積分失效模塊測試</b></p><p>  如圖6所示編號為842345143672的會員其

75、注冊日期為一年以前。其積分失效區(qū)分為有效。</p><p>  圖6 用戶注冊信息表</p><p>  如圖7所示該用戶當(dāng)前積分為130</p><p>  圖7 用戶POINT信息表</p><p>  圖8所示為該用戶積分被清零</p><p><b>  圖8 用戶積分清零</b><

76、/p><p>  數(shù)據(jù)分析模塊測試結(jié)果如圖9所示</p><p>  圖9 分析用POS明細(xì)文件生成</p><p><b>  測試結(jié)果數(shù)據(jù)</b></p><p>  FSP_EFI010.DAT文件中測試數(shù)據(jù):</p><p>  123456,sdcdsc,21458,20080525,13,

77、1234567890123,2001010000000,蘋果,122,554545,1234,2,1245,1222,1235,5589,7789,2490,009701</p><p>  123456,sdcdsc,21458,20080525,13,1234567890123,2001010000000,蘋果,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,蘋果,122,554545,0000000,0, ,000000, </p><p>  51

79、,123456,sdcdsc,20080525,13,1234567890123,20,01,010,000000,02001010000000,蘋果,122,254545,0000000,0, ,000000, </p><p><b>  結(jié) 論</b></p><p>  本次設(shè)計的內(nèi)容主要是對積分失效和數(shù)據(jù)處理模塊進行設(shè)計。其中積分失效模塊對一年內(nèi)未購

80、買任何物品的會員,進行積分過期失效處理。這樣做可以刺激用戶消費,提高銷售業(yè)績。而數(shù)據(jù)分析模塊則是對商品銷售信息進行分析,對各種類型的商品銷售情況,銷售利潤做成數(shù)據(jù)資料以供外部分析使用。作為商務(wù)用軟件,錯誤檢測機制尤為重要。因此,在模塊開發(fā)時應(yīng)考慮到各種實發(fā)情況的出現(xiàn),并做出相應(yīng)處理。在完成程序開發(fā)后,做了單元檢測清單(PCL),并進行測試,驗證了軟件的有效性,發(fā)現(xiàn)并修補缺陷,以提高軟件質(zhì)量,確保開發(fā)出用戶滿意的軟件產(chǎn)品。</p&g

81、t;<p>  通過本次設(shè)計,進一步學(xué)習(xí)了Java編程語言和SQL數(shù)據(jù)庫知識。比如Java編程中如何建立JDBC橋接器,怎樣運用Java中的各種類對象,怎樣查詢API知識,以及怎樣用Java來查詢數(shù)據(jù)庫表等等。而且還學(xué)習(xí)了怎樣對各種文件進行操作。在操作文件方面遇到了很多問題,特別是在文件的寫入方面,花了很多的時間才成功地向文件里寫入內(nèi)容。以上都是在編程時所涉及到的知識,其實在編程之前還要構(gòu)架環(huán)境,在這一方面也有很多問題,比

82、如在設(shè)置數(shù)據(jù)源時,這要根據(jù)數(shù)據(jù)源是在本機還是其它服務(wù)器的不同來設(shè)置。這些問題都在老師的細(xì)心指導(dǎo)下成功地解決的。</p><p>  在這次的設(shè)計中,不僅鞏固和加深了以前所學(xué)的理論知識,而且在實踐方面也吸取了很多經(jīng)驗。某百貨店P(guān)OS積分管理系統(tǒng)是由一個團隊所開發(fā)的。因此在開發(fā)過程中還讓我了解到團隊精神的重要性。潛意識里沒有協(xié)力合作互相幫助的概念,整個項目的開發(fā)是沒有辦法進行的。在短短兩個多月時間里,在老師的指導(dǎo)和同

83、學(xué)的幫助下,我順利完成了積分失效和數(shù)據(jù)分析模塊的功能實現(xiàn)。</p><p><b>  參考文獻</b></p><p>  [1] 羅積玉,李超.軟件工程推進方法[M].四川:電子科技大學(xué)出版社,2004.9。</p><p>  [2] 杜斌,幸利.軟件設(shè)計工程[M].四川:電子科技大學(xué)出版社,2004.9。</p><

84、p>  [3] 李超,羅積玉.軟件制造工程[M].四川:電子科技大學(xué)出版社,2004.9。</p><p>  [4] 林邦杰.Java程序設(shè)計入門教程[M].北京:中國青年出版社,2001。</p><p>  [5] John D.mcGregor David A.Skyes[美].面向?qū)ο蟮能浖y試[M].楊文宏等譯.北京:機械工業(yè)出版社,2002。 </p>&

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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

提交評論