陳斌
摘要:目前很多高校在軟件工程教學多以理論教學為主,導致學生缺乏學習興趣,缺乏動手實踐能力,鑒于近多年的軟件工程教學實踐活動,以及與同學之間的溝通交流,在多年的課堂教學已經(jīng)初步嘗試,以理論教學+項目實例剖析+小組項目實踐+階段評審形式進行教學,在近年教學中,已經(jīng)取得了明顯的實效。
關鍵詞:軟件工程;教項驅(qū)動;實踐教學
中圖分類號:G642 文獻標識碼:A 文章編號:1009-3044(2018)15-0120-02
軟件工程是一門理論性及實踐性非常強的學科,作為計算機科學專業(yè)及軟件工程專業(yè)的一門專業(yè)必修課,學好軟件工程有著非常重要的意義。不僅要求學生要掌握實際的理論知識還要求學生能將軟件工程中的諸多方法應用到實際的軟件項目開發(fā)中。
軟件工程教學改革分為兩大模塊,分塊同步進行,分別為教學改革及期末考試改革。分別如下所述。
1教學改革
教學改革分五大環(huán)節(jié):課堂理論教授環(huán)節(jié)、項目小組團隊課后協(xié)作實踐環(huán)節(jié)、項目課堂演示環(huán)節(jié)、項目課堂討論環(huán)節(jié)、項目課后整理修改環(huán)節(jié)。
教師課堂教授環(huán)節(jié):本環(huán)節(jié)為教學實踐的鋪墊環(huán)節(jié),在教學過程中,教師先準備好教學相關材料,如教學大綱、教學進度表、教案及演示實例,通過多媒體教學及板書配合,將教材理論教授與學生,讓學生對理論知識有所鋪墊。
項目小組團隊課后協(xié)作實踐環(huán)節(jié):項目團隊課后協(xié)作實踐環(huán)節(jié)又分為十大階段:立項及可行性分析研究、需求分析、總體設計、詳細設計、數(shù)據(jù)庫設計、用戶交互設計、系統(tǒng)編碼、系統(tǒng)集成測試、用戶培訓及用戶說明書、結項驗證分析。
項目方案課堂演示環(huán)節(jié):項目團隊完成各個階段作業(yè)后,我們將讓項目團隊成員將該階段任務展現(xiàn)在課堂上,一方面提高學生課堂表現(xiàn)能力、表達能力、溝通思辨能力;另一方面將部分團隊各階段的成果展現(xiàn)在課堂上,有助于集思廣益,鼓勵學生質(zhì)疑、思辨,根據(jù)理論知識及社會實際需求對已經(jīng)完成項目的各個階段設計的優(yōu)點、不足進行點評。
項目方案課堂討論環(huán)節(jié):項目團隊在課堂對項目各階段進行演示說明后,要求教師及同學對該項目進行討論分析,找出優(yōu)點及不足,進行點評,營造積極的課堂討論氛圍,讓每個學生都參與到不同的項目開發(fā)討論中,增強學生的項目分析能力,思辨能力。
項目課后修正環(huán)節(jié):經(jīng)過上述四個環(huán)節(jié)后,各個項目小組各階段成果都經(jīng)過本小組討論、驗證,教師審閱、學生課堂討論等一系列工作,各個項目小組可以將之前在教師及課堂討論中的問題逐一修正,使系統(tǒng)方案更加完善,更加貼近實際需求,保證各階段項目開發(fā)的質(zhì)量,最終能做出滿足要求的軟件系統(tǒng)。
2考試改革
鑒于軟件工程教學過程改革,期末考試亦需要做相應調(diào)整,軟件工程傳統(tǒng)考試一般采用卷面考試,很難通過考試了解學生的學習情況,作為獨立院校,我們更需要注重學生的理論基礎及項目實踐能力,故軟件工程期末考試建議采取項目階段考核機制,具體考核辦法如下表:
2.1可行性研究說明書考核標準(總分值比例:8%)
1)必須有完整的可行性研究說明書,具體根據(jù)GB 8567——88標準完成;
2)在可行性研究說明書中,必須采用結構化分析方法中的程序流程圖、數(shù)據(jù)流圖DFD、數(shù)據(jù)字典分析(采用PDL或者判定樹及判斷表亦可),并且分析符合理論方法論及實際的項目需求;
3)項目協(xié)作情況、項目任務完成進度把握、項目討論及修正次數(shù);
2.2 需求說明書考核標準(總分值比例:12%)
1) 必須有完整的需求說明書,具體根據(jù)GB 8567——88標準完成;
2)在需求說明書中,必須采將可行性分析階段的系統(tǒng)邏輯模型逐步細化,并包含系統(tǒng)功能需求、性能需求、特殊需求,要求有良好的邏輯性;
3)需求說明書中的需求規(guī)格說明是否與可行性研究保持一致,如果修改是否合理。
4)項目協(xié)作情況、項目任務完成進度把握、項目討論及修正次數(shù);
5)項目協(xié)作情況、項目任務完成進度把握、項目討論及修正次數(shù)。
2.3 系統(tǒng)總體設計考核標準(總分值比例:8%)
1)必須有完整的總體設計說明書,具體根據(jù)GB 8567——88標準完成;
2)在總體設計明書中,需要根據(jù)系統(tǒng)需求規(guī)格說明書設計出系統(tǒng)模型,要求模塊劃分的基本原則,軟件構架符合系統(tǒng)設計準則;
3)在總體設計說明書中,要求項目小組根據(jù)使用良好的形式化說明技術,使設計文檔具有良好的可讀性,并且包含系統(tǒng)模塊設計中必要的接口規(guī)范,為系統(tǒng)后期集成做好鋪墊工作;
4)總體設計說明書中的設計規(guī)程是否與需求分析規(guī)格保持一致,如果修改是否合理;
5)課堂演示說明效果,(含演示文稿的設計、演說交流)、對教師及學生的質(zhì)疑能良好應答情況。
2.4系統(tǒng)詳細設計考核標準(總分值比例:12%)
1)必須有完整的詳細設計說明書,具體根據(jù)GB 8567——88標準完成;
2)在詳細設計明書中,需要根據(jù)總體設計總的模塊劃分細則,對各個子模塊的實現(xiàn)算法進行設計,可以采用PDL或者流程圖表述;
3)在詳細設計說明書中,要求項目小組根據(jù)使用良好的形式化說明技術,使設計文檔具有良好的可讀性,并且包含系統(tǒng)模塊設計中必要函數(shù)及變量,為系統(tǒng)編碼做好鋪墊工作;
4)詳細設計說明書中的設計規(guī)程是否與需求分析規(guī)格及總體設計保持一致,如果修改是否合理;
2.5 系統(tǒng)數(shù)據(jù)庫設計考核標準(總分值比例:8%)
1)必須有完整的數(shù)據(jù)庫設計說明書,統(tǒng)一要求數(shù)據(jù)模型為關系模型,具體根據(jù)GB 8567——88標準完成;
2)在數(shù)據(jù)庫設計明書中,需要根據(jù)系統(tǒng)實際對數(shù)據(jù)庫進行設計,需要包含E-R模型及數(shù)據(jù)字典,并做好數(shù)據(jù)庫表實體完整性約束、域完整性約束、參照完整性約束,并在相應的數(shù)據(jù)庫系統(tǒng)中建立出數(shù)據(jù)庫模型;
3)在數(shù)據(jù)庫設計說明書中,要求項目小組根據(jù)使用良好的形式化說明技術,使設計文檔具有良好的可讀性,并且包含系統(tǒng)模塊設計中必要函數(shù)及變量,為系統(tǒng)編碼做好鋪墊工作;
4)數(shù)據(jù)庫設計說明書中的設計規(guī)程是否與需求分析規(guī)格及總體設計保持一致,如果修改是否合理,是否滿足關系模型范式基本要求;
2.6系統(tǒng)用戶交互設計考核標準(總分值比例:12%)
1)必須有完整的電子商務系統(tǒng)用戶交互設計說明書,要求有實際的設計效果演示圖片或者動畫,具體根據(jù)系統(tǒng)開發(fā)所有技術及輔助根據(jù)而定;
2)在用戶交互設計中,充分考慮用戶行業(yè)、用戶對計算機的操作水平、用戶使用習慣、軟件系統(tǒng)使用環(huán)境對使用的要求、用戶習慣及用戶偏好、視覺顏色偏好選擇,并配合相應的效果圖片或者動畫;
3)在用戶交互設計說明書中,要求項目小組根據(jù)使用良好的形式化說明技術,使設計文檔具有良好的可讀性,為系統(tǒng)編碼做好鋪墊工作;
4)用戶交互設計說明書中的設計規(guī)程是否與需求分析規(guī)格及總體設計保持一致,如果修改是否合理,是否滿足關系模型范式基本要求;
2.7 系統(tǒng)編碼考核標準(總分值比例:8%)
1)必須根據(jù)系統(tǒng)設計完成系統(tǒng)編碼,采用的計算機語言不定,學生可 以自行選擇,必須提交系統(tǒng)的源代碼;
2)在系統(tǒng)編碼中,必須有良好的程序書寫風格,良好的變量命名規(guī)則,良好的注釋,使程序具有良好的可讀性;
3)在系統(tǒng)編碼計中,要求項目小組盡量采用先進的開發(fā)技術及開發(fā)工具;
4)系統(tǒng)編碼是否與需求分析規(guī)格及總體設計、詳細設計保持一致,如果修改是否合理。
2.8系統(tǒng)集成測試考核標準(總分值比例:12%)
1)必須有完整的系統(tǒng)測試說明書,對系統(tǒng)各個模塊有相應的測試用例數(shù)據(jù);
2)在系統(tǒng)測試中,可要求根據(jù)系統(tǒng)模塊采用白盒測試模塊至少一個,其他模塊可以采用黑盒測試,各模塊測試要求包含滿足規(guī)則的測試用例,并對測試后發(fā)現(xiàn)的bug進行修正;
3)在系統(tǒng)測試設計說明書中,要求項目小組根據(jù)使用良好的形式化說明技術,使設計文檔具有良好的可讀性,并且包含良好的測試用例;
4)系統(tǒng)測試說明書中的測試用例是否與需求分析規(guī)格及總體設計保持一致,如果修改是否合理,建議采用等價劃分法、邊界值法或者因果圖推測法;
5)項目協(xié)作情況、項目任務完成進度把握、項目討論及修正次數(shù);
6)課堂演示說明效果,(含演示文稿的設計、演說交流)、對教師及學生的質(zhì)疑能良好應答情況。
2.9 系統(tǒng)用戶培訓及用戶手冊設計考核標準(總分值比例:12%)
1)必須有完整的用戶培訓計劃書,同時包含系統(tǒng)用戶使用手冊;
2)在用戶手冊中,要求根據(jù)系統(tǒng)設計模塊以事物驅(qū)動型,向用戶展示系統(tǒng)的操作流程及規(guī)程,包含實際截圖或者動畫演示,可以使用錄像配合用戶手冊文檔
3)在用戶使用手冊書中,要求項目小組根據(jù)使用良好的形式化說明技術,使設計文檔具有良好的可讀性,方便用戶閱讀,掌握系統(tǒng)的使用方法,建議將用戶手冊打包為電子書或者附加到系統(tǒng);
4)用戶使用手冊書中的操作流程及操作規(guī)程是否與需求分析規(guī)格及總體設計保持一致,如果修改是否合理。
2.10 系統(tǒng)結項總結報告考核標準(總分值比例:8%)
1)必須對本門課程所作各個階段的任務進行總結,有一份書面的項目開發(fā)實踐總結體驗;
2)在總結報告中,要求對結構化分析方法及結構化設計方法以及需求采集方法、系統(tǒng)設計方法、數(shù)據(jù)設計方法、用戶交互設計、系統(tǒng)編碼、系統(tǒng)測試、團隊協(xié)作、項目進度控制、質(zhì)量控制、軟件開發(fā)過程模型進行總結分析;
3)在總結報告書中,要求項目小組根據(jù)使用良好的形式化說明技術,使設計文檔具有良好的可讀性,方便用戶閱讀;
4)對2中的個部分認識是否存在錯誤,對錯誤部分進行修正,改變學生的錯誤觀點;
5)課堂演示說明效果,(含演示文稿的設計、演說交流)、對教師及學生的質(zhì)疑能良好應答情況。
通過理論章節(jié)教學,結合軟件項目開發(fā)實踐,將學習任務及開發(fā)任務分解,既有利于開展教學,增強學生學習興趣,又大大提升了學生理論應用實際的能力,真正突出了實踐教學的教學目的?;谲浖こ探虒W改革環(huán)節(jié)中的考試改革總結如上,教學過程改革及考試改革及考核標準及評分階段可以根據(jù)自身教學作為參考。