時間:2022-10-30 20:34:47
序論:好文章的創作是一個不斷探索和完善的過程,我們為您推薦十篇軟件工程畢業論文范例,希望它們能助您一臂之力,提升您的閱讀品質,帶來更深刻的閱讀感受。
隨著社會的進步、計算機技術的飛速發展 ,用計算機實現企業人事工資的管理勢在必行。對于大中型企業來說,利用計算機支持企業高效率完成勞動人事管理的日常事務,是適應現代企業制度要求、推動企業勞動人事管理走向科學化、規范化的必要條件;而工資管理是一項瑣碎、復雜而又十分細致的工作,工資計算、發放、核算的工作量很大,一般不允許出錯,如果實行手工操作,每月發放工資須手工填制大量的表格,這就會耗費工作人員大量的時間和精力,計算機進行工資發放工作,不僅能夠保證工資核算準確無誤、快速輸出,而且還可以利用計算機對有關工資的各種信息進行統計,服務于財務部門其他方面的核算和財務處理,同時計算機具有著手工管理所無法比擬的優點.例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優點能夠極大地提高人事工資管理的效率,也是企業的科學化、正規化管理,與世界接軌的重要條件。 所以人事工資管理系統應運而生,成為利用計算機實現企業人事工資管理的基本。
隨著我國國民經濟建設的蓬勃發展和具有中國特色的社會主義市場經濟體制的迅速完善,各個行業都在積極使用現代化的手段,不斷改善服務質量,提高工作效率,這些都在很大程度上給企業提出越來越嚴峻的挑戰,對企業體系無論是在行政職能、企業管理水平以及優質服務上都提出更高的要求。建設一個科學高效的信息管理系統是解決這一問題的必由之路。企業內部財務管理是該企業運用現代化技術創造更多更高的經濟效益的主要因素之一。工資管理作為企業內部的一種財務管理也是如此,由于企業職工人數較多,每一位職工的具體實際情況也不盡相同,各項工資條款的發放,如果沒有一個完整的管理系統來進行管理,那么勢必會給管理人員帶來種種麻煩,因此類似工資管理系統之類的財務軟件的開發勢在必行。現在中國企業已進入"新管理時代",企業管理在經歷了計劃經濟時期的"生產管理"時代,計劃經濟與市場經濟相結合時期的"混合管理"時代后,從九十年代末進入全面市場經濟時期的"新管理"時代.新管理時的中國企業管理是面向市場,基于現代企業制度,是中國模式,價值化,系統化,電腦化,國際化和普遍化管理的時代. 新管理時代的中國企業管理以建立競爭優勢,提高企業競爭力為核心.要提高企業的競爭力就必須整合企業經營,全面強化企業管理,形成企業持久發展的"內功".越來越多的質優企業舍得在管理系統上投資的舉動,足以說明這一趨勢. 在市場競爭日益激烈,用戶需求不斷趨向多樣化,企業間關聯程度越來越密切的今天,要求企業行動必須快捷,靈敏,在管理的思想觀念,方式方法上不斷創新.人力已經很難完全達到要求,必須借助當代信息科技的最新成果,優化和加強企業的運營和管理.
三、研究方案(主要研究內容、目標,研究方法、進度)
主要內容:支持企業實現規范化的管理,支持企業高效率完成勞動人事管理的日常業務,包括新員工加入時認識檔案的建立,老員工轉出、辭職、退休等。目標:實現企業員工工資管理的系統化、規范化和自動化。
四、進程計劃(各研究環節的時間安排、實施進度、完成程度)
2006-03-10---2006-03-16收集所需資料2006-04-02---2006-04-16完成系統需求分析, 對人事查詢管理,人事維護管理,工資查詢管理,工資維護管理,等各個功能模塊的功能進行確定。2006-04-17---2006-04-25對數據庫表結構進行設計,將表結構導入數據庫。并對論文進行初步構思、編寫。2006-04-17---2006-05-05繼續完成功能模塊的代碼編寫。2006-05-05---2006-05-23設計測試實例,對系統進行測試,找出缺陷,進行完善。2006-05-24---2006-06-15完成畢業論文的編寫工作。
五、導師對文獻綜述的評語
2存在的問題
1)思想認識上不夠重視學生方面:有些學生存在完成任務式的應付心里,避重就輕,能簡就簡,敷衍了事。有些學生則只重視找工作而輕視畢業設計,不愿在畢業設計上花費太多時間和精力,甚至有些學生還以找工作為由,完全依賴于導師,向導師索要源代碼,甚至花錢在網上購買來交差。已經找到工作的學生,更是認為畢業設計做的好與不好對自己沒什么影響,對待畢業設計也更加心不在焉。導師方面:大多數指導教師除了要指導學生畢業設計之外,還要承擔大量的教學和科研任務,在畢業設計指導工作上能夠投入的精力和時間非常有限,致使有些導師對畢業設計的指導工作不太重視,對學生放任自流,不管不問,或者是直接將相關源代碼發給學生,以“簡化”指導工作。由于思想上的不重視,學生學習態度不認真,導師指導工作不到位,造成畢業設計流于形式,疏于管理,效果較差,使得學生白白浪費了畢業前的一次綜合訓練機會。因此,如何充分認識畢業設計的重要性,并進行相應的教學改革是軟件工程專業畢業設計必須要面對并解決的問題。
2)時間安排上不夠科學畢業設計一般安排在第八學期,這期間剛好是學生求職和考研的黃金時間段,由于目前就業形勢的日益嚴峻,學生就業壓力越來越大,當求職和考研時間與畢業設計時間發生沖突時,學生都會選擇將主要精力投入到求職和考研上,有些還要去外地求職、應聘考試、面試等,畢業設計自然是無暇顧及。而且,學校方面,為了保證就業率,往往對學生畢業設計的質量也是睜一只眼閉一只眼,這又在無形中鼓勵了學生消極對待畢業設計的態度,畢業設計質量下降也就成為必然結果。
3)題目設置上不夠合理由于畢業設計在高校各類教學活動中是最具綜合性和獨立性的,相對于常規課程而言,對指導教師要求也就更高,尤其軟件工程專業,工程實踐性比較強,但每年真正來源于實際工程項目的題目所占的比例較小,很多題目都是虛構出來的,導致有些題目不是理論性太強,就是缺乏具體需求的支撐,使學生很難從畢業設計過程中真正領悟到真實的軟件工程方法。而有些指導教師自己都沒參與過實際的工程項目,本身就缺乏實踐經驗,對學生畢業設計的指導只是憑著自己的感覺來進行,缺乏系統性、整體性、科學性和嚴謹性,學生遇到問題后,難以得到及時的解決,導致抄襲現象時有發生,甚至有些學生直接照搬往屆畢業生的設計成果。畢業設計的主要目的在于通過畢業設計的訓練來提升學生對所學知識的綜合應用能力以及創新能力,從而實現學生從學校到工作崗位的平穩過度。但由于題目設置上的不合理,題量太少,層次不清,導致選題匹配效果差。在選題時,部分能力差的學生所選題目難度太大,造成畢業設計很難完成,而有些能力強的學生所選題目難度過小,達不到能力提升的目的。
4)過程監管上不夠到位眾所周知,對于軟件工程項目而言,過程控制與管理是項目執行的關注點,畢業設計也當如此。雖然學校也會在畢業設計過程中組織對各階段的工作情況進行檢查,但執行檢查工作的不一定是專業教師,使得這種檢查大多只是對指導老師所填寫的各種表格和文檔等表面內容進行檢查,對畢業設計的過程起不到實際的監督作用,再加之有些學生在校外求職或實習等原因造成指導教師與學生無法定期見面和溝通不暢等問題,使得指導教師難以用軟件工程方法對學生進行指導。畢業設計雖然啟動較早,但實際上很多學生前期在畢業設計上很少投入時間和精力,只是在答辯前為了完成任務而趕工應付,這樣的畢業設計質量自然也就不佳。
5)量化考核上不夠嚴格畢業設計成績一般由平時成績+論文成績+答辯成績三部分按一定比例構成,平時成績由指導教師自行把握,論文成績則由其他有經驗的教師進行評閱,答辯成績由答辯委員會老師按照相關評分標準打分并取平均分,這樣雖然基本可以保證成績的公正性,但成績構成太簡單,未顯示地將開題報告、文獻翻譯、分析和設計過程以及總結等納入到考核范圍,對畢業設計的前期和中期工作沒有約束力。在成績評定時,有些導師要求不嚴,采取寬容遷就的態度。答辯時,通過門檻較低,造成大部分學生僅以答辯及格為目標,在思想上不重視,答辯準備工作不扎實。同時,學校為了提高學生畢業率,在最終答辯時,對畢業設計的質量要求也有所放松,這也是導致畢業設計質量難以保證的一個重要原因。
3采取的對策
時間安排上,可以提前啟動畢業設計工作,將原來的第八學期開始提前到第六學期中后期,此時學生已經學完大部分課程,具有了一定的知識基礎,而且學生都在校,可以隨時與導師見面,指導教師也有充分的時間對畢業設計項目隨時跟進,隨時指導。導師資格審查上,對于軟件工程專業來說,學生畢業設計的導師,應該由長期從事實際工程實踐或者有較好科研成果的“雙師型”(雙師即“教師”、“工程師”)教師來擔任,也可以聘請校外科研單位或企業中水平較高的工程師來擔任企業導師,這樣不僅可以減輕指導教師短缺的壓力,也能促進指導教師隊伍多元化模式的形成。題目設置上,要求題量要充分,使得水平層次不同的學生都能選到合適的題目;難度和工作量要適中,且要有一定的創意,使學生通過畢業設計的訓練,在綜合應用能力和創新能力上都能夠得到有效的提高。有課題的指導教師要盡量結合自己的課題來設計題目,沒課題的指導教師可以從與學校有合作的企事業單位中獲取有實際意義的題目。鼓勵學生根據自己的興趣點和就業取向自擬題目,允許學生到實習企業中根據企業的實際工程需要選題和實施畢業設計,這樣既能解決實際問題又可完成畢業設計。過程監管上,首先要在指導教師和學生之間建立有效的溝通聯系機制和問題討論的例會制度,充分發揮指導教師的引導作用,在畢業設計過程中,堅持每周師生溝通一次。學生提出問題,指導教師引導和總結,鼓勵學生發揮主觀能動性和創造力。同時,學校要成立由領導牽頭、具有一定工程實踐經驗的專業技術人員組成的督導組,對畢業設計過程包括選題、開題、中期檢查、答辯和成績評定等各個環節實施有效的監控和督導,加強管理學生的同時也要加強對指導教師工作質量的檢查,確保畢業設計工作能夠有序、有效的實施。量化考核上,要對畢業設計從前期的開題、文獻查閱,到中期的分析、設計、實現,再到后期的總結等各個階段的進行量化考核,前一階段的成績考核不合格者,不能進行下一階段工作,必須加以整改,直到整改合格后才能進入下一階段。對于未能按要求如期完成畢業設計的可以推遲答辯,對于首次答辯不合格的可以進行二次答辯,仍不合格的,可以緩發畢業證。只有建立嚴格的考核制度,才能對學生有約束力,讓學生從思想上重視畢業設計,進而保證畢業設計的質量。
一、引言
畢業設計(論文)(以下簡稱畢業設計)是計算機及相關專業教學計劃中的一個重要環節,是培養學生對所學基本理論及基本操作技能綜合運用的訓練過程,是提高學生分析和解決問題能力的重要實踐環節,是實現理論與實踐相結合的重要途徑,是對教育教學質量的全面檢查。目前,計算機及相關專業的畢業設計質量正在逐年下降:學生急于找工作或考研,畢業設計得不到應有的重視;需求分析不到位,設計成果不符合實際需求;軟件開發流程混亂;缺乏文檔寫作訓練,等等。
針對上述問題,筆者認為,除了應當從管理角度嚴格進行過程監控外,還應當使學生通過《軟件工程》課程的學習,提高畢業設計的質量。
二、軟件生命周期與畢業設計過程的對應關系
軟件產品從形成概念開始,經過開發、使用和維護,直到最后退役的全過程稱為軟件的生命周期。軟件生命周期可以劃分成若干個時期與階段,它與畢業設計各個環節的對應關系如圖1所示。
三、軟件生存周期各階段應完成的任務
1.可行性研究與計劃階段、需求分析階段
可行性研究與計劃階段主要完成問題的定義、可行性論證以及初步計劃的制定;需求分析階段主要完成需求調查,進行功能、性能與環境約束分析;編制軟件需求規格說明、制定軟件系統的確認測試準則和用戶手冊概要。這兩個階段對應于畢業設計的課題論證、選題、調研、查資料,通過對設計題目的深刻理解,完成開題報告的撰寫工作。
2.概要設計階段和詳細設計階段
概要設計階段主要完成軟件系統總體結構的建立、定義功能模塊的接口、設計全局數據庫和數據結構、規定設計約束、編制概要設計文檔等工作;詳細設計階段主要完成模塊詳細設計及編制模塊的詳細規格說明工作。包括模塊的詳細功能、算法、數據結構和模塊間的接口信息等設計,擬定模塊測試方案;把模塊詳細設計的結果匯總,形成模塊詳細規格說明書。這兩個階段對應于畢業設計的系統設計階段。
3.實現階段與組裝測試階段
實現階段主要完成編碼及單元測試工作。根據模塊詳細規格說明書,將詳細設計轉化為程序代碼、對模塊程序進行測試,驗證模塊功能及接口與詳細設計文檔的一致性,并形成單元測試報告;組裝測試階段主要完成模塊程序組裝與測試及組裝測試報告的編寫。
4.確認測試階段
該階段主要完成軟件系統測試、確認測試文檔編制及軟件評審工作。根據軟件需求規格說明定義的全部功能和性能要求及軟件確認測試準則對軟件系統進行總測試;向用戶提供以確認測試報告為主的有關文檔,包括系統操作手冊、源程序清單和項目開發總結報告等;由專家、用戶、軟件開發人員組成的軟件評審小組對軟件確認報告、測試結果和軟件進行評審,并將得到確認的軟件產品交付用戶使用。這個階段主要對應于畢業設計(論文)中的論文評審、結題驗收及畢業設計的答辨準備階段。
5.軟件運行與維護階段
主要進入軟件的使用階段,并完成軟件的維護工作。它主要對應于畢業設計中的答辯階段。
四、畢業設計應注意的幾個問題
1.摘要
摘要是對文章主要內容的摘錄,要求精、短、完整。以幾十字至三百字左右為宜。摘要應具有獨立性和自明性,從摘要中即應獲得必要的信息;摘要中只能使用第三人稱;要客觀如實地反應原文的內容,要著重反映論文的最新內容和作者特別強調的觀點;要求結構嚴謹、語義確切、表述簡明,一般不分段落、不進行自我評價。
2.關鍵詞
關鍵詞主要用于論文檢索,它是從論文的題名、摘要和正文中選出的,是對表述論文的中心內容有實質意義的詞匯,關鍵詞一般以3~5個為宜。
3.結論
結論寫作的內容應主要考慮本文研究結果是什么?研究結果說明了什么?對前人有關的看法作了哪些修正、補充、發展、證實或否定?本文研究的不足之處或遺留未予解決的問題以及對解決這些問題的可能的關鍵點和方向等。結論應該準確、完整、明確、精練。
4.需求分析
在畢業設計中,學生往往不能對所做題目進行充分的調研,需求不明確,隨意想象的成分較多。特別是在數據表的建立上,大部分同學隨意設置字段的類型,而字段長度基本上采用默認置。而在實際項目開發中,數據項的設置應主要注意以用戶的需求和滿足系統要求為準,而不應設計冗余的字段;數據的類型要依據實際需求,當某些字段可以是選擇某幾種類型之一,應考慮哪一種更有利于本系統或哪種更易于用戶操作和維護。
5.詳細設計
許多同學把詳細設計階段的任務理解為代碼實現,因此,在概要設計之后就著手進行代碼的編寫而忽略了算法的表達及測試用例的編寫環節,由此造成的結果是隨意編程,大量的時間浪費在程序的修改和調試上。
6.軟件測試
測試做得不夠全面,大部分同學只選擇了有效的測試用例,而沒有進行無效的測試用例的設計,因此所做的軟件BUG較多。
7.團隊合作
在畢業設計中,應有意識地鍛煉學生們的團隊協作精神,因此,在布置畢業設計題目時,應盡量選擇規模大一點的題目,然后由4~5名同學共同協作,每人完成一個子題目。這樣,可以使學生們分析問題和解決問題的能力、溝通和表達能力得到充分鍛煉,為今后的工作奠定基礎。
參考文獻:
軟件工程是高校計算機專業教學計劃中的一門重要課程。軟件工程的課程體系涉及了從客戶溝通,軟件設計,軟件開發,軟件測試到最終軟件維護等軟件生命周期各個階段。既是一門理論性極強的專業課程,更是一門實踐性很強的課程。近年來,全國各大高校均將軟件工程作為計算機及其相關專業的一門重要專業課程。計算機專業的學生通過軟件工程課程,學習作為軟件從業人員需要掌握的基本專業能力,為未來從事計算機軟件相關的各類工作,提供理論及方法的指導。可以說,學好軟件工程,對計算機及其相關專業的從業人員來說都是一門必修課。
二、教學現狀
在當前的軟件工程課堂教學當中,部分院校采用純理論課堂講授的授課形式,另一部分院校則采用理論講授與實踐實訓課程相結合的授課形式。然而,從教學內容來看,當前軟件工程的教學內容,主要集中在傳統方法學,即傳統的軟件工程學。對于面向對象方法學來說,很多新的知識方法還涉及不足,特別是軟件模型化,構建技術,UML統一建模語言等等一些當下社會流行的軟件工具和方法。同時,實踐環節較少,實踐效果不夠理想也是軟件工程教學中普遍存在的問題。目前可供該課程選用的合適的實驗項目甚少,所以學生通過實驗課程所達到的效果與教學要求存在較大的差距。另一方面,學生對理論知識的理解不足。軟件工程是一門計算機領域的綜合性、工程性學科。涉及軟件生命從萌芽、成型、成熟、生命結束的各個周期階段的工作和任務。學習者似乎能聽懂,可聽完后大部分學生還處在似懂非懂的階段,真正需要動手時,不知道該從何下手。在近年來的教學實踐過程中發現,一些理論知識,過于抽象晦澀。與實際的應用需要相脫節,學生對很多知識理論,只停留在概念階段,難以消化,更無法理解理論知識在實際的軟件設計、開發、測試、維護中究竟何時何地可以運用,具體又該如何操作。理論與實際的結合仍存在很多不足。這一方面與課程理論研究性較強有關,另一面也與教師本身長期在院校從事較單一的教學工作,缺少工程項目經驗,脫離實際的生產及軟件開發場景,難以將理論與現實情境很好的結合傳授給學生。在計算機專業畢業生的畢業設計中,也集中體現出了學生不能把理論知識有效地運用到實踐活動中的問題。學生并沒有真正掌握基礎理論及運用理論的技能和方法,所以在進行畢業論文設計時,不能將軟件工程的理論充分運用到他們的設計實踐中去,從而導致設計開發的軟件和撰寫的文檔在結構、內容等方面錯誤百出。
三、改革思路
(1)研究并解決軟件工程教學中存在的新興軟件方法不足等問題。結合現有的專業培養方案,教學大綱,制定教學計劃,改善軟件工程教學現狀,研究傳統軟件工程技術在教學改革中占的課時比例及應當講授的內容,增加研究面向對象軟件工程技術在教學改革中的地位及講授的方式、內容和課時量。(2)研究并解決軟件工程課程實踐性不足,學生學習停留于理論階段的問題。結合理論課程的內容,增強軟件工程的實踐性,與一些軟件開發的實訓課程相結合,增加學生的實踐機會,將軟件工程理論應用于實踐當中,提高學生對課程的理解和現實認識。(3)研究并解決學生對理論知識理解不足,課程停留于課堂教學,脫離實際運用,學生難以滿足應用型人才培養目標等問題。根據教學計劃,教師請教并邀請相關企業的軟件資深從業人員,與學生開展專業知識交流活動。以企業中實際可行的軟件項目為案例,為學生講解軟件知識,讓學生理解軟件工程的理論知識如何有效的融入實踐當中。并加深學生對課程、對當今計算機領域流行的專業知識及未來從業方向,對計算機專業從業現狀的認識,真正做到應用型人才的培養。可以安排學生到企業進行調研,參與實際的企業項目。(4)研究并解決學生在畢業設計及畢業論文的完成過程中,缺少理論支撐,不能合理規范化完成設計的問題。將軟件工程專業知識與計算機專業畢業設計相結合,在畢業論文指導的過程中,重視軟件工程理論的應用。以軟件工程方法學,軟件過程,項目管理等相關知識軟件工程相關理論指導學生的畢業設計,力求整個畢業設計過程達到模塊化、規范化,正規化。
參考文獻
[1]張海藩.軟件工程導論(第5版)[M].北京:清華大學出版社,2018.2
中圖分類號:G434文獻標識碼:A文章編號:16727800(2011)012022403
作者簡介:許永昌(1976-),男,山東安丘人,碩士,山東英才學院計算機學院講師,研究方向為計算機應用。
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]馬冬來,宋雨,劉海龍.軟件工程思想在高職院校畢業設計中的應用與探索[J].河北軟件職業技術學院學報,2008(3).
[2]李國彬,沈淑清.淺談軟件工程學在軟件類學生畢業設計中的應用[J].計算機教育,2007(6).
[3]張文靜,盧海霞,楊捧.軟件工程思想在畢業設計環節中的應用[J].河北農業大學學報(農林教育版),2007(4).
自21世紀高等教育改革以來,全國各高校招生規模不斷擴大,導致畢業生數量也相應大規模增加,給高校學生的求職擇業帶來了嚴峻的考驗。為了可以跟上時代的步伐,為求職帶來一些實際項目經驗,計算機專業越來越多學生選取了軟件開發作為畢業設計課題。然而,在各高校實際當中,本科畢業設計質量已經下降,軟件開發類論文與實際完全脫節,歸根結底是沒有一個可以從頭到尾指導學生進行軟件開發的學習模式,主要存在下面幾個不足之處。
1.1學生問題
學生設計能力低,編程水平差,無項目實際經驗,既不知道軟件開發的基本理論與方法,也不知道程序語言代碼編寫和開發工具界面操作,甚至不知道從何處開始下手準備畢業論文,成為目前軟件開發類畢業論文質量差的根本原因;學生思想上存在誤區,不重視畢業設計的重要性與必要性,認為畢業設計與普通課程一樣,對畢業設計敷衍了事,不愿意花時間和精力認真努力開發軟件,總是被動、消極地接受學習,成為軟件開發類畢業論文質量差的直接原因。
1.2學校問題
學生在大一至大三期間,一般只是簡單地開設各科課程,并沒有將所有軟件開發類課程結合起來,直接導致出現學生軟件設計能力低與開發水平差的現象;從論文開題、中期檢查到論文答辯等過程中,并沒有嚴格按照各種材料上交的日期進行,普遍是最后答辯時上交補交所有材料,甚至包括論文開題報告,直接導致學生消極怠慢的態度;最后的畢業論文考核是最關鍵的問題,也是目前畢業論文相關制度中管理最混亂的一部分。既沒有一套規范畢業論文考核標準,也沒有對畢業論文的中間過程進行監控,就連最后的論文答辯也只是流于形式。
1.3教師問題
大部分教師沒有項目開發實際經驗,只知道軟件設計理論基礎,不能全方位地指導學生,更加無法讓學生能夠主動積極地學習,成為畢業論文水平不高的原因之一。
2CDIO教育模式
CDIO教育模式繼承和發展歐美20多年以來的工程教育改革理念,將“做中學”和“基于項目教育和學習”的集中概括和抽象表達,是2004年由麻省理工學院和瑞典皇家工學院等四所大學研究創立,CDIO分別代表了構思(Conceive)、設計(Design)、實現(Implement)和運作(Operate)等四個學習過程,它以產品研發到產品運行的生命周期為載體,讓學生以主動的、實踐的、課程之間有機聯系的方式學習[3]。CDIO培養大綱將工程畢業生的能力分為工程基礎知識、個人能力、人際團隊能力和工程系統能力四個層面,大綱要求以綜合的培養方式使學生在這四個層面達到預定目標[4]。本文將CDIO模式的構思、設計、實現和運作等四個學習過程引入到計算機軟件開發類畢業設計中,要求嚴格按照構思、設計、實現和運作這四個階段進行,并將每一個階段的成果都作為畢業論文考核的依據,以此調動學生的積極性與主動性,既能讓指導老師清楚整個設計流程,并根據階段安排加以指導和督促,也能讓學生愿意付出時間和精力努力投入到畢業設計當中。在彌補學生軟件開發水平不足的同時,提高學生思考問題、綜合設計的能力,最后達到提高畢業論文質量的目的。
3基于CDIO模式的計算機軟件開發類畢業設計
3.1構思階段
畢業論文是從學生的選題開始,一般是由老師提供一系列題目,再由學生根據自己的具體情況選擇,這種方式遏制了學生的主動性。應該由學生根據自己的愛好、專長和對將來的職業規劃等情況,利用各種參考資料主動搜索與查找適合自己的題材范圍,再在老師的指導下確定畢業論文題目。不僅能夠調動學生的設計積極性,為后面的畢業論文工作提供有利條件,而且還可以培養學生查閱資料和思考問題的能力。之后,指導老師提供軟件開發類參考資料,并在中國知網等學術平臺搜索課題相關文獻,確定論文的基本要求,給學生下達論文任務書。學生根據接收到的任務書,利用軟件工程專業書籍、中國知網等學術平臺、論文相關的Web網站,查閱大量的資料,了解論文的背景、研究現狀和開發意義,確定論文的研究內容和開發中的關鍵問題,撰寫論文開題報告,完成軟件開發的構思階段。
3.2設計階段
設計階段主要包括需求分析和總體設計,正式開始畢業論文的設計工作。根據資料查閱、市場調查和企業要求等形式分析軟件產品操作流程、功能列表,完成系統需求分析,并在需求分析的基礎上重點進行功能設計、模塊劃分、模塊接口規范、數據庫概念設計及數據庫邏輯設計,在老師的指導下反復修改不斷完善,最終確定系統的總體設計。然而,在軟件開發設計階段,學生論文還沒有開始寫,軟件程序也沒有完成,指導老師無中期檢查依據,不能有效地督促學生開發設計。因此,在設計階段完成之后,應該形成需求分析、數據庫設計、概要設計等相關說明書,作為畢業論文中期檢查的材料,納入論文考核的范圍。
3.3實現階段
實現階段是學生畢業論文工作的重點,也是畢業論文設計工作量最大、所需時間最長的一個階段,直接決定最終畢業論文的質量水平。學生需要掌握軟件開發工具、程序設計語言等基本理論與方法,根據系統總體設計的功能模塊、接口規范等進行數據庫的實現、程序代碼的編寫,并反復運行與測試。此階段生成詳細設計說明書、編程規范、測試等文檔,作為畢業論文第二次中期檢查材料。在這個階段有了指導老師的督促,能夠完全確定系統功能,不至于在后期階段又需要反復修改。
3.4運作階段
根據前期產生的開題報告、需求分析、數據庫設計、概要設計、詳細設計、編程規范、測試等文檔和開發好的軟件系統撰寫畢業論文,并參與論文答辯,是學生畢業論文的總結階段,不僅著重體現學生的寫作水平,更能了解學生對軟件的學習情況,是分值比重最大的一部分。最后,將所有文檔和論文、答辯情況一起評分,獲得畢業論文成績。
中圖分類號:G420 文獻標識碼:A
Quality Assurance and Monitoring System Building of
Computer Graduation Design
LI Xiaoyan, QIAN Xiaohong, LING Wei
(Huaxia College, Wuhan University of Technology, Wuhan, Hubei 430223)
Abstract Graduation Project (Thesis) University training program is the last major comprehensive teaching, is to achieve the teaching, research, social practice, a combination point, is to train students and to deepen the comprehensive use of basic theory and professional knowledge and basic skills, independent analysis and the ability to solve practical engineering problems, to adapt the key to future work. This paper analyzes the recent years led to our undergraduate graduation (thesis) of the objective factors and the declining quality of management shortcomings, proposed the establishment of university graduate (Thesis) teaching quality management system approach.
Key words graduation design; quality assurance and monitoring
本科畢業論文(設計)是普通高校本科教學工作的重要環節,是培養學生綜合運用知識和技能去分析、研究、解決問題的重要教學形式,同時也是本科學生在完成教學計劃規定的全部課程學習后所必須進行的工程實踐教學中最重要的實踐教學環節,其目的是要在前面一系列實踐教學的基礎上,加強對學生分析研究能力培養的教學要求,進一步培養學生嚴謹的科學態度,以提高學生對未來工作的適應能力。
1 目前畢業設計存在的問題
畢業設計是學生從學校階段走向實際工作前的最好的鍛煉機會。畢業設計質量的高低在一定程度上也是高校教育質量的直接反映。無論對學生還是對學校而言,畢業設計都是一個不可缺少、無比重要的教學環節。如何更好地發揮這一環節的作用,多年來一直是高校教學改革的重要研究內容之一。現今畢業設計教學主要存在以下不利因素:
(1)任務重時間短。畢業設計教學的時間一般安排在第八學期共10周左右,期間學生需要完成開題報告,畢業設計,論文撰寫以及最后的答辯準備。
(2)就業考研帶來的壓力,投入的時間和精力不足。畢業分配制度的改革在一定程度上沖擊了高校的教學秩序,特別是對畢業設計工作影響很大。由于教學計劃安排的畢業設計時間與學生的找工作時間,研究生復試的時間基本同步,這些事情只能交叉進行,學生能在畢業設計上花費的時間和精力很難得到保障。
(3)傳統的畢業設計過程管理模式不能適應現時代的要求。進入新世紀以來, 隨著學生就業機制的轉變, 企經濟體制的轉型和高校擴招等因素的影響,很多高校都開始積極探索分散式畢業實習與設計一體化的教學方法,在加強實習教學環節建設的同時擴大了畢業生就業渠道。
分散式畢業實習與設計也有其不可避免的缺點,如學生過于分散,完成畢業時間過于分散,以及帶來的文檔資料缺乏有效的管理等等,如果缺乏相應的管理機制,分散式畢業實習與設計很難取得理想的效果。
(4)學生前期工作準備不到位,資料匱乏,知識孤島化。①畢業論文(設計)教學相關基礎課程訓練缺乏連貫性。畢業論文(設計)教學相關基礎課一般包括理論教學和實踐教學,雖然本門課程之間的理論教學和實踐教學能夠統一,但是不同的課程之間缺乏有效的溝通,最終造成知識的孤島化。當學生綜合運用所學基礎理論、專業知識和基本技能獨立分析和解決工程實際問題的時候,需要耗費很長時間將孤島化的知識打通,才能完成畢業設計。
②工程實踐教學管理不足。實踐教學包括課程實驗、課程設計、畢業設計和專業實習等過程,但是實踐環節零散化,分離化,造成的每門課程完成自己的教學任務和實踐任務,卻忽略了前導課程知識的運用以及對后續課程的影響。
③規范化訓練不夠。畢業論文(設計)基礎訓練課程(例如文獻檢索課程)并沒有開設或者雖有計劃列出但從未開課,所以學生完成的初稿往往存在諸如不會用英語翻譯摘要、查閱的文獻文不對題,寫出的文章觀點不明、論證不清、東拼西湊、缺乏邏輯、表達不清和缺乏規范等問題。這些問題說明學生普遍缺乏寫作基礎知識和基本訓練,表達能力不高。
2 提高畢業設計質量的途徑和方法
2.1 化整為零:剛性的教學要求,柔性的安排
畢業設計雖然在最后一個學期進行,但是所應用的知識分布需要在前面7個學期完成,所以我們需要將各類的畢業設計所需要的學科知識模塊化,分散到7個學期的教學過程中。
(1)畢業選題的提前進行。學校在保證教學質量和正常的教學秩序的前提下,加強專業課與畢業設計 (論文) 相結合、在相關基礎性課程開展教學的時候確定畢業設計 (論文)選題類型。
(2)畢業選題的個性化,生活化。在畢業設計中學生的態度、學生的自覺性和主動性等都對畢業設計質量有著重要的影響。由于學生的興趣、愛好不同,學生的素質差異較大,這就要求在進行畢業設計選題時應結合學生本人的情況及其就業取向,啟發和鼓勵學生按照自己的個性和特長來選擇畢業設計題型。只有這樣,才能充分發揮學生的主觀能動性,才能真正使其與就業結合起來,最大限度地激發學生的積極性和創造力。
(3)畢業選題的寬泛化。畢業選題的提前進行,只能將選題限定在比較寬泛的類型中,過于細化的選題將不利于學生長期的發展。
2.2 積零為整:實踐教學連貫化
畢業設計與專業課結合,除了將畢業設計模塊化,分散到各個學期的基礎課程的訓練外,我們還需要保證這些基礎課程訓練的一致性和連貫性。
(1)實踐教學管理的全程化。實踐體系包括課程實驗、課程設計、畢業設計和專業實習四大類,還有課外和社會實踐活動,對這些實踐教學進行全程化的監控和管理,保留每門課程的設計成果和文檔信息,以方便進行畢業設計的時候積零為整。
(2)實踐教學管理的透明化。實踐環節不是零散的一些教學單元,不同專業方向需要根據自身的特點從培養創新意識、工程意識、工程興趣、工程能力以及社會實踐能力出發,對實驗、實習、課程設計、畢業設計等實踐性教學環節進行整體、系統的優化設計和管理,明確各實踐教學環節在總體培養目標中的作用,把基礎教育階段和專業教育階段的實踐教學有機銜接,使實踐能力的訓練構成一個體系,與理論課程有機結合,貫徹于人才培養的全過程。
將零散的教學單元整體化,形成體系,至少每門課程的老師可以清楚的看到前導課程中學生完成的實踐內容,實踐的過程,實踐的成果,以及本次課程要達到的目標,以便循序漸進的完成實踐教學。
2.3 畢業論文規范化的訓練從第一份實踐文檔規范開始
畢業論文(設計)基礎訓練課程(例如文獻檢索課程,寫作基礎知識)等從學生進行第一份實踐文檔的撰寫就開始規范。
3 以軟件工程專業的畢業設計為例
軟件工程專業的畢業設計通常以MIS系統的開發為主,而計算機專業課程的知識如計算機基礎,算法,數據結構,計算機網絡技術,程序設計,軟件工程,數據庫原理等是使學生具備最新信息技術規劃設計和運用能力的基礎。如何在這些課程的教學和實踐過程中通過化整為零和集零為整的方法來提高畢業設計的質量就是我們考慮的重點。
(1)化整為零:剛性的教學要求,柔性的安排。
①畢業選題的提前進行:在學生開始第一門專業課程學習過程中給予指導性的建議,作好初期職業規劃并選擇與職業相關度較高的畢業選題類型。
②畢業選題的個性化,生活化:畢業設計選題與時代緊密結合,以可以體會和感知的題目為引導方向:譬如銀行信息管理系統,學生信息管理系統,學校餐廳賬務管理系統等等,讓學生在生活中體會,思考,并逐步走上開發的道路。
(2)積零為整:實踐教學連貫化。
畢業設計雖然在最后一個學期進行,但是所應用的計算機專業知識的學習則在前面7個學期完成,這7個學期的教學和實踐將為畢業設計奠定堅實的基礎。
①實踐教學管理的全程化。軟件工程專業的實踐體系包括課程實驗,課程設計,畢業設計和專業實習四大類:課程實驗是圍繞課程展開,為了夯實基礎而設,完成的時間比較短,通常是隨堂進行;課程設計通常在該門課程結束的學期末展開,通常為期一周到二周,實踐的時間相對比較長,我們可以以學生選擇的畢業設計的選題類型作為參考指南來定制學生這些課程的課程設計任務,并記錄設計過程和結果。如數據庫原理課程設計,如果學生選擇的餐廳賬務管理系統,那么數據庫就圍繞餐廳賬務管理進行設計;學習高級語言程序設計的時候,就圍繞該系統進行界面開發和數據庫的連接。
②實踐教學管理的透明化。如前面表述,數據庫原理的時候,學生設計餐廳賬務管理系統的數據庫;學習高級語言程序設計的過程中,引導學生在已經完成的數據庫設計的基礎上進行界面的設計和數據庫的連接,將前導和后續的知識環節銜接起來形成完整的管理系統,即有利于前導知識的鞏固,又有利于學生學習計算機信心的培養。
(3)從第一份實踐文檔規范開始進行畢業論文規范化的訓練。
4 小結
采用化整為零的辦法可以讓學生在學習過程中有明確的目標,采用集零為整的方法可以讓學生在學習過程中將知識融會貫通,最后的畢業設計就只是前面知識的一次融合和再次鞏固,降低了畢業設計的難度并且能確保畢業設計質量的提升。
參考文獻
[1] 錢煒,姚儉,徐琳,沈越貞.完善規范管理 提高教學質量[J].上海理工大學學報(社會科學版),2004.3.26 (1):18-22.
[2] 陳金忠,梁軍錄,楊麗君,王春生.理工科大學生畢業論文(設計)教學環節的現狀與思考[J].實驗技術與管理,2010.9.27(9):130-132.
[3] 董康軍,王菊霞.本科畢業論文(設計)在教學管理過程中存在的問題及建議[J].硅谷,2009(10):114-115.
中圖分類號:G642 文獻標識碼:B
對學位教育而言,畢業設計(論文)是對學生數年所學知識的一次檢閱,以某個問題的解決為依托,表現作者的能力和水平(包括知識、技術和寫作表達水平)。一般按所在專業職場選題,以本專業術語、概念、方法陳述問題的解,并論證本解決方案可行和結論的正確。最重要的是突出本文的創新。因為論文是給人看的,是對本論題的新做法、新理解,或新結論。哪怕是只有一點點參考價值,也是論文的價值所在,屬作者的知識產權。通篇無創新的論文是毫無意義的。軟件學院軟件工程碩士培養目標是面向國民經濟信息化建設和發展需要、面向企事業單位對各類軟件工程人才需求,培養高層次實用型、復合型軟件工程人才,自然撰寫工程報告型論文居多。本文擬為軟件學院作工程型畢業論文的學生提出一些參考意見。
1工程報告型論文
眾所周知,畢業論文有理論型、研究型和工程型三種類型。軟件學院的工程碩士按現有的培養方案,至少要有一年的企業工程實踐,結合工作選作工程型課題是很自然的,但不等于說只限于工程型。比如該企業研究所作一探索型的原型開發,那么就要作研究型的課題。甚至為了原理和方法的完備要作理論型課題。之所以分為三種類型是論文的內容結構形式不一樣。
理論型課題在于創新性和嚴謹性,在設定的前提與假設下證明所提出的原理、方法的正確性。即前提加規則可導出結論,并給出數學或形式證明,或給出實例驗證的數據和圖表。因數學和形式證明不強調實例的完備性和實用性,故比驗證更具普適性。
研究型課題是新原理、新方法的首次應用,以及對實踐結果(工程原型)作出評價。只求研究點的完整正確,不求實用,是理論到實踐的實施過程,不像理論型只注重結果,而是過程和結果均重要。
工程型論文一般以工程制作(最常見為工程項目)為背景,是已有原理、方法、技術在目標系統上的綜合實現。如果是前所未有的綜合實現,也屬創新。創新可以在實現過程上,也可以在過程某些環節的技術層面上,如同樣采用新的調試方法,同樣功能設計新算法等。總之,不能和相同類型的論文雷同(因為采用的技術步驟相差無幾),要有自己特色。工程型論文要求論文系統完整(在概念上的,而非完整文檔,如三個相似模塊均要提到,但只詳述其中一個),所述的背景項目是可實用的,是本人在工程實踐中的總結和提高。論述的重點可以是工程過程改進、工廠技術改進、管理完善、社會效益等,非常重視驗證數據和量化指標,如測試用例15組等。
軟件學院的軟件工程碩士培養目標強調實用型人才,所以論文選題以工程型為主,但不等于只作工程型選題,因為科學技術的發展,都是在解決工程實踐中的難題,也因此才有原型研究,才有理論探索,所以在工程型論文中嵌入小型算法推導、部分原型研制也是極其自然的。
2常見的困惑
盡管大家對論文撰寫的基本要求比較了解,但在實際撰寫中經常會碰到許多困惑,歸結起來可以分為論文層次、內容、與工作的關系、讀者層次把握幾個方面,下面談談我們對這些問題的認識。
2.1論文是對工作的總結和提高
一年工作下來有許多體會,實際工作有的寫了不少代碼,有的寫了不少文檔,有的代碼文檔都很少,討論方案、協調需求居多,要寫出相對完整的論文不知從何下手。
論文不是工作匯報
論文要講一個相對完整的“故事”。一年換了三個地方,每個地方都是協調別人工作,也編寫了不少程序代碼――寫什么?把你最得意有收獲的地方編到一個“故事”中,所以不是干什么,寫什么。為了故事的系統性,有些工作就寫不進去了,要舍得丟棄。要系統完整則會把別人的工作寫進來,那么就得尊重知識產權,交待了原理功能特色之后要聲明××地方是別人做的,也不要著力發揮。
論文要反映學術價值,不反映勞動價值
畢業論文屬學術論文范疇,你開發數萬行代碼,加了不少班,在極不理想環境下完成了任務,但原理方法都很一般,說不出什么,怎么寫?只談“功勞”,不談“苦勞”,最多只能在行文中說明本項目工作量不小,影響或學術成果更高。把重點放在你對問題的分析上,解決同樣的問題有很多種方法,要有針對性地分析這些方法的優勢與不足,說明你采用某種方法的理由。
2.2論文要有中心論點
反問一下,這篇論文到底要突出什么問題?工程報告類論文仍然是論文,因此要有中心論點。在撰寫中需要注意幾個問題:一是與工程文檔的區別,文檔更注重結論的陳述,要求全面翔實。論文強調結論的導出過程,要充分突出“論”字。二是不同于一般的報告,論述、評價要客觀,實事求是,切忌夸大的商業用語。切忌為了表現水平抄一些與本主題無關的功能、性能和用途。
在說明自己論點正確時,所用術語不能錯,要掌握本課題當前發展方向,要站在正確的立場談過時的技術,因為每種軟件技術都只能在限定的條件下起作用。因此,大量抄錄,沒有觀點、論點的論文不是好論文。
論文中應明確表述:在什么背景下,討論什么問題,范圍如何限定。本文要討論的問題當前非研究解決不可的理由,國內外解決此問題的途經,本文將采取什么途經?對于首次應用于我國某行業的成熟技術論述的重點在具體實現上,對于非首次實現的技術應該明確給出被采用的理由,如出于成本考慮,或某項性能考慮等。
2.3論文面向的讀者是本專業研究生層次
論文強調邏輯性,工程課題強調概念動作要以業務動作導出各項需求,要求什么技術,相互為何關聯,需要什么樣的基礎設施支持,象講故事一樣談原理和機制。盡量不要指定關鍵、重點,而是在行文中突出重點,所以每章小結可以起到畫龍點睛作用,不怕重復。不要以為自己知道的別人一定知道。論文的讀者水平應設定為與你具有同樣研究生水平,但不做你這個課題的人,所以有些概念術語要介紹。高水平的幾句話就可說明,難度大的要講詳細,切忌忽高忽低。還要避免大段代碼、圖或表的堆砌問題。
3論文的形式結構
學習過軟件工程,軟件學院的工程型論文最好寫,基本上按背景項目的工程過程寫。下面談談如何撰寫以“×××系統的設計與實現”為題的工程報告類論文。這類論文是以解決實際應用問題為驅動力,因此,建議論文結構包括緒論、系統需求分析、系統解決方案、系統詳細設計與實現、系統測試與部署、總結與展望幾個部分。
因為是將是否解決實際問題作為主要考察點,因此在論文的緒論部分,應以最簡捷的方式向讀者介紹與本論文主體相關的待建系統所依托公司或組織的背景,說明論文的價值。如果要構建這樣一個系統,接下來要考慮的問題是要建成一個什么樣的系統。在國內外現狀分析中,應針對目前國內、國外同類產品進行比較,其目的有二:一是了解構建這樣一個系統應具備哪些基本功能;另一方面要說明盡管市面上有很多(也可能沒有)同類產品,但以實用、價廉或知識產權等因素綜合考慮后,無法通過商購實現目標,因此做出自己開發的決定的理由。接下來明確系統的建設目標和需要重點解決的關鍵問題。
第一部分主要是交待背景,明確待建系統目標。第二部分則要描述具體要解決的問題,即系統需求分析。需求分析中最好首先對待建系統所承載的業務進行概述,使讀者盡快進入業務語境。業務概述中應重點描述當前阻礙業務發展的主要問題,它們也是待建系統需要重點解決的問題,為后續的功能需求和非功能需求分析做鋪墊。這部分要把系統的關鍵需求談透,以便后續章節可以集中精力論述設計與實現方案的探討。
論文的第三部分是系統解決方案。這部分最好從需求分析中提出的關鍵問題入手,逐一探討對系統影響面大,或技術實現風險大,或涉及用戶商業決策等的問題,給出針對本系統的最佳解決策略,然后匯總成系統總體架構,最后給出系統的模塊劃分。
如果本項目采用的是新技術,新規范,新平臺工具或部分新原理,則在需求分析前后,開辟一章介紹這個新技術、新規范、新平臺工具、新原理,如軟件Apach剛出,第一次采用Vista操作系統等,并作為本論文的重要技術內容。
論文第四部分是系統的詳細設計與實現。論文只談工程實現中有特點的子系統/模塊,如果一點兒特色沒有,誰來都會這么干,就籠統論述有多少模塊/對象,用什么工具開發,要什么支持,怎樣集成的。如果有必要寫,則重點討論某些有代表性的重要模塊的詳細設計與實現思路。如具體算法復雜,或技術實現難度大、工作量大等,對于實現情況類似的模塊則一帶而過(這也是文檔與論文的區別)。
論文第五部分是系統測試與部署。該部分應針對待建系統特點有針對性地提出測試部分需要重點驗證與確認的主要需求指標,并選擇具體的測試策略和測試過程。討論系統部署中需要注意的問題。最后給出系統的總體評價。在此部分需要注意的是,該部分是對需求分析部分提出的要求回應做得如何的直接體現。因為是以解決實際問題為驅動力,因此做的結果非常重要,如果沒有這部分,論文的實際意義就不存在了。
論文的第六部分是總結與展望,主要是在總結成績的情況下,談談以后如何克服不足。最好首先總結自己的論文工作及后續的改進,然后抒發較理想的結果(從工程技術角度)。
上述論文結構對大家并不陌生,但能寫好的關鍵是在全篇中都以解決實際問題為源動力,所有技術、方案的優劣都以是否在組織現有資源可承受的范圍內提出最適合的解決方案為目標,這實質就是在貫徹軟件工程的思想。
4結束語
對于軟件工程碩士研究生來說,作為基本要求“能干活”,都能達到,但能干活的同時又能寫出好論文的學生卻相對匱乏,這也是我國軟件高層次人才斷檔的主要原因。能寫出直接指導實際工作的好論文的人,一定工作完成也很好。因為好的實踐總結的出爐,不但需要有大量的實踐積累,同時還必須具備在實踐中勤于思考、善于總結、抽象提煉的良好習慣。軟件工程碩士論文撰寫能力的訓練正是為了培養學生在實踐中思考、總結與提高的能力,以期在后續工作中能更好地舉一反三,不斷進步。
區別于傳統的實踐教學模式,充分利用高校在理論教學中的教學設備齊全、師資力量穩定、教學場所固定、管理配套服務到位、制度保障有力等優勢的基礎上,結合IT企業獨有的利益驅動、應用導向、前沿技術引領等特點,構建基于校企合作的面向實際應用需求的實踐教學模式。與傳統的實踐教學由校內老師在校內指導學生完成不同,該模式的實踐教學任務主要是由校、企雙方指導老師共同指導學生分別在校內和校外完成。該實踐教學模式實施的主要對象是已完成大三學習任務的軟件工程專業學生,分為專業實訓和畢業實習兩個階段進行,其中專業實訓自大三暑假結束前4周左右開始,持續時間為9周,安排學校指導老師以及企業相關技術老師,指導學生設計一些實際應用項目,完成由學校學習到企業應用的過渡;之后轉為12周的畢業實習,該階段各合作企業根據學生自身的知識掌握程度,通過一定的選拔措施,合理安排學生到相應的實際崗位進行實習,為將來的就業積累經驗。
2存在的問題
該實踐教學模式構建之后,便被應用到軟件工程專業的實際教學工作中,得到了學生的一致好評和社會的廣泛認可。一方面,軟件工程已成為學校最熱門專業的之一,從近幾年的新生招錄情況看,盡管軟件工程專業的招生數量逐年增加,但每年該專業的第一志愿投檔人數仍然年年爆滿。另一方面,畢業生的質量也不斷提高,根據學校組織的就業情況回訪及社會調查結果顯示,畢業生受到了用人單位對的廣泛好評,同時學生對專業建設的滿意度不斷提高,畢業生的薪資水平、就業競爭學科探索力等方面穩居學校各專業前列。
此外,根據實際的學生和用人單位的反饋意見,該方案在具體實施過程中也存在一些不足和欠考慮的地方,具體如下:
(1)合作企業更換頻繁,缺乏長期合作。目前學校選擇合作企業的方式,主要采用企業到校宣講,之后學生根據個人情況進行報名,學校根據學生報名情況確定合作企業的方式。這種方式盡管從公平、公正的角度,最大限度的給予了學生自由選擇的機會,但是由于學生缺乏社會經驗,容易受到上一屆或者前幾屆師兄師姐的言論影響,主觀因素占主導地位,從而導致了合作企業每年更換頻繁,學校和企業之間難以形成長期的合作,不利于學校和企業的長遠發展。
(2)時間安排與校園宣講沖突,錯失就業機會。校內實訓的部分時間是每年9月到10月中旬,而這段時間恰好是每年各大企業的校招時間。由于知名企業或規模以上的用人單位一般不會到普通地方高校進行宣講,因此大部分學生想趁這次機會到附近地區的高校參加校招,從而增加自己就業的幾率。但是這段時間要求學生在學校完成相應的實訓項目,可能會導致一部分學生,特別是一些能力強的學生,白白錯失機會,這個問題也是學生反饋意見最多的問題。
(3)實訓內容一刀切,缺乏個性化定制。目前的校內實訓,主要分知識補強和項目應用兩個階段。這兩個階段的教學內容在具體實施中,沒有充分考慮到學生知識水平的差異和素質能力的不同,要求所有學生都要參與到這兩個階段的學習中,最終導致那些能力強的學生索然無味、浪費時間,而能力差的學生來不及消化,跟不上節湊,疲于應付。
(4)實習管理不到位,缺乏有效跟蹤。關于學生在畢業實習過程中的監督和管理,目前主要采取學校定時巡查、合作企業跟蹤的形式進行。由于學生廣泛分散于不同實習企業,每個企業情況迥異,這種做法很難保證對每一個學生的實習情況進行有效的管理和監督。比如,有的學生頻繁更換實習單位,導致畢業論文難以完成;有的學生則以企業培訓或者工作繁忙等理由推脫,不去積極配合學校相關活動的開展。
3改進措施
(1)對合作企業的選擇,需建立在合理的評價制度上。首先,在意向企業到校宣講前,需學校組織相關人員通過查閱有關資料、聽取企業匯報、現場走訪調查、進行座談交流等方式,對該企業進行全面的調研,重點考察企業的資質、主營業務、企業規模、社會影響等方面的情況,在充分調查的基礎上,形成對該企業綜合實力的科學判斷,淘汰那些不符合要求的企業。其次,可組織學生去符合要求的企業進行見習,提高學生對企業的認知度。第三,結合企業到校宣講后學生的選擇情況,最終決定合作企業。最后,根據實際情況將對合作企業的考察周期進行調整,可由原來的每一年變更為每兩年或者更長時間,這樣有利于校企雙方積累相關經驗,改正出現的問題,提高教學效果,從而達到校企雙方的長效共贏。
(2)合理安排實習實訓進度,解決時間沖突。對于實訓時間與“秋招”時間沖突的問題,可以通過調整教學進度或時間來解決。一方面可將9周實訓貫穿整個暑假,即將原來9月到10月中旬的實訓提前到暑期中,這樣既可以解決時間沖突的問題,又可以留下一段時間讓學生進行實訓知識的總結和消化,查漏補缺。另一方面也可通過適當調整實訓課程內容解決這一問題,即在實訓后期的內容安排上進行合理設計,提高團隊項目開發的時間自由度,讓學生在不影響各自團隊項目總體進度的情況下,可安排時間去處理進行其他事情。
(3)個性化制定教學內容,做到全員覆蓋。對于教學內容單一,容易出現一刀切的情況,學校可釋放更多的權力給合作企業。合作企業可根據學生生源的質量、知識水平層次等因素,制定多樣的個性化的教學內容。如對那些基礎知識薄弱、能力稍弱的學生,可加大知識補強階段的授課力度,實訓內容以知識補強為主;而對那些基礎知識掌握扎實、實踐能力較強的學生,可安排具有一定挑戰性、難度較高的項目,或者補充一些新的科技前沿知識或應用給這些學生。讓所有的學生均可以通過實習實訓有所收獲,了解當前的技術發展情況和社會需求狀況。
(4)實行專人管理,增加過程考核。學生到校外進行實習之后,由于各實習企業的地理位置、實習崗位的要求等情況迥異,導致學校和合作企業對實習學生的管理難度陡增。對于校外實習學生的管理人員安排,無論是對學校還是合作企業,大都是安排相關的老師或者員工進行兼職管理,而繁重的日常工作壓力,極可能導致他們根本無暇顧及這方面的管理工作,為此如果條件允許,可安排專人負責這方面的管理工作。另一個解決思路是讓學生畢業論文的校內指導老師進行日常的跟蹤管理,學生的畢業論文與其實習項目關聯密切,同時畢業論文關系到學生的學業學分、甚至順利畢業,因此該方案可能會成為解決這一問題行之有效的方法。
一、高校軟件工程教學概述
現階段,軟件工程課程已經逐漸的成為一門單獨的新學科,而且在我國許多高校基本上均開設這門課程,因而其重要性可謂是不言而喻的。近些年以來,隨著科學技術的不斷發展,軟件工程課程已經成為開發軟件的必備知識,所以,要想真正的成為一名合格的大學生,那么就必須對軟件工程知識加以熟練的掌握,這也是成為一名合格的信息人才所必須具備的一項技能。同時,高校在開展軟件工程教學時,應當恰當的選擇講授方式,要想方設法的創新教學理念,優化課程教學結構,激發學生學習的熱情,只有這樣才能夠培養出更多優秀的應有型人才,才能夠進一步推動科技的蓬勃發展。我國很多高校都設有計算機科學技術專業,在這個專業的教學過程中,軟件工程是一個基礎性比較強的課程,而且也是學生必學的一門課程,只有切實的掌握了這門課程,學生學習軟件知識才能夠得心應手。當前,相當一部分的高校在進行軟件工程教學時,選用的教材基本上均是清華大學出版社出版的《軟件工程導論》。在具體的教學過程中,教師也都是采用理論知識教學和實際練習相結合的方式予以展開,簡單的來說也就是在課堂上由教師把相關的理論知識教授給學生,然后再對學生進行相應的實訓,讓學生們親自動手去設計一些東西。
二、軟件工程教學的特點
(一) 綜合性較強
學習軟件工程課程需要相關的前導課程作為學生學習的基礎,前導課程主要包括數據結構、計算機基礎導論、簡單的操作系統以及對數據庫的基本處理能力等。通過對這些前導課程的學習,學生可以對局部性的問題有大體上的了解,并且能夠通過自己的努力去解決專業問題。軟件工程課程更為注重的是學生對全局問題的解決能力。我們都知道,軟件工程課程是綜合性比較強的學科,因而學生在學習的過程中,難以避免的會遇到一些無法獨立解決的問題,這時就需要去與其他學生共同討論,如果仍然解決不了,則需要去請教專業老師。從某種意義上說,對軟件工程的研究其實就是在具體的開發過程中,應用自己已經學到的理論知識以及解決問題的方法,在一定的時間內且不超過預算的條件之下,做出高質量、高水平的軟件。
(二)實踐性較強
正如前面提到的,軟件工程課程是一門實踐性非常強的課程,是經過許多研究學者深入研究且精心提煉的結果。高校學生在進行軟件工程課程學習時,應當在能夠掌握基礎概念和方法的前提下,切身的置身于軟件開發的實踐工作,只有這樣才能夠真正理解與體會書本上所講授的知識的內在涵義,才能夠切實的掌握知識與技能把,從而為日后的工作及學習奠定堅實的基礎。
(三)課程發展速度較快
軟件工程從上世紀六十年代末提出,在近幾十年的時間里,軟件工程的發展速度是非常驚人的。在軟件開發過程中,通常有著多種多樣的開發方法,不僅有較為傳統的軟件工程,還有專門針對某個軟件的軟件工程開發項目,甚至還有一些其他的軟件工程開發項目,比如結構軟件工程、形式軟件工程以及凈室型軟件工程等。然而,許多高校所選用的學習教材無法把多樣化的軟件工程開發方法全面的涵蓋進去,進而導致學生不能對比較前沿,比較先進的開發軟件方法有整體上的認識。所以,教師在實施軟件工程教學的過程中,切勿僅僅注重教材內容的講授,還應該在具體的教學中適當的引入比較先進的軟件開發方法,以便于最大限度拓展學生的思維,充分的開闊學生的視野。
(四)對經驗豐富教師的需求迫切
軟件工程是一門需要將理論和實踐密切結合的課程,如果是尚未切身參與過軟件開發的教師,可以說是無法完全夠勝任課程的教學工作的,即便是已經從事軟件開發工作多年的教師,在課堂教學的過程中,如果不注重聯系實際,往往也無法把課程知識有效地教授給學生。軟件工程課程需要不斷地與實踐接軌,高校應該提供給學生豐富的實習機會,讓學生可以在實習過程中不斷掌握豐富的軟件工程專業知識,但是目前這些問題已經成為高校軟件工程教學的難題。因此,采用何種方法才能提高高校軟件工程教學的效果與效率,是擺在我們面前最重要的一個問題。
三、軟件工程教學中所存在的主要問題
(一)教材存在一定的局限性
我們如果從高校軟件工程教材的角度去分析高校軟件工程課程的教學,通常不難發現高校所使用的教材存在著較強的局限性。高校目前的軟件工程教學所沿用的依舊是以往傳統的教學方法,在組織開展軟件工程實驗時,仍然以生命周期的方式予以研究,這樣做的結果就很容易導致學生在軟件工程學習中出現時效性嚴重不足的不良現象,學生無法切實的跟上信息行業的發展步伐,并且很多軟件方面新興起的技術學生也無法接觸到,尤其是那些前沿的科研成果。過去傳統的教學方式主要是教師把書本上的理論知識講授給學生,學生可承擔額聽講中仿佛是已經掌握了教師所講授的知識,但實際上絕大多數的學生對教師講解的專業知識僅僅是非常模糊的認識,這是因為該課程的實踐性較強,只是進行理論知識教學是遠遠無法使學生掌握這門課程的。
(二) 實踐次數少且質量不高
高校在進行軟件工程教學時,不能夠提供給學生比較合適實踐的項目,這也是學生進行試驗之后無法取得預期效果的原因之一。學生不能把自己所學習及掌握的理論知識很好地應用到具體的實踐活動中去,這是實踐質量差的一個重要原因,與此同時,另外的原因就是學生對教師所講授的理論知識沒有熟練地掌握,無法真正的確保知識的合理運用。因此,當學生做畢業論文時,便無法有效的將軟件工程的優勢予以充分的展現與彰顯,甚至很多學生會將軟件工程視為畢業設計中的一個軟肋。除此之外,學生在進行課題選擇時,也不知道到底什么樣的題目適合自己,可能有些學生會選擇軟件開發這個題目,但是在他們的畢業論文中,出現錯誤的頻率非常之多,學生對軟件工程的相關知識了解甚少,這些問題在畢業論文的撰寫中便可暴露出來。
(三)軟件工程教師能力不足
現在,除了專門培養軟件工程學生的學校之外,其他的學校也會開設軟件工程課程,但是這些學校的教師資源質量不是很高,或者說是,這些教師進行軟件工程教學相對比較欠缺。軟件工程是一門對教師素質要求較高的課程,這門課程的教學迫切需要教師對教材的本質知識有非常深入的理解,而且教師還應該具備豐富的軟件開發方面的經驗,最好是掌握一些開發軟件的親身經歷,只有這樣的軟件工程教師才能夠把軟件工程這門課程很好地教授給學生,并且在進行課程教授時才能夠把理論知識與實踐充分的結合起來,才能夠促使學生真正的將這門知識掌握好,進同時對該課程產生強烈的學習欲望。高校軟件工程課程在教學中存在著的一系列弊端及問題,導致高校軟件工程課程的教學效果有欠理想,而如果想要把教學質量予以提高,那么就必須將上述問題妥善的解決。
四、高校軟件工程課程教學改革途徑
面對軟件工程課程教學中所存在的諸多問題,教師應當針對軟件工程課程的特點以及課程學習的重要性,同時充分的結合實際的教學情況,盡快做出切實可行的教學改革計劃,要重點從教學內容、教學模式以及教學資源等方面去實施改革。現階段,許多地方高校在進行軟件工程教學時,使用的依然是傳統的教師為課堂中心的教學模式;還有些高校雖然對理論知識的教學是非常重視的,但是卻極大的忽略了該課程實踐教學的必要性。以上這些內容都是原來傳統教學出現的問題,軟件工程課程是一個實踐性非常強的課程,如果對學生只是單純的進行理論知識的講授,那么他們對這門課程的理解和掌握是不能夠提供學生應用及實踐的。對于這個問題,教師應當深刻予以了解,同時還應當盡快的開展教學改革。在軟件工程的教學過程中,教師需要擔任的角色就是講授教材上的知識,指導學生進行具體的實踐操作,學生在具體的學習中也應該積極主動地去進行實踐操作,教師布置下來的任務必須積極的完成,并能夠通過完成任務更為深入且全面的了解課程知識。此外,教師還應當切實的立足于學生的性格特點,有針對性的采取教學方式,以此開展課堂知識的講解。
五、結束語:
總而言之,為了進一步提高軟件工程教學的質量,本文軟件工程課程的現狀、教師在授課過程中所存在的問題以及應對措施等進行詳細的闡述,以供教育教學工作者參考與借鑒。
參考文獻: