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