国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

《軟件工程》課程教學方法探討與實踐

2012-04-29 21:24劉磊
電腦知識與技術 2012年32期
關鍵詞:軟件工程案例教學實踐教學

劉磊

摘要:軟件工程是理論與實踐并重的課程。指出了在軟件工程教學中出現(xiàn)的一些問題,提出了問題的解決方法,即改變理論教學方式,適當融入案例教學、重視軟件工程實訓教學,注重聯(lián)系實際。通過實際教學過程中對這些方法的應用,學生反饋的情況,以及最終學習的效果來看,確實改善了軟件工程課程的教學狀況。

關鍵詞:軟件工程;教學方法;案例教學;實踐教學;主動式學習

中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2012)32-7767-03

《軟件工程》課程是計算機專業(yè)和軟件專業(yè)重要的基礎課程之一,軟件工程是將系統(tǒng)性的、規(guī)范化的、可定量的方法應用于軟件的開發(fā)、運行和維護。軟件工程同時也是一門實踐性很強的課程,要求學生掌握軟件工程的基本理論和方法,并將這些知識運用到軟件開發(fā)的分析、設計、編碼和測試等活動中,同時培養(yǎng)團隊合作能力和實踐能力,具備一定的分析與解決實際問題的能力和創(chuàng)新能力[1-2]。而軟件工程的理論書籍是幾代工程師在軟件開發(fā)過程中經(jīng)驗和智慧的結晶,需要讀者具有一定的實踐經(jīng)驗,才能真正領會其中的精髓,但是學生往往不具備這樣的經(jīng)驗。因此使學生對軟件工程的理論從感性上的認識變成理性的應用,是教學中需要重點解決的問題。

1現(xiàn)狀分析

1.1教學計劃和教學時間的限制

軟件工程涉及到計算機、經(jīng)濟學、管理學、工程學、市場學等多個領域的知識,由于涉及內(nèi)容太多、太寬,使學生感到這門課中包含的知識非常豐富,而且其本身還處于不斷發(fā)展中,這是本課程的突出特點[3]。而目前大部分的教學計劃限制了課時安排,由于對這種綜合性強的課程因?qū)W時所限,授課內(nèi)容大量縮減,學生不能有效地深入學習軟件工程技術的知識體系。課堂講授上教師往往只有簡單的例子,沒有時間用項目背景去引導,這樣使學生在學習中因為知識的零散和抽象感到疑惑和迷茫。

1.2學生自身素質(zhì)的限制

在軟件工程課程教學過程中,我們發(fā)現(xiàn)由于學生此前只進行過程序設計的基礎學習,實際具有的項目開發(fā)經(jīng)驗極少,學習抽象的理論時沒有切身體會,因此在對軟件工程理論知識學習時感覺太抽象和枯燥,沒有真正的領會掌握,當然不可能將理論付諸于實踐之中,在學習初始時,相當一部分同學輕視理論知識的學習,往往以為軟件工程就是按照老師提供的模板或案例樣本編寫出一系列的文檔應付了事。

1.3教師本身素質(zhì)的限制

當前學校的老師幾乎都是全職教學型,又是研究生畢業(yè)直接從事教學工作。極少實際參與大型項目,沒有實際主持開發(fā)商業(yè)軟件項目的實踐和機會,因此也不具備大型軟件的開發(fā)經(jīng)驗,因此在《軟件工程》課程的教學過程中,也是針對理論講理論,不能將理論知識和實踐有機結合起來,特別是一些原理的細微精妙之處,不能講深講透,對軟件工程課程的整體把握上有力不從心的感覺。而且學校只鼓勵青年教師去高校進修、攻讀學位,不愿派遣教師參加軟件工程方面的培訓。

1.4學校和社會環(huán)境的限制

在學校里,學生主要是通過教師課堂講授為主、實驗室驗證輔助來完成學習知識任務的,教師沒有太多的計劃和學時對學生進行綜合性的培訓,更不可能抽出整段時間進行實際培訓,而且教學計劃里軟件工程的先導課如《程序設計》、《數(shù)據(jù)庫原理》等各門課程的側(cè)重點不同,往往只注重本門課程的教學重難點,使課程間不能順利銜接,這也是影響學生順利進行軟件工程課程學習的一個重要原因。而社會上的軟件企業(yè)由于業(yè)務競爭和發(fā)展需要,不愿過多接收學生的短期實習,且對實習學生整體素質(zhì)要求較高。

2教學改進策略

2.1教學體系優(yōu)化

