基于軟件工程的計算機專業學生的畢業設計
摘要:畢業設計是大學學習生活的最后一個組成部分。著重分析在畢業設計過程中存在的問題,并闡述軟件工程的基本思想,以及怎樣運用軟件工程的理論思想指導計算機專業學生的畢業設計。
關鍵詞:軟件工程;畢業設計;軟件生命周期;計算機專業
1、引言
畢業設計是理論教育與社會實踐相結合的重要體現,是大學生在校期間最后一個比較重要的,培養創新能力、實踐能力和創業精神的綜合性實踐環節。畢業設計的質量也是衡量教學水平與學位資格認證的重要依據,直接關系到畢業學生綜合素質的培養和對將來從事各項工作的適應程度。尤其是計算機專業培養學生的目標是具有較強的動手能力,而學生的動手能力在教學中主要通過實踐進行培養,所以對于畢業設計這一實踐環節來說,其質量的高低直接反映學生動手能力的強和弱,不容忽視。
2、什么是軟件工程思想
2.1 軟件工程定義的提出
軟件工程是一門指導計算機軟件系統開發和維護的工程學科,是一門新興的邊緣學科。它也指在軟件生產中采用工廠化的方法,采用一系列科學的、現代化的方法技術來開發軟件。這種工程化的思想貫穿于軟件開發和維護的全過程。
軟件工程的基本思想是將整個系統開發過程分為若干階段,先由系統分析員對軟件系統進行分析和設計,并將所得結果按一定的標準整理成規范化的文檔資料,然后由程序員按這些文檔資料對該系統進行編程和測試,從而完成該系統的開發。同時在整個開發過程中,應向管理人員和用戶提供管理和了解開發進程的有效手段,以保證開發工作順利進行。
2.2 軟件生命周期
從用戶需求開始,經過開發、交付使用,在使用過程中不斷地增補修訂,直至軟件報廢的全過程,稱軟件生命周期。在整個軟件生命周期中,一共可以分為3個階段,分別是軟件定義階段、軟件開發階段和軟件維護階段。在這3個階段中又有各自的任務,其中,軟件定義階段的任務有問題定義、可行性研究和需求分析;軟件開發階段的任務有總體設計、詳細設計、編碼和測試;最后是軟件維護階段。
3、軟件工程與畢業設計之間的對應關系
軟件工程是指導計算機軟件開發和維護的一門工程學科,該學科的目的是生產出能按期交付的、在預算范圍內的、滿足用戶需求的、質量合格的軟件產品。整個畢業設計的過程可以看做開發一個大型的軟件,要想提高畢業設計的質量,就應該以軟件工程的思想作為指導。圖1中顯示的是軟件生命周期的各個階段和濟寧醫學院信息工程學院畢業設計各階段的對應關系,只要嚴格遵守軟件生命周期的各個階段和其中的原則,就可以很好地改善目前畢業設計過程中出現的若干問題。
4、學院對畢業設計的要求
近幾年,信息工程學院結合自己的實際,要求學生在畢業設計過程中都做結合生產實踐的課題,目的是為了培養學生的創新精神和實踐能力。但是在指導過程中,發現大部分學生都沒有嚴格按照軟件工程的思想進行相應軟件的開發,導致許多學生的畢業設計質量較低。根據這種情況,學院特在畢業設計的選題、畢業設計的組織管理程序、指導教師的條件和職責以及畢業設計的評閱、答辯與成績評定等方面做了比較嚴格的規定,以確保畢業設計的質量。
5、計算機專業學生畢業設計中存在的主要問題
5.1 選題不恰當
本院在指導計算機專業學生做畢業設計時,均要求做軟件設計類的課題,即生產實踐類和社會應用類的題目。但是在實際運行過程中,仍不免存在選題不恰當的問題。1)選題的范圍過大,也就是所開發軟件要實現的系統模塊太多,很多學生只是做了系統的幾個頁面或者只實現部分模塊。
2)選題重復。許多學生對畢業設計的重視程度不夠,他們只把畢業設計作為大學生活的一個環節,純粹地為了完成學業,為了拿到相應的學分而去做畢業設計。這樣就導致許多不同指導教師的學生都做同一個題目,并且存在部分內容雷同的現象。3)選題脫離畢業實習。學院規定畢業設計是從大學本科的第七個學期開始的,而與此同時,也對學生進行畢業實習的安排,通過畢業實習,使學生進一步理解和領會所學的基本理論,了解計算機技術的發展及應用,較為系統地掌握計算機操作技能和專業技術,把所學知識與解決實際問題相聯系,還可為畢業設計收集必要的資料,做好技術、知識、資料的準備工作。但是仍有部分學生的選題和畢業實習相脫離,選擇一些虛擬題目。
5.2 不重視軟件定義過程
上述講到軟件周期的問題,在軟件定義階段包括問題定義、可行性研究和需求分析。問題定義階段必須回答的關鍵問題是要解決的問題是什么;可行性研究階段要回答的關鍵問題是對于上一個階段所確定的問題有行得通的解決辦法嗎,也就是研究問題的范圍,探索這個問題是否值得去解,是否有可行的解決辦法;需求分析是回答為了解決這個問題,系統必須做什么,主要是確定目標系統必須具備哪些功能。然而在畢業設計的過程中,許多學生往往都直接略去軟件定義階段,沒有對所要解決的問題進行實際的定義、研究和分析,直接進入軟件開發階段,而且在開發階段也將大部分的時間放在編碼上。還有一部分學生在軟件開發的過程中一味編程,當需要了解需求的時候再去做研究,往往欲速則不達。這也造成畢業設計時間一再拖后,自然而然導致畢業設計質量低下。
5.3 不重視設計過程和測試過程
軟件在開發階段一般要求經過總體設計、詳細設計、編碼和測試這幾個有序的過程。然而在畢業設計中,許多學生在開發階段跨越前期的設計過程,直接進行編碼;或者在整個設計的過程中,沒有事先對所要開發的軟件做一個詳細的規劃,往往是想起來哪個部分就做哪個部分,甚至有些部分做了一半就又開始另外一個階段的工作,多個階段同時進行,雜亂無章。這種無序的軟件開發只能帶來軟件結構的混亂、功能代碼的重復開發,并導致系統最后可集成性差。還有一部分學生做完編碼不進行相應的測試,在答辯過程中運行系統的時候,許多地方都出現不同的錯誤,甚至程序無法運行,這樣也極大地降低了畢業設計的質量。
5.4 不重視畢業論文的撰寫
軟件不僅僅是程序,還應該有較完整的文檔資料,比如在需求分析階段應該產生需求規格說明書;在設計階段應該形成相應的設計規格說明書。有了文檔,可以方便不同開發人員之間的信息交流。同時文檔也是影響軟件可維護性的決定因素,在一些長期使用的大型軟件系統中,文檔甚至比程序代碼更為重要。然而在畢業設計的過程中,相當一部分學生都沒有做這方面的工作,當程序運行起來發現錯誤的時候,不知道要從哪里修改;或者幾個人合作一個課題的時候,相互之間沒有一個較為全面的文檔可以作為參考,交流也就遇到困難,這也是導致畢業設計質量下降的一個原因。
6、運用軟件工程思想指導畢業設計
造成以上畢業設計中種種問題的最根本原因是在畢業設計過程中開發理念的失敗和開發方法的不恰當。所以為了提高畢業設計的質量,引入軟件工程的基本理論思想是十分必要和迫切的。
6.1 以可行性研究為指導進行選題
可行性研究的目的不是解決問題,而是確定問題是否值得去解決。畢業設計題目的選擇,應立足于解決工程實際問題,注重提高學生發現問題、分析研究問題和開發創新的能力。
畢業設計題目的選擇,首先應根據專業培養目標,力求有利于鞏固、深化學生所學知識,有利于培養學生的獨立工作能力和創新能力。在滿足計算機專業教學基本要求的前提下,還應該使學生得到比較全面的訓練,畢業課題的內容應盡量覆蓋專業主干課程,有一定的理論意義和現實意義。
其次,畢業設計的選題無需范圍過大,選題要有一定的難度和深度,并且原則上每生一題或者幾人合作完成,然后明確每個人要獨立完成的任務,保證所做工作符合畢業設計的要求,同時使每個學生得到較全面的鍛煉。再者,鼓勵學生將自己的課題和畢業實習結合起來,在實際生活中尋求答案,增強自我學習的能力。
6.2 以需求分析指導畢業設計的開題
需求分析是一個非常重要的過程,它是在可行性研究的基礎上,將用戶對系統的描述通過開發人員的分析概括,抽象為完整的需求定義,再形成一系列文檔的過程,它完成的好壞直接影響后續軟件開發的質量。需求分析的過程同時又是一個現實的、目的性很強的工作,其基本任務是準確地回答系統必須做什么。選題完成以后,應以需求分析的思想作指導,學生和指導教師之間在規定時間內討論題意與整個畢業設計的工作計劃,明確畢業設計要做什么,然后根據課題要求查閱、收集有關資料并編寫相應的設計提綱,包括畢業設計的目的與意義、國內外同類設計的概括綜述、畢業設計的內容以及進行畢業設計所用的方法和具體的實施計劃。
6.3 以總體設計和詳細設計為指導進行實踐研究
經過需求分析階段的工作后,系統必須做什么就一目了然了,總體設計的基本目的就是回答系統應該如何實現這個問題和設計軟件的結構。從這一階段開始,學生應按照軟件工程的要求,畫出系統的數據流圖,對輸入輸出數據進行詳細的說明,進而設計出模塊結構圖。如多名學生承擔著同一課題,必須讓每個學生既參與總體方案論證,又有獨立完成的部分。指導教師應該根據模塊結構圖給每個學生分工,讓學生充分認識到軟件開發是一個系統工程,是一種集體行為。同時,指導教師還應該明確自己的責任,對不符合要求的設計和不合理的結構提出疑問,并要求學生進行修改。
6.4 重視測試和調試工作,保證畢業設計的質量
目前,軟件測試仍然是保證軟件可靠性的主要手段,測試階段的根本任務就是發現并改正軟件中的錯誤,因此,軟件測試是軟件開發過程中最艱巨最繁重的任務。對于畢業設計來說,實際應用情況和測試數據是必不可少的。通過實際應用效果和相應的測試數據,保證所開發系統的正確運行。
當然,在測試過程中,應該以文檔的形式編寫相應的測試用例。對測試過程中發現的錯誤及時改正,這就是調試。為了改正錯誤,首先必須確定錯誤的準確位置,這是調試過程中最困難的工作,需要慎重周密的思考和推理。有時為了改正錯誤往往需要修正原來的設計,必須通盤考慮、統籌兼顧,不能頭痛醫頭,腳痛醫腳,應盡量避免在調試過程中引入新的錯誤。總之,在畢業設計過程中,指導教師應該著重啟發引導,注意發揮學生的主動性和創造性,目的就是保證畢業設計的質量和加強學生解決問題和創新能力的培養。
7、結束語
對計算機專業的學生來說,4年的大學生活好比一個大舞臺,而畢業設計可以看做是舞臺戲劇的閉幕式。畢業設計質量的高低直接反映一個學生對基本知識和專業知識的掌握程度。因此,將畢業設計看做一個大型的軟件項目,有效地將軟件工程的思想和方法應用到畢業設計當中去,可以極大地改善畢業設計中存在的一些問題,提高畢業設計的質量,培養出適應社會需求的、具有軟件設計和開發能力的計算機專業人才,給學生的大學學習生活畫上一個圓滿的句號。
【基于軟件工程的計算機專業學生的畢業設計】相關文章:
計算機專業畢業設計要求11-15
計算機信息管理專業畢業設計要求03-11
軟件工程畢業設計開題報告11-12
試析基于軟件歷史信息的軟件工程12-06
計算機專業畢業設計任務書格式范文05-29
關于基于軟件歷史信息的軟件工程的研究12-10
計算機軟件工程論文03-12
- 相關推薦