【正文】
好壞直接關(guān)系到開發(fā)過程中代碼實(shí)現(xiàn)的功能強(qiáng)大與否,是否包含齊備客戶所需求的功能。 2) 輸出開始日志記錄。 ( 1)讀入初始設(shè)定的會(huì)員信息數(shù)據(jù)文件 。 系統(tǒng)日期不是 POINT 實(shí)效處理日期的場合,輸出信息,程序結(jié)束。 ( 2) 取得文件名。amp。 ③ POINT 失效對象抽出( 2) ( 1) 從 FSPTB_POINT 和 FSPTB_MEMBER 中讀取會(huì)員 CODE。 條件: 會(huì)員編號(hào)是匹配會(huì)員編號(hào) 。 條件:會(huì)員編號(hào)是匹配會(huì)員編 。 ( 4) 從 FSPTB_POINT_RIREKI中取出匹配會(huì)員的 POINT履歷信息數(shù)據(jù)。 a) 匹配用戶的 POINT 更新日志 不存在 。 ( 6) FSPTB_POINT_RIREKI 的追加更新。 b) 通過( 4)取得的 POINT 履歷不是 EOF 的情況,存儲(chǔ)初始狀態(tài),并更新,參照“ POINT 履歷(更新)項(xiàng)目移動(dòng)表”。 參照“用戶數(shù)據(jù)項(xiàng)目移動(dòng)表” 。 表 8 POINT信息項(xiàng)目移動(dòng)表 移動(dòng)表名稱 移動(dòng)操作地址名稱 A FSPTB_POINT POINT 信息項(xiàng)目移動(dòng)表 B C D 編輯項(xiàng)目名稱 原項(xiàng)目名稱 A B C D 移動(dòng)方式 現(xiàn)在 POINT 0 消費(fèi)累計(jì) POINT 消費(fèi)累計(jì) POINT+當(dāng)前 POINT 擔(dān)當(dāng)者 CODE NULL 系統(tǒng)更新時(shí)間 執(zhí)行操作時(shí)系統(tǒng)時(shí)間 表 9 POINT更新日志新建項(xiàng)目移動(dòng)表 移動(dòng)表名稱 移動(dòng)操作地址名稱 A FSPTB_MEMBER POINT 更新日志新建項(xiàng)目移動(dòng)表 B FSPTB_POINT C D 編輯項(xiàng)目名稱 原項(xiàng)目名稱 A B C D 移動(dòng)方式 店鋪 CODE 店鋪 CODE Y FSPTB_MEMBER的店舗 CODE的右 3位數(shù)的值 ① 小于 10的情況,該值加 5個(gè)空格。 ⑤ 小于 100的情況,該值加 4個(gè)空格。 如存在錯(cuò)誤,輸出錯(cuò)誤信息,程序結(jié)束 。 ①. 檢查 POS 明細(xì)文件路徑 。 ③. 檢查 POS 項(xiàng)目信息文件路徑 。 ( 2)讀取 POS 項(xiàng)目信息文件 。 3) 結(jié)束處理 。 退貨交易 =” 1” 或者購買金額的計(jì)算結(jié)果 0,則置 “ 1” 。 程序開發(fā) 程序流程圖 圖 4 積分失效模塊流程圖 圖 5 數(shù)據(jù)分析模塊 模塊流程圖 建立 JDBCODBC 橋接器 try { ()。專門建立一個(gè)類 來實(shí)現(xiàn)各種功能。 Connection con。 //定義數(shù)據(jù)源的 login name String password。 //讀取 INI 文件中的一行 ? ? } 對數(shù)據(jù)庫操作 //向數(shù)據(jù)庫插入一條數(shù)據(jù) ,此處 temp 除可進(jìn)行插入 操作外 ,還能進(jìn)行更新 ,刪除操作 String url=jdbc:odbc:tokyosuper。L39。查找的地址不存在 39。iniread 39。39。 (temp)。 getxxx 方法可以獲得結(jié)果集中的某一項(xiàng)其中 xxx為該項(xiàng)的屬性,如 String 等 try { con=(url,user,password)。 ResultSet rs=(temp)。 } 對文件 操作 //判斷文件路徑或文件是否存在 , File 的 exists 方法返回是 ture 則存在。 ()。 while(str!=null) { ? } //打開文件寫入數(shù)據(jù) String address=()。 //從新的一行開始寫入 ()。 } catch (IOException e) { // TODO Autogenerated catch block ()。 積分失效模塊 單元檢測表 表 15 積分失效模塊 單元檢測表 項(xiàng)目名稱 POINT 失效 項(xiàng)目標(biāo)記名 FSPB1400 測試編號(hào) 測試內(nèi)容 測試結(jié)果 ***異常測試 *** *共通文件 (INI)取得 * 1 INI 文件不存在的場合 向數(shù)據(jù)庫日志表輸出 ” INI 文件地址錯(cuò)誤。 程序結(jié)束 3 在 INI 文件中,文件地址、標(biāo)記值、內(nèi)容值不存在 向數(shù)據(jù)庫日志表輸出 ” INI 設(shè)定錯(cuò)誤。 程序結(jié)束 *CSV 文件準(zhǔn)備處理 * 5 無法取得 CSV 文件名 向數(shù)據(jù)庫日志表輸出 ” POINT 失效處理失敗。 程序結(jié)束 *數(shù)據(jù)庫更新處理時(shí)共通錯(cuò)誤 * 7 各表更新處理時(shí)出錯(cuò) 向數(shù)據(jù)庫日志表輸出 ” POINT 失效處理失敗。 數(shù)據(jù)不更新,程序結(jié)束 10 POINT 履歷取得錯(cuò)誤 向數(shù)據(jù)庫日志表輸出“ ‘ POINT 履歷獲取失敗,會(huì)員號(hào):’ +檢索的會(huì)員號(hào)”消息。 原數(shù)據(jù)不改變,程序結(jié)束 14 會(huì)員履歷更新 錯(cuò)誤 向數(shù)據(jù)庫日志表輸出“ 會(huì)員履歷插入失敗,會(huì)員號(hào):’ +檢索的會(huì)員號(hào)”消息。 原數(shù)據(jù)不改變,程序結(jié)束 18 CSV 文件寫入錯(cuò)誤 向數(shù)據(jù)庫日志表輸出“ CSV 文件寫入失敗,日期:’ +當(dāng)前日期”消息。 ” 消息。 程序結(jié)束 5 外部分析用 POS 明細(xì)數(shù)據(jù)文件超過 99 個(gè) 向數(shù)據(jù)庫日志表輸出“ 外部分析用 POS 明細(xì)數(shù)據(jù)文件超出 99 個(gè)”消息。 程序結(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存在,并對程序進(jìn)行 相 應(yīng)更改的話,則前面所做的測試全部作廢,需重新開始測試。其中積分失效模塊對一年內(nèi)未購買任何物品的會(huì)員,進(jìn)行積分過期失效處理。因此,在模塊開發(fā)時(shí) 應(yīng)考慮到各種實(shí)發(fā)情況的出現(xiàn),并做出相應(yīng)處理。而且還學(xué)習(xí)了怎樣對各種文件進(jìn)行操作。 在這次的設(shè)計(jì)中,不僅鞏固和加深了以前所學(xué)的理論知識(shí),而且在實(shí)踐方面也吸取了很多經(jīng)驗(yàn)。在短短兩個(gè)多月時(shí)間里,在老師的指導(dǎo)和同學(xué)的幫助下,我順利完成了積分失效和數(shù)據(jù)分析模塊的功能實(shí)現(xiàn)。 [4] 林邦杰 .Java程序設(shè)計(jì)入門教程 [M].北京:中國青年出版社, 2020。 高級(jí) [M].北京:電子工業(yè)出版社, 2020。文中除了特別加以標(biāo)注地方外,不 包含他人已經(jīng)發(fā)表或撰寫過的研究成果,也不包含為獲得成都信息工程學(xué)院或其他教學(xué)機(jī)構(gòu)的學(xué)位或證書而使用過的材料。 ( 3)學(xué)??梢詫W(xué)術(shù)交流為目的復(fù)制、贈(zèng)送和交換學(xué)位論文。 特此聲明! 作者簽名: 年 月 日 Are you hungry now? No, I am tired and lazy now。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。 ( 5)學(xué)校可以公布學(xué)位論文的全部或部 分內(nèi)容(保密學(xué)位論文在解密后遵守此規(guī)定)。 關(guān)于學(xué)位論文使用權(quán)和研究成果知識(shí)產(chǎn)權(quán)的說明 : 本人完全了解成都信息工程學(xué)院有關(guān)保管使用學(xué)位論文的規(guī)定,其中包括: ( 1)學(xué)校有權(quán)保管并向有關(guān)部門遞交學(xué)位論文的原件與復(fù)印件。 致 謝 本文是在 李曉崗 老師的熱情關(guān)心和指導(dǎo)下完成的,他淵博的知識(shí)和嚴(yán)謹(jǐn)?shù)闹螌W(xué)作風(fēng)使我受益匪淺,對順利完成本課題起到了極大的作用。 [6] 周競濤 .Eclipse完全手冊 基礎(chǔ) [2] 杜斌,幸利 .軟件設(shè)計(jì)工程 [M].四 川:電子科技大學(xué)出版社, 。因此在開發(fā)過程中還讓我了解到團(tuán)隊(duì)精神的重要性。以上都是在編程時(shí)所涉及到的知識(shí),其實(shí)在編程之前還要構(gòu)架環(huán)境,在這一方面也有很多問題,比如在設(shè)置數(shù)據(jù)源時(shí),這要根據(jù)數(shù)據(jù)源是在本機(jī)還是其它服務(wù)器的不同來設(shè)置。 通過本次設(shè)計(jì),進(jìn)一步學(xué)習(xí)了 Java 編程語言和 SQL 數(shù)據(jù)庫知識(shí)。而數(shù)據(jù)分析模塊則是對商品銷售信息進(jìn)行分析,對各種類型的商品銷售情況,銷售利潤做成數(shù)據(jù)資料以供外部分析使用。其積分失效區(qū)分為有效。 程序結(jié)束 7 POS 情報(bào)項(xiàng)目文件不存在 向數(shù)據(jù)庫日志表輸出“ POS 情報(bào)項(xiàng)目文件不存在”消息。 ” 消息。 ” 消息。 原數(shù)據(jù)不改變,程序結(jié)束 16 會(huì)員數(shù)據(jù)更新失敗 向數(shù)據(jù)庫日志表輸出“ 會(huì)員數(shù)據(jù)更新失敗,會(huì)員號(hào):’ +檢索的會(huì)員號(hào)”消息。 數(shù)據(jù)不更新,程序結(jié)束 12 會(huì)員數(shù)據(jù)檢索失敗 向數(shù)據(jù)庫日志表輸出“ 會(huì)員數(shù)據(jù)檢索失敗,會(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é)束 6 無法打開 CSV 文件 向數(shù)據(jù)庫日志表輸出 ” POINT 失效處理失敗。 程序結(jié)束 4 POINT 失效處理日期取得錯(cuò)誤 向數(shù)據(jù)庫日志表輸出 ” 非失效處理日期。 程序結(jié)束 2 INI 文件打開出錯(cuò),或 INI 文件不可打開 向數(shù)據(jù)庫日志表輸出 ” INI 文件地址錯(cuò)誤。所以,在軟件開發(fā)完成后,為了檢驗(yàn)是否達(dá)到客戶要求需要進(jìn)行全面的測試,包括程序的邏輯處理,輸入 /輸出處理,邊界條件判斷,異常處理等。 ()。 try { fw = new FileWriter(address,true)。 BufferedReader inOjb = new BufferedReader(fr)。 File outposprefix=new File(Pos_Data,Out_Pos_PreFIX)。 String tenpo=(TENPO_CODE)。 String temp=SELECT MEMBER_CODE,TENPO_CODE FROM FSPTB_MEMBER WHERE MEMBER_CODE=39。 } catch (SQLException e1) { // TODO Autogenerated catch block ()。 try { con=(url,user,password)。 讀取出錯(cuò) 39。iniread 39。讀取文件錯(cuò)誤 39。 //定義數(shù)據(jù)源的 login name String password=123456。 br=new BufferedReader(inOjb)。 //用于執(zhí)行靜態(tài) SQL 語句并返回它所生成結(jié)果的對象 String url。 //創(chuàng)建一個(gè) 用來讀取字符文件的 對象 BufferedReader br。 } 讀取 INI 文件 INI 文件中 記錄了本系統(tǒng)中 所有 數(shù)據(jù)文件的存儲(chǔ)地址。 OBDC 數(shù)據(jù)源為tokyosuper。 表 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