張健 覃翠 余輝龍 趙靜
[摘 要] 工科院校的畢業設計目的是訓練學生綜合運用所學專業知識的能力,培養學生的工程實踐素質,為其步入社會打下堅實的基礎。在畢業設計過程中融入軟件工程項目管理技術手段,采用路線圖、里程碑、同步點對畢業設計任務進行分解,然后制定工作票,很好地控制畢業設計的工作進度,提高了畢業設計質量,達到了畢業設計的預期效果。
[關 鍵 詞] 畢業設計;工程化管理;項目管理
[中圖分類號] G647 [文獻標志碼] A [文章編號] 2096-0603(2018)13-0020-02
工程技術類本科學生的最后一個學期,通常是在教師指導下,完成一個特定的項目作為畢業設計。畢業設計的主要目的是訓練學生綜合運用本專業各方面知識的能力,培養其工程素質。搞好畢業設計工作,對實現教學培養目標,提高學生的綜合能力和全面素質,增強學生在就業市場的競爭力等諸方面具有重要意義。
由于畢業設計工作的重要性,各高等學校對此都十分重視。經過多年的實踐和探索,各個院校都已經形成了各自比較規范的工作程序和管理措施[1]。但是,由于近年來各種形勢的不斷發展和變化,新技術和新因素的不斷出現,給畢業設計工作帶來很大的影響。如,學生的就業和考研等實際問題導致學生無暇顧及自己的畢業設計;而高校教師除了承擔大量的教學任務外,還承擔一些科研任務,部分教師還承擔了產業開發工作,用于指導畢業設計的時間偏少,精力投入不足。這些情況都使有些學生只在畢業設計結束前,突擊完成畢業設計任務,從而完成質量較差,達不到預期的效果[2][3]。
為了避免上述問題,需要摒棄形式上的管理,加強畢業設計的過程管理[4],將項目工程化管理的方法引入畢業設計管理,才能真正提高畢業設計的工作質量,達到預期效果,同時培養了畢業生的工程實踐能力。
一、畢業設計與工程項目管理的相似性
畢業設計工作可分為三個階段:開題階段、實施階段、結題階段。在這三個階段中,包括以下問題:設定工作目標、查找文獻資料、制訂工作計劃、分階段實施、工作過程及階段性成果的文檔化、目標整合與達成、論文撰寫、答辯準備。
與此相似,軟件項目開發過程是一個任務序列。通過這個任務序列在預算內按時生成高質量的軟件產品。軟件產品的生產過程中,要解決的問題有:定義目標系統、制訂開發計劃、文檔化軟件、分階段實施、產品交付。
我們將兩者進行對比,對比結果如表1所示。從表1中可以看出,畢業設計工作中經常遇到的問題與軟件工程項目管理中的常見問題具有很強的相似性。因此,將軟件工程項目管理的概念引入畢業設計的過程管理中,可行性很強。
當然,雖然軟件項目在項目規模、涉及人員數目、持續時間和資源消耗等許多方面的復雜性都遠遠高于畢業設計,但是,根據軟件工程的理論和實踐,即便是對由單個程序員在數周之內完成的項目,采用一定的項目管理手段,也比完全不采用軟件工程思想和軟件項目管理具有更高的效率,最終產品的質量更高。畢業設計的工作量,至少為一人十幾周,或者由2~3人合作一個稍大的項目,也是在十幾周內完成。由同一個指導教師所指導的畢業設計小組,學生經常為4~8人。這種規模十分適宜采用一定的工程化手段進行管理。
二、畢業設計的工程化管理方法
在畢業設計過程中實施工程化管理,主要體現在以下幾個方面:進度控制、任務分解與跟蹤、過程跟蹤與測量等。
(一)進度控制
畢業設計的時間一般為16周左右,必須制定切實可行的計劃,并且按照計劃執行,才能在規定的期限內完成畢業設計任務。如果在畢業設計的初期和中期,不能有效地實現階段性的目標,很難相信在接近最后期限的短時間內,以突擊的方式完成既定目標。這里所遇到的問題和軟件項目管理中的問題相似:“在規定的開發時間內,交付符合要求的軟件產品”。借用軟件項目管理的思想和實踐,我們在16周的畢業設計任務時間段,設立了5個里程碑:開題報告、項目起步、項目主體、撰寫論文、答辯準備。每一個里程碑進一步拆分成2到4個同步檢查點。大體上,每周對應一個同步檢查點。這樣做的好處是使每位參與畢業設計的學生,十分清楚當前的具體工作任務,也便于經常對照當前工作進度與計劃進度,了解工作進展超前還是滯后。
(二)任務分解
通過里程碑設定畢業設計的階段性任務,仍然是較為粗略的。需要將每一個階段性的任務,再分解成更加具體的工作項目,并指定完成時間。為了達到里程碑所指定的目標,需要完成一個個的具體任務。對這樣的階段性任務進一步分解之后形成的具體工作,我們采用“工作票”(Ticket)進行任務的定義和追蹤,每張工作票描述了非常具體的工作內容,并指明責任人。當工作票所定義的工作內容完成后,完成該工作的人,將此工作票關閉。已關閉的工作票,會反映到它所從屬的里程碑那里。當一個里程碑所涉及的全部工作票均已正常結束時,那意味著該里程碑所對應的階段性工作已經完成。未關閉的工作票意味著尚未結束的工作。通過觀察里程碑上的信息,即可以了解工作進度的超前或延誤。
每個工作票都包含以下內容:標題、內容描述、發起人、擁有者、關聯里程碑和關鍵字等。此外,還可以在工作票上添加附件,以便存放程序片段、測試數據或者運行結果。這種組織方式可以使相互關聯的信息更加便于查找。
參加畢業設計的學生可以方便地通過查看屬于自己的當前活動工作票快速了解目前必須完成的工作。這種工作票的設計功能,有助于引導學生將注意力集中到畢業設計的重點問題上來。
(三)過程跟蹤
對畢業設計的考核,眾所周知的方法是畢業論文評審和畢業答辯,一般集中安排在畢業設計進程的最后進行。重點是對畢業設計的成果進行考核。因為論文評審與答辯無法對畢業設計實施過程性考核,作為補充,往往在畢業設計中期安排一次“中期評定”,借此彌補過程性考核方面的欠缺。然而僅僅增加一次中期考核,還是不能全面地反映畢業設計的整個過程。更重要的,畢業設計中期考核中發現的問題和被整改的情況,到最后答辯時發現,往往為時已晚。
在工程化管理中,采用時間軸視圖,記錄畢業設計學生進行的所有工作。時間軸視圖按照時間的先后順序,列出所有項目參與者所進行的操作。使整個畢業設計的過程能夠被跟蹤,有利于及時發現問題,調整反饋。同時設計過程中存留的資料,為全面考核畢業設計的過程,提供令人信服的數據。
三、應用實例
以南京工程學院2016屆畢業生為例,說明畢業設計中項目工程化管理的應用。為了便于管理整個畢業設計過程,設置了如表2的5個里程碑。在每個里程碑里,規定了必須完成的內容。
在畢業設計的過程中,對每個里程碑中的任務,根據畢業設計的需要,生成了多個任務票,如在完成項目的主體工作階段,共生成了五個任務票,分別用于完成各項任務。在學生開始編寫程序的初期,要求學生完成一個簡單程序。每完成一項任務后,指導老師給出下一個任務票,用于控制學生的進度。同時在此期間,學生生成了兩個任務票,要求老師提供幫助。
通過里程碑、任務票的方式,老師完成了對學生畢業設計的進度控制和任務分解,同時實現了對畢業設計全過程的跟蹤。而學生同樣通過這種方式,熟悉軟件工程中的各種管理方法,提高工程實踐能力。
四、總結
毫無疑問,畢業設計工作水平的提高,依賴于教學管理部門高度重視,畢業設計指導教師嚴格要求、細心指導,以及參加畢業設計的學生認真對待畢業設計工作。
在畢業設計過程中利用的各種工程化的技術管理手段,采用路線圖、里程碑、同步點和工作票的方式,分解畢業設計階段任務,并且用于控制畢業設計進度,起到了良好的效果。
參考文獻:
[1]柳玲,文俊浩,熊慶宇,等.軟件工程專業本科畢業設計過程管理[J].計算機教育,2013(7):99-102.
[2]彭秀英.立題和過程管理是提高畢業設計質量的保證[J].中國大學教學,2012(3):75-76.
[3]郭興龍,宋新南,胡自成.工科專業畢業設計質量控制研究[J].中國電力教育,2013(7):172-174.
[4]韓作生,許崇敬.畢業設計的流程化跟蹤管理[J].高等工程教育研究,2005(3):107-109.