Java項目的工具

      一直想寫一篇這樣的總結性文章,但不是沒有時間就是沒有勇氣寫下去,因爲怕別人丟臭雞蛋。這兩天有時間,終於鼓起勇氣,將這篇文章寫來下!也希望對一些正在尋找更好發展的朋友能有點幫助,也希望對於一些技術跟管理方面的牛人,能給予一些建議。

       作爲一名項目經理、系統架構師或技術骨幹,其水平如何,關係到公司的項目管理、軟件質量管理等方面的問題。項目經理或技術骨幹應該要起帶頭作用,使整個團隊的開發及管理能達到一種更高的水平。

       那作爲一名項目經理或公司技術骨幹應該學會那些工具及知識點呢?涉及到這一塊的工具及技術點非常多,如何去選擇,是擺在項目經理、系統架構師跟技術骨幹面前的問題。根據公司及團隊的情況,選擇合適的工具或技術框架,這一點非常重要。在項目的不同階段,需要有不同的工具來支持。

       按照軟件系統的生命週期的六個階段,一般分爲需求分析階段、系統設計階段、系統開發階段、軟件測試階段、系統發佈階段、系統維護階段,這幾個階段都需要有不同工具的支持。

一、需求分析階段:
第一、項目管理及需求管理工具

     項目管理工具很多公司都在使用,爲什麼要使用這些工具?假如沒有使用這些工具,而是使用Excel或Word進行記錄,那當需求變更?需求實現情況的跟蹤?軟件是否能按時交付?將是一件非常煩鎖且容易出錯的事情。一個軟件項目、開發團隊能否獲得成功,管理非常關鍵。比較有名的商業化工具有:MicroSoft Project Server及Project 2003、IBM Rational RequisitePro、JIRA、PowerDesinger。比較有名的開源需求管理工具包括:OSRMT(Open Source Requirements Management Tools)、Xplanner、Openworkbench等等。

     很多軟件公司都會使用SharePoint,在SharePoint平臺上,只要你想得到,基本上都可以通過配置方式來滿足你的業務需求。在SharePoint上,可以跟MicroSoft Project Server很好的結合,再配置Project 2003爲客戶端,進行公司的項目管理。也許對Project操作習慣的問題,在Web界面進行項目管理的時候,總覺得很不方便。

    IBM Rational RequisitePro(http://www.ibm.com )可以算是最骨灰級的一個軟件了,假如你公司整個軟件生命週期管理都是採用IBM的解決方案,那使用RequisitePro是一個非常好的解決方案。需要這些軟件可以到IBM官方網站上去下載一個最新版本,或者在電驢上面下載一些“特別”版本。設計工具、管理工具的完美結合,這個正是IBM Rational RequisitePro的強項。RequisitePro跟Offce結合得也是非常完美。

    JIRA(http://www.atlassian.com )原來只是一個缺陷跟蹤系統,你可以在JIRA上面創建新的ISSUE,當ISSUE分配給某個程序員時,系統會自動發送一封郵件給該程序員,提示有新的BUG。JIRA也有提供一個Eclipse插件,你可以在Eclipse上面,查到屬於自己的ISSUE,並快速解決。現在JIRA也可以用來做項目管理,在操作方面非常人性化,個人一直非常喜歡使用JIRA來進行項目管理、缺陷管理,再結合Eclipse,簡直就是完美!但作爲商業的軟件,價格也非常貴,互聯網上也有很多Crack,大家有興趣也可以搜一下。

    OSRMT(http://sourceforge.net/projects/osrmt )是一個開源的需求管理工具,分爲客戶端跟服務器,也提供了一個安裝界面供用戶安裝,做開源的已經算是做得非常完美了。當前最新版本是V1.5,有興趣的朋友可以下載一個最新版本玩一下,操作還算是挺人性化的。

    Xplanner(http://www.xplanner.org )是一個開源的,基於XP編程的項目管理軟件,它可以幫我們生成一些統計圖表。這個軟件從06年底發佈0.7b7版後,就再也沒有更新過了,我對開源工具的看法就是:版本號沒有超過1.0版,我都不會應用於生產!對於Xplanner,也是停留在試用的階段。

    Openworkbench(http://www.openworkbench.org ) 也是一個開源的項目管理軟件,其功能跟Project 2003相似,是一個值得大家去使用的一個工具,但對於中國很多軟件公司,都是使用特別版的Project 2003。假如你很尊重版權,又不想使用Project 2003,那Openworkbench是一個非常好的選擇。

第二、需求分析工具
     需求分析工具用得比較多可能就是Rational Rose、MicroSoft Visio或MindManager,一般我們使用Rational Rose來進行用例分析,畫用例圖,畫狀態圖;使用MicroSoft Visio來畫出應用系統的結構圖、流程圖等。當然,對於MicroSoft Visio能畫出來的東西,其實Rose也一樣可以實現,只是,大家都是這麼幹,我們也沒有必要專門去做一些特例的東西,特別是對於一些比較特殊的公司及行業。

    Ration Rose 2003是一個值得懷念的工具,至今還是有很多公司跟個人都是使用,個人覺得這個軟件版本算是最經典的一個,但對於現在所見即所得的要求下,使用Rose 2003,可能沒有辦法滿足你,因爲它需要經過一些小操作才能滿足你的要求。但不可否認,它是一個非常優秀的軟件。現在對於一些喜歡使用新工具新技術的程序員,也許現在他們正在使用RSA。

    MicroSoft Visio(http://www.microsoft.com )是每個搞設計的人都會用的一個工具,我們一般使用Visio來畫系統結構圖、關鍵流程圖、系統部署結構圖等。MicroSoft Visio也提供了UML的功能,可以用它來畫用例圖、類圖、狀態圖,時序圖等,但一般這個功能很少使用。至少我基本上不用。

    MindManager(http://www.mindjet.com )是一個非常好用的工具,我們用來描述我們的思維,很多人都不喜歡通過軟件來描述,而是通過一張紙,然後在上面進行塗鴉,接着跟客戶或團隊進行思維溝通。 MindManager很好地解決了這個問題。MindManager跟Office結合得非常完美,可以生成Word、Excel、PDF等文件。這個工具是我一直在使用的一個軟件,非常好用。最新版本爲7,大家有興趣可以下載一個試用一下,也可以在網搜搜索一些“特別”版本。

二、系統設計階段:
第一、系統設計工具
     主 流的系統設計工具有大家非常熟悉的Rose2003,不過,現在已經不叫Rose了,現在IBM最新的設計工具是RSA(Ration Software Architect),Borland Together,SyBase PowerDesinger,MicroSoft Visio,對於開源的系統設計工具也有很多,比如ArgoUML、DBDesigner等等。

    RSA(http://www.ibm.com ):IBM 最新的設計工具,它是一個基於Eclipse平臺的一個工具,對於你使用RSA,那也許你會將你的整個團隊的工具都採用IBM的整套解決方案,使用 RequisitePro來進行需求管理、使用RSA來進行建模、使用ClearCase來進行配置管理、使用ClearQuest來進行缺陷跟蹤、使用 RFT(Rational Functional Tester)來進行測試……RSA有一個最大的優點,那就是跟Word結合得非常好。這一點可以肯定。

    Together(http://www.borland.com ):Borland 公司的NB的設計工具,Together 2006版本也是一個基於Eclipse平臺的軟件,功能也是非常強大,其所見所得的功能,是我非常喜歡它的一個原因。還有一個原因就是基於 Eclipse平臺,這個可以跟我的開發工具很完美地整合在一起。不過,整合要注意一個問題,那就是Eclipse兼容性問題,這一點是非常煩人的。

    PowerDesigner(http://www.sybase.com ): PowerDesigner是“一站式”建模與設計解決方案,物理數據模型的數據庫平臺無關性,所見即所得,反向工程,報表生成等等功能,使得它成爲數據庫設計人員心目中最好的產品,它的易用性深深地吸引了我!特別它的Repository模型庫的功能,更讓我們實現了模型設計的版本控制。最新的 PowerDesigner,使得我覺得它是一件藝術品。做設計的人員一般會使用PowerDesigner來進行數據庫物理模型設計,它是我心目中的首選工具。之前曾經對比過RSA、Together、ERWin的數據庫模型設置工具,最終我還是更加喜歡使用PowerDesigner,也許,我的操作習慣已經被PowerDesigner腐蝕。

第二、開發的技術框架
     技術框架的選擇是非常關鍵,一個好的技術框架,可以讓我們的開發更加快速、團隊的分工更加合理、系統能夠支持多種數據庫平臺、我們的維護更加方便。

     Web前端MVC框架是Struts 2。Struts 2可以說是Struts穿上了WebWork的外衣,其內核大部分都是採用了WebWork的技術,並且基於AOP的設計思想,讓我們在軟件設計上的能夠更加多地體現“高內聚,低耦合”的設計思想。

     J2EE框架是Spring,作爲一個開源的J2EE框架,雖然它沒有太多的新技術點,但它的整合性,拿得我們的開發更加簡單,IOC、AOP、事務處理、開源框架的整合支持等等,使得作爲一個J2EE框架的首選。

     持久層框架是Hibernate,作爲一個開源的項目,我想,沒有一個開源項目的社區能夠你Hibernate一樣,豐富的文檔,活躍的社區,基於Hibernate的開發團隊的龐大,使得它作爲持久層框架的首先。基於 Hibernate,我們可以開發出數據庫平臺無關性的產品。但是,Hibernate也有自身的問題,假如使用不當,也許會有所失控,一旦失控,它所帶來的,就是性能問題。對於最新的Hibernate3,存儲過程的支持,外部SQL的定製,很好地解決了這個問題。但在關聯關係上,使用還是要小心爲好。

     頁面框架,可以多考慮使用DIV技術、JSTL標籤庫、Struts 2標籤庫、DWR、AJAX、XML+XSLT等技術來讓我們頁面更好維護,使用OSCache緩存技術來提高我們頁面的訪問速度。

第三、開發規範的定製
     文件命名規範、數據庫設計規範、編碼規範、團隊協作規定等等一些規範性的東西,需要在系統開發前就規定好,並且做相應的培訓。QA也要做好監督的作用,定期做評審工作,對已發生的問題及可能出現的問題,及早發現,及早處理。

第四、開發工具的選擇
     團 隊一定要選擇同樣的開發工具,開發工具相同,軟件版本相同。爲什麼要這樣子做,其實假如你作爲一個Team Leader,你會在管理你的團隊的時候發現很多問題,而解決這個問題,那在項目編碼前,就把什麼東西都規定好,以免其中發生問題,影響整個團隊的開發速度。開發工具的選擇也是非常重要的,目前企業用得比較多的開發工具有:Eclipse、Jbuilder、NetBeans、IDEA。

    Jbuilder:最新的Jbuilder版本是2007,2007版基本上可以算是重新開發的版本,因爲它是基於Eclipse之上的。我算是Borland公司最爲忠實的Fans啦,從Jbuilder6,到Jbuilder7,再到Jbuilder8,再到Jbuilder9、Jbuilder X,Jbuilder 2005,Jbuilder 2006,我經常跟我學生說,對於Jbuilder,相信沒有人比我更熟悉他了,做Java開發接近6年時間,超過4年的時間,每天都都在使用的工具,Jbuilder見證了我的長成。使用過Jbuilder的人很多人知道一點,就是Jbuilder的盜版問題,安裝完Jbuilder之後,假如你一個不小心,沒有安裝防火牆,那Jbuilder會不時通過8888端口向Borland總部發送一些你的計算機信息,這個是一種非常可怕的“木馬”,什麼是“木馬”?這個就是!這種情況自從Jbuilder X以後就一直有。假如你不怕Borland公司的人跟工商局過來查你公司的軟件的話,那選擇Jbuilder是一個不錯的選擇。作爲Java IDE開發平臺的老大,Jbuilder在企業應用開發是非常有優勢的,特別是開發EJB跟WebService,偶只能用一個句來形容,那就是牛。 Jbuilder 2007,王者歸來,相信對於很多Borland的Fans,還是非常喜歡並樂意去嘗試的,不過,價格還是會讓很多公司都受不了、速度會讓很多程序員也受不了。我的Jbuilder的緣分到2006就基本上已經結束了。現在我的開發環境基本上都是Eclipse。

    Eclipse:IBM捐出來的好東西,發展挺快的,現在已經到了Eclipse3.3,非常好用的一個工具。但Eclipse只是一個基礎平臺,假如你需要其他的功能,那你需要下載相關的插件進行擴展,下載的插件要注意一下跟Eclipse平臺的兼容性問題。Eclipse+MyEclipse(http://www.myeclipseide.com )是個是很多WEB開發人員都是在採用的一個整合工具,但MyEclipse要錢,如果公司願意爲此支付29.9美元的話,那它是一個非常好的選擇;比MyEclipse更上一個檔次的還有Exadel(http://www.exadel.com/web/portal/home ),不過,價格貴得離譜,因爲它本身就是一家諮詢服務公司做出來,主要還是靠諮詢服務,培訓掙錢,並且,運行時的不穩定,也讓我放棄了選擇這個插件作爲我的開發工具,雖然這個工具真的是很強大。Eclipse+WTP(http://www.eclipse.org )也是一個非常好的免費的開發工具,從eclipse官方網站上可以下載WTP跟Eclipse整合在一起的工具,現在教學基本上用這個。Lomboz(http://lomboz.objectweb.org/ )也是一個非常好用的免費J2EE插件,學生用的很多,因爲好像有不少書都是用這個進行教學的。通過插件來的擴展本來是一件好事,但當它的版本問題?兼容性問題?安全性問題?語言問題?出現的時候,你就會罵着,爲什麼不提供一站式開發平臺呢?如果你下載了語言包,你會發現,有些地方是中文的,有些地方是英文的,極其醜陋!也許,Eclipse作爲一個基礎平臺,它確實是太基礎了。但現在,我們也可以下載一些All-In-One版本的Eclipse,但個人感覺還是不夠,很多功能,我們還需要去找插件來進行擴展。也許,Eclipse的決策者認爲,作爲基礎平臺,肯定是越簡單越好,需要什麼就加什麼,這樣,資源佔用會更少。正如東方標準最諮深的平面老師曾宇飛講過一句話:你會去麥當勞點酸菜魚吃嗎?

    NetBeans:作爲Sun公司出品的開發工具,功能一樣也是非常強大,不管你是做應用程序開發還是做應用系統開發,NetBeans都是一個不錯的選擇。 NetBeans也跟Eclispe一樣,也是一個基礎平臺,但這個基礎平臺做得比Eclipse強大很多,基本上你下載一個NetBeans就可以開發應用程序或J2EE應用系統了。並且,NetBeans的中文支持非常好,基本上一個新版本出來,就已經有中文版、英文版跟日語版了。看來,NetBeans的決策者還是比較看好這些人羣的。NetBeans的Mobile插件開發J2ME是最快最好用的,至少我個人這麼認爲。開發 J2ME應用產品,我首選的就是NetBeans。目前NetBeans已經發展到6.0的版本了,界面非常華麗,有興趣的朋友可以下載一個玩一下。 NetBeans的下載地址是:http://www.netbeans.org 。

    IDEA:對於IDEA的評價,我只能用六個字來形容,那就是:實用的藝術品。它非常好用,界面非常華麗,相當如果你是一個女性的項目經理或技術牛人,你會喜歡上這件藝術器的。IDEA開發應用程序非常強大,這一點絕對可以肯定。官方提供的插件也非常豐富,當你需要那一方面的功能,基本上都可以找得到,找插件,你只需要在官方插件庫裏面去找就可以了,並且自動安裝,自動更新。作爲2003年拿到JavaWorld大將的一個作品,相信,它可以帶來很多IDEA的創新。它是屬於商業化的工具,價格也只有499美元,而個人買也就249美元,如果你願意犧牲某些功能,那你完全可以下載一個免費的版本。價格方面,個人覺得完全對得起這件藝術品價值。有興趣的話可以下載一個試用版玩一下:http://www.jetbrains.com/idea ,小聲地說,上一下baidu,插件一下,其實你可以找到很多註冊號。

    Ant是apache的一個開源項目,可以從Ant官方網站上下載一個最新的版本:http://ant.apache.com 。雖然該項目雖然現在發展變得非常緩慢,但可以非常肯定地講,它是一個好東西。我們可以使用ant來對我們整個工程進行編譯,打包,單元測試,部署等等,基本上你想得到的東西,Ant可以幫你做得到。Maven(http://maven.apache.com )是一人比Ant還要強大的工具,現在大有Maven將會代替Ant的趨勢,Maven也是項目經理要關注的一個技術點。基本上現在主流的開發工具都提供共了對Ant的支持,有些甚至是依賴,比如:NetBeans,你在NetBeans當中創建一個新的工程,那系統會自動地創建一個ant的運行腳本程序。對於你進行編譯、打包、發佈,那完全都是依賴於這個ant腳本。我們可以使用Ant來開發一個DailyBuild(微軟叫每日產品生成,XP叫持久集成)的流程,來提高我們整個團隊的軟件開發質量。Ant的使用非常簡單,多看手冊,多花點心思,那你會做得更好。

三、開發階段
第一、配置管理工具

代碼管理工具有很多,現在公司用得比較多的代碼管理工具有CVS、VSS、SVN。
對於一個開發團隊只有2-5個人,並且這兩三個人是同一間辦公室裏,那使用VSS是一個非常不錯的選擇,個人覺得他小團隊的管理方面非常好用。個人覺得 VSS唯一的缺點就是一個文件當被一個人鎖定,那其他人就沒有辦法進行修改了,當一個文件爲多個人所共用且開發團隊人數較多時,這種問題將會顯示非常嚴重。VSS客戶端跟服務器你都可以從Visio Studio裏面找到。

Eclipse的VSS客戶端插件:http://vssplugin.sourceforge.net/

     對於一個開發團隊有超過5個人,那此如選擇CVS或SVN將是一個更好的選擇,並且,假如你的團隊是分散的,可能不在一間辦公室或者根本不在同一個城市,那使用CVS或SVN是一個非常更想的選擇。CVS的服務器一般是使用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出現至今,已經有二十個年頭,可以說他已經走到了盡頭,但可以肯定,它將繼續存在着。SVN是作爲CVS的代替產品而出現的。現在很多開源組織,都慢慢地轉到SVN上,比如Apache跟SourceForge。SVN有着比CVS更強大的功能,比如,它可記錄目錄的更改,它的性能比CVS會快很多等等。目前SVN慢慢地被企業所接受,但個人覺得其Eclipse的客戶端的穩定性還有待提高,也許這個跟Eclipse的版本兼容性有一定關係。但這些不穩定性,讓我現在對這個產品的使用還繼續停留在試用的階段。

SVNServer:http://subversion.tigris.org/
SVNClient:
    TortoiseSVN :http://tortoisesvn.net/
    Eclipse插件:http://subclipse.tigris.org/
目前SVN插件支持包括Eclipse、Jdeveloper、NetBeans等開發工具。

第二、知識庫管理工具
團隊每一個人在開發的時候都會發現一些問題,最終,有些問題可能沒有辦法解決,有些問題可以解決。一般情況,大部分問題經過團隊成員的共同努力,都是可以解決的,那解決問題的方法,解決問題的步驟,這些都應該形成知識。作爲一個團隊的Leader,我們必須重視這些知識,因爲,這些知識非常有用,它對於一些新手或沒有遇到此類問題的同事,能夠提供相應的幫助。

    Confluence(http://www.atlassian.com/software/confluence ),跟JIRA來自同一家公司的產品,它跟JIRA可以整合得非常好。我們可以通過JIRA的ISSUE,將該ISSUE上升爲一個知識。假如你是使用 JIRA來進行項目管理跟缺陷管理,那使用Confluence是一個最佳選擇。

    PHPBB(http://www.phpbb.com ),論壇其實也是一個非常好的知識庫管理工具,當某一個工程師遇到一些疑難雜症的時候,最終,通過自己的努力或團隊其他同事的努力,終於解決問題了。那作爲 Leader的你,應該鼓勵他們將這些知識,寫一些文章,然後發佈在公司自己的BBS上。供大家參考及討論。這個是一種很好的方法。記得我以前,我在網上看到一些有用的信息,我就把它保存在我本機的PHPBB上。只可憐,後來電腦被人偷了。賊鬱悶。

四、軟件測試階段
第一、缺陷管理工具
     軟件你不能保證它永遠不會錯,只是,有些錯誤你暫時還沒有發現而已;有些錯誤需要在某些特定的環境下它纔會發生。就像Windows,時不時會有一些系統更新文件要求更新。可能這些更新不是錯誤,只是一些系統安全方面的隱患。這些都可以算是軟件系統的缺陷。那這些缺陷我們應該怎麼進行管理?怎麼進行跟蹤呢?現在缺陷管理用得比較多的有兩個:第一個是開源的bugzilla,另一個是商業的JIRA。

    Bugzilla(http://www.bugzilla.org ),作爲開源界缺陷管理系統的鼻祖,它發展到現在已從98年到現在經有10的時間了。它的開發語言是Perl,這使得它的安裝變得很麻煩,Bugzilla可以安裝在Windows、Linux、Unix等操作系統上。現在的Eclipse也提供了對它的支持,我們可以在Eclispe平臺上,找到應用系統的 BUG,功能做得非常強大。如果安裝能更加輕鬆一點,或者提供一個All-In-One版本,那會更好!

    JIRA,作爲商爲上化的缺陷管理系統,JIRA的價格對得起它的功能。JIRA不只是一個缺陷管理系統,它更是一個集項目管理、缺陷管理、統計分析爲一身的工具。這個工具我一直在使用,只是使用一些“特別”版本而已。

第二、軟件性能監測工具
    Jprofiler(http://www.ej-technologies.com )是一個非常好的性能監測工具,使用這個工具,你可以快速發現系統那些模塊出現性能瓶頸或算法導致的性能問題;它還可以分析內存泄漏的問題。這個工具也提供了相應的Eclipse插件,讓你開發更加快速方便。它支持主流的服務器。

    Borland Optimizeit Suite(http://www.borland.com )也是一個非常好的性能監測工具,它跟Borland產品整合得非常好。不過,運行這個工具,你最好準備一下,最好有2G內存,否則,本來系統好好的,一運行起來,你機器反而死掉了。

第三、軟件性能測試工具
    Ant+Windows計劃任務創建公司的DailyBuild自動化測試流程,這個是以前做的一個測試流程。使用這種測試流程,無非一個目的,就是提高公司的軟件質量。

    Jmeter(http://jakarta.apache.org/jmeter ),這個工具是apache出品的,作爲apache忠實的Fans,我對Jmeter也是很喜歡,使用Jmeter,你可以摸似多用戶環境,對應用系統進行測試,測試整個應用系統能夠承受的最大併發量。

    LoadRunner(http://www.hp.com ),假如你不知道這個軟件,那你肯定做不了測試工程師,這個是最專業的一個軟件性能測試工具,它可以模似上千萬個用戶量來進行壓力測試,檢測系統能夠承受的最大併發量。這個軟件我只用過幾次,編寫腳本,進行測試,使用來講其實算是比較簡單。

五、軟件發佈
     軟件的發佈我們會怎麼去做呢?我們一般做法就是,將數據庫腳本化,包括建表語句、初始化數據等,還有製作WAR文件或EAR文件。然後到客戶那邊,我們需要將數據庫表及數據進行初始化,接着,將WAR或EAR文件發佈到應用服務器上。這個也許是我們到客戶現在發佈經常在做的一件事情。那能不能做得更加簡單呢?做法一般有兩個,第一個就是使用Ant,編寫一個初始化數據庫跟發佈應用程序模塊的Ant腳本,然後到生產機上直接運行該腳本即可;第二個就是製作安裝文件,一般用來製作安裝文件的有IzPack,這個是用得最多的一個免費工具,你可以使用這個免費工具來製作安裝程序。也許客戶都習慣了安裝程序的安裝方式了,製作一個可執的安裝程序,有助於提高軟件產品化的檔次。

六、軟件維護階段
第一、客戶CASE跟蹤管理工具
     客戶CASE跟蹤系統相信很多做CISCO公司金牌代理的人都會用過。我們必須在公司內部建立相應的CASE跟蹤制度。當用戶使用系統的時候,發現一些問題,那我們需要對這些問題進行錄入並進行跟蹤。像客戶呼叫服務系統等等一些商業化的軟件外面還是很多的,這些系統其實公司自己開發一個也是很快的。但必須要有。這個也是提高整個公司整體服務形象的一種態度。
發佈了9 篇原創文章 · 獲贊 33 · 訪問量 25萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章