發(fā)布時間:2022-04-28 04:11:04
開篇:寫作不僅是一種記錄,更是一種創(chuàng)造,它讓我們能夠捕捉那些稍縱即逝的靈感,將它們永久地定格在紙上。下面是小編精心整理的1篇軟件工程畢業(yè)論文,希望這些內(nèi)容能成為您創(chuàng)作過程中的良師益友,陪伴您不斷探索和進(jìn)步。
1軟件工程在畢業(yè)設(shè)計中的作用
軟件工程不僅是計算機科學(xué)與技術(shù)專業(yè)、軟件工程專業(yè)的一門專業(yè)基礎(chǔ)優(yōu)秀課程,也是其他相關(guān)專業(yè),如信息工程、系統(tǒng)工程、信息與計算機科學(xué)、信息管理與信息系統(tǒng)等專業(yè)的重要應(yīng)用技術(shù)課程。對于這些專業(yè)的學(xué)生來說,畢業(yè)設(shè)計多是以軟件開發(fā)類項目為主,整個畢業(yè)設(shè)計就是開發(fā)一個軟件。為了更好地完成軟件開發(fā)類畢業(yè)設(shè)計,提高學(xué)生畢業(yè)設(shè)計的質(zhì)量,進(jìn)一步規(guī)范畢業(yè)設(shè)計中的軟件開發(fā)過程是必需的。軟件工程的思想正是用工程化方法構(gòu)建和維護(hù)有效的、實用的和高質(zhì)量的軟件。按照軟件工程思想,軟件開發(fā)的生命周期分為可行性分析、需求分析、總體設(shè)計、詳細(xì)設(shè)計、編碼實現(xiàn)、軟件測試和軟件維護(hù)幾個階段。在學(xué)生的畢業(yè)設(shè)計中以軟件工程的思想為主線,從軟件工程的角度去指導(dǎo)學(xué)生進(jìn)行畢業(yè)設(shè)計,挖掘軟件工程在系統(tǒng)開發(fā)過程中的價值,解決畢業(yè)設(shè)計中存在的一些問題,既有助于學(xué)生更好地理解軟件工程的方法、技術(shù)和思想,更有助于提高軟件類畢業(yè)設(shè)計的質(zhì)量。
2畢業(yè)設(shè)計中存在的問題
筆者在指導(dǎo)學(xué)生軟件開發(fā)類畢業(yè)設(shè)計過程中發(fā)現(xiàn),畢業(yè)設(shè)計存在著選題難、任務(wù)重、重視編碼、輕過程、項目無法完成等現(xiàn)象。設(shè)計過程中沒有嚴(yán)格地遵循軟件工程的開發(fā)方法,沒有規(guī)范的軟件設(shè)計過程,項目能否成功主要依賴于個人能力和個人努力,這種不正確的開發(fā)方法帶來了嚴(yán)重的后果。在項目開發(fā)的過程中常常存在以下幾個方面問題:
2.1選題的盲目性
選題是畢業(yè)設(shè)計過程中的一個初始環(huán)節(jié),選題恰當(dāng)是做好畢業(yè)設(shè)計的前提,但選題不當(dāng)?shù)那闆r仍然時有發(fā)生。學(xué)生沒有認(rèn)識到畢業(yè)設(shè)計的重要性,純粹是為了完成學(xué)業(yè)而做畢業(yè)設(shè)計,選題沒有一個確切的目標(biāo),往往是隨便選一個題目,造成選題的盲目性,出現(xiàn)了選題陳舊、選題范圍狹窄、選題偏大等問題,使學(xué)生抄襲、完成不了畢業(yè)設(shè)計的情況時有發(fā)生。
2.2缺少軟件的系統(tǒng)分析
軟件開發(fā)過程的第一個階段是系統(tǒng)分析,用來確定軟件開發(fā)要解決的問題是什么?估算完成該項目需要的資源和成本,確定目標(biāo)系統(tǒng)應(yīng)該具備哪些功能,主要經(jīng)歷問題的定義、可行性分析和需求分析三個階段。軟件的系統(tǒng)分析確定了用戶需求,同時對目標(biāo)系統(tǒng)提出完整、具體的要求,引導(dǎo)開發(fā)者正確地構(gòu)建系統(tǒng)。因此,對用戶需求做出全面、正確的分析,對于最終軟件開發(fā)類畢業(yè)設(shè)計的成敗起著至關(guān)重要的作用。然而在完成畢業(yè)設(shè)計過程中,學(xué)生往往認(rèn)為代碼編寫最重要,對軟件開發(fā)過程中的可行性分析和需求分析階段不重視,甚至沒有系統(tǒng)分析,對整個畢業(yè)設(shè)計的完成造成了影響。
2.3軟件設(shè)計過程雜亂無章
軟件設(shè)計一般都要經(jīng)歷可行性分析、需求分析、總體設(shè)計、詳細(xì)設(shè)計、編碼和測試階段。而部分學(xué)生在畢業(yè)設(shè)計開發(fā)的過程中,缺乏軟件工程設(shè)計思想,跨越需求分析、概要設(shè)計、詳細(xì)設(shè)計和功能模塊設(shè)計,直接進(jìn)行代碼的撰寫;或者從代碼反推出模塊設(shè)計;甚至在軟件開發(fā)過程中,一邊寫程序,一邊了解需求,程序完成了需求才確定。這種無序的軟件設(shè)計過程,導(dǎo)致最終設(shè)計的系統(tǒng)雜亂無章、代碼的重復(fù)率高、潛在?Bug多、系統(tǒng)的可集成性非常差、不能在規(guī)定時間內(nèi)完成設(shè)計或者系統(tǒng)無法運行。
2.4開發(fā)過程中文檔不完備
根據(jù)軟件工程學(xué)的基本原理,軟件=程序+文檔,可見軟件文檔是軟件開發(fā)過程中不可缺少的組成部分。軟件文檔貫穿于軟件開發(fā)的各個階段,是提高軟件產(chǎn)品開發(fā)效率、規(guī)范軟件產(chǎn)品開發(fā)過程、保證軟件產(chǎn)品質(zhì)量的關(guān)鍵。但在實際畢業(yè)設(shè)計中,很多同學(xué)認(rèn)為把程序代碼編出來了,畢業(yè)設(shè)計也就完成了,提交的畢業(yè)設(shè)計論文就是系統(tǒng)代碼的復(fù)制,即只做出一個可演示可操作的系統(tǒng),而忽略了軟件開發(fā)的完整性、系統(tǒng)性。完整的畢業(yè)設(shè)計不僅包括可操作的系統(tǒng),還包括在開發(fā)系統(tǒng)的過程中所產(chǎn)生的各個文檔資料。文檔的缺失會降低軟件開發(fā)的效率、影響整個軟件的開發(fā)、使用和維護(hù)。以上問題的存在,嚴(yán)重影響了畢業(yè)設(shè)計的進(jìn)度和質(zhì)量,沒有達(dá)到畢業(yè)設(shè)計的目標(biāo)要求。針對當(dāng)前畢業(yè)設(shè)計的現(xiàn)狀和存在不足,筆者認(rèn)為應(yīng)用軟件工程學(xué)的思想指導(dǎo)畢業(yè)設(shè)計,對促進(jìn)學(xué)生綜合素質(zhì)與工程實踐能力培養(yǎng)具有積極意義。
3用軟件工程思想指導(dǎo)學(xué)生進(jìn)行畢業(yè)設(shè)計
3.1以可行性研究指導(dǎo)選題
可行性研究的目的是用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決。畢業(yè)設(shè)計題目的選擇,應(yīng)立足于解決工程實際問題,可由指導(dǎo)教師提供符合相關(guān)專業(yè)畢業(yè)設(shè)計要求的題目,也可以鼓勵學(xué)生自己到社會、生產(chǎn)企業(yè)中尋求研究課題,培養(yǎng)他們自主學(xué)習(xí)的意識。選題過程以可行性研究為指導(dǎo),從課題規(guī)模大小、難易程度、學(xué)生自己的研究方向、愛好、學(xué)生的知識層面和能力等多個方面進(jìn)行考慮,對于選擇的題目是否能夠解決,確定在規(guī)定的時間內(nèi)完成畢業(yè)設(shè)計的可行性。指導(dǎo)教師可根據(jù)學(xué)生選報的題目來指導(dǎo)學(xué)生對該選題進(jìn)行調(diào)查研究,明確課題要解決的問題是什么,簡要地寫出關(guān)于問題性質(zhì)、項目目標(biāo)和項目規(guī)模的書面報告。可行性研究來指導(dǎo)畢業(yè)設(shè)計的選題,實質(zhì)上是簡化了系統(tǒng)分析和設(shè)計的過程,也是在較高層次上以較抽象的方式進(jìn)行的系統(tǒng)分析和設(shè)計的過程,使學(xué)生對于課題的設(shè)計有個清晰的思路,為及時完成畢業(yè)設(shè)計提供了可能。
3.2重視軟件的需求分析
需求分析的基本任務(wù)是準(zhǔn)確地回答“系統(tǒng)必須做什么”,即確定系統(tǒng)必須完成哪些工作,也就是對目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求,不僅指明了系統(tǒng)設(shè)計時必須要實現(xiàn)的目標(biāo),也是軟件設(shè)計、實現(xiàn)、測試和維護(hù)階段的主要參考標(biāo)準(zhǔn)。用戶需求的獲取是軟件開發(fā)中最重要、難度最大的工作,它貫穿于整個軟件設(shè)計過程,不僅要涉及到軟件開發(fā)方面的知識、應(yīng)用領(lǐng)域方面的知識,還涉及到與用戶溝通的能力。在進(jìn)行需求獲取和分析時,為了及時、準(zhǔn)確地獲取,可采用軟件工程中比較成熟的方法,例如訪談、實際調(diào)查、UML的用例技術(shù)等。需求分析在軟件系統(tǒng)分析與設(shè)計階段起著橋梁的作用,確定了系統(tǒng)的需求,才能制定出軟件設(shè)計的框架,保證畢業(yè)設(shè)計循序漸進(jìn)、有條不紊地進(jìn)行,避免后期開發(fā)過程的頻繁返工,進(jìn)而按時完成最終的任務(wù)。
3.3規(guī)范畢業(yè)設(shè)計過程
軟件開發(fā)類畢業(yè)設(shè)計一般是開發(fā)一個軟件系統(tǒng),實現(xiàn)一定的功能。“麻雀雖小,五臟俱全”,無論軟件規(guī)模的大小、功能的多少,都應(yīng)該嚴(yán)格按照軟件工程中軟件生命周期每個階段的步驟完成各項任務(wù)。要培養(yǎng)學(xué)生把軟件工程的概念貫穿于整個畢業(yè)設(shè)計過程,也就是說,讓學(xué)生把開發(fā)軟件的過程看成是蓋一棟大樓,修一條公路的實際工程,用工程化的思想指導(dǎo)畢業(yè)設(shè)計,確定完成課題的各項任務(wù)的工作步驟,注重軟件類畢業(yè)設(shè)計的過程,而不是學(xué)生所認(rèn)為的畢業(yè)設(shè)計就是編程序,代碼調(diào)試通過即可。通過工程的概念規(guī)范畢業(yè)設(shè)計過程,讓學(xué)生明白開發(fā)一個軟件系統(tǒng)一般經(jīng)過系統(tǒng)分析、系統(tǒng)設(shè)計、系統(tǒng)實施三個階段,必須嚴(yán)格遵循軟件生命周期的規(guī)律,完成各個階段的任務(wù),才能最終提高畢業(yè)設(shè)計的質(zhì)量。
3.4重視文檔的寫作
軟件工程中的瀑布模型嚴(yán)格地規(guī)定了在整個軟件生命周期的各個階段,都要提交相應(yīng)的文檔。文檔不僅記錄軟件開發(fā)過程中的大量信息,在軟件的開發(fā)、維護(hù)過程中也起著重要的作用。在指導(dǎo)學(xué)生畢業(yè)設(shè)計時,要求學(xué)生遵照軟件工程的思想,把文檔作為整個設(shè)計的指揮棒,記載設(shè)計過程的每一階段完成的目標(biāo)、任務(wù)及技術(shù)手段,建立健全畢業(yè)設(shè)計文檔制度,確保畢業(yè)設(shè)計過程中的文獻(xiàn)綜述、譯文、任務(wù)書、開題報告、選題審題表、中期檢查表、設(shè)計(論文)正文、答辯記錄等各環(huán)節(jié)教學(xué)資料檔案完善、規(guī)范,實現(xiàn)對畢業(yè)設(shè)計的全程監(jiān)控。
4結(jié)束語
軟件工程是軟件開發(fā)工程化、規(guī)范化的具體實施方法,將其應(yīng)用到畢業(yè)設(shè)計中,不僅有助于學(xué)生對軟件開發(fā)相關(guān)知識的鞏固和實踐,而且對解決目前軟件開發(fā)類畢業(yè)設(shè)計中存在的問題,提高學(xué)生畢業(yè)設(shè)計質(zhì)量,具有極大的促進(jìn)作用。
作者:王曉 王長波 單位:湖北醫(yī)藥學(xué)院 公共管理學(xué)院計算機教研室
一、利用多方資源做好畢業(yè)設(shè)計選題與立題工作
恰當(dāng)?shù)倪x題是做好畢業(yè)設(shè)計的必要條件和前提。近年來,隨著信息技術(shù)高速發(fā)展,國家對高素質(zhì)軟件工程人才需求十分旺盛,并有逐年擴大的趨勢。同時各個高校軟件工程專業(yè)的招生數(shù)量也在逐年增加,從目前全國319所設(shè)有軟件工程專業(yè)的學(xué)校看,2013年該專業(yè)平均招生300人左右。專業(yè)招生人數(shù)的增多給畢業(yè)設(shè)計選題帶來了帶來巨大挑戰(zhàn):一方面軟件工程專業(yè)的畢業(yè)設(shè)計選題要求具有一定的應(yīng)用價值、創(chuàng)新性,同時還要與行業(yè)需求相吻合;另一方面要保證選題的唯一性,不僅要避免學(xué)生之間的題目重復(fù),還要避免與之前畢業(yè)生的題目重復(fù),因為重復(fù)的選題會使學(xué)生產(chǎn)生投機的心理,導(dǎo)致“打醬油”現(xiàn)象。針對上述問題,黑龍江大學(xué)軟件學(xué)院主要采取了以下幾個措施:1.充分利用企業(yè)資源,對一部分在企業(yè)實習(xí)的學(xué)生采取“三位一體”的雙導(dǎo)師指導(dǎo)模式。即企業(yè)項目為載體,學(xué)生為主體的模式,校內(nèi)和校外導(dǎo)師為主導(dǎo)。這部分學(xué)生一般是在大三下學(xué)期暑假就已經(jīng)進(jìn)入企業(yè)實習(xí),而我們每年畢業(yè)設(shè)計選題工作是在十一月末,也就是學(xué)生進(jìn)入企業(yè)實習(xí)后三到四個月的時間,學(xué)生經(jīng)過企業(yè)階段的培訓(xùn),對企業(yè)的生產(chǎn)過程、企業(yè)文化有了一定的了解。此時,學(xué)院組織校內(nèi)外導(dǎo)師和學(xué)生共同協(xié)商,以企業(yè)項目或子項目為學(xué)生確定畢業(yè)設(shè)計選題。2.充分發(fā)揮導(dǎo)師的資源優(yōu)勢,學(xué)院大部分教師都有自己的科研課題,這些科研課題有些是直接來源于企業(yè)的橫向課題,還有一些是信息技術(shù)領(lǐng)域的應(yīng)用研究課題,我們鼓勵教師從這些課題中提取出一些子項目讓學(xué)生實踐,作為畢業(yè)設(shè)計的選題。3.充分挖掘?qū)W生的專業(yè)技術(shù)特長和興趣點并結(jié)合學(xué)生的擇業(yè)傾向,確定最能發(fā)揮自身優(yōu)勢和潛能的選題。畢業(yè)設(shè)計的選題不僅要與實際需求相結(jié)合,更重要的是應(yīng)該結(jié)合學(xué)生自身的技術(shù)優(yōu)勢和興趣。只有學(xué)生對選題有興趣,他們才能盡早地進(jìn)入狀態(tài),發(fā)揮自己的創(chuàng)造能力和積極主動意識。所以,選題階段導(dǎo)師和學(xué)生的溝通交流就顯得尤為重要,通過溝通導(dǎo)師可以了解學(xué)生的能力、興趣和擇業(yè)傾向,學(xué)生也可以對選題,有進(jìn)一步的認(rèn)識,對于不感興趣的選題學(xué)生也可以通過與導(dǎo)師進(jìn)一步的探討進(jìn)行題目的修訂。
二、注重環(huán)節(jié)審查,加強過程監(jiān)管
雖然“好的開始是成功的一半”,但是如果缺乏中間環(huán)節(jié)的監(jiān)管,仍然不能保證好的效果[4]。因此,為保證畢業(yè)設(shè)計(論文)的質(zhì)量,我們制定了明確的質(zhì)量標(biāo)準(zhǔn)、管理條例,并由院長、學(xué)術(shù)委員會、系主任和教務(wù)辦主任組成畢業(yè)設(shè)計(論文)工作委員會,負(fù)責(zé)畢業(yè)設(shè)計(論文)工作的組織、評定和監(jiān)管,同時保證管理條例的嚴(yán)格落實及各個環(huán)節(jié)工作的正常進(jìn)行。為健全畢業(yè)設(shè)計(論文)的監(jiān)管機制,學(xué)院先后規(guī)范和完善了《畢業(yè)設(shè)計(論文)工作管理辦法和實施細(xì)則》《開題報告》《開題評分標(biāo)準(zhǔn)》《中期報告》《中期檢查標(biāo)準(zhǔn)》《畢業(yè)設(shè)計(論文)撰寫規(guī)范及模版》《畢業(yè)設(shè)計(論文)盲審表》《答辯程序和評分標(biāo)準(zhǔn)》等一系列管理辦法和文檔標(biāo)準(zhǔn),使畢業(yè)設(shè)計工作在制度和規(guī)范下能順利有效地進(jìn)行。每年畢業(yè)設(shè)計工作之初,我們都要給學(xué)生開一個動員會,在會上闡明畢業(yè)設(shè)計(論文)的重要性,以及畢業(yè)設(shè)計對他們未來工作的影響,調(diào)動他們學(xué)習(xí)的主動性、積極性和創(chuàng)造性。此外,系主任還要向?qū)W生介紹學(xué)院畢業(yè)設(shè)計(論文)管理辦法和實施細(xì)則,各階段的工作要求和時間節(jié)點,以及各環(huán)節(jié)檢查的內(nèi)容、需要提交的文檔,使學(xué)生在畢業(yè)設(shè)計開始時能做到心中有數(shù)。同時,我們也要求指導(dǎo)教師隨時解答學(xué)生的問題,堅持每周開例會,檢查學(xué)生的工作完成情況,并提出一些有技術(shù)含量和理論深度的問題啟發(fā)他們思考,激發(fā)他們的學(xué)習(xí)熱情,并與學(xué)生一起確定后續(xù)任務(wù)。此外我們組織開題檢查、中期檢查,對開題檢查成績后30%的學(xué)生,不但檢查中期報告,還要現(xiàn)場檢查程序。對于中期檢查不合格的學(xué)生,要求限期整改,如果仍然不合格則取消答辯資格。在答辯之前,我們還要對論文進(jìn)行盲審,盲審不合格的學(xué)生不允許答辯,對有異議的論文要提交學(xué)術(shù)委員會做最后論證。雖然學(xué)院對畢業(yè)設(shè)計(論文)工作在各個環(huán)節(jié)上的審查都非常嚴(yán)格,但我們鼓勵學(xué)生之間進(jìn)行研討交流,博采眾長,相互提高,因為我們的目的不是抓出多少不合格的學(xué)生,而是想通過大學(xué)階段最后的綜合性實踐教學(xué)環(huán)節(jié)訓(xùn)練,培養(yǎng)學(xué)生的學(xué)習(xí)能力、知識的綜合運用能力、分析解決問題能力和溝通交流等綜合素質(zhì)。
三、嚴(yán)把答辯關(guān),保證畢業(yè)設(shè)計質(zhì)量
答辯是畢業(yè)設(shè)計(論文)考核階段的最后環(huán)節(jié),這個環(huán)節(jié)既是學(xué)院對學(xué)生畢業(yè)設(shè)計的驗收和鑒定,同時也是學(xué)生對自己工作的總結(jié)和匯報。通過答辯,學(xué)生不僅展示了畢業(yè)設(shè)計工作的效果,更展示了自己的專業(yè)知識、技術(shù)水平和綜合素質(zhì)。作為教師,每年都要指導(dǎo)多個畢業(yè)設(shè)計(論文),而學(xué)生一生只能經(jīng)歷一次本科畢業(yè)設(shè)計,而且畢業(yè)設(shè)計答辯能否順利通過,直接關(guān)系到學(xué)生畢業(yè)及學(xué)位資格的認(rèn)定。因此對學(xué)生來講,畢業(yè)答辯至關(guān)重要。這有點像外科醫(yī)生與患者的關(guān)系:醫(yī)生每年要做很多手術(shù),對他們而言手術(shù)已是司空見慣,但對于患者本人,可能一輩子才上一次手術(shù)臺,而且生命攸關(guān)。所以,我們要在畢業(yè)設(shè)計指導(dǎo)過程中,認(rèn)真對待每一位學(xué)生。同時在畢業(yè)答辯中嚴(yán)格把關(guān),保證質(zhì)量,更要秉承“公開“”公正”“公平”的原則。我們的畢業(yè)設(shè)計(論文)答辯采用小組面試形式,每組由四位副高職以上教師組成,答辯流程如圖1所示。答辯當(dāng)天向?qū)W生公布成績,畢業(yè)設(shè)計(論文)總成績由開題成績(10%)、中期成績(10%)、指導(dǎo)教師成績(10%)、答辯成績(70%)構(gòu)成。對于優(yōu)秀的和不及格的學(xué)生,我們還會重新組建答辯組進(jìn)行二次答辯。這是考慮到答辯組之間認(rèn)同度的差異而導(dǎo)致評分標(biāo)準(zhǔn)出現(xiàn)偏差,可能有些答辯組打分會偏低,有的組打分會偏高,即各個答辯組評分信度不能達(dá)到一致。二次答辯可以有效地消減組間評分差異,從而使申報校優(yōu)秀論文人選和未通過人選的確定做到公正、公平和有效。針對軟件行業(yè)特點,我們通過強化實踐教學(xué)環(huán)節(jié),合理利用多方資源拓寬畢業(yè)設(shè)計(論文)選題途徑、健全和完善畢業(yè)設(shè)計(論文)的監(jiān)管機制等手段,確保了畢業(yè)論文質(zhì)量的穩(wěn)步提高。幾年來,黑龍江大學(xué)軟件學(xué)院的畢業(yè)設(shè)計(論文)質(zhì)量受到校內(nèi)外專家的一致好評,獲校優(yōu)秀論文比率一直位于學(xué)校前列。實踐證明,加強畢業(yè)設(shè)計(論文)質(zhì)量的監(jiān)管,不但提高了學(xué)生工程實踐能力、獨立科研能力和創(chuàng)新意識,為學(xué)生進(jìn)入工作崗位打下了良好的基礎(chǔ),進(jìn)而也提升了學(xué)生的就業(yè)率。
作者:任美睿 金英 郭龍江 單位:黑龍江大學(xué)
1軟件工程在畢業(yè)設(shè)計中的作用
軟件工程不僅是計算機科學(xué)與技術(shù)專業(yè)、軟件工程專業(yè)的一門專業(yè)基礎(chǔ)優(yōu)秀課程,也是其他相關(guān)專業(yè),如信息工程、系統(tǒng)工程、信息與計算機科學(xué)、信息管理與信息系統(tǒng)等專業(yè)的重要應(yīng)用技術(shù)課程。對于這些專業(yè)的學(xué)生來說,畢業(yè)設(shè)計多是以軟件開發(fā)類項目為主,整個畢業(yè)設(shè)計就是開發(fā)一個軟件。為了更好地完成軟件開發(fā)類畢業(yè)設(shè)計,提高學(xué)生畢業(yè)設(shè)計的質(zhì)量,進(jìn)一步規(guī)范畢業(yè)設(shè)計中的軟件開發(fā)過程是必需的。軟件工程的思想正是用工程化方法構(gòu)建和維護(hù)有效的、實用的和高質(zhì)量的軟件。按照軟件工程思想,軟件開發(fā)的生命周期分為可行性分析、需求分析、總體設(shè)計、詳細(xì)設(shè)計、編碼實現(xiàn)、軟件測試和軟件維護(hù)幾個階段。在學(xué)生的畢業(yè)設(shè)計中以軟件工程的思想為主線,從軟件工程的角度去指導(dǎo)學(xué)生進(jìn)行畢業(yè)設(shè)計,挖掘軟件工程在系統(tǒng)開發(fā)過程中的價值,解決畢業(yè)設(shè)計中存在的一些問題,既有助于學(xué)生更好地理解軟件工程的方法、技術(shù)和思想,更有助于提高軟件類畢業(yè)設(shè)計的質(zhì)量。
2畢業(yè)設(shè)計中存在的問題
筆者在指導(dǎo)學(xué)生軟件開發(fā)類畢業(yè)設(shè)計過程中發(fā)現(xiàn),畢業(yè)設(shè)計存在著選題難、任務(wù)重、重視編碼、輕過程、項目無法完成等現(xiàn)象。設(shè)計過程中沒有嚴(yán)格地遵循軟件工程的開發(fā)方法,沒有規(guī)范的軟件設(shè)計過程,項目能否成功主要依賴于個人能力和個人努力,這種不正確的開發(fā)方法帶來了嚴(yán)重的后果。在項目開發(fā)的過程中常常存在以下幾個方面問題:
2.1選題的盲目性
選題是畢業(yè)設(shè)計過程中的一個初始環(huán)節(jié),選題恰當(dāng)是做好畢業(yè)設(shè)計的前提,但選題不當(dāng)?shù)那闆r仍然時有發(fā)生。學(xué)生沒有認(rèn)識到畢業(yè)設(shè)計的重要性,純粹是為了完成學(xué)業(yè)而做畢業(yè)設(shè)計,選題沒有一個確切的目標(biāo),往往是隨便選一個題目,造成選題的盲目性,出現(xiàn)了選題陳舊、選題范圍狹窄、選題偏大等問題,使學(xué)生抄襲、完成不了畢業(yè)設(shè)計的情況時有發(fā)生。
2.2缺少軟件的系統(tǒng)分析
軟件開發(fā)過程的第一個階段是系統(tǒng)分析,用來確定軟件開發(fā)要解決的問題是什么?估算完成該項目需要的資源和成本,確定目標(biāo)系統(tǒng)應(yīng)該具備哪些功能,主要經(jīng)歷問題的定義、可行性分析和需求分析三個階段。軟件的系統(tǒng)分析確定了用戶需求,同時對目標(biāo)系統(tǒng)提出完整、具體的要求,引導(dǎo)開發(fā)者正確地構(gòu)建系統(tǒng)。因此,對用戶需求做出全面、正確的分析,對于最終軟件開發(fā)類畢業(yè)設(shè)計的成敗起著至關(guān)重要的作用。然而在完成畢業(yè)設(shè)計過程中,學(xué)生往往認(rèn)為代碼編寫最重要,對軟件開發(fā)過程中的可行性分析和需求分析階段不重視,甚至沒有系統(tǒng)分析,對整個畢業(yè)設(shè)計的完成造成了影響。
2.3軟件設(shè)計過程雜亂無章
軟件設(shè)計一般都要經(jīng)歷可行性分析、需求分析、總體設(shè)計、詳細(xì)設(shè)計、編碼和測試階段。而部分學(xué)生在畢業(yè)設(shè)計開發(fā)的過程中,缺乏軟件工程設(shè)計思想,跨越需求分析、概要設(shè)計、詳細(xì)設(shè)計和功能模塊設(shè)計,直接進(jìn)行代碼的撰寫;或者從代碼反推出模塊設(shè)計;甚至在軟件開發(fā)過程中,一邊寫程序,一邊了解需求,程序完成了需求才確定。這種無序的軟件設(shè)計過程,導(dǎo)致最終設(shè)計的系統(tǒng)雜亂無章、代碼的重復(fù)率高、潛在?Bug多、系統(tǒng)的可集成性非常差、不能在規(guī)定時間內(nèi)完成設(shè)計或者系統(tǒng)無法運行。
2.4開發(fā)過程中文檔不完備
根據(jù)軟件工程學(xué)的基本原理,軟件=程序+文檔,可見軟件文檔是軟件開發(fā)過程中不可缺少的組成部分。軟件文檔貫穿于軟件開發(fā)的各個階段,是提高軟件產(chǎn)品開發(fā)效率、規(guī)范軟件產(chǎn)品開發(fā)過程、保證軟件產(chǎn)品質(zhì)量的關(guān)鍵。但在實際畢業(yè)設(shè)計中,很多同學(xué)認(rèn)為把程序代碼編出來了,畢業(yè)設(shè)計也就完成了,提交的畢業(yè)設(shè)計論文就是系統(tǒng)代碼的復(fù)制,即只做出一個可演示可操作的系統(tǒng),而忽略了軟件開發(fā)的完整性、系統(tǒng)性。完整的畢業(yè)設(shè)計不僅包括可操作的系統(tǒng),還包括在開發(fā)系統(tǒng)的過程中所產(chǎn)生的各個文檔資料。文檔的缺失會降低軟件開發(fā)的效率、影響整個軟件的開發(fā)、使用和維護(hù)。以上問題的存在,嚴(yán)重影響了畢業(yè)設(shè)計的進(jìn)度和質(zhì)量,沒有達(dá)到畢業(yè)設(shè)計的目標(biāo)要求。針對當(dāng)前畢業(yè)設(shè)計的現(xiàn)狀和存在不足,筆者認(rèn)為應(yīng)用軟件工程學(xué)的思想指導(dǎo)畢業(yè)設(shè)計,對促進(jìn)學(xué)生綜合素質(zhì)與工程實踐能力培養(yǎng)具有積極意義。
3用軟件工程思想指導(dǎo)學(xué)生進(jìn)行畢業(yè)設(shè)計
3.1以可行性研究指導(dǎo)選題
可行性研究的目的是用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決。畢業(yè)設(shè)計題目的選擇,應(yīng)立足于解決工程實際問題,可由指導(dǎo)教師提供符合相關(guān)專業(yè)畢業(yè)設(shè)計要求的題目,也可以鼓勵學(xué)生自己到社會、生產(chǎn)企業(yè)中尋求研究課題,培養(yǎng)他們自主學(xué)習(xí)的意識。選題過程以可行性研究為指導(dǎo),從課題規(guī)模大小、難易程度、學(xué)生自己的研究方向、愛好、學(xué)生的知識層面和能力等多個方面進(jìn)行考慮,對于選擇的題目是否能夠解決,確定在規(guī)定的時間內(nèi)完成畢業(yè)設(shè)計的可行性。指導(dǎo)教師可根據(jù)學(xué)生選報的題目來指導(dǎo)學(xué)生對該選題進(jìn)行調(diào)查研究,明確課題要解決的問題是什么,簡要地寫出關(guān)于問題性質(zhì)、項目目標(biāo)和項目規(guī)模的書面報告。可行性研究來指導(dǎo)畢業(yè)設(shè)計的選題,實質(zhì)上是簡化了系統(tǒng)分析和設(shè)計的過程,也是在較高層次上以較抽象的方式進(jìn)行的系統(tǒng)分析和設(shè)計的過程,使學(xué)生對于課題的設(shè)計有個清晰的思路,為及時完成畢業(yè)設(shè)計提供了可能。
3.2重視軟件的需求分析
需求分析的基本任務(wù)是準(zhǔn)確地回答“系統(tǒng)必須做什么”,即確定系統(tǒng)必須完成哪些工作,也就是對目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求,不僅指明了系統(tǒng)設(shè)計時必須要實現(xiàn)的目標(biāo),也是軟件設(shè)計、實現(xiàn)、測試和維護(hù)階段的主要參考標(biāo)準(zhǔn)。用戶需求的獲取是軟件開發(fā)中最重要、難度最大的工作,它貫穿于整個軟件設(shè)計過程,不僅要涉及到軟件開發(fā)方面的知識、應(yīng)用領(lǐng)域方面的知識,還涉及到與用戶溝通的能力。在進(jìn)行需求獲取和分析時,為了及時、準(zhǔn)確地獲取,可采用軟件工程中比較成熟的方法,例如訪談、實際調(diào)查、UML的用例技術(shù)等。需求分析在軟件系統(tǒng)分析與設(shè)計階段起著橋梁的作用,確定了系統(tǒng)的需求,才能制定出軟件設(shè)計的框架,保證畢業(yè)設(shè)計循序漸進(jìn)、有條不紊地進(jìn)行,避免后期開發(fā)過程的頻繁返工,進(jìn)而按時完成最終的任務(wù)。
3.3規(guī)范畢業(yè)設(shè)計過程
軟件開發(fā)類畢業(yè)設(shè)計一般是開發(fā)一個軟件系統(tǒng),實現(xiàn)一定的功能。“麻雀雖小,五臟俱全”,無論軟件規(guī)模的大小、功能的多少,都應(yīng)該嚴(yán)格按照軟件工程中軟件生命周期每個階段的步驟完成各項任務(wù)。要培養(yǎng)學(xué)生把軟件工程的概念貫穿于整個畢業(yè)設(shè)計過程,也就是說,讓學(xué)生把開發(fā)軟件的過程看成是蓋一棟大樓,修一條公路的實際工程,用工程化的思想指導(dǎo)畢業(yè)設(shè)計,確定完成課題的各項任務(wù)的工作步驟,注重軟件類畢業(yè)設(shè)計的過程,而不是學(xué)生所認(rèn)為的畢業(yè)設(shè)計就是編程序,代碼調(diào)試通過即可。通過工程的概念規(guī)范畢業(yè)設(shè)計過程,讓學(xué)生明白開發(fā)一個軟件系統(tǒng)一般經(jīng)過系統(tǒng)分析、系統(tǒng)設(shè)計、系統(tǒng)實施三個階段,必須嚴(yán)格遵循軟件生命周期的規(guī)律,完成各個階段的任務(wù),才能最終提高畢業(yè)設(shè)計的質(zhì)量。
3.4重視文檔的寫作
軟件工程中的瀑布模型嚴(yán)格地規(guī)定了在整個軟件生命周期的各個階段,都要提交相應(yīng)的文檔。文檔不僅記錄軟件開發(fā)過程中的大量信息,在軟件的開發(fā)、維護(hù)過程中也起著重要的作用。在指導(dǎo)學(xué)生畢業(yè)設(shè)計時,要求學(xué)生遵照軟件工程的思想,把文檔作為整個設(shè)計的指揮棒,記載設(shè)計過程的每一階段完成的目標(biāo)、任務(wù)及技術(shù)手段,建立健全畢業(yè)設(shè)計文檔制度,確保畢業(yè)設(shè)計過程中的文獻(xiàn)綜述、譯文、任務(wù)書、開題報告、選題審題表、中期檢查表、設(shè)計(論文)正文、答辯記錄等各環(huán)節(jié)教學(xué)資料檔案完善、規(guī)范,實現(xiàn)對畢業(yè)設(shè)計的全程監(jiān)控。
4結(jié)束語
軟件工程是軟件開發(fā)工程化、規(guī)范化的具體實施方法,將其應(yīng)用到畢業(yè)設(shè)計中,不僅有助于學(xué)生對軟件開發(fā)相關(guān)知識的鞏固和實踐,而且對解決目前軟件開發(fā)類畢業(yè)設(shè)計中存在的問題,提高學(xué)生畢業(yè)設(shè)計質(zhì)量,具有極大的促進(jìn)作用。
作者:王曉王長波單位:湖北醫(yī)藥學(xué)院公共管理學(xué)院計算機教研室
以AD和XP為指導(dǎo)的畢業(yè)設(shè)計過程
1組織方式
實際上,上述選題機制是將分散的畢業(yè)設(shè)計引導(dǎo)形成基于團(tuán)隊的角色學(xué)習(xí)環(huán)境,學(xué)生在教師的統(tǒng)一帶領(lǐng)下,對項目進(jìn)行設(shè)計并劃分模塊,獨立負(fù)責(zé)不同模塊的開發(fā),并且在教師的指導(dǎo)下,充分體驗不同模塊之間的溝通和集成問題,使學(xué)生能夠貼近企業(yè)項目開發(fā)的實際情境,體會到實際項目身臨其境的感覺,從而提高畢業(yè)設(shè)計對于畢業(yè)生的鍛煉價值和質(zhì)量。
敏捷宣言認(rèn)為人和交互勝過過程和工具。以此原則為指導(dǎo),在畢業(yè)設(shè)計實施過程中,要求學(xué)生組內(nèi)成員和小組之間加強交流溝通,對于畢業(yè)設(shè)計過程中產(chǎn)生的文檔,要求學(xué)生著重記錄交流過程,而非交流結(jié)果。敏捷宣言認(rèn)為客戶合作勝過合同談判,意義在于業(yè)務(wù)人員應(yīng)該參與到項目開發(fā)的整體過程中,達(dá)到整個項目開發(fā)團(tuán)隊能夠把握項目開發(fā)方向。對于軟件工程畢業(yè)設(shè)計來說,意味著在選擇畢業(yè)設(shè)計所涉及到的項目原型時,應(yīng)盡量貼近學(xué)生實際,例如選擇教務(wù)管理系統(tǒng)、教學(xué)管理系統(tǒng)、圖書管理系統(tǒng)等學(xué)生經(jīng)常接觸和使用的應(yīng)用系統(tǒng),或是指導(dǎo)教學(xué)正在從事的橫向或縱向課題。要求選擇指導(dǎo)教學(xué)或?qū)W生自己能夠扮演客戶的角色,學(xué)生對于所開發(fā)的系統(tǒng)的需求了然于胸。
2管理方式
敏捷宣言認(rèn)為可以工作的軟件勝過面面俱到的文檔,可以工作的軟件是進(jìn)度主要的度量標(biāo)準(zhǔn)。以此原則為指導(dǎo),對畢業(yè)設(shè)計過程中要求撰寫的文檔可適當(dāng)弱化,而是要求將項目程序代碼保存到統(tǒng)一版本庫,并保持版本庫中的代碼是可部署和運行的。極限編程的推薦實踐方式認(rèn)為對于項目開發(fā)應(yīng)該盡早測試、經(jīng)常測試、自動測試。在畢業(yè)設(shè)計的實施過程中,要求學(xué)生對于測試計劃、測試用例及測試驅(qū)動開發(fā)(TestDrivenDevelopment,TDD)都有所了解,使用由學(xué)生指導(dǎo)教學(xué)編寫的自動測試來監(jiān)控開發(fā)進(jìn)度,支持系統(tǒng)的演化,并盡早發(fā)現(xiàn)缺陷。上述管理方式就現(xiàn)階段軟件工程專業(yè)的畢業(yè)設(shè)計來看,實施比較困難,但應(yīng)盡力發(fā)展,從而彌補現(xiàn)有人才培養(yǎng)方案中對于軟件測試不夠重視的缺陷。
極限編程推薦增量設(shè)計、開發(fā)和頻繁重構(gòu)。這也是畢業(yè)設(shè)計過程中應(yīng)采納的做法。對于一個指定的項目,要貫穿整個畢業(yè)設(shè)計過程,以各個階段時間點為標(biāo)志,要求學(xué)生以增量的方式來完善項目開發(fā),在畢業(yè)設(shè)計過程中,要體現(xiàn)項目的漸進(jìn)式開發(fā),各個時間點都要求學(xué)生完成項目的相應(yīng)部分,并且要求項目代碼的主版本隨時處于可部署、可運行狀態(tài),對于系統(tǒng)架構(gòu)和代碼結(jié)構(gòu)等方面,可通過重構(gòu)來優(yōu)化。對于代碼重構(gòu)的的粒度和頻率,可由指導(dǎo)老師根據(jù)實際情況具體把握,以模塊化和符合軟件設(shè)計模式等特征為參考依據(jù)。
3考核方式
鑒于以上組織和管理方式,在進(jìn)行畢業(yè)設(shè)計(論文)考核時,應(yīng)在傳統(tǒng)的畢業(yè)答辯環(huán)節(jié)考核基礎(chǔ)上,考慮以下因素:一是在畢業(yè)答辯考核時,要注重考查學(xué)生所寫代碼的功能,而不是形式上的開發(fā)文檔。二是極限編程推崇結(jié)隊編程(PairProgramming),因此,在畢業(yè)設(shè)計進(jìn)行過程中要求學(xué)生不要局限于自己的畢業(yè)設(shè)計課題,而應(yīng)該是兩個人一起完成兩個課題,雙方都參與到對方的項目中去。在畢業(yè)答辯考核時,也應(yīng)采取相應(yīng)的考核辦法,交叉檢查學(xué)生的編碼工作量。三是極限編程提倡短周期。也就是說,畢業(yè)設(shè)計過程中,應(yīng)該交付多個可運行的系統(tǒng)版本(功能是遞增的,但指定功能的版本是可用的)。因此,在畢業(yè)答辯過程中,要求學(xué)生就系統(tǒng)的多個可運行版本進(jìn)行演示。總而言之,軟件工程專業(yè)的畢業(yè)設(shè)計(論文)的考核,除了依據(jù)傳統(tǒng)的畢業(yè)答辯考核標(biāo)準(zhǔn)之外,還需結(jié)合敏捷開發(fā)和極限編程的特點,綜合考查編碼協(xié)作、增量設(shè)計、測試驅(qū)動開發(fā)、持續(xù)集成等特征是否體現(xiàn)在學(xué)生畢業(yè)設(shè)計(論文)中。
典型過程及相關(guān)支撐工具
在確定指導(dǎo)老師和設(shè)計課題后,學(xué)生將展開畢業(yè)設(shè)計的具體過程,根據(jù)以AD和XP為指導(dǎo)思想的典型畢業(yè)設(shè)計過程,具體過程如圖1所示。以上典型過程中的具體步驟,都有成熟的支撐工具可選用,使整個畢業(yè)設(shè)計過程實現(xiàn)信息化管理,其中項目管理工具可使用PivotalTracker,測試管理工具可使用MercuryQualityCenter,自動測試可使用開源集成測試環(huán)境,如Jenkins,代碼管理工具可使用VisualSVN(服務(wù)器端)和TortoiseSVN(獨立客戶端)及SubclipseSVN(IDE集成客戶端)。
軟件項目管理工具PivotalTracker是由公認(rèn)的敏捷軟件開發(fā)老大PivotalLabs開發(fā)的基于故事、簡單、有效、敏捷的軟件項目管理工具,適用于各類型的項目,并通過敏捷項目管理的理念讓項目能夠有條不紊的進(jìn)行,使項目的開發(fā)效率大大提高。操作界面如圖2所示。
測試管理工具M(jìn)ercuryQualityCenter提供了基于Web的,可在廣泛的應(yīng)用環(huán)境下自動執(zhí)行軟件質(zhì)量測試和管理的功能,使IT團(tuán)隊能夠在開發(fā)流程完成前就參與應(yīng)用程序測試。這樣將縮短時間表,同時確保最高水平的質(zhì)量。操作界面如圖3所示。版本庫管理工具SVN是用于實現(xiàn)對代碼、文 件等的修改、刪除、增加等操作進(jìn)行記錄,并且可以追溯每個修改細(xì)節(jié)的通用工具,它基于C/S架構(gòu),需要服務(wù)器和客戶端軟件,其中SVN服務(wù)器可以使用VisualSVN,獨立客戶端可使用ToitorseSVN,而IDE集成客戶端可使用Subclipse。
結(jié)語
軟件工程專業(yè)畢業(yè)設(shè)計具有鮮明的實踐特征,需要具體的實踐原則做為指導(dǎo)來提升畢業(yè)設(shè)計(論文)的質(zhì)量。我們引入敏捷開發(fā)和極限編程的相關(guān)原則,構(gòu)造軟件工程專業(yè)畢業(yè)設(shè)計的具體實施過程,并將其應(yīng)用于實際教學(xué)過程中。下一步工作將對于這一全新的探索和嘗試,在實踐過程中針對具體出現(xiàn)的問題進(jìn)行改進(jìn)和完善,使這一畢業(yè)設(shè)計模式更加適用于軟件工程專業(yè),并在條件成熟時向計算機相關(guān)專業(yè)推廣。
作者:曾志浩肖小克單位:湖南工業(yè)大學(xué)計算機與通信學(xué)院
規(guī)模使得精細(xì)化指導(dǎo)與管理變得困難
原有畢業(yè)設(shè)計環(huán)節(jié)管理由于參與指導(dǎo)的教師人數(shù)相對較少,每名教師指導(dǎo)的學(xué)生也不多,而且所有教師均為本系教師,大家彼此非常熟悉,在一起教學(xué)研討的時間也很多,所以大家對各環(huán)節(jié)的要求及約定比較容易統(tǒng)一,對每個學(xué)生的指導(dǎo)時間也較多。但隨著參與指導(dǎo)畢業(yè)設(shè)計教師數(shù)量的提升,指導(dǎo)學(xué)生數(shù)的增加,特別是聘請了外系教師的支援,原有會議討論式、心理記憶式的約定及規(guī)則已經(jīng)不能適應(yīng)管理要求。這就必然要求規(guī)范畢業(yè)設(shè)計環(huán)節(jié)的管理,統(tǒng)一考核指標(biāo),讓大家在一個統(tǒng)一的框架下實施畢業(yè)設(shè)計的指導(dǎo)與考核。
軟件過程及評價主觀性強
軟件及開發(fā)是個主觀性強,知識、勞動密集型工作,同一個項目或任務(wù),由于每個人項目經(jīng)歷、經(jīng)驗的不同,不同的人所得出的滿足需求的合格產(chǎn)品是肯定有區(qū)別的,但在質(zhì)量、靈活性、可擴充性方面可能存在很大差別。同時,對于軟件產(chǎn)品,不同人會有不同的評價,具有強主觀性的特點。這種強主觀性使得對畢業(yè)設(shè)計的評價難以用客觀的量化的評價指標(biāo)和體系進(jìn)行度量,對教師間把握統(tǒng)一的考核尺度制造了困難。
師生面對面交流機會越來越少
由于就業(yè)形式的變化,各本科院校的培養(yǎng)模式也作了一定的改變,為了讓學(xué)生能更方便的外出找工作,更早的接觸社會,大部分高校第八學(xué)期除了畢業(yè)設(shè)計,基本上就沒有其他的教學(xué)任務(wù)。重慶理工大學(xué)也存在類似情況,在第八學(xué)期,大部分學(xué)生沒有待在學(xué)校,有的在外聯(lián)系工作單位,有的提前到單位實習(xí),甚至有的以在外找工作為借口待在家里,學(xué)生的分散性使得教師和學(xué)生之間面對面交流的機會少之又少,給畢業(yè)設(shè)計環(huán)節(jié)的指導(dǎo)和管理工作帶來了難度。
選題類型趨于多樣性
為了培養(yǎng)學(xué)生層次、方向的多樣化,軟件工程專業(yè)的畢業(yè)設(shè)計不僅只有傳統(tǒng)的系統(tǒng)分析、設(shè)計與開發(fā)類的題目,還涉及論文類及算法類等類別。根據(jù)對前幾屆畢業(yè)設(shè)計環(huán)節(jié)的綜合統(tǒng)計,系統(tǒng)分析設(shè)計開發(fā)類選題所占分量最多,占70以上。由于不同題型的畢業(yè)設(shè)計需要應(yīng)用的知識、實施過程、考核重點都存在很大差異,不同題型之間的考核沒有對比性,因此需要針對不同的選題類型制定相應(yīng)的考核指標(biāo)和評價標(biāo)準(zhǔn)。
現(xiàn)有管理中存在的問題
畢業(yè)設(shè)計是一次綜合鍛煉學(xué)生應(yīng)用所學(xué)知識解決問題能力的過程,涉及的環(huán)節(jié)比較多,存在的問題也不少。綜合分析,存在以下三個典型問題:
1歷史題目重復(fù)率高,抄襲現(xiàn)象難以控制
每年都有幾個班的學(xué)生畢業(yè),畢業(yè)設(shè)計都要實施。在紙質(zhì)時代,抄襲成本大,抄襲源也比較難找到,因此抄襲現(xiàn)象相對較少,不同屆學(xué)生的題目相同并不會影響畢業(yè)設(shè)計質(zhì)量。然而,隨著互聯(lián)網(wǎng)技術(shù)在給廣大民眾帶來方便的同時,也給學(xué)生的偷懶提供了契機。由于大部分學(xué)生在外實習(xí),教師很難有效的監(jiān)督學(xué)生,有相當(dāng)一部分學(xué)生考慮到自己畢業(yè)后不從事軟件開發(fā)等相關(guān)工作或工作比較忙,不愿意投入時間好好地完成畢業(yè)設(shè)計,而是從互聯(lián)網(wǎng)抄襲,甚至通過互聯(lián)網(wǎng)購買。
2學(xué)生對考核的公正性存在質(zhì)疑
由于參與綜合實踐環(huán)節(jié)的學(xué)生人數(shù)和指導(dǎo)教師規(guī)模越來越大,綜合實踐環(huán)節(jié)在進(jìn)行質(zhì)量考核時必然要進(jìn)行分組。由于大家沒有統(tǒng)一的考核指標(biāo)體系及標(biāo)準(zhǔn),同一水平的畢業(yè)設(shè)計處于不同考核小組,可能得出截然不同的成績;甚至有指導(dǎo)教師認(rèn)為較好的論文在答辯時被判為不及格現(xiàn)象。造成的嚴(yán)重后果是學(xué)生對論文評審、答辯過程公平性的質(zhì)疑,對學(xué)校的聲譽帶來不良影響。其原因是由于不同教師間、各不同小組之間缺乏一個統(tǒng)一的評判標(biāo)準(zhǔn),分組的不均勻分布而導(dǎo)致了評審的不公平性。
3學(xué)生難以獲取實際需求
由于學(xué)生人數(shù)眾多,只有少部分學(xué)生能參與到教師的實際科研項目中,大部分學(xué)生只能以虛構(gòu)的題目為背景,沒有具體的企業(yè)為依托。因此,很獲取項目的具體而詳細(xì)的需求,學(xué)生所完成的也只能是一些通用功能的系統(tǒng),系統(tǒng)業(yè)務(wù)邏輯比較簡單,甚至基本沒有業(yè)務(wù)邏輯,僅僅是簡單增加、刪除、修改等功能的拼湊,不能真正體會到系統(tǒng)分析和設(shè)計的內(nèi)涵。
軟件專業(yè)畢業(yè)設(shè)計管理對策
軟件工程專業(yè)畢業(yè)設(shè)計管理是很多高校都比較棘手的問題,也有不少教師已提出了一些很好的策略。根據(jù)對多年畢業(yè)設(shè)計執(zhí)行情況的分析與總結(jié),作者認(rèn)為軟件工程專業(yè)畢業(yè)設(shè)計管理和考核中存在眾多問題的主要原因有以下三點:重結(jié)果輕過程的考核方法;缺乏統(tǒng)一的考核評價體系;管理過程不規(guī)范,隨意性大。因此,本文主要從建立量化考核指標(biāo)體系、規(guī)范畢業(yè)設(shè)計過程管理和其他一些輔助策略進(jìn)行探討,如圖1所示。
1建立量化考核指標(biāo)體系
建立量化考核指標(biāo)體系包括細(xì)化考核指標(biāo)和建立考核評價體系兩部分。考核指標(biāo)體系是一把雙刃劍,它除了可以對學(xué)生的畢業(yè)設(shè)計過程和結(jié)果進(jìn)行考核外,也給學(xué)生提供了完成畢業(yè)設(shè)計目標(biāo)的指導(dǎo)。在實際操作中,將對畢業(yè)設(shè)計的考核從過程檢查、評閱、答辯等幾個環(huán)節(jié)進(jìn)行考慮,各環(huán)節(jié)又有細(xì)分指標(biāo),如論文選題、工作量、分析設(shè)計,程序運行、系統(tǒng)界面、論文結(jié)構(gòu)、熟悉程度等,用權(quán)重表示指標(biāo)的重要性程度,每個指標(biāo)有幾個不同得分等級,每個等級對應(yīng)一個可參考的評判標(biāo)準(zhǔn),從而將以前的主觀考核變?yōu)楦鶕?jù)指標(biāo)進(jìn)行量化計算,有效地減少人為因素對評價的影響。
2規(guī)范畢業(yè)設(shè)計過程管理
傳統(tǒng)的考評方式重視對結(jié)果的考核,缺少對過程的考核,大多數(shù)學(xué)生在進(jìn)行實踐環(huán)節(jié)任務(wù)時,沒有一個良好的系統(tǒng)分析、設(shè)計、開發(fā)習(xí)慣,完全是“靈感觸發(fā)”式的完成的,因此最終提交的往往是低劣的文檔或代碼。軟件產(chǎn)品是知識密集性產(chǎn)品,實踐證明,有效的過程管理是生產(chǎn)出好產(chǎn)品的一個必要條件。因此,必須規(guī)范畢業(yè)設(shè)計的課程管理,借助于3.1節(jié)建立的考核體系,對過程中的開題、需求文檔、設(shè)計文檔等關(guān)鍵環(huán)節(jié)進(jìn)行考核,使學(xué)生在完成畢業(yè)設(shè)計的每一步時有明確目標(biāo)的指導(dǎo),通過過程的管理促使學(xué)生完成高質(zhì)量的畢業(yè)設(shè)計成果。為了減少人為因素的影響,有必要建立畢業(yè)設(shè)計過程管理及控制系統(tǒng),用管理信息系統(tǒng)規(guī)范畢業(yè)設(shè)計的過程管理。
3采用團(tuán)隊培養(yǎng)模式
系統(tǒng)分析與設(shè)計的能力是軟件工程專業(yè)學(xué)生需要培養(yǎng)的一項最主要能力,而簡單的系統(tǒng)開發(fā)或項目由于功能簡單、業(yè)務(wù)單一,對鍛煉學(xué)生的系統(tǒng)分析和設(shè)計能力作用不大。因此,可以采用多名學(xué)生組團(tuán)共同完成一項較復(fù)雜系統(tǒng)的方式,每名學(xué)生負(fù)責(zé)其中的一部分,學(xué)生之間通過對復(fù)雜點的業(yè)務(wù)邏輯的討論來提高系統(tǒng)分析和設(shè)計的能力,通過團(tuán)隊合作來了解項目管理與軟件工程方法的精髓。
4與企業(yè)合作指導(dǎo)
由于企業(yè)面對的都是實實在在的項目,有自我學(xué)習(xí)的環(huán)境氛圍和壓力,在培養(yǎng)學(xué)生動手實踐能力方面有其獨特的優(yōu)勢。在企業(yè),每天都有相應(yīng)的任務(wù),在完成任務(wù)過程中,必然會碰到各種類型的問題,會尋求問題的解決方法,在解決問題的過程中很自然地就提升了自己的能力。這種任務(wù)驅(qū)動的學(xué)習(xí)方法和實際項目環(huán)境下的壓力在學(xué)校是很難提供的。近些年來,學(xué)院也在加強與企業(yè)的合作,在有條件的情況下盡量派學(xué)生深入到公司、企業(yè)進(jìn)行實習(xí),已簽約的學(xué)生也可以提前到簽約企業(yè)工作,以企業(yè)的項目來完成其畢業(yè)設(shè)計環(huán)節(jié),實現(xiàn)企業(yè)、學(xué)校共同指導(dǎo)的方式。
結(jié)束語
畢業(yè)設(shè)計環(huán)節(jié)由于實踐性、綜合性強,涉及知識點多,其管理與考核一直是讓人頭疼的問題。論文描述了重慶理工大學(xué)軟件工程專業(yè)畢業(yè)設(shè)計環(huán)節(jié)的背景和現(xiàn)狀,指出了軟件工程專業(yè)畢業(yè)設(shè)計質(zhì)量難于管理和考核的特點。通過對近幾年畢業(yè)設(shè)計開展情況的總結(jié)與分析,發(fā)現(xiàn)了畢業(yè)設(shè)計質(zhì)量難于考核和控制的具體原因,并指出當(dāng)前畢業(yè)設(shè)計管理和考核所存在的問題,最后提出了解決這些問題的一些具體實施策略。結(jié)果表明,策略的實施對畢業(yè)設(shè)計過程的管理及考核答辯工作有較大的作用,學(xué)生畢業(yè)設(shè)計質(zhì)量有了顯著的提高。
作者:劉智王森閆河單位:重慶理工大學(xué)計算機科學(xué)與工程學(xué)院
摘要:針對地方應(yīng)用型本科高校計算機軟件類畢業(yè)設(shè)計質(zhì)量不高的問題,對畢業(yè)設(shè)計中存在的問題進(jìn)行分析,并結(jié)合軟件工程的基礎(chǔ)理論,提出利用軟件工程思想對計算機軟件類畢業(yè)設(shè)計進(jìn)行指導(dǎo),以提高地方應(yīng)用型普通本科高校畢業(yè)設(shè)計的質(zhì)量。
關(guān)鍵詞:軟件工程;畢業(yè)設(shè)計;應(yīng)用
一、引言
畢業(yè)設(shè)計是本科畢業(yè)生在校期間的最后實踐和綜合實訓(xùn)階段,是實現(xiàn)本科教育培養(yǎng)目標(biāo)的重要組成部分,是深化、拓展、綜合應(yīng)用所學(xué)理論知識的重要過程;也是綜合素質(zhì)與工程實踐能力培養(yǎng)效果的全面檢驗;是學(xué)生畢業(yè)及學(xué)位資格認(rèn)定的重要依據(jù);是衡量高等教育質(zhì)量和辦學(xué)效益的重要評價,是對專業(yè)理論知識和專業(yè)技術(shù)綜合應(yīng)用能力的強化訓(xùn)練和提升[1]。在畢業(yè)設(shè)計的過程中,學(xué)生利用所學(xué)專業(yè)理論知識,通過了解社會,分析社會需求,深入實踐,完成畢業(yè)設(shè)計的任務(wù)和撰寫畢業(yè)論文(設(shè)計)報告等各個環(huán)節(jié)的工作。對于地方應(yīng)用型普通本科高校而言,畢業(yè)設(shè)計就相當(dāng)于一般高等學(xué)校的畢業(yè)論文,但是畢業(yè)設(shè)計不同于畢業(yè)論文,它的組成部分不只是一篇學(xué)術(shù)論文。應(yīng)用型高校的畢業(yè)設(shè)計注重的是“應(yīng)用性”和“實踐性”,學(xué)生畢業(yè)設(shè)計要求學(xué)生針對某一課題,綜合運用本專業(yè)有關(guān)課程的理論和技術(shù),自己動手動腦做出解決實際問題的設(shè)計。目的是總結(jié)、檢查學(xué)生在校期間的學(xué)習(xí)成果,是評定畢業(yè)成績的重要依據(jù)。同時,通過畢業(yè)設(shè)計,可培養(yǎng)學(xué)生開發(fā)項目的基本綜合能力,為學(xué)生就業(yè)能力中的專業(yè)能力奠定堅實的基礎(chǔ);培養(yǎng)綜合運用已有知識獨立解決問題的能力,從而加強學(xué)生應(yīng)用能力的培養(yǎng),使學(xué)生能夠?qū)W以致用。
二、地方應(yīng)用型普通高校計算機相關(guān)專業(yè)學(xué)生畢業(yè)設(shè)計的現(xiàn)狀
近幾年來,由于學(xué)校對畢業(yè)設(shè)計要求不斷提高,學(xué)生從選題到設(shè)計再到寫出畢業(yè)設(shè)計報告的過程中總存在這樣那樣的問題,最終有個別同學(xué)沒有順利通過畢業(yè)設(shè)計,沒有拿到畢業(yè)證和學(xué)位證的情況時有發(fā)生,并且大多數(shù)畢業(yè)設(shè)計的水平不高,達(dá)不到培養(yǎng)學(xué)生獨立解決問題和提高學(xué)生應(yīng)用能力的目的。因此,如何指導(dǎo)學(xué)生做好畢業(yè)設(shè)計,提高學(xué)生畢業(yè)設(shè)計水平和質(zhì)量,是地方應(yīng)用型普通高校面臨的一個重要問題。
(一)畢業(yè)設(shè)計選題現(xiàn)狀最近幾年,我校計算機相關(guān)專業(yè)畢業(yè)生自進(jìn)入大四秋季學(xué)期開始,在進(jìn)行畢業(yè)實習(xí)的同時,也進(jìn)入了畢業(yè)設(shè)計準(zhǔn)備階段:畢業(yè)設(shè)計選題,雖然畢業(yè)設(shè)計選題過程中,各級領(lǐng)導(dǎo)、指導(dǎo)教師和學(xué)生在態(tài)度是都很重視,但是在選題時也會存在很多的問題,主要有以下三個方面。1.選題不夠準(zhǔn)確。部分學(xué)生選題未經(jīng)深思熟慮,所選畢業(yè)設(shè)計題目要實現(xiàn)的功能太多,在規(guī)定時間內(nèi)不能獨立完成,而最終只能實現(xiàn)部分功能,或部分模塊。
2.題目相似或重復(fù)雷同。學(xué)生選題存在渾水摸魚的思想,在畢業(yè)設(shè)計選題過程中不是根據(jù)自己的興趣愛好、專業(yè)知識學(xué)習(xí)情況等確定研究選題,而是選擇與他人類似或雷同的選題,甚至同一批畢業(yè)的許多學(xué)生選題一致。比如:“XX管理系統(tǒng)”等,除了可能冠以的系統(tǒng)名稱不同之外,其余基本相同。
3.應(yīng)用價值低。部分學(xué)生的選題是當(dāng)前十分成熟的項目,沒有研究的必要;有些選題已經(jīng)被淘汰,在實際生活和工作中沒有多大用途。
(二)畢業(yè)設(shè)計需求分析階段現(xiàn)狀
通過調(diào)查,許多學(xué)生選題完成后,沒有對自己所做畢業(yè)設(shè)計選題進(jìn)行仔細(xì)了解、分析,他們認(rèn)為在畢業(yè)設(shè)計中最重要的就是編程,其他方面一帶而過[2],從而造成畢業(yè)設(shè)計過程中主題經(jīng)常進(jìn)行修改,最終使得整個系統(tǒng)雜亂無章,無法繼續(xù)進(jìn)行下去。因此學(xué)生在畢業(yè)設(shè)計的需求分析階段主要有以下三個方面的問題。
1.選題后未進(jìn)行實際調(diào)查研究,甚至未查找相應(yīng)的參考文獻(xiàn)。
2.需求分析進(jìn)行得不徹底、不準(zhǔn)確,即使選題后查找了參考文獻(xiàn)和資料的,也未做充分了解和分析。
3.在需求分析階段沒有寫出需求規(guī)格說明書或系統(tǒng)分析報告就匆忙進(jìn)入系統(tǒng)設(shè)計階段,導(dǎo)致隨著系統(tǒng)設(shè)計的逐步深入,原來確定的需求不能滿足畢業(yè)設(shè)計的需要,正在進(jìn)行的設(shè)計與開始的期望和設(shè)想又不相符。
(三)畢業(yè)設(shè)計系統(tǒng)設(shè)計階段現(xiàn)狀
在系統(tǒng)設(shè)計階段,普遍存在以下兩個方面問題。
1.由于需求的不明確,在進(jìn)行系統(tǒng)設(shè)計時,修改隨意,沒有嚴(yán)格按照軟件開發(fā)的步驟進(jìn)行。好多學(xué)生在進(jìn)行系統(tǒng)設(shè)計時并沒有建出相應(yīng)的功能模型,不管是用例圖還是DFD圖都沒有,而且系統(tǒng)設(shè)計過程中功能隨意變換,并且各功能模塊的層次結(jié)構(gòu)不清晰,使得整個系統(tǒng)的功能模塊劃分凌亂,不符合軟件設(shè)計中“高內(nèi)聚,低耦合”的原則。
2.在軟件設(shè)計過程中,不先進(jìn)行概要設(shè)計、詳細(xì)設(shè)計和模塊設(shè)計,沒有軟件的過程性描述,直接進(jìn)行編碼,存在想到哪里就做到哪里,走到哪兒算哪兒的隨意思想[3],當(dāng)前內(nèi)容沒有做完便開始其他內(nèi)容,使得整個系統(tǒng)設(shè)計雜亂無章。在這樣的一種研究狀態(tài)下,即使完成了設(shè)計,效率也非常低下,軟件結(jié)構(gòu)混亂,功能實現(xiàn)不完全,降低了軟件設(shè)計的質(zhì)量。
(四)畢業(yè)設(shè)計實現(xiàn)階段現(xiàn)狀
通常把編碼和測試統(tǒng)稱為實現(xiàn)。在進(jìn)行軟件設(shè)計后,就可以根據(jù)設(shè)計結(jié)果來實現(xiàn),將軟件的過程性描述編碼,得到計算機可以運行的源代碼。在實現(xiàn)階段主要有以下幾方面的問題。
1.編碼隨意。學(xué)生在編碼的過程中,不注意編程風(fēng)格的把握,導(dǎo)致程序的可讀性、可理解性、可修改性等較差,在答辨的過程中,要求指出某個功能模塊的代碼時,經(jīng)常要花費很多時間才找得到。
2.測試和調(diào)試可有可無。大部分學(xué)生在畢業(yè)設(shè)計的軟件編碼完成以后,從沒有想過進(jìn)行完整的系統(tǒng)測試,或者只對個別功能進(jìn)行測試或是隨意測試,沒有按照測試步驟逐步進(jìn)行;基本沒有單元測試和集成測試,一般只是最終隨便輸入幾個數(shù)據(jù)簡單檢測一下,如果有錯,修改了就算完了;也沒有進(jìn)行回歸測試,沒有測試計劃,沒有想過用什么測試技術(shù)來檢測某一類型的錯識,沒有相應(yīng)的測試用例,也沒有測試結(jié)果分析。由于學(xué)生畢業(yè)設(shè)計都是一人一題,基本上是一個人完成所有步驟,就算有測試,在測試階段也是自己進(jìn)行測試,從心理學(xué)的角度來說,自己對自己開發(fā)的軟件進(jìn)行測試是不可取的。由于前面階段的文檔不完善,也不重視測試過程,不清楚是否實現(xiàn)了系統(tǒng)最初設(shè)計的功能,是否達(dá)到相應(yīng)的性能要求,總以為程序做出來后畢業(yè)設(shè)計就完成了,使得畢業(yè)設(shè)計經(jīng)常在更換運行環(huán)境或答辯時發(fā)生錯誤和問題,從而使得設(shè)計得不到好評甚至無法通過。
(五)畢業(yè)設(shè)計應(yīng)用現(xiàn)狀
最近幾年,我校計算機相關(guān)專業(yè)畢業(yè)設(shè)計投入使用數(shù)量接近于零。究其原因主要是由于設(shè)計不完全,未進(jìn)行測試和調(diào)試,存在的錯誤和缺陷較多,文檔和數(shù)據(jù)不完整,導(dǎo)致所開發(fā)的系統(tǒng)或軟件不能方便地轉(zhuǎn)讓、變更、修正、擴充和使用,也沒有為后期培訓(xùn)、維護(hù)留下完備的資料;因此,不能投入到真正的使用過程中,也不能實現(xiàn)系統(tǒng)或軟件產(chǎn)品的效益。
三、軟件工程思想的應(yīng)用
軟件工程(SoftwareEngineering,簡稱為SE)是一門研究用工程化方法構(gòu)建和維護(hù)有效的、實用的和高質(zhì)量的軟件的學(xué)科。軟件工程中的軟件生命周期是一個軟件從軟件定義、開發(fā)、運行和維護(hù),直到最終被廢棄的整個過程[2]。地方應(yīng)用型普通高校計算機相關(guān)專業(yè)學(xué)生畢業(yè)設(shè)計基本都是開發(fā)一些中、小型應(yīng)用系統(tǒng)或軟件,因此,學(xué)生畢業(yè)設(shè)計也要經(jīng)歷軟件生命周期各個階段,嚴(yán)格遵守軟件工程的各個原則,這樣有助于解決畢業(yè)設(shè)計中存在的問題,提高畢業(yè)設(shè)計的質(zhì)量。通過對應(yīng)用型普通本科高校計算機相關(guān)專業(yè)的學(xué)生在進(jìn)行畢業(yè)設(shè)計的過程中存在的問題進(jìn)行分析,在畢業(yè)設(shè)計的過程中,必須運用軟件工程的觀點、技術(shù)和方法來指導(dǎo)畢業(yè)設(shè)計,這樣既節(jié)約了畢業(yè)設(shè)計的時間和學(xué)生的精力,也能做出最優(yōu)質(zhì)的畢業(yè)設(shè)計。
1.選題過程中的應(yīng)用。畢業(yè)設(shè)計選題就是軟件生命周期的問題定義中的問題提出階段,選好題目是進(jìn)行深入研究的基礎(chǔ),也是寫出高質(zhì)量畢業(yè)論文的前提。地方應(yīng)用型普通本科高校計算機相關(guān)專業(yè)的畢業(yè)設(shè)計選題必須做到以下幾點:(1)必須在對選題做了充分調(diào)查、分析,對檢索的參考文獻(xiàn)、資料有了整體把握的基礎(chǔ)上提出。(2)必須符合本專業(yè)培養(yǎng)方案規(guī)定的培養(yǎng)目標(biāo)的要求。(3)以選擇工程性較強的課題為主,確保有足夠的工程性訓(xùn)練。(4)要有明確的設(shè)計成果,對于較大型任務(wù)的課題要明確階段性成果。(5)要達(dá)到規(guī)定的工作量,難易度適中,確保能在規(guī)定的時間內(nèi)完成整個課題工作。(6)要圍繞生產(chǎn)生活實際,所選題目一定具有一定的理論意義和實踐意義,具有一定的價值。(7)原則上一人一題,對于較大型任務(wù)的課題,每個學(xué)生必須有獨立子課題。結(jié)合以上幾點,分別從專業(yè)基礎(chǔ)、現(xiàn)實意義等方面進(jìn)行全面分析,進(jìn)行取舍,最終得出選題。
2.開題過程中的應(yīng)用。在畢業(yè)設(shè)計的開題過程中,需要明確所選題目的選題依據(jù)(包括選擇課題的背景、選題研究的理論及實踐意義)、選題研究現(xiàn)狀(包括目前國內(nèi)外對本選題的研究情況和有待解決的問題)、研究內(nèi)容與方法,而這些就是軟件工程中需求分析階段應(yīng)該做的事情。需求分析指的是在建立一個新的或改變一個現(xiàn)存的電腦系統(tǒng)時描寫新系統(tǒng)的目的、范圍、定義和功能時所要做的所有的工作[3]。因此開題過程中最重要的是進(jìn)行需求分析,需求分析具有決策性、方向性、策略性的作用,在軟件開發(fā)的過程中具有舉足輕重的地位。需求分析完成的好壞直接影響后續(xù)軟件開發(fā)的質(zhì)量。開題過程中需要指導(dǎo)學(xué)生大量地閱讀相關(guān)的研究資料,同時根據(jù)資料進(jìn)行分析研究,對當(dāng)前畢業(yè)設(shè)計的研究進(jìn)度做到心中有數(shù),明確畢業(yè)設(shè)計的具體方向,寫出畢業(yè)設(shè)計的研究內(nèi)容與方法,得到相應(yīng)的設(shè)計提綱,解決好設(shè)計什么,如何設(shè)計的問題。因此,應(yīng)用好軟件工程的思想來指導(dǎo)畢業(yè)設(shè)計的開題是至關(guān)重要的。根據(jù)學(xué)校對學(xué)生畢業(yè)論文的要求,在計算機相關(guān)專業(yè)的畢業(yè)設(shè)計報告中,要求要有數(shù)據(jù)流圖、數(shù)據(jù)字典等相應(yīng)內(nèi)容,而軟件工程中的數(shù)據(jù)流圖(DataFlowDia-gram,簡稱DFD),它是從數(shù)據(jù)傳遞和加工角度,以圖形方式來表達(dá)系統(tǒng)的邏輯功能、數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向和邏輯變換過程。它是描述系統(tǒng)中數(shù)據(jù)流程的圖形工具,它標(biāo)識了一個系統(tǒng)的邏輯輸入和邏輯輸出,以及把邏輯輸入轉(zhuǎn)換為邏輯輸出所需的加工處理[3]。因此,在這個階段,要指導(dǎo)學(xué)生按照DFD圖的要求,確定設(shè)計的功能,然后根據(jù)系統(tǒng)分析結(jié)果寫出分析報告,就得出畢業(yè)論文中系統(tǒng)分析階段的初始文檔。
3.在實踐研究環(huán)節(jié)的應(yīng)用。根據(jù)需求分析(開題階段)的結(jié)果進(jìn)行軟件的概要設(shè)計和詳細(xì)設(shè)計,注意在設(shè)計過程中要嚴(yán)格按照軟件工程對于設(shè)計階段的指導(dǎo)原則來進(jìn)行設(shè)計。將概要設(shè)計階段需求分析得到的DFD轉(zhuǎn)換為軟件結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu),即是根據(jù)需求確定軟件和數(shù)據(jù)的總體框架,設(shè)計出軟件的結(jié)構(gòu),也就是要確定系統(tǒng)中每個程序是由哪些模塊組成的,以及這些模塊相互間的關(guān)系。然后再進(jìn)行詳細(xì)設(shè)計,設(shè)計出每個模塊的實現(xiàn)算法、所需的局部數(shù)據(jù)結(jié)構(gòu),并且對每個模塊寫出過程性描述;為每個模塊設(shè)計出一組測試用例,在進(jìn)行測試時就以此測試用例來進(jìn)行測試。詳細(xì)設(shè)計階段的任務(wù)還不是具體地編寫程序,而是要設(shè)計出程序的“藍(lán)圖”,以后將根據(jù)這個“藍(lán)圖”寫出實際的程序代碼。因此,指導(dǎo)教師要對學(xué)生的設(shè)計過程進(jìn)行監(jiān)督和指導(dǎo),防止學(xué)生盲目的進(jìn)行編碼。
4.在實現(xiàn)階段的應(yīng)用。在編碼的過程中,要注意編程風(fēng)格的把握,編程的風(fēng)格在很大程度上影響程序的可讀性、可測試性和可維護(hù)性。在測試階段,可以進(jìn)行交叉測試,即學(xué)生之間可以兩兩交叉,相互測試,以更好的達(dá)到測試效果,同時也培養(yǎng)了學(xué)生的團(tuán)隊意識和合作意識。在測試過程中要注意運用軟件工程的測試原則和測試思想,嚴(yán)格按照單元測試集成測試確認(rèn)測試系統(tǒng)測試驗收測試的測試步驟進(jìn)行,利用白盒測試技術(shù)進(jìn)行單元測試,黑盒測試技術(shù)進(jìn)行其他測試,并且在找出錯誤并修改后要進(jìn)行相應(yīng)的回歸測試,確認(rèn)修改了錯誤并且沒有引入新的錯誤,這樣有利于找到軟件中的各類錯誤,提高軟件的質(zhì)量。因此,在軟件的測試過程中,一定要嚴(yán)格按照軟件工程中的測試原則來進(jìn)行,不可隨意進(jìn)行測試,并且要注意測試文檔資料的收集整理,要有相應(yīng)的測試計劃和測試報告。對學(xué)生的創(chuàng)造性的思維和想法,指導(dǎo)教師要給予支持,積極引導(dǎo),鼓勵學(xué)生大膽創(chuàng)新,用應(yīng)用型人才培養(yǎng)目標(biāo)來要求學(xué)生,保證高質(zhì)量的畢業(yè)設(shè)計的完成。
5.在畢業(yè)論文(設(shè)計)報告方面的應(yīng)用。對于應(yīng)用型普通本科高校計算機相關(guān)專業(yè)的畢業(yè)設(shè)計而言,不單單是完成了一個系統(tǒng)的設(shè)計,還要有相應(yīng)的設(shè)計報告,而設(shè)計報告的編寫過程中,很多學(xué)生存在文字表達(dá)能力不強的現(xiàn)象,為了完成報告,就有可能會抄襲,特別是在軟件開發(fā)的各個階段文檔材料不全的情況下更為嚴(yán)重。因此,在學(xué)生進(jìn)行軟件開發(fā)的各個環(huán)節(jié)中,指導(dǎo)教師都應(yīng)該按照軟件工程的觀點來進(jìn)行指導(dǎo),并要求學(xué)生在各個階段都完成相應(yīng)的文檔。這樣在畢業(yè)設(shè)計報告撰寫的過程中,只要將各個階段的文檔進(jìn)行合并、整理就得到相應(yīng)的設(shè)計報告,并且是一篇重復(fù)率不高的高質(zhì)量的設(shè)計報告。6.在畢業(yè)設(shè)計實際應(yīng)用方面的應(yīng)用。因為學(xué)生在整個系統(tǒng)或軟件過程中均按軟件設(shè)計規(guī)范準(zhǔn)備了文檔和進(jìn)行了完整的系統(tǒng)測試,從而為系統(tǒng)或軟件的專利申請?zhí)峁┝顺浞直匾馁Y料,并為畢業(yè)設(shè)計的實際應(yīng)用打下良好的基礎(chǔ)。
四、結(jié)語
計算機相關(guān)專業(yè)學(xué)生的畢業(yè)設(shè)計在學(xué)生的整個大學(xué)生活中具有極其重要的地位和作用,根據(jù)應(yīng)用型普通本科高校人才培養(yǎng)的定位,主要是培養(yǎng)學(xué)生的獨立思考能力、動手能力和應(yīng)用能力。通過對軟件工程思想在計算機相關(guān)專業(yè)學(xué)生畢業(yè)設(shè)計的過程及方法中的應(yīng)用研究,逐步實現(xiàn)學(xué)生畢業(yè)設(shè)計的實際成果轉(zhuǎn)化,從而為應(yīng)用型計算機相關(guān)專業(yè)人才培養(yǎng)提供相應(yīng)的借鑒。
作者:龍亞 張仕學(xué) 余廷忠 單位:貴州工程應(yīng)用技術(shù)學(xué)院
1概述
在應(yīng)用型本科院校中,尤其是軟件工程專業(yè),畢業(yè)設(shè)計作為教學(xué)計劃的重要組成部分,是實踐教學(xué)中的最后一個環(huán)節(jié),也是對學(xué)生在校期間所學(xué)知識的一次綜合、全面的總結(jié)、應(yīng)用和提高。由于畢業(yè)生數(shù)量的不斷增加和軟件行業(yè)的迅猛發(fā)展,導(dǎo)致就業(yè)門檻越來越高,就業(yè)壓力也越來越大,通過畢業(yè)設(shè)計過程中的訓(xùn)練,能有效提高學(xué)生的工程應(yīng)用能力,使學(xué)生得到一定的實踐經(jīng)驗,有利于學(xué)生從學(xué)校向工作崗位的平穩(wěn)過度。因此,畢業(yè)設(shè)計質(zhì)量的好壞,不僅反映了一所高校的教學(xué)質(zhì)量,也會直接影響到學(xué)生的就業(yè)競爭力和就業(yè)后的職場適應(yīng)能力。
2存在的問題
1)思想認(rèn)識上不夠重視學(xué)生方面:有些學(xué)生存在完成任務(wù)式的應(yīng)付心里,避重就輕,能簡就簡,敷衍了事。有些學(xué)生則只重視找工作而輕視畢業(yè)設(shè)計,不愿在畢業(yè)設(shè)計上花費太多時間和精力,甚至有些學(xué)生還以找工作為由,完全依賴于導(dǎo)師,向?qū)熕饕创a,甚至花錢在網(wǎng)上購買來交差。已經(jīng)找到工作的學(xué)生,更是認(rèn)為畢業(yè)設(shè)計做的好與不好對自己沒什么影響,對待畢業(yè)設(shè)計也更加心不在焉。導(dǎo)師方面:大多數(shù)指導(dǎo)教師除了要指導(dǎo)學(xué)生畢業(yè)設(shè)計之外,還要承擔(dān)大量的教學(xué)和科研任務(wù),在畢業(yè)設(shè)計指導(dǎo)工作上能夠投入的精力和時間非常有限,致使有些導(dǎo)師對畢業(yè)設(shè)計的指導(dǎo)工作不太重視,對學(xué)生放任自流,不管不問,或者是直接將相關(guān)源代碼發(fā)給學(xué)生,以“簡化”指導(dǎo)工作。由于思想上的不重視,學(xué)生學(xué)習(xí)態(tài)度不認(rèn)真,導(dǎo)師指導(dǎo)工作不到位,造成畢業(yè)設(shè)計流于形式,疏于管理,效果較差,使得學(xué)生白白浪費了畢業(yè)前的一次綜合訓(xùn)練機會。因此,如何充分認(rèn)識畢業(yè)設(shè)計的重要性,并進(jìn)行相應(yīng)的教學(xué)改革是軟件工程專業(yè)畢業(yè)設(shè)計必須要面對并解決的問題。
2)時間安排上不夠科學(xué)畢業(yè)設(shè)計一般安排在第八學(xué)期,這期間剛好是學(xué)生求職和考研的黃金時間段,由于目前就業(yè)形勢的日益嚴(yán)峻,學(xué)生就業(yè)壓力越來越大,當(dāng)求職和考研時間與畢業(yè)設(shè)計時間發(fā)生沖突時,學(xué)生都會選擇將主要精力投入到求職和考研上,有些還要去外地求職、應(yīng)聘考試、面試等,畢業(yè)設(shè)計自然是無暇顧及。而且,學(xué)校方面,為了保證就業(yè)率,往往對學(xué)生畢業(yè)設(shè)計的質(zhì)量也是睜一只眼閉一只眼,這又在無形中鼓勵了學(xué)生消極對待畢業(yè)設(shè)計的態(tài)度,畢業(yè)設(shè)計質(zhì)量下降也就成為必然結(jié)果。
3)題目設(shè)置上不夠合理由于畢業(yè)設(shè)計在高校各類教學(xué)活動中是最具綜合性和獨立性的,相對于常規(guī)課程而言,對指導(dǎo)教師要求也就更高,尤其軟件工程專業(yè),工程實踐性比較強,但每年真正來源于實際工程項目的題目所占的比例較小,很多題目都是虛構(gòu)出來的,導(dǎo)致有些題目不是理論性太強,就是缺乏具體需求的支撐,使學(xué)生很難從畢業(yè)設(shè)計過程中真正領(lǐng)悟到真實的軟件工程方法。而有些指導(dǎo)教師自己都沒參與過實際的工程項目,本身就缺乏實踐經(jīng)驗,對學(xué)生畢業(yè)設(shè)計的指導(dǎo)只是憑著自己的感覺來進(jìn)行,缺乏系統(tǒng)性、整體性、科學(xué)性和嚴(yán)謹(jǐn)性,學(xué)生遇到問題后,難以得到及時的解決,導(dǎo)致抄襲現(xiàn)象時有發(fā)生,甚至有些學(xué)生直接照搬往屆畢業(yè)生的設(shè)計成果。畢業(yè)設(shè)計的主要目的在于通過畢業(yè)設(shè)計的訓(xùn)練來提升學(xué)生對所學(xué)知識的綜合應(yīng)用能力以及創(chuàng)新能力,從而實現(xiàn)學(xué)生從學(xué)校到工作崗位的平穩(wěn)過度。但由于題目設(shè)置上的不合理,題量太少,層次不清,導(dǎo)致選題匹配效果差。在選題時,部分能力差的學(xué)生所選題目難度太大,造成畢業(yè)設(shè)計很難完成,而有些能力強的學(xué)生所選題目難度過小,達(dá)不到能力提升的目的。
4)過程監(jiān)管上不夠到位眾所周知,對于軟件工程項目而言,過程控制與管理是項目執(zhí)行的關(guān)注點,畢業(yè)設(shè)計也當(dāng)如此。雖然學(xué)校也會在畢業(yè)設(shè)計過程中組織對各階段的工作情況進(jìn)行檢查,但執(zhí)行檢查工作的不一定是專業(yè)教師,使得這種檢查大多只是對指導(dǎo)老師所填寫的各種表格和文檔等表面內(nèi)容進(jìn)行檢查,對畢業(yè)設(shè)計的過程起不到實際的監(jiān)督作用,再加之有些學(xué)生在校外求職或?qū)嵙?xí)等原因造成指導(dǎo)教師與學(xué)生無法定期見面和溝通不暢等問題,使得指導(dǎo)教師難以用軟件工程方法對學(xué)生進(jìn)行指導(dǎo)。畢業(yè)設(shè)計雖然啟動較早,但實際上很多學(xué)生前期在畢業(yè)設(shè)計上很少投入時間和精力,只是在答辯前為了完成任務(wù)而趕工應(yīng)付,這樣的畢業(yè)設(shè)計質(zhì)量自然也就不佳。
5)量化考核上不夠嚴(yán)格畢業(yè)設(shè)計成績一般由平時成績+論文成績+答辯成績?nèi)糠职匆欢ū壤龢?gòu)成,平時成績由指導(dǎo)教師自行把握,論文成績則由其他有經(jīng)驗的教師進(jìn)行評閱,答辯成績由答辯委員會老師按照相關(guān)評分標(biāo)準(zhǔn)打分并取平均分,這樣雖然基本可以保證成績的公正性,但成績構(gòu)成太簡單,未顯示地將開題報告、文獻(xiàn)翻譯、分析和設(shè)計過程以及總結(jié)等納入到考核范圍,對畢業(yè)設(shè)計的前期和中期工作沒有約束力。在成績評定時,有些導(dǎo)師要求不嚴(yán),采取寬容遷就的態(tài)度。答辯時,通過門檻較低,造成大部分學(xué)生僅以答辯及格為目標(biāo),在思想上不重視,答辯準(zhǔn)備工作不扎實。同時,學(xué)校為了提高學(xué)生畢業(yè)率,在最終答辯時,對畢業(yè)設(shè)計的質(zhì)量要求也有所放松,這也是導(dǎo)致畢業(yè)設(shè)計質(zhì)量難以保證的一個重要原因。
3采取的對策
時間安排上,可以提前啟動畢業(yè)設(shè)計工作,將原來的第八學(xué)期開始提前到第六學(xué)期中后期,此時學(xué)生已經(jīng)學(xué)完大部分課程,具有了一定的知識基礎(chǔ),而且學(xué)生都在校,可以隨時與導(dǎo)師見面,指導(dǎo)教師也有充分的時間對畢業(yè)設(shè)計項目隨時跟進(jìn),隨時指導(dǎo)。導(dǎo)師資格審查上,對于軟件工程專業(yè)來說,學(xué)生畢業(yè)設(shè)計的導(dǎo)師,應(yīng)該由長期從事實際工程實踐或者有較好科研成果的“雙師型”(雙師即“教師”、“工程師”)教師來擔(dān)任,也可以聘請校外科研單位或企業(yè)中水平較高的工程師來擔(dān)任企業(yè)導(dǎo)師,這樣不僅可以減輕指導(dǎo)教師短缺的壓力,也能促進(jìn)指導(dǎo)教師隊伍多元化模式的形成。題目設(shè)置上,要求題量要充分,使得水平層次不同的學(xué)生都能選到合適的題目;難度和工作量要適中,且要有一定的創(chuàng)意,使學(xué)生通過畢業(yè)設(shè)計的訓(xùn)練,在綜合應(yīng)用能力和創(chuàng)新能力上都能夠得到有效的提高。有課題的指導(dǎo)教師要盡量結(jié)合自己的課題來設(shè)計題目,沒課題的指導(dǎo)教師可以從與學(xué)校有合作的企事業(yè)單位中獲取有實際意義的題目。鼓勵學(xué)生根據(jù)自己的興趣點和就業(yè)取向自擬題目,允許學(xué)生到實習(xí)企業(yè)中根據(jù)企業(yè)的實際工程需要選題和實施畢業(yè)設(shè)計,這樣既能解決實際問題又可完成畢業(yè)設(shè)計。過程監(jiān)管上,首先要在指導(dǎo)教師和學(xué)生之間建立有效的溝通聯(lián)系機制和問題討論的例會制度,充分發(fā)揮指導(dǎo)教師的引導(dǎo)作用,在畢業(yè)設(shè)計過程中,堅持每周師生溝通一次。學(xué)生提出問題,指導(dǎo)教師引導(dǎo)和總結(jié),鼓勵學(xué)生發(fā)揮主觀能動性和創(chuàng)造力。同時,學(xué)校要成立由領(lǐng)導(dǎo)牽頭、具有一定工程實踐經(jīng)驗的專業(yè)技術(shù)人員組成的督導(dǎo)組,對畢業(yè)設(shè)計過程包括選題、開題、中期檢查、答辯和成績評定等各個環(huán)節(jié)實施有效的監(jiān)控和督導(dǎo),加強管理學(xué)生的同時也要加強對指導(dǎo)教師工作質(zhì)量的檢查,確保畢業(yè)設(shè)計工作能夠有序、有效的實施。量化考核上,要對畢業(yè)設(shè)計從前期的開題、文獻(xiàn)查閱,到中期的分析、設(shè)計、實現(xiàn),再到后期的總結(jié)等各個階段的進(jìn)行量化考核,前一階段的成績考核不合格者,不能進(jìn)行下一階段工作,必須加以整改,直到整改合格后才能進(jìn)入下一階段。對于未能按要求如期完成畢業(yè)設(shè)計的可以推遲答辯,對于首次答辯不合格的可以進(jìn)行二次答辯,仍不合格的,可以緩發(fā)畢業(yè)證。只有建立嚴(yán)格的考核制度,才能對學(xué)生有約束力,讓學(xué)生從思想上重視畢業(yè)設(shè)計,進(jìn)而保證畢業(yè)設(shè)計的質(zhì)量。
4結(jié)束語
軟件工程是一個實踐性很強的專業(yè),軟件工程專業(yè)的畢業(yè)設(shè)計作為大學(xué)四年學(xué)習(xí)的總結(jié),是學(xué)生從學(xué)校跨入社會前僅有的一次大檢驗,它不僅檢驗了學(xué)生對所學(xué)知識的綜合應(yīng)用能力和學(xué)生的綜合素質(zhì),同時也檢驗了學(xué)校的培養(yǎng)模式和教學(xué)質(zhì)量。畢業(yè)設(shè)計質(zhì)量的好壞,不僅關(guān)系到軟件工程專業(yè)的培養(yǎng)目標(biāo),也關(guān)系到學(xué)生的就業(yè)率與就業(yè)質(zhì)量。因此,在就業(yè)形勢日趨嚴(yán)峻的情況下,軟件工程專業(yè)畢業(yè)設(shè)計的教學(xué)改革也要適應(yīng)就業(yè)市場需求,緊跟行業(yè)發(fā)展變化,與時俱進(jìn)。
作者:張華 單位:南陽理工學(xué)院
一、軟件工程專業(yè)畢業(yè)設(shè)計存在的主要問題
(一)畢業(yè)設(shè)計題目設(shè)置與選題方面
題目設(shè)置不合理,類別與層次不清晰,選題匹配效果差[2]。學(xué)生的畢業(yè)設(shè)計課題一般都按照指導(dǎo)老師的研究方向和實際工程項目提供,但每年真正來源于工程實踐題目比例較少。部分題目理論性強,學(xué)生根據(jù)所學(xué)知識不能很好理解;部分題目開發(fā)工具復(fù)雜,占用了畢業(yè)設(shè)計的大部分時間。在選題時可能導(dǎo)致學(xué)生想選的題目選不上,能力差的學(xué)生所選題目難度大,影響學(xué)生的積極性,導(dǎo)致選題效果差,造成畢業(yè)設(shè)計很難完成。
(二)畢業(yè)設(shè)計過程監(jiān)控方面
畢業(yè)設(shè)計監(jiān)控工作實施困難,效果較差。軟件工程專業(yè)畢業(yè)設(shè)計一般包含選題、開題、中期檢查、程序測試、撰寫畢業(yè)論文、答辯、成績評定。但對這些環(huán)節(jié)的監(jiān)控有時候會形成空白帶,畢業(yè)設(shè)計不在實驗室進(jìn)行,有的學(xué)生在實習(xí)單位實習(xí),有的學(xué)生在外地找工作,老師不能定時與學(xué)生見面,老師無法了解學(xué)生的具體情況,且學(xué)生提交的各階段文檔流于形式,只有指導(dǎo)教師在進(jìn)行監(jiān)控,未形成完善的監(jiān)控體系,導(dǎo)致監(jiān)控不到位,監(jiān)控效果較差[3]。
(三)畢業(yè)設(shè)計論文答辯方面
答辯考核方法單一,答辯僅由學(xué)生的講解和老師的提問兩個環(huán)節(jié)組成,考核準(zhǔn)確度低。答辯通過門檻較低,答辯只對學(xué)生的畢業(yè)設(shè)計進(jìn)行排名,一般排名在最后的學(xué)生才可能不及格,不利于提高學(xué)生畢業(yè)設(shè)計積極性,造成大部分同學(xué)僅以答辯及格為目標(biāo),思想上不重視,答辯準(zhǔn)備工作不扎實。再由于軟件工程專業(yè)特點,畢業(yè)設(shè)計軟件作品評分標(biāo)準(zhǔn)難于量化,考核具有一定難度,也造成答辯效果不好。同時為了提高學(xué)生畢業(yè)率和就業(yè)率,畢業(yè)答辯的質(zhì)量控制有所放松,直接導(dǎo)致了軟件工程專業(yè)畢業(yè)設(shè)計質(zhì)量難以保障。
二、軟件工程專業(yè)畢業(yè)設(shè)計的教學(xué)改革
針對上述各項實際問題,主要進(jìn)行的相關(guān)工作具體如下:
(一)合理設(shè)置畢業(yè)設(shè)計題目,動態(tài)選題
依照軟件工程專業(yè)的以市場需求為導(dǎo)向,培養(yǎng)應(yīng)用型軟件工程人才的培養(yǎng)目標(biāo),在畢業(yè)設(shè)計題目設(shè)置環(huán)節(jié),緊緊圍繞工程實際型、創(chuàng)新項目型、競賽題目型、科研項目型等類型進(jìn)行題目設(shè)置,以適應(yīng)市場動態(tài)需求。同時著力避免在畢業(yè)設(shè)計題目中設(shè)置虛擬型題目、理論研究型題目、綜述型題目、分析設(shè)計型題目等。在選題過程中,通過畢業(yè)設(shè)計管理系統(tǒng)(如圖1所示)進(jìn)行多輪雙向動態(tài)選擇,動態(tài)調(diào)整題目各項技術(shù)參數(shù)以保證學(xué)生能選擇一個適合自己能力且能有利于自己以后工作的題目[4]。這樣,在選題之后,每個指導(dǎo)老師就可以根據(jù)學(xué)生不同能力進(jìn)行分別指導(dǎo),使不同能力的學(xué)生都能夠運用其所學(xué)知識解決工程實際問題,都能夠通過畢業(yè)設(shè)計增強工程實踐能力、工程設(shè)計能力與創(chuàng)新能力。近四學(xué)年軟件工程專業(yè)畢業(yè)設(shè)計各類題目匯總。
(二)畢業(yè)設(shè)計過程實行三級監(jiān)控管理機制
學(xué)校成立以主管副校長為組長的畢業(yè)設(shè)計工作領(lǐng)導(dǎo)小組以加強畢業(yè)設(shè)計宏觀調(diào)控,學(xué)院成立以教學(xué)副院長為組長的畢業(yè)設(shè)計工作領(lǐng)導(dǎo)小組以加強畢業(yè)設(shè)計協(xié)調(diào)與監(jiān)控工作,軟件工程專業(yè)成立以專業(yè)負(fù)責(zé)人為組長的畢業(yè)設(shè)計工作小組落實并實施畢業(yè)設(shè)計各環(huán)節(jié)具體工作[2]。具體參見下圖2。在實現(xiàn)畢業(yè)設(shè)計過程管理的三級管理機制的同時,為保障畢業(yè)設(shè)計工作質(zhì)量,軟件工程專業(yè)要求所有指導(dǎo)教師必須具有中級以上技術(shù)職稱或碩士以上學(xué)位且有一定工程實踐經(jīng)驗,具有較高教學(xué)、科研水平和創(chuàng)新能力,師德良好,工作態(tài)度認(rèn)真負(fù)責(zé)。在每年的畢業(yè)設(shè)計指導(dǎo)工作開始前都對指導(dǎo)教師進(jìn)行資格審查,擇優(yōu)任用,且每位教師指導(dǎo)的學(xué)生不超過6人,以保證指導(dǎo)教師對學(xué)生的充分指導(dǎo)[5]。
(三)畢業(yè)設(shè)計過程量化考核
以往軟件工程專業(yè)畢業(yè)設(shè)計成績通常由三部分組成:一是學(xué)生的平時表現(xiàn)由指導(dǎo)老師把握;二是學(xué)生的畢業(yè)論文成績。由專業(yè)其他指導(dǎo)老師進(jìn)行評閱;三是現(xiàn)場答辯成績。由所在組的指導(dǎo)教師按照相關(guān)評分標(biāo)準(zhǔn)打分并取平均分。這樣基本能夠保證畢業(yè)設(shè)計成績的公正,但是由于只有畢業(yè)答辯環(huán)節(jié)具有約束力即答辯未通過則總成績不及格,其他環(huán)節(jié)不具約束力,因此造成畢業(yè)設(shè)計前期、中期工作流于形式,前期、中期階段提交的文檔趨于應(yīng)付、質(zhì)量不高,最終導(dǎo)致畢業(yè)論文質(zhì)量較低[6,7]。為此,軟件工程專業(yè)經(jīng)過幾年的探索與實踐,實施了畢業(yè)設(shè)計各階段的軟件工程生命周期量化考核法即各個階段量化考核,且考核成績不合格者不能進(jìn)行下階段畢業(yè)設(shè)計工作,必須加以整改,整改通過后才能進(jìn)入下一階段畢業(yè)設(shè)計工作。經(jīng)過幾年的實踐證明該考核方法切實可行,能夠保證畢業(yè)設(shè)計各個環(huán)節(jié)的質(zhì)量,最終提高畢業(yè)設(shè)計總體質(zhì)量。
(四)在畢業(yè)設(shè)計過程中進(jìn)一步提高學(xué)生工程能力與創(chuàng)新能力
遼寧工業(yè)大學(xué)于2011年制定并實施了大學(xué)生創(chuàng)新團(tuán)隊機制,建立了大學(xué)生創(chuàng)新項目申報機制引導(dǎo)大學(xué)生開展創(chuàng)新活動;引導(dǎo)學(xué)生每年都參加校級、省級、部級軟件設(shè)計大賽等各類各級比賽[8]。隨著學(xué)校和學(xué)院創(chuàng)新教育活動多年持續(xù)深入開展,軟件工程專業(yè)學(xué)生的創(chuàng)新與創(chuàng)業(yè)活動取得了顯著成果。超過1/4的軟件工程專業(yè)學(xué)生能夠獨立主持創(chuàng)新性項目,并以該項目為原型申報畢業(yè)設(shè)計題目[9],同時參加省級、部級計算機競賽并獲得獎項。通過主持校級及省級創(chuàng)新項目既畢業(yè)設(shè)計題目,學(xué)生工程能力、創(chuàng)新能力得到極大鍛煉與提高,本專業(yè)畢業(yè)生就業(yè)率與就業(yè)質(zhì)量明顯提高。軟件工程專業(yè)學(xué)生主持參加創(chuàng)新項目既畢業(yè)設(shè)計題目情況見表3。
三、結(jié)束語
軟件工程專業(yè)畢業(yè)設(shè)計是一個極具綜合性、實踐性的重要環(huán)節(jié),是對學(xué)生大學(xué)四年學(xué)習(xí)后面向社會與企業(yè)前的有且僅有的一次大檢驗,它不僅檢驗了學(xué)生所學(xué)知識、能力與綜合素質(zhì),還檢驗了軟件工程專業(yè)的培養(yǎng)目標(biāo)、培養(yǎng)模式、課程體系、實踐體系、創(chuàng)新體系等相關(guān)環(huán)節(jié)[10]。經(jīng)過幾年的探索與實踐證明,軟件工程專業(yè)所做的系列教學(xué)改革工作中的畢業(yè)設(shè)計教學(xué)改革工作有利于進(jìn)一步增強學(xué)生的工程實踐能力和創(chuàng)新能力,有利于提高軟件工程專業(yè)畢業(yè)設(shè)計質(zhì)量,有利于提高軟件工程專業(yè)學(xué)生就業(yè)率與就業(yè)質(zhì)量。雖然軟件工程專業(yè)畢業(yè)設(shè)計教學(xué)改革工作取得了一定的成績,社會認(rèn)可度逐年穩(wěn)步提高,但如何動態(tài)調(diào)整教學(xué)計劃以跟進(jìn)市場需求變化;如何深入開展大學(xué)生創(chuàng)新創(chuàng)業(yè)教育活動以進(jìn)一步增強更多軟件工程專業(yè)學(xué)生的實踐能力及創(chuàng)新能力;如何進(jìn)一步加強專業(yè)教師工程實踐能力、工程設(shè)計能力與工程創(chuàng)新能力以提高畢業(yè)設(shè)計指導(dǎo)效力;如何提高畢業(yè)設(shè)計過程管理效率等問題仍然是軟件工程專業(yè)所面臨的嚴(yán)肅課題[11]。因此,軟件工程專業(yè)的畢業(yè)設(shè)計教學(xué)改革工作也一定會緊跟時代變化,與時俱進(jìn)。
作者:佟玉軍謝文閣王恩喜劉鴻沈姜悅嶺工作單位:遼寧工業(yè)大學(xué)電子與信息工程學(xué)院
摘要:針對地方應(yīng)用型本科高校計算機軟件類畢業(yè)設(shè)計質(zhì)量不高的問題,對畢業(yè)設(shè)計中存在的問題進(jìn)行分析,并結(jié)合軟件工程的基礎(chǔ)理論,提出利用軟件工程思想對計算機軟件類畢業(yè)設(shè)計進(jìn)行指導(dǎo),以提高地方應(yīng)用型普通本科高校畢業(yè)設(shè)計的質(zhì)量。
關(guān)鍵詞:軟件工程;畢業(yè)設(shè)計;應(yīng)用
一、引言
畢業(yè)設(shè)計是本科畢業(yè)生在校期間的最后實踐和綜合實訓(xùn)階段,是實現(xiàn)本科教育培養(yǎng)目標(biāo)的重要組成部分,是深化、拓展、綜合應(yīng)用所學(xué)理論知識的重要過程;也是綜合素質(zhì)與工程實踐能力培養(yǎng)效果的全面檢驗;是學(xué)生畢業(yè)及學(xué)位資格認(rèn)定的重要依據(jù);是衡量高等教育質(zhì)量和辦學(xué)效益的重要評價,是對專業(yè)理論知識和專業(yè)技術(shù)綜合應(yīng)用能力的強化訓(xùn)練和提升[1]。在畢業(yè)設(shè)計的過程中,學(xué)生利用所學(xué)專業(yè)理論知識,通過了解社會,分析社會需求,深入實踐,完成畢業(yè)設(shè)計的任務(wù)和撰寫畢業(yè)論文(設(shè)計)報告等各個環(huán)節(jié)的工作。對于地方應(yīng)用型普通本科高校而言,畢業(yè)設(shè)計就相當(dāng)于一般高等學(xué)校的畢業(yè)論文,但是畢業(yè)設(shè)計不同于畢業(yè)論文,它的組成部分不只是一篇學(xué)術(shù)論文。應(yīng)用型高校的畢業(yè)設(shè)計注重的是“應(yīng)用性”和“實踐性”,學(xué)生畢業(yè)設(shè)計要求學(xué)生針對某一課題,綜合運用本專業(yè)有關(guān)課程的理論和技術(shù),自己動手動腦做出解決實際問題的設(shè)計。目的是總結(jié)、檢查學(xué)生在校期間的學(xué)習(xí)成果,是評定畢業(yè)成績的重要依據(jù)。同時,通過畢業(yè)設(shè)計,可培養(yǎng)學(xué)生開發(fā)項目的基本綜合能力,為學(xué)生就業(yè)能力中的專業(yè)能力奠定堅實的基礎(chǔ);培養(yǎng)綜合運用已有知識獨立解決問題的能力,從而加強學(xué)生應(yīng)用能力的培養(yǎng),使學(xué)生能夠?qū)W以致用。
二、地方應(yīng)用型普通高校計算機相關(guān)專業(yè)學(xué)生畢業(yè)設(shè)計的現(xiàn)狀
近幾年來,由于學(xué)校對畢業(yè)設(shè)計要求不斷提高,學(xué)生從選題到設(shè)計再到寫出畢業(yè)設(shè)計報告的過程中總存在這樣那樣的問題,最終有個別同學(xué)沒有順利通過畢業(yè)設(shè)計,沒有拿到畢業(yè)證和學(xué)位證的情況時有發(fā)生,并且大多數(shù)畢業(yè)設(shè)計的水平不高,達(dá)不到培養(yǎng)學(xué)生獨立解決問題和提高學(xué)生應(yīng)用能力的目的。因此,如何指導(dǎo)學(xué)生做好畢業(yè)設(shè)計,提高學(xué)生畢業(yè)設(shè)計水平和質(zhì)量,是地方應(yīng)用型普通高校面臨的一個重要問題。
(一)畢業(yè)設(shè)計選題現(xiàn)狀
最近幾年,我校計算機相關(guān)專業(yè)畢業(yè)生自進(jìn)入大四秋季學(xué)期開始,在進(jìn)行畢業(yè)實習(xí)的同時,也進(jìn)入了畢業(yè)設(shè)計準(zhǔn)備階段:畢業(yè)設(shè)計選題,雖然畢業(yè)設(shè)計選題過程中,各級領(lǐng)導(dǎo)、指導(dǎo)教師和學(xué)生在態(tài)度是都很重視,但是在選題時也會存在很多的問題,主要有以下三個方面。
1.選題不夠準(zhǔn)確。部分學(xué)生選題未經(jīng)深思熟慮,所選畢業(yè)設(shè)計題目要實現(xiàn)的功能太多,在規(guī)定時間內(nèi)不能獨立完成,而最終只能實現(xiàn)部分功能,或部分模塊。
2.題目相似或重復(fù)雷同。學(xué)生選題存在渾水摸魚的思想,在畢業(yè)設(shè)計選題過程中不是根據(jù)自己的興趣愛好、專業(yè)知識學(xué)習(xí)情況等確定研究選題,而是選擇與他人類似或雷同的選題,甚至同一批畢業(yè)的許多學(xué)生選題一致。比如:“XX管理系統(tǒng)”等,除了可能冠以的系統(tǒng)名稱不同之外,其余基本相同。
3.應(yīng)用價值低。部分學(xué)生的選題是當(dāng)前十分成熟的項目,沒有研究的必要;有些選題已經(jīng)被淘汰,在實際生活和工作中沒有多大用途。
(二)畢業(yè)設(shè)計需求分析階段現(xiàn)狀
通過調(diào)查,許多學(xué)生選題完成后,沒有對自己所做畢業(yè)設(shè)計選題進(jìn)行仔細(xì)了解、分析,他們認(rèn)為在畢業(yè)設(shè)計中最重要的就是編程,其他方面一帶而過[2],從而造成畢業(yè)設(shè)計過程中主題經(jīng)常進(jìn)行修改,最終使得整個系統(tǒng)雜亂無章,無法繼續(xù)進(jìn)行下去。因此學(xué)生在畢業(yè)設(shè)計的需求分析階段主要有以下三個方面的問題。
1.選題后未進(jìn)行實際調(diào)查研究,甚至未查找相應(yīng)的參考文獻(xiàn)。
2.需求分析進(jìn)行得不徹底、不準(zhǔn)確,即使選題后查找了參考文獻(xiàn)和資料的,也未做充分了解和分析。
3.在需求分析階段沒有寫出需求規(guī)格說明書或系統(tǒng)分析報告就匆忙進(jìn)入系統(tǒng)設(shè)計階段,導(dǎo)致隨著系統(tǒng)設(shè)計的逐步深入,原來確定的需求不能滿足畢業(yè)設(shè)計的需要,正在進(jìn)行的設(shè)計與開始的期望和設(shè)想又不相符。
(三)畢業(yè)設(shè)計系統(tǒng)設(shè)計階段現(xiàn)狀
在系統(tǒng)設(shè)計階段,普遍存在以下兩個方面問題。
1.由于需求的不明確,在進(jìn)行系統(tǒng)設(shè)計時,修改隨意,沒有嚴(yán)格按照軟件開發(fā)的步驟進(jìn)行。好多學(xué)生在進(jìn)行系統(tǒng)設(shè)計時并沒有建出相應(yīng)的功能模型,不管是用例圖還是DFD圖都沒有,而且系統(tǒng)設(shè)計過程中功能隨意變換,并且各功能模塊的層次結(jié)構(gòu)不清晰,使得整個系統(tǒng)的功能模塊劃分凌亂,不符合軟件設(shè)計中“高內(nèi)聚,低耦合”的原則。
2.在軟件設(shè)計過程中,不先進(jìn)行概要設(shè)計、詳細(xì)設(shè)計和模塊設(shè)計,沒有軟件的過程性描述,直接進(jìn)行編碼,存在想到哪里就做到哪里,走到哪兒算哪兒的隨意思想[3],當(dāng)前內(nèi)容沒有做完便開始其他內(nèi)容,使得整個系統(tǒng)設(shè)計雜亂無章。在這樣的一種研究狀態(tài)下,即使完成了設(shè)計,效率也非常低下,軟件結(jié)構(gòu)混亂,功能實現(xiàn)不完全,降低了軟件設(shè)計的質(zhì)量。
(四)畢業(yè)設(shè)計實現(xiàn)階段現(xiàn)狀
通常把編碼和測試統(tǒng)稱為實現(xiàn)。在進(jìn)行軟件設(shè)計后,就可以根據(jù)設(shè)計結(jié)果來實現(xiàn),將軟件的過程性描述編碼,得到計算機可以運行的源代碼。在實現(xiàn)階段主要有以下幾方面的問題。
1.編碼隨意。學(xué)生在編碼的過程中,不注意編程風(fēng)格的把握,導(dǎo)致程序的可讀性、可理解性、可修改性等較差,在答辨的過程中,要求指出某個功能模塊的代碼時,經(jīng)常要花費很多時間才找得到。
2.測試和調(diào)試可有可無。大部分學(xué)生在畢業(yè)設(shè)計的軟件編碼完成以后,從沒有想過進(jìn)行完整的系統(tǒng)測試,或者只對個別功能進(jìn)行測試或是隨意測試,沒有按照測試步驟逐步進(jìn)行;基本沒有單元測試和集成測試,一般只是最終隨便輸入幾個數(shù)據(jù)簡單檢測一下,如果有錯,修改了就算完了;也沒有進(jìn)行回歸測試,沒有測試計劃,沒有想過用什么測試技術(shù)來檢測某一類型的錯識,沒有相應(yīng)的測試用例,也沒有測試結(jié)果分析。由于學(xué)生畢業(yè)設(shè)計都是一人一題,基本上是一個人完成所有步驟,就算有測試,在測試階段也是自己進(jìn)行測試,從心理學(xué)的角度來說,自己對自己開發(fā)的軟件進(jìn)行測試是不可取的。
由于前面階段的文檔不完善,也不重視測試過程,不清楚是否實現(xiàn)了系統(tǒng)最初設(shè)計的功能,是否達(dá)到相應(yīng)的性能要求,總以為程序做出來后畢業(yè)設(shè)計就完成了,使得畢業(yè)設(shè)計經(jīng)常在更換運行環(huán)境或答辯時發(fā)生錯誤和問題,從而使得設(shè)計得不到好評甚至無法通過。
(五)畢業(yè)設(shè)計應(yīng)用現(xiàn)狀
最近幾年,我校計算機相關(guān)專業(yè)畢業(yè)設(shè)計投入使用數(shù)量接近于零。究其原因主要是由于設(shè)計不完全,未進(jìn)行測試和調(diào)試,存在的錯誤和缺陷較多,文檔和數(shù)據(jù)不完整,導(dǎo)致所開發(fā)的系統(tǒng)或軟件不能方便地轉(zhuǎn)讓、變更、修正、擴充和使用,也沒有為后期培訓(xùn)、維護(hù)留下完備的資料;因此,不能投入到真正的使用過程中,也不能實現(xiàn)系統(tǒng)或軟件產(chǎn)品的效益。
三、軟件工程思想的應(yīng)用
軟件工程(Software Engineering,簡稱為SE)是一門研究用工程化方法構(gòu)建和維護(hù)有效的、實用的和高質(zhì)量的軟件的學(xué)科。軟件工程中的軟件生命周期是一個軟件從軟件定義、開發(fā)、運行和維護(hù),直到最終被廢棄的整個過程[2]。地方應(yīng)用型普通高校計算機相關(guān)專業(yè)學(xué)生畢業(yè)設(shè)計基本都是開發(fā)一些中、小型應(yīng)用系統(tǒng)或軟件,因此,學(xué)生畢業(yè)設(shè)計也要經(jīng)歷軟件生命周期各個階段,嚴(yán)格遵守軟件工程的各個原則,這樣有助于解決畢業(yè)設(shè)計中存在的問題,提高畢業(yè)設(shè)計的質(zhì)量。通過對應(yīng)用型普通本科高校計算機相關(guān)專業(yè)的學(xué)生在進(jìn)行畢業(yè)設(shè)計的過程中存在的問題進(jìn)行分析,在畢業(yè)設(shè)計的過程中,必須運用軟件工程的觀點、技術(shù)和方法來指導(dǎo)畢業(yè)設(shè)計,這樣既節(jié)約了畢業(yè)設(shè)計的時間和學(xué)生的精力,也能做出最優(yōu)質(zhì)的畢業(yè)設(shè)計。
1.選題過程中的應(yīng)用。畢業(yè)設(shè)計選題就是軟件生命周期的問題定義中的問題提出階段,選好題目是進(jìn)行深入研究的基礎(chǔ),也是寫出高質(zhì)量畢業(yè)論文的前提。地方應(yīng)用型普通本科高校計算機相關(guān)專業(yè)的畢業(yè)設(shè)計選題必須做到以下幾點:(1)必須在對選題做了充分調(diào)查、分析,對檢索的參考文獻(xiàn)、資料有了整體把握的基礎(chǔ)上提出。(2)必須符合本專業(yè)培養(yǎng)方案規(guī)定的培養(yǎng)目標(biāo)的要求。(3)以選擇工程性較強的課題為主,確保有足夠的工程性訓(xùn)練。(4)要有明確的設(shè)計成果,對于較大型任務(wù)的課題要明確階段性成果。(5)要達(dá)到規(guī)定的工作量,難易度適中,確保能在規(guī)定的時間內(nèi)完成整個課題工作。(6)要圍繞生產(chǎn)生活實際,所選題目一定具有一定的理論意義和實踐意義,具有一定的價值。(7)原則上一人一題,對于較大型任務(wù)的課題,每個學(xué)生必須有獨立子課題。結(jié)合以上幾點,分別從專業(yè)基礎(chǔ)、現(xiàn)實意義等方面進(jìn)行全面分析,進(jìn)行取舍,最終得出選題。
2.開題過程中的應(yīng)用。在畢業(yè)設(shè)計的開題過程中,需要明確所選題目的選題依據(jù)(包括選擇課題的背景、選題研究的理論及實踐意義)、選題研究現(xiàn)狀(包括目前國內(nèi)外對本選題的研究情況和有待解決的問題)、研究內(nèi)容與方法,而這些就是軟件工程中需求分析階段應(yīng)該做的事情。
需求分析指的是在建立一個新的或改變一個現(xiàn)存的電腦系統(tǒng)時描寫新系統(tǒng)的目的、范圍、定義和功能時所要做的所有的工作[3]。因此開題過程中最重要的是進(jìn)行需求分析,需求分析具有決策性、方向性、策略性的作用,在軟件開發(fā)的過程中具有舉足輕重的地位。需求分析完成的好壞直接影響后續(xù)軟件開發(fā)的質(zhì)量。開題過程中需要指導(dǎo)學(xué)生大量地閱讀相關(guān)的研究資料,同時根據(jù)資料進(jìn)行分析研究,對當(dāng)前畢業(yè)設(shè)計的研究進(jìn)度做到心中有數(shù),明確畢業(yè)設(shè)計的具體方向,寫出畢業(yè)設(shè)計的研究內(nèi)容與方法,得到相應(yīng)的設(shè)計提綱,解決好設(shè)計什么,如何設(shè)計的問題。因此,應(yīng)用好軟件工程的思想來指導(dǎo)畢業(yè)設(shè)計的開題是至關(guān)重要的。根據(jù)學(xué)校對學(xué)生畢業(yè)論文的要求,在計算機相關(guān)專業(yè)的畢業(yè)設(shè)計報告中,要求要有數(shù)據(jù)流圖、數(shù)據(jù)字典等相應(yīng)內(nèi)容,而軟件工程中的數(shù)據(jù)流圖(Data Flow Diagram,簡稱DFD),它是從數(shù)據(jù)傳遞和加工角度,以圖形方式來表達(dá)系統(tǒng)的邏輯功能、數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向和邏輯變換過程。它是描述系統(tǒng)中數(shù)據(jù)流程的圖形工具,它標(biāo)識了一個系統(tǒng)的邏輯輸入和邏輯輸出,以及把邏輯輸入轉(zhuǎn)換為邏輯輸出所需的加工處理[3]。因此,在這個階段,要指導(dǎo)學(xué)生按照DFD圖的要求,確定設(shè)計的功能,然后根據(jù)系統(tǒng)分析結(jié)果寫出分析報告,就得出畢業(yè)論文中系統(tǒng)分析階段的初始文檔。
3.在實踐研究環(huán)節(jié)的應(yīng)用。根據(jù)需求分析(開題階段)的結(jié)果進(jìn)行軟件的概要設(shè)計和詳細(xì)設(shè)計,注意在設(shè)計過程中要嚴(yán)格按照軟件工程對于設(shè)計階段的指導(dǎo)原則來進(jìn)行設(shè)計。將概要設(shè)計階段需求分析得到的DFD轉(zhuǎn)換為軟件結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu),即是根據(jù)需求確定軟件和數(shù)據(jù)的總體框架,設(shè)計出軟件的結(jié)構(gòu),也就是要確定系統(tǒng)中每個程序是由哪些模塊組成的,以及這些模塊相互間的關(guān)系。然后再進(jìn)行詳細(xì)設(shè)計,設(shè)計出每個模塊的實現(xiàn)算法、所需的局部數(shù)據(jù)結(jié)構(gòu),并且對每個模塊寫出過程性描述;為每個模塊設(shè)計出一組測試用例,在進(jìn)行測試時就以此測試用例來進(jìn)行測試。詳細(xì)設(shè)計階段的任務(wù)還不是具體地編寫程序,而是要設(shè)計出程序的“藍(lán)圖”,以后將根據(jù)這個“藍(lán)圖”寫出實際的程序代碼。因此,指導(dǎo)教師要對學(xué)生的設(shè)計過程進(jìn)行監(jiān)督和指導(dǎo),防止學(xué)生盲目的進(jìn)行編碼。
4.在實現(xiàn)階段的應(yīng)用。在編碼的過程中,要注意編程風(fēng)格的把握,編程的風(fēng)格在很大程度上影響程序的可讀性、可測試性和可維護(hù)性。
在測試階段,可以進(jìn)行交叉測試,即學(xué)生之間可以兩兩交叉,相互測試,以更好的達(dá)到測試效果,同時也培養(yǎng)了學(xué)生的團(tuán)隊意識和合作意識。
在測試過程中要注意運用軟件工程的測試原則和測試思想,嚴(yán)格按照單元測試集成測試確認(rèn)測試系統(tǒng)測試驗收測試的測試步驟進(jìn)行,利用白盒測試技術(shù)進(jìn)行單元測試,黑盒測試技術(shù)進(jìn)行其他測試,并且在找出錯誤并修改后要進(jìn)行相應(yīng)的回歸測試,確認(rèn)修改了錯誤并且沒有引入新的錯誤,這樣有利于找到軟件中的各類錯誤,提高軟件的質(zhì)量。因此,在軟件的測試過程中,一定要嚴(yán)格按照軟件工程中的測試原則來進(jìn)行,不可隨意進(jìn)行測試,并且要注意測試文檔資料的收集整理,要有相應(yīng)的測試計劃和測試報告。對學(xué)生的創(chuàng)造性的思維和想法,指導(dǎo)教師要給予支持,積極引導(dǎo),鼓勵學(xué)生大膽創(chuàng)新,用應(yīng)用型人才培養(yǎng)目標(biāo)來要求學(xué)生,保證高質(zhì)量的畢業(yè)設(shè)計的完成。
5.在畢業(yè)論文(設(shè)計)報告方面的應(yīng)用。對于應(yīng)用型普通本科高校計算機相關(guān)專業(yè)的畢業(yè)設(shè)計而言,不單單是完成了一個系統(tǒng)的設(shè)計,還要有相應(yīng)的設(shè)計報告,而設(shè)計報告的編寫過程中,很多學(xué)生存在文字表達(dá)能力不強的現(xiàn)象,為了完成報告,就有可能會抄襲,特別是在軟件開發(fā)的各個階段文檔材料不全的情況下更為嚴(yán)重。因此,在學(xué)生進(jìn)行軟件開發(fā)的各個環(huán)節(jié)中,指導(dǎo)教師都應(yīng)該按照軟件工程的觀點來進(jìn)行指導(dǎo),并要求學(xué)生在各個階段都完成相應(yīng)的文檔。這樣在畢業(yè)設(shè)計報告撰寫的過程中,只要將各個階段的文檔進(jìn)行合并、整理就得到相應(yīng)的設(shè)計報告,并且是一篇重復(fù)率不高的高質(zhì)量的設(shè)計報告。
6.在畢業(yè)設(shè)計實際應(yīng)用方面的應(yīng)用。因為學(xué)生在整個系統(tǒng)或軟件過程中均按軟件設(shè)計規(guī)范準(zhǔn)備了文檔和進(jìn)行了完整的系統(tǒng)測試,從而為系統(tǒng)或軟件的專利申請?zhí)峁┝顺浞直匾馁Y料,并為畢業(yè)設(shè)計的實際應(yīng)用打下良好的基礎(chǔ)。
四、結(jié)語
計算機相關(guān)專業(yè)學(xué)生的畢業(yè)設(shè)計在學(xué)生的整個大學(xué)生活中具有極其重要的地位和作用,根據(jù)應(yīng)用型普通本科高校人才培養(yǎng)的定位,主要是培養(yǎng)學(xué)生的獨立思考能力、動手能力和應(yīng)用能力。通過對軟件工程思想在計算機相關(guān)專業(yè)學(xué)生畢業(yè)設(shè)計的過程及方法中的應(yīng)用研究,逐步實現(xiàn)學(xué)生畢業(yè)設(shè)計的實際成果轉(zhuǎn)化,從而為應(yīng)用型計算機相關(guān)專業(yè)人才培養(yǎng)提供相應(yīng)的借鑒。
摘要:就業(yè)是民生之本。做好高校畢業(yè)生就業(yè)工作,是建設(shè)人力資源強國和創(chuàng)新型國家的必然要求。黨的十八屆三中全會明確提出要“健全促進(jìn)就業(yè)創(chuàng)業(yè)體制”,“促進(jìn)以高校畢業(yè)生為重點的青年就業(yè)”。在對軟件工程畢業(yè)生市場需求進(jìn)行分析的基礎(chǔ)上,本文主要介紹本科生的就業(yè)現(xiàn)狀,并對促進(jìn)畢業(yè)生就業(yè)的舉措做出一些探索。
關(guān)鍵詞:軟件工程專業(yè);畢業(yè)生就業(yè);舉措
自高校擴招后,我國畢業(yè)生的數(shù)量逐年增加,高校畢業(yè)生就業(yè)問題成為重大的社會問題。2014年,高校畢業(yè)生數(shù)量達(dá)到創(chuàng)紀(jì)錄的727萬人,應(yīng)屆畢業(yè)生的就業(yè)壓力之大可想而知。加之,我國軟件工程技術(shù)起步比較晚,相較于國外發(fā)達(dá)國家還有相當(dāng)大的差距。雖然起步較晚,但我國政府正在大力支持中國軟件行業(yè)的發(fā)展,短短幾年,已經(jīng)開發(fā)出屬于我國自有知識產(chǎn)權(quán)的軟件技術(shù),制定出一系列的符合國情的政策和發(fā)展計劃,取得不小的成功。
一、軟件工程專業(yè)的就業(yè)前景分析
1.畢業(yè)生市場需求分析。相關(guān)數(shù)據(jù)研究表明,我國軟件出口規(guī)模達(dá)到215億元,軟件從業(yè)人員達(dá)到72萬人,軟件工程專業(yè)畢業(yè)生的市場需求約計11.1萬人,職業(yè)需求在“電氣信息類”中排名第三。軟件工程人才的就業(yè)前景十分廣闊,畢業(yè)生主要在各大軟件公司、企事業(yè)單位、高等院校、研究所、國防等重要部門從事軟件開發(fā)、研究、設(shè)計與應(yīng)用等工作。目前,我國對軟件人才的需求以每年20%左右的速度增長,而高校計算機畢業(yè)生中的軟件工程人才還很缺乏,尤其是高素質(zhì)的軟件工程人才極度短缺。就業(yè)前景最好的地區(qū)集中在北上廣等沿海地區(qū)。巨大的人才缺口不僅使IT行業(yè)“全線告急”,更使得IT企業(yè)求賢若渴,重金搶購。未來幾年,國內(nèi)外高層次的軟件人才將供不應(yīng)求。根據(jù)學(xué)校招生就業(yè)處歷屆本科畢業(yè)生校內(nèi)招聘用人需求統(tǒng)計資料,2012~2013學(xué)年由學(xué)校主辦的雙選會、集團(tuán)專場、日常招聘等各類招聘活動中,共計有1123個崗位需要軟件工程類畢業(yè)生,2013~2014學(xué)年共計有1234個崗位需要軟件工程類畢業(yè)生,用人需求漲幅接近10%。
2.招聘要求及薪酬待遇分析。目前IT企業(yè)對IT人才有四項素質(zhì)要求,即專業(yè)技能、項目經(jīng)驗、權(quán)威認(rèn)證和高等學(xué)歷。超過80%的IT企業(yè)對用人學(xué)歷有要求,其中要求為大學(xué)及以上學(xué)歷的崗位占到46%,超過70%的用人單位希望求職者有一定的工作經(jīng)驗。如果單純地講就業(yè),專業(yè)技能與項目經(jīng)驗則是優(yōu)秀要素,是企業(yè)最為看重以及個人在企業(yè)日后發(fā)展的關(guān)鍵因素。軟件工程專業(yè)相關(guān)職位屬于高薪崗位,據(jù)國家統(tǒng)計局的調(diào)查顯示,2015年第一季度,在國有經(jīng)濟單位中,信息傳輸計算機服務(wù)和軟件業(yè)的平均勞動報酬最高,達(dá)到6300元人民幣。據(jù)來校招聘單位所提供的薪資水平,可以看出:軟件工程崗位的具體薪資待遇在地域間又有些許差異,一級城市(如北上廣等城市)初-高級軟件工程師的待遇在4000~9000之間,內(nèi)地其他省會城市(例如山西省)一般在2000~6000之間。隨著畢業(yè)生從業(yè)年限的增加,勞動報酬也呈線性增長,從業(yè)年限在6~7年間的軟件工程畢業(yè)生,月薪資可達(dá)到1萬元以上。
二、軟件工程專業(yè)的就業(yè)現(xiàn)狀
1.畢業(yè)生數(shù)量逐年增加,對IT人才的需求標(biāo)準(zhǔn)逐漸提高,應(yīng)屆本科畢業(yè)生就業(yè)面臨著嚴(yán)峻的挑戰(zhàn)。首先,IT行業(yè)就業(yè)情況最好的地區(qū)集中在北上廣等幾個發(fā)達(dá)地區(qū),從北京、上海、廣州等大型城市近幾年對IT人才的招聘情況來看,這幾所城市對軟件工程類畢業(yè)生的招聘標(biāo)準(zhǔn)逐年呈現(xiàn)出“水漲船高”的趨勢。很多企業(yè)鐘情于有一定工作經(jīng)驗且學(xué)歷較高的碩士生、博士生等高端人才,因為他們能夠迅速進(jìn)入工作角色,承擔(dān)起某一職位的工作任務(wù)。正因如此,近兩年來,一些雖有高學(xué)歷但剛畢業(yè)尚無就業(yè)經(jīng)驗的畢業(yè)生則被拒之于求職門外。其次,省內(nèi)IT行業(yè)發(fā)展不成熟,企業(yè)提供的就職崗位較少,而省內(nèi)軟件工程專業(yè)畢業(yè)生人數(shù)較多,考慮到地域問題、戶口遷移問題,部分畢業(yè)生更愿意選擇省內(nèi)企業(yè),加大省內(nèi)軟件工程的就業(yè)壓力。再次,中部地區(qū)的軟件行業(yè)相比其他地區(qū)還處于發(fā)展階段,目前我省的軟件行業(yè)規(guī)模不是很大,在軟件制作上,有些軟件企業(yè)只是采用了一些軟件工程的思想,距離大規(guī)模的工業(yè)化大生產(chǎn)還有一定的差距,這其中有管理體制、市場、政策等問題。
2.畢業(yè)生繼續(xù)奮戰(zhàn)考研、考公務(wù)員、考事業(yè)單位率持續(xù)上升,大學(xué)生在擺脫就業(yè)壓力和個人追求方面有新的認(rèn)識。學(xué)院2014屆未就業(yè)的畢業(yè)生選擇“繼續(xù)考研”、“繼續(xù)考公務(wù)員”的比例分別占未就業(yè)畢業(yè)生人數(shù)的28%、11%。隨著就業(yè)壓力的增大,越來越多的大學(xué)生想通過考研緩解就業(yè)壓力。一些畢業(yè)生認(rèn)為讀研可以提高自己的專業(yè)修養(yǎng),在學(xué)術(shù)上更上一個臺階。一些畢業(yè)生認(rèn)為考研除了學(xué)歷上更高一層次外,在單位就職時的工資基準(zhǔn)也會相應(yīng)地高一些,甚至有助于找個更好的就業(yè)單位。綜合來看,在巨大的就業(yè)形勢面前,考研是畢業(yè)生根據(jù)個人的職業(yè)規(guī)劃及自身實際情況做出的取舍。參加國考、公務(wù)員考試及事業(yè)單位招考的人數(shù)率創(chuàng)下新的紀(jì)錄。這與國人求穩(wěn)的心態(tài)不無關(guān)系,更多的人看重的是上述單位的福利待遇好、社會地位高等。總之,畢業(yè)后選擇暫不就業(yè),繼續(xù)參加各類招考的學(xué)生占未就業(yè)畢業(yè)生的很大比重。
3.畢業(yè)生進(jìn)行就業(yè)選擇時多持觀望的保守態(tài)度。學(xué)院領(lǐng)導(dǎo)長期以來高度重視畢業(yè)生的就業(yè)工作,利用校內(nèi)、校外實訓(xùn)基地平臺,積極聯(lián)系知名IT企業(yè)及實訓(xùn)單位,通過與企業(yè)多種模式合作、組織招聘會等方式,拓寬畢業(yè)生的就業(yè)渠道,大力促進(jìn)畢業(yè)生就業(yè)工作。針對畢業(yè)生舉辦“IT人才專場招聘會”等多場招聘活動,大力創(chuàng)造就業(yè)環(huán)境,積極拓展畢業(yè)生就業(yè)工作新領(lǐng)域。與此形成鮮明對比的是,多數(shù)畢業(yè)生在擇業(yè)就業(yè)過程中謹(jǐn)小慎微,在工作過程中也會對所選企業(yè)的各個方面提出質(zhì)疑,多持觀望的保守態(tài)度。“今天就是先來看看,不著急簽約”、“以后招聘會的單位會越來越好”、“還想再看看”,不少畢業(yè)生對企業(yè)拋來的“橄欖枝”并不上心。
三、主要舉措及努力方向
1.以提升創(chuàng)新精神、實踐能力和創(chuàng)業(yè)意識為重點,創(chuàng)新人才培養(yǎng)模式,提高人才培養(yǎng)質(zhì)量。深化教育教學(xué)改革,提高人才培養(yǎng)質(zhì)量。學(xué)院先后召開專題教育教學(xué)工作會議,并從人才培養(yǎng)模式、課程制度改革、教學(xué)秩序規(guī)范、資源投入保障等各個方面制定并出臺一系列的改革舉措,進(jìn)一步完善創(chuàng)新人才培養(yǎng)體系,保障人才培養(yǎng)質(zhì)量的提升。重視創(chuàng)新創(chuàng)業(yè)教育,著力培養(yǎng)學(xué)生的創(chuàng)新精神和創(chuàng)業(yè)意識。學(xué)院長期以來一直重視大學(xué)生的創(chuàng)新創(chuàng)業(yè)教育,不斷促進(jìn)教學(xué)改革和教育質(zhì)量的提升,推動大學(xué)生高質(zhì)量就業(yè)。學(xué)院逐步推動創(chuàng)新創(chuàng)業(yè)課程體系建設(shè),把創(chuàng)業(yè)基礎(chǔ)課程、就業(yè)指導(dǎo)課程列入必修課,并在校內(nèi)建立山西省共享式軟件人才實訓(xùn)基地,設(shè)立多個實踐創(chuàng)新項目,增強畢業(yè)生的就業(yè)意識和就業(yè)能力。利用校內(nèi)、校外實訓(xùn)基地及校企聯(lián)合研究室,進(jìn)一步改善學(xué)生實踐教學(xué),著力培養(yǎng)學(xué)生的創(chuàng)新精神和創(chuàng)業(yè)意識,更好地實施人才培養(yǎng)模式,不斷促進(jìn)教學(xué)改革和教育質(zhì)量的提升,為提升畢業(yè)生的就業(yè)能力提供保障。
2.面向行業(yè)需求,創(chuàng)新就業(yè)服務(wù)模式,引導(dǎo)畢業(yè)生“頂天立地”地就業(yè)。著力擴大就業(yè)市場覆蓋度,挖掘行業(yè)重點單位需求,拓寬畢業(yè)生就業(yè)渠道。學(xué)院堅持畢業(yè)生“走出去”的就業(yè)方針,將保證畢業(yè)生就業(yè)需求作為根本出發(fā)點,針對提高畢業(yè)生的就業(yè)能力、層次和質(zhì)量的任務(wù),充分利用校外實訓(xùn)基地,積極為畢業(yè)生搭建就業(yè)平臺,大力創(chuàng)造就業(yè)環(huán)境。學(xué)院積極聯(lián)系知名IT企業(yè)及實訓(xùn)單位,通過與企業(yè)多種模式合作,積極聯(lián)系用人單位,舉辦專場招聘活動,拓寬畢業(yè)生就業(yè)渠道,大力創(chuàng)造就業(yè)環(huán)境,積極拓展畢業(yè)生就業(yè)工作新領(lǐng)域,為用人單位招聘提供精細(xì)、“一站式”服務(wù),對地處欠發(fā)達(dá)地區(qū)的重點單位實行分類服務(wù)。依托學(xué)校軟件學(xué)院硬件設(shè)備優(yōu)勢,為不能到場的企業(yè)和單位提供遠(yuǎn)程實時的在線視頻招聘,積極開展用人單位滿意度調(diào)查,統(tǒng)計用人單位和畢業(yè)生對本院人才培養(yǎng)和就業(yè)工作的滿意度,切實使就業(yè)工作服務(wù)于人才培養(yǎng)全過程。著力加強就業(yè)工作保障度,為實施高質(zhì)量和均衡就業(yè)戰(zhàn)略“保駕護(hù)航”。加大政策引導(dǎo)力度,落實專項經(jīng)費。利用新媒體推進(jìn)網(wǎng)絡(luò)化就業(yè)指導(dǎo)教育,使學(xué)生多渠道捕捉就業(yè)信息,強化擇業(yè)就業(yè)意識,做好擇業(yè)定位并進(jìn)行合理的職業(yè)規(guī)劃,實現(xiàn)理想就業(yè)。開展“一幫一”活動,對就業(yè)有困難的畢業(yè)生建立學(xué)困生檔案,進(jìn)行重點指導(dǎo)、重點服務(wù)。建立“畢業(yè)生回訪與發(fā)展跟蹤制度”,了解畢業(yè)生所學(xué)專業(yè)與社會需求的契合度,不斷增強就業(yè)指導(dǎo)人員的服務(wù)意識和責(zé)任意識。
3.以保證畢業(yè)生充分、高質(zhì)量就業(yè)為目標(biāo),完善就業(yè)工作機制,構(gòu)建就業(yè)工作常態(tài)化。實施“一把手”工程,將就業(yè)工作列入年度工作要點。成立由學(xué)院院長、書記、副書記、輔導(dǎo)員、學(xué)習(xí)導(dǎo)師、專業(yè)教師和班主任組成的就業(yè)工作組,配合學(xué)校建立校、院、班三級體系,為就業(yè)工作提供組織支撐。落實“三個到位”,為就業(yè)工作提供有力保障。認(rèn)真做到就業(yè)中心專職工作人員穩(wěn)定、專職工作經(jīng)費穩(wěn)定,積極爭取社會贊助,建立關(guān)于畢業(yè)生與用人單位的服務(wù)中心,有效保證就業(yè)工作的開展。健全制度體系,為就業(yè)工作夯實基礎(chǔ)。積極貫徹落實學(xué)校出臺的就業(yè)規(guī)章制度,根據(jù)實際需求出臺完善學(xué)院的就業(yè)規(guī)章制度,為就業(yè)工作夯實基礎(chǔ)。
摘要:分析國內(nèi)高校在軟件工程課程零置上的側(cè)重點以及軟件職業(yè)技術(shù)資格考試內(nèi)容,提出以SWEBOK V3中知識域的要求為課程內(nèi)容基礎(chǔ)框架,基于畢業(yè)生的產(chǎn)出能力導(dǎo)向進(jìn)行教學(xué)大綱、知識內(nèi)容和考核方式改革,通過監(jiān)控學(xué)生成績對課程教學(xué)效果進(jìn)行分析和長期持續(xù)改進(jìn)。
關(guān)鍵詞:產(chǎn)出導(dǎo)向;軟件工程;課程改革
1 背景
作為軟件工程專業(yè)的主要優(yōu)秀課程,軟件工程課程一直很受關(guān)注,圍繞著課程教學(xué)所進(jìn)行的教學(xué)改革也比較多。目前,正在各高校進(jìn)行的工程教育專業(yè)認(rèn)證是我國為推進(jìn)工程教育改革、提高工程教育質(zhì)量、建立工程教育與工程師制度銜接、提高工程教育對產(chǎn)業(yè)發(fā)展的適應(yīng)性和提高我國工程技術(shù)人才的國際競爭力所做的一項合格性評價,在給高校工程教育帶來發(fā)展契機的同時也提出了對教育理念、教學(xué)過程管理、教學(xué)內(nèi)容更新?lián)Q代等方面的挑戰(zhàn)和調(diào)整要求。
2 課程現(xiàn)狀
目前,國內(nèi)高校軟件工程課程使用的教材主要有張海藩《軟件工程導(dǎo)論》、鄭人杰《實用軟件工程》和國外翻譯版《軟件工程》。教學(xué)內(nèi)容主要有軟件工程概況、可行性研究、需求工程、傳統(tǒng)的軟件設(shè)計、面向?qū)ο笤O(shè)計、編碼、軟件質(zhì)量與保證,項目計劃與管理、軟件開發(fā)工具與環(huán)境等。軟件工程是一門強調(diào)實踐的綜合性工程課程,各高校在具體課程安排上各有側(cè)重。
例如,復(fù)旦大學(xué)(54學(xué)時)的課程重點首先是結(jié)構(gòu)化分析與設(shè)計、面向?qū)ο蟮姆治雠c設(shè)計,這兩部分內(nèi)容超過了1/4總學(xué)時;其次是軟件測試和軟件項目管理,分別約占總學(xué)時的1/6;課程特色在人機界面設(shè)計和Web工程上。清華大學(xué)(48學(xué)時)把面向?qū)ο蠓椒║ML和RUP作為重點,占總學(xué)時的近1/3;其次是結(jié)構(gòu)化分析與設(shè)計,占總學(xué)時的1/4;軟件過程及軟件工程管理是另一重點,通過學(xué)生合作小組或參與項目組進(jìn)行軟件開發(fā),在實踐中理解軟件過程的意義和作用,培養(yǎng)軟件項目管理的意識和能力。浙江大學(xué)(理論32學(xué)時、實踐32學(xué)時)重點講述軟件工程的常用方法,包括分析模型的建立、總體設(shè)計、軟件測試等,其特色是網(wǎng)絡(luò)應(yīng)用軟件的開發(fā)方法和實踐,通過從需求單位抽取出的大型模擬案例進(jìn)行項目開發(fā),鍛煉學(xué)生的系統(tǒng)設(shè)計、開發(fā)、談判、溝通、寫作、團(tuán)隊合作等能力,培養(yǎng)學(xué)生的工程職業(yè)素養(yǎng)。
通過對國內(nèi)幾所高校課程教學(xué)特點的分析,我們發(fā)現(xiàn)目前國內(nèi)高校軟件工程課程主要以理論知識教學(xué)為主,雖然有的院校做到了實踐與理論并重(1:1),但是大多數(shù)院校還是以理論知識教學(xué)為主。課堂教學(xué)以講述概念性基礎(chǔ)知識為主,課程的內(nèi)容主要有面向?qū)ο蟮姆治鲈O(shè)計、軟件測試和項目管理,對新知識、新技術(shù)和新工具介紹較少,目前軟件工程課程更像是一門導(dǎo)論課程。
3 面臨問題分析
3.1 工程專業(yè)畢業(yè)要求對課程的影響
工程專業(yè)畢業(yè)生應(yīng)具備足夠的溝通能力、合作能力、專業(yè)知識技能、終身學(xué)習(xí)能力及人格、國際視野和責(zé)任感等能力素質(zhì),這些素質(zhì)要求可以保證學(xué)生畢業(yè)進(jìn)入職場前具備基本的職業(yè)素養(yǎng)和從業(yè)能力。產(chǎn)出導(dǎo)向是工程教育認(rèn)證中重點關(guān)注的部分,課程體系設(shè)置、師資隊伍建設(shè)和外部條件配備均以有利于學(xué)生達(dá)到培養(yǎng)目標(biāo)和畢業(yè)要求為導(dǎo)向。畢業(yè)要求反作用于課程設(shè)置,要求課程的內(nèi)容建設(shè)、教學(xué)方法改進(jìn)、過程監(jiān)督以及成績考核都應(yīng)圍繞這一要求,細(xì)化產(chǎn)出導(dǎo)向的要求和能力指標(biāo),設(shè)置相應(yīng)知識點并調(diào)整各自的重要性比例,從知識點授課和實踐能力兩方面落實能力培養(yǎng),達(dá)到畢業(yè)產(chǎn)出的要求。
3.2 與軟件工程課程相關(guān)的專業(yè)技術(shù)資格考試分析
工程教育認(rèn)證是將來國家注冊工程師制度的基礎(chǔ)和重要環(huán)節(jié),目前我國已經(jīng)在土建、環(huán)境、核安全等領(lǐng)域開展試點工作,實現(xiàn)了對工程人才的社會評價及國際間人才資格互認(rèn)。在我國,與軟件工程課程相關(guān)的全國性考試還有計算機技術(shù)與軟件專業(yè)技術(shù)資格(水平)考試,由國家人力資源和社會保障部、工業(yè)和信息化部領(lǐng)導(dǎo),對全國計算機與軟件專業(yè)技術(shù)人員進(jìn)行職業(yè)資格、專業(yè)技術(shù)資格認(rèn)定和專業(yè)技術(shù)水平測試。筆者對與軟件工程課程相關(guān)的資格考試內(nèi)容進(jìn)行解析,以軟件設(shè)計師為例進(jìn)行重點分析,見表1。
從表1分析內(nèi)容可見,軟件工程基礎(chǔ)考試內(nèi)容。與課程教學(xué)大綱知識點一致,在信息安全知識和標(biāo)準(zhǔn)化知識上給出新增內(nèi)容,這與SWEBOK2013知識體系一致。考試科目“軟件設(shè)計”以上述知識為基礎(chǔ),考查工程師的實際工作能力。在最近幾次考試中有考題涉及數(shù)據(jù)流圖、UML圖的應(yīng)用分析,與課程授課側(cè)重點也相符,更側(cè)重于實例的應(yīng)用能力,需要實踐積累與運用。
3.3 SWEBOK V3和課程對應(yīng)關(guān)系分析
軟件工程專業(yè)的課程體系是基于軟件工程知識體系SWEBOK(software engineering body ofknowledge)、計算機教程軟件工程卷(computingcurriculum-software engineering,CCSE)及其中的軟件工程教育知識體(soft engineering educationknowledge,SEEK)而建立起來的。2014年,IEEE計算機協(xié)會了軟件工程知識體系指南第3版,該版將原來的10個知識域擴展到15個,與現(xiàn)有軟件工程課程大綱的比較結(jié)果見表2,其中有分布到其他課程中的知識點未加以說明。新增和修改的相關(guān)知識點需要在軟件工程課程教學(xué)和實踐環(huán)節(jié)落實。
4 基于產(chǎn)出導(dǎo)向的軟件工程課程改革與建設(shè)
4.1 課程教學(xué)目標(biāo)修訂
基于上述分析,我們進(jìn)行基于產(chǎn)出導(dǎo)向的軟件工程課程改革和建設(shè)。課程教學(xué)以使學(xué)生掌握軟件工程的理論基礎(chǔ)知識和基本工作原理,培養(yǎng)學(xué)生具有工程問題需求分析的能力以及綜合運用計算機科學(xué)和工程技術(shù)完成系統(tǒng)設(shè)計、實施和維護(hù)的能力為目標(biāo)。課程的主要任務(wù)是使學(xué)生掌握軟件開發(fā)過程的理論、方法、技術(shù)標(biāo)準(zhǔn)以及計算機輔助工程和環(huán)境等知識并通過實驗靈活應(yīng)用;掌握軟件工程的基本概念、軟件開發(fā)模型、開發(fā)過程的管理和質(zhì)量控制;掌握需求分析的任務(wù)與原則,傳統(tǒng)面向?qū)ο笮枨蠓治龇椒ā⒃O(shè)計過程與一般性概念以及文檔的編寫;掌握程序設(shè)計方法,增強編程實踐訓(xùn)練,掌握軟件測試技術(shù)與糾錯性軟件維護(hù)方法;掌握UML建模技術(shù),能在軟件工程過程中使用常用建模工具,能運用建模方法解決工程實際問題;了解專業(yè)開發(fā)活動涉及的標(biāo)準(zhǔn)、方針、政策和法律、法規(guī),能正確認(rèn)識實施軟件工程對客觀世界和人類社會的影響。
4.2 教學(xué)內(nèi)容和教學(xué)方法改進(jìn)
根據(jù)畢業(yè)產(chǎn)出要求及SWEBOK V3新修改版,我們對教學(xué)內(nèi)容作如下調(diào)整:①在64學(xué)時課時中,將理論與實踐課時設(shè)定為1:1;②在需求分析和設(shè)計部分新增人機界面和系統(tǒng)安全知識;③獨立介紹軟件復(fù)用部分知識,結(jié)合軟件設(shè)計模式討論軟件可復(fù)用性;④在軟件質(zhì)量保證和項目管理部分新增軟件產(chǎn)品標(biāo)準(zhǔn)和行業(yè)標(biāo)準(zhǔn)、國內(nèi)外法律和法規(guī);⑤在軟件維護(hù)部分新增軟件退役和遷移。
每一章都提供參考資料,教師引導(dǎo)學(xué)生有選擇地閱讀其中的部分內(nèi)容,根據(jù)課程內(nèi)容的進(jìn)展情況布置相應(yīng)的任務(wù)、思考題和作業(yè),引導(dǎo)學(xué)生通過Intemet或其他途徑查閱相關(guān)資料以拓寬知識面,了解軟件工程領(lǐng)域最新實踐研究成果。為了使學(xué)生建立起軟件開發(fā)和維護(hù)的工程化意識,較系統(tǒng)地掌握按照工程化思想開發(fā)與維護(hù)軟件的方法和技術(shù),教師需在教學(xué)中培養(yǎng)學(xué)生從軟件企業(yè)開發(fā)和維護(hù)實際大中型軟件的角度出發(fā),結(jié)合成本、風(fēng)險、效益、進(jìn)度、過程、質(zhì)量等多種因素系統(tǒng)地分析軟件開發(fā)和維護(hù)過程中的問題,突破以往要求完成某一給定知識點作業(yè)的單一思考問題局限。此外,構(gòu)造實驗環(huán)境用于課內(nèi)工程項目實踐,通過模擬項目的開發(fā),鍛煉學(xué)生的系統(tǒng)設(shè)計和開發(fā)能力、軟件工具的使用能力、語言交流能力、文檔編寫能力以及團(tuán)隊合作能力,培養(yǎng)學(xué)生的職業(yè)素養(yǎng)。項目實踐引導(dǎo)需貫穿理論知識學(xué)習(xí)始終。
4.3 考核方式與持續(xù)改進(jìn)并行
課程強調(diào)過程考核,總成績分為平時和期末兩部分,分別占50%。平時成績主要考核學(xué)生的課堂表現(xiàn)、作業(yè)、實驗?zāi)芰蛯嶒瀳蟾孀珜懬闆r等。其中,課堂表現(xiàn)主要從學(xué)生上課是否專心聽講、回答教師提問是否正確以及分組討論是否積極、正確、有獨特見解等進(jìn)行考核,以提高課堂教學(xué)效果和運用工程基礎(chǔ)知識及本專業(yè)基本理論解決實際工程問題的能力;作業(yè)方面重點考核學(xué)生掌握軟件工程理論基礎(chǔ)知識和基本工作原理的程度;課內(nèi)實踐教學(xué)環(huán)節(jié)重點考核學(xué)生的工程問題需求分析和設(shè)計能力,綜合運用計算機科學(xué)和工程技術(shù)完成系統(tǒng)的分析和設(shè)計并對設(shè)計文檔進(jìn)行審查的能力;期末考試將按照課程教學(xué)目標(biāo)全面考核學(xué)生課程學(xué)習(xí)的效果,選取一定數(shù)目的學(xué)生成績?yōu)闃颖荆嬎阍撜n程對畢業(yè)要求貢獻(xiàn)的達(dá)成度并通過建立閥值定量評估課程教學(xué)質(zhì)量,通過不斷提出持續(xù)的改進(jìn)意見并實施,切實加大課程對提高畢業(yè)產(chǎn)出能力的貢獻(xiàn)。
5 結(jié)語
筆者基于畢業(yè)生產(chǎn)出能力對課程教學(xué)目標(biāo)進(jìn)行了修訂,完善了軟件工程課程的教學(xué)內(nèi)容和知識結(jié)構(gòu),對教學(xué)方法進(jìn)行了梳理,最后通過改變考核方式對課程進(jìn)行長期監(jiān)控和調(diào)整,實現(xiàn)課程的持續(xù)改進(jìn)。下一步工作將重點關(guān)注課程中學(xué)生自主能力導(dǎo)引體系和畢業(yè)生能力評價反饋機制的構(gòu)建。(編輯:宋文婷)
摘 要: 為應(yīng)對畢業(yè)生就業(yè)難與軟件企業(yè)人才招聘難的兩難局面,對我院按照“卓越工程師培養(yǎng)計劃”培養(yǎng)的第一批本科應(yīng)屆生展開了基于電子問卷的跟蹤調(diào)查。通過分析學(xué)生就業(yè)情況及其所在單位需求情況,以及畢業(yè)生的就業(yè)反饋,討論研究了現(xiàn)有培養(yǎng)方案、教學(xué)體系和課程改革存在的問題與不足,以期為后續(xù)進(jìn)一步深入實施“卓越工程師培養(yǎng)計劃”提供幫助。
關(guān)鍵詞: 畢業(yè)生跟蹤調(diào)查; 卓越工程師培養(yǎng)計劃; 軟件工程
0 引言
從20世紀(jì)90年代開始,我國的高等教育飛速發(fā)展,本科畢業(yè)生數(shù)量也迅速增加,軟件類人才培養(yǎng)也逐漸從精英教育走向了大眾化階段。與此同時,畢業(yè)生就業(yè)難與軟件企業(yè)人才短缺的矛盾逐漸突顯。一方面,畢業(yè)生的就業(yè)形勢相當(dāng)嚴(yán)峻,2013年更被稱為“最難就業(yè)年”,就業(yè)人數(shù)將近700萬,其中軟件類(含計算機類)畢業(yè)生約占了23%[1];另一方面,用人單位難以招到適應(yīng)不斷變化市場需求的高水平人才,畢業(yè)生質(zhì)量與企業(yè)、社會期望值之間出現(xiàn)了較大差距。
解決上述矛盾的重要途徑之一是跟蹤調(diào)查學(xué)生走向社會的工作表現(xiàn)和持續(xù)發(fā)展?fàn)顩r,調(diào)整、改革高校教學(xué)體系及模式。近年來,國內(nèi)高等院校逐漸重視開展畢業(yè)生的跟蹤調(diào)查與反饋工作。通過了解畢業(yè)生的就業(yè)情況、工作表現(xiàn)、對學(xué)校學(xué)習(xí)經(jīng)歷評價及招聘企業(yè)人才需求情況等信息,反思、完善和改革人才培養(yǎng)體系、培養(yǎng)方案、教學(xué)模式以及就業(yè)指導(dǎo)工作模式[2]。本文以杭州電子科技大學(xué)軟件工程學(xué)院為例,通過對2013屆按照卓越工程師培養(yǎng)計劃培養(yǎng)的50余名畢業(yè)生進(jìn)行跟蹤調(diào)查所獲得的數(shù)據(jù)信息,結(jié)合本校實際,反思卓越工程師人才培養(yǎng)的可改進(jìn)之處,為制定科學(xué)、高效的卓越工程師培養(yǎng)策略奠定基礎(chǔ),從而更好地為培養(yǎng)符合市場需要的高層次軟件人才提供服務(wù)。
1 畢業(yè)生跟蹤調(diào)查對卓越工程師培養(yǎng)的重要性
“卓越工程師教育培養(yǎng)計劃”(簡稱“卓越計劃”)2010年由教育部聯(lián)合相關(guān)部門和行業(yè)協(xié)會提出,要求各高校與行業(yè)企業(yè)聯(lián)合培養(yǎng)工程技術(shù)人才,強化培養(yǎng)學(xué)生的工程實踐能力、工程設(shè)計能力和工程創(chuàng)新能力。該計劃旨在培養(yǎng)造就一大批創(chuàng)新能力強、適應(yīng)經(jīng)濟社會發(fā)展需要的高質(zhì)量各類型工程技術(shù)人才,為國家走新型工業(yè)化發(fā)展道路、建設(shè)創(chuàng)新型國家和人才強國戰(zhàn)略服務(wù),對促進(jìn)高等教育面向社會需求培養(yǎng)人才、全面提高工程教育人才培養(yǎng)質(zhì)量具有十分重要的示范和引導(dǎo)作用。中國成功加入華盛頓協(xié)議組織也有力地證明了這一點。
高校作為落實“卓越計劃”的主體,需認(rèn)真領(lǐng)會和深刻理解卓越計劃的指導(dǎo)思想、主要目標(biāo)、總體思路和基本原則,更重要的是需結(jié)合自身實際條件和優(yōu)勢,制定“卓越工程師后備人才”培養(yǎng)的具體要求和措施,細(xì)化培養(yǎng)目標(biāo)和培養(yǎng)標(biāo)準(zhǔn),積極開展課程體系、教學(xué)方法、教學(xué)內(nèi)容改革[3]。目前參與實施“卓越工程師計劃”的各大高校基本上都提出了符合本校辦學(xué)定位的專業(yè)培養(yǎng)方案的總體思路,在實現(xiàn)培養(yǎng)目標(biāo)和培養(yǎng)標(biāo)準(zhǔn)的過程中融合專業(yè)培養(yǎng)方案的制定,完善、強化學(xué)生工程實踐能力的培養(yǎng),在滿足“累計1年時間在企業(yè)學(xué)習(xí)”的硬性要求同時制定靈活的培養(yǎng)模式[4]。譬如,清華大學(xué)展開了以能力培養(yǎng)為導(dǎo)向的課程體系和教學(xué)內(nèi)容改革;我校“信息安全”專業(yè)對原有的專業(yè)基礎(chǔ)課程和專業(yè)優(yōu)秀課進(jìn)行了重點整合,將原有課程整合縮減至5門,另增開課程4門,總學(xué)時數(shù)由384學(xué)時調(diào)整至192學(xué)時;上海工程技術(shù)大學(xué)的本科采取了“學(xué)校培養(yǎng)+校企交叉+校企雙指導(dǎo)”的三階段培養(yǎng)方案。
衡量上述各種具體培養(yǎng)要求、措施、目標(biāo)、標(biāo)準(zhǔn)以及改革內(nèi)容是否成功,有效的優(yōu)秀標(biāo)志之一就是學(xué)生就業(yè)情況及其后期發(fā)展情況。畢業(yè)生的就業(yè)率、月收入和工作滿意度等信息可以從一定程度上揭示大學(xué)生的綜合能力水平和未來發(fā)展?jié)摿Α哪撤N意義來說,學(xué)生是高校推向市場的“拳頭產(chǎn)品”,用人單位是這些產(chǎn)品的“用戶”。“產(chǎn)品”質(zhì)量是否有保障,“用戶”才有最深刻的體會,才最有發(fā)言權(quán)。只有不斷聽取用戶意見,不斷改進(jìn),才能確保“產(chǎn)品”在市場上的競爭力。因此,做好學(xué)生就業(yè)及其后期發(fā)展情況的跟蹤調(diào)查,才能推動高校不斷完善卓越計劃的落實,糾正試行階段暴露出來的各種問題。
2 軟件工程專業(yè)卓越工程師培養(yǎng)計劃――以杭州電子科技大學(xué)為例
杭州電子科技大學(xué)從1980年開始培養(yǎng)軟件工程本科人才,2003年正式設(shè)立軟件工程本科專業(yè)。目前,該專業(yè)為國家特色專業(yè)、浙江省重點專業(yè)、浙江省高校人才培養(yǎng)模式創(chuàng)新實驗區(qū)。為了進(jìn)一步促進(jìn)軟件工程專業(yè)發(fā)展,全面提升學(xué)生工程素質(zhì),即工程實踐能力、工程設(shè)計能力和工程創(chuàng)新能力,2011年杭州電子科技大學(xué)率先在軟件工程學(xué)院開始試點軟件工程專業(yè)的“卓越工程師人才培養(yǎng)計劃”。要求學(xué)生在校內(nèi)經(jīng)過軟件工程通用工程基礎(chǔ)技術(shù)知識和優(yōu)秀技術(shù)知識的學(xué)習(xí)并具備相關(guān)能力后,進(jìn)入企業(yè)進(jìn)行高級工程技術(shù)知識及技能學(xué)習(xí)和培訓(xùn),并參加企業(yè)實際軟件項目的開發(fā),培養(yǎng)方案示意圖如圖1所示。具體內(nèi)容介紹如下。
⑴ 改革人才培養(yǎng)模式
對進(jìn)入“卓越工程師培養(yǎng)計劃”學(xué)習(xí)的學(xué)生,將遵照貫穿8個級別4種工程應(yīng)用能力培養(yǎng)要求的工程型人才培養(yǎng)方案(如圖1所示)。學(xué)生在校內(nèi)2年完成前2種工程應(yīng)用能力的培養(yǎng)后,按“卓越工程師培養(yǎng)計劃”學(xué)習(xí)1年完成第3種工程應(yīng)用能力的培養(yǎng),最后進(jìn)入企業(yè)完成第4種能力的培養(yǎng)。可以看出,卓越工程師培養(yǎng)計劃主要承擔(dān)“高級工程能力”和“工程實施能力”的培養(yǎng),主要通過企業(yè)宣講課程和就業(yè)規(guī)劃課程來幫助學(xué)生確定今后學(xué)習(xí)和發(fā)展的方向,進(jìn)而安排學(xué)生參與企業(yè)實際軟件項目完成專業(yè)實踐和畢業(yè)設(shè)計。
⑵ 加強專業(yè)師資建設(shè)
軟件人才是工程實用型,需要教師既有一定的學(xué)術(shù)造詣,又具有大量的項目實踐經(jīng)驗或企業(yè)工作經(jīng)驗。因此,我校進(jìn)一步加強“雙師型”專業(yè)教師隊伍建設(shè),在選派青年教師到國內(nèi)外IT企業(yè)頂崗實踐和輪訓(xùn)的同時,積極引進(jìn)具有豐富實踐經(jīng)驗的專業(yè)技術(shù)人員到校擔(dān)任兼職教師或傳授真實案例和實際工程經(jīng)驗,已逐步建立并完善企業(yè)教師的師資庫并鼓勵相關(guān)企業(yè)承擔(dān)學(xué)校專業(yè)課程及實訓(xùn)工作。
⑶ 深化改革課程體系
我校軟件專業(yè)課程改革的總體思路是:扎實專業(yè)基礎(chǔ),突出工程實踐能力,復(fù)合知識領(lǐng)域結(jié)構(gòu);強化專業(yè)優(yōu)秀基礎(chǔ)課程和高級工程能力的培養(yǎng),突出企業(yè)實戰(zhàn)能力。在當(dāng)前軟件工程專業(yè)培養(yǎng)方案的基礎(chǔ)之上,著重體現(xiàn)工程教學(xué)中的CDIO模式,聘請行業(yè)專家及資深工程師講座;引入“MOOC”等先進(jìn)教學(xué)方式,鼓勵開展研究式教學(xué)、討論式教學(xué)、以問題為導(dǎo)向的PBL教學(xué)、CDIO式教學(xué)及團(tuán)隊模式教學(xué)等多種教學(xué)方式[5]。
⑷ 采用“校企深度合作、工學(xué)結(jié)合”運行模式
積極探索校企深度合作的空間,著重于人才培養(yǎng)、科研開發(fā)等多方位的共贏合作模式。以培養(yǎng)軟件人才為目標(biāo),學(xué)校優(yōu)先選擇占據(jù)行業(yè)領(lǐng)導(dǎo)地位的公司作為合作方(如華為、塔塔等),吸收資深工程師參與指導(dǎo)制定專業(yè)發(fā)展規(guī)劃、專業(yè)培養(yǎng)目標(biāo)與專業(yè)人才培養(yǎng)方案,甚至直接作為教學(xué)師資參與專業(yè)技能教學(xué);同時將企業(yè)待解決實際項目轉(zhuǎn)化為“實驗班”的課程設(shè)計題目或綜合設(shè)計題目。企業(yè)接收完成專業(yè)課程學(xué)習(xí)以及基本技能培訓(xùn)的學(xué)生直接頂崗實習(xí)。
3 “卓越計劃”畢業(yè)生的跟蹤分析
3.1 調(diào)查對象和方法
為全面、準(zhǔn)確、及時地分析了解“卓越工程師培養(yǎng)計劃”在高校的落實結(jié)果,了解用人單位對軟件工程專業(yè)改革的滿意度以及深化教學(xué)改革的意見與建議,為其他同類學(xué)校準(zhǔn)確定位、深化改革與創(chuàng)新軟件類人才培養(yǎng)提供參考,我們對杭州電子科技大學(xué)軟件工程學(xué)院實施“卓越工程師培養(yǎng)計劃”的結(jié)果進(jìn)行跟蹤調(diào)查。調(diào)查對象是該學(xué)院第一批按照上述計劃培養(yǎng)的畢業(yè)生,共發(fā)出52份問卷,回收有效問卷50份,回收率為96%。本次調(diào)查主要以問卷為主,輔之以面談、Email咨詢等方式。
3.2 調(diào)查數(shù)據(jù)分析
我們從學(xué)生就業(yè)單位信息、就業(yè)單位需求、畢業(yè)生個人反饋三方面來進(jìn)行梳理分析現(xiàn)有教學(xué)方案、培養(yǎng)方案等卓越計劃改革內(nèi)容的不足。
⑴ 學(xué)生就業(yè)單位
此次調(diào)查的50名畢業(yè)生,44人就職于主營軟件開發(fā)銷售、系統(tǒng)集成的軟件類公司,4人就職于在線網(wǎng)絡(luò)社交平臺或電子商務(wù)平臺的技術(shù)部門,2人服務(wù)于保險業(yè)。也就是說,96%的畢業(yè)生在畢業(yè)后會繼續(xù)從事軟件開發(fā)維護(hù)相關(guān)的工作。這從一定程度上證明了按照卓越工程師計劃擬定的現(xiàn)有培養(yǎng)方案和課程安排在培養(yǎng)學(xué)生興趣、增強學(xué)生專業(yè)技能方面發(fā)揮了較好的作用。此外,在畢業(yè)生就職的30家軟件類公司中,14家單位的員工少于50人,13家單位的員工數(shù)在50~300之間,3家單位的人數(shù)超過了300人。可以看出,畢業(yè)生所就職的大部分是中小型軟件公司。這也符合軟件行業(yè)特點。除了微軟、IBM、華為等極少數(shù)的龍頭企業(yè),大部分軟件公司的規(guī)模并不龐大。我們的調(diào)查結(jié)果反饋的另外一個重要信息是,大部分軟件公司對招聘對象的學(xué)歷和工作經(jīng)驗的要求并不高,求職者具備大學(xué)本科學(xué)歷即可,并不硬性需要相關(guān)的職業(yè)證書。因此,在未來的教學(xué)過程中,應(yīng)確保學(xué)生順利完成大學(xué)基礎(chǔ)課程,而并不需要強調(diào)或引導(dǎo)學(xué)生參加太多的職業(yè)證書考試。
⑵ 就業(yè)單位需求
從50份有效問卷返回的結(jié)果來看,目前用人單位技術(shù)最注重也相對急需的技術(shù)(能)排在前三位的分別是:JAVA語言、辦公軟件應(yīng)用和ORACLE數(shù)據(jù)庫應(yīng)用,如圖2所示。除此之外,動態(tài)網(wǎng)站開發(fā)以及企業(yè)級網(wǎng)絡(luò)軟件應(yīng)用與維護(hù)也是各單位相對比較看重的畢業(yè)生技能,問卷勾選的份數(shù)分別達(dá)到了16和14。不難看出,若軟件工程專業(yè)本科生在校期間盡可能地熟練掌握日常的辦公軟件應(yīng)用并掌握用Java等開發(fā)語言構(gòu)建、推廣、維護(hù)動態(tài)Web網(wǎng)站的基本技術(shù),他們在就業(yè)時將更占優(yōu)勢。
我們在教學(xué)過程中經(jīng)常碰到以下的問題:本科生在大三或大四階段仍不能熟練使用Excel繪制基本圖形或完成基本統(tǒng)計功能,也不會使用Outlook、Foxmail等郵件客戶端工具收發(fā)Email;他們課程提交的項目作品雖然能夠?qū)崿F(xiàn)系統(tǒng)的基本功能,但往往不夠規(guī)范、難以維護(hù)和二次開發(fā)。學(xué)生暴露出來的這些問題遠(yuǎn)離用人單位的需求,也直接影響了學(xué)生自身的就業(yè)和后續(xù)發(fā)展。因此,在后期完善“卓越工程師”的培養(yǎng)方案和課程改革時,針對這些問題進(jìn)一步強化培養(yǎng)學(xué)生相關(guān)技術(shù)(能)就變得極為重要。
⑶ 現(xiàn)有培養(yǎng)計劃及改革反饋
如上所述,“卓越人才計劃”強調(diào)對學(xué)生實踐能力的培養(yǎng),強化學(xué)生工程實踐能力,注重提升工程教育人才的培養(yǎng)質(zhì)量。本學(xué)院在日常教學(xué)過程中著重學(xué)生動手實踐能力的培養(yǎng),也通過與華為、塔塔、網(wǎng)新等眾多企業(yè)合作,安排學(xué)生在企業(yè)實習(xí),強化學(xué)生實際實踐能力。如圖3所示,根據(jù)求職期間及就業(yè)之后的“第一手”經(jīng)驗,36%的畢業(yè)生認(rèn)為學(xué)校還需加強基礎(chǔ)理論的學(xué)習(xí),30%的畢業(yè)生認(rèn)為需加強實踐動手能力的培養(yǎng),25%的畢業(yè)生認(rèn)為需加強專業(yè)知識的學(xué)習(xí),只有個別同學(xué)認(rèn)為需增強人文知識學(xué)習(xí)和科研能力培養(yǎng)。大部分畢業(yè)生在“信息反饋”一欄中明確提出“實際動手能力的培養(yǎng)是學(xué)校應(yīng)該改進(jìn)的重中之重”。這與國家“卓越人才計劃”的培養(yǎng)思路是基本吻合的,也表明,我們還需在未來的教學(xué)培養(yǎng)中深化培養(yǎng)方案和課程改革,更突出 “卓越人才計劃”的實踐能力培養(yǎng)要求。如某位畢業(yè)生認(rèn)為雖然目前學(xué)校社團(tuán)較多,但和專業(yè)及就業(yè)掛鉤的社團(tuán)很少,建議多組建一些專業(yè)性社團(tuán),營造一個良好的學(xué)習(xí)氛圍,并積極鼓勵學(xué)生參加各類比賽,或開展專業(yè)知識類的勤工助學(xué)項目,讓學(xué)生在項目實踐中提升各方面的素質(zhì)。
此外,根據(jù)50位畢業(yè)生的自身體會,軟件類公司更為看重的學(xué)生素質(zhì)是其持續(xù)學(xué)習(xí)的能力,其次是獨立解決問題的能力,而日常較為注重的學(xué)習(xí)成績恰恰反而是排在最后一位,如圖4所示。這也是軟件工程專業(yè)本身所決定的。一方面,軟件、計算機技術(shù)飛速發(fā)展,日益更新,在校期間的課程內(nèi)容不能完全跟上技術(shù)的潮流,需要學(xué)生自己學(xué)會跟蹤學(xué)習(xí)新技術(shù)的能力;另一方面,實際軟件問題千奇百怪,層出不窮,沒有一勞永逸的解決方案,更需要學(xué)生具備一定解決問題的能力。
3.3 啟示
此次的跟蹤結(jié)果表明,我院現(xiàn)有的“卓越人才培養(yǎng)計劃”及其具體方案措施在加強學(xué)生專業(yè)興趣、增強學(xué)生專業(yè)能力起到了較好的作用,能為用人單位提供了具備基本職業(yè)素養(yǎng)和能力的軟件人才。在未來工作中還需進(jìn)一步強調(diào)和注意的有以下幾點。
⑴ 必需確保學(xué)生順利完成大學(xué)階段所有課程并獲得學(xué)歷、學(xué)位證書,這是學(xué)生入職的必要條件。
⑵ 必須加強培養(yǎng)學(xué)生辦公軟件的使用技能,才能更好地提高學(xué)生專業(yè)素質(zhì),滿足企業(yè)規(guī)范化人才需要。
⑶ 爭取為學(xué)生創(chuàng)造更多參與實際項目的機會,加強培養(yǎng)學(xué)生專業(yè)實踐能力。這也是“卓越工程師培養(yǎng)計劃”的重心所在。
⑷ 進(jìn)一步加強學(xué)生跟蹤學(xué)習(xí)的能力和獨立解決問題的能力,使他們適應(yīng)軟件快速更新升級,以及實際開發(fā)應(yīng)用過程中問題不斷的特點。
4 結(jié)束語
畢業(yè)生跟蹤調(diào)查對做好軟件工程人才培養(yǎng),尤其是“卓越工程師培養(yǎng)計劃”在軟件工程專業(yè)的落實具有重大意義。本文采用實證研究的方法,從學(xué)生就職單位性質(zhì)、單位需求與學(xué)生反饋三方面對現(xiàn)有“卓越計劃”及其具體方案進(jìn)行討論分析,根據(jù)畢業(yè)生的切身體會挖掘現(xiàn)有軟件工程專業(yè)“卓越工程師培養(yǎng)計劃”存在的問題和不足,以期為更好地落實“卓越工程師培養(yǎng)計劃”、培養(yǎng)卓越軟件工程師提供科學(xué)有效的對策。
【摘要】主要分析了畢業(yè)設(shè)計(論文)的現(xiàn)狀,介紹了軟件生命周期的各個階段與畢業(yè)設(shè)計(論文)各階段的對應(yīng)關(guān)系、軟件生命周期各階段應(yīng)完成的任務(wù)以及在畢業(yè)設(shè)計(論文)中應(yīng)注意的問題。
【關(guān)鍵詞】軟件工程 畢業(yè)設(shè)計(論文) 實踐教學(xué)
一、引言
畢業(yè)設(shè)計(論文)(以下簡稱畢業(yè)設(shè)計)是計算機及相關(guān)專業(yè)教學(xué)計劃中的一個重要環(huán)節(jié),是培養(yǎng)學(xué)生對所學(xué)基本理論及基本操作技能綜合運用的訓(xùn)練過程,是提高學(xué)生分析和解決問題能力的重要實踐環(huán)節(jié),是實現(xiàn)理論與實踐相結(jié)合的重要途徑,是對教育教學(xué)質(zhì)量的全面檢查。目前,計算機及相關(guān)專業(yè)的畢業(yè)設(shè)計質(zhì)量正在逐年下降:學(xué)生急于找工作或考研,畢業(yè)設(shè)計得不到應(yīng)有的重視;需求分析不到位,設(shè)計成果不符合實際需求;軟件開發(fā)流程混亂;缺乏文檔寫作訓(xùn)練,等等。
針對上述問題,筆者認(rèn)為,除了應(yīng)當(dāng)從管理角度嚴(yán)格進(jìn)行過程監(jiān)控外,還應(yīng)當(dāng)使學(xué)生通過《軟件工程》課程的學(xué)習(xí),提高畢業(yè)設(shè)計的質(zhì)量。
二、軟件生命周期與畢業(yè)設(shè)計過程的對應(yīng)關(guān)系
軟件產(chǎn)品從形成概念開始,經(jīng)過開發(fā)、使用和維護(hù),直到最后退役的全過程稱為軟件的生命周期。軟件生命周期可以劃分成若干個時期與階段,它與畢業(yè)設(shè)計各個環(huán)節(jié)的對應(yīng)關(guān)系如圖1所示。
三、軟件生存周期各階段應(yīng)完成的任務(wù)
1.可行性研究與計劃階段、需求分析階段
可行性研究與計劃階段主要完成問題的定義、可行性論證以及初步計劃的制定;需求分析階段主要完成需求調(diào)查,進(jìn)行功能、性能與環(huán)境約束分析;編制軟件需求規(guī)格說明、制定軟件系統(tǒng)的確認(rèn)測試準(zhǔn)則和用戶手冊概要。這兩個階段對應(yīng)于畢業(yè)設(shè)計的課題論證、選題、調(diào)研、查資料,通過對設(shè)計題目的深刻理解,完成開題報告的撰寫工作。
2.概要設(shè)計階段和詳細(xì)設(shè)計階段
概要設(shè)計階段主要完成軟件系統(tǒng)總體結(jié)構(gòu)的建立、定義功能模塊的接口、設(shè)計全局?jǐn)?shù)據(jù)庫和數(shù)據(jù)結(jié)構(gòu)、規(guī)定設(shè)計約束、編制概要設(shè)計文檔等工作;詳細(xì)設(shè)計階段主要完成模塊詳細(xì)設(shè)計及編制模塊的詳細(xì)規(guī)格說明工作。包括模塊的詳細(xì)功能、算法、數(shù)據(jù)結(jié)構(gòu)和模塊間的接口信息等設(shè)計,擬定模塊測試方案;把模塊詳細(xì)設(shè)計的結(jié)果匯總,形成模塊詳細(xì)規(guī)格說明書。這兩個階段對應(yīng)于畢業(yè)設(shè)計的系統(tǒng)設(shè)計階段。
3.實現(xiàn)階段與組裝測試階段
實現(xiàn)階段主要完成編碼及單元測試工作。根據(jù)模塊詳細(xì)規(guī)格說明書,將詳細(xì)設(shè)計轉(zhuǎn)化為程序代碼、對模塊程序進(jìn)行測試,驗證模塊功能及接口與詳細(xì)設(shè)計文檔的一致性,并形成單元測試報告;組裝測試階段主要完成模塊程序組裝與測試及組裝測試報告的編寫。
4.確認(rèn)測試階段
該階段主要完成軟件系統(tǒng)測試、確認(rèn)測試文檔編制及軟件評審工作。根據(jù)軟件需求規(guī)格說明定義的全部功能和性能要求及軟件確認(rèn)測試準(zhǔn)則對軟件系統(tǒng)進(jìn)行總測試;向用戶提供以確認(rèn)測試報告為主的有關(guān)文檔,包括系統(tǒng)操作手冊、源程序清單和項目開發(fā)總結(jié)報告等;由專家、用戶、軟件開發(fā)人員組成的軟件評審小組對軟件確認(rèn)報告、測試結(jié)果和軟件進(jìn)行評審,并將得到確認(rèn)的軟件產(chǎn)品交付用戶使用。這個階段主要對應(yīng)于畢業(yè)設(shè)計(論文)中的論文評審、結(jié)題驗收及畢業(yè)設(shè)計的答辨準(zhǔn)備階段。
5.軟件運行與維護(hù)階段
主要進(jìn)入軟件的使用階段,并完成軟件的維護(hù)工作。它主要對應(yīng)于畢業(yè)設(shè)計中的答辯階段。
四、畢業(yè)設(shè)計應(yīng)注意的幾個問題
1.摘要
摘要是對文章主要內(nèi)容的摘錄,要求精、短、完整。以幾十字至三百字左右為宜。摘要應(yīng)具有獨立性和自明性,從摘要中即應(yīng)獲得必要的信息;摘要中只能使用第三人稱;要客觀如實地反應(yīng)原文的內(nèi)容,要著重反映論文的最新內(nèi)容和作者特別強調(diào)的觀點;要求結(jié)構(gòu)嚴(yán)謹(jǐn)、語義確切、表述簡明,一般不分段落、不進(jìn)行自我評價。
2.關(guān)鍵詞
關(guān)鍵詞主要用于論文檢索,它是從論文的題名、摘要和正文中選出的,是對表述論文的中心內(nèi)容有實質(zhì)意義的詞匯,關(guān)鍵詞一般以3~5個為宜。
3.結(jié)論
結(jié)論寫作的內(nèi)容應(yīng)主要考慮本文研究結(jié)果是什么?研究結(jié)果說明了什么?對前人有關(guān)的看法作了哪些修正、補充、發(fā)展、證實或否定?本文研究的不足之處或遺留未予解決的問題以及對解決這些問題的可能的關(guān)鍵點和方向等。結(jié)論應(yīng)該準(zhǔn)確、完整、明確、精練。
4.需求分析
在畢業(yè)設(shè)計中,學(xué)生往往不能對所做題目進(jìn)行充分的調(diào)研,需求不明確,隨意想象的成分較多。特別是在數(shù)據(jù)表的建立上,大部分同學(xué)隨意設(shè)置字段的類型,而字段長度基本上采用默認(rèn)置。而在實際項目開發(fā)中,數(shù)據(jù)項的設(shè)置應(yīng)主要注意以用戶的需求和滿足系統(tǒng)要求為準(zhǔn),而不應(yīng)設(shè)計冗余的字段;數(shù)據(jù)的類型要依據(jù)實際需求,當(dāng)某些字段可以是選擇某幾種類型之一,應(yīng)考慮哪一種更有利于本系統(tǒng)或哪種更易于用戶操作和維護(hù)。
5.詳細(xì)設(shè)計
許多同學(xué)把詳細(xì)設(shè)計階段的任務(wù)理解為代碼實現(xiàn),因此,在概要設(shè)計之后就著手進(jìn)行代碼的編寫而忽略了算法的表達(dá)及測試用例的編寫環(huán)節(jié),由此造成的結(jié)果是隨意編程,大量的時間浪費在程序的修改和調(diào)試上。
6.軟件測試
測試做得不夠全面,大部分同學(xué)只選擇了有效的測試用例,而沒有進(jìn)行無效的測試用例的設(shè)計,因此所做的軟件BUG較多。
7.團(tuán)隊合作
在畢業(yè)設(shè)計中,應(yīng)有意識地鍛煉學(xué)生們的團(tuán)隊協(xié)作精神,因此,在布置畢業(yè)設(shè)計題目時,應(yīng)盡量選擇規(guī)模大一點的題目,然后由4~5名同學(xué)共同協(xié)作,每人完成一個子題目。這樣,可以使學(xué)生們分析問題和解決問題的能力、溝通和表達(dá)能力得到充分鍛煉,為今后的工作奠定基礎(chǔ)。