


摘要:針對當前我國高校軟件人才培養不能滿足IT企業開發需求,高校教師科研項目開發質量不能滿足服務社會需求等問題,分析了IT專業不同年級學生的能力水平與軟件開發生命周期對人才的需求類型。通過組建項目團隊和項目實訓,提出了軟件迭代開發方法與大學周期性人才更迭培養之間的關聯模型。
關鍵詞:軟件;迭代開發方法;人才培養;模型
文章編號:1672-5913(2013)03-0089-04
中圖分類號:G642
0 引言
以2000年為起點,我國軟件產業已經經歷了一個黃金10年發展期。我國軟件產業規模以平均每年38%的速度迅速增長,軟件和信息技術服務業占電子信息產業的比重逐年上升。2000年時該比重只有1%~2%,2005年時提高到10.2%,2010年已提升至18%。據有關部門統計,至2010年底,我國軟件和信息技術服務業從業人員已超過300萬人,軟件企業數量超過3萬家,軟件行業中骨干企業的實力明顯增強。2010年,我國軟件行業中排名前100家企業的收入達到2900億元,在軟件行業收入中占比達21.7%。但與美國、歐洲和印度等的軟件產業相比,我們還有很多不足,主要表面在3個方面。第一,在軟件產品品牌上,我國還沒有能與微軟的操作系統、IBM的軟件服務、Oracle的數據庫等相媲美的產品,我們的軟件產品層次還比較低,多數是一些應用服務軟件;第二,在軟件企業規模上,據2012年全球500強企業排名,中國只有聯想集團進入500強,排名370,這與HP(排名31)、微軟(排名119)等相比還是有很大差距;第三,在軟件人才影響上,我國在近20年涌現了馬云、李宏彥、馬化騰、任正非、丁磊、劉積仁等國內知名IT企業創始人,還有李開復和張亞勤等就職于世界IT知名企業高管,但沒有像微軟的比爾·蓋茨、蘋果的喬布斯、印度Infosys的創立者那拉亞南·穆迪(Narayana Murthy)等這樣有影響力和創造力的人才。
美國、印度等軟件強國在軟件產業發展的成功經驗表明,合理的軟件人才結構是造就軟件產業和產品地位的關鍵。根據當前軟件行業細分結構可以將軟件人才分成高、中、低的金字塔型,即處于高端的軟件項目經理和系統分析師,位于中間層次的軟件工程師,處于低層的程序員(從事軟件編碼等初級工作的程序編寫人員)。中國的軟件人才則呈明顯的橄欖形,高端人才和低層人才都大量匱乏。當前全球來看,隨著開發工具的智能化和編寫程序的規范化,程序員已經不是最缺的人才,而合格優秀的項目管理人才才是最缺的。很多人認為項目管理能力很難在學校期間培養,實踐表明,一個成功的IT項目管理人員的很多素質其實在大學或研究生階段就能夠培養和造就,進入企業從事項目開發只是增加了實踐機會,培養了項目管理的技巧和藝術,使他成為合格而優秀的IT項目管理人才。我國軟件從業人員雖然已經近300萬,但是與我國軟件產業的增速要求相比遠遠不夠,有相當一部分缺口。以江蘇為例,根據江蘇省軟件產業發展規劃,到2012年江蘇省軟件和信息服務收入將達到4000億元,出口80億美元,軟件從業人員達到65萬人,目前從業人員大約在40萬,還有25萬人員的缺口。所以,對軟件人才培養方法的研究很重要,不但可以為我國培養一定數量的軟件人才,還可以為我國培養更多的軟件項目管理人才。
國內目前關于如何培養學生的動手能力、如何培養學生與企業需求接軌、如何提高教學質量等方面都有研究,但是對于如何保持4年周期性人才培養的連續性等研究還不多,當前高校會出現以下3種情況。
1)很多老師反映本科生做不了項目,好不容易到大三或大四培養一兩個動手能力好的學生,就要面臨著考研或就業,根本沒時間再跟老師做項目,所以高校很多項目也因人員流動而中止于原型系統,根本無法形成產業化或推廣應用。
2)很多學生反映老師演示給學生的系統每屆都一樣,根本沒有變化,有的系統都已經過時,不能滿足當前軟件開發需求,如在“軟件工程”中,很多教材中還是引用傳統的案例,如圖書管理系統、學籍管理系統等,明顯不能滿足當前WEB方式下的軟件開發需求。
3)很多老師反映多少年難得一遇某一個很出色的學生。為何會出現這種現象?老師沒有研究教學培養的問題,而只是認為這與學生的天分有關系。其實軟件開發天才(屬于靈魂人物)的天賦很重要,但對于大多數社會需要的項目管理人員其實是可以復制的。本文結合軟件迭代開發模型在軟件人才培養中的應用展開研究,積累了豐富的經驗,可以解決以上3種情況遇到的問題。
1 軟件迭代開發模型在本科四年制人才培養中的應用
1.1軟件人才培養思路
作為高校計算機教學工作者,為了能培養與社會和產業接軌的人才,除了具備較強的專業知識外,還應該做到以下3點:第一,要了解目前國內外軟件行業的發展概況,在調研行業發展概況的同時,一方面了解當前最新的行業技術動態,另一方面了解產業對人才的需求情況。第二,要有豐富的項目開發經歷和管理經驗,尤其是精通RUP(Rational Unified Process,統一軟件開發過程)迭代開發模型,以及指導本科生和研究生團隊開發,這樣就能很好地將迭代開發模型與周期性人才培養結合起來。第三,要在實踐中總結教學資源、教學方法和人才培養策略等,形成教材、論文和門戶網站等教學資源。經過多年從事軟件開發和教育工作,南京郵電大學計算機學院軟件人才培養思路可以概括為“行業需求為指導、項目開發為手段、人才培養為目的”,形成如圖1所示的軟件人才培養流程。其中,行業需求為指導是指最終高等學校培養出來的軟件人才是要服務于社會、就業于企業,如果培養學生使用過時的軟件技術(如開發工具、測試工具和體系結構等),那么學生畢業后就不能滿足企業的需求,畢業就等于失業,需要二次就業,給社會造成負擔。項目開發為手段是指軟件迭代開發模型與周期性人才培養的結合需要項目開發來鍛煉和檢驗課題提出的人才培養模式,而且也為形成各種教學資源(項目案例庫、共享門戶網站和精品課程教材等)打下堅實的基礎。另外,這里的項目來源也可以不拘一格。目前高校項目來源主要有政府科技部門項目、校企合作產學研項目和學校信息化改造項目。人才培養為目的是指教師的天職就是培養人才,培養高素質、滿足社會需求的人才。只有老師在教學培養過程中不斷總結經驗,不斷創新方法,不斷提供學生實踐的機會,學生才能夠具有良好的專業水平、柔性的管理和團隊協作水平。
1.2軟件迭代開發模型與本科四年周期性人才的關系
軟件迭代模型是RUP推薦的周期模型,在RUP中,RUP定義了初始、細化、構造、交付4個階段。迭代開發是一次完整地經過所有工作流程的過程,至少包括需求工作流程、分析設計工作流程、實施工作流程和測試工作流程。通過多年的軟件專業教學和項目開發發現,由于軟件開發過程需要不同類型的人才,針對目前4年制本科教學這一周期性過程,可以很好地與RUP中迭代開發模型完美結合。其中,高年級的同學可以擔負項目管理、項目需求分析文檔、項目建模和風險控制等任務;低年級的同學可以通過在項目組中的訓練培養項目開發興趣、了解軟件開發流程,從編碼開始介入,不斷提高自己的編程能力和項目管理能力。這樣通過一個完整的項目開發,低年級同學將掌握一定的項目開發能力和項目管理經驗,在下一個項目中(該項目也可以是上一個項目的迭代版本),他們就可以進入高年級角色,擔當起項目管理和需求分析的角色,低年級或新生又可以加入到項目組中擔當測試和編碼角色。綜上所述,RUP迭代模型與大學4年制本科周期性人才之間的關聯如圖2所示。
2 軟件迭代開發模型與大學本科四年周期性人才能力的映射
通過多年的計算機軟件人才培養和項目實踐表明:大學4年一個周期與RUP四個階段的迭代模型可以很好地結合起來,如圖3所示。一年級新生主要是學習專業基礎課,尤其是在他們第一次學習編程語言C或C++的同時,可以組織他們參與相應的軟件開發項目,讓他們對編程語言的學習產生興趣,覺得學習編程語言可以完成項目。二年級學生一般開始學習數據結構、操作系統和軟件工程等專業通識課,培養學生自己設計算法和編程解決實際問題的能力,他們可以參與項目的部分核心算法設計工作。三年級學生開始接觸數據庫、軟件測試和網絡等專業選修課,他們已經具備了一定的軟件專業知識和開發能力,也具備了軟件設計和開發經驗,可以擔任一定的項目管理工作。四年級學生開始分流,一部分學生考研,一部分學生就業。就業這部分學生可以很好地協助老師承擔起項目管理和指導工作,這時他們具備的能力也可以與社會需求接軌了。這種迭代開發模型與人才培養相結合的培養模式優點顯而易見,第一,有利于克服大學4年一個周期的人員流動性大的特點,保證人才的可持續培養;第二,也可以適當減輕指導老師的負擔,發揮學生傳幫帶的作用;第三,還有利于學生水平的不斷提高,站在前面學長研究成果的肩膀上,讓他們將更多的精力專注于以前沒有解決的難題上,實現軟件版本的不斷迭代開發,解決了高校教師項目開發的人員短缺和產品產業化等問題;第四,培養學生團隊協作和項目管理的能力。這種人才培養思路也可以應用到其他專業的學生培養和教師項目研究中。
3 結語
面對我國軟件人才,尤其是管理性人才缺失的情況,很多地方政府開始著手聯合企業和高校,三方共同培養滿足社會需求的軟件人才,這就更需要高校軟件人才培養的教育工作者們與時俱進,要不斷學習不斷更新軟件技術和開發平臺,更要不斷研究人才培養方法和模式。
(見習編輯:劉麗麗;編輯:郭田珍)