超市購物管理係統的6個子模塊涵蓋了編程邏輯-Java程序設計課程的核心知識點,因此,教學項目與課程教學目標的總體思路是基本一致的。
根據迭代開發的原則,項目分解為更易實現的獨立案例。下麵介紹項目的分解及迭代開發過程。根據“超市購物管理係統”的設計,編程邏輯-Java程序設計課程的教學過程中實現進行了六次迭代。每次迭代開發均涉及不同的教學單元和知識點,並逐步推進課程教學,實現的“超市購物管理係統”功能也在不斷增強。
(1) 第一次迭代,案例目標(任務1):超市小票的打印功能,對應“Java起步”和“Java語句”教學單元,涉及主要知點:Java Application的基本結構和Java開發工具包的常用命令。
作為項目迭代的啟動階段,要通過“超市購物管理係統”的實際演示來讓學生對教學項目有個總體認知,同時了解課程總體的教學目標。然後師生共同分解出第一次迭代案例的任務,打印輸出超市小票。將學生引入編程領域,熟悉Java Application的基本結構,會根據真實的超市小票進行打印輸出,會使用Java命令編譯程序,會使用Java命令執行程序。
同時,在實踐過程中要提出程序名的行業命名規則和程序代碼的編寫規範。
(2) 第二次迭代,案例目標(任務2):超市購物結算功能,對應“Java變量”、“Java運算符”和“Java表達式、語句和代碼塊”教學單元;涉及主要知識點:使用變量的三個步驟、基本的數據類型(String、int、double、char)、基本的算術運算符(+、-、*)、賦值運算符(=)。
在這一階段,教師引導學生學習變量的作用及其使用的三個步驟,使用算術運算符對超市購物進行簡單的邏輯計算,無形中學會運用表達式,使第一次迭代中超市小票的輸出具有一定的現實意義。這樣,讓學生先體會到原來在超市管理係統中的結賬功能用很簡單的算術運算就可以實現,再輔以形象生動的多媒體動態演示,讓學生輕鬆掌握數據類型的作用以及變量存在的必然性及變量使用的三個步驟。
同時,在實踐過程中要強調變量的行業命名規範和提出對程序編碼規範的要求。
(3) 第三次迭代,案例目標(任務3):錄入會員信息功能,包含“Java起步”、“Java運算符”、“Java表達式、語句和代碼塊”和“Java流程控製語句”教學單元;涉及主要知識點:算術運算符(/、%)、比較運算符(<;、>;)、邏輯運算符(||)、在命令行模式下與程序互動(Scanner)、next()、nextInt()、nextDouble()、if-else語句。
在這一階段,我們引導學生可以對程序輸入一些數據,作一些傻瓜式的互動。在Java SE 5.0以後,可以使用java.util.Scanner類取得使用者的輸入,要求錄入會員的卡號和積分。
在該階段,要求會員的卡號為四位整數,引導學生會對變量和字麵常量進行簡單的比較、會使用簡單的if-else流程控製語句。
在第一次迭代中,學生對給變量賦值在程序的情形不符合現實生活中的情形發生質疑,此時應該引導學生將固定值升級為用戶與程序的互動,而且引導學生使用/和%計算出會員卡號的所有數字之和,複習剛剛學過的比較運算符,如果卡號所有數字之和大於20,可以獲得超市的精美禮品一份。
(4) 第四次迭代,案例目標(任務4):真情回饋抽獎功能,“Java起步”、“Java運算符”、“Java表達式、語句和代碼塊”和“Java流程控製語句”教學單元;涉及主要知識點:if-else語句、switch語句、Math.random()函數。
根據超市為了鼓勵顧客使用會員卡,對會員積分的不同等級設置相應的打折優惠,此時引導學生編寫複雜的if-else語句,並且學習switch語句實現同樣的功能。
在第三迭代的基礎上,引入Math.random()函數生成一個0-9之間的隨機整數,判斷顧客卡號十位數字是否等於隨機生成的整數,如果相等則贈送精美禮品。這樣就降低了獲得贈品的幾率,既符合現實生活中的實際情形又能使得學生很容易接受新的知識點。
(5) 第五次迭代,案例目標(任務5):讀取物品條碼模塊,對應“Java起步”、“Java運算符”、“Java表達式、語句和代碼塊”和“Java流程控製語句”教學單元;涉及主要知識點:switch語句、while語句、for語句。
因為超市的物品都是通過讀取條形碼來獲取物品的名稱和價格,所以在第五次迭代中引導學生使用while語句和switch語句的結合來模擬通過用戶連續輸入物品的條形碼來獲取物品的名稱和價格。然後,演示for語句、do-while語句也可以實現同樣的功能。
(6) 第六次迭代,案例目標(任務6):係統管理菜單,對應“Java起步”、“Java運算符”、“Java表達式、語句和代碼塊”和“Java流程控製語句”教學單元;涉及主要知識點:do-while語句、for語句、boolean類型。
在前麵迭代的基礎上,使用do-while語句、if語句結合隨機函數編程實現禮品饋贈的活動。要求使用if語句和for語句來編程實現超市會員中年齡超過30的會員數量的統計。