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