牛德雄
(廣東科學技術職業學院 廣東 珠海 519090)
高職計算機軟件技術專業能力培養淺析
牛德雄
(廣東科學技術職業學院 廣東 珠海 519090)
高職軟件技術專業能力分析是能力培養的第一步。應從軟件開發特點、軟件開發過程、軟件人才培養過程及開發模式等方面分析軟件開發基本專業能力的構成,特別是應對軟件專業學生的不同培養階段、不同開發模式的能力要求、能力之間的銜接等問題進行分析,并圍繞能力培養進行教學改革探索。
高職教育;計算機軟件技術專業;能力培養
教育部 《關于全面提高高等職業教育教學質量的若干意見》明確指出要“加強素質教育、突出實踐能力培養,改革人才培養模式”。軟件開發是一種特殊的工業生產過程,屬于具有高附加值的高新技術開發。國家已制定了多項扶持軟件產業的政策,其中,軟件人才的培養是關鍵。培養軟件人才,改革以能力為中心的人才培養模式,首先要分析軟件人才的能力構成。
軟件專業是高校中人數最多的專業之一,已形成多層次、多類型的計算機人才培養體系。傳統的普通高校本科教育以學科體系為核心,而高職教育的定位則要求體現職業性與學科性的結合,以培養高技能應用型人才為主。由于傳統的學科性教學內容的滯后性所帶來的不足,軟件人才培養模式的改革顯得非常緊迫。
當前,高職教育已經占據我國高等教育的半壁江山,高職教育的職業性、教學內容設置的靈活性等特點,已使高職軟件技術專業成為軟件開發應用型人才培養與改革的重要陣地。
軟件開發過程與其他行業的生產不同,具有自己的特點。這是因為它產出的是邏輯產品,軟件產品的邏輯結構具有復雜性、不可見性,而且軟件是通過人的腦力勞動開發出來的。軟件開發具有以下特點:
第一,軟件開發常常沒有一個明顯的制造過程。軟件開發的輸入、輸出是無形的,制造過程不明顯。但如果是大型軟件開發組織的團隊開發,則也會呈現出一定的制造過程。
第二,難以像硬件制造項目那樣來管理。由于軟件是靠人開發出來的,是人腦的邏輯勞動產物,所以,難以像硬件制造項目那樣管理。
第三,個人因素在軟件開發過程中的重要性程度很大。有時某個人的能力與素質在項目組中具有不可替代的作用。
第四,不同的軟件項目開發過程與開發模式并存。可以采用個人開發模式或團隊開發模式,這兩種模式的差異很大,能力要求不盡相同:前者體現的是個人(核心人員)能力,后者體現的是團隊能力,強調管理與標準化及成員間的協同工作。
在一般情況下,一些大中型軟件公司往往為了克服個人因素對企業發展的影響而采取獨立于個人的團隊開發模式,但這對個人素質與團隊管理的要求更高。高職軟件開發職業教育就是要緊緊依托這些行業特點,培養出滿足企業職業能力要求的高素質專業人才。
軟件開發有程序設計、軟件設計及軟件系統應用的不同階段。不同階段的能力與要求也不同。從初期的程序設計培養過渡到下一階段,能力是一個質變的過程。在日常教學過程中,有時往往一直停留在程序設計階段的教學對學生職業能力的培養不夠,這也是大量軟件專業的畢業生不能滿足企業需要的原因。
程序設計是軟件開發的初級階段,培養學生的程序設計、算法等基礎性知識。軟件設計則要求軟件開發具有實用性功能,且代碼規模和復雜程度大大增加,需要不斷滿足用戶功能性和非功能性需求,開發技術與管理難度也大大增加。這就需要培養學生多方面的能力與素質。
程序是軟件的一個重要組成部分,但許多學生對此認識模糊不清。教學經驗表明,很多學生容易在軟件設計階段的學習中掉隊,在軟件開發技術過程中,學生總是采取程序設計的思維。解決好該階段的過渡對學生會有質的提高,從而使學生逐步具備一定的專業能力,受到軟件企業的歡迎。

