国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

軟件工藝學(xué)在高職軟件專業(yè)教學(xué)中的實(shí)踐探索

2018-02-24 14:46錢宇虹
關(guān)鍵詞:工藝學(xué)開發(fā)者代碼

錢宇虹

(武漢職業(yè)技術(shù)學(xué)院 計(jì)算機(jī)技術(shù)與軟件工程學(xué)院 ,湖北 武漢 430074)

一、引言

在職業(yè)院校教師們按照軟件工程的理論組織軟件開發(fā)實(shí)訓(xùn)項(xiàng)目的教學(xué)。凡此種種無不體現(xiàn)軟件工程在業(yè)界和教育界的話語權(quán)??墒?,軟件項(xiàng)目依然失敗率很高,軟件不能按期交付,軟件質(zhì)量差強(qiáng)人意,軟件功能不能滿足客戶的需要。為什么人們遵守軟件工程依然完不成軟件項(xiàng)目呢?人們已經(jīng)認(rèn)識(shí)到軟件工程的不足,并且由此產(chǎn)生對軟件工藝的思考。軟件工藝學(xué)認(rèn)為,編程是一門工藝技巧,軟件開發(fā)不僅僅是一項(xiàng)技術(shù)工作,也是一項(xiàng)人文工作。只有當(dāng)技藝高超的開發(fā)者編寫出高質(zhì)量的滿足客戶需要的代碼時(shí),整個(gè)軟件開發(fā)才是真正有價(jià)值的。[1]那么如何將軟件工藝師的優(yōu)秀品質(zhì)融入到軟件教學(xué)當(dāng)中,如何培養(yǎng)技藝高超的開發(fā)者是現(xiàn)代職業(yè)教育需要改進(jìn)的方向。

二、教師需要認(rèn)識(shí)軟件工程的不足

認(rèn)識(shí)軟件工程的不足是我們教育工作者轉(zhuǎn)變觀念和轉(zhuǎn)變開發(fā)方式的起點(diǎn)。超大型的軟件項(xiàng)目(超過1 000人/年)都有一個(gè)共同點(diǎn),就是在項(xiàng)目前期軟件開發(fā)者等待硬件的開發(fā),在項(xiàng)目后期硬件開發(fā)者等待軟件的開發(fā)。所以在項(xiàng)目前期硬件還沒有完成的時(shí)候,由于運(yùn)行代碼的硬件環(huán)境根本還不存在,所以不可能編寫代碼,軟件開發(fā)團(tuán)隊(duì)有充足的時(shí)間做需求分析,編寫詳細(xì)的軟件需求規(guī)格說明書。需求文檔完成之后就交給設(shè)計(jì)團(tuán)隊(duì)去設(shè)計(jì)。當(dāng)硬件完成可以投入使用時(shí),軟件開發(fā)者立即著手將設(shè)計(jì)轉(zhuǎn)換為代碼,此時(shí)整個(gè)項(xiàng)目都在等待軟件的編寫和測試,所以這個(gè)階段需要投入大量的人手才能加快交付的速度。同時(shí)還需要對代碼進(jìn)行復(fù)審,確保與設(shè)計(jì)文檔相符合,才能保證下游的集成階段不出問題。所以軟件工程需要大量文檔,也需要專業(yè)化分工,分析師負(fù)責(zé)獲取并記錄用戶的需求;設(shè)計(jì)師負(fù)責(zé)從需求文檔制造出設(shè)計(jì)文檔;程序員負(fù)責(zé)根據(jù)設(shè)計(jì)文檔進(jìn)行編碼。這種文檔驅(qū)動(dòng)的開發(fā)方式使得任何一份文檔的修改都要付出高昂的代價(jià),因此任何修改都要受到嚴(yán)格控制。根據(jù)IEEE的定義,軟件工程是指采用一種有組織、有紀(jì)律、可計(jì)量的方式來開發(fā)、使用及維護(hù)軟件,也就是在軟件領(lǐng)域中采用工程學(xué)。[2]

軟件工程的不足首先體現(xiàn)在軟件工程并不適合所有軟件項(xiàng)目。軟件工程是為了解決大型項(xiàng)目遇到的問題,這些項(xiàng)目需要龐大的團(tuán)隊(duì)歷經(jīng)多年。但是現(xiàn)在絕大多數(shù)軟件項(xiàng)目都是由相對較小的團(tuán)隊(duì)完成的。

