秦懷斌
摘要:《軟件工程》課程設(shè)計是《軟件工程》課程內(nèi)容的綜合應用和實踐。針對《軟件工程》課程理論性和實踐性較強的特點,提出了《軟件工程》課程設(shè)計的實施步驟,包括課程設(shè)計題目的確定、團隊組建、中期檢查、成果展示等,并進行了幾輪的實踐。實踐證明,該方法不僅加深了學生對《軟件工程》理論的理解,而且鍛煉了學生的動手能力和綜合知識的應用能力,激發(fā)學生學習的積極性。
關(guān)鍵詞:軟件工程;課程設(shè)計;實踐
中圖分類號:G642 文獻標識碼:A 文章編號:1009-3044(2016)10-0151-01
《軟件工程》課程是高等學校計算機科學與技術(shù)學科各專業(yè)的一門重要的專業(yè)基礎(chǔ)課程。長期以來,許多高校的《軟件工程》課程都偏重于理論的講解,側(cè)重于軟件工程目標、過程和方法的介紹,并主要圍繞軟件生存周期的技術(shù)和方法,采取灌輸式課堂教學。然而,對于缺乏軟件開發(fā)經(jīng)驗及軟件管理經(jīng)驗的在校本科生來說,理解這些理論比較困難。鑒于此,結(jié)合《軟件工程》課程理論性和實踐性較強的特點,近幾年,石河子大學信息科學與技術(shù)學院計算機科學與技術(shù)系對人才培養(yǎng)方案進行修訂,在《軟件工程》課程結(jié)束后,專門安排兩周的《軟件工程課程設(shè)計》,目的是在系統(tǒng)學習軟件工程課程后,使學生加深對軟件工程理論的認識和理解,能較好地掌握軟件開發(fā)模型、軟件生存周期、軟件工程方法等在軟件項目開發(fā)中的作用和意義,熟悉軟件開發(fā)過程中相關(guān)文檔的書寫,積累軟件開發(fā)經(jīng)驗,并培養(yǎng)學生的團隊合作意識,從而達到提高學生的軟件工程綜合能力和軟件項目開發(fā)管理能力的目的[1-3]。
以下就是我院《軟件工程》課程設(shè)計的具體實施過程。
1課程設(shè)計題目的確定
課程設(shè)計題目采取任課老師出題和學生自擬題目相結(jié)合的方式。在選題之前,先有任課老師給出20個左右的題目,供學生自由選擇;如果學生有好的設(shè)計題目,或結(jié)合學生自己的特長及正在進行的項目,學生也可以自擬題目,在老師同意后方可實施。鑒于《軟件工程》課程的特點,老師在選擇課程設(shè)計題目時,盡量選擇規(guī)模和難度適中的題目,重點考慮學生實施的可行性,并重點考慮課程設(shè)計題目對軟件開發(fā)周期、各階段相關(guān)文檔的書寫等內(nèi)容的綜合應用與檢測。
我院近幾年在《軟件工程》課程設(shè)計題目選擇中,重點將課程設(shè)計題目分為如下幾類:1)應用軟件開發(fā)類,如圖書管理系統(tǒng)、人類資源管理系統(tǒng)、學生成績管理系統(tǒng)等;2)網(wǎng)站開發(fā)類,如購物網(wǎng)站開發(fā)、選課網(wǎng)站開發(fā)等;3)游戲類軟件開發(fā),如棋牌游戲開發(fā)、游戲虛擬場景設(shè)計等;4)其他類型軟件開發(fā),如系統(tǒng)軟件類、病毒處理類等。
在確定課程設(shè)計題目的同時,將課程設(shè)計所要達到的要求、中期檢查時間、最終完成時間、最終提交成果及文檔書寫要求等告知學生。
2課程設(shè)計團隊的組建
在我院《軟件工程》課程設(shè)計團隊組建方面,我們采取學生自愿組隊的原則,要求每隊學生成員不超過5人,并要求每隊需有1人擔任團隊隊長,負責本隊學生的任務(wù)分工及日常管理。在學生組隊時,任課老師給出組隊建議,如隊長需考慮每個隊員的專業(yè)基礎(chǔ)、特長、性格、技能等,使每個隊員在團隊中擔任不同角色,從事不同工作,如系統(tǒng)分析師、系統(tǒng)架構(gòu)師、程序員、測試員等。這種角色的設(shè)置及人員職責的劃分,使學生對項目團隊有了初步認識,更加深刻地認識到團隊協(xié)作的重要性。
實踐證明,這種團隊劃分和組建方法,能充分發(fā)揮每個學生的積極性,使得每個學生的工作量得到較合理的分配,并能發(fā)揮每個隊員的特長,使課程設(shè)計順利地進行。
3課程設(shè)計中期檢查及指導
由于我院《軟件工程》課程設(shè)計持續(xù)時間較長,為2周,所以,對課程設(shè)計的中期檢查顯得非常有必要。我們一般將課程設(shè)計的中期檢查時間定在課程設(shè)計開始后的第1周周末。中期檢查主要針對各個團隊提交的開發(fā)計劃、完成百分比、后續(xù)工作量等進行檢查,以此指出每個團隊存在的問題,監(jiān)督其開發(fā)過程,并給予適當?shù)闹笇Ш徒ㄗh,同時督促每個團隊成員完成后續(xù)的工作。
4課程設(shè)計成果展示及提交
課程設(shè)計結(jié)束時,我們要求每個團隊必須按照規(guī)范格式提交項目成果(可運行的系統(tǒng)及各類文檔),同時,每個小組團隊依次采用答辯的方式現(xiàn)場展示所完成的系統(tǒng)。每個團隊用大概10分鐘左右的時間介紹團隊分工、需求分析、設(shè)計、測試等過程,并將每個過程中重點成果進行敘述,并演示可運行的系統(tǒng)。任課老師現(xiàn)場提問,每個團隊成員均可回答,并記錄回答問題的情況。
在學生的課程設(shè)計成績評定中,我們不僅考慮每個團隊總體的項目完成情況,如項目完成質(zhì)量、需求分析和設(shè)計的合理性、程序代碼的質(zhì)量、測試的充分性等,還考慮每個學生在團隊中的表現(xiàn)及其工作量比重。我們將每個學生課程設(shè)計的成績劃分為3個組成部分:考勤占20%,所在團隊的項目總體完成情況占40%,個人在團隊中的表現(xiàn)和工作量完成情況占40%。
該實踐模式在我院計算機科學與技術(shù)專業(yè)2010級、2011級和2012級《軟件工程》課程設(shè)計中進行應用,取得了較好的效果,不僅激發(fā)和鼓勵了學生實踐動手的能力和興趣,讓每一個同學都能真實地將學習到的技術(shù)進行應用,而且增強了學生規(guī)范化的軟件開發(fā)意識,鍛煉了學生規(guī)范化的文檔書寫能力。同時,培養(yǎng)了學生嚴謹、務(wù)實的學風,激發(fā)了學生的自我實現(xiàn)意識和團隊合作意識。
5結(jié)束語
針對《軟件工程》課程理論性較強的特點,我們通過《軟件工程》課程設(shè)計,進行軟件工程理論的實踐。我們不僅強調(diào)理論的重要性,更要強調(diào)實踐的重要性,通過《軟件工程》課程設(shè)計實踐,不僅加深了學生對《軟件工程》理論的理解,而且鍛煉了學生的動手能力和綜合知識的應用能力,激發(fā)學生學習的積極性。雖然我們在《軟件工程》課程設(shè)計實踐中取得了一定的成績,獲得了學生的好評和認可,但這種實踐在我院依然處于探索階段。在以后的《軟件工程》課程設(shè)計中,我們會繼續(xù)對這種實踐進行完善,以此達到培養(yǎng)生的動手能力、分析問題和解決問題的能力、團隊合作能力,培養(yǎng)出高層次的軟件開發(fā)人才。
參考文獻:
[1] 賴均.軟件工程課程設(shè)計實踐教學探索[J].課程教育研究,2014(2):243-244.
[2] 韋宇煒,聶篤憲.軟件工程課程設(shè)計教學模式探索[J].考試周刊研究,2010(11):159-160.
[3] 韋宇煒,聶篤憲.軟件工程課程設(shè)計教學模式探索[J].現(xiàn)代計算機,2013(3):42-44.