UML之父Ivar Jacobson:精益思想的復興

作者: 來源:未知 2012-03-05 16:52:16 閱讀 我要評論 直達商品

我們從三個方面來解釋,我們做的時候不只要可執行,而且要想好它往哪個方向去發展,就是要有個藍圖。我們需要架構,這樣會知道它會往哪個方向去發展,有架構但是沒有可執行的方面,更是一種海市蜃樓不可靠的。很多人想架構的時候是紙上談兵,這對我們來說是海市蜃樓,它是虛幻的。另外的情況是,我們今天有很多代碼,它也形成了這樣的系統,但是沒有架構,我的問題是,像這樣的東西你認為是什么?(可執行的代碼,但是沒有架構)就是一些堆積在一起的東西。

所以要關注,要有一個可執行的框架系統,同時要知道它往哪個方向去發展。開始去構造一個骨架系統然后再往下面去加它的肌肉,讓它更有力氣,變大。

價值和原則,你去做架構層的時候不止是畫圖,應該知道它的原則是什么,它的一些基本的核心價值是什么。我覺得做一個軟件系統這三個方面的東西都要有,我們要從這兒開始,而且這不是非常難做的事情。

如何構建軟件工程中的“核”藍圖

UML之父IvarJacobson:精益思想的復興

這是從美國的西部擴展到美國的東部,這是1976年的事情,那時候發展得更大,現在是無處不在,基礎的東西是骨架系統開始,并且它有一定的自己的原則,基礎性的東西。左下角寫了,當時的Internet發展是有自己的原則性的指導的東西在這里。做事的方式是一樣的,我們有一些基本的原則,包括做任何的系統,酒店的系統、航空系統都會有一些基本的原則,用這些基本的原則引導你后面往正確的方向去發展。

我們怎么去改變你現有的工作方式,從剛剛講的情況來看,后一個例子一般會比前一個例子講得更細致一些,這個例子會有一些更細節的方面。每個開發人員都知道怎么去開發自己的軟件,但是軟件開發作為一個社區和群體我們沒有一個共識應該怎么做。而這個又是非常重要的,有共識這件事對軟件開發非常重要。

軟件工程被一些不成熟的實踐嚴重妨礙了它的進步,主要表現在首先軟件工程行業看起來更像是一個時尚行業,不像是工程的行業。在20年前我很年輕,這樣的面向對方的很流行,27世紀90年代的時候組建化技術也很流行,接下來在20世紀90年代之后大家都開始使用UML,就是UP(統一的過程)。幾年前大家都在談極限編程,現在談得不多,現在大家談敏捷和其他的技術,也許明年會有一個新的東西來,大家是一會兒跟這個,一會兒跟那個,跟的同時把自己原來擅長的東西扔掉了。并不是說所有新的東西都不好,其實都有好的東西,比如說敏捷使我們能夠快速獲得反饋,能夠快速交互,但是有可能在擴展性上存在一些問題。所以把原來所有的東西都扔掉跟時尚行業一樣,這是很愚蠢的做法。

第二點我們缺乏一個正確的被大家所廣泛接受的理論,從過去的一段時間到現在,大概有超過十萬種到五十萬種這樣的方法在市面上流轉。這個數字本身并不是最嚴重的問題,因為我們有不同的人員,不同的競爭力的人,所以需要有不同的方法來應對,問題是在于我們不知道怎么把這些好的東西能夠融合在一起,有一些方法在那有可能你都不知道。

還有一個問題我們的學院派的東西跟實際的應用技術間,有些時候有很大的障礙。剛剛提到可能只有1%的一些東西被在實際中應用到。

剛才講了很多問題,所以我們要去重建軟件工程,它是基于比較可靠的理論,以及被證明過的一些原則和最佳的實踐,這里用到一個非常震撼的詞“革命性”。這里非常關鍵的是我們需要一個“核”,這樣才能抓住問題的本質,把目前很多這樣的方法、理論和一些好的東西,能夠把它們抓到一起。

這是我們在做軟件工程“核”的藍圖,這個“核”中會包含很多基本的東西,大概有20多個這樣的元素,這里我們只提到四個,做軟件工程和軟件開發的方法中必須要用到。我們有很多種可以做需求的方法,但是在所有的軟件開發中做需求這個事是一定會有的。不管用什么樣的開發語言和技術來做軟件開發,你總是希望最后得到一個軟件系統,不管是用敏捷的方式,還是用傳統的方法,還是其他的方式,總是要有一些工作要做。

團隊開發中“核”的重要性

在軟件的開發中需要團隊,盡管有很多種不同的組織的方式,比如說跨功能的方式,但是一定需要團隊來做軟件開發。

我們有這樣的大家達成共識的軟件工程,價值在于我們能用大家所都認可的詞匯來去溝通,這樣可以解釋我們的實踐,不同的實踐可以組裝在一起,也可以用到比較好的實踐。我們把這些我們認為標準的東西放在一起,它就形成了軟件工程的“核”,它不多不少的時候正好就是反應軟件工程的本質。

