摘 要:為了使教學貼近生活實際,激發學生學習興趣,提升學生編程能力,本課程以項目為驅動,將“停車收費系統”項目貫穿于整個課程中,從而理論聯系實際,切實加強學生編程技能。
關鍵詞:C#;項目驅動;案例
中圖分類號:TP311.1-4 文獻標識碼:A文章編號:2096-4706(2018)01-0115-03
Study on the Teaching Case of “C# Programming Design”
WANG Liang
(Department of Information Technology,Hubei Polytechnic Institute,Xiaogan 432000,China)
Abstract:In order to make teaching close to the reality of life,stimulate students' interest in learning and improve their programming ability,this course takes project driving as a driving force to run the parking charging system project in the whole course,so as to integrate theory with practice and enhance students' programming skills.
Keywords:C#;project driving;case
0 引 言
通過對中小型停車場的調查研究,本課程擬完成一個停車收費系統,要求系統具有以下功能:能夠設置每小時的收費標準;能修改管理員密碼;能辦理會員并且對會員用戶有一定的優惠;方便快捷的入庫和出庫管理。本項目所需技能點:掌握類、字段、屬性和方法;掌握封裝、繼承和多態;掌握抽象類和接口;掌握序列化和反序列化。根據系統功能分析,系統需要管理員登錄后才能使用,需要定義管理員類。
停車場現階段允許臨時用戶和會員用戶停車,以后可能會有更多類型的用戶,定義用戶抽象父類,再定義臨時用戶類和會員用戶類繼承于用戶父類。部分用戶類型需要有打印消費明細功能,定義打印明細接口。所有的對象都是屬于停車場,定義停車場類包含有車位數,會員用戶集合,已停車用戶集合等屬性。本系統無數據庫,使用文件來保存數據,定義停車場管理類,包含停車場對象和存、取的方法。
1 項目設計
1.1 開發環境
開發語言:C#
開發工具:Visual Studio 2012
1.2 創建類
根據需求,本系統將創建兩個類:停車場類和停車場管理靜態類。
停車場類用于定義總車位數、進庫車數、出庫車數和會員折扣等字段;生成屬性;創建無參和有參構造函數;編寫驗證用戶注冊ID的方法。停車場管理靜態類用于創建停車場對象;編寫保存數據方法(序列化);編寫讀取數據方法(反序列化)。
1.3 功能模塊
停車收費管理系統包括10個功能模塊界面:登錄界面、系統主界面、費用設置界面、修改管理員密碼界面、會員開戶界面、會員充值界面、會員注銷界面、會員查詢界面、車輛入庫界面、車輛出庫界面。
(1)登錄模塊
功能描述:打開登錄界面時加載停車場信息。點擊“登錄”按鈕時先驗證是否輸入了帳號密碼,進行非空驗證,然后再判斷帳號和密碼是否正確,若帳號或密碼有誤,則提示錯誤;若正確,則進入到系統主界面,同時登錄界面隱藏。點擊“退出”按鈕時,則退出系統。
(2)費用設置功能
功能描述:設置每小時停車的價格,價格保留一位有效小數,若輸入的價格是非數字字符,則采用異常處理機制處理價格文本框,以提示用戶重新輸入,直到輸入正確為止。
(3)修改管理員密碼界面
功能描述:該模塊先輸入舊密碼,再輸入兩次新密碼,驗證通過后保存新密碼。點擊“取消”按鈕,所有文本框內容重置為空。
(4)會員開戶功能
功能描述:該模塊要求用戶輸入卡號、車牌號、姓名、電話、充值金額。同時對所有的輸入進行以下驗證:輸入非空驗證、驗證是否已有此卡號ID、驗證金額必須是正數。創建會員對象并保存到會員集合,開戶成功后中轉到入庫界面。
(5)會員充值功能
功能描述:該模塊主要完成對會員進行充值功能。管理員選擇被充值的會員,輸入充值金額,并同時顯示余額。要求顯示窗體時先加載所有會員號;在會員卡號下拉框的數量發生改變時,修改顯示的余額;點擊“確定”按鈕時驗證會員卡號和充值金額,通過后進行充值。
(7)會員查找功能
功能描述:該模塊根據不同條件查找滿足條件的會員,例如卡號、車牌號、姓名、電話、注冊日期等。每次查找時,先清空List View列表;當無輸入時顯示所有會員;有數據時按所選類型進模糊搜索;無數據時給出提示。
(8)車輛入庫功能
功能描述:該模塊可根據輸入或識別的卡號,將卡號對應的車輛進行入庫,并同時記錄停車的起始時間進行計時。
(9)出庫繳費
功能描述:該模塊主要是完成對出庫車輛的收費功能。當車輛駛出停車場出庫時,用戶刷卡,識別卡號,計算用戶此次停車所消費的金額,并在會員卡的當前余額進行扣繳費用。
2 結 論
本課程通過“停車收費系統案例”的演練,旨在鞏固和加強學生的知識點和技能點,強化學生的實際編程能力和邏輯思維能力,取得了較好的教學效果。
參考文獻:
[1] 孫紅杰,孫鈺塽,付強,王會英.基于項目驅動的C#實驗課程教學改革 [J].教學研究,2016,39(3):88-91.
[2] 蔣桂蓮.《C#程序設計》課程教學方法探討 [J].信息系統工程,2017(8):163-164.
作者簡介:王亮(1982-),男,湖北孝感人,講師。主要研究教育信息技術、信息安全、可信網絡。