《軟件工程》課程中的教育游戲
本文關鍵詞:《軟件工程》課程中的教育游戲,由筆耕文化傳播整理發(fā)布。
《軟件工程》課程中的教育游戲
□ 朱慶 項慨 賈玉福
摘 要:
傳統(tǒng)的《軟件工程》教學以講授為主,不能讓學習很好地掌握軟件工程中的基本技能。主要原因是孤立地講授與孤立的課堂項目不能向?qū)W生充分地展示軟件工程的流程。我們在教學中使用了一些能模擬軟件工程過程的軟件,讓學生在實踐之前事先了解軟件工程的過程。本文通過對國外高校中流行的軟件工程游戲SimSE和國外高校新開發(fā)的三維環(huán)境中的同類游戲MO—SE Process進行對比,提出新的軟件工程過程游戲的思路。
關鍵詞:
分類號:
【摘要】傳統(tǒng)的《軟件工程》教學以講授為主,不能讓學習很好地掌握軟件工程中的基本技能。主要原因是孤立地講授與孤立的課堂項目不能向?qū)W生充分地展示軟件工程的流程。我們在教學中使用了一些能模擬軟件工程過程的軟件,讓學生在實踐之前事先了解軟件工程的過程。本文通過對國外高校中流行的軟件工程游戲SimSE和國外高校新開發(fā)的三維環(huán)境中的同類游戲MO-SEProcess進行對比,提出新的軟件工程過程游戲的思路。
【關鍵詞】軟件工程教學;SimSE;MO-SEProcess
【中圖分類號】G434【文獻標識碼】B 【論文編號】1009—8097 (2007) 12—0104—03
一 引言
《軟件工程》課程是計算機專業(yè)學生的必修課,也是計算機專業(yè)的一門非常經(jīng)典的課程。課程的任務是培養(yǎng)學生計算機軟件開發(fā)與應用的綜合能力。介紹軟件的基本概念和軟件工程的目標,通過對軟件開發(fā)過程和過程管理技術的學習,使學生了解如何進行軟件度量和管理,怎樣進行質(zhì)量保證活動,從而能夠有效地策劃和管理軟件開發(fā)活動。為今后從事軟件開發(fā)和應用打下良好的基礎。該門課程同時又是一門相當枯燥的課程,使用傳統(tǒng)的教學手段講授本門課程難以取得很好的效果。在國外有很多企業(yè)和學校在從軟件開發(fā)實踐和過程開始培養(yǎng)學生的過程中也碰到類似的問題[1]。
傳統(tǒng)的《軟件工程》教育有以下特點:
1 以理論講授為主。
2 由教師指導進行小項目練習。項目完成的滿意度由教師反饋。
3 通常在一個學期中都是分散地關注某一個特定的細節(jié),而缺乏對整體的關注。
這樣一來,學校教育出來的學生和實際需求存在很大的差距[2-5]。特別是個人和團隊的關系上,軟件工程的學生需要進一步明確。一方面?zhèn)人需要在一個大的進程背景下理解自己的角色,另一方面團隊要根據(jù)個人進度來獲得最終的進展。
為了解決這些問題,我們在《軟件工程》教學中使用了兩個基于游戲的模擬工具:SimSE和MO-SEProcess。SimSE是一個交互式的圖形化的軟件工程教學模擬游戲;O-SEProcess是一個基于SimSE的多人在線的軟件工程過程游戲。兩者都可讓學生虛擬參加實際的軟件工程過程,這種軟件工程過程包括在課堂項目中所沒有的真實的組成部分,如:團隊成員、大規(guī)模項目、關鍵決策、個人因素、預算、計劃、隨機事件和不可預測事件等。另外,在玩游戲時,用以獲得經(jīng)驗的游戲過程是可以重復的,游戲可反復模擬所可能遇到的各種不同的情況,最后在游玩的過程中獲得實際有用的經(jīng)驗。
本文第二部分將詳細討論SimSE。第三部分將詳細分析另一個模擬游戲MO-SEProcess。在第四部分將論述我們從兩個游戲中所獲得的經(jīng)驗并描述我們進一步研究的方向。
二 SimSE
《軟件工程》課堂上給學生灌輸大量的理論知識,而在課堂小項目中能投入應用的只是很小的一部分。SimSE是一個為了改善這種情況而設計開發(fā)的用于教育的軟件工程模擬游戲。SimSE讓學生在一個圖形化、交互式的虛擬環(huán)境中練習一個虛擬的軟件工程過程(或子過程)。環(huán)境設置非常有趣,圖形化的反饋界面能讓學生很容易體會軟件開發(fā)中復雜的環(huán)境和軟件工程過程中相互影響的關系[6]。
這個二維單用戶的軟件工程模擬游戲,由美國加州大學的Irvine開發(fā)[7]。在游戲中用戶作為一個項目經(jīng)理管理一個中等大小的項目。用戶根據(jù)工作能力的大小給虛擬的具有不同經(jīng)驗值的6個人分配工作,并要根據(jù)實際情況的變化而作出反應。這種變化有可能是客戶需求的變更或別的事情。玩游戲的人還可以通過給軟件工程師漲工資來激勵工程師的工作積極性。游戲的目標是讓軟件開發(fā)得盡可能完善和迅速。如果玩游戲的人在期限到達的時候還沒有提交軟件,或者是費用超出了限制,那么游戲就輸了。一般情況下,在用戶完成并提交軟件的時候,系統(tǒng)會根據(jù)用戶的表現(xiàn)而給出一個分數(shù)值。
SimSE系統(tǒng)結構如圖1所示。模型由建模器創(chuàng)建,可以詳細設定:
1 游戲模擬器中的實體,如:雇員、文檔、項目、工具和客戶。
2 這些實體能參與的行為和活動,如:編碼、合成、需求分析或休息。
3 指明特定行為產(chǎn)生特定效果的規(guī)則,如:每過一個時間,編碼會增加一定的量,員工的精力值會減少一定的量。
4 圖形化描述不同實體。
5 游戲的初始狀態(tài)。
根據(jù)選擇的模式不同,生成器自動生成相應組件,然后插入到通用模擬環(huán)境中,,這樣學生就可以在模擬器中練習所選擇的模式了。建模器的界面如圖2所示。SimSE 用戶界面如圖3所示。
三 MO-SEProcess
MO-SEProcess 是一個基于SimSE的多人在線的軟件工程過程游戲。用于模擬管理中等大小的軟件工程開發(fā)項目[8]。它是在第二人生(Second life)平臺中開發(fā)的游戲。
1 第二人生
第二人生是目前在世界各地非常流行的三維在線虛擬世界[9]。虛擬世界就是用計算機模擬實現(xiàn)的一個類似于現(xiàn)實世界的持久穩(wěn)定的環(huán)境。允許用戶以替身的形式在內(nèi)居住生活。替身就是用戶在虛擬世界中的形象代表。
同其它很多虛擬世界一樣,第二人生可同時支持大量的在線用戶,所以它也被為大規(guī)模多人在線游戲。盡管它是一個游戲,但卻沒有很多傳統(tǒng)游戲所有的特性,它沒有贏家,沒有分數(shù),也沒有等級。
第二人生提供兩種交流方式:群聊(Chat)和短信(Instant Message)。 群聊指在公共場合中和在場的其他居民(第二人生將它的用戶稱之為居民)聊天,一定范圍內(nèi)的所有居民都能聽到。短信在是兩個或多個之間的私聊,其他人不能聽到。第二人生還提供一些姿態(tài)和動畫,在聊天過程中使用可增強其效果。目前,聲音即將引入第二人生,并已經(jīng)進入測試狀態(tài)。
第二人生提供廣泛的在線活動,包括:文化、科學、體育和教育。在第二人生中居民可以四處探尋,會遇見其它居民,同一個社會一樣的,居民可以參加各種活動。第二人生還提供了兩個強有力的開發(fā)工具,一個是三維建模工具,另一個是腳本語言(Linden Script Language ,LSL)。用這兩個工具可以創(chuàng)建任何能想象得到的東西。事實上,第二人生中的大部分東西都是由其居民用這兩種工具創(chuàng)建的。
正是因為第二人生提供了基于替身的交流方式,提供了廣泛的在線活動方式,還開發(fā)了一些虛擬世界中的教學工具,在過去的幾年中,世界各地的,各個學科的很多教師都將第二人生作為一個教學平臺在使用。
2 MO-SEProcess
用戶在MO-SEProcess中作為軟件工程師工作,它們將與其他的用戶合作開發(fā)軟件。不同的用戶扮演不同的角色并完成被分配的不同的工作。用戶一直忠實的工作,直到被中止。不同的工程師對他所完成的工作有不同的熟練程序。
目前,MO-SEProcess游戲只支持傳統(tǒng)的瀑布型的軟件開發(fā)過程。游戲中,有6個軟件工程師角色,用戶可以任選其中一個來參與游戲,選擇了哪個角色,就負責完成這個角色的工作。所有參加游戲的人組成一個軟件開發(fā)團隊,不同成員之間可使用第二人生提供的交流方式相互交流,游戲結束之前提交任務的時候會得到團隊的得分情況。如果所有的成員不僅很好地完成了自己的工作,而且還和其他成員合作良好,那么這個團隊就可以獲得一個好分數(shù)。這和真實情況是非常類似的。第二人生中的MO-SEProcess游戲如圖4所示。
四 進一步的工作和總結
SimSE和MO-SEProcess都試圖解決在傳統(tǒng)軟件工程教育中缺乏對軟件工程過程整體把握的問題。這兩款游戲以迷人的方式給學生提供實際的,有現(xiàn)實經(jīng)歷的軟件工程過程。其中SimSE已經(jīng)開發(fā)實現(xiàn)了適用于課程教學的各種模式,包括:瀑布型、增量型和快速原型法等等,而MO-SEProcess目前只能模型瀑布型。但是MO-SEProcess使用的是一個更有前景的三維在線平臺。
在第二人生中進行的教育開發(fā)極大地鼓舞了我們。第二人生具有以下引人注目的特點:首先是和虛擬人生中所遇到的人能分享感受;其次,第二人生能提供協(xié)同工作的環(huán)境;第三,在第二人生中提供的交互式學習的環(huán)境是在現(xiàn)實生活中無法重現(xiàn)的;最后,第二人生提供的真正合作的環(huán)境,能讓大家一起進步。
現(xiàn)在,我們計劃在熟悉各個游戲的基礎上,在第二人生中合成這兩類游戲,讓它們?yōu)榻虒W服務。我們目前已經(jīng)獲得了我們學校的青年項目基金,該項基金將資助我們在第二人生中開發(fā)基于SimSE的軟件工程快速原型法模型。
——————————
參考文獻
[1]Oh, E. and A. van der Hoek, “Adapting Game Technology to Support Individual and Organizational Learning”,Pro-ceedings of the 13th International Conference on SEngineering and Knowledge Engineering, Knowledge Systems Institute: Buenos Aires, Argentina, 2001, pp. 347-354.
[2]Callahan, D. and B. Pedigo, “Educating Experienced IT Professionals by Addressing Industry's Needs”, IEEE Software, 2002. 19(5): pp. 57-62.
[3]Conn, R., “Developing Software Engineers at the C-130J Software Factory”, IEEE Software, 2002. 19(5): pp. 25-29.
[4]Ludi, S. and J.S. Collofello, “An Analysis of the Gap Between the Knowledge and Skills Learned in Academic Software Engineering Course Projects and Those Required in Real Projects”, In Proceedings of the 2001 Frontiers in Education Conference, 2001.
[5]McMillan, W.W. and S. Rajaprabhakaran, “What Leading Practitioners Say Should Be Emphasized in Students' Software Engineering Projects”, In Proceedings of the Twelfth Conference on Software Engineering Education and Training, H. Saiedian, Editor. IEEE Computer Society. 1999,pp. 177-185.
[6]SimSE OnLine.<~emilyo/SimSE/>
[7]E. O. Navarro and A. van der Hoek, “SimSE: An interactive simulation game for software engineering education”, In CATE ’04: Proceedings of the 7th IASTED International Conference on Computers and Advanced Technology in Education, 2004.
[8]Chang liu,En ye, Tiao chang, Yanhui Fang, “Learning environmental science through game development in Second Life”, The 2007 Ohio Digital Commons for Education (ODCE) Conference, Columbus, Ohio,USA, March 5-6,2007.
[9] Second Life,<>
Educational Game in the Course of Software Engineering
ZHU QingXIANG KaiJIA Yu-fu
(Computer Science & Technology School of Hubei University of Economics, Wuhan, Hube ,430205)
Abstract: A typical software engineering course fails to teach its students many of the skills needed in software development organizations.Because lectures and class projects alone cannot adequately teach about the software process, we have used a pair of games in which the process is simulated, giving students an opportunity to practice it firsthand. SimSE is an educational computer simulation of software process and MO-SEProcess is a Multiplayer Online Software Engineering Process game based on SimSE.
Keyword: Software Engineering Education; SimSE; MO-SEProcess
特別說明:本文獻摘要信息,由維普資訊網(wǎng)提供,本站只提供索引,不對該文獻的全文內(nèi)容負責,不提供免費的全文下載服務。
本文關鍵詞:《軟件工程》課程中的教育游戲,由筆耕文化傳播整理發(fā)布。
本文編號:188878
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/188878.html