如圖,有個要圖標,這就是軟件工程方法這個“核”的時候,它是可執行的,有了一個“核”之后,有很多其他的六邊形的,它們很容易組裝在一起,形成一個可以讓大家容易去采用的軟件開發和軟件工程的方法。

我要以打紙片的方式來做軟件的開發,一種卡片是“核”當中的元素卡,元素卡它會描述這個元素不同的狀態。剛才講的“核”的元素卡。這個卡片可以用在做培訓,也可以用在平時的軟件開發中。元素卡中有很多的狀態,我們可以用更小的卡片表示,需求卡,這個狀態要通過怎樣的手段來達到呢?如果都達到了最終的狀態,可以理解為你要做的事情都做完了。剛才我們談的是“核”當中可執行的這部分。

現在給大家介紹一個實例,用軟件工程“核”的方法去組織它的軟件開發方法這樣的例子。這是一家做軟件咨詢的公司,他們也做一些外包開發。在屏幕的左手邊是一個相當于實踐庫,然后可以根據我不同的需求,不同的開發項目,去組裝出開發項目所需要的軟件開發方法,它是由“核”加上它的實踐來的。這里面是兩種不同的項目,一個是老的維護的項目,另外是新的開發項目,雖然有很多實踐是來自于同一個庫,但是它們會組裝成不同的方法來適應不同的項目。

如圖,做再保險的公司,他們有20個實踐,9個“核”,在這個基礎上開發出四套它的軟件開發方法,一個是針對探索性的軟件,比如說一些新的東西,然后有一些標準開發的,有一些是針對維護性的,還有一些是用支持這樣的項目。

現在我們的方法拿出來之后,已經成為在描述工程方法方面的一個標準,就是用“核”的方式來做描述,可能它會有相應的描述的語言會出來,應該在明年會成為一個標準。

在四年前發起的宣言和聲明中,有35個知名人士,16所大學和公司以及1600個開發人員,他們是通過SEMAT網絡把他們聚在一起的,SEMAT的意思是軟件工程方法和理論,SEMAT解決方案創造了一個容器,因為所有的方法它無非都是很多實踐的組裝或是融合。剛才我們提到幾乎有50萬種方法,但是實際上比較常用只有250個實踐,通過這么多實踐,不同的組裝,就形成了很多的方法。我們希望所有的實踐都是用軟件工程“核”提供的語言的描述,這樣大家都達成共識。我們的語言應該是用標準化的方式來描述,到時候不管做什么都可以用到他。


  推薦閱讀

  林仕鼎:大數據處理 架構師的三板斧

2月18日,CSDN(微博)在北京舉行了TUP第19期活動:大數據系列研討會——從12306談起。本次研討會匯集了來自百度、豆瓣(微博)網、搜狗、淘寶、土豆、凡客誠品(微博)、新浪微博、IBM等公司的眾多業內技術高管,就大數據>>>詳細閱讀


本文標題:UML之父Ivar Jacobson:精益思想的復興

地址:http://m.sdlzkt.com/a/kandian/20120305/36942.html

樂購科技部分新聞及文章轉載自互聯網,供讀者交流和學習,若有涉及作者版權等問題請及時與我們聯系,以便更正、刪除或按規定辦理。感謝所有提供資訊的網站,歡迎各類媒體與樂購科技進行文章共享合作。

網友點評
我的評論: 人參與評論
驗證碼: 匿名回答
網友評論(點擊查看更多條評論)
友情提示: 登錄后發表評論,可以直接從評論中的用戶名進入您的個人空間,讓更多網友認識您。
自媒體專欄

評論

熱度

主站蜘蛛池模板: 中文字幕欧美成人免费| 四虎成人精品无码| 国产成人免费在线| 免费成人在线观看| 成人毛片视频免费网站观看| 国产成人综合洲欧美在线| 亚洲国产成人久久一区久久| 久久成人无码国产免费播放| 欧美成人免费全部| 国产成人精品亚洲| 欧美国产成人精品一区二区三区 | av成人免费电影| 国产成人午夜福利在线播放| 欧美成人片一区二区三区| 国产成人av一区二区三区不卡| 欧美成人全部视频| 亚洲欧美成人一区二区在线电影| 成人欧美一区二区三区在线| 久久久久国产成人精品| 亚洲精品成人网久久久久久| 成人18视频在线观看| 欧美成人三级一区二区在线观看| 亚洲国产成人久久一区www| 国产成人亚洲精品无码av大片| 成人免费视频网址| 成人午夜视频精品一区| 中文国产成人精品久久96| 免费在线观看成人| 久久电影www成人网| 久久精品免视看国产成人| 久久成人国产精品一区二区| 亚洲国产成人精品女人久久久 | 天天影院成人免费观看| 成人免费视频国产| 成人国产在线24小时播放视频| 青青草视频成人| 欧美成人在线影院| 成人怡红院视频在线观看| 天天成人综合网| 亚洲成人黄色在线观看| 欧美成人精品第一区二区三区|