【正文】
t run, N icholas, Dr. Island said with the voice of a wave. It only makes him angry that you run. N icholas did not answer, but cut to his left, up the beach and among the trunks of the palms, spr inting all the way because he had no way of knowing Ignacio was not right behind him, about to grab him by the neck. When he stoppe d it was in the thick jungle, among the boles of the hardwoods, where he leaned,.。 words, realizing that they were a signal, he turned and began to run, splashing through the shallow water. Ignacio ran after him, much helped by his longer legs, his hair flying behind his dark young face, his square teetheach white as a bone and as big as Nicholas39。 特此聲明! 作者簽名: 年 月 日 Are you hungry now? No, I am tired and lazy now。 ( 5)學(xué)??梢怨紝W(xué)位論文的全部或部 分內(nèi)容(保密學(xué)位論文在解密后遵守此規(guī)定)。 ( 3)學(xué)校可以學(xué)術(shù)交流為目的復(fù)制、贈(zèng)送和交換學(xué)位論文。 關(guān)于學(xué)位論文使用權(quán)和研究成果知識(shí)產(chǎn)權(quán)的說明 : 本人完全了解成都信息工程學(xué)院有關(guān)保管使用學(xué)位論文的規(guī)定,其中包括: ( 1)學(xué)校有權(quán)保管并向有關(guān)部門遞交學(xué)位論文的原件與復(fù)印件。文中除了特別加以標(biāo)注地方外,不 包含他人已經(jīng)發(fā)表或撰寫過的研究成果,也不包含為獲得成都信息工程學(xué)院或其他教學(xué)機(jī)構(gòu)的學(xué)位或證書而使用過的材料。 致 謝 本文是在 李曉崗 老師的熱情關(guān)心和指導(dǎo)下完成的,他淵博的知識(shí)和嚴(yán)謹(jǐn)?shù)闹螌W(xué)作風(fēng)使我受益匪淺,對(duì)順利完成本課題起到了極大的作用。 高級(jí) [M].北京:電子工業(yè)出版社, 2021。 [6] 周競濤 .Eclipse完全手冊 基礎(chǔ) [4] 林邦杰 .Java程序設(shè)計(jì)入門教程 [M].北京:中國青年出版社, 2021。 [2] 杜斌,幸利 .軟件設(shè)計(jì)工程 [M].四 川:電子科技大學(xué)出版社, 。在短短兩個(gè)多月時(shí)間里,在老師的指導(dǎo)和同學(xué)的幫助下,我順利完成了積分失效和數(shù)據(jù)分析模塊的功能實(shí)現(xiàn)。因此在開發(fā)過程中還讓我了解到團(tuán)隊(duì)精神的重要性。 在這次的設(shè)計(jì)中,不僅鞏固和加深了以前所學(xué)的理論知識(shí),而且在實(shí)踐方面也吸取了很多經(jīng)驗(yàn)。以上都是在編程時(shí)所涉及到的知識(shí),其實(shí)在編程之前還要構(gòu)架環(huán)境,在這一方面也有很多問題,比如在設(shè)置數(shù)據(jù)源時(shí),這要根據(jù)數(shù)據(jù)源是在本機(jī)還是其它服務(wù)器的不同來設(shè)置。而且還學(xué)習(xí)了怎樣對(duì)各種文件進(jìn)行操作。 通過本次設(shè)計(jì),進(jìn)一步學(xué)習(xí)了 Java 編程語言和 SQL 數(shù)據(jù)庫知識(shí)。因此,在模塊開發(fā)時(shí) 應(yīng)考慮到各種實(shí)發(fā)情況的出現(xiàn),并做出相應(yīng)處理。而數(shù)據(jù)分析模塊則是對(duì)商品銷售信息進(jìn)行分析,對(duì)各種類型的商品銷售情況,銷售利潤做成數(shù)據(jù)資料以供外部分析使用。其中積分失效模塊對(duì)一年內(nèi)未購買任何物品的會(huì)員,進(jìn)行積分過期失效處理。其積分失效區(qū)分為有效。 程序結(jié)束 ***正常測試 *** 9 無錯(cuò)誤的情況 所有處理正常執(zhí)行,程序正常結(jié)束 *初期處理 * 10 開始日志輸出 正常輸出 *分析用明細(xì)作成項(xiàng)目編輯 * 11 明細(xì)文件 CODE 作 成 正確輸出(參照) 12 外部分析用 POS 明細(xì)文件是 0 的場合 文件正確作成 13 外部分析用 POS 明細(xì)文件是 1 的場合 文件正確作成 14 外部分析用 POS 明細(xì)文件是 50 的場合 文件正確作成 15 外部分析用 POS 明細(xì)文件是 98 的場合 文件正確作成 *結(jié)束處理 * 16 終了日志的輸出 終了日志正確輸入到數(shù)據(jù)庫日志表 測試實(shí)施 在準(zhǔn)備好測試數(shù)據(jù),配置好測試 環(huán)境后,根據(jù)測試清單上的內(nèi)容,逐條進(jìn)行測試,其中,如果中途發(fā)現(xiàn) BUG 存在,并對(duì)程序進(jìn)行 相 應(yīng)更改的話,則前面所做的測試全部作廢,需重新開始測試。 程序結(jié)束 7 POS 情報(bào)項(xiàng)目文件不存在 向數(shù)據(jù)庫日志表輸出“ POS 情報(bào)項(xiàng)目文件不存在”消息。 程序結(jié)束 5 外部分析用 POS 明細(xì)數(shù)據(jù)文件超過 99 個(gè) 向數(shù)據(jù)庫日志表輸出“ 外部分析用 POS 明細(xì)數(shù)據(jù)文件超出 99 個(gè)”消息。 ” 消息。 ” 消息。 ” 消息。 原數(shù)據(jù)不改變,程序結(jié)束 18 CSV 文件寫入錯(cuò)誤 向數(shù)據(jù)庫日志表輸出“ CSV 文件寫入失敗,日期:’ +當(dāng)前日期”消息。 原數(shù)據(jù)不改變,程序結(jié)束 16 會(huì)員數(shù)據(jù)更新失敗 向數(shù)據(jù)庫日志表輸出“ 會(huì)員數(shù)據(jù)更新失敗,會(huì)員號(hào):’ +檢索的會(huì)員號(hào)”消息。 原數(shù)據(jù)不改變,程序結(jié)束 14 會(huì)員履歷更新 錯(cuò)誤 向數(shù)據(jù)庫日志表輸出“ 會(huì)員履歷插入失敗,會(huì)員號(hào):’ +檢索的會(huì)員號(hào)”消息。 數(shù)據(jù)不更新,程序結(jié)束 12 會(huì)員數(shù)據(jù)檢索失敗 向數(shù)據(jù)庫日志表輸出“ 會(huì)員數(shù)據(jù)檢索失敗,會(huì)員號(hào):’ +檢索的會(huì)員號(hào)”消息。 數(shù)據(jù)不更新,程序結(jié)束 10 POINT 履歷取得錯(cuò)誤 向數(shù)據(jù)庫日志表輸出“ ‘ POINT 履歷獲取失敗,會(huì)員號(hào):’ +檢索的會(huì)員號(hào)”消息。 程序結(jié)束 *檢索、獲取數(shù)據(jù)時(shí)錯(cuò)誤 * 8 店鋪 CODE 取得錯(cuò)誤 向數(shù)據(jù)庫日志表輸出“ ‘店鋪 CODE 未設(shè)定,會(huì)員號(hào):’ +檢索的會(huì)員號(hào)”消息。 程序結(jié)束 *數(shù)據(jù)庫更新處理時(shí)共通錯(cuò)誤 * 7 各表更新處理時(shí)出錯(cuò) 向數(shù)據(jù)庫日志表輸出 ” POINT 失效處理失敗。 程序結(jié)束 6 無法打開 CSV 文件 向數(shù)據(jù)庫日志表輸出 ” POINT 失效處理失敗。 程序結(jié)束 *CSV 文件準(zhǔn)備處理 * 5 無法取得 CSV 文件名 向數(shù)據(jù)庫日志表輸出 ” POINT 失效處理失敗。 程序結(jié)束 4 POINT 失效處理日期取得錯(cuò)誤 向數(shù)據(jù)庫日志表輸出 ” 非失效處理日期。 程序結(jié)束 3 在 INI 文件中,文件地址、標(biāo)記值、內(nèi)容值不存在 向數(shù)據(jù)庫日志表輸出 ” INI 設(shè)定錯(cuò)誤。 程序結(jié)束 2 INI 文件打開出錯(cuò),或 INI 文件不可打開 向數(shù)據(jù)庫日志表輸出 ” INI 文件地址錯(cuò)誤。 積分失效模塊 單元檢測表 表 15 積分失效模塊 單元檢測表 項(xiàng)目名稱 POINT 失效 項(xiàng)目標(biāo)記名 FSPB1400 測試編號(hào) 測試內(nèi)容 測試結(jié)果 ***異常測試 *** *共通文件 (INI)取得 * 1 INI 文件不存在的場合 向數(shù)據(jù)庫日志表輸出 ” INI 文件地址錯(cuò)誤。所以,在軟件開發(fā)完成后,為了檢驗(yàn)是否達(dá)到客戶要求需要進(jìn)行全面的測試,包括程序的邏輯處理,輸入 /輸出處理,邊界條件判斷,異常處理等。 } catch (IOException e) { // TODO Autogenerated catch block ()。 ()。 //從新的一行開始寫入 ()。 try { fw = new FileWriter(address,true)。 while(str!=null) { ? } //打開文件寫入數(shù)據(jù) String address=()。 BufferedReader inOjb = new BufferedReader(fr)。 ()。 File outposprefix=new File(Pos_Data,Out_Pos_PreFIX)。 } 對(duì)文件 操作 //判斷文件路徑或文件是否存在 , File 的 exists 方法返回是 ture 則存在。 String tenpo=(TENPO_CODE)。 ResultSet rs=(temp)。 String temp=SELECT MEMBER_CODE,TENPO_CODE FROM FSPTB_MEMBER WHERE MEMBER_CODE=39。 getxxx 方法可以獲得結(jié)果集中的某一項(xiàng)其中 xxx 為該項(xiàng)的屬性,如 String 等 try { con=(url,user,password)。 } catch (SQLException e1) { // TODO Autogenerated catch block ()。 (temp)。 try { con=(url,user,password)。39。 讀取出錯(cuò) 39。iniread 39。iniread 39。查找的地址不存在 39。讀取文件錯(cuò)誤 39。L39。 //定義數(shù)據(jù)源的 login name String password=123456。 //讀取 INI 文件中的一行 ? ? } 對(duì)數(shù)據(jù)庫操作 //向數(shù)據(jù)庫插入一條數(shù)據(jù) ,此處 temp 除可進(jìn)行插入 操作外 ,還能進(jìn)行更新 ,刪除操作 String url=jdbc:odbc:tokyosuper。 br=new BufferedReader(inOjb)。 //定義數(shù)據(jù)源的 login name String password。 //用于執(zhí)行靜態(tài) SQL 語句并返回它所生成結(jié)果的對(duì)象 String url。 Connection con。 //創(chuàng)建一個(gè) 用來讀取字符文件的 對(duì)象 BufferedReader br。專門建立一個(gè)類 來實(shí)現(xiàn)各種功能。 } 讀取 INI 文件 INI 文件中 記錄了本系統(tǒng)中 所有 數(shù)據(jù)文件的存儲(chǔ)地址。 程序開發(fā) 程序流程圖 圖 4 積分失效模塊流程圖 圖 5 數(shù)據(jù)分析模塊 模塊流程圖 建立 JDBCODBC 橋接器 try { ()。 OBDC 數(shù)據(jù)源為tokyosuper。 退貨交易 =” 1” 或者購買金額的計(jì)算結(jié)果 0,則置 “ 1” 。 表 14項(xiàng)目 數(shù)據(jù) 移動(dòng)表 移動(dòng)表名稱 移 動(dòng) 操作地址名稱 A 項(xiàng)目 數(shù)據(jù) 移動(dòng)表 B C D 編輯項(xiàng) 目名稱 原 項(xiàng) 目名稱 A B C D 移 動(dòng) 方式 record 區(qū)分 record 區(qū)分 Y 同項(xiàng)目 店鋪 CODE 店鋪 CODE Y 同項(xiàng)目 register NO terminal NO Y 店鋪 CODE 店鋪 CODE Y 同項(xiàng)目 receipt NO 購買編號(hào) Y 購買日期 購買日期 Y 同項(xiàng)目 購買時(shí)間 購買時(shí)間 Y 同項(xiàng)目 會(huì)員 CODE 會(huì)員 CODE Y 同項(xiàng)目 商品分類號(hào) 1 大分類號(hào) Y JAN CODE 的左 1~2 位 商品分類號(hào) 2 中分類號(hào) Y JAN CODE 的左 3~4 位 商品分類號(hào) 3 小分類號(hào) Y JAN CODE 的左 5~7 位 商品分類號(hào) 4 細(xì)分類號(hào) Y JAN CODE 的左 8~13 位 擴(kuò)充預(yù)留 “ 0” JAN CODE Y 如果 中的JANCODE=0000000000000, JANCODE=9999999+GP CODE 的右 2 位+部門 CODE 的右 4位 .否則 , JANCODE等于 中 JANCODE 商品名 商品名 Y 同項(xiàng)目 購買點(diǎn)數(shù) 購買點(diǎn)數(shù) Y 同項(xiàng)目 購買金額 Y 中的 ‘ 消費(fèi) 金額 ’ -折扣價(jià)-貼現(xiàn)價(jià)-按比例折扣價(jià)-按比例貼現(xiàn)價(jià)-按比例 Mamp。 3) 結(jié)束處理 。 ( 3) POS 明細(xì)文件 CODE 作成 。 ( 2)讀取 POS 項(xiàng)目信息文件 。 ④. 檢查 POS 項(xiàng)目信息文件 。 ③. 檢查 POS 項(xiàng)目信息文件路徑 。 ②. 生成 POS 明細(xì)文件 。 ①. 檢查 POS 明細(xì)文件路徑 。 2) 分析用 POS 明細(xì)文件作成 。 如存在錯(cuò)誤,輸出錯(cuò)誤信息,程序結(jié)束 。 會(huì)員 CODE 會(huì)員 CODE Y 同項(xiàng)目 顧客NO NULL 當(dāng)日追加 POINT(更新前) 當(dāng)日追加 POINT Y 同項(xiàng)目 當(dāng)日 支出 POINT(更新前) 當(dāng)日 支出 POINT Y 同項(xiàng)目 現(xiàn)在 POINT(更新前) 現(xiàn)在 POINT( Y 同項(xiàng)目 當(dāng)日獲贈(zèng) POINT(更新前) 當(dāng)日獲贈(zèng) POINT Y 同項(xiàng)目 當(dāng)日減算金額(更新前)