時間:2022-05-06 04:26:10
序論:在您撰寫軟件畢業設計論文時,參考他人的優秀作品可以開闊視野,小編為您整理的1篇范文,希望這些建議能夠激發您的創作熱情,引導您走向新的創作高度。
摘要:本文介紹了多個高職機械類學生應用Solidworks軟件進行畢業設計的實例,說明了Solidworks軟件的應用對提高學生的學習積極性、促進學生對先進制造技術的理解和掌握、培養學生的現代工程素養和創新能力,起到了良好的教學效果。
關鍵詞:Solidworks;畢業設計;三維造型
現代制造業日趨國際化,縮短產品開發周期,減少開發新產品投資風險,已成為企業賴以生存的關鍵。[1]制造企業運用先進的設計模式,采用先進的制造技術,從而在激烈的市場競爭中立于不敗之地。為了適應現代制造業對人才的需求,培養掌握先進制造技術、具有現代工程素養和創新能力的技能型人才,是高職院??滩蝗菥彽闹厝巍?
畢業設計是高職學生三年學習的重要總結,是最重要的一次集中性實踐環節,它要求學生綜合運用相關知識,結合實際課題進行設計和創新,從而培養學生的動手能力和創新能力,全面提高學生運用知識的水平。[2]筆者所在的教學團隊根據高職學生的知識特點,設計了多個富有創意和挑戰性的實際課題,由學生選作,要求采用三維機械設計軟件的主流產品Solidworks完成。主要是基于以下考慮:①學生在相關專業課程中已經學習了Pro/E軟件的應用。有一定三維CAD軟件應用經驗者都知道,各三維CAD軟件的應用思路大體相同,學習一種三維CAD軟件作為基礎,再學習其它三維CAD軟件將很容易上手。但學生在學習階段并沒有這樣的認識,因此希望他們在校學習階段即積累一定的三維CAD軟件應用的經驗。②通過企業調研,我們發現目前Solidworks軟件在國內外中小企業中已經得到了廣泛的應用,受到廣大設計人員的歡迎,為了使學生免除進入企業后,縮短適應期,減少再培訓等環節,在校學習階段即提供機會讓學生深入學習Solidworks軟件,為實現與工作崗位的無縫對接打下良好的基礎。
一、舉一反三,拓展思路
大部分的高職機械類專業都開有機械基礎或機械設計基礎課程,在該課程的教學環節中,有兩周左右的課程設計內容,要求學生根據給定條件完成一個減速器的設計,包括設計計算、二維裝配圖繪制及部分零件圖繪制。但在兩周的時間里,學生并沒有利用這一機會完成減速器三維造型。因此,在畢業設計階段選擇減速器設計課題的學生,第一個任務就是利用Solidworks軟件完成減速器的三維造型,由此學習Solidworks軟件的零件造型、裝配、工程圖及文件管理等方面的功能。
上述減速器作為經典的案例在教學中廣泛采用,其設計過程已經程序化,有大量可供參考的資料,為了拓展學生的思路,提高其綜合應用課本知識的能力,要求進一步獨立完成其它類型減速器的設計。例如下圖所示的同向三螺桿擠出機減速器、異向三螺桿擠出機減速器等。
要求學生通過查閱資料,制定設計方案,完成設計計算并利用Solidworks軟件完成三維圖及工程圖的繪制,使他們懂得怎樣將所學的知識融會貫通,靈活應用于解決實際問題。
二、從設計到加工,體驗真實的生產過程
在技術進步的大背景下,產品的設計和加工工藝越來越精細,產品的成品品質越來越精致、優良。[3]機械制造類工作崗位越來越離不開計算機輔助設計與制造軟件的應用。Solidworks是一款綜合性的創新平臺,利用它可以設計多樣化的產品。下圖是利用Solidwork軟件設計的玩具小車,可以實現其精美的造型,如同真實的產品一樣。在完成造型后,進一步制定各零件的數控加工方案,利用CAM軟件編制數控加工刀路,生成NC程序,并在數控機床上實際加工出產品。
學生在此過程中可以完成機械制造業中的設計、工藝、編程、機床操作等典型工作任務,體驗設計員、工藝員、編程員、操作工、檢驗員等崗位角色,使學生熟悉零件從設計到加工的整個過程,掌握零件的基本設計方法與數控加工的基本技能,進一步鞏固與擴充以前所學的《機械設計基礎》、《機械制造基礎》、《數控加工工藝》、《數控編程與操作》等課程的知識。同時鼓勵學生充分發揮其創新能力,設計出具有自身特色的產品。學生要利用三維軟件實現自己的構想,必須鉆研Solidworks軟件的各種造型功能,從而提高軟件應用能力。通過反復的交流與修改,設計并最終加工出屬于自己的作品,培養了創新意識,加強了實際操作技能。
三、整機設計,綜合能力的培養
該課題要求學生利用Solidworks設計和裝配一種單螺桿膨化機。首先由教師提供設計指導書,包括膨化機原理、產量計算方法、螺桿設計方法等等資料,在充分熟悉基本資料的情況下,鼓勵學生擴散思維,采用不同的結構實現所需要的功能,學生綜合運用以往知識,先擬定各自的設計方案。最后集中進行各種方案展示、小組互評、指導教師點評,通過比較、篩選和組合,確定出最為合理的設計方案。
小組成員分工合作,從膨化機的功能入手,通過產量、功率等要求確定基本尺寸,還要考慮密封、潤滑、加熱、定位、拆裝及標準件的選擇等一系列問題,并進行強度驗算。最終完成三維裝配圖和二維零件圖。
在完成畢業設計的過程中,學生以獨立的主體身份從事一定的、相對獨立的具體工作,大大激發了他們的求知欲望。以往的畢業設計中,二維圖紙的繪制和修改工作量很大,占用了學生大量的精力和時間。而三維設計軟件的應用可將畢業設計的重點由二維圖紙的繪制轉化到不同方案的設計和創新上,突出了設計創新,培養了學生運用現代化手段解決工程實際問題的能力。對增強學生的綜合分析問題、解決問題能力,建立機械設計的整體思維大有幫助。
四、理論聯系實際,實現與工作崗位的順利對接
傳統的畢業設計中設計出的產品由于沒有得到制造、裝配以至樣機試驗的驗證,許多不合理的設計,甚至是錯誤的設計很難被發現。輸送機設計課題即來自真實的產品。該課題是與輸送機生產廠家合作設計制造一臺計量輸送機,學生與指導教師一起參與到該項目中。首先由用戶提出使用要求,包括輸送材料、輸送能力、輸送距離等基本要求,然后學生與指導教師一起討論結構設計、基本尺寸的確定、電機的選擇等。確定方案后,由學生利用Solidworks完成該輸送機的三維繪制,再交給用戶確認。由于SolidWorks軟件可以完成復雜零件的三維造型,并可根據需要生成各種剖視圖,有助于了解產品復雜的內部結構,對設計方案的表達更加簡單明了,與用戶的交流也更加順暢。同時,由于界面友好、造型方便、圖形質量好等特點,也使得產品設計和造型的時間縮短,效率大大提高。
用戶確認后,由學生輸出二維工程圖交由工廠進行生產。由于設計、生產、用戶各方都沒有該種物料計量輸送機的經驗,生產后出現物料架橋等問題,需要對原方案進行改進。每次改進都是首先在三維圖上修改,再在實物上完成。經過不斷改進,最終滿足了用戶的要求。整個過程由于SolidWorks軟件的應用,大大縮短了試制周期,降低了成本。學生自始至終參與了該計量輸送機的設計與生產,參與了各種問題的解決,其在畢業設計中所做的工作即是實際工作崗位上一名結構設計人員需要完成的工作,真正實現了與工作崗位的順利對接。
實踐證明,將SolidWorks三維設計軟件引入畢業設計,可取得良好的教學效果,極大地調動學生畢業設計的積極性和創造性,由此提高了學生對先進制造技術的理解和掌握,鍛煉了學生解決實際問題的能力,對學生創新能力的培養起到了積極的促進作用,畢業設計的效率和質量大大提高。
摘要:畢業設計是一個十分重要的教學環節,是一個系統工程,應使用工程化的方法、步驟統籌安排以取得良好的效果。軟件工程學是指導計算機應用專業軟件類學生進行畢業設計的重要工具之一。將畢業生設計過程、文檔書寫與軟件工程學緊密結合起來是提高學生畢業設計論文質量的一個重要途徑。結合軟件工程的基本知識,通過對軟件類學生畢業設計過程存在的常見問題的研究,提出了應用軟件工程學去指導學生畢業設計的方法。
關鍵詞:軟件工程;畢業設計
0引言
畢業設計是高等院校應屆類畢業生在畢業前接受課題型任務,在教師指導下進行科學研究或工程實踐并取得成果的過程,是高校實現人才培養目標的綜合性實踐教學環節,是一次理論與實踐相結合的的鍛煉機會。如何在新形勢下改革畢業設計, 提高學生軟件類畢業設計的質量,進一步規范畢業設計中的軟件開發過程,抓好高校畢業設計這一實踐環節,加強對畢業設計過程的管理與監控, 切實提高畢業設計的質量,對于軟件類學生在畢業設計中實施合適的軟件設計具有重的指導意義。
1畢業設計的必要性
高等職業教育應該是以能力為本位、以學生為主體、以實踐為導向的教育。畢業設計是高等教育培養學生綜合運用所學理論知識和技能解決實際問題能力的重要環節之一,是衡量畢業生是否達到相應學歷層次的重要依據。畢業設計將總結專業基礎和專業技術的學習成果,鍛煉和開發學生的綜合運用能力。
高職院校軟件相關專業組織畢業設計應該符合新的人才培養標準,對培養學生的職業技能和素質要具有積極的意義。而對于即將畢業離校的應屆畢業生來說,畢業設計無疑是計算機軟件各相關專業理論教學、實驗、實訓等有機結合的途徑之一。
通過畢業設計能鍛煉學生的能力:
(1)實踐軟件工程的相關原理能力。畢業設計的過程,是一個課題小組從接到開發任務到提交產品和文檔的過程,其中涉及到需求分析、概要設計、詳細設計、編碼、測試、程序打包、編寫文檔等軟件工程具體的各個方面。經過鍛煉,學生們對軟件工程學思想和方法的理解會大大加深。
(2)解決具體問題能力。在畢業設計的進行過程中,學生一定會遇到平時在課堂的理論學習中碰不到的困難和挑戰, 而克服這些困難、解決實際問題的過程就是軟件技術和心理素質逐步提高的過程。
(3)團結協作的意識、能力。通過畢業設計這一過程,學生就會產生團結協作的意識和能力。
2軟件工程學的基本思想
軟件工程是一門研究如何用系統化、規范化、數量化等工程原則和方法去進行軟件的開發和維護的學科,包括兩方面內容:軟件開發技術和軟件項目管理。其中,軟件開發技術包括軟件開發方法學、軟件工具和軟件工程環境,軟件項目管理包括軟件度量、項目估算、進度控制、人員組織、配置管理、項目計劃。
3高職類學生畢業設計現狀
畢業設計的主要目的是培養學生綜合運用所學的基礎理論、基本知識和基本技能,用以分析、解決工程、科研、社會實際問題的能力,使學生得到工程設計方法和科研能力的初步訓練。畢業設計中存在的問題主要表現在以下幾個方面。
3.1選題的盲目性
只是把畢業設計環節作為大學生活的必經環節, 純粹是為了完成學業而去做畢業設計, 造成選題的盲目性、有的選題則是陳舊。
3.2可行性分析與需求分析重視程度不夠
絕大多數畢業生在確定了畢業設計的題目后,幾乎不進行調查研究工作就立即投入到整個系統的設計中, 一旦遇到了與實際不符的地方, 又重新返回, 對已經做好的設計進行修改。最終導致設計的系統雜亂無章, 甚至到了最后只能馬馬虎虎地倉促交工。
3.3系統開發過程中的文檔不夠正規,不夠完備
完整的設計不僅包括所完成的可操作的系統,一般的操作幫助,還包括在開發系統的過程中所產生的各個文檔等一些文字的東西,比如解釋清晰、內容全面的數據字典和使用手冊也是必不可少的,否則用戶會感到使用起來不方便,覺得難于操作。
3.4模糊的評價標準
導致畢業設計質量下降的一個非常重要的原因就是沒有建立精確細致的評價體系。
這嚴重影響了項目的進度和質量,并且使學生沒有真正得到必要的鍛煉。我們通過對這些問題進行詳細深入的分析,提出一個軟件過程框架,這個框架主要從需求、測試、集成這3個方面給出工作要點和規范。
4利用軟件工程學思想指導學生進行畢業設計
畢業設計本身是個工程,要用工程的方法去處理。從軟件工程的角度去指導學生進行畢業設計,在畢業設計過程中,要系統地將所學知識應用于實際問題,按軟件工程學思想展開工作。
圖1軟件生命周期與畢業設計各階段之間的映射
4.1以可行性研究指導選題目
可行性研究,應該從技術可行性、經濟可行性、操作可行性三個方面去研究,在畢業設計題目的選擇過程中,應立足于解決實際問題,注重發現問題、分析研究問題和開發創新的能力。選題原則上,可以參考以下幾點:①畢業設計的課題應該能使計算機專業所學的理論知識進一步理解并深化,也就是說,畢業設計應盡可能包括多門專業基礎課和專業課的綜合運用,并且要緊密結合工程實際,以有利于學生的全面訓練;②選擇難度適中的課題, 保證課題的完成質量;③課題要適合于各個模塊獨立進行,并便于最后統一調試;④課題規模應大小適合,難易程度適中。
4.2需求分析是關鍵
需求分析的基本任務是準確地回答“系統必須做什么”, 也就是對目標系統提出完整、準確、清晰、具體的要求。系統分析員可以通過多種形式來獲取用戶需求,對用戶提出的需求進行分析,以此來確定其中要實現系統的功能。對需求劃分優先等級,找出核心需求和重要需求,以保證系統構建的正確性。
在進行軟件類畢業設計時,為了保證需求獲取的準確性和全面性,可以讓項目組的所有學生都參與到用戶需求的獲取的工作中來,發揮集體的能力,并由指導教師進行最終的確認。
4.3規范設計過程
需求分析完成后的下一個階段就是系統設計,包括概要設計和詳細設計。
詳細設計階段的任務就是深入每個函數內部,以偽代碼或注釋的形式實現整個函數,設計出程序的詳細規格說明。
從系統設計開始,學生要按照軟件工程的要求,畫出DFD圖,對輸入、輸出數據流進行詳細的說明,建立符合軟件工程規范的數據字典,根據DFD 圖設計出模塊結構圖。
4.4重視文檔寫作
在畢業設計的過程中,要嚴格遵照軟件文檔的思想,記載設計過程的每一階段完成了哪些設計,下一階段的任務、目標及技術手段,這樣,把文檔作為整個設計的指揮棒,使設計有條不紊地進行。
4.5重視測試工作、撰寫畢業設計說明書
軟件測試工作也是軟件開發的重要組成部分。通過實際應用效果和測試數據,畢業設計的成效就可一目了然。
畢業設計說明書的撰寫是最后一個階段,要求學生回顧設計過程,總結勞動成果,這時學生就會對軟件開發及必須經歷的幾個步驟都有更深刻的認識。最后,要求學生對畢業設計進行系統的總結,寫出畢業論文。
5加強對學生綜合能力的培養
通過實踐的練習,不僅能加深對理論的理解,同時也能鍛煉運用知識分析問題、解決問題的能力。畢業設計這一實踐環節是高等學校培養學生實際能力的主要手段,也是高等教育的重要組成部分。充分、有效地設置軟、硬件的畢業設計對學生能力的培養至關重要,可以縮短學校教育與社會流行技術、工具的差距,滿足學生畢業后的工作需要。通過畢業設計必須達到培養學生以下方面能力的目的。
5.1工程實踐能力
學生能夠準確把握選題的邏輯重心和學術思路,能夠運用豐富的專業知識進行處理,具有嚴謹的理論思辨過程,以鍛煉畢業生的工程實踐能力,使畢業論文具有一定的應用和學術探討價值。
5.2書寫和表達能力
畢業設計論文是畢業設計工作的總結和提高,和做科研開發工作一樣,要有嚴謹求實的科學態度。在畢業設計期間,盡可能多地閱讀文獻資料是很重要的,畢業設計大多數是技術開發型的,其論文的主體部分應包括:總體設計、模塊劃分、算法描述、編程模型、數據結構、實現技術、實例測試及性能分析。這些內容根據任務所處的階段不同,可以有所側重。
5.3創新能力
提出創新要求后,帶領學生認真復習或補學過去沒學過、沒有學好的課程,并在此基礎上結合實際工作中出現的問題孕育出一些新的思路,將畢業設計推上一個新臺階的方式,與為每個人專門分配某一特定的作業來鍛煉學生基本技能的方式相比,更能擴展學生的視野,培養創新能力。
5.4協作能力和團隊精神
通過集體活動和成員溝通培養成員的團體情感,增強團隊的凝聚力。畢業設計將一個學生從入學初到畢業前的軟件專業課程的學習內容鏈接成線,實現了課程的真正銜接,也使學生在畢業前對軟件方面所學的知識進行了比較完整的概括與總結,達到了良好的理論聯系實際的教學效果。畢業設計彌補了課堂教學的不足,加深了對理論的理解,促使學生深入思考,敢于創新,同時使學生的動手能力、分析和解決問題的能力、書寫和表達能力、協作能力等各項能力都得到了培養和提高。
6結束語
軟件工程作為軟件開發工程化、規范化的具體實施方法,在將其應用到畢業設計中之后,學生在軟件設計的文檔書寫規范化等方面均有了很大的改善與提高。將軟件工程應用于畢業設計中不僅僅完成了一門課程從理論到實踐的過程,而且將一個學生從入學到畢業前軟件專業課程的學習內容鏈接成線,完成了前導后續課程的真正銜接,也使學生在畢業前對軟件方面所學的知識進行了比較完整的概括與總結,因此,軟件工程學在計算機專業學生畢業設計中的應用具有重要的現實意義。
1概述
在應用型本科院校中,尤其是軟件工程專業,畢業設計作為教學計劃的重要組成部分,是實踐教學中的最后一個環節,也是對學生在校期間所學知識的一次綜合、全面的總結、應用和提高。由于畢業生數量的不斷增加和軟件行業的迅猛發展,導致就業門檻越來越高,就業壓力也越來越大,通過畢業設計過程中的訓練,能有效提高學生的工程應用能力,使學生得到一定的實踐經驗,有利于學生從學校向工作崗位的平穩過度。因此,畢業設計質量的好壞,不僅反映了一所高校的教學質量,也會直接影響到學生的就業競爭力和就業后的職場適應能力。
2存在的問題
1)思想認識上不夠重視學生方面:有些學生存在完成任務式的應付心里,避重就輕,能簡就簡,敷衍了事。有些學生則只重視找工作而輕視畢業設計,不愿在畢業設計上花費太多時間和精力,甚至有些學生還以找工作為由,完全依賴于導師,向導師索要源代碼,甚至花錢在網上購買來交差。已經找到工作的學生,更是認為畢業設計做的好與不好對自己沒什么影響,對待畢業設計也更加心不在焉。導師方面:大多數指導教師除了要指導學生畢業設計之外,還要承擔大量的教學和科研任務,在畢業設計指導工作上能夠投入的精力和時間非常有限,致使有些導師對畢業設計的指導工作不太重視,對學生放任自流,不管不問,或者是直接將相關源代碼發給學生,以“簡化”指導工作。由于思想上的不重視,學生學習態度不認真,導師指導工作不到位,造成畢業設計流于形式,疏于管理,效果較差,使得學生白白浪費了畢業前的一次綜合訓練機會。因此,如何充分認識畢業設計的重要性,并進行相應的教學改革是軟件工程專業畢業設計必須要面對并解決的問題。
2)時間安排上不夠科學畢業設計一般安排在第八學期,這期間剛好是學生求職和考研的黃金時間段,由于目前就業形勢的日益嚴峻,學生就業壓力越來越大,當求職和考研時間與畢業設計時間發生沖突時,學生都會選擇將主要精力投入到求職和考研上,有些還要去外地求職、應聘考試、面試等,畢業設計自然是無暇顧及。而且,學校方面,為了保證就業率,往往對學生畢業設計的質量也是睜一只眼閉一只眼,這又在無形中鼓勵了學生消極對待畢業設計的態度,畢業設計質量下降也就成為必然結果。
3)題目設置上不夠合理由于畢業設計在高校各類教學活動中是最具綜合性和獨立性的,相對于常規課程而言,對指導教師要求也就更高,尤其軟件工程專業,工程實踐性比較強,但每年真正來源于實際工程項目的題目所占的比例較小,很多題目都是虛構出來的,導致有些題目不是理論性太強,就是缺乏具體需求的支撐,使學生很難從畢業設計過程中真正領悟到真實的軟件工程方法。而有些指導教師自己都沒參與過實際的工程項目,本身就缺乏實踐經驗,對學生畢業設計的指導只是憑著自己的感覺來進行,缺乏系統性、整體性、科學性和嚴謹性,學生遇到問題后,難以得到及時的解決,導致抄襲現象時有發生,甚至有些學生直接照搬往屆畢業生的設計成果。畢業設計的主要目的在于通過畢業設計的訓練來提升學生對所學知識的綜合應用能力以及創新能力,從而實現學生從學校到工作崗位的平穩過度。但由于題目設置上的不合理,題量太少,層次不清,導致選題匹配效果差。在選題時,部分能力差的學生所選題目難度太大,造成畢業設計很難完成,而有些能力強的學生所選題目難度過小,達不到能力提升的目的。
4)過程監管上不夠到位眾所周知,對于軟件工程項目而言,過程控制與管理是項目執行的關注點,畢業設計也當如此。雖然學校也會在畢業設計過程中組織對各階段的工作情況進行檢查,但執行檢查工作的不一定是專業教師,使得這種檢查大多只是對指導老師所填寫的各種表格和文檔等表面內容進行檢查,對畢業設計的過程起不到實際的監督作用,再加之有些學生在校外求職或實習等原因造成指導教師與學生無法定期見面和溝通不暢等問題,使得指導教師難以用軟件工程方法對學生進行指導。畢業設計雖然啟動較早,但實際上很多學生前期在畢業設計上很少投入時間和精力,只是在答辯前為了完成任務而趕工應付,這樣的畢業設計質量自然也就不佳。
5)量化考核上不夠嚴格畢業設計成績一般由平時成績+論文成績+答辯成績三部分按一定比例構成,平時成績由指導教師自行把握,論文成績則由其他有經驗的教師進行評閱,答辯成績由答辯委員會老師按照相關評分標準打分并取平均分,這樣雖然基本可以保證成績的公正性,但成績構成太簡單,未顯示地將開題報告、文獻翻譯、分析和設計過程以及總結等納入到考核范圍,對畢業設計的前期和中期工作沒有約束力。在成績評定時,有些導師要求不嚴,采取寬容遷就的態度。答辯時,通過門檻較低,造成大部分學生僅以答辯及格為目標,在思想上不重視,答辯準備工作不扎實。同時,學校為了提高學生畢業率,在最終答辯時,對畢業設計的質量要求也有所放松,這也是導致畢業設計質量難以保證的一個重要原因。
3采取的對策
時間安排上,可以提前啟動畢業設計工作,將原來的第八學期開始提前到第六學期中后期,此時學生已經學完大部分課程,具有了一定的知識基礎,而且學生都在校,可以隨時與導師見面,指導教師也有充分的時間對畢業設計項目隨時跟進,隨時指導。導師資格審查上,對于軟件工程專業來說,學生畢業設計的導師,應該由長期從事實際工程實踐或者有較好科研成果的“雙師型”(雙師即“教師”、“工程師”)教師來擔任,也可以聘請校外科研單位或企業中水平較高的工程師來擔任企業導師,這樣不僅可以減輕指導教師短缺的壓力,也能促進指導教師隊伍多元化模式的形成。題目設置上,要求題量要充分,使得水平層次不同的學生都能選到合適的題目;難度和工作量要適中,且要有一定的創意,使學生通過畢業設計的訓練,在綜合應用能力和創新能力上都能夠得到有效的提高。有課題的指導教師要盡量結合自己的課題來設計題目,沒課題的指導教師可以從與學校有合作的企事業單位中獲取有實際意義的題目。鼓勵學生根據自己的興趣點和就業取向自擬題目,允許學生到實習企業中根據企業的實際工程需要選題和實施畢業設計,這樣既能解決實際問題又可完成畢業設計。過程監管上,首先要在指導教師和學生之間建立有效的溝通聯系機制和問題討論的例會制度,充分發揮指導教師的引導作用,在畢業設計過程中,堅持每周師生溝通一次。學生提出問題,指導教師引導和總結,鼓勵學生發揮主觀能動性和創造力。同時,學校要成立由領導牽頭、具有一定工程實踐經驗的專業技術人員組成的督導組,對畢業設計過程包括選題、開題、中期檢查、答辯和成績評定等各個環節實施有效的監控和督導,加強管理學生的同時也要加強對指導教師工作質量的檢查,確保畢業設計工作能夠有序、有效的實施。量化考核上,要對畢業設計從前期的開題、文獻查閱,到中期的分析、設計、實現,再到后期的總結等各個階段的進行量化考核,前一階段的成績考核不合格者,不能進行下一階段工作,必須加以整改,直到整改合格后才能進入下一階段。對于未能按要求如期完成畢業設計的可以推遲答辯,對于首次答辯不合格的可以進行二次答辯,仍不合格的,可以緩發畢業證。只有建立嚴格的考核制度,才能對學生有約束力,讓學生從思想上重視畢業設計,進而保證畢業設計的質量。
4結束語
軟件工程是一個實踐性很強的專業,軟件工程專業的畢業設計作為大學四年學習的總結,是學生從學??缛肷鐣皟H有的一次大檢驗,它不僅檢驗了學生對所學知識的綜合應用能力和學生的綜合素質,同時也檢驗了學校的培養模式和教學質量。畢業設計質量的好壞,不僅關系到軟件工程專業的培養目標,也關系到學生的就業率與就業質量。因此,在就業形勢日趨嚴峻的情況下,軟件工程專業畢業設計的教學改革也要適應就業市場需求,緊跟行業發展變化,與時俱進。
作者:張華 單位:南陽理工學院
一、軟件工程專業畢業設計存在的主要問題
(一)畢業設計題目設置與選題方面
題目設置不合理,類別與層次不清晰,選題匹配效果差[2]。學生的畢業設計課題一般都按照指導老師的研究方向和實際工程項目提供,但每年真正來源于工程實踐題目比例較少。部分題目理論性強,學生根據所學知識不能很好理解;部分題目開發工具復雜,占用了畢業設計的大部分時間。在選題時可能導致學生想選的題目選不上,能力差的學生所選題目難度大,影響學生的積極性,導致選題效果差,造成畢業設計很難完成。
(二)畢業設計過程監控方面
畢業設計監控工作實施困難,效果較差。軟件工程專業畢業設計一般包含選題、開題、中期檢查、程序測試、撰寫畢業論文、答辯、成績評定。但對這些環節的監控有時候會形成空白帶,畢業設計不在實驗室進行,有的學生在實習單位實習,有的學生在外地找工作,老師不能定時與學生見面,老師無法了解學生的具體情況,且學生提交的各階段文檔流于形式,只有指導教師在進行監控,未形成完善的監控體系,導致監控不到位,監控效果較差[3]。
(三)畢業設計論文答辯方面
答辯考核方法單一,答辯僅由學生的講解和老師的提問兩個環節組成,考核準確度低。答辯通過門檻較低,答辯只對學生的畢業設計進行排名,一般排名在最后的學生才可能不及格,不利于提高學生畢業設計積極性,造成大部分同學僅以答辯及格為目標,思想上不重視,答辯準備工作不扎實。再由于軟件工程專業特點,畢業設計軟件作品評分標準難于量化,考核具有一定難度,也造成答辯效果不好。同時為了提高學生畢業率和就業率,畢業答辯的質量控制有所放松,直接導致了軟件工程專業畢業設計質量難以保障。
二、軟件工程專業畢業設計的教學改革
針對上述各項實際問題,主要進行的相關工作具體如下:
(一)合理設置畢業設計題目,動態選題
依照軟件工程專業的以市場需求為導向,培養應用型軟件工程人才的培養目標,在畢業設計題目設置環節,緊緊圍繞工程實際型、創新項目型、競賽題目型、科研項目型等類型進行題目設置,以適應市場動態需求。同時著力避免在畢業設計題目中設置虛擬型題目、理論研究型題目、綜述型題目、分析設計型題目等。在選題過程中,通過畢業設計管理系統(如圖1所示)進行多輪雙向動態選擇,動態調整題目各項技術參數以保證學生能選擇一個適合自己能力且能有利于自己以后工作的題目[4]。這樣,在選題之后,每個指導老師就可以根據學生不同能力進行分別指導,使不同能力的學生都能夠運用其所學知識解決工程實際問題,都能夠通過畢業設計增強工程實踐能力、工程設計能力與創新能力。近四學年軟件工程專業畢業設計各類題目匯總。
(二)畢業設計過程實行三級監控管理機制
學校成立以主管副校長為組長的畢業設計工作領導小組以加強畢業設計宏觀調控,學院成立以教學副院長為組長的畢業設計工作領導小組以加強畢業設計協調與監控工作,軟件工程專業成立以專業負責人為組長的畢業設計工作小組落實并實施畢業設計各環節具體工作[2]。具體參見下圖2。在實現畢業設計過程管理的三級管理機制的同時,為保障畢業設計工作質量,軟件工程專業要求所有指導教師必須具有中級以上技術職稱或碩士以上學位且有一定工程實踐經驗,具有較高教學、科研水平和創新能力,師德良好,工作態度認真負責。在每年的畢業設計指導工作開始前都對指導教師進行資格審查,擇優任用,且每位教師指導的學生不超過6人,以保證指導教師對學生的充分指導[5]。
(三)畢業設計過程量化考核
以往軟件工程專業畢業設計成績通常由三部分組成:一是學生的平時表現由指導老師把握;二是學生的畢業論文成績。由專業其他指導老師進行評閱;三是現場答辯成績。由所在組的指導教師按照相關評分標準打分并取平均分。這樣基本能夠保證畢業設計成績的公正,但是由于只有畢業答辯環節具有約束力即答辯未通過則總成績不及格,其他環節不具約束力,因此造成畢業設計前期、中期工作流于形式,前期、中期階段提交的文檔趨于應付、質量不高,最終導致畢業論文質量較低[6,7]。為此,軟件工程專業經過幾年的探索與實踐,實施了畢業設計各階段的軟件工程生命周期量化考核法即各個階段量化考核,且考核成績不合格者不能進行下階段畢業設計工作,必須加以整改,整改通過后才能進入下一階段畢業設計工作。經過幾年的實踐證明該考核方法切實可行,能夠保證畢業設計各個環節的質量,最終提高畢業設計總體質量。
(四)在畢業設計過程中進一步提高學生工程能力與創新能力
遼寧工業大學于2011年制定并實施了大學生創新團隊機制,建立了大學生創新項目申報機制引導大學生開展創新活動;引導學生每年都參加校級、省級、國家級軟件設計大賽等各類各級比賽[8]。隨著學校和學院創新教育活動多年持續深入開展,軟件工程專業學生的創新與創業活動取得了顯著成果。超過1/4的軟件工程專業學生能夠獨立主持創新性項目,并以該項目為原型申報畢業設計題目[9],同時參加省級、國家級計算機競賽并獲得獎項。通過主持校級及省級創新項目既畢業設計題目,學生工程能力、創新能力得到極大鍛煉與提高,本專業畢業生就業率與就業質量明顯提高。軟件工程專業學生主持參加創新項目既畢業設計題目情況見表3。
三、結束語
軟件工程專業畢業設計是一個極具綜合性、實踐性的重要環節,是對學生大學四年學習后面向社會與企業前的有且僅有的一次大檢驗,它不僅檢驗了學生所學知識、能力與綜合素質,還檢驗了軟件工程專業的培養目標、培養模式、課程體系、實踐體系、創新體系等相關環節[10]。經過幾年的探索與實踐證明,軟件工程專業所做的系列教學改革工作中的畢業設計教學改革工作有利于進一步增強學生的工程實踐能力和創新能力,有利于提高軟件工程專業畢業設計質量,有利于提高軟件工程專業學生就業率與就業質量。雖然軟件工程專業畢業設計教學改革工作取得了一定的成績,社會認可度逐年穩步提高,但如何動態調整教學計劃以跟進市場需求變化;如何深入開展大學生創新創業教育活動以進一步增強更多軟件工程專業學生的實踐能力及創新能力;如何進一步加強專業教師工程實踐能力、工程設計能力與工程創新能力以提高畢業設計指導效力;如何提高畢業設計過程管理效率等問題仍然是軟件工程專業所面臨的嚴肅課題[11]。因此,軟件工程專業的畢業設計教學改革工作也一定會緊跟時代變化,與時俱進。
作者:佟玉軍謝文閣王恩喜劉鴻沈姜悅嶺工作單位:遼寧工業大學電子與信息工程學院
摘 要:提出了在軟件開發類畢業設計中采用敏捷技術進行過程控制的方法,從實際效果中可以看出,這種方法較好地解決了軟件開發類畢業設計中遇到的各種問題,能夠有效提高軟件開發類畢業設計的質量,使學生在畢業設計中得到充分的鍛煉和提高。
關鍵詞:畢業設計;敏捷軟件開發;極限編程;軟件質量
0 引言
畢業設計是本科教學中非常重要的一個教學環節,是對學生所學知識的檢驗和總結,是培養學生獨立分析和解決問題能力的重要手段,也是學生進入工作崗位前的最后一次實戰演習;并且,它是本科教學水平評估指標體系的重要指標之一,是考核學校本科教學水平和質量的重要內容。
軟件開發是計算機專業畢業設計中一個重要組成部分。學生開發的軟件質量直接反映出畢業設計質量,而指導教師的指導和監控對學生開發軟件的質量高低有很大影響。本文首先介紹了軟件類畢業設計的特點、遇到的問題及其原因分析,然后將敏捷軟件開發技術應用于指導和監控軟件類畢業設計,最后通過具體的實踐對其進行總結。
1 目前狀況及問題
1.1 軟件開發類畢業設計的特點
本科計算機專業畢業設計中,軟件開發占很大比重。而軟件開發類畢業設計與其他專業的畢業設計以及商業化軟件開發又有很大不同,主要體現在:
(1)設計的最終目的是要生成可運行的、實現一定功能的、錯誤率較低的實際軟件產品,而不僅僅是提交一份文檔報告。
(2)設計小組成員分工合作,要將各人的成果整合,形成完整的軟件;小組每個成員不是完全孤立的,每個人的工作都與其他人息息相關。
(3)項目小組一般只包括一個人或幾個人,人數較少,遠少于一般商業化軟件開發項目小組的人數。
(4)小組成員沒有足夠的團隊意識,沒有足夠的軟件工程經驗,一般沒有作為一個團隊的成員共同開發過軟件產品。
(5)項目開發過程不完全,編碼的結束即意味著項目的結束。項目不要求有完整的工程化的分析和設計文檔。
(6)有些軟件開發沒有與商業項目掛鉤,也就沒有真實客戶的需求對其進行功能和性能上的監控。
1.2 遇到的問題及原因分析
根據上面的特點可以看出,普通畢業設計的指導方式或是工程化的控制手段,并不能適應軟件開發類畢業設計,最終會導致畢業設計質量低下,學生得不到真正鍛煉。比較突出的問題主要表現在以下幾個方面:
(1)項目組成員各人任務不明確,能力參差不齊,并且有時沒有充分地交流設計思想,最后導致軟件各個功能模塊無法有效整合。
(2)項目需求因為各種原因不斷改變,軟件不斷修改,最終完成的軟件產品達不到設計要求。
(3)編碼開始后,軟件的錯誤和缺陷不斷涌現、不斷累積,最終無法控制。
這些問題的產生,固然與設計選題、學生能力、實驗環境以及教師的指導力度分不開,最重要的還是與教師的指導和監控方式有關。應當采用恰當的指導和監控方式,最大化地促進學生能力的提高,最有效地根據各個學生的特點,推動學生逐步達到畢業設計軟件質量和功能的要求。
2 敏捷軟件開發技術的應用
采用適當的指導和監控方式,實際就是要求教師對學生軟件開發應用適當的軟件過程模型,也就是軟件開發的工程化控制手段。
2.1 敏捷軟件開發簡介
傳統的軟件工程方法中的架構設計與程序開發在時間上是先后分離的,這種分離常常導致一些脫離實際的設計和脫離設計構想的編程,導致最終軟件開發的不理想甚至是失敗。鑒于以上問題,敏捷軟件開發技術應運而生。
敏捷軟件開發以交付而不是以構造為核心,它強調的是交付對客戶有價值的軟件,而不是用戶需求中所描述的軟件。簡言之,就是把一個大項目分為多個相互聯系,但也可獨立運行的小項目,并分別完成,在此過程中軟件一直處于可使用狀態。敏捷軟件開發方法提倡采用先進的技術和高水平的小型團隊,并輔以人性化的管理,充分發揮軟件開發者的才華,建立暢通的交流機制,使軟件開發團隊水平和軟件質量共同提高。
敏捷式開發采用適應性方法,而傳統的軟件工程學采用的是預測性方法。敏捷式開發是以人為主的,而傳統的工程學是以過程為主的。二者的主要區別存在于它們對軟件開發過程的描述中,也就是說,敏捷開發實現當前最需要的功能,然后根據變化來修正和改進;而傳統軟件工程學一開始就將軟件的各種架構預測好,然后采用固定的過程來實現這種架構。軟件開發中的變化是不可避免的(通常傳統軟件開發的失敗主要原因就是不能很好適應這種不可預知的變化),因此就要找到一種新的方法能夠更有效地適應變化,這其實也就是敏捷式開發方法所要達到的效果。
可以看出,上述的敏捷軟件開發的許多特點正是與軟件開發類畢業設計的許多特點不謀而合,例如,小型的開發小組,適應性(適應不可預測變化)的開發機制,短期的交付(畢業設計一般都在半年甚至更短時間內完成軟件的交付),充分發揮小組成員的特點,建立暢通的交流機制等等。因此,將敏捷開發思想引入畢業設計中的軟件開發,不失為解決后者諸多問題的很好嘗試。
2.2 敏捷軟件開發應用 敏捷軟件開發技術包含若干的價值觀、原則和實踐方法。將其用于畢業設計的指導和監控,主要應包含如下原則的應用:
2.2.1 增量式開發
傳統軟件類畢業設計采用傳統軟件工程學指導方法,先進行需求分析,然后根據需求進行功能模塊劃分,接著開始編程。如果最初階段不能很好地完成分析和設計任務,后面的軟件開發將出現嚴重問題。
而在敏捷軟件中,采用的是增量式開發,對于難度較大的軟件設計,不是一步吃透功能,而是逐步添加功能,在改進的過程中促進學生能力的提高。在筆者指導的一項畢業設計中,要求學生用Java編制網絡實時通訊軟件。采用增量式開發方法,先要求學生實現基本功能,即發送字符串到另外一臺計算機,使用Windows的超級終端作為接收機進行測試;接下來要求學生實現程序互相發送和接收字符信息;然后,實現聊天室的多人聊天的線程控制;進一步可以實現數據庫存儲登錄用戶信息,并進行驗證;最后,實現其他功能,例如網絡硬盤,文件傳輸等等。在開發過程中,增量式設計能夠讓學生逐步進入高層次的內容,而不是一開始就進行高難度的開發。并且,通過逐步修改代碼,可以提高學生閱讀代碼和優化代碼的能力,學生的編程水平得到很好的提高。
2.2.2 可持續的開發速度
敏捷開發技術不要求團隊一開始就盡全力完成任務,而是盡量保持一種穩定的、可持續的開發速度;團隊的成員必須始終保持旺盛的精力和警覺的思想。
在很多畢業設計中,一開始學生就以極高的熱情和全力以赴的狀態去工作,然而隨著進度的延緩,錯誤不斷增多,以及越來越復雜的需求變化,學生的熱情迅速減退,最終影響設計成果。因此,指導老師必須充分調動學生的積極性,又不能讓學生 的精力過早地消耗,要保持一個穩定的進度。
2.2.3 簡單
敏捷軟件開發方法采用最簡單的方式實現當前最需要的功能。在畢業設計中,針對某一個功能,采用盡量簡單的方式去實現,不需要考慮為了將來的功能而進行“提前的準備”。因為這種“提前的準備”往往會讓學生考慮問題過多,反而忽略了當前最重要的內容。
然而,簡單并不代表著功能的縮減,當某些功能的實現成為必須的時候,敏捷軟件開發方法采用在代碼上改進的方式來完成,并且以此為機遇,充分進行反省,讓學生在改進中得到進一步提高。
2.2.4 結對編程
結對編程是敏捷開發和極限編程(XP)的重要實踐,它是指兩個程序員結對使用同一臺計算機完成編碼――其中一位控制鍵盤并輸入代碼,另一位觀察輸入的代碼并尋找著代碼中的錯誤和可以改進的地方。這種方式能極大地促進知識在團隊中的傳播,并有效降低代碼的錯誤率。
在畢業設計中,根據學生的特點,采用結對編程方式,可以讓學生充分交流,互補所短,互用所長,互相學習。例如,在網頁制作類的軟件開發中,ASP腳本編程人員和界面設計人員結對,能夠充分利用二者的特點,將腳本程序和網頁界面元素有機地結合起來,形成功能完善,界面美觀的動態網頁。
2.2.5 適應改變
敏捷開發的一個重要特點就是它能夠很好地適應改變,并且歡迎改變。這里的改變主要是指功能需求方面的改變。而敏捷開發對改變的適應,主要是通過增量開發,持續交付以及不斷地改進與反省來實現的。
在畢業設計中,設計題目一經給出,主要方向不能變。然而選擇題目的學生是變化的,個體能力有時候有很大差別,并且在開發中會碰到很多不能預知的技術問題。采用敏捷開發中的過程控制手段,可以有效地讓畢業設計小組更好地應對各種變化,不會因為突發因素導致軟件開發的失敗。
2.2.6 個體激勵和交流
畢業設計的重要目的是促進學生各方面能力的提高,采用的手段可以有很多。在敏捷設計中,強調個人能力在團隊中的充分展示。把這種思想應用于畢業設計指導中,可以采取定期召開小型交流會議的方式,讓每一個組員充分發揮自己的能力,以“頭腦風暴”的形式對系統當前狀態和改進方式進行暢所欲言的交談。通過這種形式的交流,能夠充分調動整個小組成員的積極性,及時發現系統開發過程中的各種問題,增強整個小組的凝聚力,有效提高學生的團隊協作能力。
2.2.7 反省
好的團隊并不只是埋頭工作,他們會思考如何工作和為什么工作。在畢業設計指導過程中,指導教師應當在適當的時機提醒學生對開發工作中各項內容進行反省,讓學生能夠有機會去辨別可能或已經發生的錯誤。反省不僅僅是簡單的思考過程,反省的后面應該緊跟著行動,學習是反省的行為,要能夠將錯誤造成的危害盡早地阻止,并從中學習,以免同樣錯誤的再次發生。
2.2.8 其他原則
敏捷軟件開發技術還包含其他一些原則,在設計中包含了面向對象設計的一些基本原則,例如單一職責原則(SRP)、開放一封閉原則(OCP)等等。要將這些設計原則應用到具體的軟件開發中,需要學生熟悉面向對象程序設計的相關概念和技術。
將敏捷軟件開發技術應用到畢業設計的指導過程中,需要指導教師本身對它有較為深刻的理解,并且勇于進行大膽的嘗試一畢竟敏捷開發的很多實踐是與傳統軟件工程學方法相悖的。指導教師可以先在某一門程序設計課的課程設計中采用這種思想,然后進行相應的調整,再將其應用于畢業設計的指導工作。
3 結束語
將敏捷軟件開發技術應用于指導畢業設計,能夠充分適應軟件類畢業設計的特點。在實際采用這種方法對我校的兩組畢業設計小組進行指導的過程中,可以看出,這兩組同學在對語言工具和相關知識不是很熟悉的情況下,采用漸進的方式,逐步實現設計要求的功能,并且不斷對代碼進行改進,軟件完成的質量比其他小組明顯要高。畢業答辯中,小組成員能夠很清晰地闡述其軟件開發進程以及相關知識的學習過程。并且,小組成員通過畢業設計加深了交流,團隊協作能力有了大幅度的提高,小組成員個人的精神面貌也有了較大的改變。
摘要:針對地方應用型本科高校計算機軟件類畢業設計質量不高的問題,對畢業設計中存在的問題進行分析,并結合軟件工程的基礎理論,提出利用軟件工程思想對計算機軟件類畢業設計進行指導,以提高地方應用型普通本科高校畢業設計的質量。
關鍵詞:軟件工程;畢業設計;應用
一、引言
畢業設計是本科畢業生在校期間的最后實踐和綜合實訓階段,是實現本科教育培養目標的重要組成部分,是深化、拓展、綜合應用所學理論知識的重要過程;也是綜合素質與工程實踐能力培養效果的全面檢驗;是學生畢業及學位資格認定的重要依據;是衡量高等教育質量和辦學效益的重要評價,是對專業理論知識和專業技術綜合應用能力的強化訓練和提升[1]。在畢業設計的過程中,學生利用所學專業理論知識,通過了解社會,分析社會需求,深入實踐,完成畢業設計的任務和撰寫畢業論文(設計)報告等各個環節的工作。對于地方應用型普通本科高校而言,畢業設計就相當于一般高等學校的畢業論文,但是畢業設計不同于畢業論文,它的組成部分不只是一篇學術論文。應用型高校的畢業設計注重的是“應用性”和“實踐性”,學生畢業設計要求學生針對某一課題,綜合運用本專業有關課程的理論和技術,自己動手動腦做出解決實際問題的設計。目的是總結、檢查學生在校期間的學習成果,是評定畢業成績的重要依據。同時,通過畢業設計,可培養學生開發項目的基本綜合能力,為學生就業能力中的專業能力奠定堅實的基礎;培養綜合運用已有知識獨立解決問題的能力,從而加強學生應用能力的培養,使學生能夠學以致用。
二、地方應用型普通高校計算機相關專業學生畢業設計的現狀
近幾年來,由于學校對畢業設計要求不斷提高,學生從選題到設計再到寫出畢業設計報告的過程中總存在這樣那樣的問題,最終有個別同學沒有順利通過畢業設計,沒有拿到畢業證和學位證的情況時有發生,并且大多數畢業設計的水平不高,達不到培養學生獨立解決問題和提高學生應用能力的目的。因此,如何指導學生做好畢業設計,提高學生畢業設計水平和質量,是地方應用型普通高校面臨的一個重要問題。
(一)畢業設計選題現狀
最近幾年,我校計算機相關專業畢業生自進入大四秋季學期開始,在進行畢業實習的同時,也進入了畢業設計準備階段:畢業設計選題,雖然畢業設計選題過程中,各級領導、指導教師和學生在態度是都很重視,但是在選題時也會存在很多的問題,主要有以下三個方面。
1.選題不夠準確。部分學生選題未經深思熟慮,所選畢業設計題目要實現的功能太多,在規定時間內不能獨立完成,而最終只能實現部分功能,或部分模塊。
2.題目相似或重復雷同。學生選題存在渾水摸魚的思想,在畢業設計選題過程中不是根據自己的興趣愛好、專業知識學習情況等確定研究選題,而是選擇與他人類似或雷同的選題,甚至同一批畢業的許多學生選題一致。比如:“XX管理系統”等,除了可能冠以的系統名稱不同之外,其余基本相同。
3.應用價值低。部分學生的選題是當前十分成熟的項目,沒有研究的必要;有些選題已經被淘汰,在實際生活和工作中沒有多大用途。
(二)畢業設計需求分析階段現狀
通過調查,許多學生選題完成后,沒有對自己所做畢業設計選題進行仔細了解、分析,他們認為在畢業設計中最重要的就是編程,其他方面一帶而過[2],從而造成畢業設計過程中主題經常進行修改,最終使得整個系統雜亂無章,無法繼續進行下去。因此學生在畢業設計的需求分析階段主要有以下三個方面的問題。
1.選題后未進行實際調查研究,甚至未查找相應的參考文獻。
2.需求分析進行得不徹底、不準確,即使選題后查找了參考文獻和資料的,也未做充分了解和分析。
3.在需求分析階段沒有寫出需求規格說明書或系統分析報告就匆忙進入系統設計階段,導致隨著系統設計的逐步深入,原來確定的需求不能滿足畢業設計的需要,正在進行的設計與開始的期望和設想又不相符。
(三)畢業設計系統設計階段現狀
在系統設計階段,普遍存在以下兩個方面問題。
1.由于需求的不明確,在進行系統設計時,修改隨意,沒有嚴格按照軟件開發的步驟進行。好多學生在進行系統設計時并沒有建出相應的功能模型,不管是用例圖還是DFD圖都沒有,而且系統設計過程中功能隨意變換,并且各功能模塊的層次結構不清晰,使得整個系統的功能模塊劃分凌亂,不符合軟件設計中“高內聚,低耦合”的原則。
2.在軟件設計過程中,不先進行概要設計、詳細設計和模塊設計,沒有軟件的過程性描述,直接進行編碼,存在想到哪里就做到哪里,走到哪兒算哪兒的隨意思想[3],當前內容沒有做完便開始其他內容,使得整個系統設計雜亂無章。在這樣的一種研究狀態下,即使完成了設計,效率也非常低下,軟件結構混亂,功能實現不完全,降低了軟件設計的質量。
(四)畢業設計實現階段現狀
通常把編碼和測試統稱為實現。在進行軟件設計后,就可以根據設計結果來實現,將軟件的過程性描述編碼,得到計算機可以運行的源代碼。在實現階段主要有以下幾方面的問題。
1.編碼隨意。學生在編碼的過程中,不注意編程風格的把握,導致程序的可讀性、可理解性、可修改性等較差,在答辨的過程中,要求指出某個功能模塊的代碼時,經常要花費很多時間才找得到。
2.測試和調試可有可無。大部分學生在畢業設計的軟件編碼完成以后,從沒有想過進行完整的系統測試,或者只對個別功能進行測試或是隨意測試,沒有按照測試步驟逐步進行;基本沒有單元測試和集成測試,一般只是最終隨便輸入幾個數據簡單檢測一下,如果有錯,修改了就算完了;也沒有進行回歸測試,沒有測試計劃,沒有想過用什么測試技術來檢測某一類型的錯識,沒有相應的測試用例,也沒有測試結果分析。由于學生畢業設計都是一人一題,基本上是一個人完成所有步驟,就算有測試,在測試階段也是自己進行測試,從心理學的角度來說,自己對自己開發的軟件進行測試是不可取的。
由于前面階段的文檔不完善,也不重視測試過程,不清楚是否實現了系統最初設計的功能,是否達到相應的性能要求,總以為程序做出來后畢業設計就完成了,使得畢業設計經常在更換運行環境或答辯時發生錯誤和問題,從而使得設計得不到好評甚至無法通過。
(五)畢業設計應用現狀
最近幾年,我校計算機相關專業畢業設計投入使用數量接近于零。究其原因主要是由于設計不完全,未進行測試和調試,存在的錯誤和缺陷較多,文檔和數據不完整,導致所開發的系統或軟件不能方便地轉讓、變更、修正、擴充和使用,也沒有為后期培訓、維護留下完備的資料;因此,不能投入到真正的使用過程中,也不能實現系統或軟件產品的效益。
三、軟件工程思想的應用
軟件工程(Software Engineering,簡稱為SE)是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟件的學科。軟件工程中的軟件生命周期是一個軟件從軟件定義、開發、運行和維護,直到最終被廢棄的整個過程[2]。地方應用型普通高校計算機相關專業學生畢業設計基本都是開發一些中、小型應用系統或軟件,因此,學生畢業設計也要經歷軟件生命周期各個階段,嚴格遵守軟件工程的各個原則,這樣有助于解決畢業設計中存在的問題,提高畢業設計的質量。通過對應用型普通本科高校計算機相關專業的學生在進行畢業設計的過程中存在的問題進行分析,在畢業設計的過程中,必須運用軟件工程的觀點、技術和方法來指導畢業設計,這樣既節約了畢業設計的時間和學生的精力,也能做出最優質的畢業設計。
1.選題過程中的應用。畢業設計選題就是軟件生命周期的問題定義中的問題提出階段,選好題目是進行深入研究的基礎,也是寫出高質量畢業論文的前提。地方應用型普通本科高校計算機相關專業的畢業設計選題必須做到以下幾點:(1)必須在對選題做了充分調查、分析,對檢索的參考文獻、資料有了整體把握的基礎上提出。(2)必須符合本專業培養方案規定的培養目標的要求。(3)以選擇工程性較強的課題為主,確保有足夠的工程性訓練。(4)要有明確的設計成果,對于較大型任務的課題要明確階段性成果。(5)要達到規定的工作量,難易度適中,確保能在規定的時間內完成整個課題工作。(6)要圍繞生產生活實際,所選題目一定具有一定的理論意義和實踐意義,具有一定的價值。(7)原則上一人一題,對于較大型任務的課題,每個學生必須有獨立子課題。結合以上幾點,分別從專業基礎、現實意義等方面進行全面分析,進行取舍,最終得出選題。
2.開題過程中的應用。在畢業設計的開題過程中,需要明確所選題目的選題依據(包括選擇課題的背景、選題研究的理論及實踐意義)、選題研究現狀(包括目前國內外對本選題的研究情況和有待解決的問題)、研究內容與方法,而這些就是軟件工程中需求分析階段應該做的事情。
需求分析指的是在建立一個新的或改變一個現存的電腦系統時描寫新系統的目的、范圍、定義和功能時所要做的所有的工作[3]。因此開題過程中最重要的是進行需求分析,需求分析具有決策性、方向性、策略性的作用,在軟件開發的過程中具有舉足輕重的地位。需求分析完成的好壞直接影響后續軟件開發的質量。開題過程中需要指導學生大量地閱讀相關的研究資料,同時根據資料進行分析研究,對當前畢業設計的研究進度做到心中有數,明確畢業設計的具體方向,寫出畢業設計的研究內容與方法,得到相應的設計提綱,解決好設計什么,如何設計的問題。因此,應用好軟件工程的思想來指導畢業設計的開題是至關重要的。根據學校對學生畢業論文的要求,在計算機相關專業的畢業設計報告中,要求要有數據流圖、數據字典等相應內容,而軟件工程中的數據流圖(Data Flow Diagram,簡稱DFD),它是從數據傳遞和加工角度,以圖形方式來表達系統的邏輯功能、數據在系統內部的邏輯流向和邏輯變換過程。它是描述系統中數據流程的圖形工具,它標識了一個系統的邏輯輸入和邏輯輸出,以及把邏輯輸入轉換為邏輯輸出所需的加工處理[3]。因此,在這個階段,要指導學生按照DFD圖的要求,確定設計的功能,然后根據系統分析結果寫出分析報告,就得出畢業論文中系統分析階段的初始文檔。
3.在實踐研究環節的應用。根據需求分析(開題階段)的結果進行軟件的概要設計和詳細設計,注意在設計過程中要嚴格按照軟件工程對于設計階段的指導原則來進行設計。將概要設計階段需求分析得到的DFD轉換為軟件結構和數據結構,即是根據需求確定軟件和數據的總體框架,設計出軟件的結構,也就是要確定系統中每個程序是由哪些模塊組成的,以及這些模塊相互間的關系。然后再進行詳細設計,設計出每個模塊的實現算法、所需的局部數據結構,并且對每個模塊寫出過程性描述;為每個模塊設計出一組測試用例,在進行測試時就以此測試用例來進行測試。詳細設計階段的任務還不是具體地編寫程序,而是要設計出程序的“藍圖”,以后將根據這個“藍圖”寫出實際的程序代碼。因此,指導教師要對學生的設計過程進行監督和指導,防止學生盲目的進行編碼。
4.在實現階段的應用。在編碼的過程中,要注意編程風格的把握,編程的風格在很大程度上影響程序的可讀性、可測試性和可維護性。
在測試階段,可以進行交叉測試,即學生之間可以兩兩交叉,相互測試,以更好的達到測試效果,同時也培養了學生的團隊意識和合作意識。
在測試過程中要注意運用軟件工程的測試原則和測試思想,嚴格按照單元測試集成測試確認測試系統測試驗收測試的測試步驟進行,利用白盒測試技術進行單元測試,黑盒測試技術進行其他測試,并且在找出錯誤并修改后要進行相應的回歸測試,確認修改了錯誤并且沒有引入新的錯誤,這樣有利于找到軟件中的各類錯誤,提高軟件的質量。因此,在軟件的測試過程中,一定要嚴格按照軟件工程中的測試原則來進行,不可隨意進行測試,并且要注意測試文檔資料的收集整理,要有相應的測試計劃和測試報告。對學生的創造性的思維和想法,指導教師要給予支持,積極引導,鼓勵學生大膽創新,用應用型人才培養目標來要求學生,保證高質量的畢業設計的完成。
5.在畢業論文(設計)報告方面的應用。對于應用型普通本科高校計算機相關專業的畢業設計而言,不單單是完成了一個系統的設計,還要有相應的設計報告,而設計報告的編寫過程中,很多學生存在文字表達能力不強的現象,為了完成報告,就有可能會抄襲,特別是在軟件開發的各個階段文檔材料不全的情況下更為嚴重。因此,在學生進行軟件開發的各個環節中,指導教師都應該按照軟件工程的觀點來進行指導,并要求學生在各個階段都完成相應的文檔。這樣在畢業設計報告撰寫的過程中,只要將各個階段的文檔進行合并、整理就得到相應的設計報告,并且是一篇重復率不高的高質量的設計報告。
6.在畢業設計實際應用方面的應用。因為學生在整個系統或軟件過程中均按軟件設計規范準備了文檔和進行了完整的系統測試,從而為系統或軟件的專利申請提供了充分必要的資料,并為畢業設計的實際應用打下良好的基礎。
四、結語
計算機相關專業學生的畢業設計在學生的整個大學生活中具有極其重要的地位和作用,根據應用型普通本科高校人才培養的定位,主要是培養學生的獨立思考能力、動手能力和應用能力。通過對軟件工程思想在計算機相關專業學生畢業設計的過程及方法中的應用研究,逐步實現學生畢業設計的實際成果轉化,從而為應用型計算機相關專業人才培養提供相應的借鑒。
【摘要】高職院校的畢業設計是高職教育教學的一個重要環節,是高職人才培養計劃的重要組成部分。做好畢業設計,對高職培養高素質技術技能人才,具有十分重要的作用。在應用電子技術專業畢業設計中,引入Protel軟件,極大地提高了學生畢業設計質量。
【關鍵詞】高職 應用電子技術專業 畢業設計質量 電子線路CAD
高職院校畢業設計是高職教育教學的一個重要環節,是高職人才培養計劃的重要組成部分,也是高職實現人才培養目標的最后一個階段[1]。它既是對學生在大學期間所學知識、技術與能力的檢驗,也是對高職院校教育教學質量的全面、綜合的檢查[2]。它既是學生對理論知識綜合運用的過程,也是學生理論結合實踐分析解決實際問題和培養初步科學研究能力的重要階段,又是對學生團隊協作能力、創新思維能力等綜合素質的全面檢驗。做好畢業設計,對高職培養高素質技術技能人才,具有十分重要的作用。對以培養面向現代電子產品生產企業從事電子產品的生產及組織管理的應用電子技術專業來說,在畢業設計中引入Protel軟件開展“基于產品研發過程”的課題研究,意義重大。本人在指導應電專業學生開展畢業設計中積極進行了這方面的探索,取得了良好的效果。
1.將Protel軟件引入應電專業畢業設計的可行性
Protel軟件最早是Altium公司在80年代末推出的,經過了Protel DOS版,Protel 98,Protel 99 SE,Protel DXP等多個版本,目前最高版本是altium designer。在電子行業眾多的CAD軟件中,它當之無愧地排在眾多EDA軟件的前面,是電子設計者的首選軟件。該軟件具有電路原理圖SCH繪制、原理圖元件制作、電路仿真、PCB印制電路板設計、元件封裝制作、可編程邏輯器件設計、圖表生成、電子表格生成等強大的電子產品開發的功能。
應用電子技術專業畢業設計內容涉及電子電路的設計,包括運用電路基礎、模擬電子、數字電子、單片機、可編程邏輯器件等相關知識與理論,同時還要在萬能電路板上進行元器件的安裝和電路板的焊接。在這個過程中往往還需要加一個面包板的環節,就是學生要先在面包板上對所設計的電路進行驗證,若電路驗證成功,則再到萬能電路板上進行。在畢業設計中運用Protel軟件,將極大縮減電路驗證的流程,并大幅提高電路的可靠性。Protel軟件起到了很好的橋梁作用,有效銜接了電路設計與電子工藝制作,電路設計的合理性與否得以較可靠驗證,而PCB板的制作使得電路連接簡單輕松,焊接的工作也簡便了不少。對學生來說,畢業設計的過程,成為檢驗和鞏固并提高其系統專業知識的過程,同時還鍛煉了邏輯思維、整體意識和時間管理能力。
2.引入Protel軟件后應電專業畢業設計的步驟
學生選定畢業設計課題后,一般需經過以下七個步驟完成最終的畢業設計作品。
2.1 確定電路設計方案
根據所選課題的設計要求,結合專業已學的電子線路、單片機、PLC技術、CPLD可編程技術等相關知識,確定可實現的幾個方案,通過在經濟上、電路可靠性上、電路性能方面等比較各方案,選擇出最佳的電路設計方案。
2.2 繪制電路原理圖
根據電路設計方案,打開Protel軟件,進入原理圖編輯器,先設置圖紙參數,后查找或制作所需元件,并把它有序放置到原理圖上來,調整元器件之間的位置和間隔,再放置接插件、電源、接地符號等。然后,對電路進行連線,連線完畢放置網絡標號。生成材料清單,檢驗所用元器件的Designator、Value、Footprint、Simulation等重要參數是否設置合理;生成網絡表,檢查電路信息,若發現錯誤及時糾正。最后,對整個電路進行編譯ERC校驗,確保電路正確。
2.3 電路仿真及方案修正
Protel DXP提供了10 種分析仿真方式,包括直流工作點、直流掃描、交流小信號、瞬態過程、Fourier、噪聲、傳輸函數、溫度掃描、參數掃描以及蒙特卡羅分析等。電路原理圖繪制完畢后,設置仿真方式并指定要顯示的數據節點,系統進行電路仿真,生成sdf 文件,同時打開窗口顯示分析結果。觀察電路仿真結果,分析仿真波形是否符合電路設計要求,如果不符合,則重新調整電路參數進行仿真,直到滿意為止。
2.4 設計PCB板并打印圖紙
電路仿真達到滿意結果后,就可以進入PCB印制電路板的設計了。一般的步驟是先進入PCB編輯環境,定義PCB印制電路板,可自定義板框大小,也可以采用軟件自帶的PCB板制板向導來實現;接著從原理圖導入網絡表信息;再是對元件封裝進行合理美觀布局;然后進行布線規則的設置,線寬大小建議在12mil以上;最后是自動布線,布線成功后就可以使用熱轉印紙按1:1的比例依次選擇不同層進行打印。
2.5 制作PCB板
PCB圖紙打印好后,分五步完成。第一步是曝光,選擇合適大小的曝光覆銅板,打開多功能制板系統抽屜式曝光機,將圖和覆銅板放入,曝光約90秒左右后完成;第二步是顯影,調制好一定濃度的溶液,并加熱到50攝氏度左右,將線路板放入顯影槽進行顯影;第三步是蝕刻,蝕刻時間一般需要十幾分鐘;第四步是鉆孔,根據焊盤大小選擇不同的鉆頭進行鉆孔;第五步是表面處理;若為雙面板,還要進行第六步,過孔。線路板經過以上步驟后,可用萬用表檢測電路是否均連通,以保證后面的步驟順暢進行。
2.6 元器件接插并焊接
把選用好的元器件接插到合適的位置,用電烙鐵、松香等對元器件進行焊接,這里要注意不要出現虛焊、假焊和漏焊現象,要盡可能做到焊點表面完整、連續和圓滑。
2.7 電路調試
電路焊接完畢,則需要用萬用表、示波器等工具對電路進行調試,發現故障,進行電路分析并排故,直到電路功能正常為止。一般來說,畢業設計的電路相對簡單,在前面幾個步驟都順利的情況下,電路調試基本都能成功。有出現問題的,往往都是電路設計方案本身存在問題,并在仿真階段也是含含糊糊過去的。
3.引入Protel軟件后應電專業畢業設計的實效
將Protel軟件引入到應用電子技術專業畢業設計后,總體來講,學生畢業設計的質量大大提高。具體體現在以下四個方面。
一是學生對專業的自信加強了。畢業設計系統地考驗了學生對所學專業知識的掌握和運用能力。引入Protel軟件后的畢業設計里,學生既有對專業理論知識的提取、運用和消化,又有基于產品研發過程的專業實踐的鍛煉,理論與實踐相結合,學生的專業自信明顯提升。
二是學生的綜合素質增強了。畢業設計過程中,碰到的可能是對某個元器件用法和功能的不熟悉,也有可能是對電路參數大小比較模糊,這些都需要學生去查找文獻,提高自學能力;另外,在電路設計、電路仿真過程中,可能會出現參數不符合要求,需要修正和調整,這個過程可能是反復的,考驗的是學生對某項任務的堅持不懈和百折不撓的精神;此外,還培養學生的嚴謹和細致。
三是學生畢業論文的內容充實了。學生對畢業設計的整個過程進行梳理和筆錄的內容就可構成畢業論文的核心內容了。學生經過畢業設計的親身實踐,有過程,有感觸,必然言之有物。
四是學生畢業就業的專業對口率提高了。引入Protel軟件后畢業設計,不僅讓學生對專業更有自信,同時學生對Protel軟件的掌握也加深了,對制板的流程也熟悉了,在就業過程中,Protel繪圖員工、制板工等相關崗位的工作也能承擔了。
4.結束語
在應用電子技術專業畢業設計中引人Protel軟件,改變了過去畢業設計只注重理論設計的純教學性的做法,采取理論設計與實踐制作相結合,動手能力與創新精神相結合[3],充分發揮學生主體性作用的方式相比,取得了良好的效果。
【摘要】本文探討了在本科畢業設計中加入運用FLUENT軟件進行工程計算分析的相關課題的可行性。實踐證明,學生通過運用FLUENT軟件進行工程計算,夯實了理論基礎,增強了解決本領域傳熱和流動問題的能力,提高了學生的學習興趣和未來的專業競爭力。在做好本文所提及的三點問題(學生和課題的選擇、指導過程中的問題)的前提下,在畢業設計中加入FLUENT軟件工程計算相關課題不僅可行,還值得在一定范圍內推廣。
【關鍵詞】FLUENT 計算流體力學 計算傳熱學 畢業設計
1.引言
本科畢業設計是在本科教學過程的最后階段進行的總結性的實踐教學環節。在畢業設計環節中,學生應當綜合運用本科階段所學的各科知識和技能,對所需解決的課題進行思考、分析、設計和研究,從而全面、系統地完成課題交給的任務??梢姡厴I設計是對學生本科階段學習質量的全面性的檢驗,也對學生能否順利拿到畢業證書和學位證書起到直接和決定性的作用。
計算傳熱學又稱數值傳熱學,是研究用數值方法求解傳熱問題的一門科學。它可以理解為:根據所需求解的實際問題建立合理的數學模型,利用離散化處理的數值方法,再通過用計算機高級語言編制的程序,以計算機作為工具來求解傳熱問題的、與工程實踐密切結合的一門應用基礎科學[1]。而市場占有率高達40%[2]的數值計算軟件FLUENT是解決傳熱領域數值計算問題的較好的通用軟件之一[3]。
運用FLUENT等CFD軟件,可以在不具備實驗條件或暫不需要對研究對象進行實驗的情況下,借助計算的方法進行相關工程分析,從而極大地節約人力、物力、財力和時間成本。因此,在本科學習最后的畢業設計階段,若能讓部分學生學習并基本掌握FLUENT軟件對本領域問題的計算過程,將會在很大程度上促進學生今后對相關問題的建模和分析等工作。
2.畢業設計指導工作應注意的問題
由于FLUENT軟件的專業性,在指導與FLUENT軟件工程計算相關課題的時候,應注意以下幾個問題:
(1)學生的選擇
要能較好地掌握FLUENT軟件相關計算過程,首先需要具有較為過硬的微積分、流體力學、傳熱學、計算傳熱學(也稱數值傳熱學)等相關學科的基礎知識。這不僅要求學生較好地理解課堂所講知識,還要能夠靈活運用課內外相關知識。有的學生學習能力和成績相對較弱,并不具備過硬的知識儲備和學習能力;有的學生未來從事的工作與本專業距離較遠,或者對相關的數值計算興趣不大,因此缺乏從事相關課題畢業設計工作的原動力;這些因素都會影響整個畢業設計工作的正常進行。因此,對于與FLUENT軟件工程計算相關聯的畢業設計課題,并不是所有學生都適合來做。為了有效地開展相關的畢業設計課題,在學生的選擇上往往優先推薦讓學習相對努力的、有興趣和求知欲的以及未來將繼續深造或從事相關科研工作的學生來進行。
(2)課題的選擇
在本科教學階段,由于受限于書本和教學大綱的安排,教師在對流體力學、傳熱學等課程的講授中往往較少涉及數值計算相關知識,書本上只有一章內容與之相關,課堂上一般只傳授數值計算的基本概念、簡單情況下的離散方法、離散方程的建立等較為淺顯的知識,這與FLUENT軟件中對相應問題處理方法的深度和難度相去甚遠;然而,在畢業設計的短短一學期時間內,要讓學生完全掌握相關知識是比較牽強的。因此,在FLUENT軟件工程計算相關課題的選擇上,應選擇相對基礎性的、與實踐結合緊密的、具有科研應用前景的課題作為畢業設計課題。這樣既可保證畢業設計工作的正常開展,也能使學生在軟件方面得到基本訓練,為后續科研工作以及研究生階段的學習打下良好的基礎。
(3)指導過程中的問題
在畢業設計的指導過程中,筆者發現有部分學生在使用軟件進行計算時,較為注重結果的可視化,而恰恰對計算中關鍵參數的設置、計算方法的選擇等關鍵問題較為忽視。造成該現象的原因可能是,無論在軟件中設置怎樣的參數、選擇怎樣的計算方法,總能通過軟件的計算得到一個可視化的結果,即使參數設置或計算方法的選擇欠妥或有誤,只要計算過程沒有脫離現實太遠,計算結果看上去都有一定的可信度,再加上學生對具體計算過程的“不求甚解”、不仔細推敲,往往易使人誤認為該計算過程是正確的。因此,在指導過程中,應對學生使用軟件的具體計算過程進行仔細地把關,確保計算過程和結果的正確性。
3.畢業設計算例
算例一:建筑空心砌塊傳熱問題
圖1a為所需計算的典型建筑空心砌塊的尺寸標注圖。該砌塊是某典型普通混凝土空心砌塊,三排孔結構,每排均由大小相等的兩個孔組成,孔厚30mm。熱量由室外側(左側)傳向室內側(右側),室外側為穩態或非穩態熱邊界條件,室內側為穩態熱邊界條件。
圖1b為數值計算得到的該砌塊傳熱的某時刻溫度分布圖??梢钥吹剑瑴囟葟淖蟮接掖篌w上呈現由高到低的分布狀況。由于空心砌塊為非均質構件,砌塊材料的熱導率與空氣層的當量熱導率不相等,造成了內部等溫線的非均勻分布。
(a)空心砌塊結構俯視圖(單位:mm) (b)典型砌塊溫度分布圖 圖1 空心砌塊結構俯視圖
算例二:加氣混凝土墻體結露問題判斷
待計算的房屋的加氣混凝土自保溫墻體結構類型如圖2所示,圖中的B05表示型號為B05的加氣混凝土砌塊。計算中,加氣混凝土砌塊可以認為是熱均質結構,這樣導熱系數相對較高的混凝土柱或梁便成為了結構體系中的熱橋。由圖3、圖4可以看到,加氣混凝土自保溫墻體內表面溫度最低點均發生在熱橋部位室內表面寬度的中心處或陰角處。將該處的溫度與當地室內空氣的露點溫度相比較,既可判斷是否會產生結露現象。
圖2 框架結構房屋自保溫墻體結構
圖3 B05厚度為50 mm墻體的溫度場
圖4 B05厚度為100 mm墻體的溫度場
4.總結
利用FLUENT軟件對實際工程問題進行數值計算,大大節約了經濟開支和時間成本,也為學生對本領域的傳熱和流動問題的解決提供了有效手段,夯實了學生的理論基礎,增強了其解決問題的能力。通過與從事相關畢業設計課題的學生的交流得知,學習FLUENT軟件的工程計算對學生更好地掌握相關物理過程起到了很好的幫助作用,拓寬了學生的視野,也提高了學生對相關問題的興趣,有助于提高他們的專業競爭力。由于興趣的作用,采用FLUENT軟件進行工程計算的學生的畢業設計得分總體較進行其它課題的學生的得分高約15%。由此可見,在做好本文所提及的三點問題(學生和課題的選擇、指導過程中的問題)的前提下,在畢業設計中加入FLUENT軟件工程計算相關課題不僅可行,還值得在一定范圍內推廣。
摘?要:高職院校畢業設計中存在著一些問題,例如,課題質量不高、學生在校外實習、課題與就業方向不符等。這些問題的產生是因為學生不重視畢業設計,進而導致設計質量下滑。針對畢業設計中出現的問題,筆者以高校管理者與指導教師的視角,對畢業設計制、學生及指導教師進行了深入調研,并且提出了改進方法。
關鍵詞:高職院校?畢業設計?不重視?改進
1?前言
畢業設計是學生綜合運用所學知識解決實際問題的環節,其質量直接關系到本專業人才培養水平。大多數高職院校的畢業設計放在最后一個學期,導師基本由校內教師擔任。但最后一年學生把重心放到對自己未來更有影響的就業上,或是參加專升本尋求深造機會,校內導師被迫遠程指導,缺乏監督力度。同時,設計課題內涵良莠不齊,部分課題不符合社會需求,讓學生感覺實用性不強,學生不重視,進而質量下滑,降低了教學水平。因此,我們有必要通過調研發現問題、分析問題,進而解決問題。
2?現狀調查
對重慶5所高職院校部分教師及所帶學生進行了問卷調查。樣本中包含200名畢業生、50名指導教師。數據如下:
3?調研問題分析
影響質量的主要因素有學生不重視,學生不能在校設計。需要分析學生為什么會不重視,并剖析其不能在校設計的原因。
3.1?課題內涵與需求有偏差
如表1所示,課題與學生工作方向是否吻合,以及是否一志愿選題,對成績影響較大。調研中發現:部分學生畢業后從事Java開發,而選題時選了C#開發(選題先于實習);部分學生畢業后從事非IT工作,從而對所選課題喪失興趣;部分學生單位實習后技能提升,回過頭發現課題內涵與商業開發存在差距。此外,部分學生未能選中一志愿課題,調配課題與期望不一致,所以就抱著對付一下的心態。綜上,課題本身質量是影響學生最后設計成績的重要因素。
3.2?設計時間安排不合理
表1及表2的數據充分證明,不合理的時間安排,是導致質量下滑的重要原因。最后一個學期是找工作的關鍵期,在就業壓力下學生忙于參加招聘會和面試。找到工作后,用人單位往往還要求到崗實習。同時,最后一學期也是專升本的關鍵期,尋求深造的學生亦會忙于復習參考;另有學生為提高競爭力,會選擇參加推薦工作的技能培訓;這都是造成學生不重視以及不能在校實習的重要原因。
3.3?自擬課題質量偏低
表3數據分證明,對外承接工程,或教師科研需要課題,具有充分驅動力可讓教師在課題建設中投入更多精力,進而提高了課題與社會生產的適應性,提升課題的科學性和實踐性。自擬課題往往是為了畢業設計而設定的課題,教師缺乏動力對課題進行改進,易與社會脫節。表3的統計數據也證明了選擇自擬題目的學生,其優良成績的比率顯著低于其他學生。
3.4?其他因素
溝通不暢:師生雙方無法面對面地溝通,存在著教師因工作忙碌疏于督促,或學生缺乏主動性的情況。(1)教師經驗缺乏,高校中具有豐富項目經驗的教師本來就比較少,近年又引入了大批年輕教師,這些教師畢業后直接從事教學,更缺乏項目開發經驗,在指導中明顯表現出不足。(2)優秀教師任務重,優秀指導教師既要承擔畢業設計指導工作,又要進行繁重的教學任務,容易顧此失彼。
4?問題整改建議
4.1?加強課題庫建設
課題分為對外承接工程、科研需要、自擬等幾個類別。對自擬課題,須經學校專家組評審及指導,以增強與生產實踐的聯動性。增大來自對外承接工程及科研需要類課題,這類課題具有較強實踐性,教師出于自身利益,也會對課題投入更多精力,對學生的要求也會嚴格,這必然提高設計質量。另外,考慮到學生未來就業不同,宜對課題難度適當分檔。對不同檔次的課題,設置起評成績;有志于投身IT行業的,可選中高難度;其他學生可針對性地選擇適合自己的課題。
4.2?改進設計模式,消除時間沖突
在設置課題時,要確定本專業所針對的主要就業崗位,以及崗位所需技能,再結合實際選擇對應實訓項目,作為本專業學生大學期間不同實踐課程教學項目。學生在專業課教師的系統指導下,逐漸完成畢業設計的雛形,在最后一個學期里,再根據學生就業實際情況,予以整合,就成為了一篇具有一定質量的畢業設計。如此,不僅降低了最后一個學期的工作壓力,還提升了學生在校期間教學質量。
4.3?加強指導教師能力建設
在畢業設計中,教師要加強對學生的監督與管理,可采用如定期開見面會、網上探討等方式,學生將設計中遇到的問題、取得的成果等匯報給教師以便教師對學生情況進行分析指導。組織教師參加校內外專業培訓,提高教師理論水平和實踐能力。招聘教師時,傾向于在企業從事過一線工作、既有學歷又有工作經驗的人員,更好地將學校的理論知識與企業所需要的專業技能相結合。
5?總結與展望
畢業設計是十分重要的環節,應注重課題的針對性與適用性,使畢業設計內容與學生畢業后所從事的技術崗位相一致。同時,我們也需要加強畢業設計的機制建設,讓設計貫穿整個大學教育,減少最后一學期壓力。注重對教師的培養,提升指導技巧和技能。只有這樣才能培養出符合社會發展、受用人單位歡迎的人才。
[摘要]畢業設計是本科生培養中最重要的實踐教學環節。本文針對“卓越工程師培養計劃”中工程和創新的培養目標,結合“卓越計劃”的“3+1”的“1”的實施,對畢業設計進行改革,通過2級畢業設計的實踐,畢業設計的改革效果較好。
[關鍵詞]畢業設計質量保證體系卓越工程師
一、前言
本科院校在對學生整個教育教學計劃中,應用性本科軟件專業畢業設計(論文)是學生大學生活的總結,也是在實踐教育方面的最后一個環節。
目前,本科畢業設計中大學生對自己的畢業設計能夠自主把握的空間十分有限,設計主體部分嚴重脫離工程實際情況,依靠以往經驗、書本知識、網絡信息等方式獲得的信息量占據了信息總量的大部分,這不僅僅是因為學生或者導師愿意去投機取巧,也跟畢業設計活動經費的短缺和時間的不充足有著直接關系??v觀高校的工程教師隊伍,他們自身的實踐經驗也很難保證做到將現實生活的實際問題引用到本科畢業設計中并展開工作。這就產生了一種很不好的現象,畢業設計的題目往往都是重復使用多次的,好一點的可能也只是簡單的變化。本科畢業設計對于學生能力的培養和綜合素質的提高幫助不大,在畢業后的工作實踐中,學生的創新工程能力單薄的缺陷就會凸顯出來,沒有辦法滿足現代工業發展對人才的需求。高校的這種與社會需求嚴重脫節的現象必須要盡快解決,校內教育與科研、社會實踐要在整個高校學習教育中相結合展開進行,才能滿足社會新的需求。
二、卓越視野下軟件工程專業畢業設計(論文)質量保證體系的構建
(一)加強校外實習基地的建設
卓越工程師的“3+1”培養方案中,“1”年的實踐環節完成的好壞,很大程度取決于實習基地的建設。為了卓越工程的順利設施,計算機學院已經與企業建立了廣泛的聯系,目前已經建成的實習基地有:塔塔信息技術(上海)有限公司、上海啟明軟件股份有限公司、上海京頤信息科技有限公司和上海文思信息技術有限公司;上海屹為信息技術有限公司;谷儒(上海)網絡技術有限公司;曼恒蔚圖軟件技術有限公司;用友軟件公司等。這些實習基地的建設,為畢業設計的課題來自生產第一線,提供了強有力的保證。
(二)建設高水平的“雙師型”的畢業設計指導隊伍
我們采取兩種模式共同進行:一是堅持教師隊伍“專任和非專任”結合。專任教師主要是以長期在工程現場實踐或者有較好科研成果的教師組成;非專任教師主要是從合作單位企業聘任高水平工程師來校做兼職教師。二是加強“雙師型”師資隊伍建設。雙師即“教師”、“工程師”,首先要加強對一線教師的工程能力素養和工程實踐能力的培養,以滿足在畢業設計指導過程中對教師綜合能力的需求。另一方面,我們在聘請教師方面有側重點,優先錄取有企業工作經驗的兼職教師,來提升有工程實踐經歷的教師在整個專業課教師中的比例。為了最大化地為畢業設計服務,學校還從企業聘請工程師或者讓一線教師到企業參加工程實踐活動等手段,致力于打造為畢業設計服務的精銳之師。
(三)嚴把選題關
畢業設計的題目,一般來自企業。由企業指導教師提出,經企業指導教師和學校指導教師共同商量后確定。選題要結合學生在企業實習的項目,注重實踐性和創新能力的培養,同時題目應難易適中,切實可行,工作量適宜。
(四)注重教師的指導過程
選題完成后,企業指導教師下達任務書、指導學生確定畢業設計方案。在學生做畢業設計的過程中,企業教師負責具體的技術指導,學校指導教師負責時間節點的把握,協助企業教師完成對學生的共同指導。
(五)建立有效的溝通聯系制度
由于本科生初次接觸整體性和設計性較強的工作,肯定會遇到這樣那樣的問題。這時,建立有效的溝通制度,發揮指導教師的引導作用就顯得非常重要。學生把畢業設計中遇到的問題,向指導教師提出,由企業指導教師和學校指導教師共同商量解決的辦法。在畢業設計的過程中,應建立指導教師與學生討論的例會制度,堅持每周師生溝通一次。每位學生總結前一階段的工作,提出畢業設計中遇到的問題,指導教師要進行引導和總結,鼓勵學生發揮主觀能動性和創造力。這樣,指導教師可以及時掌握學生畢業設計的進展情況。
(六)做好畢業設計的過程檢查與中期檢查
對本科生的畢業設計工作的中期檢查,要堅持中前期和中后期兩次檢查。檢查的形式是學生以PPT方式匯報自己目前畢業設計的進展情況,并回答老師的提問。對中期檢查發現的問題,企業和學校的指導教師共同商量解決的方法。
(七)畢業設計(論文)答辯
答辯的地點一般設置在學生的實習企業,答辯委員會由企業指導老師和學校指導教師共同組成。每位學生的畢業設計答辯采用PPT形式進行匯報,對一些條件許可的企業,要有畢業設計的演示。
(八)以過程管理思想為指導,構建“方法-時間-層次”三維畢業設計質量監控體系
通過健全機構、合理資源配置、完善工作機制、強化畢業設計質量監控體系的畢業設計運行監控、畢業設計指導決策、畢業設計質量考核評價、畢業設計信息反饋功能,見圖1。
三、結語
軟件專業是一門實踐性很強的專業。要想在短時間內較高質量地完成畢業設計,選題是一個很重要的環節。為了提高學生的做畢業設計的興趣,高質量完成畢業設計,課題選擇來自一線企業,顯得非常重要。同時,建立一個畢業設計的保障體系,使得畢業設計在進行的過程中,質量能夠得到保證。經過兩屆的畢業設計實踐探索,學生做來自一線企業的畢業設計題目的興趣很大,而且畢業設計的質量得到很大的提高。
【摘要】主要分析了畢業設計(論文)的現狀,介紹了軟件生命周期的各個階段與畢業設計(論文)各階段的對應關系、軟件生命周期各階段應完成的任務以及在畢業設計(論文)中應注意的問題。
【關鍵詞】軟件工程 畢業設計(論文) 實踐教學
一、引言
畢業設計(論文)(以下簡稱畢業設計)是計算機及相關專業教學計劃中的一個重要環節,是培養學生對所學基本理論及基本操作技能綜合運用的訓練過程,是提高學生分析和解決問題能力的重要實踐環節,是實現理論與實踐相結合的重要途徑,是對教育教學質量的全面檢查。目前,計算機及相關專業的畢業設計質量正在逐年下降:學生急于找工作或考研,畢業設計得不到應有的重視;需求分析不到位,設計成果不符合實際需求;軟件開發流程混亂;缺乏文檔寫作訓練,等等。
針對上述問題,筆者認為,除了應當從管理角度嚴格進行過程監控外,還應當使學生通過《軟件工程》課程的學習,提高畢業設計的質量。
二、軟件生命周期與畢業設計過程的對應關系
軟件產品從形成概念開始,經過開發、使用和維護,直到最后退役的全過程稱為軟件的生命周期。軟件生命周期可以劃分成若干個時期與階段,它與畢業設計各個環節的對應關系如圖1所示。
三、軟件生存周期各階段應完成的任務
1.可行性研究與計劃階段、需求分析階段
可行性研究與計劃階段主要完成問題的定義、可行性論證以及初步計劃的制定;需求分析階段主要完成需求調查,進行功能、性能與環境約束分析;編制軟件需求規格說明、制定軟件系統的確認測試準則和用戶手冊概要。這兩個階段對應于畢業設計的課題論證、選題、調研、查資料,通過對設計題目的深刻理解,完成開題報告的撰寫工作。
2.概要設計階段和詳細設計階段
概要設計階段主要完成軟件系統總體結構的建立、定義功能模塊的接口、設計全局數據庫和數據結構、規定設計約束、編制概要設計文檔等工作;詳細設計階段主要完成模塊詳細設計及編制模塊的詳細規格說明工作。包括模塊的詳細功能、算法、數據結構和模塊間的接口信息等設計,擬定模塊測試方案;把模塊詳細設計的結果匯總,形成模塊詳細規格說明書。這兩個階段對應于畢業設計的系統設計階段。
3.實現階段與組裝測試階段
實現階段主要完成編碼及單元測試工作。根據模塊詳細規格說明書,將詳細設計轉化為程序代碼、對模塊程序進行測試,驗證模塊功能及接口與詳細設計文檔的一致性,并形成單元測試報告;組裝測試階段主要完成模塊程序組裝與測試及組裝測試報告的編寫。
4.確認測試階段
該階段主要完成軟件系統測試、確認測試文檔編制及軟件評審工作。根據軟件需求規格說明定義的全部功能和性能要求及軟件確認測試準則對軟件系統進行總測試;向用戶提供以確認測試報告為主的有關文檔,包括系統操作手冊、源程序清單和項目開發總結報告等;由專家、用戶、軟件開發人員組成的軟件評審小組對軟件確認報告、測試結果和軟件進行評審,并將得到確認的軟件產品交付用戶使用。這個階段主要對應于畢業設計(論文)中的論文評審、結題驗收及畢業設計的答辨準備階段。
5.軟件運行與維護階段
主要進入軟件的使用階段,并完成軟件的維護工作。它主要對應于畢業設計中的答辯階段。
四、畢業設計應注意的幾個問題
1.摘要
摘要是對文章主要內容的摘錄,要求精、短、完整。以幾十字至三百字左右為宜。摘要應具有獨立性和自明性,從摘要中即應獲得必要的信息;摘要中只能使用第三人稱;要客觀如實地反應原文的內容,要著重反映論文的最新內容和作者特別強調的觀點;要求結構嚴謹、語義確切、表述簡明,一般不分段落、不進行自我評價。
2.關鍵詞
關鍵詞主要用于論文檢索,它是從論文的題名、摘要和正文中選出的,是對表述論文的中心內容有實質意義的詞匯,關鍵詞一般以3~5個為宜。
3.結論
結論寫作的內容應主要考慮本文研究結果是什么?研究結果說明了什么?對前人有關的看法作了哪些修正、補充、發展、證實或否定?本文研究的不足之處或遺留未予解決的問題以及對解決這些問題的可能的關鍵點和方向等。結論應該準確、完整、明確、精練。
4.需求分析
在畢業設計中,學生往往不能對所做題目進行充分的調研,需求不明確,隨意想象的成分較多。特別是在數據表的建立上,大部分同學隨意設置字段的類型,而字段長度基本上采用默認置。而在實際項目開發中,數據項的設置應主要注意以用戶的需求和滿足系統要求為準,而不應設計冗余的字段;數據的類型要依據實際需求,當某些字段可以是選擇某幾種類型之一,應考慮哪一種更有利于本系統或哪種更易于用戶操作和維護。
5.詳細設計
許多同學把詳細設計階段的任務理解為代碼實現,因此,在概要設計之后就著手進行代碼的編寫而忽略了算法的表達及測試用例的編寫環節,由此造成的結果是隨意編程,大量的時間浪費在程序的修改和調試上。
6.軟件測試
測試做得不夠全面,大部分同學只選擇了有效的測試用例,而沒有進行無效的測試用例的設計,因此所做的軟件BUG較多。
7.團隊合作
在畢業設計中,應有意識地鍛煉學生們的團隊協作精神,因此,在布置畢業設計題目時,應盡量選擇規模大一點的題目,然后由4~5名同學共同協作,每人完成一個子題目。這樣,可以使學生們分析問題和解決問題的能力、溝通和表達能力得到充分鍛煉,為今后的工作奠定基礎。
摘要:分析軟件工程專業本科畢業設計管理中存在的主要問題,針對軟件企業對軟件工程專業的人才培養要求,提出軟件工程專業本科畢業設計過程管理措施,強調通過建立和完善畢業設計的管理制度,加強畢業設計過程的監控;構建完善的畢業設計管理平臺,提高本科畢業設計管理水平;改革畢業論文形式,建立畢業設計過程管理評價體系,提高學生工程實踐能力。
關鍵詞:軟件工程;本科畢業設計;過程管理
軟件學院軟件工程專業的設立是國家教育部、國家發展計劃委員會為滿足國家軟件產業發展對人才的迫切需求于2001年批準成立的。重慶大學軟件學院是國家首批示范性軟件學院之一,其人才培養目標是培養“面向應用、遵循標準、適應團隊、把握技術、熟知領域、外語優良”的軟件工程人才。10年來,軟件學院十分重視軟件工程專業的工程化教學改革,采取多項政策和措施促進工程型軟件實用人才的培養。本科畢業設計是實現高等學校人才培養目標的重要教學環節,是培養學生創新意識和創新能力的重要手段,是理論學習與社會實踐相結合的重要體現。因此,對軟件工程專業本科畢業設計進行改革,培養具有工程實踐能力的軟件實用人才具有重要意義。
1 軟件企業對軟件工程專業培養人才的要求
軟件產業的迅速發展對該行業從業人員提出更高要求,不僅要求學生掌握理論知識,還要求學生具備較強的工程實踐能力與創新能力。國內計算機相關專業的教學基本上仍使用傳統的理工科人才培養模式,注重基礎理論知識,缺少對學生工程能力和職業素質的訓練,因此培養既有扎實的專業基礎知識和較強工程實踐能力,又能迅速適應業界環境的高素質創新型軟件人才,是軟件企業對軟件工程專業人才培養的要求。
2 目前本科畢業設計管理中存在的問題
1)畢業設計階段缺乏全過程的管理與監控。
畢業設計全過程的管理與監控不夠規范,缺乏專門的組織機構。畢業設計的一些主要環節疏于檢查和監督,因此存在影響畢業設計質量的問題,如選題陳舊、重復率高、與軟件產業發展需求不適合等。
教師指導水平有限且精力投入不足,同時沒有對教師指導工作的有效績效考核,使得教師對學生的畢業設計不夠重視;某些學生由于有就業壓力,便將主要精力放在人才市場和各類招聘會上,沒有意識到畢業設計的重要性,最后只能通過拼湊和抄襲完成畢業設計。
2)畢業設計階段缺乏規范化的指導性文件。
畢業設計工作持續時間長,涉及所有畢業生和教師,如果沒有規范化的指導性文件能夠讓指導教師和學生了解畢業設計工作的意義、目標、計劃、流程、論文規范化格式、質量評價標準、成績考核等具體實施細則,明確自己在該項工作中扮演的角色以及整個畢業設計流程對自身承擔工作的質量要求,那么很難提高畢業設計質量。
3)畢業設計文檔資料缺乏有效管理。
畢業設計成果是學校的重要知識和信息資源,完善的文檔資料管理有助于畢業設計工作的傳承和創新。長久以來,畢業設計作品和論文主要采用人工管理。學生答辯后提交資料袋,資料袋中包括畢業設計相關文檔和設計作品的刻錄光盤,但由于管理人員對畢業設計資料的重視程度不夠或人員不夠,導致畢業設計資料管理不善,出現查詢困難、答辯記錄丟失等情況,為以后查閱、成果展示及下屆畢業生的論文指導工作帶來不便。
3 本科畢業設計管理改革措施
1)成立畢業設計管理小組。
為了加強本科畢業設計工作的組織、管理和監督,軟件學院專門成立畢業設計管理小組,小組成員由教學副院長、正副系主任及學生助管組成,負責整個畢業設計過程的管理監督工作,包括從選題、審題、任務書下達到開題、中期檢查、答辯、成績評定、推優的全過程。
2)建立和完善畢業設計的管理制度。
為了提高畢業設計質量,畢業設計管理小組根據軟件工程專業特點建立學院的具體工作規范和有效的畢業設計管理模式和監控制度,加強畢業設計制度建設,使得從選題、下達任務書到學生的開題報告,從每周匯報、中期檢查到設計文檔撰寫、論文撰寫、論文重復率監測、論文評閱及論文答辯,都有切實可行的實施細則及管理規章制度;構建集中管理與跟蹤管理、周報提交、外出請假、抄襲檢測、講座出勤等平時成績評定標準;完善從平時表現、系統設計實現質量、論文或設計文檔質量、答辯水平等多方面衡量的客觀、公正的綜合成績評定標準和推優程序。在畢業設計全過程管理中,力求做到有章可循及有據可查。
3)多元化的畢業論文形式。
多元化的畢業論文形式有利于培養大學生創新實踐能力。根據軟件工程專業特點,軟件學院對畢業論文形式進行改革。畢業設計形式包括傳統方式和新方式,學生可以選擇其中一種方式,具體采用哪種方式則由指導老師負責。
傳統方式是指畢業生完成開題報告并翻譯一篇相關課題的英文文獻,然后對軟件系統進行需求分析、設計和編碼實現,或者對相應算法進行研究、分析和編碼實現,最后完成畢業設計論文。
為了面向軟件企業需求,培養學生的軟件設計能力,新方式注重提高學生的系統設計文檔編寫能力。畢業生前期仍然要完成開題報告、英文文獻、系統分析設計和編碼,最后提交系統設計相關文檔。系統設計相關文檔由以下文檔構成:①項目開發計劃;②軟件需求說明;③系統設計說明;④數據庫設計說明;⑤用戶手冊;⑥測試分析報告;⑦項目開發總結。根據軟件工程學科特點及專業人才培養的要求,結合學校的畢業設計(論文)管理辦法和軟件設計文檔國家標準,軟件學院制定了符合專業人才培養目標的設計文檔規范。
為提高學生科技論文寫作水平和研究報告的演講能力,軟件學院面向軟件工程專業所有應屆畢業生,在其畢業設計階段開設8學時的“科技論文寫作規范”“研究報告演講技巧”講座,強調科技論文寫作的規范性和可讀性,鍛煉學生演講研究報告的能力。
4)加強畢業設計過程管理和監控。
畢業設計過程管理和監控面向的對象是學生和教師。軟件學院畢業學生做畢業設計有不同情況,如有在校外軟件公司做畢業設計的,更多的是在校內做畢業設計,因此需要有相應的不同管理模式。為加強學生培養質量和降低指導教師管理難度,軟件學院提供集中管理與跟蹤管理方式。
集中管理是指學院設置固定機房和機位并安排助教作為管理人員,由指導教師給學生安排機房,由管理人員負責學生的日??记冢瑢W生需及時向指導老師匯報學習情況,學生若有事必須請假。跟蹤管理主要針對在校外進行畢業設計的學生,要求這類學生完成校外畢業設計申請,由管理小組協助指導教師對校外學生進行跟蹤,為這些學生提供及時的畢業設計信息服務。這類學生必須每周與學校指導教師聯系,以便教師詳細了解并掌握學生畢業設計進度。這種具體的制度和規范,對在校內進行畢業設計和赴外進行畢業設計的學生進行了有效監控。
針對指導教師的管理,畢業設計管理小組采用不定期檢查和周報提交的方式。畢業設計規范要求每位指導教師每周指導時間不少于2小時,指導教師需要檢查學生畢業設計的進度和質量;解答學生提出的問題,進行下一階段工作部署與指導,保證畢業設計的質量。
不定期檢查指畢業設計管理小組根據指導教師在畢業設計系統中登記的指導時間和地點,不定期對教師的指導情況進行檢查。周報提交是指學院建立的畢業設計定期報告制度,教師和學生每周均需要將周報提交到系統上,教師主要匯報每周對學生指導情況以及學生畢業設計進度和質量,學生主要匯報每周的畢業設計進度、畢業設計遇到的問題等。畢業設計管理小組每周對周報進行匯總分析并,及時了解畢業設計情況,對學生和教師提出的問題進行統一解答。
5)構建完善的畢業設計管理平臺。
充分利用計算機技術,構建完善的畢業設計管理平臺,提高畢業設計管理水平,使畢業設計管理更加規范化。軟件學院在畢業設計過程中使用的管理系統包括:重慶大學本科畢業設計系統、重慶大學網絡教學綜合系統、重慶大學軟件學院軟件工程實踐教學平臺。
重慶大學本科畢業設計系統用來上傳和管理畢業設計相關文檔。系統涵蓋畢業設計工作的全過程,實現選題提交、課題雙向選擇、畢業設計相關文檔(包括開題報告、外文翻譯和畢業論文)的提交與管理、文檔模板的上傳和下載、畢業答辯的自動分組、指導教師和交叉教師評分、答辯記錄和成績的上傳、成績冊的打印、畢業成績的統計分析等功能。
重慶大學網絡教學綜合系統。用于畢業設計的過程管理,主要進行信息、周報收集、校外學生實習申請、過程檢查情況公告、問卷調查、學生成果提交和查詢等。
重慶大學軟件學院軟件工程實踐教學平臺是軟件人才培養創新平臺,提供實踐教學成果展示、實踐案例資源庫與實踐教學管理功能。利用該平臺可以舉辦畢業設計優秀作品展,展示軟件學院學生的專業學習水平,激發學生的實踐熱情,對下一屆學生起到示范作用。平臺實踐案例資源庫可為學生提供實踐學習參考資源,為教師提供實踐教學案例素材。
6)建立畢業設計過程管理評價體系。
建立畢業設計過程管理評價體系,要求所有
一學生和指導老師每周都要將周報提交到EOL(重慶大學網絡教學綜合平臺)平臺。畢業設計管理小組每周對畢業設計情況進行檢查和監督,并將檢查情況告知所有指導老師。指導老師每周提交周報次數與畢業設計指導工作量掛鉤;學生考勤情況、周報提交情況、平時檢查情況會被記入平時成績,平時成績不合格將被取消答辯資格。
軟件學院強調學生在畢業設計期間一定要進行軟件系統設計和實現,畢業答辯包括系統演示、用PPT講解畢業設計主要工作、答辯教師提問等多環節,答辯老師根據學生工作量、完成質量、論文或設計文檔質量、答辯情況進行評分。學生畢業設計的最終成績由平時成績、指導教師成績、交叉評閱成績和答辯成績構成,以保證評分的公平性。
7)加強誠信機制建設
為了提高本科畢業設計質量,加強學術道德和學風建設,營造學術誠信氛圍,軟件學院使用“大學生論文抄襲檢測系統”對本科畢業論文進行防抄襲檢測。抽檢比例為應屆畢業論文的50%,抽檢名單由畢業論文管理系統隨機抽取。另外,各答辯小組推薦的優秀畢業論文為必檢對象。
軟件學院制定論文抄襲的認定標準(建議文字復制比不超過25%)和處理辦法,對有問題的論文,責成指導教師對檢測結果予以認定和說明或督促學生修改,取消被認定抄襲論文學生的答辯資格;對各答辯小組推薦的優秀畢業論文進行,不合格的論文取消優秀。
4 結語
培養適應我國軟件產業發展的軟件工程人才,提高軟件工程本科畢業設計質量,畢業設計的改革勢在必行。通過2屆學生的畢業設計改革證明,建立和完善畢業設計的管理制度,加強畢業設計過程的監控,充分利用畢業設計管理平臺,實現多元化的畢業論文形式,建立合理的畢業設計過程管理評價體系,加強誠信機制建設,能極大地促進師生在畢業設計過程中投入熱情和精力,提高本科畢業設計管理水平,有效保證畢業設計質量。
[摘要]該文結合實際指導計算機專業畢業設計過程中的體會,提出如何利用Ant工具軟件來為軟件開發型畢業設計服務,以提高學生的實際動手能力。
[關鍵詞]Ant 計算機 畢業設計
一、計算機專業畢業設計的性質
計算機專業畢業設計工作是高等院校計算機人才培養計劃的重要組成部分,是對學生專業知識、綜合素質和實際能力訓練的重要階段,是人才培養質量的重要體現,是學生學習、研究與實踐成果的全面總結。
二、軟件開發型畢業設計中存在的問題
計算機專業的畢業設計主要分為軟件開發型畢業設計和基礎研究型畢業設計兩種類型,本文探討的是第一種類型。在軟件開發型畢業設計答辯過程中,學生需要結合自己的設計實現來講述設計實現思路及過程,這要求學生需提前部署好自己的軟件作品,而答辯時所用計算機一般而言是由答辯單位提供的,只具備軟件的運行環境并不負責安裝相應的集成開發工具,而學生平時主要是利用集成開發工具來進行開發,一旦脫離了開發工具往往不知所措,這就違背了畢業設計的宗旨。
三、Ant在軟件開發型畢業設計中的應用
Ant是一款軟件項目構建工具軟件,能夠讓我們采用定制的方式對開發出來的項目進行編譯、打包和測試,更重要的是這些工作可以脫離具體的開發工具來進行,這非常適合在畢業答辯時缺少開發工具的情況下進行應急處理。下面利用一個Java類畢業設計項目為例簡述Ant的具體應用。
1.安裝Ant軟件
到Ant的官方網站下載最新版的Ant二進制版本,它是一個擴展名為zip的文件,本文使用的是Ant 1.8版。下載后解壓到某個文件夾中,例如c:\\ant_1.8,并創建一個名為ANT_HOME的環境變量,變量值設為剛才解壓到的目的文件夾名,本例中即為c:\\ant_1.8(后面用%ANT_HOME%指代該文件夾),同時將%ANT_HOME%/bin文件夾加入到Path環境變量中。以上步驟需要提前安裝配置好JDK環境后再進行,JDK環境安裝配置在這里略過。
2.創建構建文件
構建文件相當于一個計劃書,整個構建活動是嚴格按照構建文件的內容來進行的,所以構建文件的創建是整個構建活動的核心。構建文件是XML類型的,這不僅是因為該類型是一種通用的描述語言,更主要的是Java中提供了相當豐富的操作XML類型文件的API。創建的構建文件最好命名為build.xml,并將該文件放入工程所在文件夾中。下面闡述一下構建文件的書寫規則。
首先,在構建文件中創建一個工程標簽用來標識該構建項目,例如本文中構建的項目名稱是TankWar ,則創建標簽,其中name屬性代表的就是項目名稱;default指的是要執行的目標名稱,所謂的目標就是要完成的任務,在這里任務名為compile,這個任務的定義在后面會有說明;basedir代表工程的根文件夾,一般設為.即當前文件夾即可。
其次,定義屬性標簽,定義屬性其實就是定義在構建文件中要使用的變量,例如該項目要構建的項目源碼位于src文件夾中,構建后的文件保存到build/class文件夾中,這時我們就可以定義“src.dir”和“build.class”兩個屬性變量來指代這兩個文件夾,以后假設更改了文件夾名只需修改屬性名即可,對應的標簽如下所示:
上面${ }中括起來的是已定義的屬性名,該使用方式相當于引用變量。
然后創建目標標簽,目標即我們要執行的具體任務,一個工程中可以包含多個任務。假設我們執行三項任務分別是創建文件夾、清除文件夾中已有內容及編譯源代碼,則定義的標簽如下所示:
創建文件夾
清除文件夾中已有內容
編譯源代碼
//name屬性所指明的任務即是前面工程標簽中default屬性的設定值,depends屬性指明一種依賴關系,表示此任務必須等待第一個任務完成后才能進行。
3.運行Ant
在命令提示符下輸入ant,系統將自動執行build.xml構建文件并完成構建文件中所定義的任務。
四、總結
以上是利用Ant工具軟件在軟件開發型畢業設計中的應用實例,除了在Java開發平臺中有Ant工具外,另一個重要的開發平臺,Net平臺也有相應Ant工具。由于學生在利用Ant進行軟件構建時是脫離了軟件開發工具的幫助,所以需要了解更多深層的知識,這無形之中也加深了學生對軟件開發型畢業設計的理解,同時在配置Ant環境時需要自己不斷地嘗試,也鍛煉了學生的動手能力,因此將Ant應用到軟件開發型畢業設計中對于學生而言是非常有益的。
提要畢業設計是高職計算機軟件專業培養就業型高技能“藍領”人才的關鍵環節之一。本文就畢業設計的選題、畢業設計的管理、畢業設計各環節的把握等方面,探討如何加強和改進高職院校計算機軟件專業的畢業設計,以培養出社會所需的計算機軟件開發高技能型人才。
關鍵詞:高職院校;畢業設計;軟件開發
畢業設計是高職學生由在校學習到參加工作之間的、十分關鍵的綜合教學環節,是畢業前的一次重要的系統實踐訓練,也是對高職院校的教學管理、師資水平和學生綜合素質的集中體現和檢驗。這個環節把握得好,對學生就業有很大的幫助。實踐證明,畢業設計是計算機軟件各相關專業理論教學、實驗、實訓等有機結合的最佳途徑之一。筆者多年來一直從事高職計算機軟件專業的畢業設計指導工作,經過長期的實踐和探索,同時吸取他人經驗,對畢業設計工作有如下的認識。
一、畢業設計的選題
選題是畢業設計的第一步,也是非常重要的一步,包括教師選題和學生自選題兩種。高職計算機軟件專業實現畢業設計的途徑和空間是多種多樣的,只要有研究開發的環境即可??梢栽趯W校內部組織開展,也可以走出去,到企業、到社會中去完成。例如,校企合作、產學研結合是高職畢業設計實現開放性的有效途徑。一是學生到企業、公司實際工作中去,運用所學知識和單位的短期培養,按規定格式和要求寫出總結報告或畢業論文,或在參與實際項目設計中完成設計,采取校內指導老師和企業指導人員共同指導學生的畢業設計,在我院的軟件專業這種形式的設計占到了近1/3;二是充分挖掘校內資源,尋求多種途徑開展畢業設計。例如,參與教師的科研項目,承擔部分任務;主動與學校各部門聯系,幫助設計各種中小型信息管理系統,如學生檔案管理系統、教務管理系統、后勤水電管理系統、學校圖書管理系統等,由各部門根據使用情況進行評價。
選題時的原則主要有:(1)符合專業或大類培養目標、滿足教學基本要求,使學生得到比較全面的訓練,要盡可能進行有軟件工程背景的畢業設計;(2)應盡可能結合生產、科研和實驗室建設的實際任務,促進教學、科研和生產進行選題。也可是模擬真實的軟件項目課題;(3)應有一定的深度與寬度,工作量飽滿,使學生在規定的時間內經過努力能按時完成,并鼓勵學生有所創造;(4)畢業設計的選題應面對學院的實際情況,從培養目標出發,充分利用學院的計算機資源和人力資源,力求實現學生掌握知識的實際水平與市場經濟的需求相符合。
二、畢業設計的管理
要完成高水平的畢業設計,除了要求畢業設計指導教師提供的選題應是新穎的、實用的、能適合當前社會的市場需求的外,還必須要有嚴格的畢業設計管理制度相匹配。
1、學生畢業前的上一個學期末,確定指導教師,并進行畢業設計動員。有關教師提供指定格式的、“畢業設計(論文)選題報告”、“畢業設計(論文)自選題目申請書”、“畢業設計(論文)格式、書寫規范”等表格供學生填寫或參考,其內容包括畢業設計的選題來源、要實施的技術方案、要完成的研究工作、需配備的硬件和軟件環境、需要的資金等。其中,還給出近三屆本專業學生做過的論文題目,防止重復或抄襲。表格填寫后交由教研室集體討論并提出修改意見,然后由計算機系部與有關指導教師統一審批。再將所有選題和指導教師名單提供給學生,由學生和指導教師進行雙向選擇,有關部門根據選擇情況做適當調整后公布指導教師及學生的對應名單。
2、經統一審查后,指導教師給每一個學生下達“畢業設計(論文)任務書”。指導教師與學生見面時,要針對任務書向學生講解課題目標、實施方案、需要收集的參考書目、需要自學的內容及應做社會實踐活動等,并向學生提供相關網站,讓學生自己上網學習有關預備知識。
3、指導教師根據系部的統一安排向學生提供“畢業設計工作進程安排表”。該表包括在畢業設計過程中,安排對學生完成畢業設計需補充的專業知識講座的內容與時間、上機時間、教師輔導時間、檢查時間、完成每一設計步驟的進度要求、畢業設計說明書初稿上交和舉行畢業答辯的時間等。學生應根據畢業設計任務書的要求,在畢業設計工作開始一周內寫出開題報告,內容主要包括:資料準備情況、設計的思路與期望成果、目標任務的分解、各階段完成的內容計劃等,交由指導教師審查后,再按計劃開始設計。畢業設計的時間一般在12周左右。
三、畢業設計過程中的幾個重點環節
1、資料查詢和實地調查。任何一個課題都是有學科基礎或技術基礎的。學生在做畢業設計開始,通過進行資料查詢,可以了解本選題在相應學科領域中的發展進程和研究方向,特別是近年來的發展趨勢和最新成果,然后準備與該題目相關的參考資料。通過與對資料研究成果的比較說明自己的選題是符合當前的研究方向,或是否采用了當前的最新技術并有所改進,以進一步了解選題的意義。值得注意的是,要做好畢業設計,必須閱讀一定量的近期中、外文資料,這不僅反映學生的外文閱讀能力,而且有助于設計的先進性。高職學生在畢業設計之前進行必要的社會調查,是了解和加深題目理解的另一重要途徑。以《企業倉儲管理信息系統》這個題目為例,學生可以到實習工廠、中小企業等場所進行實地考察、了解管理信息系統的實際應用狀況,通過系統現象的感性認識,逆向推測如何進行模塊設計才能實現這些功能。另外,網絡查詢也是學習、資料查詢的重要方式。指導教師要讓學生按畢業設計任務書要求深入地了解本畢業設計課題,準備資料,寫出文獻綜述并完成初步的外文翻譯任務。
2、制定和論證技術方案。明確所要解決的問題后,就要提出自己解決問題的思路和方案。包括一般的程序設計、數據庫設計和網站建設等,應選定編程語言、根據目標提出總體模塊設計圖、流程草圖等,通過比較表明自己方案的價值、方案的創新之處或有新意的思路、算法和關鍵技術。學生闡述自己的設計方案時,要說明為什么要選擇該方案,如何進一步優化數據,不足之處如何得到克服,最后完成的工作具有什么樣的性能或達到什么樣的水平。
3、充分發揮教師在畢業設計中的引導、輔導作用。教師在整個畢業設計工作中應該起到引導、輔導交流的作用,激勵學生有足夠的信心完成畢業設計工作,鼓勵學生突破舊系統,展開思維的翅膀,嘗試別人沒有想過或沒有做過的工作,注意對學生創新思維的培養。在畢業設計過程中,指導教師布置任務后,要進行具體指導和及時檢查。指導教師要注重針對性與適用性,力爭使畢業設計內容與學生畢業后所從事的技術崗位對口,使人才培養目標與社會的需求相一致。
4、畢業設計的先期總結和答辯準備。在畢業設計的后期,指導教師應及時進行總結,針對每個成員指出畢業設計過程中的改進之處,提出后期需要進行工作的重點和方向。并發放統一格式的編制設計說明書的有關文檔,如畢業設計說明書的裝訂順序、目錄和正文的格式要求及正文基本結構及畢業答辯應當做的準備工作。指導教師檢查資料是否齊全、是否符合規范要求、程序運行有無缺陷及答辯時要注意的問題等,然后做最后的答辯準備。畢業設計答辯開始前三天,學生需上交畢業設計的相關文檔和程序資料。文檔部分按規定格式裝訂成冊,供答辯委員評閱。
5、畢業答辯、成績評定。畢業答辯評分要做到客觀、公正、公平。人員除本院教師外還聘請企業項目開發人員參與評閱和答辯工作。答辯分數可分為自述、回答問題、論文內容三部分。最后,通過答辯委員會及各位指導教師統一討論,得出學生的答辯成績。答辯后,答辯委員會及時總結答辯中遇到的問題,并組織部分同學參加座談會,了解學生對畢業設計的反饋意見,以備下一屆進行設計時加以改進。
四、結束語
高職學生理論基礎相對較弱,但實際動手能力并不差。畢業設計給了他們一個良好的提升能力的機會。畢業
設計多選擇一些項目單位的實際軟件項目,讓學生到公司、企業這些項目實際場合進行畢業設計,最好是在生產實際中選擇那些真刀真槍的設計題目。經過我院近四屆高職計算機軟件專業畢業生采取以上方法和環節進行畢業設計實踐,已取得較好的效果,學生適應性和實際能力有了很大提高。但也存在不完善的地方,只有通過不斷地實踐、研究、總結和改進方法,不斷地進行畢業設計教學的改革,為培養出計算機軟件專業應用型的高技能人才做貢獻。
(作者單位:大連水產學院職業技術學院)