當前位置:學問君>學習教育>畢業論文>

基於軟件工程的計算機專業學生的畢業設計

學問君 人氣:2.64W

摘要:畢業設計是大學學習生活的最後一個組成部分。着重分析在畢業設計過程中存在的問題,並闡述軟件工程的基本思想,以及怎樣運用軟件工程的理論思想指導計算機專業學生的畢業設計。

基於軟件工程的計算機專業學生的畢業設計

關鍵詞:軟件工程;畢業設計;軟件生命週期;計算機專業

1、引言

畢業設計是理論教育與社會實踐相結合的重要體現,是大學生在校期間最後一個比較重要的,培養創新能力、實踐能力和創業精神的綜合性實踐環節。畢業設計的質量也是衡量教學水平與學位資格認證的重要依據,直接關係到畢業學生綜合素質的培養和對將來從事各項工作的適應程度。尤其是計算機專業培養學生的目標是具有較強的動手能力,而學生的動手能力在教學中主要透過實踐進行培養,所以對於畢業設計這一實踐環節來說,其質量的高低直接反映學生動手能力的強和弱,不容忽視。

2、什麼是軟件工程思想

2.1 軟件工程定義的提出

軟件工程是一門指導計算機軟件系統開發和維護的工程學科,是一門新興的邊緣學科。它也指在軟件生產中採用工廠化的方法,採用一系列科學的、現代化的方法技術來開發軟件。這種工程化的思想貫穿於軟件開發和維護的全過程。

軟件工程的基本思想是將整個系統開發過程分爲若干階段,先由系統分析員對軟件系統進行分析和設計,並將所得結果按一定的標準整理成規範化的文檔資料,然後由程序員按這些文檔資料對該系統進行編程和測試,從而完成該系統的開發。同時在整個開發過程中,應向管理人員和用戶提供管理和了解開發進程的有效手段,以保證開發工作順利進行。

2.2 軟件生命週期

從用戶需求開始,經過開發、交付使用,在使用過程中不斷地增補修訂,直至軟件報廢的全過程,稱軟件生命週期。在整個軟件生命週期中,一共可以分爲3個階段,分別是軟件定義階段、軟件開發階段和軟件維護階段。在這3個階段中又有各自的任務,其中,軟件定義階段的任務有問題定義、可行性研究和需求分析;軟件開發階段的任務有總體設計、詳細設計、編碼和測試;最後是軟件維護階段。

3、軟件工程與畢業設計之間的對應關係

軟件工程是指導計算機軟件開發和維護的一門工程學科,該學科的目的是生產出能按期交付的、在預算範圍內的、滿足用戶需求的、質量合格的軟件產品。整個畢業設計的過程可以看做開發一個大型的軟件,要想提高畢業設計的質量,就應該以軟件工程的思想作爲指導。圖1中顯示的是軟件生命週期的各個階段和濟寧醫學院資訊工程學院畢業設計各階段的對應關係,只要嚴格遵守軟件生命週期的各個階段和其中的原則,就可以很好地改善目前畢業設計過程中出現的若干問題。

 4、學院對畢業設計的要求

近幾年,資訊工程學院結合自己的實際,要求學生在畢業設計過程中都做結合生產實踐的課題,目的是爲了培養學生的創新精神和實踐能力。但是在指導過程中,發現大部分學生都沒有嚴格按照軟件工程的思想進行相應軟件的開發,導致許多學生的畢業設計質量較低。根據這種情況,學院特在畢業設計的選題、畢業設計的組織管理程序、指導教師的條件和職責以及畢業設計的評閱、答辯與成績評定等方面做了比較嚴格的規定,以確保畢業設計的質量。

 5、計算機專業學生畢業設計中存在的主要問題

5.1 選題不恰當

本院在指導計算機專業學生做畢業設計時,均要求做軟件設計類的課題,即生產實踐類和社會應用類的題目。但是在實際執行過程中,仍不免存在選題不恰當的問題。1)選題的範圍過大,也就是所開發軟件要實現的系統模組太多,很多學生只是做了系統的幾個頁面或者只實現部分模組。

2)選題重複。許多學生對畢業設計的重視程度不夠,他們只把畢業設計作爲大學生活的一個環節,純粹地爲了完成學業,爲了拿到相應的學分而去做畢業設計。這樣就導致許多不同指導教師的學生都做同一個題目,並且存在部分內容雷同的現象。3)選題脫離畢業實習。學院規定畢業設計是從大學本科的第七個學期開始的,而與此同時,也對學生進行畢業實習的安排,透過畢業實習,使學生進一步理解和領會所學的基本理論,瞭解計算機技術的發展及應用,較爲系統地掌握計算機操作技能和專業技術,把所學知識與解決實際問題相聯繫,還可爲畢業設計收集必要的資料,做好技術、知識、資料的準備工作。但是仍有部分學生的選題和畢業實習相脫離,選擇一些虛擬題目。

5.2 不重視軟件定義過程

上述講到軟件週期的問題,在軟件定義階段包括問題定義、可行性研究和需求分析。問題定義階段必須回答的關鍵問題是要解決的問題是什麼;可行性研究階段要回答的關鍵問題是對於上一個階段所確定的問題有行得通的解決辦法嗎,也就是研究問題的範圍,探索這個問題是否值得去解,是否有可行的解決辦法;需求分析是回答爲了解決這個問題,系統必須做什麼,主要是確定目標系統必須具備哪些功能。然而在畢業設計的過程中,許多學生往往都直接略去軟件定義階段,沒有對所要解決的問題進行實際的定義、研究和分析,直接進入軟件開發階段,而且在開發階段也將大部分的時間放在編碼上。還有一部分學生在軟件開發的過程中一味編程,當需要了解需求的時候再去做研究,往往欲速則不達。這也造成畢業設計時間一再拖後,自然而然導致畢業設計質量低下。

5.3 不重視設計過程和測試過程

軟件在開發階段一般要求經過總體設計、詳細設計、編碼和測試這幾個有序的過程。然而在畢業設計中,許多學生在開發階段跨越前期的設計過程,直接進行編碼;或者在整個設計的過程中,沒有事先對所要開發的軟件做一個詳細的規劃,往往是想起來哪個部分就做哪個部分,甚至有些部分做了一半就又開始另外一個階段的'工作,多個階段同時進行,雜亂無章。這種無序的軟件開發只能帶來軟件結構的混亂、功能代碼的重複開發,並導致系統最後可集成性差。還有一部分學生做完編碼不進行相應的測試,在答辯過程中執行系統的時候,許多地方都出現不同的錯誤,甚至程序無法執行,這樣也極大地降低了畢業設計的質量。