糯米文學吧

位置:首頁 > IT認證 > J2EE

J2EE項目開發10大風險盤點

J2EE2.09W

當你開始着手組織一個企業級Java項目的時候,就如同開始同時輪迴地扔好幾個魔術小球: 業主關係處理、持續而漫長的設計開發過程,以及保持健全與完整性,等等。每一個“小球”都會帶來其固有的風險,有些顯而易見,有些則不易發現。儘管如此,所有這些風險都是完全可以避免的。下面yjbys為大家準備了一篇分析了威脅到企業級Java項目成功的10大風險, 並一一列出了風險規避的策略方法。

J2EE項目開發10大風險盤點

在過去這段時期裏,我擔任過程序員、高級設計師以及架構設計師等工作,見識過很優秀的企業級Java項目,也見識過不好的,甚至很"醜陋"的項目。有時候我會自己問自己,為什麼一個項目可以取得成功,而另一個卻走向失敗?很難定義出某種規則或標準來表明各個不同的項目應該如何成功,J2EE項目也並不例外。但與此相反的是,我們可以從各個角度和層次上去考察項目失敗的原因,如果很好地避開了這些風險,項目就可以取得成功。在本文中,我將提出排名前10位的企業級Java項目風險,供讀者參考。

在各種各樣的風險中,有些風險只是延緩了項目的進度,有些帶來了一些不必要的工作,而另一些則會把成功的可能性徹底地消除。不過,如果預先有了足夠的準備和清醒的認識,那麼並沒有不可避免的事情。這好比如果你是一名旅行者,你清楚地知道前面的道路在什麼方向,做了充分的準備,又有一位清楚知道哪裏有危險的嚮導,這樣就會比較順利地到達自己的目的地。

  本文采用了以下結構來描述風險:

風險名稱:風險的標題(使用粗體)

項目階段:在哪個項目階段會發生風險情況

影響階段:會影響到以後的哪些階段

症狀: 風險產生時的症狀

規避方案:如何規避風險或者把其對項目的影響降低到最小程度

備註: 風險相關的補充説明和提示

  通過對企業級Java項目的仔細考察,本文將J2EE項目過程分解為以下幾個階段:

·提供商選擇: 在開始你的J2EE項目之前,要選擇最合適的提供商,從應用服務器到開發工具組合,一直至工作期間享用的咖啡的廠商。

·設計: 在遵照一系列嚴格的規範和軟件工程方法的前提下,可以開始進行足夠充分的設計,然後再很自然地進入開發階段。在開發之前,要周全地考慮好正在做什麼,以及如何往下做的問題。另外,我使用了一些設計模板來確信在進入開發之前,已經想到了所有的問題和可能的解決方案。但是,我有時也在該階段做一些編碼,有時候這樣做可以回答一些問題,有效地判斷出性能上和模塊劃分上的問題。

·開發: 也就是程序開發階段,選擇一些好的開發工具,進行精良的設計等等,在這個階段將顯示其優越性,並且可以給開發帶來很大的幫助。

·穩定性/負載測試:在該階段,系統架構師和項目經理應該凍結住產品特性,並把焦點放在質量以及產品參數(允許的併發用户數量,故障恢復情況,等等)上。質量和性能在該階段應得到足夠的重視。當然,最好應該避免在前階段寫出不良的運行緩慢的代碼而到本階段來作很多的修改。

·成熟期:這不是一個真正的項目階段,而是一個固定的準備階段。過去潛伏的錯誤(來自於糟糕的設計和開發、錯誤的廠商選擇)可能出現並影響你的系統。

OK,以下讓我們進入 top 10 項目風險!

--------------------------------------------------------------------------------

  風險1:沒有真正理解 Java, EJB, 和J2EE

這個問題可以分解為3個部分,以便於分析。

描述: 沒有真正理解Java

項目階段:開發

影響階段:設計、穩定性測試、成熟期

對系統性能的影響:可維護性、可擴展性、性能

症狀:

重複開發了JDK核心API中的功能或類

不懂得以下列表中的某些項(這只是一些主題或者實際例子而已):

垃圾收集器 (train, generational, incremental, synchronous, asynchronous)

對象在何時能被進行垃圾收集 -- dangling references

使用的繼承機制及其權衡

over-riding和over-loading方法

為什麼ng (在這裏用你所中意的類代替) 提供的性能不好

Java中的pass-by參考語義和EJB中pass-by值的語義的比較

使用 == 或者使用equals() 方法 for nonprimitives

在不同平台上Java線程的運行順序方式(例如是否是搶先方式的)

新線程和本地線程的比較

Hotspot技術(以及為什麼舊的性能調整技術降低了Hotspot 的優化效果)

JIT,以及什麼時候好的JIT變得不好(未安裝的JAVA編譯器,以及你的代碼運行得剛夠良好)

API蒐集

RMI

規避方案:

你需要不斷改進Java方面的知識,尤其是深入瞭解Java的優勢和不足之處。Java的存在價值已經遠不止是一種語言,理解平台(JDK及工具等)也是同樣重要的。具體地説,你應該是經過認證的Java程序員,如果你不是的話,也許你有時會為還有那麼多不知道的內容而感到驚訝。另外,你可以加入Java的郵件列表。以前我曾加盟過的每一個公司都加入了這樣的郵件列表,從同行中學到技術,這將是你最好的資源。

備註:

如果你或者你的團隊中的成員不真正瞭解編程語言和平台,怎麼還能保持成功的希望呢?強幹的Java程序員之於EJB和J2EE,就象是鴨子之於水一樣。與此相反,比較弱的、沒有經驗的程序員只能開發出質量低劣的J2EE應用程序。

描述: 沒有真正理解EJB

項目階段:

設計

影響階段:

開發、穩定化

對系統的影響:

維護

症狀:

EJB在第一次被調用後沒有再被使用到(尤其是stateless session bean)

沒有重複利用價值的EJB

不理解開發者要做什麼,容器提供什麼

標籤:J2EE 風險 項目