軟件工程知識體系非常龐大,包含10個知識域:軟件需求、軟件設計、軟件構造、軟件測試、軟件維護、軟件配置管理、軟件工程管理、軟件工程過程、軟件工程工具和方法及軟件質(zhì)量保證[2]。目前我們學校的軟件工程48個課時左右,而理論講授只有一半時間,有限時間不能講完整個知識體系,所以我在教學過程中不是面面俱到,而是重點講授核心基礎內(nèi)容。以軟件需求分析、軟件總體和詳細設計及UML建模為重點,將軟件管理、軟件工程過程、軟件質(zhì)量保證等內(nèi)容延續(xù)到下一個學期。

對于與軟件工程銜接比較緊密的先導課程《C#程序設計》、《Java程序設計》等,均強調(diào)讓任課教師在課程結束時一定要有一個完整的大作業(yè),使學生掃清在本課程中程序?qū)崿F(xiàn)時的基礎障礙。

2.2教學方式優(yōu)化

如果教學方式以教師課堂授課為主,限于照本宣科地抽象介紹一些基本原理,教學內(nèi)容一般是重理論而輕實踐,軟件工程的理論知識是幾十年軟件開發(fā)人員的實踐總結,學生會由于自身實踐的缺乏而對其認識不夠深刻,常常是課堂上聽理論糊里糊涂,實踐中又不知如何運用。不能將軟件工程的思想真正領悟。因此在教學過程中特別注意避免流于空洞的理論灌輸,在課堂上注意結合各種案例推進教學,每個重要知識點都使用大量實際案例進行說明,讓學生不僅掌握理論知識,也能了解它在實際中的使用方法和注意事項,強調(diào)理論與實踐并重的教學理念,將課程安排分為課堂理論教學和課堂實踐兩大部分。前者使學生掌握軟件工程的基本概念、原理和方法;后者著重培養(yǎng)學生綜合運用這些知識開發(fā)實際項目的能力,才能取得較好的教學效果。

2.3實踐教學優(yōu)化

軟件工程課程教學中重要的組成部分是實踐教學,我讓學生以項目小組(一個小組設一個項目經(jīng)理,4-5名組員)的方式開發(fā)具有一定規(guī)模的系統(tǒng),而且是小組集體選擇開發(fā)項目,共同分析和解決在需求、設計及實現(xiàn)系統(tǒng)過程中出現(xiàn)的各種問題,使學生認識到在實際軟件項目開發(fā)過程中不僅需要程序設計知識,還需具備溝通、協(xié)調(diào)和妥協(xié)等人文知識。

實踐教學的軟件開發(fā)我們將其劃分成實驗準備、分析和設計、編程測試和軟件維護等幾個不同階段部分,各自有不同具體要求:

1)實驗準備:在第一次實驗課上,學生自愿組建開發(fā)團隊,根據(jù)簡單的軟件問題描述,選擇準備開發(fā)的系統(tǒng),制定項目的開發(fā)計劃,規(guī)劃所開發(fā)系統(tǒng)的整體功能要求。

2)分析和設計:項目小組集體討論,初步分析要開發(fā)的系統(tǒng),結合教師的提示內(nèi)容和自己搜集的相關領域知識,完成軟件需求說明書的編寫。并根據(jù)軟件需求規(guī)格說明,設計系統(tǒng)的總體結構和詳細模塊劃分,然后再進行詳細設計和模塊開發(fā)。

3)編程測試:小組的每個成員都有分配的模塊,要獨立編寫所有程序代碼,并同時進行測試和調(diào)試。

在課程實驗設計上,非常注重項目小組各成員的興趣愛好特征的不同,加強小組內(nèi)部的溝通和配合,也同時強調(diào)的小組組長的權威和管理能力。每位成員都各負其責,分管一塊內(nèi)容,使學生在一個規(guī)范的和可控的過程中完成實驗項目的開發(fā),在需求分析、系統(tǒng)設計、模塊開發(fā)、集成測試等關鍵階段實行階段評審機制。在課堂實踐中,讓每個小組的文檔負責人對自己的文檔進行宣講,由全體學生進行評審,嚴格控制項目開發(fā)進度,保證按時交付最終產(chǎn)品。

實踐證明,這種教學方式使學生的學習積極性得到極大提高。由于任務分解到人,而且實行的學生自主管理,每個人都發(fā)揮了主觀能動性,積極思考,互相熱烈討論,珍惜每一次的上機時間。而且課堂上的文檔宣講和公開評審,不僅是對小組工作的檢驗,也能夠提高同學們的口頭表達能力和思辨能力,也是同學們相互學習的一次極好機會。同學們也真正理解了以前學習的編程語言和數(shù)據(jù)結構和數(shù)據(jù)庫的實際使用方法和應用范圍,反過來進一步促使他們更加自覺的學習相關知識,學生的綜合能力得到切實提高。

