- 相關(guān)推薦
軟件工程思想在應(yīng)用型高校畢業(yè)設(shè)計中應(yīng)用研究
軟件工程思想在應(yīng)用型高校畢業(yè)設(shè)計中應(yīng)用研究
摘要:針對地方應(yīng)用型本科高校計算機軟件類畢業(yè)設(shè)計質(zhì)量不高的問題,對畢業(yè)設(shè)計中存在的問題進行分析,并結(jié)合軟件工程的基礎(chǔ)理論,提出利用軟件工程思想對計算機軟件類畢業(yè)設(shè)計進行指導(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è)計的水平不高,達不到培養(yǎng)學(xué)生獨立解決問題和提高學(xué)生應(yīng)用能力的目的。因此,如何指導(dǎo)學(xué)生做好畢業(yè)設(shè)計,提高學(xué)生畢業(yè)設(shè)計水平和質(zhì)量,是地方應(yīng)用型普通高校面臨的一個重要問題。
。ㄒ唬┊厴I(yè)設(shè)計選題現(xiàn)狀最近幾年,我校計算機相關(guān)專業(yè)畢業(yè)生自進入大四秋季學(xué)期開始,在進行畢業(yè)實習(xí)的同時,也進入了畢業(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è)計選題進行仔細(xì)了解、分析,他們認(rèn)為在畢業(yè)設(shè)計中最重要的就是編程,其他方面一帶而過[2],從而造成畢業(yè)設(shè)計過程中主題經(jīng)常進行修改,最終使得整個系統(tǒng)雜亂無章,無法繼續(xù)進行下去。因此學(xué)生在畢業(yè)設(shè)計的需求分析階段主要有以下三個方面的問題。
1.選題后未進行實際調(diào)查研究,甚至未查找相應(yīng)的參考文獻。
2.需求分析進行得不徹底、不準(zhǔn)確,即使選題后查找了參考文獻和資料的,也未做充分了解和分析。
3.在需求分析階段沒有寫出需求規(guī)格說明書或系統(tǒng)分析報告就匆忙進入系統(tǒng)設(shè)計階段,導(dǎo)致隨著系統(tǒng)設(shè)計的逐步深入,原來確定的需求不能滿足畢業(yè)設(shè)計的需要,正在進行的設(shè)計與開始的期望和設(shè)想又不相符。
。ㄈ┊厴I(yè)設(shè)計系統(tǒng)設(shè)計階段現(xiàn)狀
在系統(tǒng)設(shè)計階段,普遍存在以下兩個方面問題。
1.由于需求的不明確,在進行系統(tǒng)設(shè)計時,修改隨意,沒有嚴(yán)格按照軟件開發(fā)的步驟進行。好多學(xué)生在進行系統(tǒng)設(shè)計時并沒有建出相應(yīng)的功能模型,不管是用例圖還是DFD圖都沒有,而且系統(tǒng)設(shè)計過程中功能隨意變換,并且各功能模塊的層次結(jié)構(gòu)不清晰,使得整個系統(tǒng)的功能模塊劃分凌亂,不符合軟件設(shè)計中“高內(nèi)聚,低耦合”的原則。
2.在軟件設(shè)計過程中,不先進行概要設(shè)計、詳細(xì)設(shè)計和模塊設(shè)計,沒有軟件的過程性描述,直接進行編碼,存在想到哪里就做到哪里,走到哪兒算哪兒的隨意思想[3],當(dāng)前內(nèi)容沒有做完便開始其他內(nèi)容,使得整個系統(tǒng)設(shè)計雜亂無章。在這樣的一種研究狀態(tài)下,即使完成了設(shè)計,效率也非常低下,軟件結(jié)構(gòu)混亂,功能實現(xiàn)不完全,降低了軟件設(shè)計的質(zhì)量。
。ㄋ模┊厴I(yè)設(shè)計實現(xiàn)階段現(xiàn)狀
通常把編碼和測試統(tǒng)稱為實現(xiàn)。在進行軟件設(shè)計后,就可以根據(jù)設(shè)計結(jié)果來實現(xiàn),將軟件的過程性描述編碼,得到計算機可以運行的源代碼。在實現(xiàn)階段主要有以下幾方面的問題。
1.編碼隨意。學(xué)生在編碼的過程中,不注意編程風(fēng)格的把握,導(dǎo)致程序的可讀性、可理解性、可修改性等較差,在答辨的過程中,要求指出某個功能模塊的代碼時,經(jīng)常要花費很多時間才找得到。
2.測試和調(diào)試可有可無。大部分學(xué)生在畢業(yè)設(shè)計的軟件編碼完成以后,從沒有想過進行完整的系統(tǒng)測試,或者只對個別功能進行測試或是隨意測試,沒有按照測試步驟逐步進行;基本沒有單元測試和集成測試,一般只是最終隨便輸入幾個數(shù)據(jù)簡單檢測一下,如果有錯,修改了就算完了;也沒有進行回歸測試,沒有測試計劃,沒有想過用什么測試技術(shù)來檢測某一類型的錯識,沒有相應(yīng)的測試用例,也沒有測試結(jié)果分析。由于學(xué)生畢業(yè)設(shè)計都是一人一題,基本上是一個人完成所有步驟,就算有測試,在測試階段也是自己進行測試,從心理學(xué)的角度來說,自己對自己開發(fā)的軟件進行測試是不可取的。由于前面階段的文檔不完善,也不重視測試過程,不清楚是否實現(xiàn)了系統(tǒng)最初設(shè)計的功能,是否達到相應(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è)計不完全,未進行測試和調(diào)試,存在的錯誤和缺陷較多,文檔和數(shù)據(jù)不完整,導(dǎo)致所開發(fā)的系統(tǒng)或軟件不能方便地轉(zhuǎn)讓、變更、修正、擴充和使用,也沒有為后期培訓(xùn)、維護留下完備的資料;因此,不能投入到真正的使用過程中,也不能實現(xiàn)系統(tǒng)或軟件產(chǎn)品的效益。
三、軟件工程思想的應(yīng)用
軟件工程(SoftwareEngineering,簡稱為SE)是一門研究用工程化方法構(gòu)建和維護有效的、實用的和高質(zhì)量的軟件的學(xué)科。軟件工程中的軟件生命周期是一個軟件從軟件定義、開發(fā)、運行和維護,直到最終被廢棄的整個過程[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é)生在進行畢業(yè)設(shè)計的過程中存在的問題進行分析,在畢業(yè)設(shè)計的過程中,必須運用軟件工程的觀點、技術(shù)和方法來指導(dǎo)畢業(yè)設(shè)計,這樣既節(jié)約了畢業(yè)設(shè)計的時間和學(xué)生的精力,也能做出最優(yōu)質(zhì)的畢業(yè)設(shè)計。
1.選題過程中的應(yīng)用。畢業(yè)設(shè)計選題就是軟件生命周期的問題定義中的問題提出階段,選好題目是進行深入研究的基礎(chǔ),也是寫出高質(zhì)量畢業(yè)論文的前提。地方應(yīng)用型普通本科高校計算機相關(guān)專業(yè)的畢業(yè)設(shè)計選題必須做到以下幾點:(1)必須在對選題做了充分調(diào)查、分析,對檢索的參考文獻、資料有了整體把握的基礎(chǔ)上提出。(2)必須符合本專業(yè)培養(yǎng)方案規(guī)定的培養(yǎng)目標(biāo)的要求。(3)以選擇工程性較強的課題為主,確保有足夠的工程性訓(xùn)練。(4)要有明確的設(shè)計成果,對于較大型任務(wù)的課題要明確階段性成果。(5)要達到規(guī)定的工作量,難易度適中,確保能在規(guī)定的時間內(nèi)完成整個課題工作。(6)要圍繞生產(chǎn)生活實際,所選題目一定具有一定的理論意義和實踐意義,具有一定的價值。(7)原則上一人一題,對于較大型任務(wù)的課題,每個學(xué)生必須有獨立子課題。結(jié)合以上幾點,分別從專業(yè)基礎(chǔ)、現(xiàn)實意義等方面進行全面分析,進行取舍,最終得出選題。
2.開題過程中的應(yīng)用。在畢業(yè)設(shè)計的開題過程中,需要明確所選題目的選題依據(jù)(包括選擇課題的背景、選題研究的理論及實踐意義)、選題研究現(xiàn)狀(包括目前國內(nèi)外對本選題的研究情況和有待解決的問題)、研究內(nèi)容與方法,而這些就是軟件工程中需求分析階段應(yīng)該做的事情。需求分析指的是在建立一個新的或改變一個現(xiàn)存的電腦系統(tǒng)時描寫新系統(tǒng)的目的、范圍、定義和功能時所要做的所有的工作[3]。因此開題過程中最重要的是進行需求分析,需求分析具有決策性、方向性、策略性的作用,在軟件開發(fā)的過程中具有舉足輕重的地位。需求分析完成的好壞直接影響后續(xù)軟件開發(fā)的質(zhì)量。開題過程中需要指導(dǎo)學(xué)生大量地閱讀相關(guān)的研究資料,同時根據(jù)資料進行分析研究,對當(dāng)前畢業(yè)設(shè)計的研究進度做到心中有數(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ù)傳遞和加工角度,以圖形方式來表達系統(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é)果進行軟件的概要設(shè)計和詳細(xì)設(shè)計,注意在設(shè)計過程中要嚴(yán)格按照軟件工程對于設(shè)計階段的指導(dǎo)原則來進行設(shè)計。將概要設(shè)計階段需求分析得到的DFD轉(zhuǎn)換為軟件結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu),即是根據(jù)需求確定軟件和數(shù)據(jù)的總體框架,設(shè)計出軟件的結(jié)構(gòu),也就是要確定系統(tǒng)中每個程序是由哪些模塊組成的,以及這些模塊相互間的關(guān)系。然后再進行詳細(xì)設(shè)計,設(shè)計出每個模塊的實現(xiàn)算法、所需的局部數(shù)據(jù)結(jié)構(gòu),并且對每個模塊寫出過程性描述;為每個模塊設(shè)計出一組測試用例,在進行測試時就以此測試用例來進行測試。詳細(xì)設(shè)計階段的任務(wù)還不是具體地編寫程序,而是要設(shè)計出程序的“藍圖”,以后將根據(jù)這個“藍圖”寫出實際的程序代碼。因此,指導(dǎo)教師要對學(xué)生的設(shè)計過程進行監(jiān)督和指導(dǎo),防止學(xué)生盲目的進行編碼。
4.在實現(xiàn)階段的應(yīng)用。在編碼的過程中,要注意編程風(fēng)格的把握,編程的風(fēng)格在很大程度上影響程序的可讀性、可測試性和可維護性。在測試階段,可以進行交叉測試,即學(xué)生之間可以兩兩交叉,相互測試,以更好的達到測試效果,同時也培養(yǎng)了學(xué)生的團隊意識和合作意識。在測試過程中要注意運用軟件工程的測試原則和測試思想,嚴(yán)格按照單元測試→集成測試→確認(rèn)測試→系統(tǒng)測試→驗收測試的測試步驟進行,利用白盒測試技術(shù)進行單元測試,黑盒測試技術(shù)進行其他測試,并且在找出錯誤并修改后要進行相應(yīng)的回歸測試,確認(rèn)修改了錯誤并且沒有引入新的錯誤,這樣有利于找到軟件中的各類錯誤,提高軟件的質(zhì)量。因此,在軟件的測試過程中,一定要嚴(yá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é)生存在文字表達能力不強的現(xiàn)象,為了完成報告,就有可能會抄襲,特別是在軟件開發(fā)的各個階段文檔材料不全的情況下更為嚴(yán)重。因此,在學(xué)生進行軟件開發(fā)的各個環(huán)節(jié)中,指導(dǎo)教師都應(yīng)該按照軟件工程的觀點來進行指導(dǎo),并要求學(xué)生在各個階段都完成相應(yīng)的文檔。這樣在畢業(yè)設(shè)計報告撰寫的過程中,只要將各個階段的文檔進行合并、整理就得到相應(yīng)的設(shè)計報告,并且是一篇重復(fù)率不高的高質(zhì)量的設(shè)計報告。6.在畢業(yè)設(shè)計實際應(yīng)用方面的應(yīng)用。因為學(xué)生在整個系統(tǒng)或軟件過程中均按軟件設(shè)計規(guī)范準(zhǔ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]汪靈,林金輝,龍劍平.理工科大學(xué)畢業(yè)設(shè)計(論文)團隊指導(dǎo)法研究與實踐[J].成都理工大學(xué)學(xué)報(社會科學(xué)版),2008,(4):94-97.
[2]姚期智.淺談計算機科學(xué)人才培育[J].計算機教育,2011,(11):6-9.
[3]張海藩.軟件工程導(dǎo)論第六版[M].北京:清華大學(xué)出版社,2013.
【軟件工程思想在應(yīng)用型高校畢業(yè)設(shè)計中應(yīng)用研究】相關(guān)文章:
發(fā)展思想在高校人才培養(yǎng)中的運用08-03
高校音樂教學(xué)中的流行音樂應(yīng)用研究05-05
試析模因論在高校英語口譯教學(xué)中的應(yīng)用研究08-05
高校生畢業(yè)設(shè)計的致謝07-20
信息化技術(shù)在高校校園文化建設(shè)中的應(yīng)用研究08-17
關(guān)于高校應(yīng)用型人才培養(yǎng)對策研究04-30
高校本科應(yīng)用型人才的培養(yǎng)模式研究05-23
高校工商管理本科應(yīng)用型人才培養(yǎng)08-14
靜中細(xì)思06-10