軟件工程的不足還體現(xiàn)在忽略了一個(gè)重要的因素,那就是“人”的因素。軟件工程對團(tuán)隊(duì)中的個(gè)人應(yīng)該如何鍛煉自己的技藝這個(gè)問題幾乎沒有論述。[1]相反軟件工程給我們一個(gè)暗示:只要能定義一個(gè)有組織、有紀(jì)律、可計(jì)量的開發(fā)過程,任何人都可以完成軟件開發(fā),因此我們不需要技藝超群的高手。而事實(shí)上,優(yōu)秀的程序員和設(shè)計(jì)師所犯的錯(cuò)誤比別人要少得多,并且發(fā)現(xiàn)錯(cuò)誤也更迅速,所以程序員的知識(shí)、技能、經(jīng)驗(yàn)和職業(yè)素養(yǎng)對項(xiàng)目成敗起著至關(guān)重要的作用。

三、教師需要學(xué)習(xí)軟件工藝的理念和實(shí)踐

軟件工藝的理念和實(shí)踐是我們教育工作者改進(jìn)軟件教育的理論基礎(chǔ)。工藝學(xué)針對的是個(gè)人能力,軟件工藝把極具專業(yè)精神的開發(fā)者稱為軟件工藝師或者軟件工匠,它蘊(yùn)含著專業(yè)、務(wù)實(shí)、自豪的態(tài)度[3];軟件工藝認(rèn)識(shí)到軟件和其他傳統(tǒng)工藝的的差異,并注意確保軟件工程所取得的成就不會(huì)遺失,還需要利用工程學(xué)給我們帶來的新工具提高工作效率,讓科學(xué)知識(shí)和實(shí)踐知識(shí)互相補(bǔ)充;更為重要的是,軟件工藝將職業(yè)榮譽(yù)感重新帶回軟件開發(fā)行業(yè),工藝學(xué)認(rèn)為那些出類拔萃的程序員對軟件項(xiàng)目的成敗極其重要,鼓勵(lì)開發(fā)者編寫優(yōu)秀的軟件,同時(shí)關(guān)注如何讓開發(fā)者成為優(yōu)秀的開發(fā)者;軟件工藝拋棄了軟件工程大量使用平庸程序員的做法,用少量優(yōu)秀的開發(fā)者來替換他們,因此管理變得更容易,層級(jí)式的企業(yè)結(jié)構(gòu)不再適用,取而代之的是扁平化管理,因?yàn)橹R(shí)、技術(shù)和能力都掌握在員工手里,軟件工匠不需要“命令-控制”型管理者,而是需要善于處理開發(fā)者、使用者、和客戶之間的關(guān)系的管理者,軟件工藝學(xué)認(rèn)為一個(gè)真正優(yōu)秀的開發(fā)者比管理他的人有價(jià)值得多。

四、軟件工藝在軟件專業(yè)教學(xué)中的實(shí)施方法

(一)加強(qiáng)程序設(shè)計(jì)課程與實(shí)踐的融合

會(huì)編程不等于會(huì)開發(fā)軟件。當(dāng)前程序設(shè)計(jì)課程最大的問題在于:教師是脫離實(shí)踐的環(huán)境在孤立地講解編程語言。這種教學(xué)方法相對枯燥,難以培養(yǎng)學(xué)生的學(xué)習(xí)興趣和學(xué)習(xí)積極性。更一步說,程序設(shè)計(jì)課程與實(shí)踐的脫節(jié)妨礙了學(xué)生能力的發(fā)展。例如:老師在課堂上只講解如何編寫循環(huán)語句,卻不告訴學(xué)生如何正確地使用循環(huán),循環(huán)在實(shí)際工作中是如何解決問題的。為了讓學(xué)生能夠知道大型應(yīng)用程序是如何使用循環(huán)語句的,我們改進(jìn)了教學(xué)方法,在學(xué)生了解基本的語法和小型案例之后,教師帶領(lǐng)學(xué)生一起剖析研究一個(gè)一萬行左右規(guī)模的帶有注釋的程序,用這種方式告訴學(xué)生如何編寫真正有用的程序,教給他們正確的、合乎習(xí)慣的語言用法。

(二)培養(yǎng)學(xué)生對編程的熱情和務(wù)實(shí)的態(tài)度

軟件工藝的理念包含兩個(gè)部分:熱情和務(wù)實(shí)[3]。熱情就是熱衷技術(shù),務(wù)實(shí)就是認(rèn)真工作,這實(shí)際上是軟件工藝所倡導(dǎo)的生活方式和做事態(tài)度。那些對技術(shù)熱衷、對工作負(fù)責(zé)的軟件開發(fā)者總是會(huì)得到企業(yè)的青睞。

