時(shí)間:2022-02-03 09:10:44
開(kāi)篇:寫(xiě)作不僅是一種記錄,更是一種創(chuàng)造,它讓我們能夠捕捉那些稍縱即逝的靈感,將它們永久地定格在紙上。下面是小編精心整理的12篇程序員項(xiàng)目總結(jié),希望這些內(nèi)容能成為您創(chuàng)作過(guò)程中的良師益友,陪伴您不斷探索和進(jìn)步。
關(guān)鍵詞:職業(yè)素質(zhì);綜合能力;理論基礎(chǔ);工作習(xí)慣
中圖分類(lèi)號(hào):TP311.5 文獻(xiàn)標(biāo)識(shí)碼:B
文章編號(hào):1672-5913(2007)10-0056-03
我院實(shí)行院企聯(lián)姻,把IT企業(yè)中培訓(xùn)過(guò)程引入到學(xué)校教育過(guò)程中,目的是擴(kuò)大就業(yè)門(mén)路,縮短學(xué)生的社會(huì)適應(yīng)期,降低學(xué)生的學(xué)習(xí)成本,提高學(xué)生的就業(yè)質(zhì)量。按照當(dāng)前行業(yè)所使用的最新技術(shù)進(jìn)行項(xiàng)目訓(xùn)練,使其達(dá)到或接近就業(yè)的專(zhuān)業(yè)素質(zhì)要求,達(dá)到積累工作實(shí)踐經(jīng)驗(yàn)的目的。在培訓(xùn)過(guò)程中,除了對(duì)學(xué)生進(jìn)行專(zhuān)業(yè)的培養(yǎng)外,本人認(rèn)為還應(yīng)該在職業(yè)素質(zhì)、綜合能力、理論基礎(chǔ)、工作習(xí)慣等方面進(jìn)一步培養(yǎng)。
1職業(yè)素質(zhì)
未走出象牙塔的學(xué)生心比天高,一向“飯來(lái)張口,衣來(lái)伸手”的生活方式培養(yǎng)出來(lái)的嫩芽撐不住勞動(dòng)強(qiáng)度的摧殘,對(duì)于有些工作不是不能,而是不為,出現(xiàn)了退縮念頭;有些學(xué)生就業(yè)期望值太高,受經(jīng)濟(jì)利益的驅(qū)使,想一口吞個(gè)胖子,淡化了過(guò)程培訓(xùn)的含義,情緒上出現(xiàn)煩躁,導(dǎo)致對(duì)前途迷茫,失去信心。
程序員的工作是枯燥的,整天面對(duì)計(jì)算機(jī),用26個(gè)英文字母和其他符號(hào)編程。程序員的工作非常辛苦,是一項(xiàng)智力勞動(dòng),需要投入很多的精力,因而需要程序員能夠熱愛(ài)這個(gè)職業(yè),有工作熱情,有投入的精神。雖然有的人很聰明,但是對(duì)軟件開(kāi)發(fā)沒(méi)有興趣,或者工作很不專(zhuān)心,工作效率很低,別人半天能干完的,他需要兩天甚至三天才能干完;情緒浮躁,抵擋不住計(jì)算機(jī)游戲、各種新聞等誘惑,不能處理好工作與娛樂(lè)的關(guān)系,自制力和自控力差;寫(xiě)出的代碼漏洞百出,質(zhì)量不高,這樣的學(xué)生不適合做程序員。有時(shí)程序員的成就在很大程度上不是取決于智商,而是取決于情商。程序員應(yīng)該雄心壯志,面對(duì)困難時(shí)比較堅(jiān)毅,吃苦耐勞、講紀(jì)律、講服從、講誠(chéng)信。
2綜合能力
綜合能力方面主要是:良好的邏輯思維能力、溝通能力與再學(xué)習(xí)能力。
2.1邏輯思維能力
軟件開(kāi)發(fā)過(guò)程是解決復(fù)雜業(yè)務(wù)邏輯的過(guò)程,是簡(jiǎn)化復(fù)雜邏輯的過(guò)程,是用精確來(lái)實(shí)現(xiàn)模糊的過(guò)程,開(kāi)發(fā)人員需要具有良好的邏輯思維能力才能勝任?,F(xiàn)實(shí)空間是模糊的,數(shù)字空間是精確的,在現(xiàn)實(shí)世界中很簡(jiǎn)單的問(wèn)題,在數(shù)字空間中模擬時(shí),就變成了一個(gè)復(fù)雜的問(wèn)題。它要求程序員能夠全面、準(zhǔn)確、簡(jiǎn)潔地把握、分析和解決問(wèn)題。
下面要求學(xué)生畫(huà)出問(wèn)題的程序流程圖來(lái)測(cè)驗(yàn)學(xué)生的邏輯思維能力:輸入三個(gè)整數(shù),作為三角形的三個(gè)邊,判斷是否構(gòu)成:等邊、等腰、直角、銳角、鈍角三角形。
這個(gè)題目的邏輯很簡(jiǎn)單,需要處理的邏輯包括:
1) 輸入的合法性判斷:輸入的是否是正整數(shù)。
2) 是否構(gòu)成三角形:任意兩邊之和大于第三邊。
3) 是否構(gòu)成等腰或等邊三角形。
4) 是否構(gòu)成鈍角、直角、銳角三角形。
上邊的題目是一個(gè)很簡(jiǎn)單的程序,但是學(xué)生回答完全的卻很少,常見(jiàn)的錯(cuò)誤見(jiàn)下表。
類(lèi)似的邏輯問(wèn)題在實(shí)際的軟件開(kāi)發(fā)中是經(jīng)常用到的,需要程序員能夠?qū)Ω鞣N情況進(jìn)行仔細(xì)的分析、歸納、總結(jié)。如果在這樣的問(wèn)題上出錯(cuò),是很難成為出色的程序員的。
2.2溝通能力
現(xiàn)在的軟件越來(lái)越龐大,需要多人來(lái)協(xié)同工作。作為程序員要善于溝通,習(xí)慣溝通,要有團(tuán)隊(duì)精神。學(xué)生與學(xué)生、學(xué)生與老師交流問(wèn)題時(shí),往往要花費(fèi)大量的時(shí)間描述問(wèn)題。有的學(xué)生自己心里明白,但就是說(shuō)不清楚,或者干脆不說(shuō),默默地做項(xiàng)目,甚至閉門(mén)造車(chē)。這些情況都會(huì)降低整個(gè)團(tuán)隊(duì)的工作效率。
再者,全球IT外包市場(chǎng)主要是歐美和日本,其中85%的IT外包市場(chǎng)是以英語(yǔ)為溝通語(yǔ)言。作為未來(lái)軟件企業(yè)生力軍,程序員應(yīng)具備良好的英語(yǔ)應(yīng)用能力,這是最基本的要求,如果對(duì)英語(yǔ)的熟練程度不高,對(duì)待引進(jìn)的高技術(shù)以及與客戶(hù)的溝通將會(huì)出現(xiàn)語(yǔ)言上的障礙。
2.3再學(xué)習(xí)能力
信息技術(shù)的更新速度是驚人的,程序員的職業(yè)生涯是一個(gè)要求不斷學(xué)習(xí)的過(guò)程,永遠(yuǎn)不能滿(mǎn)足現(xiàn)狀,必須有很好的再學(xué)習(xí)能力。只有善于學(xué)習(xí)的人,才能夠不斷進(jìn)步。真正優(yōu)秀的程序員一定是掌握了很好的學(xué)習(xí)方法,否則現(xiàn)在是優(yōu)秀程序員,兩年后可能就被淘汰了。只有再學(xué)習(xí),才能談到創(chuàng)新,IT技術(shù)的日新月異使很多程序員眼花繚亂,什么都想學(xué),卻又不知從何學(xué)起,今天看看這個(gè),明天學(xué)學(xué)那個(gè),貪多不熟。雖然IT技術(shù)發(fā)展迅速,但很多技術(shù)都是有規(guī)律可循,一些基本的概念、原理和方法是通用的,可以舉一反三。再學(xué)習(xí)的方法有很多,類(lèi)比法、詢(xún)問(wèn)法、閱讀示范程序、網(wǎng)上檢索相關(guān)的資料等等。
3理論基礎(chǔ)
大學(xué)計(jì)算機(jī)專(zhuān)業(yè)課大多是從二年級(jí)開(kāi)起,有的學(xué)生由于目標(biāo)不明確或數(shù)學(xué)基礎(chǔ)不好,對(duì)專(zhuān)業(yè)課程學(xué)習(xí)不是非常扎實(shí)。由于信息技術(shù)發(fā)展快,有些課程內(nèi)容陳舊。在培訓(xùn)階段,對(duì)于知識(shí)的匯總歸納是非常有必要的。如果基于.net做多層結(jié)構(gòu)的軟件開(kāi)發(fā),以下的知識(shí)是必須的:操作系統(tǒng)原理、實(shí)體關(guān)系理論、SQL語(yǔ)句、面向?qū)ο蟮幕纠碚?、?shù)據(jù)結(jié)構(gòu)、軟件工程、VC++/JAVA、ASP/HTML、PSP/TSP/ISO、專(zhuān)業(yè)英語(yǔ)、程序設(shè)計(jì)風(fēng)格、系統(tǒng)分析與設(shè)計(jì)等等??梢钥闯鋈绻麤](méi)有學(xué)過(guò)數(shù)據(jù)結(jié)構(gòu)、程序設(shè)計(jì)方法、數(shù)據(jù)庫(kù)概論以及軟件工程的基本知識(shí),要想成為一名合格的程序員顯然是很困難的,而且一名熟練的程序員需要的知識(shí)遠(yuǎn)不止這些。掌握了基礎(chǔ)的計(jì)算機(jī)科學(xué)理論,再擁有一定的學(xué)習(xí)能力,才能不斷進(jìn)步。
4工作習(xí)慣
良好的工作習(xí)慣是程序員個(gè)人開(kāi)發(fā)過(guò)程成熟的體現(xiàn),是效率的保證。程序員的培養(yǎng)很大程度上是習(xí)慣的培養(yǎng)。在實(shí)訓(xùn)過(guò)程中應(yīng)注重培養(yǎng)如下幾個(gè)方面的習(xí)慣:
4.1按照明確的編碼過(guò)程工作
在進(jìn)行一項(xiàng)編碼工作時(shí),需要按一個(gè)規(guī)范的過(guò)程來(lái)進(jìn)行:
第一,定義做什么,包括功能范圍、接口,任務(wù);
第二,定義如何做,包括數(shù)據(jù)結(jié)構(gòu)、算法;
第三,定義驗(yàn)收標(biāo)準(zhǔn),如何檢驗(yàn)正確與否;
第四,動(dòng)手編程序、調(diào)程序;
最后,測(cè)試程序。
按照規(guī)范的過(guò)程來(lái)編碼,才能真正提高工作效率。職業(yè)程序員的設(shè)計(jì)時(shí)間長(zhǎng)于編碼時(shí)間,業(yè)余程序員編碼的時(shí)間長(zhǎng)于設(shè)計(jì)時(shí)間。職業(yè)的程序員是設(shè)計(jì)程序,業(yè)余程序員是調(diào)試程序。職業(yè)程序員是預(yù)防BUG,業(yè)余程序員是修改BUG。為什么會(huì)出現(xiàn)這種情況呢?因?yàn)槁殬I(yè)程序員是按照一個(gè)規(guī)范的編碼過(guò)程來(lái)工作,編碼的前期工作量超過(guò)了其實(shí)際的編碼工作量。有的程序員經(jīng)過(guò)簡(jiǎn)單考慮后就急于去寫(xiě)程序,往往是把簡(jiǎn)單的問(wèn)題搞復(fù)雜了,復(fù)雜的問(wèn)題搞亂了,效率很低。
4.2編碼之前寫(xiě)文檔
文檔是軟件實(shí)現(xiàn)思想的載體,是開(kāi)發(fā)人員之間、開(kāi)發(fā)人員與管理人員之間交流的工具,是設(shè)計(jì)人員與編碼人員之間、設(shè)計(jì)人員與需求人員之間的一種約定,是組織的軟件設(shè)計(jì)經(jīng)驗(yàn)的積累,是組織軟件財(cái)富的記錄,是軟件復(fù)用的基礎(chǔ)。只有真正認(rèn)識(shí)到了設(shè)計(jì)文檔的重要性,才能積極主動(dòng)地寫(xiě)文檔。對(duì)程序員而言,在動(dòng)手編程之前通過(guò)寫(xiě)文檔可以把實(shí)現(xiàn)的方法想清楚、表達(dá)清楚、討論清楚,這是已經(jīng)通過(guò)無(wú)數(shù)的實(shí)踐來(lái)證明了的好經(jīng)驗(yàn)。初級(jí)的程序員往往在寫(xiě)程序的過(guò)程中發(fā)現(xiàn)越寫(xiě)越覺(jué)得復(fù)雜,程序越改越亂,等真正把工作做完了,再反思一下,卻發(fā)現(xiàn)原來(lái)是很簡(jiǎn)單的事情。為什么會(huì)有這種感覺(jué)呢?問(wèn)題就在于事先沒(méi)有真正想清楚,弄明白,一旦進(jìn)入問(wèn)題的解決細(xì)節(jié)中,就很容易出錯(cuò)了,所以職業(yè)程序員應(yīng)該具備寫(xiě)文檔的好習(xí)慣。
4.3遵循設(shè)計(jì)進(jìn)行編碼
程序員不能隨意自己決策,不按設(shè)計(jì)人員的設(shè)計(jì)去施工。同一個(gè)問(wèn)題,可能有多種解決方案,在考慮解決方案時(shí),程序員想的是局部,設(shè)計(jì)人員想的是全局,因而在進(jìn)行決策時(shí),設(shè)計(jì)人員是從全局的角度的考慮問(wèn)題。在這種情況下,程序員要嚴(yán)格按照設(shè)計(jì)去實(shí)現(xiàn),不能在如何實(shí)現(xiàn)上偏離設(shè)計(jì),造成隱患。對(duì)于設(shè)計(jì)中有疑問(wèn)的問(wèn)題,可以討論,但是不可以隨意變更。
4.4按照良好程序設(shè)計(jì)風(fēng)格編碼
對(duì)于程序設(shè)計(jì)風(fēng)格,原來(lái)要求效率第一,而現(xiàn)在要求清晰第一。
有人講程序設(shè)計(jì)是一門(mén)個(gè)人藝術(shù),包含了程序員個(gè)人的創(chuàng)造性,正是這樣,才使得很多程序構(gòu)思精巧,耐人尋味。但是同時(shí)它又使得程序的可讀性較差,尤其是在多個(gè)人合作開(kāi)發(fā)一個(gè)軟件時(shí),風(fēng)格迥異的程序使得軟件的可靠性與可維護(hù)性大大降低。程序設(shè)計(jì)語(yǔ)言一方面是人與計(jì)算機(jī)之間進(jìn)行交流的工具,還是人與人之間進(jìn)行交流的工具。單純地作為人機(jī)交流的工具,只要程序能夠正確、忠實(shí)地表達(dá)設(shè)計(jì)者的思想,也就發(fā)揮了其作用。但是人與人之間的交流沒(méi)有一種固定的統(tǒng)一的模式,因此作為人與人之間的交流工具,還要表達(dá)得清晰易懂,能夠?yàn)槠渌绦騿T所理解,這也正是要求程序員講究程序設(shè)計(jì)風(fēng)格的主要原因。
通過(guò)嚴(yán)格的專(zhuān)業(yè)素質(zhì)訓(xùn)練和職業(yè)素質(zhì)、綜合能力、理論基礎(chǔ)、工作習(xí)慣的培養(yǎng),基本上可以使大學(xué)生走上社會(huì)前,從“學(xué)校人”轉(zhuǎn)變?yōu)橐粋€(gè)準(zhǔn)“職業(yè)人”,使大學(xué)生在就業(yè)市場(chǎng)立于不敗之地!
參考文獻(xiàn)
[1] 王長(zhǎng)春. 印度軟件人才教育 成功就這么簡(jiǎn)單?[J]. 軟件工程師,2005,(Z1).
[2] 劉克青,廖建新,張俊光. 軟件項(xiàng)目策劃中的工作量估算方法探討[J]. 計(jì)算機(jī)工程與應(yīng)用,2004,(27).
[3] 李洛,吳紹根. 基于印度NIIT培養(yǎng)模式的兩年制高職軟件人才培養(yǎng)思路[J]. 高教探索,2004,(2).
[4] 杜建立. 軟件人才培養(yǎng)新挑戰(zhàn)[J]. 中國(guó)遠(yuǎn)程教育,2004,(2).
收稿時(shí)間:2007-2-5
關(guān)鍵詞:對(duì)日軟件外包;職業(yè)素質(zhì);CSDP
中圖分類(lèi)號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A
目前,重慶市從政策上大力扶持軟件產(chǎn)業(yè),加大投入力度,而其中的一個(gè)重心就是放在軟件外包產(chǎn)業(yè)上。基于這個(gè)前提,市場(chǎng)必然需要大量的軟件外包人才,本學(xué)院已經(jīng)完成兩屆對(duì)日軟件外包人才培養(yǎng)工作,在此基礎(chǔ)之上,時(shí)刻把握市場(chǎng)對(duì)于人才職業(yè)素質(zhì)要求的變化,進(jìn)入對(duì)日軟件外包企業(yè)深入了解實(shí)際需求,制定有針對(duì)性的培養(yǎng)計(jì)劃就具有重大意義。
1軟件外包企業(yè)人才需求現(xiàn)狀
軟件外包企業(yè)面臨的問(wèn)題是極其缺乏合格的軟件人才。學(xué)校和社會(huì)培訓(xùn)機(jī)構(gòu)培養(yǎng)了大量的軟件人才,但大部分不能滿(mǎn)足企業(yè)的實(shí)際需求。
軟件外包項(xiàng)目是開(kāi)發(fā)滿(mǎn)足用戶(hù)需求、及時(shí)交付、不超過(guò)預(yù)算和無(wú)故障的軟件的任務(wù),它以質(zhì)量保證為基礎(chǔ),包括過(guò)程、方法和工具等要素。若要成功順利地完成軟件外包項(xiàng)目,還必需具備軟件外包團(tuán)隊(duì),這支隊(duì)伍要有合理的軟件人才結(jié)構(gòu),即“金字塔”型:塔尖的5%是軟件架構(gòu)師,中、高層的35%是管理項(xiàng)目、技術(shù)和產(chǎn)品的高級(jí)軟件工程師,底層的60%是軟件編碼人員。
然而,三個(gè)層次的人才供應(yīng)都有問(wèn)題。首先是在整個(gè)軟件開(kāi)發(fā)過(guò)程中起著重要作用的軟件架構(gòu)師,由于需求量較少,要求也最高,單靠國(guó)內(nèi)自己力量很難培養(yǎng)可勝任大項(xiàng)目的架構(gòu)師,重慶市在金融風(fēng)暴來(lái)臨之際,出臺(tái)優(yōu)厚政策,高薪從國(guó)外聘請(qǐng)具有跨國(guó)大型項(xiàng)目經(jīng)驗(yàn)的人才。其次是金字塔底層的程序員,學(xué)校教育理論與實(shí)踐的脫節(jié)使得畢業(yè)生缺乏實(shí)際動(dòng)手能力,不能滿(mǎn)足企業(yè)的需求。現(xiàn)在,社會(huì)涌現(xiàn)出一批實(shí)訓(xùn)教育機(jī)構(gòu),以彌補(bǔ)學(xué)校教育的缺失,可勉強(qiáng)解決人才結(jié)構(gòu)的底層人才數(shù)量問(wèn)題。但是這些實(shí)訓(xùn)教育機(jī)構(gòu)缺少規(guī)范和標(biāo)準(zhǔn),人才質(zhì)量無(wú)法得到保障。
最關(guān)鍵的是金字塔中約占35%的中、高層工程師問(wèn)題,是整個(gè)人才問(wèn)題的難點(diǎn),它體現(xiàn)著企業(yè)生產(chǎn)和實(shí)施項(xiàng)目的執(zhí)行力,他們必須懂得正確地生產(chǎn)開(kāi)發(fā)外包軟件的管理方法和國(guó)際標(biāo)準(zhǔn),不再是手工業(yè)作坊式的管理與操作。中國(guó)軟件行業(yè)起步于20世紀(jì)90年代,歐美國(guó)家的軟件產(chǎn)業(yè)已經(jīng)有約50年的歷史,多年的積累已經(jīng)形成了對(duì)軟件生產(chǎn)環(huán)節(jié)系統(tǒng)的管理和規(guī)范,有效地控制軟件開(kāi)發(fā)的流程。這些操作規(guī)程已被國(guó)際上軟件企業(yè)普遍接受,執(zhí)行多年,并且形成標(biāo)準(zhǔn)。遺憾地是國(guó)內(nèi)絕大多數(shù)公司的工程師和項(xiàng)目經(jīng)理,完全不知道這些標(biāo)準(zhǔn)的存在,有些雖然知道但也沒(méi)有仔細(xì)研究、更不用說(shuō)應(yīng)用。不執(zhí)行這些標(biāo)準(zhǔn)并不妨礙面向國(guó)內(nèi)客戶(hù)開(kāi)發(fā)生產(chǎn)軟件產(chǎn)品,但是當(dāng)走向國(guó)際市場(chǎng)時(shí),是不能夠勝任任何外包項(xiàng)目的要求。
2對(duì)日軟件外包人才應(yīng)該具有的職業(yè)素質(zhì)
對(duì)日軟件外包人才應(yīng)該具有很強(qiáng)的專(zhuān)業(yè)技能并接受系統(tǒng)的軟件工程實(shí)施規(guī)范的熏陶。筆者從外包人才的兩個(gè)層面進(jìn)行說(shuō)明。
2.1中、高層工程師層次
對(duì)于中、高層工程師層面的人才,需要使用軟件工程國(guó)際人才標(biāo)準(zhǔn)來(lái)進(jìn)行衡量,比如懂得國(guó)際軟件工程標(biāo)準(zhǔn)CSDP(Certified Software Development Professional),該認(rèn)證體系由IEEE-CS(國(guó)際電子與電器工程師學(xué)會(huì)-計(jì)算機(jī)學(xué)會(huì))創(chuàng)建,是對(duì)全世界范圍的軟件工程師在知識(shí)領(lǐng)域、工作經(jīng)驗(yàn)及職業(yè)道德等方面的資質(zhì)的正式認(rèn)證。雖然需要拿到相關(guān)認(rèn)證書(shū)是極其困難的(到目前為止中國(guó)拿到CSDP認(rèn)證的只有30多人),但是所有這個(gè)層面的工程師應(yīng)該積極向這個(gè)標(biāo)準(zhǔn)看齊,CSDP國(guó)際認(rèn)證的基本內(nèi)涵是按照國(guó)際標(biāo)準(zhǔn)規(guī)范化地開(kāi)發(fā)軟件。試想,一個(gè)外包企業(yè),如果有3~5人通過(guò)CSDP認(rèn)證,何愁外包項(xiàng)目做不好。
2.2程序員層次
程序員層面人才(高校本科教育能夠?yàn)楣I(yè)界輸送的軟件人才層次)應(yīng)該具有的職業(yè)素質(zhì)是:具有較強(qiáng)的快速學(xué)習(xí)能力,扎實(shí)的高級(jí)數(shù)據(jù)結(jié)構(gòu)和算法基礎(chǔ)、嫻熟的編碼技能、良好的編碼習(xí)慣、能夠熟練地使用2~3種流行的開(kāi)發(fā)工具,能夠?qū)懗鲆?guī)范的項(xiàng)目文檔,善于溝通、具有極強(qiáng)的團(tuán)隊(duì)協(xié)作精神、奉獻(xiàn)精神和務(wù)實(shí)的作風(fēng)等。
2.2.1快速學(xué)習(xí)能力
快速學(xué)習(xí)能力是軟件外包程序員非常重要的一個(gè)素質(zhì)。筆者與幾位IT公司面試官在討論學(xué)習(xí)能力和已有的知識(shí)儲(chǔ)備對(duì)于應(yīng)屆畢業(yè)生來(lái)說(shuō)哪個(gè)對(duì)于該畢業(yè)生發(fā)展更重要這個(gè)問(wèn)題時(shí),得到的一致結(jié)論是前者。原因很簡(jiǎn)單,軟件外包行業(yè)是隨時(shí)要保證跟上IT技術(shù)發(fā)展的步伐,而IT技術(shù)的發(fā)展變化快是當(dāng)前其他任何行業(yè)都無(wú)法相比的。相關(guān)從業(yè)人員如果不能跟上技術(shù)發(fā)展變化步伐,就會(huì)失去主動(dòng)。所以在繁忙的工作之余能夠利用較少的時(shí)間快速學(xué)習(xí)新技術(shù)、新的架構(gòu)思想就顯得非常重要。
2.2.2數(shù)據(jù)結(jié)構(gòu)算法基礎(chǔ)
扎實(shí)的高級(jí)數(shù)據(jù)結(jié)構(gòu)和算法基礎(chǔ)是程序員必須掌握的基礎(chǔ)技能,但往往也是很多包括已經(jīng)在業(yè)內(nèi)工作多年的程序員沒(méi)有重視的一個(gè)問(wèn)題。對(duì)于現(xiàn)在很多高級(jí)的集成開(kāi)發(fā)環(huán)境以及應(yīng)用框架、類(lèi)庫(kù)等已經(jīng)將很多數(shù)據(jù)結(jié)構(gòu)和算法細(xì)節(jié)隱藏以支持RAD,很多程序員已經(jīng)不必再去了解這些細(xì)節(jié)就能夠透明的去處理業(yè)務(wù)和UI。這種情況針對(duì)小項(xiàng)目沒(méi)有太大問(wèn)題,但對(duì)于跨國(guó)外包項(xiàng)目來(lái)說(shuō),在處理一些軟件項(xiàng)目時(shí)要從全局性能的角度考慮問(wèn)題,此時(shí)高水平的底層數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)和高效率的算法思路就顯得十分寶貴了。
2.2.3編碼習(xí)慣
良好的編碼習(xí)慣對(duì)于在外包團(tuán)隊(duì)內(nèi)部工作的程序員來(lái)說(shuō)是非常重要的。在規(guī)范的軟件外包團(tuán)隊(duì)中,程序代碼需要給其他程序員復(fù)審,在維護(hù)階段還會(huì)有其他程序員進(jìn)行代碼維護(hù)工作。如果程序員沒(méi)有良好的代碼習(xí)慣,那么上述情形不管對(duì)于自己還是對(duì)于團(tuán)隊(duì)中的其他成員來(lái)說(shuō)都是噩夢(mèng)。
2.2.4重視文檔的作用
在軟件工程中,文檔的重要性是顯而易見(jiàn)的。然而,至今大量的國(guó)內(nèi)軟件項(xiàng)目都還是編碼基本完成后再回頭來(lái)補(bǔ)齊文檔,這對(duì)于軟件外包來(lái)說(shuō)肯定是行不通的。軟件的設(shè)計(jì)實(shí)施都需要按照文檔的規(guī)范定義來(lái)嚴(yán)格執(zhí)行。對(duì)日軟件外包人才必須具備規(guī)范的項(xiàng)目文檔編寫(xiě)能力。
2.2.5語(yǔ)言能力及精神品質(zhì)
對(duì)日軟件外包程序員必須要具有較強(qiáng)的日語(yǔ)口語(yǔ)交流技能,這樣才能直接精確的理解客戶(hù)的需求,完成良好的溝通。而團(tuán)隊(duì)協(xié)作精神是當(dāng)前很多行業(yè)都要求職業(yè)人應(yīng)該具備的基本素質(zhì),軟件行業(yè)當(dāng)然不會(huì)例外,當(dāng)今的軟件產(chǎn)品規(guī)模越來(lái)越大、架構(gòu)越來(lái)越復(fù)雜,一個(gè)人是不可能完成大型軟件項(xiàng)目的開(kāi)發(fā)工作的。軟件外包行業(yè)由于其特殊性,必然的面臨著大量的加班壓力,從業(yè)人員必須從容面對(duì)經(jīng)常性的加班,這當(dāng)然會(huì)從某種程度上影響從業(yè)人員的其他生活,但從全局出發(fā),這樣的犧牲是必須的、是值得的。要從思想上要求從業(yè)人員做好心理準(zhǔn)備,能夠吃苦、自愿奉獻(xiàn)。
3如何培養(yǎng)具有高素質(zhì)的對(duì)日軟件外包人才
要使軟件人才的素質(zhì)達(dá)到國(guó)際標(biāo)準(zhǔn),并能夠順利做好對(duì)日軟件外包項(xiàng)目,首先要在中、高層工程師層面尋找出提升高級(jí)軟件人才素質(zhì)的切實(shí)可行的辦法與途徑。解決問(wèn)題的方法是:直接引進(jìn)軟件工程國(guó)際標(biāo)準(zhǔn)與軟件工程人才標(biāo)準(zhǔn),普及與推廣CSDP是迅速提升人員素質(zhì)達(dá)到國(guó)際水平的一條“捷徑”。這個(gè)群體一旦培養(yǎng)成型具有一定規(guī)模后,對(duì)于底層軟件外包人員的發(fā)展壯大以及素質(zhì)的全面提升都是至關(guān)重要的。
中、高層工程師層面的問(wèn)題解決了,對(duì)于底層的對(duì)日軟件外包程序員的從業(yè)素質(zhì)培養(yǎng)有一定帶頭指導(dǎo)作用,但仍然需要一整套科學(xué)合理、符合各地域?qū)嶋H情況的培養(yǎng)模式。筆者結(jié)合本學(xué)院兩屆對(duì)日軟件外包人才培養(yǎng)經(jīng)驗(yàn),以及重慶市實(shí)際情況提出一個(gè)概要的培養(yǎng)方案設(shè)計(jì)思路。
首先,高校應(yīng)多與企業(yè)進(jìn)行交流和合作,讓高校能夠根據(jù)企業(yè)需求適當(dāng)進(jìn)行教學(xué)改革,鼓勵(lì)學(xué)生多參加社會(huì)實(shí)習(xí)實(shí)踐,使大學(xué)生具有相應(yīng)的就業(yè)能力。同時(shí),軟件外包企業(yè)應(yīng)與IT職業(yè)教育和培訓(xùn)機(jī)構(gòu)合作,將更多的應(yīng)屆大學(xué)生培養(yǎng)成IT應(yīng)用型人才。因?yàn)槟壳皩W(xué)歷教育更專(zhuān)注于學(xué)生的基本素質(zhì)培養(yǎng),其就業(yè)能力、工作技能的培養(yǎng)應(yīng)由學(xué)校與職業(yè)教育機(jī)構(gòu)共同完成。就本學(xué)院的經(jīng)驗(yàn)看來(lái),在以往傳統(tǒng)的計(jì)算機(jī)教學(xué)模式下,學(xué)生基本上將精力投入到計(jì)算機(jī)基礎(chǔ)理論學(xué)習(xí)中,走向社會(huì)找工作時(shí),發(fā)現(xiàn)IT職場(chǎng)更需要的是具有一定理論基礎(chǔ)的、較強(qiáng)的動(dòng)手能力的實(shí)干型人才。經(jīng)過(guò)兩屆的對(duì)日軟件外包校企合作培訓(xùn),已經(jīng)有半數(shù)畢業(yè)生的實(shí)際動(dòng)手能力能夠?yàn)檐浖獍髽I(yè)所認(rèn)可。
其次,由企業(yè)與培訓(xùn)機(jī)構(gòu)共同推動(dòng)大學(xué)生IT實(shí)習(xí)實(shí)訓(xùn)基地建設(shè),通過(guò)IT實(shí)訓(xùn)提高高校畢業(yè)生實(shí)際動(dòng)手能力,并大力支持和發(fā)展大學(xué)生IT就業(yè)中介服務(wù)機(jī)構(gòu),為大學(xué)生提供專(zhuān)業(yè)的就業(yè)信息、職場(chǎng)素質(zhì)、就業(yè)推介等服務(wù)。
再次,重慶位于我國(guó)的西南部地區(qū),學(xué)習(xí)外語(yǔ)的大眾推動(dòng)力和外語(yǔ)培訓(xùn)的教學(xué)能力較之沿海發(fā)達(dá)地區(qū)有一定的差距。對(duì)日軟件外包人才必須具備較好的日語(yǔ)交流能力,特別是對(duì)日軟件外包技術(shù)專(zhuān)業(yè)術(shù)語(yǔ)的領(lǐng)會(huì)和表達(dá)能力是語(yǔ)言能力培訓(xùn)過(guò)程的重中之重。特別缺乏既熟悉日語(yǔ)教學(xué),又具備一定軟件開(kāi)發(fā)經(jīng)驗(yàn)的人員作為對(duì)日軟件外包日語(yǔ)培訓(xùn)師。
目前,我國(guó)教育現(xiàn)狀更多還是應(yīng)試教育,這樣培養(yǎng)出來(lái)的人才從一開(kāi)始在團(tuán)隊(duì)協(xié)作方面就有一定的欠缺。在高校教育的過(guò)程中,應(yīng)該有意識(shí)的去培養(yǎng)學(xué)生的團(tuán)隊(duì)協(xié)作精神,激發(fā)學(xué)生對(duì)團(tuán)隊(duì)的奉獻(xiàn)熱情。
4總結(jié)
本文分析了重慶市軟件外包企業(yè)人才需求現(xiàn)狀,歸納了對(duì)日軟件外包人才應(yīng)該具有的職業(yè)素質(zhì),概要的提出了對(duì)日軟件外包人才培養(yǎng)方案設(shè)計(jì)思路。我們相信重慶市的軟件外包產(chǎn)業(yè)必將走向美好的明天!
參考文獻(xiàn):
[1] 劉紹堅(jiān). 中國(guó)承接國(guó)際軟件外包的現(xiàn)狀、模式及發(fā)展對(duì)策研究[J]. 國(guó)際貿(mào)易,2007(6):27-32.
[2] 李岳云. 國(guó)際服務(wù)外包趨勢(shì)與我國(guó)服務(wù)外包的發(fā)展[J]. 江蘇對(duì)外經(jīng)貿(mào)論壇,2007(3):25-30.
[3] 趙桂玉. 中國(guó)軟件外包業(yè)發(fā)展的障礙及解決措施[J]. 現(xiàn)代企業(yè),2006(6):65-66.
[4] 劉先雨. 大連軟件外包產(chǎn)業(yè)集群發(fā)展探討[J]. 現(xiàn)代商貿(mào)工業(yè),2008(10):121-122.
Research on Cultivating Professional Quality of Software Outsourcing towards Japan
WU Yu, YANG Hao
(1. Institute of Computer Science, Chongqing Three Gorges University, Wanzhou 404000, China; 2. Institute of Computer Science, Chengdu University of Technology, Leshan 614000, China)
關(guān)鍵詞:課程改革;學(xué)習(xí)情境;任務(wù)驅(qū)動(dòng);項(xiàng)目導(dǎo)向
文章編號(hào):1672-5913(2010)08-0076-04
中圖分類(lèi)號(hào):G642
文獻(xiàn)標(biāo)識(shí)碼:A
JavaEE編程技術(shù)是我院軟件技術(shù)Java開(kāi)發(fā)方向的專(zhuān)業(yè)核心課程,它是繼學(xué)生修完Java程序設(shè)計(jì)、JSP程序設(shè)計(jì)之后的一門(mén)重要課程,對(duì)培養(yǎng)學(xué)生在企業(yè)應(yīng)用中的開(kāi)發(fā)能力,培養(yǎng)中高級(jí)Java程序員和Java服務(wù)器端程序員起著至關(guān)重要的作用。
JavaEE是一個(gè)龐大、分支眾多的技術(shù)體系,同時(shí)也是一個(gè)需要不斷接受新思想、解決新問(wèn)題的系統(tǒng),要想在有限的學(xué)時(shí)內(nèi)學(xué)好,很難做到面面俱到。同時(shí),作為一門(mén)高職課程,JavaEE不能太理論化,而應(yīng)該面向?qū)嶋H應(yīng)用。JavaEE是服務(wù)器端技術(shù),要解決的問(wèn)題是企業(yè)級(jí)應(yīng)用,企業(yè)級(jí)應(yīng)用的重要表現(xiàn)形式是分布式系統(tǒng),EJB、Web服務(wù)、JMS這些企業(yè)級(jí)系統(tǒng)常用的技術(shù),其學(xué)習(xí)難度大,應(yīng)用環(huán)境很復(fù)雜,這給實(shí)踐教學(xué)的開(kāi)展帶來(lái)一定的難度。
高等職業(yè)教育的課程改革不僅僅是方法的改革,還是理念、內(nèi)容、實(shí)施方法等多方面的改革,高職教育的特點(diǎn)應(yīng)該以實(shí)踐教學(xué)為主。本文以企業(yè)對(duì)人才的需求為導(dǎo)向,結(jié)合筆者多年的教學(xué)實(shí)踐經(jīng)驗(yàn),按照基于工作過(guò)程的改革思路,探討了JavaEE編程技術(shù)課程改革過(guò)程中教學(xué)內(nèi)容的優(yōu)化整合、學(xué)習(xí)情境的設(shè)計(jì)、教學(xué)方法和教學(xué)手段的革新等多方面的改革實(shí)踐。
1 按照企業(yè)需求和成長(zhǎng)規(guī)律優(yōu)化整合教學(xué)內(nèi)容
1,1課程改革源于專(zhuān)業(yè)的整體要求,同時(shí)必須符合企業(yè)的需求
一門(mén)課程不是孤立的存在,課程改革來(lái)源于專(zhuān)業(yè)的整體要求,而專(zhuān)業(yè)人才的培養(yǎng)必須符合企業(yè)需求。企業(yè)對(duì)Java程序員的崗位需求分為兩類(lèi),即Java客戶(hù)端程序員和Java服務(wù)器端程序員。這兩類(lèi)崗位所要求的知識(shí)和技能既有較大的差異,又存在緊密的聯(lián)系。一方面,客戶(hù)端程序是獨(dú)立運(yùn)行的桌面應(yīng)用,一般具有豐富的圖形用戶(hù)界面,經(jīng)常需要直接與數(shù)據(jù)庫(kù)進(jìn)行交互,也需要調(diào)用服務(wù)器端程序提供的服務(wù)??蛻?hù)端程序員需要具有豐富的Java圖形用戶(hù)界面編程經(jīng)驗(yàn),數(shù)據(jù)庫(kù)編程經(jīng)驗(yàn),對(duì)Java服務(wù)器端技術(shù)有一定的掌握和運(yùn)用能力。另一方面,服務(wù)器端程序運(yùn)行在服務(wù)器上,它為別的程序提供服務(wù),需要程序員掌握組件的編程、應(yīng)用在服務(wù)器端的主流框架。作為高職院校軟件專(zhuān)業(yè)畢業(yè)的學(xué)生,應(yīng)該能夠勝任軟件企業(yè)對(duì)Java程序員的不同崗位需求。
1,2明確Java主線課程教學(xué)任務(wù)的側(cè)重劃分
我院以Java為主線的核心課程有3門(mén):Java程序設(shè)計(jì)、JSP程序設(shè)計(jì)和JavaEE編程技術(shù)。其中,Java程序設(shè)計(jì)主要培養(yǎng)Java客戶(hù)端程序員,同時(shí)解決基礎(chǔ)問(wèn)題。JSP程序設(shè)計(jì)和JavaEE編程技術(shù)主要培養(yǎng)Java服務(wù)器端程序員。事實(shí)上,JSP屬于lavaEE的Web組件,是JavaEE分層架構(gòu)中表現(xiàn)層最重要的技術(shù),同時(shí),在使用Java技術(shù)建立Web應(yīng)用時(shí),JSP因其便于掌握和可實(shí)現(xiàn)快速開(kāi)發(fā)的優(yōu)點(diǎn)成為很多小型Web應(yīng)用采用的技術(shù)。我們將JSP作為一門(mén)課程放在JavaEE之前,不僅符合JSP的自身體系,還可以減輕JavaEE的教學(xué)壓力,平滑JavaEE的學(xué)習(xí)曲線。
1,3確立JavaEE課程的教學(xué)目標(biāo)和教學(xué)內(nèi)容
在理清了各課程的關(guān)系之后,我們確立了JavaEE編程技術(shù)的教學(xué)目標(biāo):學(xué)習(xí)完本課程后,學(xué)生能夠獨(dú)立搭建JavaEE開(kāi)發(fā)環(huán)境,能夠熟練進(jìn)行三大組件(servlet、JSP、EJB)的編程,能夠運(yùn)用Singleton、DAO、MVC設(shè)計(jì)模式,能夠運(yùn)用Struts框架,能夠?qū)崿F(xiàn)數(shù)據(jù)訪問(wèn)層,能夠按照不同的方案設(shè)計(jì)和實(shí)現(xiàn)JavaEE多層結(jié)構(gòu)的企業(yè)級(jí)應(yīng)用。
教學(xué)內(nèi)容包括:JavaEE開(kāi)發(fā)環(huán)境、在JavaEE中使用XML、Servlet組件的編程、JavaBean組件在JSP中的應(yīng)用、數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)、MVC架構(gòu)、Struts框架、EJB 3.0組件編程。
教學(xué)內(nèi)容的重點(diǎn)在于JavaEE三大組件技術(shù)(JsP組件主要在“JSP程序設(shè)計(jì)”中介紹)、數(shù)據(jù)訪問(wèn)層、設(shè)計(jì)模式、MVC架構(gòu)和Struts框架;難點(diǎn)在于如何運(yùn)用這些技術(shù)和框架實(shí)現(xiàn)一個(gè)既符合JavaEE分層結(jié)構(gòu),又遵循MVC架構(gòu)的企業(yè)級(jí)應(yīng)用系統(tǒng);能力目標(biāo)在于培養(yǎng)具有一定理論知識(shí),又具有較強(qiáng)的實(shí)際編程能力和開(kāi)發(fā)能力的應(yīng)用型人才。
2 基于工作過(guò)程進(jìn)行課程開(kāi)發(fā)與設(shè)計(jì)
2,1課程開(kāi)發(fā)的思路:教學(xué)內(nèi)容、工作任務(wù)、軟件項(xiàng)目三位一體
“教學(xué)內(nèi)容、工作任務(wù)、軟件項(xiàng)目三位一體”的含義是:巧妙地將理論知識(shí)點(diǎn)融入到完成不同的工作任務(wù)中;工作任務(wù)不是孤立的存在,而是軟件項(xiàng)目中的一個(gè)個(gè)局部功能;學(xué)習(xí)進(jìn)度與項(xiàng)目進(jìn)度相一致,學(xué)習(xí)內(nèi)容與項(xiàng)目?jī)?nèi)容相一致,用完整的項(xiàng)目貫穿課程始終。具體而言,主要具備以下3個(gè)特色:
特色1:軟件項(xiàng)目貫穿。選擇一個(gè)綜合性的項(xiàng)目貫穿整個(gè)課程,項(xiàng)目根據(jù)學(xué)習(xí)情境分成一系列局部功能,在不同的學(xué)習(xí)情境中,學(xué)生將學(xué)會(huì)實(shí)現(xiàn)某個(gè)(些)局部功能,當(dāng)完成所有學(xué)習(xí)情境,整個(gè)項(xiàng)目就可以完成。
特色2:理論教學(xué)采取任務(wù)驅(qū)動(dòng)教學(xué)模式。整個(gè)課程劃分為不同的學(xué)習(xí)情境,每個(gè)學(xué)習(xí)情境都有若干個(gè)典型工作任務(wù),理論教學(xué)采取任務(wù)驅(qū)動(dòng)的教學(xué)模式,將相關(guān)理論知識(shí)點(diǎn)融入到完成不同的任務(wù)中,并布置相近似的任務(wù)在課后實(shí)驗(yàn)中指導(dǎo)學(xué)生動(dòng)手完成。
特色3:實(shí)踐教學(xué)采取項(xiàng)目導(dǎo)向教學(xué)法。實(shí)踐教學(xué)分為兩個(gè)層次,第一個(gè)層次是在理論課后的作業(yè)和實(shí)驗(yàn)中閱讀和模仿課堂上老師給出的代碼,完成近似的任務(wù)。第二個(gè)層次是項(xiàng)目的開(kāi)發(fā),課程安排了三次大的課程設(shè)計(jì),隨著課程內(nèi)容的推進(jìn),將同一個(gè)項(xiàng)目分別用不同的技術(shù)和框架實(shí)現(xiàn)三遍。第一層次的任務(wù)是為項(xiàng)目作準(zhǔn)備,是項(xiàng)目中的一個(gè)個(gè)局部功能,這樣學(xué)生可以實(shí)現(xiàn)從任務(wù)到項(xiàng)目的平滑過(guò)渡。
改革后的課程體系完全顛覆了傳統(tǒng)的教學(xué)模式,符合高職教學(xué)以實(shí)踐為主的理念,更加有利于培養(yǎng)高素質(zhì)的技術(shù)、技能型人才。
2,2學(xué)習(xí)情境的設(shè)計(jì)
在上述課程改革思路的指導(dǎo)下,我們?cè)O(shè)計(jì)開(kāi)發(fā)了“學(xué)習(xí)情境、能力目標(biāo)總表”,如表1所示。
3 按照高職教育理念構(gòu)建教學(xué)實(shí)施模式
3,1理論教學(xué):任務(wù)驅(qū)動(dòng)
改革后的理論教學(xué)以任務(wù)引領(lǐng),按照“提出任務(wù);完成任務(wù)的思想、方法、操作:邊學(xué)邊做完成任務(wù);總結(jié)規(guī)律和技巧”4個(gè)步驟實(shí)施教學(xué)。
教師在講授某個(gè)(些)理論知識(shí)點(diǎn)之前,首先提出一個(gè)具體的任務(wù)要求,讓學(xué)生明白需要完成一個(gè)什么樣的工作任務(wù)。例如:在課程早期講授Servlet請(qǐng)求 和Servlet響應(yīng)時(shí),如果從理論到理論,不僅難以理解而且枯燥乏味。那么我們不直接從理論入手,而是首先推出一個(gè)任務(wù)“創(chuàng)建登錄系統(tǒng)”,要求包含一個(gè)登錄頁(yè)面和一個(gè)LoginServlet。其中:登錄頁(yè)面接收用戶(hù)填寫(xiě)的用戶(hù)名和口令,點(diǎn)擊提交按鈕之后,LoginServlet將用戶(hù)名和口令以HTML的方式返回給客戶(hù)端(因?yàn)椴幌肷婕暗綌?shù)據(jù)庫(kù));接著,將要完成的任務(wù)演示出來(lái),使學(xué)生看得見(jiàn)、摸得著,以此激起他們強(qiáng)烈的興趣。教師可乘機(jī)將“Http請(qǐng)求和響應(yīng)的格式,如何發(fā)送請(qǐng)求,如何提交表單數(shù)據(jù),如何處理請(qǐng)求,如何生成響應(yīng)”等教學(xué)內(nèi)容巧妙地融入到這個(gè)任務(wù)當(dāng)中,講解實(shí)現(xiàn)程序的代碼,演示完成任務(wù)的步驟。
為了讓學(xué)生真正掌握課程內(nèi)容并且能夠自己動(dòng)手,教師必須提出新的要求。做法是:布置一個(gè)近似的但又有所不同的任務(wù),比如,在登錄的基礎(chǔ)上添加注冊(cè),這樣,學(xué)生必須閱讀和消化代碼,才能夠模仿和創(chuàng)新,通過(guò)完成任務(wù)達(dá)到掌握所學(xué)知識(shí)的目的。在此過(guò)程中,教師要及時(shí)收集學(xué)生在完成任務(wù)過(guò)程中出現(xiàn)的典型問(wèn)題和共性問(wèn)題,結(jié)合理論知識(shí)點(diǎn),在課堂上進(jìn)行有針對(duì)性地講解,給出解決問(wèn)題的辦法。
最后,要求學(xué)生總結(jié)規(guī)律和技巧,將完成任務(wù)過(guò)程中遇到的問(wèn)題及解決辦法寫(xiě)成實(shí)驗(yàn)報(bào)告,督促學(xué)生及時(shí)總結(jié)實(shí)戰(zhàn)經(jīng)驗(yàn),實(shí)現(xiàn)知識(shí)的融合和再學(xué)習(xí)。
在“任務(wù)驅(qū)動(dòng)”教學(xué)法中,“任務(wù)”的設(shè)計(jì)是關(guān)鍵。一方面,教師必須精心設(shè)計(jì)出一個(gè)個(gè)實(shí)際任務(wù),將教學(xué)內(nèi)容巧妙地隱含到這個(gè)任務(wù)當(dāng)中。另一方面,為了配合項(xiàng)目導(dǎo)向教學(xué)法,任務(wù)的設(shè)計(jì)不能脫離項(xiàng)目而獨(dú)立存在,而要為完成項(xiàng)目服務(wù)。任務(wù)實(shí)際上是項(xiàng)目這個(gè)大要求下的一個(gè)個(gè)小局部的功能,當(dāng)學(xué)生完成了一定數(shù)量的任務(wù)之后,那么切入項(xiàng)目的時(shí)機(jī)就成熟了。
3,2實(shí)踐教學(xué):項(xiàng)目貫穿+項(xiàng)目改寫(xiě)
項(xiàng)目導(dǎo)向教學(xué)法,就是教師講解項(xiàng)目的要求和涉及的知識(shí)點(diǎn),學(xué)生在教師的引導(dǎo)下,上機(jī)實(shí)現(xiàn)項(xiàng)目。學(xué)生邊學(xué)習(xí)邊做項(xiàng)目,學(xué)習(xí)內(nèi)容與項(xiàng)目?jī)?nèi)容相一致。請(qǐng)注意,項(xiàng)目導(dǎo)向教學(xué)法強(qiáng)調(diào)學(xué)習(xí)進(jìn)度與項(xiàng)目進(jìn)度相一致,用項(xiàng)目貫穿整個(gè)課程,而不是到了課程的最后才開(kāi)始做項(xiàng)目。
為了實(shí)現(xiàn)項(xiàng)目導(dǎo)向教學(xué)法,就要考慮課程內(nèi)容、課程進(jìn)度與所要實(shí)現(xiàn)項(xiàng)目的相關(guān)性。事實(shí)上,在絕大多數(shù)課程中,很難找到一個(gè)完整的能夠貫穿課程始終的項(xiàng)目。為了解決這一難題,可以在課程中及時(shí)地引入若干個(gè)小項(xiàng)目,讓每個(gè)小項(xiàng)目近可能涵蓋前一階段課程所涉及的知識(shí)點(diǎn)。這樣一來(lái),整個(gè)課程就由若干個(gè)小的項(xiàng)目貫穿,既增加了課堂教學(xué)的靈活性,又降低了項(xiàng)目實(shí)施的難度。
幸運(yùn)的是,JavaEE項(xiàng)目有自己的特點(diǎn),Java EE項(xiàng)目可以選擇不同方案來(lái)實(shí)現(xiàn),如不同的分層結(jié)構(gòu),在一層中可以采取不同的技術(shù),還可以選擇不同的方法實(shí)現(xiàn)MVC設(shè)計(jì)模式。每一種方案都有自己的特點(diǎn)以及學(xué)習(xí)曲線。這些因素帶來(lái)的影響在項(xiàng)目進(jìn)入開(kāi)發(fā)階段后非常顯著,學(xué)生在學(xué)習(xí)中需要適應(yīng)這些選擇。而正是由于JavaEE項(xiàng)目這一特點(diǎn),使得采用一個(gè)項(xiàng)目貫穿整個(gè)課程成為可能。
本課程選擇了“在線商店”作為貫穿始終的項(xiàng)目,該項(xiàng)目采取不同的方案被實(shí)現(xiàn)了三次。由于課時(shí)的限制,只要求實(shí)現(xiàn)“在線商店”前臺(tái)的登錄子系統(tǒng)和在線訂貨子系統(tǒng)。登錄子系統(tǒng)包括注冊(cè)和登錄:訂貨子系統(tǒng)部分包括瀏覽商品目錄、查看商品詳情、商品搜索、購(gòu)物車(chē)、商品定購(gòu)。在表1中“載體”一欄顯示了項(xiàng)目在各個(gè)學(xué)習(xí)情境的切入情況。
本課程的實(shí)踐教學(xué)還有另一個(gè)新穎之處,那就是:教師不是直接布置學(xué)生做一個(gè)項(xiàng)目,而是給定一個(gè)原始項(xiàng)目,要求學(xué)生按照指定的要求進(jìn)行改造。例如,在表1中的情境6,交給學(xué)生一個(gè)采用JSP+JavaBean模式實(shí)現(xiàn)的登錄子系統(tǒng),這是一個(gè)典型的JSP應(yīng)用,只有兩層結(jié)構(gòu),要求學(xué)生采用基于Servlet實(shí)現(xiàn)MVC模式進(jìn)行改造,并用DAO設(shè)計(jì)模式實(shí)現(xiàn)數(shù)據(jù)訪問(wèn)層,數(shù)據(jù)訪問(wèn)采用連接池技術(shù)。在情境7,給定一個(gè)采用MVC模式實(shí)現(xiàn)的在線訂貨子系統(tǒng),要求學(xué)生以此為基礎(chǔ)運(yùn)用Struts框架進(jìn)行改造,實(shí)現(xiàn)基本項(xiàng)目的全部功能,鼓勵(lì)實(shí)現(xiàn)擴(kuò)展功能。在最后的情境中,用EJB改造現(xiàn)有的購(gòu)物車(chē)功能。原始項(xiàng)目和改造后項(xiàng)目的比較參見(jiàn)表2。
通過(guò)對(duì)現(xiàn)有系統(tǒng)的改造,學(xué)生的知識(shí)和認(rèn)識(shí)水平不斷提高,閱讀程序的能力得到訓(xùn)練,這也能幫助學(xué)生體會(huì)到各種技術(shù)和框架的應(yīng)用特點(diǎn)。學(xué)生給出了很好的評(píng)價(jià):“這是一個(gè)比較新穎的實(shí)驗(yàn)方式。以往的實(shí)訓(xùn)是自己或者以小組的方式開(kāi)發(fā)一個(gè)小型項(xiàng)目,但這次是給了項(xiàng)目要求以另外一種方式改造該項(xiàng)目,這給了我們一種全新的思維方式。以前開(kāi)發(fā)總有很強(qiáng)的依賴(lài)性,就是沒(méi)開(kāi)始做的時(shí)候總想著到網(wǎng)上去淘一個(gè)類(lèi)似的系統(tǒng),稍加修飾,便可以上交。改造項(xiàng)目就縮小了搜索范圍,所以我必須先要完全讀懂原項(xiàng)目的代碼,然后再深層次理解Struts的特點(diǎn),最后才能動(dòng)手”。
說(shuō)這句話(huà)的人,大部分是這個(gè)產(chǎn)品經(jīng)理在自嘲。Glen認(rèn)為,真正牛X的產(chǎn)品經(jīng)理,不可能什么都不會(huì),反而是什么都要會(huì),而且必須在其中的一個(gè)或幾個(gè)方面達(dá)到熟練。今天我們就來(lái)一起聊一聊產(chǎn)品經(jīng)理和技術(shù)的關(guān)系。
【1兩個(gè)平行世界】產(chǎn)品經(jīng)理為什么要懂技術(shù)?
你得明白,人跟人的差距,比人跟豬的差距還大。兩種不同的職業(yè),看問(wèn)題的方式那真的是天差地別。
(1)程序員的世界
程序員的世界既簡(jiǎn)單又復(fù)雜,在他們的眼里,世界的元素基本是固定的:
If和Else構(gòu)建了世界
For和While是成果的復(fù)制
True和False是世界僅有的兩種狀態(tài)
Exception(異常)表示程序的世界不和諧因素
Function(函數(shù))讓我們專(zhuān)注解決問(wèn)題
Class(類(lèi))抽象世界為對(duì)象
程序員們的思維基本如上,他們往往冷靜、機(jī)智、思維敏捷,但往往也帶來(lái)副產(chǎn)品,如自負(fù)(多少有一點(diǎn))、較真(程序員往往不怕加班,但是痛恨多次返工、白干)、好面子(不要輕易評(píng)價(jià)程序員們的工作)。
(2)產(chǎn)品經(jīng)理的世界
產(chǎn)品經(jīng)理的世界,不是一個(gè)純粹理性的世界。這個(gè)世界不只有黑和白,在黑和白中間還有無(wú)數(shù)的灰色空間。
產(chǎn)品經(jīng)理為什么要懂技術(shù)?
產(chǎn)品經(jīng)理的主要工作就是尋找、抓住用戶(hù)需求,然后通過(guò)一定的手段做出產(chǎn)品滿(mǎn)足用戶(hù)需求。而需求是難以用黑白、對(duì)錯(cuò)兩種狀態(tài)來(lái)表述的。我覺(jué)得,這就是程序員的世界和產(chǎn)品經(jīng)理的世界最根本的差異了。
一句話(huà)概括:程序員相信世界是數(shù)學(xué)構(gòu)建的,0和1能夠創(chuàng)造一切;產(chǎn)品經(jīng)理相信世界不是純粹理性的,人不是純粹理性的,黑與白之間廣闊的灰度空間是難以用數(shù)字表述的。
【2平行世界的統(tǒng)一】產(chǎn)品經(jīng)理為什么要懂技術(shù)?
世界不是唯一的,但多個(gè)世界也不是完全孤立的,兩個(gè)平行世界在某個(gè)維度下也會(huì)有交集。
(1)讓需求落地,可能更加困難
產(chǎn)品經(jīng)理的工作內(nèi)容之一,就是找到不同世界的交集,然后將兩個(gè)世界最強(qiáng)的點(diǎn)融合起來(lái),聚合后發(fā)揮出巨大的能量。
產(chǎn)品經(jīng)理想到、搜集到某個(gè)需求是一件很難的事,但是在找到需求后,如何讓需求落地,可能是一件更加困難的事。統(tǒng)一產(chǎn)品經(jīng)理和程序員的世界,是其中一個(gè)非常重要的步驟。
(2)如何做到統(tǒng)一世界呢?
第一步,產(chǎn)品經(jīng)理要懂程序員的世界,不懂怎么做到統(tǒng)一?最好你就從那個(gè)純粹理性的世界來(lái),你自己在程序的世界生存過(guò),你會(huì)明白程序員們思考問(wèn)題的邏輯,你會(huì)很容易做到換位思考(換位思考時(shí)常被提起,但只有你做過(guò)對(duì)方的工作,你才能真正做到換位思考)。
第二步,產(chǎn)品經(jīng)理要明白世界不只是0和1,至少目前不是(天網(wǎng)沒(méi)有滅絕人類(lèi)之前)。世界永遠(yuǎn)有很多東西是無(wú)法被解釋的,不要抓狂,容忍不完美,在缺陷中才能找到需求和秘密,那是我們創(chuàng)造、改進(jìn)用戶(hù)體驗(yàn)的源頭。
第三步,產(chǎn)品經(jīng)理要做好溝通,說(shuō)服程序員們用他們的黑和白,來(lái)做出你想要的多彩世界。溝通,是連接兩個(gè)世界的繩索。每一次愉快的溝通,都會(huì)在兩個(gè)世界之間連接上一段繩索,當(dāng)繩索數(shù)量達(dá)到一定程度后,兩個(gè)世界也就不分你我了。多鼓勵(lì),少貶低,在需求實(shí)現(xiàn)過(guò)程中多關(guān)注程序員的工作。
【3必知必會(huì)的技術(shù)術(shù)語(yǔ)(干貨)】產(chǎn)品經(jīng)理為什么要懂技術(shù)?
產(chǎn)品經(jīng)理通過(guò)溝通來(lái)聯(lián)系程序員和產(chǎn)品經(jīng)理的世界。有效溝通的前提是你們有共同話(huà)題,他說(shuō)的術(shù)語(yǔ)你能懂,他說(shuō)的方案你能夠參與討論,并且說(shuō)出專(zhuān)業(yè)的見(jiàn)解,這容易讓程序員們產(chǎn)生共鳴,感覺(jué)你和他是同一種生物。做好了有效溝通,那么以后的工作的推進(jìn)難度,起碼降低80%。
下面分享一下我在跟項(xiàng)目期間,總結(jié)的出現(xiàn)頻次比較多的技術(shù)術(shù)語(yǔ),懂了他們,你跟程序員溝通需求時(shí)、閑聊扯蛋時(shí),就不會(huì)覺(jué)得自己在聽(tīng)相聲了。
1主流操作系統(tǒng):Windwos(xp、7、8、10),Linux(服務(wù)器比較多),UNIX(服務(wù)器比較多),OS X(蘋(píng)果出的操作系統(tǒng))。
2 MAC地址:計(jì)算機(jī)的物理地址、硬件地址,它是生產(chǎn)廠商燒錄好的,一般不能改動(dòng)。
3 IP地址:用來(lái)給Internet上的電腦一個(gè)編號(hào),方便別人找到你,容易更改。
4 HTTP:超文本傳輸協(xié)議,瀏覽器通過(guò)它,將Web服務(wù)器上站點(diǎn)的網(wǎng)頁(yè)代碼提取出來(lái),并翻譯成漂亮的網(wǎng)頁(yè)。
5 FTP:成兩臺(tái)計(jì)算機(jī)之間的拷貝,從遠(yuǎn)程計(jì)算機(jī)拷貝文件至自己的計(jì)算機(jī)上。
6接口:顧名思義,就是兩個(gè)程序之間,通過(guò)一個(gè)通道傳輸一些信息。
7帶寬和寬帶:帶寬指的是你的上網(wǎng)時(shí)由于設(shè)備限制所能達(dá)到的最高數(shù)據(jù)流量理論值,而寬帶則是一種寬泛的概念,即帶寬達(dá)到512k以上的所有上網(wǎng)環(huán)境。
8數(shù)據(jù)結(jié)構(gòu)和算法:數(shù)據(jù)結(jié)構(gòu)指數(shù)據(jù)在計(jì)算機(jī)中存儲(chǔ)存在的方式,算法就是計(jì)算機(jī)處理解決問(wèn)題的計(jì)算機(jī)能理解的方法。
9 TCP/IP:要使計(jì)算機(jī)連成的網(wǎng)絡(luò)能夠互通信息,需要有一組共同遵守的網(wǎng)絡(luò)協(xié)議,不同的計(jì)算機(jī)之間必須使用相同的網(wǎng)絡(luò)協(xié)議才能進(jìn)行通信,在Internet中TCP/IP協(xié)議是使用最為廣泛的通訊協(xié)議。
10內(nèi)存/閃存:內(nèi)存是運(yùn)行軟件的,閃存就是存東西的,現(xiàn)在很多人總是說(shuō)自己的iPhone是16G內(nèi)存,這種話(huà)如果在程序員面前說(shuō),那他一秒把你當(dāng)做外行小白。。。
關(guān)鍵詞:軟件開(kāi)發(fā);編程規(guī)范
中圖分類(lèi)號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2011)26-6409-02
Studying on Code for Programming Standardization
HE Cheng-ju1, GUO Wei2
(1.Nanning Municipal Public Security Bureau, Nanning 530022 China;2.Nanning City Personnel Testing Management Office, Nanning 530022, China)
Abstract: There are something to focus on when using c# language programming, according to author's many years experience on software developing, this paper mentions several points need to concentrate on when programming and gives a way to resolve the problems base on practical examples.
Key words: software developing; programme criterion
隨著軟件行業(yè)的日益發(fā)展,C#作為軟件開(kāi)發(fā)語(yǔ)言中的后起之秀,在軟件開(kāi)發(fā)領(lǐng)域中的地位日益提高。目前,已成為面向?qū)ο箝_(kāi)發(fā)中僅次于JAVA和C++的開(kāi)發(fā)語(yǔ)言。本文探討了運(yùn)用C#語(yǔ)言開(kāi)發(fā)軟件中需要注意的編程事項(xiàng),包括變量命名規(guī)則、方法格式、語(yǔ)句長(zhǎng)度等方面需要注意的細(xì)節(jié)。
1 我們對(duì)軟件開(kāi)發(fā)有一定的認(rèn)識(shí)
經(jīng)歷過(guò)大大小小的成功,也經(jīng)歷過(guò)不少的失敗。對(duì)于軟件編程,只有在有一定的編程水平和經(jīng)驗(yàn)積累的情況下,才能寫(xiě)出質(zhì)量較高的代碼。一部完善的軟件規(guī)范可以對(duì)程序員的工作起到事半功倍的作用,因此,需要有一套較為完善的軟件編程規(guī)范來(lái)對(duì)程序員的編程行為進(jìn)行約束。
那么,對(duì)于代碼規(guī)范都需要注意哪些方面呢?
1.1 同一項(xiàng)目組中,需要統(tǒng)一的編程規(guī)范
在軟件規(guī)模和大小不斷擴(kuò)大的今天,個(gè)人單打獨(dú)斗完成一個(gè)軟件編碼工作的情況已經(jīng)越來(lái)越少,更多的軟件開(kāi)發(fā)需要以團(tuán)隊(duì)合作的形式完成。這樣就需要在項(xiàng)目開(kāi)發(fā)之前,制定出一套相應(yīng)的規(guī)范,方便程序員之間進(jìn)行交流,在一個(gè)程序員離開(kāi)項(xiàng)目組后,新加入項(xiàng)目組的程序員能夠很快接手工作,進(jìn)行新的功能開(kāi)發(fā)。
在編程規(guī)范的制定當(dāng)中,倘若項(xiàng)目組中之前從未制定編程規(guī)范,那么可以考慮以網(wǎng)上較為成熟的代碼規(guī)范基礎(chǔ),結(jié)合核心程序員的編程習(xí)慣,制定出項(xiàng)目組的編程規(guī)范。這樣既保證了核心程序員不至于因?yàn)榫幊桃?guī)范的大規(guī)模變動(dòng)而影響工作效率,也對(duì)新加入項(xiàng)目組對(duì)員工以及新入職的員工起到了良好的規(guī)范作用。如果項(xiàng)目組公司已有編程規(guī)范,那么則需要對(duì)新入職及新加入項(xiàng)目組的員工進(jìn)行培訓(xùn),以讓新員工盡快將編程規(guī)范運(yùn)用到工作中,在編寫(xiě)代碼的過(guò)程中熟悉和掌握編程規(guī)范。
1.2 命名規(guī)則
變量、方法名、類(lèi)名及接口名稱(chēng)的命名必須清晰明了,能夠讓人很快知道該變量的含義,避免容易被主觀解釋和難懂的名稱(chēng)。類(lèi)似x、y、a1、b1這樣的命名方式,不能讓人很快理解該對(duì)象的含義,應(yīng)盡可能使用于短循環(huán)索引中。
在變量命名時(shí),必須采用英文名稱(chēng)命名變量。推薦在類(lèi)屬性中不要包含類(lèi)名,例如Color.blackColor,應(yīng)該命名為Color.black。
在類(lèi)名、枚舉類(lèi)型、枚舉值、事件、接口、只讀靜態(tài)字、接口、方法、命名空間、屬性中應(yīng)使用Pascal大小寫(xiě)規(guī)則,對(duì)于方法參數(shù)、方法變量應(yīng)采用Camel規(guī)則。
在大小寫(xiě)規(guī)則中在,對(duì)于C#語(yǔ)言最重要的兩個(gè)規(guī)則是Pascal和Camel規(guī)則。Pascal大小寫(xiě)規(guī)則的含義是“將標(biāo)識(shí)符的首字母和后面連接的每個(gè)單詞的首字母都大寫(xiě)”,例如,GetColor();Camel大小寫(xiě)規(guī)則的含義是“標(biāo)識(shí)符的首字母小寫(xiě),而每個(gè)后面連接的單詞的首字母都大寫(xiě)”,例如blackColor。這樣方便開(kāi)發(fā)人員理解變量及類(lèi)名的含義。
對(duì)于ASP頁(yè)面中的ASP控件,命名時(shí)采用控件名簡(jiǎn)寫(xiě)+英文描述的方式進(jìn)行命名,采用Camel規(guī)則進(jìn)行命名,英文描述首字母大寫(xiě),這樣便于區(qū)分控件類(lèi)型,提高代碼的可閱讀性。
1.3 代碼格式
在同一項(xiàng)目中,代碼的編寫(xiě)格式需統(tǒng)一,每行代碼的開(kāi)頭統(tǒng)一縮進(jìn)四個(gè)空格,代碼需要垂直對(duì)齊左大括號(hào)和右大括號(hào),格式如下:
If (x == 0)
{Response.Write("必須輸入用戶(hù)編號(hào)!");}
不允許以下格式出現(xiàn):
If (x == 0) {
Response.Write("必須輸入用戶(hù)編號(hào)!");}
對(duì)于if、while這些控制軟件流程的語(yǔ)句,必須跟隨大括號(hào),這樣不易產(chǎn)生混亂。同時(shí),大括號(hào)需要另起一行,不能與語(yǔ)句并行。
由于一般開(kāi)發(fā)人員所用的電腦顯示器尺寸為17寸4:3比例的顯示器,分辨率為1280*1024像素,因此每行代碼列寬大約控制在110個(gè)字符左右,這樣既基本滿(mǎn)足了Visual Studio開(kāi)發(fā)軟件的布局寬度,又滿(mǎn)足了17寸顯示器在顯示上的需要。在代碼超出規(guī)定列寬后,請(qǐng)?jiān)诙禾?hào)后換行或者這操作符前換行。
為了區(qū)分代碼塊,方法與方法、類(lèi)與類(lèi),以及方法中的邏輯塊之間、類(lèi)的屬性與屬性之間、屬性與方法之間需要增加空行,以方便程序員閱讀和熟悉代碼,在發(fā)現(xiàn)Bug的時(shí)候,也能很快定位到相應(yīng)代碼處進(jìn)行修改。
方法中的關(guān)鍵詞和左括號(hào)、等號(hào)與變量以及賦值結(jié)果都必須以空格隔開(kāi),方法中的每個(gè)參數(shù)除了以逗號(hào)隔開(kāi)外,必須在逗號(hào)后添加一個(gè)空格。。在Visual Studio運(yùn)用較為熟練的情況下,完成方法里的最后一條語(yǔ)句之后,刪除方法的右大括號(hào),然后自己添加一次,所有必須的空格均可由Visual Studio2008/2010自動(dòng)添加。上述方法同樣適用于為ASP頁(yè)面編寫(xiě)的JavaScript函數(shù)。
對(duì)于方法而言,每個(gè)方法最好僅僅完成一項(xiàng)功能。若對(duì)代碼進(jìn)行分層,每層代碼必須僅僅完成一種類(lèi)型的功能。這樣的架構(gòu)不僅滿(mǎn)足了面向?qū)ο缶幊讨谐橄蠛头庋b的概念,也提升了代碼的可閱讀性。每行最多只有一條語(yǔ)句,超過(guò)一條語(yǔ)句會(huì)讓代碼顯得不美觀。對(duì)于方法中代碼的行數(shù),如果是按照某些大公司的要求,每個(gè)方法體中代碼行數(shù)不要超過(guò)40行,但是對(duì)于 C#編程,尤其對(duì)于新入職的員工,很難達(dá)到這一要求,那么也應(yīng)盡量控制代碼的行數(shù),以盡量簡(jiǎn)潔和高效率的代碼完成功能的編寫(xiě)。
對(duì)于新人而言,在編寫(xiě)代碼中很容易犯的一個(gè)錯(cuò)誤是將別人寫(xiě)的代碼移植到自己的代碼中時(shí),會(huì)將與實(shí)現(xiàn)功能不相關(guān)的代碼一起拷貝到自己的文件中,甚至?xí)捎趫?zhí)行不相干的功能而降低后臺(tái)文件運(yùn)行的效率。那么,必須在代碼移植之后,仔細(xì)檢查一遍代碼,若是不必要的功能,需要盡可能的精簡(jiǎn)掉,以免影響代碼效率。
1.4 代碼分層
在軟件規(guī)模不斷擴(kuò)大,開(kāi)發(fā)工作日益加重,尤其是以JAVA、為代表的網(wǎng)絡(luò)編程發(fā)展不斷加快,技術(shù)手段日新月異的今天,軟件代碼分層的重要性不斷體現(xiàn)。軟件架構(gòu)分層不僅提高了代碼的可讀性和優(yōu)雅型,更是大大提高了代碼執(zhí)行效率。
目前,網(wǎng)站開(kāi)發(fā)通用的MVC(Model、View、Controller)架構(gòu)就是一個(gè)很好的分層架構(gòu)例子。在此基礎(chǔ)上,通過(guò)對(duì)Controller層的進(jìn)一步細(xì)化,可將該層分解為頁(yè)面控件控制層(主要是JavaScript函數(shù))、后臺(tái)邏輯層、數(shù)據(jù)庫(kù)訪問(wèn)層、數(shù)據(jù)模型層等架構(gòu),在這其中,頁(yè)面控件控制層控制前臺(tái)頁(yè)面的樣式,通過(guò)WebService調(diào)用后臺(tái)邏輯層的運(yùn)行結(jié)果。后臺(tái)邏輯層通過(guò)調(diào)用數(shù)據(jù)庫(kù)訪問(wèn)層的代碼,獲得從數(shù)據(jù)模型層中返回的操作數(shù)據(jù)庫(kù)結(jié)果。這樣的分層結(jié)果,使得每一層次的代碼只能調(diào)用自己下一層次的方法獲得返回結(jié)果,層層調(diào)用,層次分明,大大提升了代碼的效率和可讀性。
1.5 代碼注釋
代碼注釋是軟件編程中一個(gè)非常重要的問(wèn)題。程序員在編寫(xiě)代碼的過(guò)程中,如果能多花半分鐘編寫(xiě)代碼注釋?zhuān)诤罄m(xù)開(kāi)發(fā)中將大大提高代碼的可讀性和可重用性。
例如,如下一段代碼:
if ( 1 == 1 )
{statement;}
相對(duì)于初學(xué)者或者新加入項(xiàng)目組的程序員來(lái)說(shuō),對(duì)于“1 == 1”這個(gè)判斷條件的理解就會(huì)產(chǎn)生歧義,但是如果在if語(yǔ)句后加上注釋?zhuān)缦滤荆?/p>
if ( 1 == 1 )// always true
通過(guò)注釋語(yǔ)句,明顯可以知道,該判斷條件的意思是每次該語(yǔ)句的判斷結(jié)果均為true,每次程序運(yùn)行至此都將進(jìn)入該判斷語(yǔ)句下的方法體中。
如果是初學(xué)者,在不熟悉代碼注釋格式的情況下,可以考慮采用Visual Studio的Visual Assist X插件來(lái)統(tǒng)一注釋的格式。在日常開(kāi)發(fā)工作中,對(duì)該插件的注釋功能應(yīng)用較多,但是其他功能相對(duì)使用較少。該插件可以自行編輯注釋的格式,也可以對(duì)注釋及代碼拼寫(xiě)進(jìn)行校正。該插件也可以對(duì)Visual Studio的編程界面進(jìn)行更改,讓程序員在工作的時(shí)候更為舒適。
1.6 代碼優(yōu)化
對(duì)于 C#網(wǎng)頁(yè)編程,代碼效率的高低主要體現(xiàn)在循環(huán)語(yǔ)句和分支判斷語(yǔ)句的使用上,尤其體現(xiàn)在數(shù)據(jù)庫(kù)操作和DLL文件的引用調(diào)度上。良好的編程規(guī)范,能夠大大提高代碼的運(yùn)行效率。
對(duì)于循環(huán)語(yǔ)句,需要減少一切不必要的循環(huán)操作。當(dāng)頁(yè)面邏輯完成必要的循環(huán)操作后,如果還未達(dá)到循環(huán)體語(yǔ)句規(guī)定的循環(huán)次數(shù)時(shí),為了減少不必要的服務(wù)器資源消耗,提高頁(yè)面反應(yīng)速度,必須跳出循環(huán)。對(duì)于分支判斷語(yǔ)句,例如if()...else if()...else...以及switch ()...case “xxx”:...,需要將命中次數(shù)較多的條件放在判斷語(yǔ)句序列的前列,命中次數(shù)較少的判斷語(yǔ)句放在判斷序列的末尾。以
上的編程規(guī)范在網(wǎng)站訪問(wèn)量較少的時(shí)候體現(xiàn)不明顯,但是當(dāng)網(wǎng)站的訪問(wèn)用戶(hù)達(dá)到一定數(shù)目之后,將會(huì)對(duì)服務(wù)器負(fù)載產(chǎn)生較大影響。
在完成一套軟件的開(kāi)發(fā)之后,如果有時(shí)間,必須反復(fù)不斷的對(duì)源代碼進(jìn)行重新閱讀和檢查,在檢查過(guò)程中可以不斷發(fā)現(xiàn)源代碼中可以?xún)?yōu)化的部分。提高了軟件效率的同時(shí),也提高了自己的編程水平,積累了更多的經(jīng)驗(yàn),一舉兩得。
2 結(jié)論
總之,上述幾點(diǎn)是我們對(duì)于軟件代碼規(guī)范中的一些小小的看法。對(duì)于編程來(lái)說(shuō),需要不斷地在實(shí)踐中總結(jié)經(jīng)驗(yàn),時(shí)刻將編程規(guī)范運(yùn)用于軟件開(kāi)發(fā)中,通過(guò)實(shí)踐,不斷提高自己的編程水平,養(yǎng)成良好的編程習(xí)慣,提升代碼的運(yùn)行效率,增強(qiáng)代碼的優(yōu)雅性。
參考文獻(xiàn):
[1] 石曉寧.C/C++風(fēng)格軟件的編程規(guī)范與穩(wěn)健性探討[J].雷達(dá)科學(xué)與技術(shù),2005(6):346-349.
[2] 劉洋.編程規(guī)范與交流能力是國(guó)際化嵌入式軟件人才基本素質(zhì)[J].電子設(shè)計(jì)技術(shù),2008(5):143.
日子在彈指一揮間就毫無(wú)聲息的流逝,就在此時(shí)需要回頭總結(jié)之際才猛然間意識(shí)到日子的匆匆。下面是小編給大家整理的關(guān)于程序員試用期工作總結(jié)2022范文,歡迎大家來(lái)閱讀。
程序員試用期工作總結(jié)1光陰如梭,半年的工作轉(zhuǎn)瞬即將成為歷史,伴隨著新年鐘聲的臨近,我們依依惜別碩果累累的20__年,滿(mǎn)懷熱情的迎來(lái)即將到來(lái)的20__年。在這年終之際,現(xiàn)對(duì)來(lái)公司6個(gè)月的試用期里所作的工作匯報(bào)如下:
一、erp項(xiàng)目的編碼工作。
從了解新疆正義項(xiàng)目的背景、及計(jì)劃安排,熟悉正義公司制度及業(yè)務(wù)流程,再到熟悉新能開(kāi)發(fā)模式,之后我根據(jù)需求調(diào)研報(bào)告,從基本的數(shù)據(jù)庫(kù)創(chuàng)建,到編碼,完成了銷(xiāo)售部、生產(chǎn)部、采購(gòu)部、質(zhì)檢部四個(gè)模塊的基本單據(jù)的制單、審核、選單、查詢(xún)、打印等系列的編碼工作;完成了正義項(xiàng)目的模塊測(cè)試及流程測(cè)試。
通過(guò)這段時(shí)間的努力,使我個(gè)人的耐心、細(xì)心程度及對(duì)工作的合理安排得到了鍛煉,學(xué)會(huì)了在繁忙之中找條理,危難之中找希望。同時(shí)自己也有一些不足之處,一些細(xì)節(jié)地方技術(shù)上還不太成熟,還需加以學(xué)習(xí)與鉆研。
二、erp項(xiàng)目的實(shí)施工作。
從十一月初開(kāi)始進(jìn)行正義項(xiàng)目的實(shí)施,每天早起趕在企業(yè)上班前趕到企業(yè)進(jìn)行erp的實(shí)施。實(shí)施期間主要是軟件的安裝實(shí)施及對(duì)企業(yè)的erp系統(tǒng)的使用人員進(jìn)行軟件使用培訓(xùn);紀(jì)錄客戶(hù)使用過(guò)程中出現(xiàn)的問(wèn)題,晚上下班后加班加點(diǎn)將每天的小錯(cuò)誤及客戶(hù)變更修改完畢。
通過(guò)這項(xiàng)工作,使我原本欠缺的業(yè)務(wù)能力得到了很大的提高,并學(xué)到了很多與客戶(hù)交流的技巧及業(yè)務(wù)上的知識(shí),更加明晰了erp系統(tǒng)的流程。但離一個(gè)成功程序開(kāi)發(fā)人員的標(biāo)準(zhǔn)還差得很遠(yuǎn),在今后工作中,定會(huì)多多注意,加以改善。
三、幫助和使用手冊(cè)文檔的編寫(xiě)。
幫助的編寫(xiě)使我熟悉了dreameweaver和fireworks的使用,為后期的oa開(kāi)發(fā)也奠定一定的基礎(chǔ),使用說(shuō)明的編寫(xiě),使我更加加深了項(xiàng)目開(kāi)發(fā)的整體思路與技術(shù)要點(diǎn),總結(jié)了前期開(kāi)發(fā)和實(shí)施中碰到的問(wèn)題,并又一次的對(duì)軟件整體進(jìn)行了測(cè)試,對(duì)暴露出的小bug進(jìn)行了最后的修改。
四、利用工作之余的休息時(shí)間加強(qiáng)學(xué)習(xí)。
平時(shí)注意收集有關(guān)pb方面的資料文件,提高自己的處理新問(wèn)題和解決新問(wèn)題的能力,并加強(qiáng)學(xué)習(xí)java及oa方面的知識(shí)(現(xiàn)轉(zhuǎn)為學(xué)習(xí)),為后期的工作打好基礎(chǔ)。
展望臨近的20__年,我會(huì)更加努力、工作上認(rèn)真負(fù)責(zé),再接再厲,更上一層樓。相信自己會(huì)完成新的任務(wù),能迎接新的挑戰(zhàn)。
程序員試用期工作總結(jié)2我于年_月_日成為本公司技術(shù)部的一名程序員,三個(gè)月的試用期轉(zhuǎn)眼就過(guò)去了。這段我人生中彌足珍貴的經(jīng)歷,給我留下了精彩而美好的回憶。在這段時(shí)間里您們給予了我足夠的關(guān)懷、支持和幫助,讓我充分感受到了領(lǐng)導(dǎo)們海納百川的胸襟,在對(duì)您們肅然起敬的同時(shí),也為我有機(jī)會(huì)成為影響力在線的一員而驚喜萬(wàn)分。
這段時(shí)間,在領(lǐng)導(dǎo)和同事們的關(guān)懷和指導(dǎo)下,我通過(guò)不懈努力,各方面均取得一定的進(jìn)步,現(xiàn)將我的工作情況做如下匯報(bào):
一、通過(guò)理論學(xué)習(xí)和日常工作積累經(jīng)驗(yàn)我的各方面有了很大的進(jìn)步
剛到公司不久,我便開(kāi)始負(fù)責(zé)net方面的網(wǎng)站開(kāi)發(fā)和廣告平臺(tái)開(kāi)發(fā)和維護(hù),剛開(kāi)始的時(shí)候?qū)ξ襾?lái)說(shuō)確實(shí)壓力很大,因?yàn)楦鞣矫娑歼€不熟悉,而且與之前的公司相比,節(jié)奏也有點(diǎn)快,不過(guò)我慢慢的習(xí)慣了環(huán)境,和同事相處的比較融洽,領(lǐng)導(dǎo)對(duì)我也比較關(guān)心,在公司里工作就像是在一個(gè)幸福的大家庭里一樣,我很快喜歡上了這里。
我到公司不久,第一個(gè)項(xiàng)目是___公司網(wǎng)站,做這個(gè)項(xiàng)目的時(shí)候我遇到了幾個(gè)問(wèn)題,我在以前公司做的時(shí)候沒(méi)有在這么短的時(shí)候完成一個(gè)項(xiàng)目的,在效率上提高了我的能力。做這個(gè)項(xiàng)目的時(shí)候我也遇到了許多以前沒(méi)有遇到過(guò)的問(wèn)題,我請(qǐng)教同事和朋友,還有借助網(wǎng)絡(luò)一一解決了難題。
之后,我將b2b廣告招商平臺(tái)進(jìn)行了改版,開(kāi)發(fā)了___智能建站廣告平臺(tái)以及以后網(wǎng)站的維護(hù)工作。
接下來(lái),我又做了一個(gè)比較棘手的項(xiàng)目___在線咨詢(xún)系統(tǒng)。為什么說(shuō)棘手呢,因?yàn)槲乙郧皼](méi)有做過(guò)這方面的項(xiàng)目,而且我問(wèn)遍了所有認(rèn)識(shí)的朋友,搜遍了網(wǎng)絡(luò)也沒(méi)有找到如何解決的方法,之后我翻書(shū)籍,接著搜索網(wǎng)絡(luò)。功夫不負(fù)有心人,終于我找到一個(gè)聊天室的小例子,但是功能差的太遠(yuǎn),于是我把
這個(gè)示例一點(diǎn)點(diǎn)的研究,從一點(diǎn)也不懂到后來(lái)慢慢看懂,從對(duì)aja_技術(shù)一無(wú)所知到基本熟練運(yùn)用。接下來(lái)我就開(kāi)始自己開(kāi)發(fā),到最后終于把它開(kāi)發(fā)了出來(lái),雖然不是很完美,功能不是很強(qiáng)大,但是它是我辛苦的勞動(dòng)結(jié)晶,我相信以后會(huì)把它開(kāi)發(fā)的'更強(qiáng)大,更完美。
二、明確崗位職能,認(rèn)識(shí)個(gè)人技術(shù)能力不足
經(jīng)過(guò)三個(gè)多月的工作,雖然完成了一些項(xiàng)目的開(kāi)發(fā),我的技能也提高了很多,但是感覺(jué)我的技術(shù)還有待提高,所以我會(huì)在以后的工作中更加努力,努力提高自己的技術(shù)和各種不足,努力使自己成為一名稱(chēng)職的職員。
三、提出自己努力計(jì)劃
1、學(xué)無(wú)止鏡,時(shí)代的發(fā)展瞬息萬(wàn)變,各種學(xué)科知識(shí)日新月異。
我將堅(jiān)持不懈地努力學(xué)習(xí)各種技術(shù)知識(shí),并用于指導(dǎo)實(shí)踐。
2、業(yè)精于勤而荒于嬉,在以后的工作中不斷學(xué)習(xí)知識(shí),通過(guò)多看、多學(xué)、多練來(lái)不斷的提高自己的各項(xiàng)技能。
3、不斷鍛煉自己的膽識(shí)和毅力,提高自己解決實(shí)際問(wèn)題的能力,并在工作過(guò)程中慢慢克服急躁情緒,積極、熱情、細(xì)致地的對(duì)待每一項(xiàng)工作。
4、努力提高自己的日常交際能力。
時(shí)光流轉(zhuǎn)間,我已到公司工作三個(gè)多月。非常感謝公司領(lǐng)導(dǎo)對(duì)我的信任,給予我體現(xiàn)自我、提高自我的機(jī)會(huì)。這三個(gè)多月的試用期工作經(jīng)歷,使我的工作能力得到了由校園步入社會(huì)后幅度的提高。
程序員試用期工作總結(jié)3進(jìn)公司以來(lái),本人尊敬領(lǐng)導(dǎo),與同事關(guān)系融洽。為盡快進(jìn)入工作角色,本人自覺(jué)認(rèn)真學(xué)習(xí)本公司、本部門(mén)、本崗位的各項(xiàng)制度、規(guī)則,嚴(yán)格按照公司里制定的工作制度開(kāi)展工作。在這近三個(gè)月的工作和學(xué)習(xí)中,接觸了不少人和事,在為自己的成長(zhǎng)歡欣鼓舞的同時(shí),我也明白自己尚有許多缺點(diǎn)需要改正。工作以來(lái),在領(lǐng)導(dǎo)的教導(dǎo)和培養(yǎng)下,在同事們的關(guān)心和幫助下,自己的思想、工作等各方面都取得了一定的成績(jī),個(gè)人綜合素質(zhì)也得到了一定的提高,現(xiàn)將這三個(gè)月來(lái)的個(gè)人工作情況匯報(bào)如下:
一、工作情況
懷著對(duì)生活的無(wú)限憧憬,我進(jìn)入了__公司。
在試用期的工作中,一方面我嚴(yán)格遵守公司的各項(xiàng)規(guī)章制度,不遲到、不早退、嚴(yán)于律己,自覺(jué)的遵守各項(xiàng)工作制度;另一方面,吃苦耐勞、積極主動(dòng)、努力工作;在完成領(lǐng)導(dǎo)交辦工作的同時(shí),積極主動(dòng)的協(xié)助其他同事開(kāi)展工作,并在工作過(guò)程中虛心學(xué)習(xí)以提高自身各方面的能力;工作細(xì)節(jié)中,我看到公司正逐步做大做強(qiáng),以目前的趨勢(shì),我可以預(yù)見(jiàn)公司將有一個(gè)輝煌的明天。作為新員工,目前我所能做的就是努力工作,讓自己在平凡的崗位上揮灑自己的汗水,煥發(fā)自己的熱情;使自己在基層得到更多的鍛煉。
二、學(xué)習(xí)情況
現(xiàn)在是我努力學(xué)習(xí)的階段。"三人行,必有我?guī)?,公司中的每一位同事都是我的老師,他們的豐富經(jīng)驗(yàn)和工作行為對(duì)于我來(lái)說(shuō)就是一筆寶貴的財(cái)富。記得我剛到公司的時(shí)候,對(duì)生產(chǎn)線上的一切都感到陌生而新奇。因?yàn)槲抑皼](méi)有過(guò)類(lèi)似的工作經(jīng)驗(yàn),所以知道的也有限,但是在領(lǐng)導(dǎo)和同事的的熱心幫助下,我受益頗多。帶著飽滿(mǎn)的工作熱情,我逐漸熟悉了設(shè)備的操作。盡管我只是入門(mén),而且相對(duì)而言年齡要大一點(diǎn),但是我和其他年輕人一樣對(duì)工作充滿(mǎn)著熱情。為盡快提高自己在本職方面的知識(shí)和能力,充分發(fā)揮自己的主觀能動(dòng)性,我利用業(yè)余時(shí)間多和同事交流學(xué)習(xí),在短短三個(gè)月中理論結(jié)合實(shí)踐讓我對(duì)IT技術(shù)有了真正的認(rèn)識(shí),這為今后的工作打下了基礎(chǔ)。
作為新員工,我經(jīng)常思考的問(wèn)題就是如何避免失誤,特別是在試用期間,嚴(yán)謹(jǐn)?shù)墓ぷ鲬B(tài)度決定了自身的工作效率,為此我經(jīng)常向同事請(qǐng)教。
在公司呆了三個(gè)月,我接觸了很多同事,就在接觸他們的同時(shí),我才知道在集體和諧相處是快樂(lè)工作的保證。無(wú)論是社會(huì)還是單位"為人處事"都是一門(mén)高深的學(xué)問(wèn)。對(duì)于這門(mén)高深的學(xué)問(wèn),我目前首要做的是誠(chéng)實(shí)做人、努力工作!
三、思想情況
作為一名新員工,我今后的職業(yè)生涯還很長(zhǎng),學(xué)習(xí)的機(jī)會(huì)還很多。為此我將盡我所能地對(duì)我的工作進(jìn)行開(kāi)拓,做出成績(jī)。為早日實(shí)現(xiàn)目標(biāo),我要求自己:努力工作,保持優(yōu)點(diǎn),改正缺點(diǎn),充分體現(xiàn)自己的人生價(jià)值,為企業(yè)美好的明天盡一份力。我更希望通過(guò)公司全體員工的努力可以把公司推向一個(gè)又一個(gè)的顛峰。
程序員試用期工作總結(jié)420__年2月2日,我有幸成為北京超圖一員,應(yīng)聘為公司的java軟件工程師。入任職以來(lái),在部門(mén)領(lǐng)導(dǎo)的帶領(lǐng)下,自己感覺(jué)無(wú)論學(xué)習(xí)、技術(shù)、生活等方面都有很大的提升。20__年里我主要完成的工作有三方面:
1、荊門(mén)石油石化巡檢系統(tǒng)的調(diào)研和開(kāi)發(fā)。
該項(xiàng)目是我工作以來(lái)第一次涉及到調(diào)研,對(duì)我來(lái)說(shuō)算是一個(gè)不小的挑戰(zhàn)。在調(diào)研過(guò)程中,讓我學(xué)會(huì)了如何通過(guò)和客戶(hù)的溝通來(lái)了解客戶(hù)的需求。由于自己的工作經(jīng)驗(yàn)不足,在調(diào)研工作中體現(xiàn)出一些問(wèn)題。不能很直接的在和客戶(hù)溝通中非常準(zhǔn)確的了解客戶(hù)的更多需求,有很多需要和客戶(hù)交流溝通多次才能明白客戶(hù)的最終需求,也沒(méi)有把自己作為最終用戶(hù)并站在用戶(hù)的角度上來(lái)考慮問(wèn)題,這些都是我在以后的工作中需要提高和改進(jìn)的地方。在巡檢系統(tǒng)的開(kāi)發(fā)工作中,讓我進(jìn)一步鞏固和加強(qiáng)了自己的開(kāi)發(fā)能力。
2、電信12530增值業(yè)務(wù)的開(kāi)發(fā)與維護(hù)。
從5月以來(lái)我就開(kāi)始接手公司的主要業(yè)務(wù)之一,12530電信增值業(yè)務(wù)。由于前面負(fù)責(zé)這個(gè)項(xiàng)目的同事突然離職,導(dǎo)致這個(gè)項(xiàng)目的交接工再做得不夠好,對(duì)我順利接手這個(gè)項(xiàng)目造成很大的困難。而剛一接手這個(gè)項(xiàng)目,馬上就需要新上一個(gè)投票活動(dòng),并要對(duì)一些主要代碼進(jìn)行修改,讓我倍感壓力,幾乎都快放棄。最后在金總的指導(dǎo)和鼓勵(lì)下,順利的完成這次活動(dòng)。在完成這次投票活動(dòng)后,為了避免下一個(gè)接手這個(gè)項(xiàng)目同事與我遇到同樣困難,我第一時(shí)間將這個(gè)項(xiàng)目的相關(guān)技術(shù)文檔補(bǔ)充完全,保證別人能夠順利的進(jìn)行該項(xiàng)目工作。通過(guò)這個(gè)項(xiàng)目,讓我加強(qiáng)了自己在高強(qiáng)高壓下工作的能力,也讓我找到更多自信。
3、襄樊、鄂州家政網(wǎng)絡(luò)服務(wù)中心的開(kāi)發(fā)與實(shí)施。
在這兩個(gè)項(xiàng)目中,除了承擔(dān)開(kāi)發(fā)工作以外,也逐漸涉及到項(xiàng)目管理的職責(zé),讓我在個(gè)人能力上有所提高。為了這兩個(gè)項(xiàng)目能夠順利完成,除了完成自己的工作外,還主動(dòng)關(guān)心其他同事的工作完成情況。讓我在項(xiàng)目管理和項(xiàng)目進(jìn)度的把控能力有很大的提高。將襄樊、鄂州家政網(wǎng)絡(luò)服務(wù)中心順利實(shí)施,為我公司拿下湖北省其他市的家政網(wǎng)絡(luò)服務(wù)中心奠定基礎(chǔ)。在工作之外,我也注重個(gè)人能力的提高。工作之余,主動(dòng)學(xué)習(xí)一些新技術(shù),與同事溝通配合,搭建一個(gè)ssh的開(kāi)發(fā)框架。也學(xué)習(xí)springsecurity知識(shí),這些新知識(shí)的積累,對(duì)我以后的工作有很大幫助。
程序員試用期工作總結(jié)5伴隨著充實(shí)緊湊的工作生活,兩個(gè)月的時(shí)間已經(jīng)過(guò)去了。這一段時(shí)間里有工作上的收獲,知識(shí)的豐富,經(jīng)驗(yàn)的增長(zhǎng),同時(shí)也暴露出很多問(wèn)題和不足。總結(jié)經(jīng)驗(yàn),吸取教訓(xùn),本文將主要從幾個(gè)方面來(lái)對(duì)工作進(jìn)行總結(jié):
工作的主要內(nèi)容;其中的失敗和教訓(xùn)以及成功和經(jīng)驗(yàn);展望下一階段的工作,確定自己的目標(biāo)。以此作為懲前毖后的記錄。
1、工作的主要內(nèi)容
在這兩個(gè)月的工作中,我的總體任務(wù)是協(xié)助同事__做好___礦業(yè)權(quán)管理系統(tǒng)的后期測(cè)試,編碼,修改,文檔編寫(xiě)的工作,分解開(kāi)來(lái)之后,我主要做了三件事:
(1)編寫(xiě)礦業(yè)權(quán)系統(tǒng)的各類(lèi)文檔;
(2)礦業(yè)權(quán)系統(tǒng)的編碼及bug勘誤工作;
(3)礦業(yè)權(quán)系統(tǒng)的測(cè)試工作。
下面依照時(shí)間來(lái)對(duì)我的工作進(jìn)行介紹:
初踏入職場(chǎng),進(jìn)入專(zhuān)業(yè)的軟件制造公司,對(duì)我,一個(gè)沒(méi)有接觸過(guò)標(biāo)準(zhǔn)軟件制作過(guò)程的新人來(lái)說(shuō),起步就是一個(gè)很大的難題。若直接做開(kāi)發(fā),則業(yè)務(wù)不熟練,代碼不規(guī)范,弊大于利;若僅做學(xué)習(xí),則不能跟上項(xiàng)目的步伐,不能以最快的速度融入工作中去。
在我還在忐忑自己到底要做什么工作的時(shí)候,任務(wù)已經(jīng)下達(dá)了,首先進(jìn)行礦業(yè)權(quán)系統(tǒng)的測(cè)試工作。這樣的好處在于能夠在測(cè)試的過(guò)程中,了解項(xiàng)目的整體布局,了解項(xiàng)目中的業(yè)務(wù)邏輯,了解項(xiàng)目中尚未完成的工作并以此作為下個(gè)階段的工作目標(biāo)。至此,入職工作順利起步。
在對(duì)礦業(yè)權(quán)系統(tǒng)進(jìn)行測(cè)試之后,暴露了系統(tǒng)的諸多問(wèn)題,測(cè)試過(guò)程中發(fā)現(xiàn)礦權(quán)系統(tǒng)沒(méi)有進(jìn)行輸入限定,為了解決這個(gè)問(wèn)題需要對(duì)整個(gè)系統(tǒng)的數(shù)據(jù)進(jìn)行整理,我的下一個(gè)任務(wù)就是編寫(xiě)礦業(yè)權(quán)系統(tǒng)的數(shù)據(jù)需求文檔。在編寫(xiě)該文檔的過(guò)程中,對(duì)礦權(quán)系統(tǒng)進(jìn)行了更深入的了解,為之后的bug勘誤工作奠定了一定的基礎(chǔ)。
完成了礦業(yè)權(quán)系統(tǒng)的數(shù)據(jù)需求文檔的編寫(xiě)之后,新的任務(wù)是對(duì)整個(gè)礦權(quán)的輸入數(shù)據(jù)進(jìn)行輸入限定,在任務(wù)開(kāi)始之處是極為困難的,幸而得到了同事們的幫助才得以順利完成任務(wù)。任務(wù)雖然完成,但是對(duì)輸入限定實(shí)現(xiàn)方法的一知半解以及任務(wù)完成過(guò)程中的不仔細(xì),為之后發(fā)生的問(wèn)題也埋下了苦果。
在對(duì)礦業(yè)權(quán)系統(tǒng)添加輸入限定完成之后,進(jìn)入了解決程序小問(wèn)題的階段,對(duì)礦權(quán)系統(tǒng)進(jìn)行細(xì)微的縫補(bǔ)工作。這段時(shí)間是學(xué)習(xí)多于工作的,不同的問(wèn)題督促我要每天和百度親密接觸數(shù)百次,又要?jiǎng)跓┲T位在百忙中的同事抽出時(shí)間來(lái)給我?guī)兔?。雖然辛苦一點(diǎn),但收獲卻是滿(mǎn)滿(mǎn)。
完成了系統(tǒng)的修補(bǔ)之后,我們的程序送到了四惠進(jìn)行第一輪測(cè)試,在測(cè)試的一周里,我主要是補(bǔ)充網(wǎng)絡(luò)編程的基礎(chǔ)知識(shí)。
第一輪測(cè)試結(jié)果出來(lái)之后,我們項(xiàng)目組開(kāi)始了緊張的第一輪礦業(yè)權(quán)系統(tǒng)bug勘誤工作。拿到bug列表之后,發(fā)現(xiàn)有一小半錯(cuò)誤皆是因我而起,輸入限定問(wèn)題很多,我也主動(dòng)承擔(dān)了輸入限定部分的bug勘誤工作。
第一輪bug勘誤工作完成后,進(jìn)行了第一輪了回歸測(cè)試,測(cè)試結(jié)果已然不盡人意,仍然存在大量的問(wèn)題需要修改,而且很多問(wèn)題還是因我而起,輸入限定仍然存在大量問(wèn)題,再一次進(jìn)行修改之后,我們的程序送到了十五所進(jìn)行所檢。
在進(jìn)行所檢之余,我又接到了新的任務(wù),完成礦權(quán)系統(tǒng)的概要設(shè)計(jì)以及詳細(xì)設(shè)計(jì)文檔的編寫(xiě)。這兩份文檔已于9月2號(hào)編寫(xiě)完畢。
現(xiàn)階段我的任務(wù)是根據(jù)所檢的bug列表,對(duì)礦權(quán)系統(tǒng)進(jìn)行回歸測(cè)試。
2、工作中失敗的教訓(xùn)以及成功的經(jīng)驗(yàn)
對(duì)于失敗的教訓(xùn)要吸取,成功的經(jīng)驗(yàn)要進(jìn)行總結(jié)。我對(duì)成功的定義是:在保證質(zhì)量的前提下完成既定的計(jì)劃或目標(biāo)就是成功。其他的所有結(jié)果都是失敗。
成功的經(jīng)驗(yàn):
(1)、敢于接受任務(wù)并想盡一切辦法完成
入職兩個(gè)月的收獲就是敢于接受任務(wù)并想盡辦法完成,每一個(gè)任務(wù)對(duì)于初入職場(chǎng)的我都是一個(gè)挑戰(zhàn),如何保質(zhì)保量完成任務(wù)是最基本的要求。這兩月的成功在于沒(méi)有一次任務(wù)是拖沓的,每次都盡努力完成了任務(wù)。
(2)、勇于承擔(dān)錯(cuò)誤,正視自身的問(wèn)題
在這兩個(gè)月的工作中可謂是錯(cuò)誤不斷,從文檔的錯(cuò)別字這種小問(wèn)題到礦權(quán)系統(tǒng)bug修改不正確導(dǎo)致崩潰這種大錯(cuò)誤,暴露出來(lái)了很多的問(wèn)題,我秉承著有錯(cuò)即改,下不為例的思想,正視自己的錯(cuò)誤并積極改正,因此這也算是一個(gè)成功。
失敗的教訓(xùn):
(1)重視每一個(gè)細(xì)節(jié),不要忽視小問(wèn)題
在最初進(jìn)行礦業(yè)權(quán)系統(tǒng)數(shù)據(jù)需求文檔的編寫(xiě)的過(guò)程中,對(duì)某些頁(yè)面的數(shù)據(jù)在數(shù)據(jù)庫(kù)中沒(méi)有存儲(chǔ)的情況沒(méi)有加以重視,在后期進(jìn)行數(shù)據(jù)限定的時(shí)候,還要重新修改數(shù)據(jù)需求文檔,造成了不必要的時(shí)間浪費(fèi)。從這個(gè)事情上得到教訓(xùn)就是不要放過(guò)任何一個(gè)小問(wèn)題,這個(gè)小問(wèn)題可能導(dǎo)致之后的大問(wèn)題。
(2)進(jìn)行重復(fù)工作也不能大意
在對(duì)礦權(quán)系統(tǒng)進(jìn)行輸入限定的方法熟悉之后,都是重復(fù)性的工作,給每個(gè)頁(yè)面,每個(gè)字段進(jìn)行輸入控制語(yǔ)句的添加,在進(jìn)行了數(shù)個(gè)頁(yè)面之后,出現(xiàn)了有的頁(yè)面沒(méi)有添加完整,或者提示語(yǔ)句不正確的情況,在后續(xù)的bug勘誤中出現(xiàn)了大量此類(lèi)問(wèn)題,浪費(fèi)了大量的時(shí)間和精力修改。從這個(gè)事情上得到的教訓(xùn)就是工作不能大意,重復(fù)性的工作更要完成好。一般重復(fù)性的工作第一次做不好,后續(xù)檢查修改是非常浪費(fèi)時(shí)間的。
(3)考慮問(wèn)題要嚴(yán)謹(jǐn)
在對(duì)礦權(quán)系統(tǒng)bug勘誤的過(guò)程中,對(duì)輸入限定條件的判斷出了問(wèn)題,我想當(dāng)然的按照我的主觀思路對(duì)數(shù)據(jù)進(jìn)行了限定,而在回歸測(cè)試的時(shí)候出了問(wèn)題,這些都是考慮不嚴(yán)謹(jǐn)?shù)暮蠊_@個(gè)事情的教訓(xùn)就是考慮不嚴(yán)謹(jǐn)直接導(dǎo)致問(wèn)題推倒重來(lái),影響了工作效率,而且很容易埋下隱患。
(4)、注重用戶(hù)體驗(yàn)
在礦權(quán)系統(tǒng)bug勘誤的過(guò)程中,修改最多的在于坐標(biāo)系統(tǒng)的提示語(yǔ)句,因?yàn)樽鴺?biāo)系統(tǒng)不僅要求數(shù)據(jù)必須填入,而且每一個(gè)數(shù)據(jù)都有嚴(yán)格的格式限定,因此每一個(gè)錯(cuò)誤提示的彈出都要本著如何讓用戶(hù)知道哪里錯(cuò)了為原則進(jìn)行設(shè)置。在最初的限定里面,語(yǔ)句粗糙,彈出語(yǔ)句不明確,造成了用戶(hù)使用的不方便,還得重新進(jìn)行改造。這個(gè)問(wèn)題的教訓(xùn)是一定要從用戶(hù)的角度出發(fā)考慮問(wèn)題,注重用戶(hù)體驗(yàn)從簡(jiǎn)單的提示語(yǔ)句做起。
3、展望下一階段的工作
下一階段短期內(nèi)我們的工作主要針對(duì)礦權(quán)系統(tǒng)的使用的數(shù)據(jù)庫(kù)變更來(lái)對(duì)我們的系統(tǒng)進(jìn)行修改。我的工作任務(wù)主要是學(xué)習(xí)oracle數(shù)據(jù)庫(kù)和sql數(shù)據(jù)庫(kù)的使用上的區(qū)別,做好從sql數(shù)據(jù)庫(kù)向oracel數(shù)據(jù)庫(kù)的遷移工作。
關(guān)鍵詞:程序設(shè)計(jì)實(shí)踐;素質(zhì)培養(yǎng);學(xué)習(xí)能力培養(yǎng);課程改革
中圖分類(lèi)號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:B
文章編號(hào):1672-5913 (2007) 22-0025-03
1傳統(tǒng)程序設(shè)計(jì)實(shí)踐課程的不足
程序員素質(zhì)的內(nèi)涵很豐富,沒(méi)有統(tǒng)一的標(biāo)準(zhǔn),公認(rèn)包括如下幾個(gè)方面 [1-5]:① 持續(xù)學(xué)習(xí)的能力;② 團(tuán)隊(duì)協(xié)作能力;③ 需求理解能力;④ 文檔習(xí)慣;⑤ 良好的代碼編寫(xiě)風(fēng)格;⑥ 測(cè)試習(xí)慣。
在目前的計(jì)算機(jī)課程體系中,程序設(shè)計(jì)實(shí)踐課程是培養(yǎng)程序員素質(zhì)的一門(mén)關(guān)鍵課程,一般安排在程序語(yǔ)言課程之后,通過(guò)指導(dǎo)學(xué)生動(dòng)手完成一個(gè)設(shè)計(jì)課題來(lái)達(dá)到三個(gè)目標(biāo)。一是讓學(xué)生加深對(duì)編程語(yǔ)言的理解,提高綜合運(yùn)用能力、自學(xué)能力與創(chuàng)新能力;二是讓學(xué)生體驗(yàn)完整的開(kāi)發(fā)過(guò)程,獲得具體的開(kāi)發(fā)經(jīng)驗(yàn);三是訓(xùn)練邏輯思維能力,培養(yǎng)嚴(yán)謹(jǐn)?shù)目茖W(xué)作風(fēng)。在具體的實(shí)踐中該課程存在如下問(wèn)題[4]:
(1) 在學(xué)生的組織上,經(jīng)常是多個(gè)學(xué)生獨(dú)立完成同一個(gè)課題。學(xué)生沒(méi)有被組織起來(lái),相互間的協(xié)作、溝通不夠。
(2) 在課程的選題上,過(guò)于偏重于語(yǔ)法,課題內(nèi)容陳舊,趣味性不強(qiáng),不能引起學(xué)生的興趣與積極性。
(3) 在開(kāi)發(fā)的流程上,教師無(wú)法對(duì)學(xué)生的開(kāi)發(fā)過(guò)程實(shí)施準(zhǔn)確有效的監(jiān)督與控制,編程習(xí)慣、編程風(fēng)格等方面的引導(dǎo)、訓(xùn)練不夠。
(4) 在課題的考核上,評(píng)分以程序最終實(shí)現(xiàn)的功能為主,考核指標(biāo)中缺乏對(duì)文檔、代碼格式等方面的考慮,并且無(wú)法完全杜絕抄襲的發(fā)生。
這些問(wèn)題極大地阻礙了學(xué)生程序員素質(zhì)的培養(yǎng)。針對(duì)這些問(wèn)題,我們結(jié)合教學(xué)的實(shí)際,以提升學(xué)生的程序員素質(zhì)為目標(biāo),以培養(yǎng)學(xué)生的動(dòng)手能力、學(xué)習(xí)能力和創(chuàng)新能力為核心,在組織、選題、流程、考核等方面對(duì)程序設(shè)計(jì)實(shí)踐課程進(jìn)行了改革,取得了較好的成果。
2程序設(shè)計(jì)實(shí)踐課程中程序員素質(zhì)的培養(yǎng)
2.1團(tuán)隊(duì)協(xié)作能力的培養(yǎng)
團(tuán)隊(duì)協(xié)作能力是程序員應(yīng)具備的基本素質(zhì)。我們?cè)谡n程中把學(xué)生分為若干個(gè)小組,每組3~5人。分組時(shí)適當(dāng)參考學(xué)生的實(shí)際能力,避免能力較弱的學(xué)生分在同一組。
每組一個(gè)組長(zhǎng),由老師指定或者學(xué)生推舉產(chǎn)生。組長(zhǎng)應(yīng)當(dāng)具有較好的動(dòng)手能力和奉獻(xiàn)精神,負(fù)責(zé)整個(gè)小組的成員組織以及程序開(kāi)發(fā)的進(jìn)度協(xié)調(diào)。
小組中的每個(gè)成員都要完成一定的編碼量,可以獨(dú)立或者與其他人合作來(lái)完成整個(gè)課題。碰到問(wèn)題時(shí)一起交流、討論,各盡所能,取長(zhǎng)補(bǔ)短。好的思路可以被整個(gè)團(tuán)隊(duì)共享。
實(shí)踐證明,這種組織方式一方面培養(yǎng)了學(xué)生的責(zé)任感,提高了團(tuán)隊(duì)協(xié)作能力,另一方面也有利于課題的進(jìn)展,減少了被難題卡住的可能性。對(duì)教師來(lái)說(shuō),這種方式部分減輕了對(duì)學(xué)生個(gè)體的答疑工作量,使教師能把更多的精力放在程序設(shè)計(jì)的整體指導(dǎo)上。
2.2學(xué)習(xí)能力的培養(yǎng)
由于采取了小組模式,多人合作來(lái)共同完成一個(gè)任務(wù),因此可以選擇相對(duì)較大的課題。從培養(yǎng)學(xué)習(xí)能力的角度出發(fā),選題時(shí)我們考慮了如下幾個(gè)方面:
(1) 由于程序設(shè)計(jì)教學(xué)是編程語(yǔ)言教學(xué)的進(jìn)一步深入,因此對(duì)編程語(yǔ)言中的一些語(yǔ)法難點(diǎn)進(jìn)行了有意識(shí)的強(qiáng)化,包括動(dòng)態(tài)內(nèi)存管理、文本菜單、文件操作、鏈表操作、高級(jí)指針、排序查找算法等,以夯實(shí)學(xué)生的理論基礎(chǔ)。
(2) 選題時(shí)注意實(shí)用性與趣味性,并盡量與學(xué)生的專(zhuān)業(yè)相結(jié)合,以提高學(xué)生參與的積極性與主動(dòng)性。
(3) 選題時(shí)注意新穎性,一方面提高了學(xué)生的興趣,另一方面也能避免從網(wǎng)上搜到現(xiàn)成的代碼。
(4) 課題具有一定的伸縮性,每個(gè)課題都設(shè)置了一些選做的功能,以滿(mǎn)足不同層次的學(xué)生。鼓勵(lì)水平高的學(xué)生完成較多的功能以及對(duì)功能的合理擴(kuò)展。
(5) 為了培養(yǎng)學(xué)生的自學(xué)能力,出題時(shí)布置了一些超出課本范圍的內(nèi)容,如一些函數(shù)(數(shù)學(xué)函數(shù)、延時(shí)函數(shù)、發(fā)音函數(shù)、隨機(jī)函數(shù)等)的使用以及界面的設(shè)計(jì)等。
(6) 鼓勵(lì)學(xué)生自己提出符合上述要求的新課題,以進(jìn)一步提高學(xué)生參與的積極性。
表1是我校近年來(lái)老師與學(xué)生所設(shè)計(jì)的部分課題,涉及體育、專(zhuān)業(yè)、娛樂(lè)等多個(gè)方面。實(shí)踐證明,課題的多樣性擴(kuò)大了知識(shí)點(diǎn)的覆蓋面,提升了學(xué)生的參與熱情,保證了程序設(shè)計(jì)實(shí)踐課程的質(zhì)量,促進(jìn)了學(xué)生學(xué)習(xí)能力的培養(yǎng)。
表1 我校近年老師與學(xué)生所設(shè)計(jì)的部分課題
2.3分析設(shè)計(jì)、編程風(fēng)格、文檔習(xí)慣等多種能力的綜合培養(yǎng)
學(xué)生的動(dòng)手能力是通過(guò)開(kāi)發(fā)實(shí)踐鍛煉出來(lái)的。對(duì)開(kāi)發(fā)過(guò)程實(shí)施積極有效的控制干預(yù),是實(shí)現(xiàn)培養(yǎng)目標(biāo)的關(guān)鍵。我們?cè)谡n題進(jìn)程中實(shí)施組長(zhǎng)監(jiān)督與教師引導(dǎo)的二級(jí)管理,注意培養(yǎng)學(xué)生的多種能力,并在不同階段各有側(cè)重。具體如表2所示。傳統(tǒng)的程序設(shè)計(jì)實(shí)踐課程對(duì)編碼、調(diào)試能力強(qiáng)調(diào)較多,這里不再詳述,下面討論其他幾種能力的培養(yǎng)。
表2 課題實(shí)施各階段能力培養(yǎng)的側(cè)重點(diǎn)
(1) 分析能力與設(shè)計(jì)能力
對(duì)于剛學(xué)完編程語(yǔ)言的學(xué)生,這兩個(gè)方面不宜提過(guò)高的要求。我們?cè)谶@兩個(gè)階段與學(xué)生進(jìn)行較多的交互與指導(dǎo),使學(xué)生能明確課題的功能需求與性能需求,學(xué)會(huì)正確表達(dá)程序設(shè)計(jì)的思路。通過(guò)對(duì)這兩種能力的培養(yǎng),可以讓學(xué)生了解自己的任務(wù)在整個(gè)課題中的地位,并建立初步的軟件工程觀念。
(2) 編程風(fēng)格
在現(xiàn)代軟件開(kāi)發(fā)中,良好的編程風(fēng)格不僅有助于代碼的移植和糾錯(cuò),也有助于不同技術(shù)人員之間的協(xié)作。我們參考了一些知名軟件公司的開(kāi)發(fā)規(guī)范,從變量命名、注釋、空行、縮進(jìn)格式等方面對(duì)學(xué)生進(jìn)行簡(jiǎn)單的引導(dǎo)與訓(xùn)練,幫助學(xué)生培養(yǎng)良好的編程風(fēng)格,以適應(yīng)將來(lái)社會(huì)的需求。
(3) 測(cè)試習(xí)慣
測(cè)試是軟件工程質(zhì)量保證的重要環(huán)節(jié)。在課題的實(shí)施中,我們要求學(xué)生掌握一定的測(cè)試方法,并養(yǎng)成及時(shí)測(cè)試的習(xí)慣,每編完一個(gè)函數(shù)都要進(jìn)行測(cè)試。這樣做既能提高學(xué)生的查錯(cuò)能力,也能幫助學(xué)生樹(shù)立的軟件產(chǎn)品質(zhì)量保障的觀念。
(4) 文檔習(xí)慣
文檔是軟件產(chǎn)品的重要組成部分。一些知名的軟件公司要求員工必須將30%以上的工作時(shí)間用于編寫(xiě)技術(shù)文檔。我們對(duì)此也予以充分重視,要求學(xué)生在各個(gè)階段都進(jìn)行文檔的記錄,包括分析方案、設(shè)計(jì)方案、每天的開(kāi)發(fā)進(jìn)度、總結(jié)報(bào)告等。對(duì)于學(xué)生來(lái)說(shuō),這樣做可以培養(yǎng)良好的習(xí)慣。對(duì)于教師來(lái)說(shuō),可以通過(guò)這些文檔掌握課題進(jìn)度,及時(shí)進(jìn)行干預(yù),并且這些文檔也是最后評(píng)分的重要依據(jù)之一。
(5) 自學(xué)能力
自學(xué)能力是創(chuàng)新能力的基礎(chǔ)。我們?cè)谡n題實(shí)施中,強(qiáng)調(diào)發(fā)揮學(xué)生的主觀能動(dòng)性。布置課題時(shí),提供了一些網(wǎng)站、工具書(shū)和論壇供學(xué)生參考。學(xué)生遇到問(wèn)題時(shí),教師以引導(dǎo)和提示為主,一般不直接提供答案。從而使得整個(gè)過(guò)程成為學(xué)生主動(dòng)求知、探索的過(guò)程。
2.4全方面的考核
為了最大程度的杜絕抄襲現(xiàn)象,在課題結(jié)束時(shí),我們要求每個(gè)學(xué)生進(jìn)行答辯,介紹自己的作品和工作。成績(jī)的評(píng)定在綜合多個(gè)方面之后給出,主要的指標(biāo)體系包括如下幾個(gè)方面:
(1) 程序方面,從功能的實(shí)現(xiàn)與代碼的風(fēng)格兩個(gè)角度來(lái)進(jìn)行評(píng)價(jià)。
(2) 文檔方面,從文檔的質(zhì)量、數(shù)量以及報(bào)告的內(nèi)容來(lái)綜合評(píng)價(jià)。
(3) 團(tuán)隊(duì)協(xié)作方面,主要評(píng)價(jià)個(gè)人在團(tuán)隊(duì)的作用,包括個(gè)人工作在課題中的比重,與他人的合作情況等。
(4) 答辯表現(xiàn),包括PPT的制作和問(wèn)題的回答情況等。
通過(guò)以上這些方面,能夠?qū)W(xué)生進(jìn)行比較全面、公正的評(píng)價(jià)。
3比較
程序設(shè)計(jì)實(shí)踐課程改革前后的比較如表3所示。從表中可以看出,新的實(shí)踐課程能夠保證課程質(zhì)量,全面提高學(xué)生各方面的能力。學(xué)生的反響也比較好,不少學(xué)生在總結(jié)報(bào)告中表示“得到了很大的鍛煉”、“受益匪淺”、“找到了編程的樂(lè)趣”。
表3 程序設(shè)計(jì)實(shí)踐課程改革前后的比較
4結(jié)束語(yǔ)
合格的軟件人員是我國(guó)信息化進(jìn)程中的中堅(jiān)力量。為了培養(yǎng)符合社會(huì)需求的軟件人才,我們進(jìn)行了一定的探索。我們的程序設(shè)計(jì)實(shí)踐課程注意發(fā)揮學(xué)生的主動(dòng)性,注重對(duì)學(xué)生程序員素質(zhì)的培養(yǎng),因而取得了比較顯著的成效。這也是一個(gè)值得深入探討的課題,我們將繼續(xù)進(jìn)行研究,以期能進(jìn)一步提高效果。
參考文獻(xiàn)
[1] 教育部計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)教學(xué)指導(dǎo)分委員會(huì). 中國(guó)計(jì)算機(jī)本科專(zhuān)業(yè)發(fā)展戰(zhàn)略研究報(bào)告[R]. 中國(guó)大學(xué)教學(xué), 2005, 5:7-10.
[2] Gerald Weinberg. The Psychology of Computer Programming: Silver Anniversary Edition [M]. New York: DORSET HOUSE Publishing Company, 2003
[3] Andrew Hunt, David Thomas. The Pragmatic Programmer: From Journeyman to Master [M]. New York: Addison Wesley Publishing Company, 1999
[4] 李曉明, 陳平, 張銘, 朱敏悅. 關(guān)于計(jì)算機(jī)人才需求的調(diào)研報(bào)告[J]. 計(jì)算機(jī)教育,2004,(8):11-18.
[5] 梁肇新. 編程高手箴言[M]. 北京:電子工業(yè)出版社, 2003.
作者簡(jiǎn)介
郭劍(1978-),男,講師,南京郵電大學(xué)計(jì)算機(jī)軟件基礎(chǔ)教學(xué)中心,主要研究方向?yàn)檠莼?jì)算、計(jì)算機(jī)在通信中的應(yīng)用。
朱立華(1970-),女,副教授,南京郵電大學(xué)計(jì)算機(jī)軟件基礎(chǔ)教學(xué)中心主任,主要研究方向?yàn)橛?jì)算機(jī)軟件。
【關(guān)鍵詞】教學(xué)模式;行動(dòng)導(dǎo)向;五位一體
【中圖分類(lèi)號(hào)】G640
【文獻(xiàn)標(biāo)識(shí)碼】A
【文章編號(hào)】1672—5158(2012)10-0034-01
一、課程定位
《SQL Server 2005數(shù)據(jù)庫(kù)設(shè)計(jì)》是軟件技術(shù)專(zhuān)業(yè)的一門(mén)核心課程。是軟件技術(shù)專(zhuān)業(yè)培養(yǎng)方向中,JAVA程序員、NET程序員、數(shù)據(jù)庫(kù)管理員、信息系統(tǒng)管理員、軟件測(cè)試員等所必須掌握的數(shù)據(jù)庫(kù)知識(shí)學(xué)習(xí),重在培養(yǎng)學(xué)生對(duì)SQL Server2005數(shù)據(jù)庫(kù)的操縱與設(shè)計(jì)的能力。開(kāi)設(shè)于新生入學(xué)第一學(xué)期,后續(xù)課程有C#程序設(shè)計(jì)、ASENET程序設(shè)計(jì)、JAVA程序設(shè)計(jì)、J2EE程序設(shè)計(jì)、ORACLE數(shù)據(jù)庫(kù)設(shè)計(jì)等。它對(duì)后續(xù)兩線課程都起著重要的支撐作用。是一門(mén)處于重要地位的職業(yè)基礎(chǔ)課程。
二、課程設(shè)計(jì)的整體思路
課程以企業(yè)用人為依據(jù)、以提升職業(yè)能力為目標(biāo),針對(duì)崗位群所需解決的工作任務(wù)為導(dǎo)向進(jìn)行基于工作過(guò)程的課程開(kāi)發(fā)。按照由簡(jiǎn)單到復(fù)雜分劃分為7個(gè)學(xué)習(xí)情境,數(shù)據(jù)庫(kù)基礎(chǔ)、安裝與配置、基本操作入門(mén)、數(shù)據(jù)庫(kù)編程、數(shù)據(jù)庫(kù)高級(jí)操作、前臺(tái)語(yǔ)言訪問(wèn)后臺(tái)數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)綜合設(shè)計(jì)。每個(gè)學(xué)習(xí)情境又根據(jù)工作任務(wù)的獨(dú)立和先后連貫性分解為子情境,每個(gè)學(xué)習(xí)情境或子情境下對(duì)應(yīng)一個(gè)或多作實(shí)訓(xùn)任務(wù)。即全程共有18實(shí)訓(xùn)任務(wù),3個(gè)綜合實(shí)訓(xùn)任務(wù)。而且隨著課程的深入將會(huì)出現(xiàn)新的項(xiàng)目載體如(圖書(shū)館管理系統(tǒng)),以培養(yǎng)學(xué)生對(duì)非教學(xué)過(guò)程中的數(shù)據(jù)庫(kù)進(jìn)行操作和設(shè)計(jì)的能力,直至數(shù)據(jù)庫(kù)綜合設(shè)計(jì)階段,將會(huì)出現(xiàn)更多個(gè)實(shí)際項(xiàng)目載體,通過(guò)組建項(xiàng)目開(kāi)發(fā)團(tuán)隊(duì),要求學(xué)生通過(guò)分工配合,完成對(duì)項(xiàng)目的需求分析,系統(tǒng)功能的確定,并能根據(jù)功能和業(yè)務(wù)規(guī)則對(duì)所選項(xiàng)目的數(shù)據(jù)庫(kù)進(jìn)行分析與設(shè)計(jì)。培養(yǎng)學(xué)生的職業(yè)能力、職業(yè)意識(shí),從而為實(shí)現(xiàn)與就業(yè)崗位“零距離”奠定良好的基礎(chǔ)。
三、課程教學(xué)的組織與實(shí)施
1、教學(xué)模式的探索
在教學(xué)中盡可能本著突出職業(yè)導(dǎo)向,以學(xué)生為主體,突出能力訓(xùn)練為原則,在教學(xué)、教改中慢慢摸索、不斷實(shí)驗(yàn),總結(jié)出了該門(mén)課程的教學(xué)組織模式:基于行動(dòng)導(dǎo)向的教、學(xué)、做、訓(xùn)、評(píng)合一的一體化教學(xué)模式。實(shí)現(xiàn)了課上有考核,課下有任務(wù)訓(xùn)練的新的高職教育評(píng)價(jià)要求。在實(shí)際運(yùn)作中教學(xué)環(huán)節(jié)分為五大步驟:即預(yù)習(xí)與探究——做與導(dǎo)——查與訓(xùn)——考與評(píng)——鞏固與拓展。
單元課程中,由于在網(wǎng)絡(luò)機(jī)房授課,一人一機(jī),借助凌波多媒體教學(xué)軟件,不但可以充分實(shí)現(xiàn)在做中學(xué),在學(xué)中教,增加了訓(xùn)(查與訓(xùn))、評(píng)(考與評(píng))環(huán)節(jié),即實(shí)現(xiàn)了在做中訓(xùn)、在訓(xùn)中考,在考中評(píng)。不但實(shí)現(xiàn)了“教學(xué)做合一”,而且能達(dá)“教、學(xué)、做、訓(xùn)、評(píng)五位一體”。
2、教學(xué)方法和手段的運(yùn)用
示范法、分組法、鼓勵(lì)法、討論法、對(duì)比法,典型案例法、設(shè)問(wèn)法將貫穿整個(gè)課程單元教學(xué)之中。但是對(duì)于不同的學(xué)習(xí)情境的學(xué)習(xí),為能夠突出重點(diǎn),突破難點(diǎn),培養(yǎng)學(xué)生各方面能力可恰當(dāng)選用行動(dòng)導(dǎo)向的教學(xué)方法,除了學(xué)習(xí)情境1-6,采用了任務(wù)驅(qū)動(dòng)、項(xiàng)目引領(lǐng)教學(xué)法外,學(xué)習(xí)情境7綜合數(shù)據(jù)庫(kù)設(shè)計(jì)主要采用情境模擬法。
在軟件行業(yè),一個(gè)項(xiàng)目的開(kāi)發(fā),是由一個(gè)軟件開(kāi)發(fā)團(tuán)隊(duì)共同配合完成的。在該門(mén)課最后一個(gè)情境一一數(shù)據(jù)庫(kù)綜合設(shè)計(jì)中模擬實(shí)際職業(yè)工作進(jìn)行教學(xué),在學(xué)生中構(gòu)建多個(gè)項(xiàng)目開(kāi)發(fā)團(tuán)隊(duì),進(jìn)行角色分配。如項(xiàng)目經(jīng)理,項(xiàng)目助理,程序員(即對(duì)應(yīng)組長(zhǎng)、副組長(zhǎng),成員)組織教學(xué)和實(shí)施,在項(xiàng)目總監(jiān)(教師)的調(diào)控、監(jiān)督指導(dǎo)下,各項(xiàng)目組成員分工配合,共完成一個(gè)管理信息系統(tǒng)的需求分析任務(wù),并進(jìn)行數(shù)據(jù)庫(kù)分析與設(shè)計(jì)工作。在這個(gè)過(guò)程中,不但讓學(xué)生對(duì)課程的教學(xué)內(nèi)容有一個(gè)全面的復(fù)習(xí)、鞏固和提高,同時(shí)會(huì)培養(yǎng)學(xué)生進(jìn)行數(shù)據(jù)庫(kù)的分析與設(shè)計(jì)能力,初步體會(huì)軟件開(kāi)發(fā)工作中的最重要的一部分(需求分析所做的工作),也能讓學(xué)生在學(xué)校的環(huán)境氛圍中對(duì)自己未來(lái)的職業(yè)崗位有一個(gè)比較具體的、綜合性的理解,有利于學(xué)生全面職業(yè)素質(zhì)的提高。為了保障這一環(huán)節(jié)順利實(shí)施,效果有保證,教改組制定了多項(xiàng)規(guī)章,并形成文件,如《項(xiàng)目小組劃分原則》文件、《各崗位職責(zé)》文件、《項(xiàng)目驗(yàn)收與答辯要求》文件和一系列的過(guò)程監(jiān)控文件和激勵(lì)辦法等,使學(xué)生在團(tuán)結(jié)協(xié)作中收獲了知識(shí)、積累了經(jīng)驗(yàn)、提高了動(dòng)手能力、增強(qiáng)了就業(yè)力。但學(xué)生模擬實(shí)際工作中也難免會(huì)暴露一些個(gè)人弱點(diǎn),如膽小,協(xié)調(diào)能力較差、團(tuán)隊(duì)意識(shí)較弱等。但最終在老師和同學(xué)的幫助下能夠意識(shí)到不足,并加以改正,最后同樣收獲了成功和喜悅。
四、實(shí)踐教學(xué)效果
課程組的授課教師,經(jīng)驗(yàn)豐富、技能嫻熟、加之以德高身正,教學(xué)方法得當(dāng),深受學(xué)生愛(ài)戴和好評(píng)。在院、系舉行的《sQLSever2005數(shù)據(jù)庫(kù)設(shè)計(jì)》公開(kāi)教學(xué)中曾多次得到學(xué)院督導(dǎo)處、教務(wù)處領(lǐng)導(dǎo)及系部老師的一致肯定,曾獲“一創(chuàng)新、二特色、三突出”好課的評(píng)價(jià);學(xué)生項(xiàng)目小組在此門(mén)課的學(xué)習(xí)后結(jié)合一門(mén)開(kāi)發(fā)語(yǔ)言,開(kāi)發(fā)設(shè)計(jì)了多項(xiàng)小型的應(yīng)用管理系統(tǒng)軟件,和網(wǎng)站。本課程的精品課程申報(bào)網(wǎng)站和網(wǎng)絡(luò)課堂,就是項(xiàng)目小組同學(xué)第三學(xué)期的一項(xiàng)作品。課題組老師曾帶領(lǐng)學(xué)生多次參加各類(lèi)省級(jí)職業(yè)技能大賽榮獲一、二等獎(jiǎng)。
五、課程特色
1、教學(xué)模式有特色
《SQL Server 2005數(shù)據(jù)庫(kù)設(shè)計(jì)》采用了基于行動(dòng)導(dǎo)向的教學(xué)模式,且實(shí)現(xiàn)了教、學(xué)、做、訓(xùn)、評(píng)五位合一。形成師生之間的良性互動(dòng),增強(qiáng)了教學(xué)效果,學(xué)生活學(xué)活用的能力充分展示出來(lái),培養(yǎng)了學(xué)生的創(chuàng)新能力。
2、教學(xué)方法有特色
課堂教學(xué)使用的教學(xué)方法中,任務(wù)驅(qū)動(dòng)法、情境模擬法、項(xiàng)目引領(lǐng)法都是屬于行動(dòng)導(dǎo)向教學(xué)法。其中情境模擬法,輕松實(shí)現(xiàn)了企業(yè)工作環(huán)境與課堂教學(xué)環(huán)境的高度融合,實(shí)現(xiàn)與就業(yè)零對(duì)接。如今黑龍江農(nóng)墾職業(yè)學(xué)院軟件技術(shù)專(zhuān)業(yè)其他課程也正借鑒此教改成果,在教學(xué)中逐步推廣和使用。
3、教學(xué)手段有特色
課程的教學(xué)課件均使用思維導(dǎo)圖軟件(Mind Manager)制作,結(jié)構(gòu)清晰,動(dòng)感性強(qiáng)。使學(xué)生的思維緊密跟隨著教師,同又有思維的發(fā)散,開(kāi)發(fā)鍛煉了學(xué)生的右腦機(jī)能。在線考試系統(tǒng)和網(wǎng)絡(luò)課堂的開(kāi)發(fā)實(shí)現(xiàn)了教學(xué)同步,提高了效率,也為學(xué)生業(yè)余自學(xué)提供了保障。
1 需求分析,目標(biāo)確定
本培訓(xùn)課程的培訓(xùn)目標(biāo)為:培訓(xùn)后,項(xiàng)目經(jīng)理能在合同規(guī)定時(shí)間(合理)內(nèi),交付完全達(dá)到合同條款并且客戶(hù)簽署驗(yàn)收合同的項(xiàng)目,能夠上線使用。
培訓(xùn)對(duì)象:網(wǎng)站開(kāi)發(fā)門(mén)戶(hù)類(lèi)項(xiàng)目項(xiàng)目經(jīng)理經(jīng)理。
關(guān)于培訓(xùn)的必要性和實(shí)用性分析:
項(xiàng)目經(jīng)理的培訓(xùn)如果使用課外讀書(shū)方式在快節(jié)奏的工作中很難保證。據(jù)我在此公司兩個(gè)月的觀察中發(fā)現(xiàn),幾乎所有的項(xiàng)目經(jīng)理都會(huì)存在加班現(xiàn)象,甚至加班時(shí)間可以到周末。一旦所屬項(xiàng)目在本周之內(nèi)上線,那么項(xiàng)目經(jīng)理和后端程序員就必須全程監(jiān)控項(xiàng)目的上線使用情況,一旦發(fā)現(xiàn)問(wèn)題就要及時(shí)修改,這就不可避免的造成了加班。一位項(xiàng)目經(jīng)理很可能負(fù)責(zé)3-5個(gè)項(xiàng)目的跟進(jìn),當(dāng)然,其中或許只有一個(gè)項(xiàng)目在制作中,其他項(xiàng)目則可能停留在試用期階段,一旦項(xiàng)目在試用期出現(xiàn)使用問(wèn)題,項(xiàng)目經(jīng)理就要協(xié)調(diào)更改。如上所述,項(xiàng)目經(jīng)理的個(gè)人休息時(shí)間將會(huì)非常有限,很難用強(qiáng)制措施對(duì)其進(jìn)行讀書(shū)的要求,提升其個(gè)人素質(zhì)。而我將這次培訓(xùn)設(shè)置為為期一周的課程,課程每天進(jìn)行三小時(shí),總學(xué)時(shí)為15個(gè)小時(shí),項(xiàng)目經(jīng)理可以在等待程序員和設(shè)計(jì)人員的工作的空閑時(shí)間進(jìn)行課程培訓(xùn)。
項(xiàng)目經(jīng)理是作為承上啟下的作用的中堅(jiān)力量,項(xiàng)目經(jīng)理在項(xiàng)目的開(kāi)發(fā)過(guò)程中,是全部工程的總負(fù)責(zé)人,具體組織和領(lǐng)導(dǎo)項(xiàng)目的動(dòng)態(tài)管理以及各個(gè)要素的優(yōu)化配置和組合,確保在低于公司預(yù)算情況下圓滿(mǎn)完成本項(xiàng)目,達(dá)到驗(yàn)收合格水平。
2 學(xué)習(xí)者和環(huán)境分析
[信息類(lèi)型\&數(shù)據(jù)來(lái)源\&學(xué)習(xí)者特征\&1.入門(mén)技能\&調(diào)查和訪談:
人事經(jīng)理,某項(xiàng)目經(jīng)理(對(duì)人事部門(mén)的詢(xún)問(wèn)和面試時(shí)的從旁觀摩)\&應(yīng)用環(huán)境:學(xué)習(xí)者已經(jīng)具備了撰寫(xiě)項(xiàng)目進(jìn)度計(jì)劃表和詳細(xì)了解開(kāi)發(fā)時(shí)長(zhǎng)的能力
學(xué)習(xí)環(huán)境:學(xué)習(xí)者有極強(qiáng)的小組協(xié)作和溝通能力。\&2.對(duì)該領(lǐng)域已有的知識(shí)\&訪談:
項(xiàng)目經(jīng)理\&應(yīng)用環(huán)境:學(xué)習(xí)者面對(duì)實(shí)際項(xiàng)目時(shí),缺少案例經(jīng)驗(yàn),缺少應(yīng)急策略,缺少應(yīng)對(duì)方案
學(xué)習(xí)環(huán)境:學(xué)習(xí)者具備應(yīng)急時(shí)沉著的心理素質(zhì),具備有余地的說(shuō)話(huà)藝術(shù)\&3.對(duì)內(nèi)容的態(tài)度和教學(xué)傳遞系統(tǒng)的態(tài)度\&調(diào)查和訪談:
項(xiàng)目經(jīng)理\&學(xué)習(xí)者對(duì)提升自己的問(wèn)題解決能力和增長(zhǎng)典型案例經(jīng)驗(yàn)的課程內(nèi)容有較大興趣,對(duì)于小組和課堂的模擬教學(xué)已經(jīng)習(xí)慣\&4.學(xué)習(xí)動(dòng)機(jī)(ARCS)\&調(diào)查和訪談:
項(xiàng)目經(jīng)理\&學(xué)習(xí)者對(duì)提升自己的問(wèn)題解決能力和增長(zhǎng)典型案例經(jīng)驗(yàn)的課程內(nèi)容需求很強(qiáng)烈,\&5.學(xué)業(yè)能力水平\&調(diào)查和訪談:
人事職員,項(xiàng)目經(jīng)理\&受教育水平:學(xué)習(xí)者大部分為高校或高職的畢業(yè)生,有基本的知識(shí)儲(chǔ)備和學(xué)習(xí)素質(zhì)
能力水平:項(xiàng)目經(jīng)理的交際能力經(jīng)過(guò)招聘的面試可以保證一致性\&6.學(xué)習(xí)偏好\&調(diào)查和訪談:
項(xiàng)目經(jīng)理\&學(xué)習(xí)者喜歡進(jìn)行小組討論和角色扮演,進(jìn)行團(tuán)隊(duì)間的溝通交流,因?yàn)槌蔀橐幻麅?yōu)秀的項(xiàng)目經(jīng)理是他們的目標(biāo),也是能夠被錄用的前提。\&7.對(duì)培訓(xùn)機(jī)構(gòu)的態(tài)度\&調(diào)查和訪談:
項(xiàng)目經(jīng)理\&學(xué)習(xí)者對(duì)于外聘的培訓(xùn)教師有質(zhì)疑,對(duì)于能否獲得實(shí)用技能持懷疑態(tài)度。
對(duì)于這種培訓(xùn)的結(jié)果并不是都十分看好,有人認(rèn)為會(huì)浪費(fèi)時(shí)間和精力\&8.群體特征
a.異質(zhì)程度
b.規(guī)模
c.整體印象\&調(diào)查和訪談:
項(xiàng)目經(jīng)理\&異質(zhì)程度:學(xué)習(xí)者的學(xué)歷大致相同,學(xué)校水平和學(xué)習(xí)力有一定差異,來(lái)自不同的省市,文化差異會(huì)較大
規(guī)模:培訓(xùn)規(guī)模保持在10人左右,因?yàn)閷W(xué)習(xí)者仍然肩負(fù)一定工作任務(wù),仍然有2/3的員工是在崗狀態(tài),否則會(huì)引起工作人員不足的情況\&]
3 編寫(xiě)績(jī)效目標(biāo)
3.1 利害關(guān)系人分析
本部分不贅述全部績(jī)效目標(biāo)的編寫(xiě)。
a) 能夠畫(huà)出利害關(guān)系者與企業(yè)影響關(guān)系表。
3.2 項(xiàng)目成本管理
A. 項(xiàng)目成本管理
學(xué)生能夠畫(huà)出如下的按類(lèi)別的成本管理,所屬子項(xiàng)可以給出,學(xué)生能夠從給出的子項(xiàng)列表中選擇出來(lái)分別放入類(lèi)別中。
B. 項(xiàng)目生命周期
a) 學(xué)生能夠指出項(xiàng)目生命周期分為哪三個(gè)階段,并能說(shuō)出每個(gè)階段成本的具體內(nèi)容
b) 指出在生命周期中成本控制的核心階段是哪里?每個(gè)階段可以控制的部分有哪些?
c) 能夠畫(huà)出如下表所示的階段成本表格
[成本\&項(xiàng)目決策成本\&人員工資成本\&現(xiàn)場(chǎng)支持服務(wù)成本\&項(xiàng)目投標(biāo)費(fèi)用\&差旅成本\&通訊服務(wù)成本\&\&軟硬件成本\&差旅成本\&]
d) 根據(jù)詳細(xì)的階段成本明細(xì)表會(huì)用掙值法計(jì)算出各個(gè)階段的計(jì)劃成本,能夠在項(xiàng)目的進(jìn)行,因?yàn)轫?xiàng)目某一方的需求變化引起成本變動(dòng)時(shí)不斷地修改計(jì)算計(jì)劃成本
e) 到最后項(xiàng)目結(jié)項(xiàng)是,能夠計(jì)算出掙值=計(jì)劃值-實(shí)際值,通過(guò)掙值法對(duì)成本進(jìn)行管理
4 開(kāi)發(fā)教學(xué)策略
對(duì)于利害關(guān)系人分析的開(kāi)發(fā)策略,步驟如下:
4.1 計(jì)劃教學(xué)前、評(píng)測(cè)和增強(qiáng)活動(dòng)
4.2計(jì)劃內(nèi)容呈現(xiàn)和學(xué)生參與
2. 對(duì)于支持性利害關(guān)系人應(yīng)該采取何種策略\&模擬練習(xí)\&由學(xué)生扮演不同的項(xiàng)目利害關(guān)系人進(jìn)行相應(yīng)的模擬演示。例如,某個(gè)項(xiàng)目的發(fā)起方頻繁地提出了修改意見(jiàn),對(duì)項(xiàng)目的正常進(jìn)行造成了很大的阻力,這時(shí),項(xiàng)目經(jīng)理的扮演者要針對(duì)這一個(gè)利害關(guān)系人進(jìn)行策略分析并給予相應(yīng)的協(xié)商和對(duì)策。在進(jìn)行完相應(yīng)的對(duì)策提出后,其他學(xué)生對(duì)扮演者的對(duì)策進(jìn)行評(píng)價(jià),并提出自己的意見(jiàn)。
在進(jìn)行完成多個(gè)案例的扮演后,學(xué)生自行總結(jié)案例中的收獲。
4.3 為各節(jié)課安排活動(dòng)
基于教學(xué)策略的課時(shí)分配
1)內(nèi)容引入,案例展示,先為學(xué)生播放一段視頻,讓學(xué)習(xí)者能夠在案例視頻中意識(shí)到,利害關(guān)系人的分析和對(duì)利害關(guān)系人使用不同的策略可以有效地解決問(wèn)題,保證項(xiàng)目的成功完成。
2)前測(cè):對(duì)利害關(guān)系人部分目標(biāo)進(jìn)行前測(cè);對(duì)利害關(guān)系人部分進(jìn)行講授;后測(cè):做相應(yīng)的測(cè)試試卷。
3)用系統(tǒng)的案例進(jìn)行利害關(guān)系人分析綜合運(yùn)用。
4)進(jìn)行案例的角色扮演和討論,得出給定案例的分析結(jié)果和決策方法,并輪流給出意見(jiàn)。
5)教師做出案例分析總結(jié),匯報(bào)。
5 總結(jié)
如果沒(méi)有程序驅(qū)動(dòng),計(jì)算機(jī)不過(guò)是一堆金屬和塑料而已。程序可以讓計(jì)算機(jī)忠實(shí)地實(shí)現(xiàn)人的意圖,嚴(yán)謹(jǐn)?shù)倪壿嬎季S是程序設(shè)計(jì)的關(guān)鍵,而學(xué)生最容易接受的是“流程圖”,這正是描述邏輯思維的最好工具。大廈有施工流程圖,裝電視機(jī)有裝配流程圖,而企業(yè)的生產(chǎn)線則是運(yùn)動(dòng)的流程圖。流程圖就是秩序,就是邏輯。畫(huà)流程圖必須充分考慮各種情況,力求無(wú)懈可擊。作為訓(xùn)練,教師應(yīng)要求學(xué)生上街購(gòu)物前畫(huà)購(gòu)物流程圖,班委策劃活動(dòng)應(yīng)畫(huà)活動(dòng)流程圖,進(jìn)而寫(xiě)程序也須先畫(huà)程序流程圖。有了程序流程圖,就可按圖索驥,迅速將思維轉(zhuǎn)化為程序。
2 學(xué)習(xí)規(guī)則,利用規(guī)則,在限制中求發(fā)展
對(duì)程序設(shè)計(jì)初學(xué)者來(lái)說(shuō),最頭痛的事是太多的語(yǔ)法規(guī)則限制,動(dòng)輒語(yǔ)法出錯(cuò),進(jìn)而望而生畏,失去信心。這主要是教師的心理教育沒(méi)有跟上、學(xué)生思想不通造成的。其實(shí),生活本非隨心所欲,它是充滿(mǎn)各種限制的。如國(guó)有國(guó)法、校有校規(guī),玩游戲要遵守游戲規(guī)則,過(guò)街口不也受紅綠燈限制嗎?歌德詩(shī)云“在限制中顯示出能手,只有規(guī)律能給我們自由”。計(jì)算機(jī)語(yǔ)言的各種規(guī)則是科學(xué)家們智慧的結(jié)晶,已經(jīng)深入人心,由這些語(yǔ)言編寫(xiě)出來(lái)的程序給社會(huì)創(chuàng)造了極高的效益和效率。據(jù)作者所知,特別是計(jì)算機(jī)語(yǔ)言,規(guī)則和規(guī)律是緊密聯(lián)系在一起的。只要細(xì)加分析,這些規(guī)律是很好掌握的。無(wú)論做什么事,均似刨丁解牛,掌握規(guī)律之時(shí),就是游刃有余之日。
3 標(biāo)新立異的算法,追求事半功倍
算法是程序的靈魂。衡量程序質(zhì)量的高低,算法是重要指標(biāo)之一。
思路決定出路,人生是需要思考的。俗話(huà)說(shuō)“磨刀不誤打柴工”,先思考后行動(dòng),可以規(guī)避風(fēng)險(xiǎn),提升成功率。
4 程序模塊化思想,培養(yǎng)學(xué)生管理意識(shí)與合作意識(shí)
打一場(chǎng)戰(zhàn)役,要分成若干階段,在若干戰(zhàn)場(chǎng)實(shí)施。這種“分解大任務(wù),各個(gè)擊破”的思想,正是現(xiàn)代模塊化程序設(shè)計(jì)的思想。其實(shí),模塊化思想在生活中有著廣泛的應(yīng)用:企業(yè)分部門(mén),軍隊(duì)分兵種,學(xué)校分專(zhuān)業(yè)……,各類(lèi)計(jì)算機(jī)語(yǔ)言中的函數(shù)、過(guò)程等正是為此而設(shè),它實(shí)現(xiàn)了將復(fù)雜問(wèn)題簡(jiǎn)單化。編程時(shí)應(yīng)盡量要求學(xué)生把問(wèn)題分解為功能相對(duì)獨(dú)立的子模塊,將它們定義成函數(shù)、過(guò)程,這樣既增加了程序可讀性、可改性,又方便了系統(tǒng)編譯。
5 從項(xiàng)目入手,舉一反三,提煉特殊中蘊(yùn)含的普遍規(guī)律
程序有順序、選擇、循環(huán)三大結(jié)構(gòu),無(wú)論程序要解決的問(wèn)題多么復(fù)雜,均可用這三種結(jié)構(gòu)來(lái)實(shí)現(xiàn),這就是程序設(shè)計(jì)的辯證法。一個(gè)優(yōu)秀的程序員不在于它寫(xiě)了多少個(gè)程序,正如高考狀元并不是做題最多的學(xué)生。當(dāng)然,不做題,也絕對(duì)當(dāng)不了狀元。對(duì)于程序設(shè)計(jì)這門(mén)課程,教師應(yīng)該采用項(xiàng)目教學(xué)法,以項(xiàng)目作為實(shí)訓(xùn)的基本單位。每個(gè)項(xiàng)目做完后,還應(yīng)指導(dǎo)學(xué)生回頭分析,認(rèn)真總結(jié)規(guī)律,然后再利用規(guī)律去完成一個(gè)類(lèi)似的項(xiàng)目。只有掌握了事物的規(guī)律,才能反過(guò)去更好地駕馭事物,進(jìn)而達(dá)到人生的上乘境界。
6 把握變量類(lèi)型、作用域及生存期,學(xué)會(huì)節(jié)約資源,量體裁衣
雖然現(xiàn)代計(jì)算機(jī)硬件配置越來(lái)越好,但其運(yùn)行的軟件也越來(lái)越大,特別是當(dāng)運(yùn)行多個(gè)任務(wù)時(shí),往往會(huì)因爭(zhēng)奪有限的系統(tǒng)資源而導(dǎo)致軟件運(yùn)行速度降低,甚至死機(jī)。每一種計(jì)算機(jī)語(yǔ)言均提供豐富的數(shù)據(jù)類(lèi)型,還可以控制諸變量的作用域和生存期,使程序緊貼硬件運(yùn)行。
7 瀟灑的程序風(fēng)格,宛如一首人生的詩(shī)
1.1軟件研發(fā)人員的管理
計(jì)算機(jī)軟件行業(yè)不同于其他行業(yè)的就是它對(duì)人才、技術(shù)的高要求。在整個(gè)研發(fā)、生產(chǎn)的過(guò)程中,人是貫穿始終的重要部分,因此人員的管理非常重要。軟件生命周期中軟件研發(fā)人員從最初設(shè)計(jì)資料、設(shè)計(jì)語(yǔ)言、設(shè)計(jì)模式的選擇,到具體的程序編寫(xiě)一直到后期的維護(hù)工作都需要相關(guān)工作人員的積極配合。那么各項(xiàng)工作的人員除了要相互協(xié)作之外,關(guān)鍵是要有過(guò)硬的專(zhuān)業(yè)素質(zhì),能把份內(nèi)的事情完成好。管理人員也需要把握員工的基本情況,根據(jù)他們的優(yōu)勢(shì)進(jìn)行合適的安排,并為軟件研發(fā)人員工作創(chuàng)設(shè)良好、輕松的工作氛圍。
1.2組織機(jī)構(gòu)的管理
組織機(jī)構(gòu)強(qiáng)調(diào)的是組織的系統(tǒng)協(xié)調(diào)性,不是松散的人員組織。創(chuàng)建好的組織機(jī)構(gòu)需要發(fā)揮各項(xiàng)人員的優(yōu)勢(shì),并將優(yōu)勢(shì)整合,促進(jìn)整體的發(fā)展。組織機(jī)構(gòu)主要有以下幾種:
1.2.1民主化組織。這個(gè)組織主要強(qiáng)調(diào)軟件研發(fā)人員的民主性的發(fā)揮,崗位輪流交換,雖然有利于發(fā)揮個(gè)人的能動(dòng)性和創(chuàng)新能力,但是針對(duì)專(zhuān)業(yè)性過(guò)強(qiáng),又及其強(qiáng)調(diào)過(guò)程化管理的軟件工程來(lái)說(shuō),這種模式不太推崇。
1.2.2專(zhuān)家化組織。專(zhuān)家化模式的限定強(qiáng)調(diào)個(gè)人專(zhuān)業(yè)技能,各有所專(zhuān),各有所長(zhǎng),這種模式雖然能把個(gè)人能力最大化,但是卻不利于與人員之間的相互協(xié)作。
1.2.3主程序員化組織。軟件工程開(kāi)發(fā)
結(jié)構(gòu)化發(fā)展在組織機(jī)構(gòu)的優(yōu)化管理上,最著名的案例就是IBM公司提出的主程序員組織。主程序員負(fù)責(zé)統(tǒng)籌發(fā)展,技術(shù)人員負(fù)責(zé)數(shù)據(jù)分析和具體程序開(kāi)發(fā),后期維護(hù)工作也有專(zhuān)人負(fù)責(zé)。
1.2.4用戶(hù)管理
軟件就是為用戶(hù)而研發(fā)的,沒(méi)有用戶(hù)需求就沒(méi)有軟件業(yè)的新發(fā)展。用戶(hù)管理需要時(shí)刻關(guān)注用戶(hù)的需求,對(duì)特定軟件用戶(hù)進(jìn)行調(diào)研,根據(jù)調(diào)研結(jié)果進(jìn)行相應(yīng)的改進(jìn),并能夠依據(jù)用戶(hù)的反饋進(jìn)行改善發(fā)展,提高軟件的研發(fā)效率與質(zhì)量。
二、優(yōu)化計(jì)算機(jī)軟件工程管理的方法
2.1建立健全計(jì)算機(jī)軟件工程管理體系
在計(jì)算機(jī)專(zhuān)業(yè)發(fā)展的如火如荼的今天,軟件工程尚屬新型學(xué)科,軟件工程過(guò)程化管理也沒(méi)有形成規(guī)范的系統(tǒng),因此要建立健全計(jì)算機(jī)軟件工程管理。高質(zhì)量計(jì)算機(jī)軟件的研發(fā)與生產(chǎn)一般周期性較長(zhǎng),自動(dòng)化程度不高,所以說(shuō)在整個(gè)開(kāi)發(fā)過(guò)程中,要加強(qiáng)各項(xiàng)人員的管理。在軟件行業(yè),要人盡其才、人盡其用,充分調(diào)動(dòng)人員的積極性,加大自主創(chuàng)新能力,達(dá)到整體上的協(xié)調(diào)發(fā)展。還要對(duì)加強(qiáng)管理人員,尤其是項(xiàng)目負(fù)責(zé)人進(jìn)行專(zhuān)業(yè)知識(shí)和管理知識(shí)的培訓(xùn),理論和實(shí)踐有效結(jié)合。最后要從制度上予以規(guī)范,讓具體項(xiàng)目執(zhí)行有度可依,完善激勵(lì)措施,獎(jiǎng)罰分明,獎(jiǎng)罰有度,使得管理工作得以順利高效進(jìn)行。
2.2注重團(tuán)隊(duì)化建設(shè),加強(qiáng)團(tuán)隊(duì)協(xié)作性
計(jì)算機(jī)軟件工程建設(shè)是一項(xiàng)復(fù)雜的工作,包括了有設(shè)計(jì)模式的選定、設(shè)計(jì)標(biāo)準(zhǔn)的設(shè)置、程序設(shè)計(jì)語(yǔ)言的選擇和軟件開(kāi)發(fā)工具的選用等等。各項(xiàng)工作并不是單一的,而是相互聯(lián)系的,因此要特別強(qiáng)調(diào)整體的協(xié)作性。團(tuán)隊(duì)建設(shè)不是單個(gè)人的直接組織,首先要明確分工,技術(shù)人員要有過(guò)硬的專(zhuān)業(yè)素質(zhì),能把份內(nèi)的事情完成好,各項(xiàng)工作能夠有條不紊的進(jìn)行;其次,還要進(jìn)行團(tuán)隊(duì)協(xié)作教育,把溝通協(xié)作理念滲透到每個(gè)人心中。最后,在團(tuán)隊(duì)意識(shí)建設(shè)工程中,還要充分調(diào)動(dòng)個(gè)人的主觀能動(dòng)性,為團(tuán)隊(duì)更好發(fā)展貢獻(xiàn)自己的力量。
2.3加強(qiáng)風(fēng)險(xiǎn)、進(jìn)度管理和預(yù)警機(jī)制
在計(jì)算機(jī)軟件項(xiàng)目運(yùn)行過(guò)程中除了正常因素之外,還要關(guān)注風(fēng)險(xiǎn)意識(shí)。尤其是項(xiàng)目管理人員要加強(qiáng)自身的風(fēng)險(xiǎn)意識(shí),對(duì)項(xiàng)目的實(shí)施有宏觀的把握。風(fēng)險(xiǎn)意識(shí)的加強(qiáng)除了在具體項(xiàng)目執(zhí)行過(guò)程中把握,還要專(zhuān)門(mén)學(xué)習(xí)風(fēng)險(xiǎn)理論,能學(xué)以致用,正確認(rèn)識(shí)風(fēng)險(xiǎn)和規(guī)避風(fēng)險(xiǎn)。除了總的宏觀上的把握,還需要定期做好計(jì)算機(jī)軟件工程項(xiàng)目的風(fēng)險(xiǎn)評(píng)定,風(fēng)險(xiǎn)意識(shí)要貫穿于項(xiàng)目始終,不能放松警惕,將風(fēng)險(xiǎn)發(fā)生的機(jī)率抑制在萌芽狀態(tài)中;最后,要專(zhuān)門(mén)制定具體項(xiàng)目的進(jìn)度和風(fēng)險(xiǎn)管理預(yù)警機(jī)制,結(jié)合具體實(shí)際,進(jìn)行監(jiān)督管理。
2.4優(yōu)化工程管理具體方案
采用精研——軟件工程管理平臺(tái),尤其是對(duì)于軟件開(kāi)發(fā)商而言,軟件平臺(tái)可以更好控制項(xiàng)目成本、進(jìn)度等可調(diào)控因素,合理進(jìn)行人力資源配置,確保不會(huì)因?yàn)槿藛T的變動(dòng)導(dǎo)致項(xiàng)目的難以為繼,使得軟件公司和軟件需求方實(shí)現(xiàn)共贏。
三、總結(jié)
關(guān)鍵詞:NIIT 引進(jìn) 教學(xué)目標(biāo) 教學(xué)課程 教學(xué)過(guò)程 實(shí)習(xí)
為了適應(yīng)信息時(shí)代的需要,我國(guó)的計(jì)算機(jī)技術(shù)教育早已如火如荼地開(kāi)展起來(lái),為國(guó)家輸送了大量的信息化人才。但是,我們培養(yǎng)的計(jì)算機(jī)人才依然難以適應(yīng)社會(huì)的快速變化和飛速發(fā)展。究其原因,就是我們的計(jì)算機(jī)人才培養(yǎng)受到了傳統(tǒng)觀念的影響和制約,沒(méi)有從“工業(yè)化思維”躍進(jìn)到“信息化思維”,沒(méi)有正確理解“信息時(shí)代”的真實(shí)含義。因此,更新觀念,引進(jìn)世界先進(jìn)教學(xué)模式并結(jié)合我國(guó)實(shí)際情況進(jìn)行教學(xué)改革和創(chuàng)新尤為迫切和重要。
一、NIIT培訓(xùn)模式及其引進(jìn)
NIIT是總部設(shè)在印度的IT跨國(guó)公司,是擁有多年軟件開(kāi)發(fā)與IT職業(yè)教育經(jīng)驗(yàn)的IT培訓(xùn)領(lǐng)導(dǎo)廠商,在發(fā)展過(guò)程中總結(jié)出一套獨(dú)特、先進(jìn)、高效的教學(xué)方法,以確保NIIT的學(xué)員可以在較短的時(shí)期內(nèi),不僅全面掌握業(yè)界的主流軟件開(kāi)發(fā)技術(shù),而且獲得自我學(xué)習(xí)、自我提高的能力,從而能夠在技術(shù)快速更新的IT行業(yè)勝任多種富挑戰(zhàn)性的職位。
NIIT的基于榜樣學(xué)習(xí)法的培訓(xùn)模式是一種在專(zhuān)家引導(dǎo)下的獨(dú)立解決實(shí)際問(wèn)題的科學(xué)學(xué)習(xí)方法。在每個(gè)教學(xué)循環(huán)中,首先提出一個(gè)IT行業(yè)或工業(yè)界的實(shí)際問(wèn)題,專(zhuān)家解決這個(gè)問(wèn)題;然后向?qū)W生提出另一個(gè)類(lèi)似的實(shí)際問(wèn)題,學(xué)生在專(zhuān)家指導(dǎo)下參照專(zhuān)家的方法解決該問(wèn)題;最后學(xué)生脫離專(zhuān)家指導(dǎo)綜合運(yùn)用所學(xué)知識(shí)解決一個(gè)新的實(shí)際問(wèn)題,逐漸培養(yǎng)起學(xué)生獨(dú)立解決實(shí)際問(wèn)題的能力。
計(jì)算機(jī)專(zhuān)業(yè)本科類(lèi)教材大多是以計(jì)算機(jī)理論為主,教師以“講、聽(tīng)、談、記、練”教學(xué)模式授課,培養(yǎng)的學(xué)生理論知識(shí)較強(qiáng),動(dòng)手能力較弱。NIIT教材基于IT行業(yè)專(zhuān)家經(jīng)驗(yàn)以解決實(shí)際問(wèn)題為主,專(zhuān)家以“觀察、理解、記憶、練習(xí)”教學(xué)模式授課,培養(yǎng)的學(xué)生動(dòng)手能力強(qiáng),理論知識(shí)弱。因此,兩者具有明顯的互補(bǔ)性:NIIT重實(shí)踐經(jīng)驗(yàn),計(jì)算機(jī)本科專(zhuān)業(yè)重理論知識(shí)。但是,如果不能將兩者有機(jī)地結(jié)合起來(lái),就難以達(dá)到預(yù)期的效果。例如,計(jì)算機(jī)本科教材與NIIT教材脫節(jié)、計(jì)算機(jī)本科教育的目標(biāo)與NIIT培訓(xùn)的目標(biāo)差異較大、NIIT培訓(xùn)模式需要有解決社會(huì)實(shí)際問(wèn)題的實(shí)戰(zhàn)經(jīng)驗(yàn)專(zhuān)家、NIIT培訓(xùn)模式中需要有配套“軟件工廠”等等。
目前,大學(xué)計(jì)算機(jī)專(zhuān)業(yè)教學(xué)正在為適應(yīng)新的社會(huì)需求進(jìn)行改革,NIIT也正在為適應(yīng)中國(guó)這個(gè)新市場(chǎng)而調(diào)整自己的目標(biāo)。我院在辦學(xué)實(shí)踐中,既注重從國(guó)外引進(jìn)這種先進(jìn)的培訓(xùn)模式,也根據(jù)實(shí)際情況加以創(chuàng)新,對(duì)重實(shí)踐經(jīng)驗(yàn)的NIIT培訓(xùn)模式與重理論知識(shí)的計(jì)算機(jī)本科專(zhuān)業(yè)教學(xué)模式取長(zhǎng)補(bǔ)短,進(jìn)行了融合,以解決引進(jìn)NIIT培訓(xùn)模式后存在的問(wèn)題。
二、協(xié)同教學(xué)目標(biāo)
NIIT各階段要到達(dá)的目標(biāo)是:
第一學(xué)期,要求學(xué)生了解程序設(shè)計(jì)基本概念,熟悉LINUX工作環(huán)境,掌握面向?qū)ο蟾拍睿墒褂肅++和JAVA編寫(xiě)程序,成為WEB程序員。
第二學(xué)期,要求學(xué)生掌握使用SQL Server2000的數(shù)據(jù)庫(kù),能對(duì)其進(jìn)行查詢(xún)、修改、添加,能應(yīng)用J2EE創(chuàng)建企業(yè)級(jí)應(yīng)用程序,了解軟件開(kāi)發(fā)生命周期,成為面向?qū)ο蟮目梢晳?yīng)用程序員。
第三學(xué)期,要求學(xué)生掌握XML數(shù)據(jù)存儲(chǔ)和表示,連接.NET體系架構(gòu),使用VB.NET編寫(xiě)基于.NET,桌面應(yīng)用程序,并使用VB.NET和ASP.NET編寫(xiě)企業(yè)級(jí)分布式網(wǎng)絡(luò)應(yīng)用程序,成為企業(yè)級(jí)應(yīng)用程序工程師。
第四學(xué)期,要求學(xué)生能運(yùn)用Visual C#開(kāi)發(fā)com+,運(yùn)用WAP.WML,J2ME與. Net技術(shù)開(kāi)發(fā)移動(dòng)應(yīng)用程序,運(yùn)用ASP.Net開(kāi)發(fā)網(wǎng)絡(luò)應(yīng)用與服務(wù)程序,成為針對(duì)桌面和移動(dòng)設(shè)備的企業(yè)級(jí)應(yīng)用程序工程師。
引進(jìn)NIIT培訓(xùn)模式后的以四年為期的大學(xué)本科計(jì)算機(jī)教育,不能照搬這種目標(biāo)。前兩年應(yīng)以培養(yǎng)軟件籃領(lǐng)為目標(biāo),否則只能是拔苗助長(zhǎng),欲速則不達(dá)。因此,新的教學(xué)目標(biāo)需要進(jìn)行如下調(diào)整:
第一學(xué)年的目標(biāo)(里程碑一)是普通軟件藍(lán)領(lǐng),要求學(xué)生夯實(shí)基礎(chǔ),養(yǎng)成有“工業(yè)化、組件化、標(biāo)準(zhǔn)化”意識(shí)的“軟件藍(lán)領(lǐng)”的習(xí)慣,掌握程序編碼標(biāo)準(zhǔn)、COM/JavaBean組件編制技術(shù)、流水線裝配流程。并以此為基礎(chǔ)對(duì)真正合格“藍(lán)領(lǐng)”進(jìn)行驗(yàn)收。
第二學(xué)年的目標(biāo)(里程碑二)是高級(jí)軟件籃領(lǐng),要求學(xué)生具有扎實(shí)的功底,養(yǎng)成有“高工效、低成本、高質(zhì)量”意識(shí)的“軟件藍(lán)領(lǐng)”的習(xí)慣。掌握服務(wù)器端所提供的企業(yè)級(jí)基礎(chǔ)設(shè)施、能快速而高效編制低成本的企業(yè)級(jí)COM+/EJB組件的方法。
第三學(xué)年的目標(biāo)(里程碑三)是普通軟件工程師,要求學(xué)生提高理論知識(shí),養(yǎng)成“創(chuàng)新設(shè)計(jì)”意識(shí),逐漸從軟件藍(lán)領(lǐng)提升到軟件工程師。
第四學(xué)年的目標(biāo)(里程碑四)是有經(jīng)驗(yàn)的軟件工程師,此階段主要是讓學(xué)生“走”出去,給學(xué)生提供機(jī)會(huì)與社會(huì)接觸,進(jìn)行生產(chǎn)實(shí)習(xí)。這也是大學(xué)本科計(jì)算機(jī)專(zhuān)業(yè)的培養(yǎng)目標(biāo)。產(chǎn)品(學(xué)生)是否合格,要由社會(huì)來(lái)檢驗(yàn)。
三、協(xié)同教學(xué)課程
NIIT教學(xué)模式是很先進(jìn)的教學(xué)模式,在專(zhuān)家引導(dǎo)下用專(zhuān)業(yè)技能解決實(shí)際問(wèn)題的同時(shí),專(zhuān)家還必須引導(dǎo)學(xué)生探索相關(guān)的技術(shù)文獻(xiàn)。它強(qiáng)調(diào)的不僅是知識(shí)的傳遞手段,更注重信息的獲取過(guò)程。正因?yàn)槿绱耍绻诮虒W(xué)過(guò)程忽略了信息獲取能力的培養(yǎng),就會(huì)出現(xiàn)知識(shí)斷層。不僅會(huì)降低學(xué)生學(xué)習(xí)高級(jí)知識(shí)的興趣和熱情,而且也打破了課程的整體性和關(guān)聯(lián)性。因此,新的IT課程計(jì)劃需要注意以下幾點(diǎn):
(1)在NIIT課程之間插入部分專(zhuān)業(yè)或體系結(jié)構(gòu)課程,防止知識(shí)斷層。例如,在《C++程序設(shè)計(jì)》之前插入計(jì)算機(jī)專(zhuān)業(yè)課程《C語(yǔ)言程序設(shè)計(jì)》,打好程序設(shè)計(jì)的基礎(chǔ);在《C++程序設(shè)計(jì)》與《COM組件設(shè)計(jì)》之間插入《MFC》等。其中,《MFC》填補(bǔ)了《C++程序設(shè)計(jì)》之后的知識(shí)斷層。如表一所示。
以C++系列為例,《C語(yǔ)言程序設(shè)計(jì)》專(zhuān)注于打語(yǔ)法基礎(chǔ),《C++語(yǔ)言程序設(shè)計(jì)》遞進(jìn)到面向?qū)ο笏枷?,《Visual C++程序設(shè)計(jì)》著重講解如何利用現(xiàn)有的類(lèi)庫(kù)以提高生產(chǎn)力,《用ATL設(shè)計(jì)組件》為現(xiàn)代軟件開(kāi)發(fā)模式軟件工廠打下組件涉及技術(shù)基礎(chǔ)。《用C++設(shè)計(jì)COM+》遞進(jìn)到開(kāi)發(fā)企業(yè)級(jí)組件時(shí)如何利用已有軟件基礎(chǔ)設(shè)施以進(jìn)一步提高生產(chǎn)力,最后在《基于.NET的軟件開(kāi)發(fā)》中進(jìn)入真正的企業(yè)級(jí)應(yīng)用開(kāi)發(fā)。其它課程可聯(lián)系這一主線,圍繞成為真正精通C語(yǔ)言的程序員這一階段性目標(biāo)進(jìn)行設(shè)置。按這種模式進(jìn)行課程設(shè)計(jì),因強(qiáng)調(diào)了整體性和聯(lián)系性,不會(huì)出現(xiàn)知識(shí)斷層,明確的方向感和不斷積聚的成就感,使教師方便教,學(xué)生易于學(xué),并逐漸形成良好的教學(xué)氛圍。
(2)在專(zhuān)業(yè)理論課程中插入NIIT的培訓(xùn)內(nèi)容,理論結(jié)合實(shí)踐。例如,在《操作系統(tǒng)原理》中插入NIIT的《Linux》課程;在《數(shù)據(jù)庫(kù)原理》中插入NIIT的《SQL Server》課程;在《軟件工程》中插入NIIT的《UML》;在《計(jì)算機(jī)網(wǎng)絡(luò)》中插入NIIT的《HTML》等。由于NIIT教材18個(gè)月更新一次,使我們的專(zhuān)業(yè)理論課能緊跟技術(shù)的發(fā)展,而這些發(fā)展了的新技術(shù)、新工藝也會(huì)作用于理論課程,促使理論知識(shí)的更新。
(3)以市場(chǎng)為導(dǎo)向,按公司類(lèi)別開(kāi)設(shè)課程,進(jìn)行對(duì)比學(xué)習(xí)。例如:
(4)以項(xiàng)目為主導(dǎo),突出電子商務(wù),進(jìn)行有針對(duì)性的項(xiàng)目訓(xùn)練。例如,以手機(jī)項(xiàng)目開(kāi)發(fā)為目標(biāo),安排《電子商務(wù)》、《XML》、《網(wǎng)絡(luò)安全》、《項(xiàng)目管理》等知識(shí)的學(xué)習(xí)。
四、協(xié)同教學(xué)過(guò)程
NIIT培訓(xùn)模式的引進(jìn)能極大地促進(jìn)計(jì)算機(jī)專(zhuān)業(yè)的教學(xué)改革,但同時(shí)也為相關(guān)教師帶來(lái)了新的挑戰(zhàn)。
首先,NIIT教師必須充分了解計(jì)算機(jī)技術(shù)體系結(jié)構(gòu),緊跟信息技術(shù)的發(fā)展,并適應(yīng)其快速的變化。為了緊盯市場(chǎng)和新技術(shù),NIIT教材每18個(gè)月要更新一次。這就需要NIIT教師不斷地學(xué)習(xí),以更新自己的知識(shí)結(jié)構(gòu)。
其次,NIIT教師必須具備實(shí)際項(xiàng)目的開(kāi)發(fā)能力和經(jīng)驗(yàn)。NIIT教材面向程序員,指導(dǎo)學(xué)生如何按部就班地編程。如果教師只是按部就班地按照課程進(jìn)行講解,因其清晰性和流程性,還是比較容易的。但要“帶”出一批合格的程序員(在我們的教學(xué)中,這些程序員的目標(biāo)是“有經(jīng)驗(yàn)的軟件工程師”)就比較困難。因?yàn)镹IIT教學(xué)模式要求教師必須具有各個(gè)領(lǐng)域的實(shí)際開(kāi)發(fā)經(jīng)驗(yàn)(這也就是NIIT為什么稱(chēng)為NIIT教師為“專(zhuān)家”的原因),用這些經(jīng)驗(yàn)正確引導(dǎo)學(xué)生,用各種教學(xué)設(shè)施以及多媒體功能激發(fā)學(xué)生自身的學(xué)習(xí)興趣和熱情,現(xiàn)場(chǎng)解答他們提出的各種技術(shù)問(wèn)題,并解決技術(shù)難題。
第三,NIIT教師之間必須緊密協(xié)作和配合。NIIT教學(xué)模式中強(qiáng)調(diào)學(xué)生自組織學(xué)習(xí)能力和創(chuàng)新意識(shí)的培養(yǎng),課程之間的銜接非常強(qiáng)。例如,對(duì)于COM+和EJB的教學(xué),教師講得再清楚,如果學(xué)生對(duì)COM和JavaBean不是很清楚,還是沒(méi)辦法理解。而對(duì)于COM和JavaBean的學(xué)習(xí),其前提是學(xué)生對(duì)組件技術(shù)軟件工廠”見(jiàn)習(xí)經(jīng)驗(yàn)。再如,NIIT在安排J2EE教學(xué)內(nèi)容時(shí),是基于學(xué)生已經(jīng)完全掌握J(rèn)ava程序設(shè)計(jì)技術(shù)的,因此,J2EE內(nèi)容就顯得有些寬泛,包括JDBC、JavaBean、RMI、Servlet、JSP、EJB等。這就要求J2EE課程教師與Java基礎(chǔ)課程教師之間的協(xié)同:Java基礎(chǔ)課程教師在講解Java課程時(shí),引導(dǎo)學(xué)生了解將要學(xué)習(xí)的遞進(jìn)知識(shí)J2EE及相關(guān)教師的教學(xué)特點(diǎn),增加學(xué)生對(duì)未來(lái)知識(shí)的學(xué)習(xí)興趣以及為什么要打Java這個(gè)基礎(chǔ)。J2EE教師則應(yīng)適當(dāng)?shù)刂貜?fù)以前學(xué)習(xí)過(guò)的內(nèi)容以防止遺忘,在項(xiàng)目實(shí)踐中引導(dǎo)學(xué)生多使用以前的技能以防止退化等。
五、協(xié)同實(shí)習(xí)過(guò)程
隨著計(jì)算機(jī)技術(shù)突飛猛進(jìn)的發(fā)展,軟件的應(yīng)用領(lǐng)域也發(fā)生了根本的變化。從單機(jī)模式、C/S模式一直到現(xiàn)在的網(wǎng)絡(luò)計(jì)算,特別是網(wǎng)絡(luò)計(jì)算帶領(lǐng)軟件產(chǎn)業(yè)進(jìn)入了一個(gè)新的時(shí)代。軟件開(kāi)發(fā)領(lǐng)域正面臨著一些新的課題。如復(fù)雜的分布環(huán)境、靈活的應(yīng)用模式、廣泛的包容性等。傳統(tǒng)的軟件設(shè)計(jì)思想已遠(yuǎn)遠(yuǎn)不夠,出現(xiàn)了采用構(gòu)件化和軟件復(fù)用等軟件開(kāi)發(fā)方法。NIIT的教學(xué)內(nèi)容也主要圍繞這些新的方法進(jìn)行設(shè)計(jì),如引導(dǎo)學(xué)生編制組件、生產(chǎn)組件、裝配組件等。
為了讓學(xué)生體驗(yàn)如何當(dāng)軟件“藍(lán)領(lǐng)”,并成為一個(gè)合格的軟件籃領(lǐng),進(jìn)而逐步由軟件籃領(lǐng)提升自己成為軟件“工程師”,就需要建立“軟件工廠”并輸入“組件化”觀念。因此,有必要“創(chuàng)辦”虛擬“軟件工廠”,使之成為一個(gè)共享、協(xié)作、開(kāi)放的軟件群體。在按教學(xué)目標(biāo)和社會(huì)實(shí)際需求決定生產(chǎn)什么產(chǎn)品后,學(xué)生可以按“廠”里的規(guī)定和要求進(jìn)行設(shè)計(jì)、生產(chǎn)并在“廠”里測(cè)試組件,也可以在教師的帶領(lǐng)下組隊(duì)協(xié)作開(kāi)發(fā)。這些由學(xué)生在學(xué)習(xí)期間按規(guī)格生產(chǎn)的組件將來(lái)既可以作為共享軟件對(duì)外,也可以作為開(kāi)源項(xiàng)目進(jìn)行交流。學(xué)生在NIIT專(zhuān)家指導(dǎo)下還可以學(xué)習(xí)和研究的開(kāi)源項(xiàng)目,為工廠提供更加先進(jìn)的思想和便于重用的軟件零部件。當(dāng)學(xué)生能從實(shí)際運(yùn)行看到隨著自己組件的加入,應(yīng)用程序功能逐漸增強(qiáng)和完善,而這種程序不只是練習(xí)時(shí),其成就感是不言自明的。既感到學(xué)習(xí)的輕松,又能了解自己在一個(gè)團(tuán)隊(duì)里的作用。
學(xué)生在學(xué)習(xí)組件編程時(shí)如果沒(méi)有“軟件工廠”實(shí)習(xí),就感覺(jué)不到編制組件的好處,也體會(huì)不到團(tuán)隊(duì)的協(xié)同編程能力和工業(yè)化生產(chǎn)的優(yōu)勢(shì),就會(huì)逐漸對(duì)先進(jìn)的編程技術(shù)失去興趣。如果學(xué)生覺(jué)得想成為軟件“藍(lán)領(lǐng)”都那么難,又怎么會(huì)對(duì)成為軟件“工程師”有信心呢。因此,這種讓學(xué)生體會(huì)軟件工業(yè)化大生產(chǎn)的實(shí)習(xí)過(guò)程是必須而且相當(dāng)重要的一環(huán)。
綜上所述,為了適應(yīng)社會(huì)的快速變化和飛速發(fā)展,我們既要引進(jìn)國(guó)際上先進(jìn)的計(jì)算機(jī)人才培訓(xùn)模式,以擺脫傳統(tǒng)的觀念和陳舊的習(xí)慣,但同時(shí)也要注意根據(jù)我國(guó)的實(shí)際情況加以創(chuàng)新。21世紀(jì)對(duì)新型人才的知識(shí)結(jié)構(gòu)和能力素質(zhì)都提出了新的需求,從聯(lián)合國(guó)教育委員會(huì)提出的新型人才“四大支柱”中可以看出,21世紀(jì)面臨的全球性危機(jī)要求新型人材富有創(chuàng)造性、能合作共事并具有高尚的道德精神。具備創(chuàng)新能力是對(duì)新型人才的基本要求,這就要求我們?cè)谶M(jìn)行計(jì)算機(jī)專(zhuān)業(yè)教學(xué)改革時(shí),既要注重“工程化”、“標(biāo)準(zhǔn)化”、“流程化”方面的藍(lán)領(lǐng)技能培訓(xùn),又要強(qiáng)化學(xué)生的自組織學(xué)習(xí)能力和創(chuàng)新設(shè)計(jì)意識(shí),才能培養(yǎng)出合格的信息技術(shù)專(zhuān)業(yè)人才。
參考文獻(xiàn):
[1]Jim Arlow,Ila Neustadt著,UML and the Unified Process,機(jī)械工業(yè)出版社,2003年版。
[2]伊利亞·普利高津著,湛敏譯,確定性的終結(jié),上??茖W(xué)教育出版社,1998年版。
[3]NIIT GNIIT(FTC) 類(lèi)培訓(xùn)教材
[5]中國(guó)信息導(dǎo)報(bào),試論創(chuàng)新人才,1999年第7期NO.71999。