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