摘 要:為了使教學(xué)貼近生活實際,激發(fā)學(xué)生學(xué)習(xí)興趣,提升學(xué)生編程能力,本課程以項目為驅(qū)動,將“停車收費系統(tǒng)”項目貫穿于整個課程中,從而理論聯(lián)系實際,切實加強學(xué)生編程技能。
關(guān)鍵詞:C#;項目驅(qū)動;案例
中圖分類號:TP311.1-4 文獻標(biāo)識碼: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 引 言
通過對中小型停車場的調(diào)查研究,本課程擬完成一個停車收費系統(tǒng),要求系統(tǒng)具有以下功能:能夠設(shè)置每小時的收費標(biāo)準(zhǔn);能修改管理員密碼;能辦理會員并且對會員用戶有一定的優(yōu)惠;方便快捷的入庫和出庫管理。本項目所需技能點:掌握類、字段、屬性和方法;掌握封裝、繼承和多態(tài);掌握抽象類和接口;掌握序列化和反序列化。根據(jù)系統(tǒng)功能分析,系統(tǒng)需要管理員登錄后才能使用,需要定義管理員類。
停車場現(xiàn)階段允許臨時用戶和會員用戶停車,以后可能會有更多類型的用戶,定義用戶抽象父類,再定義臨時用戶類和會員用戶類繼承于用戶父類。部分用戶類型需要有打印消費明細(xì)功能,定義打印明細(xì)接口。所有的對象都是屬于停車場,定義停車場類包含有車位數(shù),會員用戶集合,已停車用戶集合等屬性。本系統(tǒng)無數(shù)據(jù)庫,使用文件來保存數(shù)據(jù),定義停車場管理類,包含停車場對象和存、取的方法。
1 項目設(shè)計
1.1 開發(fā)環(huán)境
開發(fā)語言:C#
開發(fā)工具:Visual Studio 2012
1.2 創(chuàng)建類
根據(jù)需求,本系統(tǒng)將創(chuàng)建兩個類:停車場類和停車場管理靜態(tài)類。
停車場類用于定義總車位數(shù)、進庫車數(shù)、出庫車數(shù)和會員折扣等字段;生成屬性;創(chuàng)建無參和有參構(gòu)造函數(shù);編寫驗證用戶注冊ID的方法。停車場管理靜態(tài)類用于創(chuàng)建停車場對象;編寫保存數(shù)據(jù)方法(序列化);編寫讀取數(shù)據(jù)方法(反序列化)。
1.3 功能模塊
停車收費管理系統(tǒng)包括10個功能模塊界面:登錄界面、系統(tǒng)主界面、費用設(shè)置界面、修改管理員密碼界面、會員開戶界面、會員充值界面、會員注銷界面、會員查詢界面、車輛入庫界面、車輛出庫界面。
(1)登錄模塊
功能描述:打開登錄界面時加載停車場信息。點擊“登錄”按鈕時先驗證是否輸入了帳號密碼,進行非空驗證,然后再判斷帳號和密碼是否正確,若帳號或密碼有誤,則提示錯誤;若正確,則進入到系統(tǒng)主界面,同時登錄界面隱藏。點擊“退出”按鈕時,則退出系統(tǒng)。
(2)費用設(shè)置功能
功能描述:設(shè)置每小時停車的價格,價格保留一位有效小數(shù),若輸入的價格是非數(shù)字字符,則采用異常處理機制處理價格文本框,以提示用戶重新輸入,直到輸入正確為止。
(3)修改管理員密碼界面
功能描述:該模塊先輸入舊密碼,再輸入兩次新密碼,驗證通過后保存新密碼。點擊“取消”按鈕,所有文本框內(nèi)容重置為空。
(4)會員開戶功能
功能描述:該模塊要求用戶輸入卡號、車牌號、姓名、電話、充值金額。同時對所有的輸入進行以下驗證:輸入非空驗證、驗證是否已有此卡號ID、驗證金額必須是正數(shù)。創(chuàng)建會員對象并保存到會員集合,開戶成功后中轉(zhuǎn)到入庫界面。
(5)會員充值功能
功能描述:該模塊主要完成對會員進行充值功能。管理員選擇被充值的會員,輸入充值金額,并同時顯示余額。要求顯示窗體時先加載所有會員號;在會員卡號下拉框的數(shù)量發(fā)生改變時,修改顯示的余額;點擊“確定”按鈕時驗證會員卡號和充值金額,通過后進行充值。
(7)會員查找功能
功能描述:該模塊根據(jù)不同條件查找滿足條件的會員,例如卡號、車牌號、姓名、電話、注冊日期等。每次查找時,先清空List View列表;當(dāng)無輸入時顯示所有會員;有數(shù)據(jù)時按所選類型進模糊搜索;無數(shù)據(jù)時給出提示。
(8)車輛入庫功能
功能描述:該模塊可根據(jù)輸入或識別的卡號,將卡號對應(yīng)的車輛進行入庫,并同時記錄停車的起始時間進行計時。
(9)出庫繳費
功能描述:該模塊主要是完成對出庫車輛的收費功能。當(dāng)車輛駛出停車場出庫時,用戶刷卡,識別卡號,計算用戶此次停車所消費的金額,并在會員卡的當(dāng)前余額進行扣繳費用。
2 結(jié) 論
本課程通過“停車收費系統(tǒng)案例”的演練,旨在鞏固和加強學(xué)生的知識點和技能點,強化學(xué)生的實際編程能力和邏輯思維能力,取得了較好的教學(xué)效果。
參考文獻:
[1] 孫紅杰,孫鈺塽,付強,王會英.基于項目驅(qū)動的C#實驗課程教學(xué)改革 [J].教學(xué)研究,2016,39(3):88-91.
[2] 蔣桂蓮.《C#程序設(shè)計》課程教學(xué)方法探討 [J].信息系統(tǒng)工程,2017(8):163-164.
作者簡介:王亮(1982-),男,湖北孝感人,講師。主要研究教育信息技術(shù)、信息安全、可信網(wǎng)絡(luò)。