摘要:本文介紹了如何通過構建軟件開發團隊,結合軟件工程的具體內容,將軟件工程的教學內容融入到具體的軟件開發團隊的實踐中去,從而提高軟件工程的教學的質量。
關鍵詞:軟件工程;教學;軟件開發團隊
中圖分類號:G642
文獻標識碼:B
文章編號:1672-5913(2008)02-0055-02
1軟件開發團隊建設
在進行軟件工程教學活動初期,我們對學生按小組建立相應的軟件開發團隊。
1) 團隊建設的目的:如何將軟件工程原理、方法和過程應用到實踐中,體驗軟件工程各階段的主要工作,特別注意吸取教訓;學會與他人合作,培養團隊精神。
2) 軟件開發項目:由于針對的是專業基礎知識不全面、缺乏工程經驗的大三學生,因此要求各小組根據自己的特點選擇最適合的項目,同時強調小組的實踐重點的是學習過程與活動的實施技巧,而對具體的技術不做特別的要求,從而更能發揮學生的主動性與團隊的優勢。
3) 團隊建設要求:全班分為若干小組,每組6~8人。各組角色分配及其職責如下。
■項目經理(1)
■系統分析員、軟件設計師(1+1)
■軟件開發工程師(軟件開發經理1+3)
■測試工程師(測試經理1+1)
為了更好地實施基于軟件團隊的軟件工程實踐,通過對實踐結果及評分標準加以限制,從而更好地指導學生的實踐活動。實踐結果及評分標準如下。
團隊提交的實踐結果:需求規格說明書、概要設計說明書、詳細設計說明書、測試計劃、測試分析報告、項目開發總結報告、開發進度周報;個人總結報告;演示Demo。
評分標準:項目文檔描述80%;個人總結報告15%;Demo 5%。
上述的評分標準表明團隊是評分的基礎,這樣就克服了傳統教學單一實踐結果的考評模式,而且評分的重要內容是軟件開發過程。通過上述以團隊評分為主,個人表現為輔的評分體系,達到培養學生學會與他人合作,培養團隊精神的目的;通過以軟件過程文檔資料評分為主,以實踐結果為輔的評分體系,達到學生對軟件工程過程及軟件工程化方法的掌握。
2教學內容
1) 軟件工程概論:主要包括軟件的定義、軟件的特點、 軟件的種類以及軟件工程的定義、軟件過程。其中重點和難點是軟件和軟件工程的基本概念、軟件生命周期及軟件開發的幾種模型。
2) 需求工程與管理:主要包括需求分析的任務、需求分析的步驟、需求規格說明與評審以及需求的管理。其中重點和難點是各種需求方法的理解和掌握。
3) 軟件設計:主要包括軟件設計的概念、技術和方法。其中重點和難點是系統的體系結構設計、分布式樣體系結構,以及面向對象設計方法的理解和運用(方法)。
4) 軟件測試:主要包括軟件檢驗和有效性驗證、軟件測試的概念和測試技術。其中重點和難點是軟件檢驗和有效性驗證概念、方法。
5) 軟件變更:主要包括軟件變更的定義、分類、特點、軟件維護。其中重點和難點是認識到軟件維護的重要性、軟件維護的方法和步驟。
6) 軟件管理:主要包括軟件項目特點、相應的管理技術。
3教學實踐
根據上述教學內容及軟件開發團隊的建設,采用如下的教學策略。
1) 職業道德與行為規范:對于職業道德與行為規范并不單獨安排時間講解,而是將相關的內容融入到需求分析、軟件設計、軟件測試及軟件變更的具體實施過程中。
2) 軟件項目管理:安排專門的時間對其進行講解,目的是讓學生對軟件項目管理有一個框架性的認識。在講述需求分析、軟件設計、軟件測試及軟件變更的具體實施過程中,再將軟件項目管理的相關知識融入其中。
3) 軟件過程:對于軟件過程是我們講述的重點。該部分將安排比較充裕的時間對其進行講解,使學生對軟件的開發過程有一個總體的認識,同時也對現在的幾種開發模型加以分析與對比,從而達到在實際項目中軟件的過程的真正含義。
4) 需求分析、軟件設計、軟件測試及軟件變更:這是我們講述的重點,在講解需求分析、軟件設計、軟件測試及軟件變更的基本理論、方法的同時,也要將這些理論、方法如何運用到學生的團隊中,從而真正讓同學們在學習理論、方法的同時,也將相關的知識運用到具體的實踐中,克服了傳統的單純理論、方法的講解。
圖1是從立體上展示教學內容與時間的先后順序。

4教學效果
按照上述的教學實踐進行了兩屆學生的嘗試,達到了較好的教學效果。正如同學們的反映:“把軟件工程這門課列為最喜歡上的課”,“上了軟件工程這門課我感覺非常有收獲,尤其是那些深入淺出的例子給了我很多啟發。課后的課程設計更是給了我很大的鍛煉?!薄翱傊鐾赀@個系統,我感覺自己又加深了對團隊精神的理解,也讓我對自己有了一個更加清楚的認識?!?/p>
收稿日期:2007-10
參考文獻
[1] 張長森,王輝,雒芬. 軟件工程課程教學體系研究[J]. 理工高教研究,2005,24(1):80-82.
[2] 程成,陳霞譯. 軟件工程(第六版)[M]. 北京:機械工業出版社,2003.
作者聯系方式:xiaobingp@tom.com