戴牡紅
(湖南大學 信息科學與工程學院, 湖南 長沙 410082)
校企聯合指導本科生的畢業設計是為了引入企業高級工程人才的技術技能和工程項目的開發經驗,同時利用校內教師的理論研究,讓學生參與到企業真實項目的開發中去,培養符合行業需求的軟件系統分析、設計和開發人才,使學生一畢業就具有工程實踐經驗[1]。這對學生、教師、學院、企業都具有重要意義,可以達到多盈的局面。
學生的畢業設計題目一般由學生選擇、校內指導教師確定,課題的來源有些使用歷史項目的子系統或子模塊作為畢業設計的課題,或者是教師基金項目中的部分算法模擬實現,這樣的畢業設計題目往往停留在一些簡單技術的應用上,系統的分析與設計內容簡單,無法檢驗學生解決大型復雜工程問題的能力,部分學生達不到本科畢業設計的要求[2]。
無論軟件工程專業的畢業設計是模擬的或者是真實的軟件項目開發,但現有的管理過程都是事后管理,即只有一個目標階段是否實現的空泛結論,無法對開發過程中出現的問題進行及時解決。必須使影響畢業設計質量和全部過程的因素處于受控狀態,才能保證最終畢業設計的質量達到畢業設計的目的[3-4]。軟件工程專業的畢業設計選題主要來自企業生產項目和教師的課題,在長達一個多學期的畢業設計時間里,軟件需求的變更、企業部署的調整、學生就業的變遷導致課題名稱、研究內容、指導教師以及實習企業的不確定性,以及缺乏有效的變更管理流程,使最終結果和目標脫鉤,且檢查評審沒有依據,導致畢業設計質量低下。
軟件工程專業畢業設計不僅是指導教師和學生的簡單交互活動,也需要各級教學教務管理人員、企業導師、校內導師的參加,督導組老師和學生等參與人員作為現在畢業設計活動的主體,都沒有認識到畢業設計流程是由多個相互獨立的角色為完成共同的目標協同工作的過程,只重視設計結構和成績評定,這是畢業設計管理低效的主要原因之一。
軟件工程專業畢業設計強調過程與結果并重,但不是單純評價能力和寫作水平的高低,且成績評定是由指導教師評分、論文評審得分和答辯得分3部分組成的[5],這種粗糙的評分體系無法準確評價畢業設計質量和學生工程能力的達成度,只有通過細化評分標準、階段實時評分來降低人為標準的差異,科學客觀地評價畢業設計的總評成績才是畢業設計管理體系需要解決的問題。
軟件工程專業畢業設計除了提交學校教務處要求的各類文檔(如任務書、開題報告、畢業論文)外,還要求提交規范、完備的軟件工程開發文檔。文檔管理是軟件工程專業畢業設計最重要的環節之一[6]。教務處采用的通用大理類文檔要求無法體現軟件工程文檔的特色,各種文檔流于形式,導致畢業設計成為一次性、個性化活動,失去了提升和轉化成軟件產品的可能性。
規范化管理是保證畢業設計質量的前提,也是培養學生專業素質的保證。規范化管理是指根據畢業設計過程和教學規律,用科學、規范、可操作性的方法合理制定畢業設計的組合過程和基本制度,以形成統一、規范和相對穩定的管理體系,改進影響畢業設計質量的各種因素[7-8]。
校企聯合指導軟件工程專業學生畢業設計的基本流程如圖1所示。

