葛懷雨
摘要:《Delphi程序設(shè)計》是我院軟件技術(shù)專業(yè)學生的選修課程,傳統(tǒng)的教學方法不能滿足現(xiàn)在企業(yè)中的團隊合作的需要。模擬教學法則是以學生為主,老師為輔;以企業(yè)工作中實際角色分配任務(wù),老師少講,學生多做,提高學生的綜合能力,尤其是職業(yè)行動力,該文結(jié)合實際教學情況對模擬教學法在Delphi程序設(shè)計課程中的應(yīng)用進行了研究與實踐。結(jié)果證明,模擬教學法對Delphi程序設(shè)計課程的教學具有積極的作用。
關(guān)鍵詞:Delphi程序設(shè)計;模擬教學法;角色分配
中圖分類號:G642 文獻標識碼:A 文章編號:1009-3044(2014)22-5260-05
Delphi程序設(shè)計是我院軟件技術(shù)專業(yè)三年級學生的選修課程,該課程采用面向?qū)ο蟪绦蛟O(shè)計方法。程序設(shè)計是一門概念復(fù)雜、抽象、知識面廣的課程。每位學生都想著有一天自己的程序能在指縫間源源不斷的敲擊出來,自己設(shè)計的系統(tǒng)能完美運行。然而在真正學習該課程后,開始編寫系統(tǒng)程序時,往往無所下手,沒有頭緒,沒有思路,盡管當時努力學習課程,通過考試,但并沒有體會到理論聯(lián)系實際的樂趣,便逐漸使學生失去了編程的興趣。
Delphi程序設(shè)計的前導(dǎo)課程是VB、C程序設(shè)計和數(shù)據(jù)庫系統(tǒng)、軟件工程。因此學生們已具備軟件工程開發(fā)思想,編程能力和數(shù)據(jù)庫基礎(chǔ)。該課程進一步提高學生的編程能力、分析解決問題的能力及用軟件工程的思想和方法設(shè)計開發(fā)功能較完整的實際應(yīng)用系統(tǒng),并提高學生的分工協(xié)作、團隊合作、口頭表達及文字表述能力方面的能力。
1 模擬教學法
如何提高學生的學習積極性,從傳統(tǒng)教學法到任務(wù)驅(qū)動法的教學過程使學生的學習積極性提升上來了,但并不符合當前企業(yè)的崗位實際需要。如何既能保證學生的學習興趣不減,又能使學生更好地理解軟件企業(yè)的崗位需要,提高協(xié)作能力,課程教學過程中設(shè)計了一套模擬教學法,也就是模擬企業(yè)在軟件開發(fā)過程中崗位需求的設(shè)置,結(jié)合高職院校學生的實際學習情況,將模擬教學法應(yīng)用到Delphi程序設(shè)計課程中。模擬教學法結(jié)合案例教學法、項目教學法、角色扮演和探索式教學法。將全體成員分成若干小組,采用小組合作,明確分工,演示匯報的方式完成課程教學。
2 實踐及過程
2.1角色扮演及職業(yè)生涯規(guī)劃
課程中最先講解的是角色扮演。軟件工程的思想,是針對不同的難度和規(guī)模的項目,會有不同的人員配置方案,學生應(yīng)充分理解這些角色及職責,為自己的職業(yè)生涯進行規(guī)劃,拉近自己與企業(yè)的距離,由于課程中學時有限,只選取了部分角色讓學生了解、掌握。
部分角色的職責:
1) 項目經(jīng)理
· 組織項目所需的各項資源
· 設(shè)置項目組中的各種角色,并分配好各角色的責任與權(quán)限
· 定制項目組內(nèi)外的溝通計劃。(必要時可配置管理要求寫項目策劃目錄中的《項目溝通計劃》
2) 需求分析員
· 在項目前期根據(jù)《需求調(diào)研計劃》對客戶進行需求調(diào)研
· 收集整理客戶需求,負責編寫《用戶需求說明書》
· 代表項目組與用戶溝通與項目需求有關(guān)的所有事項。
3) 系統(tǒng)設(shè)計工程師
· 根據(jù)需求分析結(jié)果及概要設(shè)計規(guī)范設(shè)計、編制概要設(shè)計說明。
· 保證概要設(shè)計的科學性、可行性,并與需求分析一致。
· 協(xié)助項目經(jīng)理制定項目開發(fā)計劃。
· 依照開發(fā)計劃的要求保證設(shè)計進度。
· 參與需求分析、概要設(shè)計、詳細設(shè)計等過程的階段評審,從是否達到概要設(shè)計的角度提出評審意見。
4) 高級軟件工程師
· 根據(jù)概要設(shè)計結(jié)果及詳細設(shè)計規(guī)范設(shè)計、編制詳細設(shè)計文檔。
· 保證詳細設(shè)計滿足概要設(shè)計對功能界定、可靠性、用戶界面等各方面的要求。
· 依照開發(fā)計劃的要求保證設(shè)計進度。
· 參與概要設(shè)計、詳細設(shè)計、軟件實現(xiàn)等過程的階段評審,從是否達到詳細設(shè)計要求的角度提出評審意見。
5) 編碼人員
· 根據(jù)《系統(tǒng)概要設(shè)計說明書》編寫《系統(tǒng)詳細說明書》。
· 按《系統(tǒng)詳細設(shè)計說明書》進行代碼實現(xiàn)。
· 控制本模塊的開發(fā)進度。
6) 測試人員
· 獨立編寫測試計劃。
· 獨立編寫測試用例。
· 協(xié)調(diào)測試團隊內(nèi)部的工作以及與開發(fā)團隊之間的工作。
· 完成“執(zhí)行測試”的工作。
7) 美工
· 負責完成軟件設(shè)計師安排的功能界面設(shè)計。
· 負責對項目整體色彩的調(diào)配。
· 向系統(tǒng)分析師提出項目美化的建議。
8) 客戶經(jīng)理
· 在項目實施階段,跟蹤、檢查實施人員的工作質(zhì)量。
· 負責協(xié)助用戶進行“用戶確認測試”和編寫《確認測試報告》。
9) 維護人員
· 制訂具體項目的質(zhì)量保證計劃及執(zhí)行。
· 評審的組織。
· 研發(fā)流程的執(zhí)行監(jiān)督、反饋、數(shù)據(jù)收集。
依據(jù)上述角色介紹,由學生選擇角色并制定自己的職業(yè)生涯規(guī)劃,這樣可以鍛煉學生的語言表達能力,為后期小組演示匯報預(yù)演。讓學生勝任角色,成功扮演角色,同時要有教師的適當指導(dǎo)、發(fā)揮學生的各自特點,使他們適應(yīng)角色。以下是小組內(nèi)選擇項目經(jīng)理角色的職業(yè)生涯規(guī)劃:
1) 項目經(jīng)理:完成不同階段的任務(wù)。
2) 項目經(jīng)理具備的素質(zhì):認真負責的態(tài)度;有扎實的技術(shù);協(xié)調(diào)各部門的能力;項目總體規(guī)劃能力。
3) 選擇職業(yè)的原則:擇已所愛,擇世所需,擇己所長。
4) 項目經(jīng)理的工作職責:
· 所管轄的區(qū)域客戶進行信息跟蹤、分析及報告,并定期進行更新。
· 所管轄的區(qū)域客戶的產(chǎn)品開發(fā)進行項目管理,滿足用戶需求。
· 經(jīng)常與客戶進行溝通、與客戶保持親密聯(lián)系,定期走訪、了解產(chǎn)品的質(zhì)量等情況。
5) 項目經(jīng)理需要了解你所在企業(yè)的軟件項目技術(shù)特點,了解軟件項目的售前過程,招標方案;掌握需求分析——概要設(shè)計——詳細設(shè)計——開發(fā)進度控制——風險控制——測試流程——現(xiàn)場實施——驗收——售后服務(wù)等業(yè)務(wù)。
6) 努力的方向 :項目經(jīng)理是一個管理者,因此要鍛煉自己的組織管理能力,增強自己的團隊精神,技術(shù)才是硬道理,努力學好專業(yè)知識,熟悉自身的IT業(yè)務(wù),做一個洞察力很強的人,培養(yǎng)認真負責的態(tài)度,擁有扎實的技術(shù),并協(xié)調(diào)好各部門的能力提高項目總體規(guī)劃能力。
2.2需求分析階段
教學第二步,項目選題應(yīng)該是對知識的深入學習。使用企業(yè)真實案例讓各小組分別完成。模擬現(xiàn)實工作環(huán)境、真實事件,讓學生按照工作流程,在工作過程中扮演接近真實身份的角色,從而理解角色的作用、工作內(nèi)容等,以達到體驗真實工作崗位的目的。學生在扮演角色的過程中充分運用所學知識,發(fā)揮自己的才能和想象空間,增強對實際問題的預(yù)測和處理能力。Delphi程序設(shè)計課程中給出企業(yè)的真實開發(fā)案例,整個開發(fā)設(shè)計過程應(yīng)體現(xiàn)軟件工程的思想和方法、運用數(shù)據(jù)庫技術(shù)和程序開發(fā)技術(shù)。
需求分析是軟件開發(fā)過程中至關(guān)重要的環(huán)節(jié),本階段的角色扮演者應(yīng)充分理解用戶的實際需要,并寫成書面文字,以備后續(xù)環(huán)節(jié)設(shè)計及實現(xiàn)。如果本環(huán)節(jié)需求獲取不準確,后期更正將會付出10倍甚至更多的代價來彌補。鑒于學生們無實際工作經(jīng)驗,不知道此環(huán)節(jié)的重要性,所以從這一階段開始,就讓學生正式進入角色,完成工作。
如何確定用戶?采用指導(dǎo)教師為指定題目中的實際用戶,題目為:生產(chǎn)許可證申報系統(tǒng)。先給每個小組一定的準備時間,商量獲取需求信息的方法,可以是用戶面談,用戶調(diào)查,從行業(yè)標準和規(guī)則中提取需求信息。在與用戶溝通交流的過程中,盡量提供給學生真實的工作過程環(huán)境。以下是需求分析員的實踐結(jié)果:
根據(jù)與用戶談話、調(diào)查及從行業(yè)標準和規(guī)則中提取的信息,要求生產(chǎn)許可證申報系統(tǒng)實現(xiàn)以下幾個主要功能:
1) 申報單位申報數(shù)據(jù)要從手工完成的過程中解放出來,在這里開發(fā)完成企業(yè)基本資料錄入。
2) 由于申報單位要有自身的經(jīng)濟發(fā)展,生產(chǎn)的產(chǎn)品會隨著社會的需求而增多,申報產(chǎn)品是一個長期需要,所以系統(tǒng)在完成數(shù)據(jù)的添加、修改、刪除功能。
3) 對于申報企業(yè)基本信息的變化的處理,如單位地址變更或者法人信息變更系統(tǒng),在這里要完成資料變更功能。
4) 用戶相關(guān)信息錄入后,根據(jù)實際需要遞交評審部門全國生產(chǎn)許可證申請書或地方生產(chǎn)許可證申請書,在這里要完成報表打印功能。
5) 為了減輕評審部門數(shù)據(jù)錄入的工作量,在申報系統(tǒng)中申報單位將錄入的數(shù)據(jù)進行上報的功能開發(fā)。
它主要能夠?qū)崿F(xiàn)申報數(shù)據(jù)錄入、生產(chǎn)許可證申請書打印、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)上報等內(nèi)容。生產(chǎn)許可證申報系統(tǒng)在實際運行和使用過程中,性能上應(yīng)能達到:
1) 容量要求:需要系統(tǒng)處理和存儲的數(shù)據(jù)主要有申報單位基本信息、申報產(chǎn)品基本信息、主要技術(shù)人員信息、與產(chǎn)品有關(guān)的生產(chǎn)設(shè)備、原材料、檢測儀器信息等,由于采用了關(guān)系型數(shù)據(jù)庫Paradox,因此在數(shù)據(jù)庫容量方面足以滿足需要。
2) 數(shù)據(jù)精確度:要按照嚴格的數(shù)據(jù)格式輸入,否則系統(tǒng)不給予響應(yīng)處理并提示警告信息。進行查詢時要保證查全率,所有相應(yīng)域包括查詢關(guān)鍵詞的記錄都應(yīng)能查到。因為申報的數(shù)據(jù)的記錄量會很大。
3) 設(shè)計有效的輸入方式,方便用戶操作,有效減少重復(fù)數(shù)據(jù)輸入的工作量,以提高申報數(shù)據(jù)錄入的工作效率
4) 時間特性方面:一般操作的響應(yīng)時間控制在1~2秒內(nèi),對數(shù)據(jù)轉(zhuǎn)換和打印機的操作也應(yīng)控制在用戶可接受的時間范圍內(nèi)完成。
5) 適應(yīng)性方面:生產(chǎn)許可證申報和管理系統(tǒng)應(yīng)滿足申報單位和評審部門使用的需求。
6) 人機交互友好性:在用戶界面的使用上,應(yīng)有全新感覺,操作簡便,一目了然,視圖友好等特點,并用使用習慣性的菜單界面驅(qū)動方式,給具體操作用戶極大的便利,能單獨支持鼠標和鍵盤,便于用戶操作使用。
7) 硬件接口方面,保證申報數(shù)據(jù)與存儲介質(zhì)之間的數(shù)據(jù)傳輸?shù)耐暾?/p>
8) 軟件接口方面,運行于Windows95及更高版本具有Win32 API的操作系統(tǒng)之上。
9) 系統(tǒng)健壯性,正常使用本系統(tǒng)時不應(yīng)出現(xiàn)錯誤,若運行時遇到不可恢復(fù)的系統(tǒng)錯誤,也必須保證數(shù)據(jù)庫完好無損。
10) 系統(tǒng)安全性:申報數(shù)據(jù)數(shù)據(jù)中許多是涉及到企業(yè)機密的商業(yè)信息,有效防止與系統(tǒng)無關(guān)人員竊取企業(yè)的商業(yè)機密。
11) 系統(tǒng)可靠性:為了提高系統(tǒng)可靠性,減少系統(tǒng)故障,需盡可能采用模塊化、結(jié)構(gòu)化設(shè)計。
12) 系統(tǒng)通用性:通用化程度高,適用于所有申報單位使用。
2.3設(shè)計階段
該環(huán)節(jié)軟件開發(fā)公司與用戶接觸較少,屬于內(nèi)部設(shè)計開發(fā)階段,主要包括數(shù)據(jù)庫的結(jié)構(gòu)設(shè)計,實施及應(yīng)用程序的總體設(shè)計、詳細設(shè)計、編碼和調(diào)試等。在設(shè)計過程中嚴格控制工作進度。以下是系統(tǒng)設(shè)計工程師和高級軟件工程師的部分實踐結(jié)果:
2.4 代碼編寫及美工過程
代碼實現(xiàn)部分,因工作量大,所以需要小組內(nèi)成員全體參與,編碼能力強的同學可以多寫幾個功能,代碼學的不好的同學,分配做報表或者美工。
2.5 測試階段
就測試而言,用面向?qū)ο箝_發(fā)方法的系統(tǒng)測試與其他方法開發(fā)的系統(tǒng)測試沒有什么不同,在所有開發(fā)系統(tǒng)中都是根據(jù)規(guī)范說明來驗證系統(tǒng)設(shè)計的正確性。程序驗證應(yīng)盡可能早地開始。程序測試步驟是從最低層開始,從單元測試、綜合測試、到系統(tǒng)測試。單元測試是系統(tǒng)構(gòu)件的分體測試,將測試好的系統(tǒng)構(gòu)件接起來看它們之間相互作用的正確性稱綜合測試,最后是整個系統(tǒng)的測試,包括軟件系統(tǒng)所在相關(guān)環(huán)境的測試。通常綜合測試是一種“主攻”活動,在系統(tǒng)開發(fā)期是非常關(guān)鍵的。這一階段應(yīng)隨著連接已開發(fā)的每一部分,再看它們的實際工作,這種“主攻”活動在面向?qū)ο笙到y(tǒng)中是一種實質(zhì)性的、漸漸增長的測試策略。測試活動在早期的開發(fā)過程中就應(yīng)開始。當開始開發(fā)時,就可做測試計劃。測試計劃一般在分析期做,而實際的測試通常等到系統(tǒng)構(gòu)造后進行。事先根據(jù)期望的方法和層次建立測試導(dǎo)向圖,然后確定是自動測試還是手工測試,測試計劃需反復(fù)多次。
測試計劃如下:
雖然每位同學都有自己要扮演的角色,但在課程中的每個環(huán)節(jié)每位學生都必須參與,特別是設(shè)計及編碼階段,因為系統(tǒng)要實現(xiàn)的功能很多,所以每位學生都要負責一個或幾個模塊的設(shè)計及代碼實現(xiàn)。不能說測試人員光管測試,不參與其他工作。
2.6 評價
觀察每位學生在整個學期中的表現(xiàn),包括學習態(tài)度、工作與職業(yè)操守、團隊合作精神、交流與表達能力、組織協(xié)調(diào)能力進行職業(yè)能力考核。根據(jù)課程設(shè)計中做出的項目給出項目考核分數(shù)此兩項為平時成績占總評成績的70%,期末考試的技能操作占總評成績的30%,這樣給出學生的總體評價或總評成績。
模擬教學法應(yīng)用于Delphi程序設(shè)計課程中,是對程序設(shè)計課程的改革。該方法既達到實現(xiàn)課程目標,課程的要求,完成了課程內(nèi)容的目的,又能為學生走上軟件項目開發(fā)工作的實際崗位做實戰(zhàn)準備,讓學生扮演不同的角色,體驗真實項目開發(fā)的過程,場景,讓學生對工作崗位有相應(yīng)的認識和了解。同時模擬教學法也為指導(dǎo)教師合理評價學生的學習過程提供了依據(jù)。