對技術(shù)熱衷,對學(xué)生就意味著要主動(dòng)學(xué)習(xí)。要告訴學(xué)生如果他想成為優(yōu)秀的軟件開發(fā)者,他必須首先表現(xiàn)得像個(gè)專業(yè)人士,這意味著自己要花時(shí)間去提升知識(shí)水平和磨練技術(shù),應(yīng)該自己掌控自己的職業(yè)生涯,主動(dòng)安排學(xué)習(xí)內(nèi)容和學(xué)習(xí)時(shí)間。要引導(dǎo)學(xué)生不能只拘泥于教材,還要多看其他專業(yè)人士撰寫的書籍。不僅要看講述具體技術(shù)的書籍,也要讀講述新概念、新范式、新做法的書籍,因?yàn)閺母拍顣飳W(xué)到的基礎(chǔ)知識(shí),可以幫助開發(fā)者更快地掌握具體技術(shù)。軟件行業(yè)的變化速度比其他行業(yè)都要快,語言、框架、實(shí)踐、流程都在持續(xù)進(jìn)化,軟件開發(fā)者要想獲得成功,就必須緊跟時(shí)代步伐,并不斷完善自我。

認(rèn)真工作和精益求精,對學(xué)生就意味著要反復(fù)練習(xí)。要想寫出高質(zhì)量的代碼,就必須練習(xí)提高代碼質(zhì)量,除此之外別無他法。練習(xí)的重點(diǎn)是目前所學(xué)習(xí)的技術(shù),練習(xí)得越多就越適應(yīng),到后來就慢慢感到自然提高了。練習(xí)的時(shí)候要盡力編寫質(zhì)量高的代碼,就算花很長時(shí)間給變量、方法、或類起名字也沒有關(guān)系,關(guān)鍵是盡力找到最恰當(dāng)?shù)拿Q。做練習(xí)的時(shí)候不僅要完成任務(wù),而是要竭力做得最好。要告訴學(xué)生什么是做工精良的代碼,所謂做工精良,就是說,無論應(yīng)用程序有多舊,開發(fā)者都能輕易理解其原理;程序的副作用都在明確掌控之中;程序的設(shè)計(jì)清晰而簡潔,業(yè)務(wù)邏輯也都很好地表述在代碼之中;測試用例的覆蓋度很高,測試代碼也寫得比較可靠;添加新功能或修改現(xiàn)有功能,所花的時(shí)間不會(huì)太長[3]。

(三)豐富學(xué)生的職業(yè)技能

由于軟件工藝指導(dǎo)下的軟件公司變得更加精簡,組織結(jié)構(gòu)變得更加扁平,它要求軟件開發(fā)者不能像過去那樣只精通一項(xiàng)技能,而是要成為公司所需的通才。為了適應(yīng)這種工作方式,軟件開發(fā)者必須提升自身技能,寫好代碼只是對軟件開發(fā)人員的最低要求?,F(xiàn)在的軟件開發(fā)者還需要具備測試能力,分析能力,對業(yè)務(wù)的理解能力,良好的溝通能力,以及更為外向的個(gè)性。軟件項(xiàng)目要成功,必須有優(yōu)秀的軟件開發(fā)者參與協(xié)作,他們不只善于寫好代碼,還能幫助業(yè)務(wù)人員達(dá)成他們的目標(biāo),提供建議和反饋。

教師在專業(yè)教學(xué)中特別把技術(shù)文檔編寫、PPT制作、技術(shù)主題演講納入訓(xùn)練的常態(tài)和考核的范疇,由學(xué)生自己擔(dān)當(dāng)評(píng)委進(jìn)行互評(píng)打分。這樣的內(nèi)部研討學(xué)習(xí)環(huán)境,使學(xué)生更有動(dòng)力深入研究所學(xué)習(xí)的技術(shù),因?yàn)闆]有誰愿意在知之不深的情況下走上講臺(tái)或者擔(dān)當(dāng)評(píng)委。通過這樣的反復(fù)訓(xùn)練,不僅使學(xué)生養(yǎng)成深入思考的習(xí)慣,而且在職業(yè)技能和職業(yè)自信心上都得到了大幅提升。

(四)建立工作室制度或?qū)熤?/h3>

在傳統(tǒng)工藝學(xué)中,學(xué)徒期是一個(gè)相當(dāng)長的時(shí)期,軟件工藝也繼承了這個(gè)傳統(tǒng),原因在于現(xiàn)在學(xué)校里的教學(xué)模式無法有效地將技藝傳授給學(xué)生。要學(xué)習(xí)一項(xiàng)技藝不僅需要認(rèn)真觀察師傅的操作,而且還需要在師傅的監(jiān)督和指導(dǎo)下親手實(shí)踐。