圖1 聯合指導畢業設計管理流程
(1)新生入學時,應為每一位學生配備導師,這些導師負責學生大學4年的指導。學生的校內畢業設計指導教師在大學入學之初就指定。學校可以定期與企業簽訂聯合畢業設計指導協議,簽訂協議的企業必須是從事與軟件技術相關的公司。每年12月份,由學校組織已與學校簽訂校外畢業設計協議的企業申報選題和企業導師,學生填寫企業畢業設計申請,為平衡資源,由學校指定學生參與企業的筆試與面試。經學生和企業雙向選擇后,學生與企業簽訂校外畢業設計協議。
(2)未能與來校面試的畢業設計企業簽訂協議的學生,學校將統一集中在校內實訓中心進行畢業設計。
(3)選擇在企業做畢業設計學生的畢業設計選題必須是企業真實的項目,企業應允許學生參與其中。
(4)畢業設計結束后,在企業做畢業設計的學生需提供企業開具的所負責開發模塊的測試報告,由企業導師簽字并且企業需在報告上蓋章,由于程序代碼屬于公司資產,學生不能也不需要帶走源代碼,可以免除畢業答辯前的校內測試。
畢業設計的題目類型總體上分為工程研究型和工程設計型兩類:工程研究型畢業設計偏重于軟件工程理論的應用研究,通過運用軟件工程理論知識,提出理論問題的解決方法;工程設計型畢業設計運用軟件工程專業知識,按期獨立完成軟件系統的設計和開發。在畢業設計開始時,企業導師和校內導師聯合確定畢業設計題目,填寫表1列出的各項內容,學院組織學院學術委員會就題目來源、題目性質、要求、技術條件等內容審定后公布并報送教務處。只有審查通過的課題才可以作為畢業設計的題目。畢業設計一人一題,由幾名學生共同參加的大型工程題目,必須明確每名學生應獨立完成的模塊任務,并在題目上加以區別,以保證每名同學都受到較全面的訓練,具有各自的特點。此外,題目應具有社會實踐或工程實際背景,并有一定的深度與寬度,使學生在規定時間內經過努力能按時完成,并有適當的階段性成果。指導教師提出畢業設計題目后,給學生選題。學生在充分考慮自身條件、發展方向、技術水平等各方面因素的情況下,進行題目選擇,在與教師的雙向選擇結束后,由導師下發畢業設計任務書,開始畢業設計指導工作。為保障畢業設計質量,原則上導師最多可以帶5位本科生的畢業設計。