2.4強調(diào)學生的主體地位

在項目開發(fā)過程中由于是學生開發(fā)團隊自己選擇項目,自主管理,自我監(jiān)督,充分體現(xiàn)了以學生為主體的教學理念。整個課程教學中,教師對選擇的示例要精講,講透,在教學前期,時間精力會投入較多;進入開發(fā)過程中后就不要參與過多,只在關鍵節(jié)點上起到畫龍點睛作用即可。比如前期的需求分析,教師可以充當客戶的角色幫助提供系統(tǒng)需求,在課堂評審時以主持人的身份正確引導等;

要充分認識到激發(fā)學生的興趣是教學關鍵,所以選擇的案例既有通用的,也有專業(yè)的,大部分是學生能接觸到的或者實際使用的系統(tǒng),利于學生接受和學習。另外,我們非常重視讓學生們參加到老師的科研項目中去,系里教師們承擔的省部級和院級項目里,都要求有學生的參與,做實際的在研項目對他們的學習有極大促進作用。

2.5對教師的要求更高

要將《軟件工程》課程教好、教活,這種教學方法對老師提出了更高的要求,教師前期的準備工作要非常充分,從教學案例的選擇、學生項目的選擇和定期評審要占用大量的精力和時間。由于前述原因,一般老師實踐經(jīng)驗不足,沒有在企業(yè)工作過的經(jīng)歷,所以教師在課余時間也要不斷學習,熟悉軟件開發(fā)案例和相關的理論知識。

2.6充分利用社會資源,多方共同培養(yǎng)學生

如果有比較好的企業(yè)、學校的合作機制,將企業(yè)中的一些實際業(yè)務作為項目讓學生完成,讓教師作為技術和管理人員,也可請企業(yè)的工程師們給學生進行項目教學,這樣就能讓學生真正領會實際商業(yè)軟件開發(fā)的步驟,同時企業(yè)也可降低一部分開發(fā)成本,達到企業(yè)和學校的共贏目標,這方面,我們與福建蓉基等企業(yè)達成初步合作意向。

3結束語

軟件工程的教學要能使理論教學與實踐教學很好地結合,能讓學生從編程到軟件,從理論認識上深刻掌握前人總結的智慧結晶,并將其主動、靈活的運用到自己的軟件開發(fā)實踐中去,使學生最大限度地發(fā)揮自己的主觀能動力,從被動的要我學習轉(zhuǎn)變?yōu)槲乙獙W習。采用這種綜合的學習模式,能使學生認識到當前的軟件開發(fā)已經(jīng)從要求個人能力向整體團體轉(zhuǎn)化,必須將自己融入到一個開發(fā)團隊中去,只有在一個和諧的團隊里,個人的軟件開發(fā)能力才能得到真正全面提高,才能讓自己在實際工作中迅速施展才華,得到企業(yè)和他人的認可??傊?,我們只有堅持以學生為主體,緊緊抓好理論和實踐并重的教學主線,不斷推進課程體系建設,進一步探討教學方法,總結教學經(jīng)驗,才能培養(yǎng)出符合當前信息社會需求的實用軟件工程人才。

參考文獻:

[1]教育部高等學校計算機科學與技術教學指導委員會.高等學校計算機科學與技術專業(yè)核心課程教學實施方案[M].北京:高等教育出版社,2009.

[2]蔡勇,李菁芳.以“項目教學法”促進“軟件工程”教學[J].計算機教育,2007(8):13-15.

[3]楊芙清.軟件工程教育的思索與實踐[C].全國高校2007年軟件工程專業(yè)教育年會論文集.北京:高等教育出版社,2007.

猜你喜歡
軟件工程案例教學實踐教學
依托工作室的軟件工程實踐教學研究
基于工程教育認證的《軟件工程》課程教學質(zhì)量建設研究 
關于如何創(chuàng)新和完善計算機軟件工程管理的探討
茶學專業(yè)校企合作實踐教學探索
《電氣工程畢業(yè)設計》 課程的教學設計
案例教學在機械創(chuàng)新設計課程中的應用
馬克思主義基本原理概論課案例教學的幾點思考
高職院校商務禮儀課程教學改革探索芻議
EXCEL在《投入產(chǎn)出法》案例教學中的應用
《運籌學》教學模式探討