亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        從實戰(zhàn)中培養(yǎng)工程碩士開發(fā)大型軟件項目的能力

        2011-12-31 00:00:00李愛平丁紅利朱福喜
        計算機教育 2011年14期


          摘要:專業(yè)學(xué)位(professional degree),是相對于學(xué)術(shù)性學(xué)位(academic degree)而言的學(xué)位類型,其目的是培養(yǎng)具有扎實理論基礎(chǔ),并適應(yīng)特定行業(yè)或職業(yè)實際工作需要的應(yīng)用型高層次專門人才。如何到達這個目標(biāo),我們在培養(yǎng)計算機工程碩士的這一年多時間里,通過與美國的IT業(yè)公司和大學(xué)的合作,讓工程碩士參與到軟件中介發(fā)標(biāo)的項目中,從中接觸一些大型軟件項目的開發(fā),了解大型軟件項目的開發(fā)流程,從實戰(zhàn)中提高軟件開發(fā)能力。文章介紹了這一過程,并進行經(jīng)驗總結(jié)。
          關(guān)鍵詞:專業(yè)學(xué)位;軟件開發(fā);客戶需求;軟件構(gòu)架;代碼質(zhì)量
          
          專業(yè)學(xué)位與學(xué)術(shù)性學(xué)位在培養(yǎng)規(guī)格上各有側(cè)重,在培養(yǎng)目標(biāo)上有明顯差異。專業(yè)學(xué)位以專業(yè)實踐為導(dǎo)向,重視實踐和應(yīng)用,培養(yǎng)在專業(yè)和專門技術(shù)上受到正規(guī)的、高水平訓(xùn)練的高層次人才,授予學(xué)位的標(biāo)準(zhǔn)要反映該專業(yè)領(lǐng)域的特點和對高層次人才在專門技術(shù)工作能力和學(xué)術(shù)能力上的要求。專業(yè)學(xué)位教育的突出特點是學(xué)術(shù)性與職業(yè)性緊密結(jié)合,獲得專業(yè)學(xué)位的人,主要不是從事學(xué)術(shù)研究,而是從事具有明顯的職業(yè)背景的工作。
          我院從2009年開始招收計算機工程碩士,以培養(yǎng)能夠從事軟件開發(fā)的應(yīng)用型人才。軟件工程相關(guān)知識是各個公司在開發(fā)大型商業(yè)軟件項目當(dāng)中總結(jié)出來的,具有很強的實踐性。如果單獨通過課本的講授,工程碩士難以獲得深刻的印象,而且難以達到教學(xué)目的。因此,必須讓工程碩士接觸到真正的商業(yè)軟件項目,并且參與到軟件開發(fā)的各個過程,讓他們更加深刻地體會課程中講授的知識點,提高其軟件開發(fā)能力。
          為了達到這個目標(biāo),我們在開始培養(yǎng)計算機工程碩士的這一年多時間里,通過與TRILOGY/GDEV合作,讓工程碩士參與到當(dāng)前主流大型商業(yè)軟件的開發(fā)過程當(dāng)中,從而更好地掌握軟件工程課程教授的知識,并且了解當(dāng)今軟件開發(fā)中應(yīng)用的主流技術(shù)和開發(fā)模式,從實戰(zhàn)中提高軟件開發(fā)能力。
          1背景介紹
          成立于1989年的Trilogy公司,總部位于德州奧斯丁,在印度和中國均設(shè)有分支機構(gòu)。Trilogy公司在全球擁有600多名業(yè)內(nèi)精英和超過500項的專利技術(shù),有著 17年與世界500強企業(yè)成功合作并獲利的經(jīng)驗,曾被福布斯、財富、商業(yè)周刊、哈佛商業(yè)評論等著名商業(yè)雜志譽為高度創(chuàng)新和高瞻遠矚的公司。
          Trilogy 公司當(dāng)前專注于數(shù)據(jù)挖掘和用戶體驗相關(guān)的業(yè)務(wù),倡導(dǎo)新型的商業(yè)服bJktx5aJb5T26Tbz9L1Wkg==務(wù)和技術(shù)支持,為客戶提供完全的商業(yè)價值保障。其主要客戶包括:Ford Motor,General Electric Healthcare,Daimler-Chrysler,Nissan,Goodyear Tire & Rubber,Prudential,Travelers Insurance,Gateway,IBM等公司。
          至2006年止,Trilogy 公司已為汽車、保險、消費電子等行業(yè)提供多個商業(yè)服務(wù)項目,如:FordDirect.
          com,Goodyear,TTG,Chrysler.com,Prelaunch,Gateway,TIS等。我們通過網(wǎng)上投標(biāo),參與這些項目的開發(fā)。
          項目開發(fā)的過程主要包括:下載PIP(Product Info Page)和RFP(Request For Proposal)文檔、虛擬機(以及SVN代碼)和程序文檔。PIP是一個網(wǎng)頁,是項目的需求;RFP文檔是關(guān)于項目使用的技術(shù)概述;虛擬機是模仿對方開發(fā)環(huán)境的平臺;程序文檔放在網(wǎng)站上一個固定位置,如Bundle Location。發(fā)標(biāo)的公司會提出:
          ?“Deliverables”:是最終需要提交的東西,一項都不能少,否則算失敗。
          ?“Acceptance Criteria”:對方接收的標(biāo)準(zhǔn),符合標(biāo)準(zhǔn)的就算通過。
          ?“Deadline”:提交時間,超過這個時間即為失敗。
          項目提交后,如果判為失敗,開發(fā)者還可以申訴(Rebut)。
          2項目開發(fā)的收獲
          通過參與這些項目的開發(fā),工程碩士主要在以下幾個方面有所提高。
          2.1鍛煉工程碩士與客戶溝通的能力
          客戶的需求是基于其公司的商業(yè)邏輯,如何準(zhǔn)確無誤地獲得客戶的需求,并且從軟件開發(fā)的角度將需求進行規(guī)范化,這是軟件開發(fā)中必須解決的首要問題。
          由于是跟美國IT業(yè)公司進行合作,所以該案例采用的交流方式是線上交流,而非傳統(tǒng)的面對面交流。線上交流的主要方式是使用美國公司提供的Issue tracking system(http://en.wikipedia.org/wiki/Issue_tracking_system),完全是通過英文交流。長期的網(wǎng)上交流,鍛煉工程碩士的英語交流能力和業(yè)務(wù)邏輯的理解能力。
          2.2學(xué)習(xí)當(dāng)前主流技術(shù)
          在項目開發(fā)過程中,工程碩士能夠接觸到當(dāng)前IT業(yè)主要使用的各種技術(shù)。同時,結(jié)合項目地學(xué)習(xí)可以讓工程碩士更好地了解這些技術(shù)應(yīng)用的場景、目的以及作用。下面列舉項目中用到的一些技術(shù)。
          1) 編程語言:主要采用Java,便于上手,以免工程碩士花太多時間在學(xué)習(xí)語言上。
          2) 構(gòu)建工具:Ant是一種基于Java的build工具,用于自動化調(diào)用程序完成項目的編譯、打包、測試等。腳本格式基于XML,便于維護,而且基于Java的,具有平臺無關(guān)的特點。
          3) 虛擬機:要求配置模擬各種平臺的虛擬機環(huán)境。
          4) 數(shù)據(jù)庫:采用Oracle、DB2、PostgreSQL和SQL Server,均是當(dāng)前主流數(shù)據(jù)庫管理軟件。
          5) 數(shù)據(jù)庫查詢語言:SQL以及OQL。其中項目中主要使用OQL (http://en.wikipedia.org/wiki/Object_
          Query_Language) 即對象查詢語句,使用OQL有利于軟件開發(fā)過程中的效率和規(guī)范化。
          6) 測試工具:JUnit,Selenium。JUnit是由Erich Gamma和Kent Beck編寫的一個回歸測試框架,廣泛應(yīng)用于單元測試當(dāng)中。Selenium是一個用于Web應(yīng)用程序測試的工具,通過編寫模仿用戶操作的 Selenium 測試腳本,可以從終端用戶的角度來測試應(yīng)用程序,能夠支持不同的瀏覽器,以及能夠使用各種編程語言編寫,廣泛應(yīng)用于UI測試當(dāng)中。
          7) XML技術(shù):XML是一種平臺無關(guān)的表示數(shù)據(jù)的方法。使用 XML 創(chuàng)建的數(shù)據(jù)可以被任何應(yīng)用程序在任何平臺上讀取。甚至可以通過手動編碼來編輯和創(chuàng)建 XML 文檔。XML在網(wǎng)絡(luò)應(yīng)用和信息共享上方便、高效,可擴展。所以,可以XML作為一種先進的數(shù)據(jù)處理方法,使網(wǎng)絡(luò)跨越到一個新的境界。在本項目中,XML主要用于書寫配置文件。
          2.3熟悉軟件構(gòu)架
          眾所周知,軟件架構(gòu)是一個軟件先進性集中體現(xiàn)的地方。通過外包軟件的開發(fā),能夠了解軟件項目的架構(gòu),分析軟件中應(yīng)用的各種框架,理解應(yīng)用的設(shè)計模式。下邊是Java EE項目中常用的一些開源的框架。
          1) Hibernate是一種Java語言下的對象關(guān)系映射解決方案。它是使用GNU寬通用公共許可證發(fā)行的自由、開源的軟件。它為面向?qū)ο蟮念I(lǐng)域模型到傳統(tǒng)的關(guān)系型數(shù)據(jù)庫的映射,提供了一個使用方便的框架。Hibernate也是目前Java開發(fā)中最為流行的數(shù)據(jù)庫持久層框架。它的設(shè)計目標(biāo)是將軟件開發(fā)人員從大量相同的與數(shù)據(jù)持久層相關(guān)的編程工作中解放出來。無論是從設(shè)計草案還是從一個遺留數(shù)據(jù)庫開始,開發(fā)人員都可以采用Hibernate。
          
          2) Spring是一個開源框架[1-2],它由Rod Johnson創(chuàng)建。它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。Spring通過一種稱作控制反轉(zhuǎn)(IoC)的技術(shù)促進了松耦合。Spring提供了面向切面編程的豐富支持,允許通過分離應(yīng)用的業(yè)務(wù)邏輯與系統(tǒng)級服務(wù)(例如審計和事務(wù)管理)進行內(nèi)聚性的開發(fā)。應(yīng)用對象只完成業(yè)務(wù)邏輯,并不負(fù)責(zé)其他的系統(tǒng)級關(guān)注點,例如,日志或事務(wù)支持[3-4]。
          3) Struts有一組相互協(xié)作的類、Serlvet以及JSP TagLib組成[5]?;赟truts構(gòu)架的Web應(yīng)用程序基本上符合JSP Model2的設(shè)計標(biāo)準(zhǔn),可以說是MVC設(shè)計模式的一種變化類型。我們參與的軟件外包項目很容易理解為什么Struts是一個Web軟件開發(fā)框架,而不僅僅是一些標(biāo)記庫的組合,理解理解Struts的控制器(Controller),模型層(Model)和視圖層(View)。體會在模型層,Struts可以很容易地與數(shù)據(jù)訪問技術(shù)相結(jié)合,包括EJB、JDBC和Object Relation Bridge;在視圖層,Struts能夠與JSP、Velocity Templates、XSL等表示層組件相結(jié)合。
          項目中還有一些獨有的框架,由于細(xì)節(jié)繁瑣,不便介紹。接觸這些框架,可以獲得寶貴的軟件開發(fā)經(jīng)驗。
          2.4提高書寫代碼的質(zhì)量
          在真實項目的驅(qū)動下,工程碩士通過自己閱讀項目中的優(yōu)質(zhì)源碼,以及在經(jīng)驗豐富的開發(fā)人員的幫助下,形成良好的編碼風(fēng)格,提高代碼質(zhì)量。
          一個簡單的例子是,工程碩士在參與項目之前,代碼質(zhì)量相當(dāng)?shù)?,主要體現(xiàn)在:代碼效率低下,缺乏注釋信息,代碼不具有擴張性,代碼潛在bug多等。而對方真實的項目的代碼中包含大量注釋信息,以及一些必須的日志信息,具有良好的編碼風(fēng)格。在查找這些代碼的bug或提升其功能過程中,一定會接受對方良好的開發(fā)風(fēng)格熏陶。
          3結(jié)語
          總而言之,通過軟件外包項目的開發(fā),能夠極大地提高工程碩士的學(xué)習(xí)興趣以及效率。其具備的主要優(yōu)點如下:
          1) 該案例是基于真實的大型商業(yè)項目,是當(dāng)前主流技術(shù)的集中體現(xiàn);
          2) 工程碩士可以接觸到軟件開發(fā)過程中的各個階段,有利于工程碩士把握軟件開發(fā)流程;
          3) 工程碩士可以通過閱讀優(yōu)質(zhì)源碼以及和有經(jīng)驗的開發(fā)人員交流來提高軟件開發(fā)能力,以及通過與客戶交流來提高提煉需求的能力;
          4) 外包軟件開發(fā)實踐性很強,工程碩士能夠很好地補充課本的不足;
          5) 從外包軟件開發(fā)中,工程碩士能夠獲得很好收益,激發(fā)學(xué)習(xí)熱情。
          我們認(rèn)為,讓工程碩士參與軟件開發(fā)實戰(zhàn),積極推進了碩士研究生培養(yǎng)模式的改革,加強了應(yīng)用型高層次人才的培養(yǎng),促進了人才培養(yǎng)與社會需求的有效銜接。
          參考文獻:
          [1]

        极品粉嫩嫩模大尺度无码视频| 漂亮的小少妇诱惑内射系列| 日本高清色一区二区三区| 亚洲最近中文字幕在线| 久久久久久久波多野结衣高潮 | 妺妺窝人体色777777| 婷婷中文字幕综合在线| 亚洲区小说区图片区qvod伊| 麻美由真中文字幕人妻| 亚洲丝袜美腿在线视频| 久久精品国产亚洲av高清热| 精品手机在线视频| 热门精品一区二区三区| 一区二区三区视频在线观看免费 | 天天中文字幕av天天爽| 蜜臀av在线一区二区尤物| 国内精品久久久久影院薰衣草| 中文字幕人妻偷伦在线视频| 国产呦系列视频网站在线观看 | 国产精品麻豆成人av| 免费看黄色亚洲一区久久| 亚洲欧美日韩国产精品一区二区| 亚洲区小说区图片区qvod伊| 日本人妻系列一区二区| 国产精品久久久久久久久久红粉 | 亚洲人成欧美中文字幕 | 国产影院一区二区在线| 国产精品日本一区二区在线播放| 精品久久久久久久中文字幕| 日韩精品中文字幕 一区| 中文字幕在线看精品乱码| 国产操逼视频| 精品久久综合一区二区| 精品亚洲在线一区二区| 亚洲精品天天影视综合网| 免费的成年私人影院网站| 在线观看黄片在线播放视频| 人妻av有码中文字幕| 成人白浆超碰人人人人| 国产丝袜免费精品一区二区| 亚洲无人区乱码中文字幕能看|