一直想寫一篇這樣的總結(jié)性文章,但不是沒(méi)有時(shí)間就是沒(méi)有勇氣寫下去,因?yàn)榕聞e人丟臭雞蛋。這兩天有時(shí)間,終于鼓起勇氣,將這篇文章寫來(lái)下!也希望對(duì)一些正在尋找更好發(fā)展的朋友能有點(diǎn)幫助,也希望對(duì)于一些技術(shù)跟管理方面的牛人,能給予一些建議。
作為一名項(xiàng)目經(jīng)理、系統(tǒng)架構(gòu)師或技術(shù)骨干,其水平如何,關(guān)系到公司的項(xiàng)目管理、軟件質(zhì)量管理等方面的問(wèn)題。項(xiàng)目經(jīng)理或技術(shù)骨干應(yīng)該要起帶頭作用,使整個(gè)團(tuán)隊(duì)的開(kāi)發(fā)及管理能達(dá)到一種更高的水平。
那作為一名項(xiàng)目經(jīng)理或公司技術(shù)骨干應(yīng)該學(xué)會(huì)那些工具及知識(shí)點(diǎn)呢?涉及到這一塊的工具及技術(shù)點(diǎn)非常多,如何去選擇,是擺在項(xiàng)目經(jīng)理、系統(tǒng)架構(gòu)師跟技術(shù)骨干面前的問(wèn)題。根據(jù)公司及團(tuán)隊(duì)的情況,選擇合適的工具或技術(shù)框架,這一點(diǎn)非常重要。在項(xiàng)目的不同階段,需要有不同的工具來(lái)支持。
按照軟件系統(tǒng)的生命周期的六個(gè)階段,一般分為需求分析階段、系統(tǒng)設(shè)計(jì)階段、系統(tǒng)開(kāi)發(fā)階段、軟件測(cè)試階段、系統(tǒng)發(fā)布階段、系統(tǒng)維護(hù)階段,這幾個(gè)階段都需要有不同工具的支持。
一、需求分析階段:第一、項(xiàng)目管理及需求管理工具 項(xiàng)目管理工具很多公司都在使用,為什么要使用這些工具?假如沒(méi)有使用這些工具,而是使用Excel或Word進(jìn)行記錄,那當(dāng)需求變更?需求實(shí)現(xiàn)情況的跟蹤?軟件是否能按時(shí)交付?將是一件非常煩鎖且容易出錯(cuò)的事情。一個(gè)軟件項(xiàng)目、開(kāi)發(fā)團(tuán)隊(duì)能否獲得成功,管理非常關(guān)鍵。比較有名的商業(yè)化工具有:
MicroSoft Project Server及
Project 2003、
IBM Rational RequisitePro、
JIRA、
PowerDesinger。比較有名的開(kāi)源需求管理工具包括:
OSRMT(Open Source Requirements Management Tools)、
Xplanner、
Openworkbench等等。
很多軟件公司都會(huì)使用
SharePoint,在
SharePoint平臺(tái)上,只要你想得到,基本上都可以通過(guò)配置方式來(lái)滿足你的業(yè)務(wù)需求。在
SharePoint上,可以跟
MicroSoft Project Server很好的結(jié)合,再配置
Project 2003為客戶端,進(jìn)行公司的項(xiàng)目管理。也許對(duì)
Project操作習(xí)慣的問(wèn)題,在Web界面進(jìn)行項(xiàng)目管理的時(shí)候,總覺(jué)得很不方便。
IBM Rational RequisitePro(
http://www.ibm.com )可以算是最骨灰級(jí)的一個(gè)軟件了,假如你公司整個(gè)軟件生命周期管理都是采用IBM的解決方案,那使用
RequisitePro是一個(gè)非常好的解決方案。需要這些軟件可以到
IBM官方網(wǎng)站上去下載一個(gè)最新版本,或者在電驢上面下載一些“特別”版本。設(shè)計(jì)工具、管理工具的完美結(jié)合,這個(gè)正是
IBM Rational RequisitePro的強(qiáng)項(xiàng)。
RequisitePro跟
Offce結(jié)合得也是非常完美。
JIRA(
http://www.atlassian.com )原來(lái)只是一個(gè)缺陷跟蹤系統(tǒng),你可以在JIRA上面創(chuàng)建新的
ISSUE,當(dāng)
ISSUE分配給某個(gè)程序員時(shí),系統(tǒng)會(huì)自動(dòng)發(fā)送一封郵件給該程序員,提示有新的BUG。
JIRA也有提供一個(gè)
Eclipse插件,你可以在Eclipse上面,查到屬于自己的ISSUE,并快速解決?,F(xiàn)在
JIRA也可以用來(lái)做項(xiàng)目管理,在操作方面非常人性化,個(gè)人一直非常喜歡使用JIRA來(lái)進(jìn)行項(xiàng)目管理、缺陷管理,再結(jié)合Eclipse,簡(jiǎn)直就是完美!但作為商業(yè)的軟件,價(jià)格也非常貴,互聯(lián)網(wǎng)上也有很多Crack,大家有興趣也可以搜一下。
OSRMT(
http://sourceforge.net/projects/osrmt )是一個(gè)開(kāi)源的需求管理工具,分為客戶端跟服務(wù)器,也提供了一個(gè)安裝界面供用戶安裝,做開(kāi)源的已經(jīng)算是做得非常完美了。當(dāng)前最新版本是V1.5,有興趣的朋友可以下載一個(gè)最新版本玩一下,操作還算是挺人性化的。
Xplanner(
http://www.xplanner.org )是一個(gè)開(kāi)源的,基于XP編程的項(xiàng)目管理軟件,它可以幫我們生成一些統(tǒng)計(jì)圖表。這個(gè)軟件從06年底發(fā)布0.7b7版后,就再也沒(méi)有更新過(guò)了,我對(duì)開(kāi)源工具的看法就是:版本號(hào)沒(méi)有超過(guò)1.0版,我都不會(huì)應(yīng)用于生產(chǎn)!對(duì)于Xplanner,也是停留在試用的階段。
Openworkbench(
http://www.openworkbench.org )也是一個(gè)開(kāi)源的項(xiàng)目管理軟件,其功能跟Project 2003相似,是一個(gè)值得大家去使用的一個(gè)工具,但對(duì)于中國(guó)很多軟件公司,都是使用特別版的Project 2003。假如你很尊重版權(quán),又不想使用Project 2003,那Openworkbench是一個(gè)非常好的選擇。
第二、需求分析工具 需求分析工具用得比較多可能就是
Rational Rose、
MicroSoft Visio或
MindManager,一般我們使用
Rational Rose來(lái)進(jìn)行用例分析,畫用例圖,畫狀態(tài)圖;使用MicroSoft Visio來(lái)畫出應(yīng)用系統(tǒng)的結(jié)構(gòu)圖、流程圖等。當(dāng)然,對(duì)于MicroSoft Visio能畫出來(lái)的東西,其實(shí)
Rose也一樣可以實(shí)現(xiàn),只是,大家都是這么干,我們也沒(méi)有必要專門去做一些特例的東西,特別是對(duì)于一些比較特殊的公司及行業(yè)。
Ration Rose 2003是一個(gè)值得懷念的工具,至今還是有很多公司跟個(gè)人都是使用,個(gè)人覺(jué)得這個(gè)軟件版本算是最經(jīng)典的一個(gè),但對(duì)于現(xiàn)在所見(jiàn)即所得的要求下,使用Rose 2003,可能沒(méi)有辦法滿足你,因?yàn)樗枰?jīng)過(guò)一些小操作才能滿足你的要求。但不可否認(rèn),它是一個(gè)非常優(yōu)秀的軟件。現(xiàn)在對(duì)于一些喜歡使用新工具新技術(shù)的程序員,也許現(xiàn)在他們正在使用RSA。
MicroSoft Visio(
http://www.microsoft.com )是每個(gè)搞設(shè)計(jì)的人都會(huì)用的一個(gè)工具,我們一般使用Visio來(lái)畫系統(tǒng)結(jié)構(gòu)圖、關(guān)鍵流程圖、系統(tǒng)部署結(jié)構(gòu)圖等。MicroSoft Visio也提供了UML的功能,可以用它來(lái)畫用例圖、類圖、狀態(tài)圖,時(shí)序圖等,但一般這個(gè)功能很少使用。至少我基本上不用。
MindManager(
http://www.mindjet.com )是一個(gè)非常好用的工具,我們用來(lái)描述我們的思維,很多人都不喜歡通過(guò)軟件來(lái)描述,而是通過(guò)一張紙,然后在上面進(jìn)行涂鴉,接著跟客戶或團(tuán)隊(duì)進(jìn)行思維溝通。MindManager很好地解決了這個(gè)問(wèn)題。MindManager跟Office結(jié)合得非常完美,可以生成Word、Excel、PDF等文件。這個(gè)工具是我一直在使用的一個(gè)軟件,非常好用。最新版本為7,大家有興趣可以下載一個(gè)試用一下,也可以在網(wǎng)搜搜索一些“特別”版本。
二、系統(tǒng)設(shè)計(jì)階段:第一、系統(tǒng)設(shè)計(jì)工具 主流的系統(tǒng)設(shè)計(jì)工具有大家非常熟悉的Rose2003,不過(guò),現(xiàn)在已經(jīng)不叫Rose了,現(xiàn)在IBM最新的設(shè)計(jì)工具是RSA(Ration Software Architect),Borland Together,SyBase PowerDesinger,MicroSoft Visio,對(duì)于開(kāi)源的系統(tǒng)設(shè)計(jì)工具也有很多,比如ArgoUML、DBDesigner等等。
RSA(
http://www.ibm.com ):IBM最新的設(shè)計(jì)工具,它是一個(gè)基于Eclipse平臺(tái)的一個(gè)工具,對(duì)于你使用RSA,那也許你會(huì)將你的整個(gè)團(tuán)隊(duì)的工具都采用IBM的整套解決方案,使用RequisitePro來(lái)進(jìn)行需求管理、使用RSA來(lái)進(jìn)行建模、使用ClearCase來(lái)進(jìn)行配置管理、使用ClearQuest來(lái)進(jìn)行缺陷跟蹤、使用RFT(Rational Functional Tester)來(lái)進(jìn)行測(cè)試……RSA有一個(gè)最大的優(yōu)點(diǎn),那就是跟Word結(jié)合得非常好。這一點(diǎn)可以肯定。
Together(
http://www.borland.com ):Borland公司的NB的設(shè)計(jì)工具,Together 2006版本也是一個(gè)基于Eclipse平臺(tái)的軟件,功能也是非常強(qiáng)大,其所見(jiàn)所得的功能,是我非常喜歡它的一個(gè)原因。還有一個(gè)原因就是基于Eclipse平臺(tái),這個(gè)可以跟我的開(kāi)發(fā)工具很完美地整合在一起。不過(guò),整合要注意一個(gè)問(wèn)題,那就是Eclipse兼容性問(wèn)題,這一點(diǎn)是非常煩人的。
PowerDesigner(
http://www.sybase.com ): PowerDesigner是“一站式”建模與設(shè)計(jì)解決方案,物理數(shù)據(jù)模型的數(shù)據(jù)庫(kù)平臺(tái)無(wú)關(guān)性,所見(jiàn)即所得,反向工程,報(bào)表生成等等功能,使得它成為數(shù)據(jù)庫(kù)設(shè)計(jì)人員心目中最好的產(chǎn)品,它的易用性深深地吸引了我!特別它的Repository模型庫(kù)的功能,更讓我們實(shí)現(xiàn)了模型設(shè)計(jì)的版本控制。最新的PowerDesigner,使得我覺(jué)得它是一件藝術(shù)品。做設(shè)計(jì)的人員一般會(huì)使用PowerDesigner來(lái)進(jìn)行數(shù)據(jù)庫(kù)物理模型設(shè)計(jì),它是我心目中的首選工具。之前曾經(jīng)對(duì)比過(guò)RSA、Together、ERWin的數(shù)據(jù)庫(kù)模型設(shè)置工具,最終我還是更加喜歡使用PowerDesigner,也許,我的操作習(xí)慣已經(jīng)被PowerDesigner腐蝕。
第二、開(kāi)發(fā)的技術(shù)框架 技術(shù)框架的選擇是非常關(guān)鍵,一個(gè)好的技術(shù)框架,可以讓我們的開(kāi)發(fā)更加快速、團(tuán)隊(duì)的分工更加合理、系統(tǒng)能夠支持多種數(shù)據(jù)庫(kù)平臺(tái)、我們的維護(hù)更加方便。
Web前端MVC框架是
Struts 2。Struts 2可以說(shuō)是Struts穿上了WebWork的外衣,其內(nèi)核大部分都是采用了WebWork的技術(shù),并且基于AOP的設(shè)計(jì)思想,讓我們?cè)谲浖O(shè)計(jì)上的能夠更加多地體現(xiàn)“高內(nèi)聚,低耦合”的設(shè)計(jì)思想。
J2EE框架是
Spring,作為一個(gè)開(kāi)源的J2EE框架,雖然它沒(méi)有太多的新技術(shù)點(diǎn),但它的整合性,拿得我們的開(kāi)發(fā)更加簡(jiǎn)單,IOC、AOP、事務(wù)處理、開(kāi)源框架的整合支持等等,使得作為一個(gè)J2EE框架的首選。
持久層框架是
Hibernate,作為一個(gè)開(kāi)源的項(xiàng)目,我想,沒(méi)有一個(gè)開(kāi)源項(xiàng)目的社區(qū)能夠你Hibernate一樣,豐富的文檔,活躍的社區(qū),基于Hibernate的開(kāi)發(fā)團(tuán)隊(duì)的龐大,使得它作為持久層框架的首先?;?Hibernate,我們可以開(kāi)發(fā)出數(shù)據(jù)庫(kù)平臺(tái)無(wú)關(guān)性的產(chǎn)品。但是,Hibernate也有自身的問(wèn)題,假如使用不當(dāng),也許會(huì)有所失控,一旦失控,它所帶來(lái)的,就是性能問(wèn)題。對(duì)于最新的Hibernate3,存儲(chǔ)過(guò)程的支持,外部SQL的定制,很好地解決了這個(gè)問(wèn)題。但在關(guān)聯(lián)關(guān)系上,使用還是要小心為好。
頁(yè)面框架,可以多考慮使用DIV技術(shù)、JSTL標(biāo)簽庫(kù)、Struts 2標(biāo)簽庫(kù)、DWR、AJAX、XML+XSLT等技術(shù)來(lái)讓我們頁(yè)面更好維護(hù),使用OSCache緩存技術(shù)來(lái)提高我們頁(yè)面的訪問(wèn)速度。
第三、開(kāi)發(fā)規(guī)范的定制 文件命名規(guī)范、數(shù)據(jù)庫(kù)設(shè)計(jì)規(guī)范、編碼規(guī)范、團(tuán)隊(duì)協(xié)作規(guī)定等等一些規(guī)范性的東西,需要在系統(tǒng)開(kāi)發(fā)前就規(guī)定好,并且做相應(yīng)的培訓(xùn)。QA也要做好監(jiān)督的作用,定期做評(píng)審工作,對(duì)已發(fā)生的問(wèn)題及可能出現(xiàn)的問(wèn)題,及早發(fā)現(xiàn),及早處理。
第四、開(kāi)發(fā)工具的選擇 團(tuán)隊(duì)一定要選擇同樣的開(kāi)發(fā)工具,開(kāi)發(fā)工具相同,軟件版本相同。為什么要這樣子做,其實(shí)假如你作為一個(gè)Team Leader,你會(huì)在管理你的團(tuán)隊(duì)的時(shí)候發(fā)現(xiàn)很多問(wèn)題,而解決這個(gè)問(wèn)題,那在項(xiàng)目編碼前,就把什么東西都規(guī)定好,以免其中發(fā)生問(wèn)題,影響整個(gè)團(tuán)隊(duì)的開(kāi)發(fā)速度。開(kāi)發(fā)工具的選擇也是非常重要的,目前企業(yè)用得比較多的開(kāi)發(fā)工具有:Eclipse、Jbuilder、NetBeans、IDEA。
Jbuilder:最新的Jbuilder版本是2007,2007版基本上可以算是重新開(kāi)發(fā)的版本,因?yàn)樗腔贓clipse之上的。我算是Borland公司最為忠實(shí)的Fans啦,從Jbuilder6,到Jbuilder7,再到Jbuilder8,再到Jbuilder9、Jbuilder X,Jbuilder 2005,Jbuilder 2006,我經(jīng)常跟我學(xué)生說(shuō),對(duì)于Jbuilder,相信沒(méi)有人比我更熟悉他了,做Java開(kāi)發(fā)接近6年時(shí)間,超過(guò)4年的時(shí)間,每天都都在使用的工具,Jbuilder見(jiàn)證了我的長(zhǎng)成。使用過(guò)Jbuilder的人很多人知道一點(diǎn),就是Jbuilder的盜版問(wèn)題,安裝完Jbuilder之后,假如你一個(gè)不小心,沒(méi)有安裝防火墻,那Jbuilder會(huì)不時(shí)通過(guò)8888端口向Borland總部發(fā)送一些你的計(jì)算機(jī)信息,這個(gè)是一種非??膳碌摹澳抉R”,什么是“木馬”?這個(gè)就是!這種情況自從Jbuilder X以后就一直有。假如你不怕Borland公司的人跟工商局過(guò)來(lái)查你公司的軟件的話,那選擇Jbuilder是一個(gè)不錯(cuò)的選擇。作為Java IDE開(kāi)發(fā)平臺(tái)的老大,Jbuilder在企業(yè)應(yīng)用開(kāi)發(fā)是非常有優(yōu)勢(shì)的,特別是開(kāi)發(fā)EJB跟WebService,偶只能用一個(gè)句來(lái)形容,那就是牛。Jbuilder 2007,王者歸來(lái),相信對(duì)于很多Borland的Fans,還是非常喜歡并樂(lè)意去嘗試的,不過(guò),價(jià)格還是會(huì)讓很多公司都受不了、速度會(huì)讓很多程序員也受不了。我的Jbuilder的緣分到2006就基本上已經(jīng)結(jié)束了?,F(xiàn)在我的開(kāi)發(fā)環(huán)境基本上都是Eclipse。
Eclipse:IBM捐出來(lái)的好東西,發(fā)展挺快的,現(xiàn)在已經(jīng)到了Eclipse3.3,非常好用的一個(gè)工具。但Eclipse只是一個(gè)基礎(chǔ)平臺(tái),假如你需要其他的功能,那你需要下載相關(guān)的插件進(jìn)行擴(kuò)展,下載的插件要注意一下跟Eclipse平臺(tái)的兼容性問(wèn)題。
Eclipse+MyEclipse(
http://www.myeclipseide.com )是個(gè)是很多WEB開(kāi)發(fā)人員都是在采用的一個(gè)整合工具,但MyEclipse要錢,如果公司愿意為此支付29.9美元的話,那它是一個(gè)非常好的選擇;比MyEclipse更上一個(gè)檔次的還有
Exadel(
http://www.exadel.com/web/portal/home ),不過(guò),價(jià)格貴得離譜,因?yàn)樗旧砭褪且患易稍兎?wù)公司做出來(lái),主要還是靠咨詢服務(wù),培訓(xùn)掙錢,并且,運(yùn)行時(shí)的不穩(wěn)定,也讓我放棄了選擇這個(gè)插件作為我的開(kāi)發(fā)工具,雖然這個(gè)工具真的是很強(qiáng)大。
Eclipse+WTP(
http://www.eclipse.org )也是一個(gè)非常好的免費(fèi)的開(kāi)發(fā)工具,從eclipse官方網(wǎng)站上可以下載WTP跟Eclipse整合在一起的工具,現(xiàn)在教學(xué)基本上用這個(gè)。
Lomboz(
http://lomboz.objectweb.org/ )也是一個(gè)非常好用的免費(fèi)J2EE插件,學(xué)生用的很多,因?yàn)楹孟裼胁簧贂际怯眠@個(gè)進(jìn)行教學(xué)的。通過(guò)插件來(lái)的擴(kuò)展本來(lái)是一件好事,但當(dāng)它的版本問(wèn)題?兼容性問(wèn)題?安全性問(wèn)題?語(yǔ)言問(wèn)題?出現(xiàn)的時(shí)候,你就會(huì)罵著,為什么不提供一站式開(kāi)發(fā)平臺(tái)呢?如果你下載了語(yǔ)言包,你會(huì)發(fā)現(xiàn),有些地方是中文的,有些地方是英文的,極其丑陋!也許,Eclipse作為一個(gè)基礎(chǔ)平臺(tái),它確實(shí)是太基礎(chǔ)了。但現(xiàn)在,我們也可以下載一些All-In-One版本的Eclipse,但個(gè)人感覺(jué)還是不夠,很多功能,我們還需要去找插件來(lái)進(jìn)行擴(kuò)展。也許,Eclipse的決策者認(rèn)為,作為基礎(chǔ)平臺(tái),肯定是越簡(jiǎn)單越好,需要什么就加什么,這樣,資源占用會(huì)更少。正如東方標(biāo)準(zhǔn)最咨深的平面老師曾宇飛講過(guò)一句話:你會(huì)去麥當(dāng)勞點(diǎn)酸菜魚(yú)吃嗎?
NetBeans:作為Sun公司出品的開(kāi)發(fā)工具,功能一樣也是非常強(qiáng)大,不管你是做應(yīng)用程序開(kāi)發(fā)還是做應(yīng)用系統(tǒng)開(kāi)發(fā),NetBeans都是一個(gè)不錯(cuò)的選擇。NetBeans也跟Eclispe一樣,也是一個(gè)基礎(chǔ)平臺(tái),但這個(gè)基礎(chǔ)平臺(tái)做得比Eclipse強(qiáng)大很多,基本上你下載一個(gè)NetBeans就可以開(kāi)發(fā)應(yīng)用程序或J2EE應(yīng)用系統(tǒng)了。并且,NetBeans的中文支持非常好,基本上一個(gè)新版本出來(lái),就已經(jīng)有中文版、英文版跟日語(yǔ)版了??磥?lái),NetBeans的決策者還是比較看好這些人群的。NetBeans的Mobile插件開(kāi)發(fā)J2ME是最快最好用的,至少我個(gè)人這么認(rèn)為。開(kāi)發(fā)J2ME應(yīng)用產(chǎn)品,我首選的就是NetBeans。目前NetBeans已經(jīng)發(fā)展到6.0的版本了,界面非常華麗,有興趣的朋友可以下載一個(gè)玩一下。NetBeans的下載地址是:
http://www.netbeans.org 。
IDEA:對(duì)于IDEA的評(píng)價(jià),我只能用六個(gè)字來(lái)形容,那就是:實(shí)用的藝術(shù)品。它非常好用,界面非常華麗,相當(dāng)如果你是一個(gè)女性的項(xiàng)目經(jīng)理或技術(shù)牛人,你會(huì)喜歡上這件藝術(shù)器的。IDEA開(kāi)發(fā)應(yīng)用程序非常強(qiáng)大,這一點(diǎn)絕對(duì)可以肯定。官方提供的插件也非常豐富,當(dāng)你需要那一方面的功能,基本上都可以找得到,找插件,你只需要在官方插件庫(kù)里面去找就可以了,并且自動(dòng)安裝,自動(dòng)更新。作為2003年拿到JavaWorld大將的一個(gè)作品,相信,它可以帶來(lái)很多IDEA的創(chuàng)新。它是屬于商業(yè)化的工具,價(jià)格也只有499美元,而個(gè)人買也就249美元,如果你愿意犧牲某些功能,那你完全可以下載一個(gè)免費(fèi)的版本。價(jià)格方面,個(gè)人覺(jué)得完全對(duì)得起這件藝術(shù)品價(jià)值。有興趣的話可以下載一個(gè)試用版玩一下:
http://www.jetbrains.com/idea ,小聲地說(shuō),上一下baidu,插件一下,其實(shí)你可以找到很多注冊(cè)號(hào)。
Ant是apache的一個(gè)開(kāi)源項(xiàng)目,可以從Ant官方網(wǎng)站上下載一個(gè)最新的版本:
http://ant.apache.com 。雖然該項(xiàng)目雖然現(xiàn)在發(fā)展變得非常緩慢,但可以非??隙ǖ刂v,它是一個(gè)好東西。我們可以使用ant來(lái)對(duì)我們整個(gè)工程進(jìn)行編譯,打包,單元測(cè)試,部署等等,基本上你想得到的東西,Ant可以幫你做得到。Maven(
http://maven.apache.com )是一人比Ant還要強(qiáng)大的工具,現(xiàn)在大有Maven將會(huì)代替Ant的趨勢(shì),Maven也是項(xiàng)目經(jīng)理要關(guān)注的一個(gè)技術(shù)點(diǎn)。基本上現(xiàn)在主流的開(kāi)發(fā)工具都提供共了對(duì)Ant的支持,有些甚至是依賴,比如:NetBeans,你在NetBeans當(dāng)中創(chuàng)建一個(gè)新的工程,那系統(tǒng)會(huì)自動(dòng)地創(chuàng)建一個(gè)ant的運(yùn)行腳本程序。對(duì)于你進(jìn)行編譯、打包、發(fā)布,那完全都是依賴于這個(gè)ant腳本。我們可以使用Ant來(lái)開(kāi)發(fā)一個(gè)DailyBuild(微軟叫每日產(chǎn)品生成,XP叫持久集成)的流程,來(lái)提高我們整個(gè)團(tuán)隊(duì)的軟件開(kāi)發(fā)質(zhì)量。Ant的使用非常簡(jiǎn)單,多看手冊(cè),多花點(diǎn)心思,那你會(huì)做得更好。
三、開(kāi)發(fā)階段第一、配置管理工具代碼管理工具有很多,現(xiàn)在公司用得比較多的代碼管理工具有
CVS、
VSS、
SVN。
對(duì)于一個(gè)開(kāi)發(fā)團(tuán)隊(duì)只有2-5個(gè)人,并且這兩三個(gè)人是同一間辦公室里,那使用VSS是一個(gè)非常不錯(cuò)的選擇,個(gè)人覺(jué)得他小團(tuán)隊(duì)的管理方面非常好用。個(gè)人覺(jué)得VSS唯一的缺點(diǎn)就是一個(gè)文件當(dāng)被一個(gè)人鎖定,那其他人就沒(méi)有辦法進(jìn)行修改了,當(dāng)一個(gè)文件為多個(gè)人所共用且開(kāi)發(fā)團(tuán)隊(duì)人數(shù)較多時(shí),這種問(wèn)題將會(huì)顯示非常嚴(yán)重。VSS客戶端跟服務(wù)器你都可以從Visio Studio里面找到。
Eclipse的VSS客戶端插件:
http://vssplugin.sourceforge.net/ 對(duì)于一個(gè)開(kāi)發(fā)團(tuán)隊(duì)有超過(guò)5個(gè)人,那此如選擇CVS或SVN將是一個(gè)更好的選擇,并且,假如你的團(tuán)隊(duì)是分散的,可能不在一間辦公室或者根本不在同一個(gè)城市,那使用CVS或SVN是一個(gè)非常更想的選擇。CVS的服務(wù)器一般是使用CVSNT或CVSServer。
CVSServer:
Linux for X86:
http://ftp.gnu.org/non-gnu/cvs/binary/stable/x86-linux/RPMS/i386/Window for X86:
http://ftp.gnu.org/non-gnu/cvs/binary/stable/x86-woe/CVSNT:
http://www.cvsnt.org/CVSClient:
WinCVS:
http://www.wincvs.org TortoiseCVS:
http://www.tortoisecvs.org/ JBuilder、
Eclipse、
NetBeans、
IDEA集成的CVS客戶端
作為版本管理工具,CVS出現(xiàn)至今,已經(jīng)有二十個(gè)年頭,可以說(shuō)他已經(jīng)走到了盡頭,但可以肯定,它將繼續(xù)存在著。SVN是作為CVS的代替產(chǎn)品而出現(xiàn)的。現(xiàn)在很多開(kāi)源組織,都慢慢地轉(zhuǎn)到SVN上,比如Apache跟SourceForge。SVN有著比CVS更強(qiáng)大的功能,比如,它可記錄目錄的更改,它的性能比CVS會(huì)快很多等等。目前SVN慢慢地被企業(yè)所接受,但個(gè)人覺(jué)得其Eclipse的客戶端的穩(wěn)定性還有待提高,也許這個(gè)跟Eclipse的版本兼容性有一定關(guān)系。但這些不穩(wěn)定性,讓我現(xiàn)在對(duì)這個(gè)產(chǎn)品的使用還繼續(xù)停留在試用的階段。
SVNServer:
http://subversion.tigris.org/SVNClient:
TortoiseSVN :
http://tortoisesvn.net/ Eclipse插件:
http://subclipse.tigris.org/目前SVN插件支持包括Eclipse、Jdeveloper、NetBeans等開(kāi)發(fā)工具。
第二、知識(shí)庫(kù)管理工具團(tuán)隊(duì)每一個(gè)人在開(kāi)發(fā)的時(shí)候都會(huì)發(fā)現(xiàn)一些問(wèn)題,最終,有些問(wèn)題可能沒(méi)有辦法解決,有些問(wèn)題可以解決。一般情況,大部分問(wèn)題經(jīng)過(guò)團(tuán)隊(duì)成員的共同努力,都是可以解決的,那解決問(wèn)題的方法,解決問(wèn)題的步驟,這些都應(yīng)該形成知識(shí)。作為一個(gè)團(tuán)隊(duì)的Leader,我們必須重視這些知識(shí),因?yàn)?,這些知識(shí)非常有用,它對(duì)于一些新手或沒(méi)有遇到此類問(wèn)題的同事,能夠提供相應(yīng)的幫助。
Confluence(
http://www.atlassian.com/software/confluence ),跟JIRA來(lái)自同一家公司的產(chǎn)品,它跟JIRA可以整合得非常好。我們可以通過(guò)JIRA的ISSUE,將該ISSUE上升為一個(gè)知識(shí)。假如你是使用JIRA來(lái)進(jìn)行項(xiàng)目管理跟缺陷管理,那使用Confluence是一個(gè)最佳選擇。
PHPBB(
http://www.phpbb.com ),論壇其實(shí)也是一個(gè)非常好的知識(shí)庫(kù)管理工具,當(dāng)某一個(gè)工程師遇到一些疑難雜癥的時(shí)候,最終,通過(guò)自己的努力或團(tuán)隊(duì)其他同事的努力,終于解決問(wèn)題了。那作為L(zhǎng)eader的你,應(yīng)該鼓勵(lì)他們將這些知識(shí),寫一些文章,然后發(fā)布在公司自己的BBS上。供大家參考及討論。這個(gè)是一種很好的方法。記得我以前,我在網(wǎng)上看到一些有用的信息,我就把它保存在我本機(jī)的PHPBB上。只可憐,后來(lái)電腦被人偷了。賊郁悶。
四、軟件測(cè)試階段 第一、缺陷管理工具 軟件你不能保證它永遠(yuǎn)不會(huì)錯(cuò),只是,有些錯(cuò)誤你暫時(shí)還沒(méi)有發(fā)現(xiàn)而已;有些錯(cuò)誤需要在某些特定的環(huán)境下它才會(huì)發(fā)生。就像Windows,時(shí)不時(shí)會(huì)有一些系統(tǒng)更新文件要求更新。可能這些更新不是錯(cuò)誤,只是一些系統(tǒng)安全方面的隱患。這些都可以算是軟件系統(tǒng)的缺陷。那這些缺陷我們應(yīng)該怎么進(jìn)行管理?怎么進(jìn)行跟蹤呢?現(xiàn)在缺陷管理用得比較多的有兩個(gè):第一個(gè)是開(kāi)源的bugzilla,另一個(gè)是商業(yè)的JIRA。
Bugzilla(
http://www.bugzilla.org ),作為開(kāi)源界缺陷管理系統(tǒng)的鼻祖,它發(fā)展到現(xiàn)在已從98年到現(xiàn)在經(jīng)有10的時(shí)間了。它的開(kāi)發(fā)語(yǔ)言是Perl,這使得它的安裝變得很麻煩,Bugzilla可以安裝在Windows、Linux、Unix等操作系統(tǒng)上?,F(xiàn)在的Eclipse也提供了對(duì)它的支持,我們可以在Eclispe平臺(tái)上,找到應(yīng)用系統(tǒng)的BUG,功能做得非常強(qiáng)大。如果安裝能更加輕松一點(diǎn),或者提供一個(gè)All-In-One版本,那會(huì)更好!
JIRA,作為商為上化的缺陷管理系統(tǒng),JIRA的價(jià)格對(duì)得起它的功能。JIRA不只是一個(gè)缺陷管理系統(tǒng),它更是一個(gè)集項(xiàng)目管理、缺陷管理、統(tǒng)計(jì)分析為一身的工具。這個(gè)工具我一直在使用,只是使用一些“特別”版本而已。
第二、軟件性能監(jiān)測(cè)工具 Jprofiler(
http://www.ej-technologies.com )是一個(gè)非常好的性能監(jiān)測(cè)工具,使用這個(gè)工具,你可以快速發(fā)現(xiàn)系統(tǒng)那些模塊出現(xiàn)性能瓶頸或算法導(dǎo)致的性能問(wèn)題;它還可以分析內(nèi)存泄漏的問(wèn)題。這個(gè)工具也提供了相應(yīng)的Eclipse插件,讓你開(kāi)發(fā)更加快速方便。它支持主流的服務(wù)器。
Borland Optimizeit Suite(
http://www.borland.com )也是一個(gè)非常好的性能監(jiān)測(cè)工具,它跟Borland產(chǎn)品整合得非常好。不過(guò),運(yùn)行這個(gè)工具,你最好準(zhǔn)備一下,最好有2G內(nèi)存,否則,本來(lái)系統(tǒng)好好的,一運(yùn)行起來(lái),你機(jī)器反而死掉了。
第三、軟件性能測(cè)試工具 Ant+Windows計(jì)劃任務(wù)創(chuàng)建公司的DailyBuild自動(dòng)化測(cè)試流程,這個(gè)是以前做的一個(gè)測(cè)試流程。使用這種測(cè)試流程,無(wú)非一個(gè)目的,就是提高公司的軟件質(zhì)量。
Jmeter(
http://jakarta.apache.org/jmeter ),這個(gè)工具是apache出品的,作為apache忠實(shí)的Fans,我對(duì)Jmeter也是很喜歡,使用Jmeter,你可以摸似多用戶環(huán)境,對(duì)應(yīng)用系統(tǒng)進(jìn)行測(cè)試,測(cè)試整個(gè)應(yīng)用系統(tǒng)能夠承受的最大并發(fā)量。
LoadRunner(
http://www.hp.com ),假如你不知道這個(gè)軟件,那你肯定做不了測(cè)試工程師,這個(gè)是最專業(yè)的一個(gè)軟件性能測(cè)試工具,它可以模似上千萬(wàn)個(gè)用戶量來(lái)進(jìn)行壓力測(cè)試,檢測(cè)系統(tǒng)能夠承受的最大并發(fā)量。這個(gè)軟件我只用過(guò)幾次,編寫腳本,進(jìn)行測(cè)試,使用來(lái)講其實(shí)算是比較簡(jiǎn)單。
五、軟件發(fā)布 軟件的發(fā)布我們會(huì)怎么去做呢?我們一般做法就是,將數(shù)據(jù)庫(kù)腳本化,包括建表語(yǔ)句、初始化數(shù)據(jù)等,還有制作WAR文件或EAR文件。然后到客戶那邊,我們需要將數(shù)據(jù)庫(kù)表及數(shù)據(jù)進(jìn)行初始化,接著,將WAR或EAR文件發(fā)布到應(yīng)用服務(wù)器上。這個(gè)也許是我們到客戶現(xiàn)在發(fā)布經(jīng)常在做的一件事情。那能不能做得更加簡(jiǎn)單呢?做法一般有兩個(gè),第一個(gè)就是使用Ant,編寫一個(gè)初始化數(shù)據(jù)庫(kù)跟發(fā)布應(yīng)用程序模塊的Ant腳本,然后到生產(chǎn)機(jī)上直接運(yùn)行該腳本即可;第二個(gè)就是制作安裝文件,一般用來(lái)制作安裝文件的有IzPack,這個(gè)是用得最多的一個(gè)免費(fèi)工具,你可以使用這個(gè)免費(fèi)工具來(lái)制作安裝程序。也許客戶都習(xí)慣了安裝程序的安裝方式了,制作一個(gè)可執(zhí)的安裝程序,有助于提高軟件產(chǎn)品化的檔次。
六、軟件維護(hù)階段第一、客戶CASE跟蹤管理工具 客戶CASE跟蹤系統(tǒng)相信很多做CISCO公司金牌代理的人都會(huì)用過(guò)。我們必須在公司內(nèi)部建立相應(yīng)的CASE跟蹤制度。當(dāng)用戶使用系統(tǒng)的時(shí)候,發(fā)現(xiàn)一些問(wèn)題,那我們需要對(duì)這些問(wèn)題進(jìn)行錄入并進(jìn)行跟蹤。像客戶呼叫服務(wù)系統(tǒng)等等一些商業(yè)化的軟件外面還是很多的,這些系統(tǒng)其實(shí)公司自己開(kāi)發(fā)一個(gè)也是很快的。但必須要有。這個(gè)也是提高整個(gè)公司整體服務(wù)形象的一種態(tài)度。
暫時(shí)先寫這些,以后再慢慢修改補(bǔ)充!
版權(quán)所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)標(biāo)明轉(zhuǎn)自
http://www.suneca.com