摘要:高職教育的目的是培養(yǎng)生產(chǎn)活動需要的應(yīng)用型人才,其專業(yè)方向劃分要以職業(yè)崗位群為依據(jù)。本文依據(jù)國際公認(rèn)的軟件工程思想,對軟件開發(fā)過程涉及的29種崗位加以分析,對高職軟件專業(yè)方向的設(shè)置提出了相應(yīng)的建議。
關(guān)鍵詞:軟件;高職教育;專業(yè)方向
我國的高等??平逃?,從發(fā)展歷史上可以分為本科壓縮型、技術(shù)應(yīng)用型和大眾型三類[1]。所謂本科壓縮型,是特定歷史時期為了多快好省地培養(yǎng)急需的專業(yè)人才而設(shè)立的教育層次。其教學(xué)內(nèi)容和專業(yè)設(shè)置完全仿照本科教育,但培養(yǎng)規(guī)格有所降低,學(xué)制也縮短一年。技術(shù)應(yīng)用型??剖前凑章殬I(yè)教育思路舉辦的教育形式,主要培養(yǎng)應(yīng)用型人才。大眾型??平逃饕ǜ黝惓扇私逃妥詫W(xué)考試,具有寬進(jìn)嚴(yán)出的特點(diǎn)。其產(chǎn)生的目的是為了在民眾中普及高等教育。隨著我國高等教育事業(yè)的發(fā)展,本科壓縮型和大眾型??平逃呀?jīng)愈來愈不符合我國人才培養(yǎng)的需要。另一方面,由于經(jīng)濟(jì)的發(fā)展,應(yīng)用型人才出現(xiàn)了嚴(yán)重的短缺。技術(shù)應(yīng)用型??平逃尸F(xiàn)出旺盛的發(fā)展勢頭。這種技術(shù)應(yīng)用型專科教育,就是今天我們所說的高等職業(yè)教育(簡稱高職)。
高職教育不是本科的壓縮,其實(shí)質(zhì)是要培養(yǎng)區(qū)別于本科的不同規(guī)格或者種類的人才,也就是應(yīng)用型人才。因此,高職院校的專業(yè)設(shè)置思想必須不同于本科教育。普通高校的專業(yè)設(shè)置是以學(xué)科建設(shè)為基礎(chǔ),以基礎(chǔ)學(xué)科專業(yè)為依托,以社會需求為導(dǎo)向,以課程建設(shè)為核心;高職院校專業(yè)設(shè)置是以市場需求為導(dǎo)向,以職業(yè)崗位(群)為依據(jù),以技術(shù)含量為參數(shù),以學(xué)科專業(yè)的交叉復(fù)合來綜合研究專業(yè)的設(shè)置。[2]本文通過對軟件開發(fā)過程和軟件生產(chǎn)職業(yè)崗位的分析,對高職院校軟件專業(yè)方向的設(shè)置進(jìn)行探討。
1軟件生產(chǎn)過程及參與者角色
軟件生產(chǎn)是軟件產(chǎn)品形成、交付使用、維護(hù)和退出使用的全過程(即生命周期)中所有活動的總稱。盡管不同的組織或?qū)嵺`者對軟件生命周期中的生產(chǎn)活動的執(zhí)行方式、先后順序有不同的觀點(diǎn)和做法,但對這些活動種類的認(rèn)識是完全一致的。這是美國Rational公司在20世紀(jì)90年代所提出的統(tǒng)一過程(Rational Unified Process, RUP)理論[3]。 RUP將軟件生產(chǎn)活動分為:業(yè)務(wù)建模、需求、分析設(shè)計(jì)、實(shí)現(xiàn)、測試、部署、環(huán)境支撐、項(xiàng)目管理、配置及變更管理。上述活動中,業(yè)務(wù)建模的目的是分析和理解將要使用軟件的組織機(jī)構(gòu)的業(yè)務(wù)活動,進(jìn)而導(dǎo)出對軟件的需求;需求活動是將組織機(jī)構(gòu)或者個人對軟件的需求進(jìn)行發(fā)掘、歸納、表達(dá)和管理;分析設(shè)計(jì)活動通過對軟件需求的分析,給出對軟件的設(shè)計(jì);實(shí)現(xiàn)活動將軟件的設(shè)計(jì)轉(zhuǎn)化為可以執(zhí)行的代碼、文件等最終形式;部署是將已經(jīng)實(shí)現(xiàn)的軟件形式應(yīng)用到實(shí)際的工作環(huán)境中;環(huán)境支撐的目標(biāo)是為軟件生產(chǎn)過程提供適當(dāng)、足夠的支撐環(huán)境,如軟件的開發(fā)工具和管理工具就是基本的環(huán)境。項(xiàng)目管理的目的是在規(guī)定的成本、限定的時間內(nèi)通過驗(yàn)收。配置和變更管理是軟件生產(chǎn)特有的保證質(zhì)量、提高效率的重要活動。RUP同時歸納出完成上述活動需要以下29種角色——即職業(yè)崗位。
(1) 分析人員類:業(yè)務(wù)設(shè)計(jì)者、業(yè)務(wù)模型評審者、業(yè)務(wù)過程分析員、需求評審者、系統(tǒng)分析員、需求說明者、用戶界面設(shè)計(jì)者。
(2) 開發(fā)人員類:軟件架構(gòu)師、架構(gòu)評審者、封裝設(shè)計(jì)者、代碼評審者、數(shù)據(jù)庫設(shè)計(jì)者、設(shè)計(jì)評審者、設(shè)計(jì)者、實(shí)現(xiàn)者、集成者。
(3) 測試人員類:測試設(shè)計(jì)者、測試員。
(4) 管理人員類:變更控制經(jīng)理、配置經(jīng)理、部署經(jīng)理、過程工程師、項(xiàng)目經(jīng)理、項(xiàng)目評審者。
(5) 其他角色:課程開發(fā)人員、圖像藝術(shù)家、系統(tǒng)管理員、技術(shù)寫作者、工具專員。
RUP對上述職業(yè)崗位的職責(zé)、候選者的經(jīng)驗(yàn)和知識背景給出了詳細(xì)的建議,這里不再引述。上述職業(yè)崗位的劃分考慮了一般意義上一個完整的軟件開發(fā)過程客觀存在的角色。在一個具體的軟件開發(fā)組織或者一個具體的軟件項(xiàng)目上,這些角色不一定同時存在。另外,在實(shí)際的組織機(jī)構(gòu)中,參與人員的職位名稱并不總是與此一致,而且一個參與者通常會同時擔(dān)任多種角色。但無論如何,這些角色種類對人員素質(zhì)的要求,對我們思考高職軟件教育的專業(yè)方向設(shè)置具有重要的參考意義。
2高職畢業(yè)生適合的軟件生產(chǎn)角色
軟件生產(chǎn)是公認(rèn)的知識密集型過程。上一節(jié)列舉的許多職業(yè)崗位的擔(dān)任者需要深厚而綜合的知識背景和較長的實(shí)踐經(jīng)驗(yàn),屬于軟件生產(chǎn)中的高端人才。高職畢業(yè)生不適合擔(dān)任這類角色。另一方面,盡管軟件生產(chǎn)是高技術(shù)和知識密集型過程,高職畢業(yè)生也可以在其中發(fā)揮重要的作用,這是我們辦高職軟件學(xué)院解決軟件生產(chǎn)人才缺乏問題的前提。那么,哪一些是高職學(xué)生可以擔(dān)任的角色呢?通過對上一節(jié)所列各角色的分析和筆者的實(shí)踐經(jīng)驗(yàn),可以得出最有可能使用高職畢業(yè)生的角色及其技能要求如下:
(1) 分析類人員。需求說明者:參與需求發(fā)掘全過程,負(fù)責(zé)將需求以適當(dāng)?shù)姆绞矫枋龀鰜?,并與涉眾進(jìn)行溝通。要求具備軟件工程基礎(chǔ)知識,有良好的表達(dá)和溝通能力,包括寫作能力;熟悉需求描述的專業(yè)技術(shù)和工具。用戶界面設(shè)計(jì)者:根據(jù)用戶需求建立界面原型,并對實(shí)際實(shí)現(xiàn)的界面給出評審和反饋意見。要求具備軟件系統(tǒng)的操作使用知識,對需求的理解能力以及界面設(shè)計(jì)美術(shù)基礎(chǔ)(不需要具備實(shí)現(xiàn)界面的能力)。
(2) 開發(fā)人員。實(shí)現(xiàn)者:按照項(xiàng)目采用的標(biāo)準(zhǔn)和設(shè)計(jì)文檔要求編寫軟件系統(tǒng)的構(gòu)成組件以及對這些組件進(jìn)行測試。要求能夠理解設(shè)計(jì)文檔和標(biāo)準(zhǔn)規(guī)范,有熟練的編程技巧和軟件測試的知識。集成者:對實(shí)現(xiàn)者完成的系統(tǒng)組件進(jìn)行集成,并對集成活動進(jìn)行計(jì)劃和管理。要求同實(shí)現(xiàn)者。
(3) 測試人員。測試員:按照測試設(shè)計(jì)者提供的大綱設(shè)置和執(zhí)行測試,評估測試執(zhí)行情況,從測試錯誤中恢復(fù)過來。對初級測試者要求具備待測試的應(yīng)用或系統(tǒng)的知識,具備測試和測試自動化方面的知識,具備診斷及解決問題的能力,當(dāng)然最好也具有編程的技能。
(4) 管理人員。項(xiàng)目經(jīng)理:負(fù)責(zé)項(xiàng)目的資源分配,管理項(xiàng)目運(yùn)作,負(fù)責(zé)與客戶或用戶的溝通,確保項(xiàng)目在規(guī)定的時間和預(yù)算內(nèi)完成。項(xiàng)目經(jīng)理要求具有相關(guān)應(yīng)用領(lǐng)域的經(jīng)驗(yàn)和軟件開發(fā)的經(jīng)驗(yàn);具有項(xiàng)目管理的專業(yè)知識,有較強(qiáng)的溝通能力及領(lǐng)導(dǎo)能力。配置經(jīng)理:配置經(jīng)理為產(chǎn)品開發(fā)組提供總體的配置管理基礎(chǔ)架構(gòu)和環(huán)境,負(fù)責(zé)日常的配置管理工作。配置經(jīng)理要懂得配置管理原理,并且最好具有使用配置管理工具的經(jīng)驗(yàn)或者接受過有關(guān)培訓(xùn)。配置經(jīng)理必須注重細(xì)節(jié),講求原則。部署經(jīng)理:部署經(jīng)理負(fù)責(zé)產(chǎn)品移交工作,并在相關(guān)文檔中作記錄。部署經(jīng)理要求有部署系統(tǒng)的經(jīng)驗(yàn),具備溝通及協(xié)調(diào)能力,計(jì)劃性和行動力強(qiáng)。
(5) 其他人員。技術(shù)寫作者:技術(shù)寫作者產(chǎn)生最終用戶支持材料,如用戶指南,幫助文本,發(fā)行版本說明等。技術(shù)協(xié)作者應(yīng)具備技術(shù)寫作的經(jīng)驗(yàn)或受過相應(yīng)的培訓(xùn)。具備幫助系統(tǒng)開發(fā)和網(wǎng)站建設(shè)的經(jīng)驗(yàn)或培訓(xùn)經(jīng)歷。最好具備所寫作領(lǐng)域的背景知識。同時還要求有較強(qiáng)的溝通能力。圖像藝術(shù)家:圖像藝術(shù)家創(chuàng)建作為產(chǎn)品組成部分的藝術(shù)作品。圖像藝術(shù)家必須有創(chuàng)新設(shè)計(jì)領(lǐng)域的歷練。同時也必須具有相關(guān)產(chǎn)品生產(chǎn)過程的知識。相關(guān)領(lǐng)域的市場及公關(guān)經(jīng)驗(yàn)對圖像藝術(shù)家也很有幫助。系統(tǒng)管理員:系統(tǒng)管理員角色維護(hù)軟硬件開發(fā)環(huán)境,進(jìn)行系統(tǒng)管理、備份,等等。擔(dān)任此角色的個人要求對項(xiàng)目所使用的特定硬件和軟件組件以及他們之間可能存在的依賴關(guān)系有較深的認(rèn)識。需要對開發(fā)平臺的操作系統(tǒng)、網(wǎng)絡(luò)以及如安全、分布等方面的內(nèi)部機(jī)制有深入理解。解決問題及診斷故障也是此角色的關(guān)鍵技能。
上述11種角色在全部角色中只占了約1/3,但在大型的軟件生產(chǎn)組織中,這些角色在生產(chǎn)中的人數(shù)比例可能超過50%,在小型的開發(fā)組織中也不會少于30%。
3高職軟件學(xué)科專業(yè)方向劃分
上述11種角色,可以分為6個有內(nèi)在關(guān)聯(lián)的角色組。第1組:軟件開發(fā)人員,主要擔(dān)任實(shí)現(xiàn)者角色;第2組:軟件測試人員,主要承擔(dān)軟件測試工作;第3組:系統(tǒng)集成與管理人員,主要包括系統(tǒng)集成者、項(xiàng)目經(jīng)理、配置經(jīng)理、部署經(jīng)理等;第4組:文檔寫作人員。包括需求說明者、技術(shù)寫作者;第5組:美工。包括用戶界面設(shè)計(jì)者、圖像藝術(shù)家;第6組:系統(tǒng)管理員。這六個組別,就是六種就業(yè)方向。我們在培養(yǎng)時可以有針對性地在這6個方向上組織教學(xué)。如果把培養(yǎng)這6個角色組的專業(yè)方向分別命名為軟件開發(fā)、軟件測試、軟件管理、技術(shù)作家、軟件美工、系統(tǒng)管理,根據(jù)上一節(jié)對角色的要求,我們可以對各專業(yè)方向的培養(yǎng)重點(diǎn)給出基本的描述。
(1) 軟件開發(fā)方向:重在培養(yǎng)學(xué)生程序設(shè)計(jì)的技能,并理解軟件生產(chǎn)過程,要求掌握幾種具體的軟件開發(fā)工具(或環(huán)境)的使用。
(2) 軟件測試方向:重點(diǎn)培養(yǎng)學(xué)生的軟件測試技能,并了解軟件生產(chǎn)全過程,要求學(xué)生掌握集中具體的軟件測試工具(或環(huán)境)的使用。
(3) 軟件管理方向:使學(xué)生具備軟件開發(fā)的基本知識,重在培養(yǎng)學(xué)生的管理能力和通曉軟件管理的知識,掌握管理工具的使用。
(4) 技術(shù)作家方向:讓學(xué)生理解軟件和軟件產(chǎn)品生產(chǎn)過程,同時具備技術(shù)寫作技能,掌握有關(guān)工具的使用。
(5) 軟件美工方向:讓學(xué)生理解軟件和軟件產(chǎn)品生產(chǎn)過程,同時具備程序界面和美術(shù)作品設(shè)計(jì)技能,掌握有關(guān)工具的使用。
(6) 系統(tǒng)管理方向:重點(diǎn)在使學(xué)生對計(jì)算機(jī)系統(tǒng)硬件、操作系統(tǒng)、網(wǎng)絡(luò)等方面有深入了解,能夠熟練操作和管理相應(yīng)的軟硬件系統(tǒng)。
上面列舉的是技術(shù)方面的培養(yǎng)要求。實(shí)際上,在教學(xué)中還要將對學(xué)生非技術(shù)能力和基本素質(zhì)的培養(yǎng)貫穿于始終。這包括溝通能力、團(tuán)隊(duì)精神、紀(jì)律、職業(yè)道德等。學(xué)生的素質(zhì)實(shí)際上是技術(shù)和非技術(shù)兩方面能力的綜合。在制訂教學(xué)計(jì)劃時,要考慮既能讓學(xué)生馬上承擔(dān)實(shí)際的工作,也要為他們進(jìn)一步的學(xué)習(xí)打下基礎(chǔ)。我們可以將用人單位的許多崗前技術(shù)培訓(xùn)落實(shí)在教學(xué)中,同時,也為每個專業(yè)的學(xué)生的職業(yè)發(fā)展,制定從初級到高級的路線圖。
上述6個專業(yè)方向的生源,(4)、(5)兩個方向既可以招文科生,也可以招理科生。其他方向主要招收理科學(xué)生。課程設(shè)置時,如果將全部課程分為公共基礎(chǔ)課、專業(yè)基礎(chǔ)課、專業(yè)課三個模塊,則全部專業(yè)方向共享公共基礎(chǔ)課,(1)、(2)、(3)方向和(4)、(5)方向可以分別共享兩組專業(yè)基礎(chǔ)課,系統(tǒng)管理方向要單獨(dú)設(shè)置專業(yè)基礎(chǔ)課。各方向的專業(yè)課程則要根據(jù)各自目標(biāo)確定。
由此可見,本文提出的專業(yè)方向設(shè)置方案既與現(xiàn)有的專業(yè)設(shè)置思想吻合,也更加有利于高職院校軟件人才的培養(yǎng),同時對學(xué)生再學(xué)習(xí)能力的發(fā)展也有幫助。
4結(jié)語
通過對軟件開發(fā)過程和參與者角色(即職業(yè)崗位)的分析,高職院校軟件專業(yè)可以設(shè)置軟件開發(fā)、軟件測試、軟件管理、技術(shù)作家、軟件美工和系統(tǒng)管理等6個專業(yè)方向。這6個方向的畢業(yè)生畢業(yè)后可以擔(dān)任軟件生產(chǎn)過程中適合高職畢業(yè)生的多種角色。這種專業(yè)方向設(shè)置方案不僅與現(xiàn)有的專業(yè)設(shè)置思想吻合,也有利于高職院校軟件人才的培養(yǎng)。
參考文獻(xiàn):
[1] 李均. 略論中國高等??平逃姆诸惻c走勢[J]. 高教探索,2000(3):33-35.
[2] 李建求. 論高職院校的專業(yè)建設(shè)[J]. 高等教育研究,2003(4):75-79.
[3] Ivar Jacobson,Grady Booch,James Rumbaugh. 統(tǒng)一軟件開發(fā)過程[M]. 北京:機(jī)械工業(yè)出版社,2002.
An Overview on Software Professional Directions of Vocational College Students from
Software Development Process
ZHENG Da-peng
(Computer Science and Technology School, Zhuhai Campus, Beijing Institute of Technology, Zhuhai 519085, China)
Abstract: The purpose of higher vocational education is training application-oriented personnel that fit the production practice. The planning of professional directions of students should be based on the professional jobs what they are expected to undertake. According to the software engineering thoughts that recognized by the international, 29 jobs in software development process are analyzed. Corresponding to the analysis, suggestions of professional directions planning are given.
Key words: software; higher vocational education; professional directions
(編輯:白杰)