軟件工程專業(yè)實(shí)踐教學(xué)改革的研究與探討
本文關(guān)鍵詞:軟件工程專業(yè)實(shí)踐教學(xué)改革的研究與探討,由筆耕文化傳播整理發(fā)布。
當(dāng)前所在位置:中國論文網(wǎng) > 教育論文發(fā)表 > 軟件工程專業(yè)實(shí)踐教學(xué)改革的研究與探討
軟件工程專業(yè)實(shí)踐教學(xué)改革的研究與探討
發(fā)布日期: 2014-05-23 發(fā)布:
2014年8期目錄 本期共收錄文章20篇
摘要:軟件工程專業(yè)是一門實(shí)踐性極強(qiáng)的學(xué)科,傳統(tǒng)的教學(xué)方法側(cè)重于軟件編程,而忽視了軟件工程的系統(tǒng)性和工程化的特點(diǎn)。對于軟件工程專業(yè)實(shí)踐性教學(xué)中存在的問題提出了一些改進(jìn)的方法和措施,包括加強(qiáng)軟件項(xiàng)目設(shè)計環(huán)節(jié)、實(shí)施大型軟件項(xiàng)目、開展軟件測試和課程考核改革等,實(shí)踐結(jié)果表明改革措施很好地改善了學(xué)生的實(shí)踐能力,說明了改革措施具有實(shí)際意義和參考價值。
中國論文網(wǎng)
關(guān)鍵詞:軟件工程;實(shí)踐教學(xué);軟件設(shè)計;軟件測試;考核方式
作者簡介:鄧澤林(1977-),男,湖南常德人,長沙理工大學(xué)計算機(jī)與通信工程學(xué)院,講師;謝中科(1968-),男,湖南長沙人,長沙理工大學(xué)計算機(jī)與通信工程學(xué)院,副教授。(湖南 長沙 410076)
基金項(xiàng)目:本文系長沙理工大學(xué)校級精品課程的研究成果。
中圖分類號:G642.0 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-0079(2014)08-0176-02
當(dāng)前,隨著信息技術(shù)的持續(xù)發(fā)展和國家政策的有力支持,軟件產(chǎn)業(yè)得到了長足的發(fā)展與進(jìn)步。為了更好地培養(yǎng)軟件工程人才,很多大學(xué)相繼開設(shè)了軟件工程專業(yè),專門進(jìn)行軟件工程課程的教學(xué)和軟件從業(yè)人才的培養(yǎng)。經(jīng)過多年的教學(xué)實(shí)踐,軟件工程專業(yè)不僅培養(yǎng)了大量的軟件工程的人才,還積累了相當(dāng)?shù)慕虒W(xué)和實(shí)踐經(jīng)驗(yàn),包括課程教學(xué)的改革[1]、教學(xué)團(tuán)隊(duì)的建立[2]、學(xué)生能力評價方法[3]和考核方法[4]。然而,軟件工程專業(yè)涉及的是復(fù)雜的課題,專門研究如何以系統(tǒng)性的、規(guī)范化的、可定量的過程化方法去開發(fā)和維護(hù)軟件,以及如何把經(jīng)過時間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來的學(xué)科,它涉及到程序設(shè)計語言、數(shù)據(jù)庫、軟件開發(fā)工具、系統(tǒng)平臺、標(biāo)準(zhǔn)、設(shè)計模式等方面。[5]由此可見,軟件工程的研究范圍包括計算機(jī)科學(xué)、管理學(xué)等領(lǐng)域,形成了一個交叉學(xué)科,而且目前軟件工程尚未形成成熟的教學(xué)模式,教材也少有提供較為成熟的設(shè)計、訓(xùn)練和實(shí)踐內(nèi)容。
軟件工程的這些特點(diǎn)導(dǎo)致了軟件工程的實(shí)踐教學(xué)面臨著諸多困難。傳統(tǒng)的軟件工程教學(xué)中過多地強(qiáng)調(diào)理論教學(xué),忽視軟件工程專業(yè)系統(tǒng)性、工程化的特點(diǎn),使得學(xué)生難以按照軟件工程的原則實(shí)施項(xiàng)目,造成學(xué)生的專業(yè)能力有所欠缺,難以滿足企業(yè)的要求。在此,長沙理工大學(xué)計算機(jī)與通信工程學(xué)院軟件工程專業(yè)結(jié)合多年的教學(xué)經(jīng)驗(yàn),針對傳統(tǒng)實(shí)踐教學(xué)的弱點(diǎn)提出相應(yīng)的改革方案,以改善學(xué)生的軟件工程實(shí)踐能力,提高學(xué)生軟件開發(fā)水平,更好地滿足企業(yè)的用人需求。
一、教學(xué)中的問題
1.忽視軟件項(xiàng)目的分析和設(shè)計環(huán)節(jié)
軟件工程是通過健全的工程原則來進(jìn)行軟件項(xiàng)目的開發(fā)、管理和維護(hù)的。與道路、建筑等工程項(xiàng)目具有完備的圖紙、方案相似,軟件工程項(xiàng)目也應(yīng)具有大量的分析與設(shè)計文檔用于后續(xù)項(xiàng)目的開發(fā)和維護(hù)。然而,傳統(tǒng)的教育比較注重軟件編程、系統(tǒng)實(shí)現(xiàn)等環(huán)節(jié),而忽視了項(xiàng)目的分析和設(shè)計環(huán)節(jié),從而使得軟件項(xiàng)目難以有效地實(shí)施和管理。
2.缺乏團(tuán)隊(duì)開發(fā)經(jīng)驗(yàn)和項(xiàng)目管理經(jīng)驗(yàn)
軟件工程往往涉及較大的軟件項(xiàng)目,這些項(xiàng)目難以通過個人完成,因此需要團(tuán)隊(duì)的協(xié)作。而在課程教學(xué)中由于場地、時間等因素的限制,難以開展規(guī)模較大的項(xiàng)目。常用的教學(xué)案例往往規(guī)模較小,單個學(xué)生即可編程實(shí)現(xiàn),導(dǎo)致學(xué)生缺乏團(tuán)隊(duì)開發(fā)經(jīng)驗(yàn)。沒有團(tuán)隊(duì)開發(fā)經(jīng)驗(yàn)將會導(dǎo)致學(xué)生對團(tuán)隊(duì)開發(fā)環(huán)境不熟悉,從而難以有效地進(jìn)行較大規(guī)模項(xiàng)目的實(shí)施。不實(shí)施大規(guī)模的團(tuán)隊(duì)協(xié)作開發(fā)將不可能涉及項(xiàng)目進(jìn)度的合理安排、項(xiàng)目的過程控制、人員調(diào)配等項(xiàng)目管理經(jīng)驗(yàn),導(dǎo)致培養(yǎng)出來的學(xué)生仍然是一個初級程序員而非合格的軟件工程師。
3.忽視軟件測試
軟件測試是軟件質(zhì)量控制的重要環(huán)節(jié),掌握基本的軟件測試方法是軟件工程學(xué)生必須掌握的技能之一。傳統(tǒng)的實(shí)踐教學(xué)側(cè)重于系統(tǒng)功能的實(shí)現(xiàn)而忽視軟件測試環(huán)節(jié),軟件系統(tǒng)的測試和驗(yàn)證僅僅通過少量的數(shù)據(jù)來進(jìn)行,而對邊界情況缺乏足夠的考慮和測試用例的設(shè)計,使得程序在運(yùn)行中經(jīng)常出現(xiàn)錯誤,表現(xiàn)不夠穩(wěn)定。
4.考核方式陳舊
課程的考核方式和評分規(guī)則將直接影響學(xué)生的學(xué)習(xí)重點(diǎn)與學(xué)習(xí)方法。很多軟件工程的課程仍沿用筆試考試方法,這種方法不僅難以考核學(xué)生的真實(shí)水平,而且容易將學(xué)生的學(xué)習(xí)主動性引導(dǎo)至背誦書本、突擊考題的學(xué)習(xí)方法上,不利于提高學(xué)生的動手能力。
由于傳統(tǒng)的實(shí)踐教學(xué)存在一些問題,導(dǎo)致學(xué)生的學(xué)習(xí)存在一些誤區(qū),使得學(xué)生的能力與企業(yè)的用人需求存在差距,因此,軟件工程的實(shí)踐教學(xué)環(huán)節(jié)需要進(jìn)行改革以提高學(xué)生的能力。
二、實(shí)踐教學(xué)改革措施
通過實(shí)踐教學(xué)的改革,激發(fā)學(xué)生學(xué)習(xí)的熱情和興趣,提高學(xué)生的實(shí)踐能力,培養(yǎng)出軟件技術(shù)人才所必須的實(shí)踐能力、工程能力和創(chuàng)新能力,滿足企業(yè)對軟件技術(shù)人才的要求。結(jié)合傳統(tǒng)教學(xué)的問題,從如下方面進(jìn)行了實(shí)踐教學(xué)環(huán)節(jié)的改進(jìn):加強(qiáng)軟件項(xiàng)目的分析和設(shè)計;大中型項(xiàng)目的實(shí)施和管理;加強(qiáng)軟件測試能力培養(yǎng);課程考核方法改革。
1.加強(qiáng)軟件項(xiàng)目的分析和設(shè)計
通過UML等課程的學(xué)習(xí),掌握基本的圖示元素,并依據(jù)課程案例來練習(xí)軟件項(xiàng)目的分析與設(shè)計。在“UML建!钡恼n程中,我們采用了若干經(jīng)典的教學(xué)案例,如ATM取款機(jī)的需求分析等,并以此為基礎(chǔ)設(shè)計用例圖、時序圖、協(xié)作圖等的圖例,掌握基本設(shè)計能力。同時,通過設(shè)計簡單的任務(wù)達(dá)到熟悉Rational Rose、Microsoft Visio等軟件的目的。通過學(xué)習(xí)“數(shù)據(jù)庫原理”,掌握基本的E-R分析,將概念模型轉(zhuǎn)換成物理模型。同時,要求學(xué)生熟練掌握關(guān)系數(shù)據(jù)庫范式,能夠根據(jù)實(shí)際情況將范式進(jìn)行分解,以達(dá)到更優(yōu)化的數(shù)據(jù)庫設(shè)計方案。
在實(shí)際問題中,要求學(xué)生根據(jù)實(shí)際情況,結(jié)合軟件工程的瀑布模型,進(jìn)行系統(tǒng)的分析與設(shè)計,并撰寫文檔。這些文檔主要包括需求分析報告、可行性方案、用例分析圖、時序圖、類圖、數(shù)據(jù)庫的設(shè)計、界面設(shè)計等描述項(xiàng)目和系統(tǒng)功能的文檔。這些文檔需要進(jìn)行討論和論證后才能進(jìn)行后續(xù)的工作。通過前期的系統(tǒng)分析和設(shè)計,使得學(xué)生能夠從全局角度掌握軟件項(xiàng)目,從而可以根據(jù)這些設(shè)計來指導(dǎo)后續(xù)的開發(fā)和管理工作。 2.大中型項(xiàng)目的實(shí)施和管理
大型軟件工程項(xiàng)目在實(shí)際實(shí)施中受場地、時間、人員等因素的限制,難以在教學(xué)課時內(nèi)進(jìn)行有效地控制和驗(yàn)收。為此,修改了教學(xué)大綱,在新的教學(xué)大綱中安排1個學(xué)分的“軟件工程實(shí)踐”課程,課程性質(zhì)為必修。該課程不開設(shè)講課,而是為每個學(xué)生安排一個指導(dǎo)教師,每個指導(dǎo)教師負(fù)責(zé)指導(dǎo)3~4人4學(xué)年。這3~4個學(xué)生自然成為一個開發(fā)小組,每個學(xué)期接受不同的項(xiàng)目,組長輪流擔(dān)任。
通過大一、大二兩個學(xué)期的鍛煉,學(xué)生掌握了基本知識、具備基本的開發(fā)能力后,導(dǎo)師在大三的一個學(xué)年里需要為組員提供1~2個來自企業(yè)里的大中型工程項(xiàng)目,不僅使學(xué)生有機(jī)會開展大中型軟件項(xiàng)目,而且使學(xué)生更加了解軟件企業(yè)對員工的能力要求,利于學(xué)生以后順利求職就業(yè)。學(xué)生在接受項(xiàng)目之后需要進(jìn)行適當(dāng)?shù)男枨蠓治,查閱資料,了解項(xiàng)目需求。同時,組員之間要討論系統(tǒng)功能,并進(jìn)行相應(yīng)的系統(tǒng)分析和設(shè)計,最終形成需求分析報告和系統(tǒng)設(shè)計白皮書。然后,組長根據(jù)系統(tǒng)功能為組員指派任務(wù),制定項(xiàng)目進(jìn)度規(guī)劃。接下來團(tuán)隊(duì)進(jìn)入編碼開發(fā)階段,開發(fā)小組采用CVS或者VSS進(jìn)行源代碼版本控制,組員之間相互協(xié)調(diào),在團(tuán)隊(duì)環(huán)境中進(jìn)行軟件實(shí)現(xiàn)。
由于學(xué)生在開發(fā)項(xiàng)目的同時還有其他課程的學(xué)習(xí),因此不能保證項(xiàng)目每天都有進(jìn)度,但應(yīng)該盡量要求每組成員保證每天至少在晚上一起開發(fā)項(xiàng)目1~2個小時,并要求學(xué)生錄入指紋或者簽到,這樣就能夠從時間、人員上保證大中型項(xiàng)目的實(shí)施。至于場地的保證則相對容易,軟件專業(yè)有專用的實(shí)驗(yàn)室,我們?yōu)槊總學(xué)生分配一個機(jī)位。學(xué)生可以自帶電腦進(jìn)入實(shí)驗(yàn)室,或者向?qū)嶒?yàn)室申請計算機(jī)使用。
每個組員每周提交項(xiàng)目進(jìn)度報告給組長審查,組長將情況匯報給指導(dǎo)教師,使得指導(dǎo)教師能夠及時掌握項(xiàng)目進(jìn)度。每個學(xué)期學(xué)生的出勤時間匯總以及項(xiàng)目完成情況將決定學(xué)生是否最終能夠獲得“軟件工程實(shí)踐”這門課程的學(xué)分。其中項(xiàng)目完成情況通過項(xiàng)目答辯確定。
在實(shí)踐過程中,大部分組員都能較好地遵守規(guī)章秩序,積極參與到項(xiàng)目的實(shí)施中去,而且由于學(xué)生開發(fā)了大量的項(xiàng)目作品,使得學(xué)生有條件地參加各種比賽。在2013年湖南省大學(xué)生程序設(shè)計競賽應(yīng)用開發(fā)組的比賽中,我們專業(yè)的學(xué)生提交了3個作品,其中有2個作品獲得一等獎,一個作品獲得二等獎,取得優(yōu)異的成績。
3.加強(qiáng)軟件測試能力培養(yǎng)
軟件測試是一項(xiàng)非常重要的工作,用于評估開發(fā)完成的計算機(jī)軟件的正確度和質(zhì)量等指標(biāo)。由于軟件測試具有較強(qiáng)的專業(yè)性,只要求學(xué)生具備基本的測試能力即可。為了提高學(xué)生的軟件測試的能力,使學(xué)生具備良好的測試習(xí)慣并掌握基本的測試技術(shù),不僅開設(shè)了“軟件測試”的課程,還購買了軟件測試平臺,供學(xué)生練習(xí)。
在項(xiàng)目開發(fā)的過程中主要進(jìn)行單元測試,集中對用源代碼實(shí)現(xiàn)的各個程序單元進(jìn)行測試,驗(yàn)證代碼模塊是否實(shí)現(xiàn)了用戶要求的軟件功能。在測試用例的設(shè)計時著重考慮系統(tǒng)邊界條件進(jìn)行測試,防止出現(xiàn)因系統(tǒng)邊界考慮不清而出現(xiàn)的錯誤,使得程序更加穩(wěn)定。在各單元完成后,再進(jìn)行集成測試,把已測試過的模塊組裝起來進(jìn)行系統(tǒng)測試。通過這些測試可以檢查已實(shí)現(xiàn)的軟件是否滿足了需求規(guī)格說明中確定了的各種需求。
4.課程考核方法改革
對于具有實(shí)踐性質(zhì)課程的考核應(yīng)該盡量避免使用筆試的方式進(jìn)行考核,,而應(yīng)該使用學(xué)生的實(shí)踐結(jié)果進(jìn)行評分。
。1)階段作業(yè)。每一門課程在教學(xué)的過程中分為若干階段,每個階段的若干知識點(diǎn)需要掌握并融會貫通,因此,在合適的時間點(diǎn)上都會安排相應(yīng)的階段性作業(yè)。該作業(yè)不是考查單一的知識點(diǎn),而是若干知識點(diǎn)的融合,使學(xué)生在學(xué)習(xí)的過程中即能夠運(yùn)用多個知識來實(shí)現(xiàn)較復(fù)雜的、實(shí)用的功能軟件,提高學(xué)生的學(xué)習(xí)興趣。這些階段性的作業(yè)通過教學(xué)平臺提交,作為平時成績的一部分。
。2)課程項(xiàng)目。在課程結(jié)束時安排有一定規(guī)模的項(xiàng)目作為期末考試的內(nèi)容,并集中安排時間讓學(xué)生在機(jī)房實(shí)踐。在項(xiàng)目檢查時,主要通過三個方面來進(jìn)行評分:一是項(xiàng)目外觀。看學(xué)生的作品是否考慮到了良好的用戶體驗(yàn),是否考慮到了界面的常用模式、界面是否美觀、專業(yè)等因素。二是系統(tǒng)功能。看學(xué)生的作品是否實(shí)現(xiàn)了系統(tǒng)功能,包括代碼的優(yōu)美性、系統(tǒng)架構(gòu)是否合理等。三是項(xiàng)目亮點(diǎn)。學(xué)生在項(xiàng)目實(shí)現(xiàn)的過程中是否具有一定的創(chuàng)新性,如是否提高了代碼的復(fù)用性、可擴(kuò)展性等。課程項(xiàng)目的評分與階段作業(yè)成績加權(quán)求和即可作為課程成績。
。3)項(xiàng)目答辯。對于一些實(shí)踐性很強(qiáng)的課程設(shè)計,依然采取導(dǎo)師制,每個老師負(fù)責(zé)5個左右的學(xué)生。導(dǎo)師需要為學(xué)生出題,并指導(dǎo)課程設(shè)計,學(xué)生在導(dǎo)師的指導(dǎo)下完成課程設(shè)計。學(xué)院安排統(tǒng)一的時間進(jìn)行項(xiàng)目答辯,學(xué)生不僅需要演示系統(tǒng)、提供課程設(shè)計報告,還要現(xiàn)場回答導(dǎo)師們的問題,導(dǎo)師們根據(jù)綜合情況對答辯學(xué)生打分。通過這種方法可以給學(xué)生嚴(yán)肅感、正式感,使學(xué)生更重視課程設(shè)計的質(zhì)量,更好地完成課程設(shè)計任務(wù)。
三、結(jié)論
針對傳統(tǒng)的軟件工程實(shí)踐教學(xué)的問題,提出了相應(yīng)的改革措施。這些措施主要包括:注重軟件項(xiàng)目的分析與設(shè)計以及項(xiàng)目文檔的組織,從而實(shí)現(xiàn)對軟件項(xiàng)目更好的控制和管理;創(chuàng)造條件實(shí)施大中型軟件項(xiàng)目,利用團(tuán)隊(duì)開發(fā)環(huán)境進(jìn)行軟件的開發(fā)。在團(tuán)隊(duì)開發(fā)中,需要對項(xiàng)目的開發(fā)過程進(jìn)行有效的管理管理,確保項(xiàng)目的成功實(shí)施;加強(qiáng)軟件測試能力培養(yǎng),強(qiáng)化單元測試的能力,實(shí)施項(xiàng)目質(zhì)量控制;改革實(shí)踐課程考核方式,主要通過階段作業(yè)、課程項(xiàng)目、項(xiàng)目答辯等環(huán)節(jié)對學(xué)生能力進(jìn)行考核。
通過這些實(shí)踐教學(xué)的改革,學(xué)生的動手能力得到了顯著的改善,而且學(xué)生團(tuán)隊(duì)能夠勝任軟件項(xiàng)目的過程控制和管理,同時在開發(fā)的過程中能夠通過軟件測試提高項(xiàng)目的質(zhì)量。實(shí)踐課程考核的改革將考核的重點(diǎn)放在項(xiàng)目實(shí)施和項(xiàng)目評估,引導(dǎo)學(xué)生積極參與軟件項(xiàng)目的實(shí)踐。
在軟件工程實(shí)踐教學(xué)改革的過程中,學(xué)生們的軟件作品還積極參加了“挑戰(zhàn)杯”、大學(xué)生程序設(shè)計競賽應(yīng)用開發(fā)作品的競賽,并獲得了多個獎項(xiàng)。這些成績說明了教學(xué)改革確實(shí)提升了學(xué)生的能力,相應(yīng)的改革措施具有一定的參考意義。
參考文獻(xiàn):
[1]鄧澤林,謝中科,胡寧靜.以企業(yè)需求為導(dǎo)向的Java程序設(shè)計教學(xué)改革探討[J].中國電力教育,2010,(28):114-116.
[2]翁偉,朱順痣,肖蕾,等.應(yīng)用型軟件工程教學(xué)團(tuán)隊(duì)建設(shè)方案[J].計算機(jī)教育,2011,(8):43-46.
[3]周波,劉興麗,喬付,等.應(yīng)用型本科院校學(xué)生軟件工程能力評價研究[J].中國電力教育,2013,(23):18-19.
[4]厲小軍,謝波.軟件工程實(shí)踐課程教學(xué)改革探索[J].計算機(jī)教育,2012,(3):106-110.
[5]Wikipedia.Software engineering[EB/OL].[2014-01-09].http://en.wikipedia.org/wiki/Software_engineering.
注:鄧澤林為本文通訊作者。
。ㄘ(zé)任編輯:王祝萍)
本文關(guān)鍵詞:軟件工程專業(yè)實(shí)踐教學(xué)改革的研究與探討,由筆耕文化傳播整理發(fā)布。
本文編號:166409
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/166409.html