表1 畢業設計選題申報表
2.3.1 論文開題
論文開題是畢業設計一項非常重要內容,論文開題時企業導師必須參加,并從下面幾個方面進行把關檢查,以確保畢業設計工作的順利展開:選題符合專業培養目標,體現綜合訓練基本要求,題目范圍、難易度、工作量適當;選題既有理論意義又注重與實際結合,并具有新穎性;選題及任務書下達及時,任務分配明確、要求具體;開題報告中擬采取的研究方法、技術路線、實施方案合理。
2.3.2 中期檢查
中期檢查將檢查學生工作的進展情況,學院派出教師到企業去,從以下幾個方面對學生的畢業設計工作進行檢查:遵守公司制度,研究或開發進度符合要求,學生查閱文獻資料的能力、研究方案的設計能力以及對實際問題的分析或概括能力和工作中的創新意識。學生需要填寫畢業設計中期檢查報告和每周的畢業設計周報。
3.3.3 系統測試
所有進行畢業設計的學生答辯前必須進行系統的測試,只有測試通過的學生才可以進入答辯環節。主要是從3個方面進行測試:系統有一個功能列表,按功能列表測試;抽取系統中的源代碼,要求學生解釋;學生當場寫一段程序代碼。所有在校外的學生必須提前返回學校準備論文的評審和畢業答辯,如果所寫的畢業論文是和企業從事的項目相關,返校時要拿回來有企業蓋章的測試報告。有測試報告的可以不參加校內畢業答辯前的測試,沒有的話必須參加校內畢業答辯前的測試,如果畢業設計的內容和企業項目不相關,必須回校參加測試。
學生的論文撰寫格式要符合學校的論文撰寫規范,校內指導教師對學生的論文寫作負主要的指導責任。畢業論文答辯和成績評定是畢業設計工作的最后一個階段。答辯和成績評定是否科學和公正對畢業設計有著強烈的導向作用[9]。學院對畢業設計答辯程序應有明確的規定:答辯時,學生自述內容包括題目的來源、背景、要求、設計主要特點、本人的主要工作及完成情況、系統演示和回答評委的問題等。答辯小組成員提問和考查學生表達、溝通、設計以及綜合運用知識的能力。對于答辯不通過的學生,由指導教師對其進行指導、修改,并于1個月后進行二次答辯。
畢業設計的成績評定以學生完成工作任務的情況、業務水平、工作態度、設計報告、外文翻譯以及答辯情況作為依據。學校規定的畢業設計成績評定采用百分制,將答辯委員會答辯成績、指導教師打分和評閱人打分按照5:2:3的比例計算出最終成績。然而,這種大理類的畢業設計成績評定方法并不能真實反映軟件工程專業學生的畢業設計情況。結合軟件工程的過程和校企指導畢業設計的特點,軟件工程專業的畢業設計總評成績應由中期檢查評分、測試評分、企業指導教師評分、校內指導教師評分、論文評審教師評分、論文答辯評分、論文和文檔質量評分等7部分組成,每一部分給定比例系數,每一部分給定具體的評分細節。
針對畢業設計過程,指導教師給定一個復雜工程問題,要求學生分析、表達復雜問題,并給出解決方案。此外,設計軟件體系結構、編碼實現,并進行確認、驗證與測試,形成軟件系統、相應的軟件過程文檔以及畢業論文[10]。企業導師和校內指導教師是主導,學生是主體,組織管理是保證。在畢業設計的各個環節以軟件的設計質量為生命線,需要建立不同層次的質量監控措施,保證整個畢業設計的過程中指導教師的質量和學生系統設計的質量、文檔和論文寫作的質量。
為了確保畢業設計的質量,充分利用校外導師和實習基地的優良條件,對在企業進行畢業設計的學生實施雙導師制,聘請企業中具有豐富學識和經驗的工程技術人員做導師,和學校的導師共同指導畢業設計,發揮各自優勢,提高指導質量。為保證畢業設計的質量,學院嚴格執行畢業設計的中期檢查,檢查畢業設計進展情況、后續工作的安排情況等。對設計工作進度緩慢的同學提出警告,以確保設計任務的按時完成。
學校指導教師應由業務水平較高、實踐經驗豐富的教師擔任,畢業設計遵循以學生為中心的指導教師負責制,明確要求指導教師對整個畢業設計環節的教學活動負責,對學生的初選題、設計方案的選擇、程序的編寫、論文的撰寫和答辯負指導責任。指導教師每周必須確定至少4個小時的指導時間并上報院系。建立校外指導教師檔案庫,對每屆畢業生校外指導教師的指導質量和學生設計和論文完成的質量進行監控和總結,增補有責任心、技術水平高、學生完成質量高的指導教師,淘汰不負責的指導教師。
學院依據工程教育認證標準、本科畢業設計工作細則、本科畢業設計工作檢查細則、畢業設計抄襲檢測管理辦法等制度和辦法構建了學生畢業設計的質量控制機制,對畢業設計相關服務和管理工作、學生通過畢業設計得到的基本訓練、畢業設計開始的條件、畢業設計過程的規范、畢業設計應達到的要求、導師的職責、畢業設計的開題、中期檢查和畢業測試以及答辯等作了詳細規定。
在論文答辯前,還有一個質量保證環節,就是畢業答辯前的測試,測試組的老師必須在機器上測試學生所完成的系統,驗證完成的功能內容,并且詢問相關的技術細節和源程序代碼,以判斷是否是學生自己做的,必要時,還必須要求學生現場編寫代碼,對于測試不通過的學生,給出1個星期的修改時間,然后再進行測試。第一次測試不過的學生,不能參加畢業論文的答辯,只能和畢業論文答辯不通過的學生,一起進行補答辯。
為進一步提高畢業設計質量、科學引用文獻資料,杜絕畢業設計教學過程中的抄襲、拷貝等學術不端現象的發生,學校決定對本科畢業設計采用抄襲檢測系統進行檢測。畢業設計在答辯之前必須檢測,論文檢測的論文相似度少于15%才可以參加畢業設計答辯。
畢業設計是對學生綜合素質、理論知識與專業技能的檢驗,有助于提高學生的實際動手能力,有助于培養學生的創新精神和創新能力,縮短學生畢業后的工作適應期。校企聯合進行畢業設計指導,學生到企業進行畢業設計,培養了學生的工程實踐能力;開拓了校內指導教師的視野,提高了畢業設計的質量;極大地提高了學生對所學知識的應用能力、解決工程實際問題的能力及應用多種工具的能力,極大地提高了學生撰寫技術報告和論文報告的能力,培養了學生的創新意識、工程意識和團結協作精神,達成了培養目標的基本要求。
通過企業導師和校內導師的共同指導,學生軟件產品的研發、軟件技術的應用、人際關系的處理、團隊協作和項目管理方面的能力得到了較大的提升。由于建立了全面規范的流程管理和質量保證措施,軟件工程專業的畢業設計從組織、選題和過程控制到論文答辯和評優,以及電子文檔和紙質文檔的規檔保存已經規范和科學化。通過幾年的實際應用和過程監控,畢業論文的質量已明確提高,應用效果良好。