軟件專業(yè)自2016年以來全面開展“英才計(jì)劃”,按照“全體合格+部分精英”“全面合格+專項(xiàng)特長”的人才培養(yǎng)思路,分別建立了軟件精英俱樂部,大數(shù)據(jù)工作室,云計(jì)算工作室,得到學(xué)院從場地到經(jīng)費(fèi)的大力支持。來到工作室的學(xué)生得到良師的指導(dǎo),經(jīng)過一年或兩年的時(shí)間,已經(jīng)脫穎而出,取得了顯著的成績,在全國各種軟件大賽、大數(shù)據(jù)技術(shù)和應(yīng)用大賽中取得了很好的成績。

(五)引進(jìn)企業(yè)進(jìn)駐教學(xué)大樓

高校的課程很少有為真實(shí)的項(xiàng)目開發(fā)而設(shè)置,因?yàn)楦咝2皇擒浖?,大學(xué)教育模式的問題在于它無法為學(xué)生提供足夠的實(shí)踐指導(dǎo),軟件工藝所倡導(dǎo)的協(xié)作開發(fā)和成果復(fù)用在學(xué)校反倒認(rèn)為是在作弊,而且學(xué)校課程側(cè)重強(qiáng)調(diào)軟件開發(fā)中的技術(shù)而忽略了重要的“軟技能”,“軟技能”同樣是成為優(yōu)秀的軟件開發(fā)者所必須的。筆者在校企合作與技能型人才培養(yǎng)模式上經(jīng)歷了多年的研究和嘗試,最終確定引企入校是適合軟件人才培養(yǎng)的校企合作最好方式。

引企入校是引進(jìn)軟件企業(yè)實(shí)體進(jìn)駐教學(xué)大樓,由學(xué)校提供相對便宜的辦公場所和實(shí)習(xí)生,由企業(yè)提供商業(yè)項(xiàng)目和企業(yè)講師。學(xué)生在第三學(xué)年暑期開始以實(shí)習(xí)生的身份參與企業(yè)的真實(shí)項(xiàng)目開發(fā)。企業(yè)講師由經(jīng)驗(yàn)豐富的軟件開發(fā)者擔(dān)當(dāng),他們負(fù)責(zé)安排和指導(dǎo)實(shí)習(xí)生的工作,并為學(xué)校開設(shè)培訓(xùn)課程和編寫培訓(xùn)教材。從工藝學(xué)的角度來說,開發(fā)者最了解軟件開發(fā)中的問題,他們在擔(dān)任講師的同時(shí)也在實(shí)際項(xiàng)目中工作,因此他們能編寫出有用的教材,他們講授的課也最貼近實(shí)際情況,最終是所有人都受益:學(xué)生在校期間就知道了商業(yè)應(yīng)用軟件開發(fā)是如何進(jìn)行的,獲得了寶貴的實(shí)際項(xiàng)目經(jīng)驗(yàn),為他們成為優(yōu)秀的軟件開發(fā)者縮短了進(jìn)程; 企業(yè)不僅降低了生產(chǎn)成本,而且還可以從學(xué)校獲得源源不斷的人力資源,許多優(yōu)秀實(shí)習(xí)生畢業(yè)后直接成為企業(yè)的正式員工,實(shí)現(xiàn)了從學(xué)校到企業(yè)的無縫銜接;學(xué)校從校企合作中提升了服務(wù)社會(huì)、服務(wù)企業(yè)的能力,提升了學(xué)校辦學(xué)知名度和辦學(xué)能力; 校、企、學(xué)生才能真正實(shí)現(xiàn)了三方共贏。

猜你喜歡
工藝學(xué)開發(fā)者代碼
腦工終結(jié)時(shí)代的來臨:通用人工智能機(jī)器生產(chǎn)工藝學(xué)批判
機(jī)械制造工藝學(xué)課程多元化教學(xué)研究
關(guān)于材料工藝學(xué)教學(xué)實(shí)踐與改革的相關(guān)探討
創(chuàng)世代碼
創(chuàng)世代碼
創(chuàng)世代碼
創(chuàng)世代碼
藏族工藝學(xué)的歷史淵源及其相關(guān)藏文伏藏文獻(xiàn)概述
“85后”高學(xué)歷男性成為APP開發(fā)新生主力軍
16%游戲開發(fā)者看好VR
灯塔市| 黄冈市| 无棣县| 牡丹江市| 七台河市| 景洪市| 三门峡市| 光泽县| 乌拉特后旗| 棋牌| 连江县| 佛山市| 邵东县| 自治县| 怀来县| 漳州市| 全南县| 玉山县| 桦甸市| 乐陵市| 且末县| 陇南市| 六枝特区| 玉山县| 明溪县| 金昌市| 泉州市| 灵武市| 怀远县| 思茅市| 岱山县| 九寨沟县| 泾阳县| 德惠市| 响水县| 海丰县| 永胜县| 林周县| 连平县| 临沭县| 阜宁县|