圖1 軟件開發技術學習階段及過渡圖
系統階段的培養針對具體應用,有多種能力要求,如系統認識、系統設計、系統開發、系統應用等。由于此時學生出現了分化,且能適應眾多不同的崗位,此階段有利于挖掘學生的特長因材施教。
對軟件開發能力進行分析,要結合軟件開發階段的特點及開發過程的特點,并要結合軟件開發的不同形態。圖2中列出了不同學習階段軟件專業人才的能力結構,并從不同的角度進行了分析,如根據軟件技術的學習階段進行能力分析,每個后續階段都在前面的基礎上,增加了新的能力。另外,要逐步實現從個人能力到團隊能力的過渡。

圖2 軟件技術專業能力結構圖
首先, 從三個不同學習階段的角度進行分析。根據職業能力從初學者、高級初學者再到有能力者的發展,應從三個軟件技術不同學習階段進行能力分析。如在能力培養時,程序設計階段僅僅是初級階段,對應的能力要求僅僅是基本的程序設計能力與算法能力等,這時的程序設計只有幾個程序文件的形式。而后兩個階段則在文件數量、程序規模等方面增加了很多,其能力要求與能力培養大不相同。進入軟件開發階段后,則需要重點對專業職業能力進行培養,這時,應強調軟件的“總體設計”以及在此基礎上展開的職業活動,并引入團隊開發與管理等領域。總之,此階段的過渡對學生而言是一個飛躍,能力的要求逐漸接近企業需要。傳統的做法只是程序設計再加上學科性理論知識,對綜合職業能力的培養很有限。
其次,各階段的學習目的與能力要求不同。如在程序設計階段的學習,重點在程序設計與算法能力培養。在軟件設計階段要進行團隊開發則需要設計、管理、交流協同、文檔表達等綜合能力的應用,應逐步提高學生的綜合能力與素質。實踐表明,培養學生的這些能力需要在實際開發情境下進行才能達到好的教學效果。如何設計、創造這個學習情境,是我們要重點探索的內容,即要切實做好軟件開發的工學結合,落實一種可持續發展的學習模式,達到培養學生專業能力與素質的目的。另外,系統應用階段需要將軟件系統本身作為一個應用產品進行設計、開發、實施、應用等,此階段對應的崗位類型較多,在教學過程中,可根據學生的特點進行因材施教。
總之,各個階段的能力與要求不同,培養目標也不同。在教學改革中,應特別注重它們之間的銜接關系及過渡。
教育部2010年編制的 《高等學校計算機科學與技術專業人才專業能力構成與培養》一書明確指出了計算機軟件人才應具備的專業能力,包括交流能力、獲取知識與信息的能力、專業基本能力、創新能力、工程實踐能力以及團隊合作能力。分析這些能力與學習階段的對應關系,針對高職軟件技術專業的教學內容設計與安排就會具有針對性。傳統學科型的培養已經不能滿足這些要求,需要針對這些能力的培養進行教學改革。
能力的培養不僅僅是“知識領域”的內容,更重要的是“行動領域”的內容。軟件開發職業能力培養的核心在“軟件設計與實現”階段,應將這些職業能力納入高職教育教學內容,合理地組織,針對不同的能力要求,設計合適的教學案例與教學情境,再運用工學結合等多種教學模式實現情境重現,使學生自然地進行行業“領悟”。
通過實踐探索,我們的教學改革取得了較好的效果。改革后,學生學習的精力更集中了,學生團隊積極承擔實際開發項目,在全國性的各項技能競賽中,我院的學生也取得了好成績。但是,在實際教學過程中,我們也面臨許多困惑,上述能力的培養有些已經實現,但大部分仍在繼續摸索的過程中,還需要繼續努力。
[1]教育部高等學校計算機科學與技術教學指導委員會.高等學校計算機科學與技術專業人才專業能力構成與培養[M].北京:機械工業出版社,2010.
[2]馬林藝,張喜英,錢春升.軟件工程[M].北京:機械工業出版社,2008.
[3]趙志群.職業教育工學結合一體化課程開發指南[M].北京:清華大學出版社,2009.
G712
:A
:1672-5727(2012)02-0038-02
牛德雄(1965—),男,湖北鄂州人,碩士,廣東科學技術職業學院計算機工程技術學院軟件技術專業副教授,研究方向為高職教育、軟件開發以及軟件工程。