梧州八方網絡科技有限公司
 建站熱線:0774-2661286
您的位置:首頁 -> 資訊中心 -> 軟件技術

軟件架構引言之項目管理的問題(3)

2014-02-21 14:43:04  來源:  編輯:admin

在上文的三個“xx設計”中,架構設計的時間最難控制和估算,概要設計和詳細設計因為就是直接從需求條目演化而來,而且容易細化(以后我會有文章專門討論),所以雖然也是屬于“設計”這種“非線性”工作,但是“可控性”要比“架構”強很多。從個人的項目維護經驗來看,維護過程中產生的問題,有相當一部分是因為用戶需求突破了原先架構的能力所致,而正是這種問題,才是拖延時間最長,引起客戶反映最強烈,也是維護人員最痛苦最頭痛的問題。因此,“架構設計”我把它歸類到“非線性”工作中,而且是“難點”工作。

 

  我看到很多的公司軟件部門都叫做“研發部”,用英文說就是research and development的部門,但是我很少看到有公司把research和development分開做兩個部門的。這有什么關系呢?從上文我們可以看到,研究是一種非常耗費資源的工作,而且風險(尤其是技術風險)很大,很可能因為一個小技術難題不能突破而導致整個架構推翻重來,而開發的風險則要小得多,可控得多;另外一個大的區別就是研究并不直接創造價值,而開發則跟公司的收入密切相關。基于這兩個理由,就足夠把“研究”和“開發”完全分開成兩個部門了。其他當然還有許多的區別,比如考核方式等。

 

  分開之后的工作如何分配?很簡單,就是把“軟件架構”和其他有難度的“非線性”工作統統交給高手云集的“研究”部門去做;具體項目相關的業務和實現(“線性”的工作)交由“開發”部門去做,因為他們對技術要求不高,而且成本較低。說到這里,我是不是在主張每一個公司都需要專人去“研究”技術呢?恰恰相反,我主張大部分公司都不需要設立“研究”部門,至少大部分公司不要去研制甚至試圖研制所謂“自己的”軟件架構。因為軟件架構相比具體業務有一定的獨立性,并沒有一種“特別適合”于某類業務的“軟件架構”存在,即使有,它也是應該經過N個項目的M年考驗之后才會出現(N*M>10年)。我相信SAP會有這樣的架構,但是國內公司基本不會有(也許有,但是請大家理解我的懷疑)。現在市面上有很多開源的架構存在,選一個吧,然后去培訓你的員工,不斷地培訓,指導他們能夠熟練地將這個架構應用到項目中去為止,即使這樣,你的總花費也還遠遠小于請一個“高手”開發一個失敗架構的投入。

 

  如何來選擇一個現成的架構已經不在文章討論范圍之內了,因為我接下來要談的是“如何開發一個自己的架構”,不過也不用慌,如果你的開發語言是java的話,那么恭喜你,很多好用的開源架構都是java的,比如spring MVC,struts/webwork,tapestry;如果你用的是.net平臺,那么微軟已經幫你做了一個淺層的封裝,或者干脆用.net的petshop或者Duwamish的架構就可以了。


上一篇:軟件項目開發流程圖

下一篇:軟件架構引言之項目管理的問題(2)

聯系我們

官方微博:http://weibo.com/wzbafang

咨詢QQ:2818188008

咨詢熱線:0774-2661286

官方微信:八方網絡

掃一掃訪問手機版

關注微信公眾號

 
QQ在線咨詢
咨詢熱線-周經理
0774-2661286
咨詢熱線-黎經理
0774-2661286
如何提高成都麻将技术 绝地求生29日更新 百家乐网页游戏_Welcome 江西时时彩中奖技巧 bg真人app 河北快三遗漏统计表大 双色球开奖走势图带坐标 秒速飞艇会作假吗 专业赌北京赛车软件 极速赛车彩票历史开奖 亿客隆登录 吉林快三彩票开奖时间 河北快三走势图表走势图分布图高清 六合彩昨晚出的属相 今天江苏快3开奖 淘宝快3开奖结果 福建快三当天开奖走势