監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價咨詢管理系統(tǒng) | 工程設計管理系統(tǒng) | 甲方項目管理系統(tǒng) | 簽約案例 | 客戶案例 | 在線試用
X 關閉
項目進度管理軟件

當前位置:工程項目OA系統(tǒng) > 建筑OA系統(tǒng) > 項目進度管理軟件

正確看待項目開始的前期分析

申請免費試用、咨詢電話:400-8352-114

  談過RUP原則,也搞定了客戶需求,一個軟件開發(fā)項目總算從客戶端轉(zhuǎn)由開發(fā)團隊掌控。

  「太好了,案子終于進來了,大家開始動手做吧!」項目領導人宣布。于是辦公室燈火通明,準備與開發(fā)工程進行長期抗戰(zhàn)。但是等一等!不是要先做分析嗎?「分析?沒問題,我們當然也做分析。」項目領導人如此回答,同時對某人喊道:「喂,給你三天時間…不,兩天內(nèi)把分析做好,大家等著趕工呢!」

  這樣的形容或許有些夸張,不過許多開發(fā)團隊看待「前置階段」(程序撰寫之前的階段)的態(tài)度大概是如此。因為大部分人認為:反正分析又不是真正的「生產(chǎn)」,何必投入太多人力與時間在這種沒有實際貢獻的事情上?

  分析不事生產(chǎn)嗎?其實并非如此。您是否對在前兩篇文章中不斷提到的「1:200」成本概念記憶猶新?同樣一個問題,當它發(fā)生在前面階段與后面階段時,所需要投入的解決成本平均比例大約是一比兩百,所以您應該不難理解在「前置階段」中分析的重要性。

  相信絕大多數(shù)的開發(fā)人員都知道分析很重要,因為它位居承先啟后的戰(zhàn)略位置,任何一個小小的錯誤,都可能導致開發(fā)大業(yè)功虧一簣。因此,分析并非「不事生產(chǎn)」;相反的,我認為從分析階段開始就是一種生產(chǎn)。

  分析的目的

  「分析」在RUP的定義是:「正確理解問題,把需求陳述轉(zhuǎn)換成軟件概念,并開始對所欲建置的系統(tǒng)發(fā)展出一個可視化模型,以便快速、毫無銜接障礙地進入程序設計等后續(xù)階段?!篂榱诉_到這個目標,我建議采用以下作法:

  在RUP里,這個階段的工作稱為「對象導向分析」(Object Oriental Analysis),又名「視覺塑型分析」(Visualizing Modeling Analysis)?!笇ο髮蚍治觥勾韽姆治鲭A段就開始建立正確的對象導向概念,而「視覺塑型分析」則彰顯分析在此是一種可視化與模型化的過程。「對象導向」(Object Oriented,簡稱OO)是許多教科書都會介紹的程序語言概念,因此不再贅述。至于強調(diào)視覺感的「塑型」(modeling)則是一種新的觀念與作法,在此特別說明。

  Model是什么?

  什么是Model?Model就是對真實物品的簡化呈現(xiàn),它可以是汽車模型、飛機模型等實體模型,也可以是一份設計藍圖。不論如何,其目的都是利用「視覺」來代表真實物品。對RUP而言,「視覺塑型分析」也同時擁有上述兩種意涵。希望把藍圖畫出來,也期望透過這個過程創(chuàng)造「產(chǎn)品雛形」。

  為何要做Modeling?理由很簡單:因為「視覺圖像」遠較「文字陳述」更容易被理解,也更接近真實物品。所以,當開發(fā)過程與產(chǎn)品都被「視覺塑型化」之后,就產(chǎn)生以下幾個好處:

  首先,開發(fā)成員可以按照實際模型或藍圖進行討論,避免各自以文字或想象進行溝通而可能產(chǎn)生的誤解。第二,可以讓客戶驗證產(chǎn)品雛形是否符合真正需求,避免需求被扭曲。第三,可以預先了解及檢測產(chǎn)品的特色、行為與功能等,進一步掌控質(zhì)量。最后,可以據(jù)此發(fā)展成為最終產(chǎn)品。

  不過,你可能會問:「可視化?做模型?哪有那么多時間?干脆直接寫程序算了!」當然,如果做模型也要一頭鉆入實際的程序代碼撰寫工作,確實是蠻累人的。不過,幸好有個叫做「UML語言」的好東西,可以幫助我們完成這些工作。

  UML的威力

  UML(Unified Modeling Language)是一種可以把軟件開發(fā)過程中的各種產(chǎn)物予以可視化、特定化、建構(gòu)化與文件化的語言。是由Rational的Gardy Booch、Jim Rumbaugh與Ivar Jacobson三位對象導向領域的大師級人物于1994年所發(fā)展與公布的語言,隨后并經(jīng)全球各程序語言專家,以及包括IBM、HP、Microsoft、Oracle等業(yè)界大廠共同參與、制訂及推動,目前已是OMG(Object Management Group;對象管理組織)的公開性標準語言,被廣泛應用在跨領域的軟件開發(fā)過程。

  那么,UML可以做到什么事情呢?

  首先,UML可以「可視化(Visualizing)」系統(tǒng)及系統(tǒng)架構(gòu)。因而能夠把需求、問題、行為等概念或文字描述,轉(zhuǎn)換成各種互有關連的「圖形」,讓開發(fā)成員可以清楚知道系統(tǒng)的各種詳細架構(gòu),讓大家得以在共同基礎上溝通,避免誤解。

  第二,UML可以「特定化(Specifying)」一個模型。也就是可以建立一個精準、毫不模糊及完整的模型,幫助進行特定功能或行為的追蹤、檢測與控管,確保它們不會在后續(xù)階段被模糊或失焦。

  第三,UML可以「建構(gòu)(Constructing)」真正的程序代碼??梢灾苯影裊ML語言「對應轉(zhuǎn)換(Mapping)」成Java、C++、VB等真正的程序代碼或數(shù)據(jù)庫,所以產(chǎn)品雛形就能制造出來。更棒的是,它不僅提供這種「正向工程」,也允許從程序代碼轉(zhuǎn)回UML的「逆向工程」。

  第四,UML將整個系統(tǒng)架構(gòu)及開發(fā)流程「文件化(Documenting)」。因為UML除了可以把整個系統(tǒng)及系統(tǒng)架構(gòu)予以可視化,產(chǎn)生各種互有關連的大量圖表外,還會瞄準所有圖表的運作與互動細節(jié),幫助掌控從需求、項目計劃、測試到產(chǎn)品成型的所有開發(fā)流程都遵循標準作業(yè)。

  從以上說明可以發(fā)現(xiàn),UML可說是軟件分析工程的最大利器,也是整個軟件開發(fā)過程的堅強后盾。大家都知道,軟件系統(tǒng)日趨龐大復雜,而且往往也不是單獨存在,必須與其它既有或未來的系統(tǒng)互動溝通,這些都讓系統(tǒng)架構(gòu)的復雜度大幅提升,不能單靠想象或文字進行描述與溝通;應該讓UML發(fā)揮其強大的威力。

  所以,只要會利用UML,誰能說「分析」不事生產(chǎn)呢?

發(fā)布:2007-02-27 09:47    編輯:泛普軟件 · xiaona    [打印此頁]    [關閉]
相關文章:

泛普項目進度管理軟件其他應用

項目管理工具 禪道項目管理軟件 夢龍項目管理軟件 微軟項目管理軟件 裝飾管理系統(tǒng) 裝修預算軟件 項目計劃軟件 項目進度管理軟件 軟件項目管理工具 材料管理軟件 工程項目管理軟件系統(tǒng) 項目管理系統(tǒng) 施工管理軟件 建筑工程項目管理軟件 工程管理軟件