當前位置:工程項目OA系統(tǒng) > 建筑OA系統(tǒng) > 項目進度管理軟件
正確看待項目開始的前期分析
談過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)呢?
- 1一級建造師復習資料:固結(jié)灌漿的主要作用是什么
- 2消防用電設備的供配電與電氣防火防爆-消防用電設備供配電系統(tǒng)
- 3項目管理也要客戶化
- 4神州數(shù)碼組織級項目管理實踐
- 5我國施工承包合同索賠制度的缺陷及完善的建議
- 6深圳市某市政升級改造工程安全技術交底合集
- 72015年一級注冊消防工程師考試案例分析備戰(zhàn)考點4
- 8劉河線(邯臨公路-支漳河橋段)改建二標段工程施工招標預中標公示
- 92015年造價員《基礎知識》模擬試題(3)
- 10國內(nèi)外工程進度管理差異何在
- 11FIDIC合同條件下工程進度管理
- 12一級注冊消防師案例分析常見考點:餐飲建筑分類、耐火等級
- 13關于印發(fā)《2006年建設系統(tǒng)汛期安全生產(chǎn)與綜合防災工作要點》的通知
- 14一級建造師復習資料:土壩防滲體
- 15項目管理——效益提高之路
- 16環(huán)境保護應急預案
- 172015年一級消防工程師考試《技術實務》知識點1
- 18淺談工程項目施工進度的控制管理
- 192015機電工程要點:汽輪發(fā)電機系統(tǒng)主要設備的安裝技術要求
- 20一級建造師復習資料:機電工程項目實體的特點
- 212015年造價員考試:工程造價基礎知識概括(8)
- 22鄞州區(qū)公路管理段2015年橋梁檢測服務采購項目評標結(jié)果公示
- 232015年造價員考試輔導:建設工程造價咨詢合同概述
- 24二灘工程關于進度控制和協(xié)調(diào)的八個典型案例
- 25一級建造師復習資料:代理的種類
- 26有哪些研發(fā)進度管理軟件好用?
- 27混凝土噴射機安全技術交底
- 28造價員考試必備知識點:按索賠的合同依據(jù)
- 292015一級注冊消防工程師技術實務知識點:生產(chǎn)的火災危險性分類
- 30關于做好今冬明春建設系統(tǒng)安全生產(chǎn)、綜合防災和應急管理工作的通知
成都公司:成都市成華區(qū)建設南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