當前位置:工程項目OA系統(tǒng) > 辦公軟件下載 > 文件管理軟件下載
云計算與軟件開發(fā)變革
中科院院士李未從深入剖析物聯(lián)網(wǎng)和云計算的本質(zhì),從軟件工程的角度提出了群體軟件工程的理念,并對比了傳統(tǒng)軟件工程和群體軟件工程的方方面面,最終提出了群體軟件工程的開發(fā)原則。
以下為文字實錄:
我今天要談的題目是云計算和群體軟件工程。最近這幾年大家都非常關(guān)心云計算和物聯(lián)網(wǎng),我也想談?wù)勎业囊豢字?,和大家一起討論?br />
什么是物聯(lián)網(wǎng)呢?因為談了很多,我簡單講一講。99年MIT的教授在使用電子標簽的時候首先提出的。物聯(lián)網(wǎng)是一個什么東西大家都知道,是面向特定領(lǐng)域和行業(yè)的,擁有超量數(shù)據(jù)的復雜信息應(yīng)用系統(tǒng)。我不詳細講了。
物聯(lián)網(wǎng)在各個方面,比如智能交通,智能電網(wǎng),現(xiàn)代物流,醫(yī)療健康,信息刪除方面,這都是今后要使用的。所以物聯(lián)網(wǎng)是未來信息社會的基礎(chǔ)設(shè)施,我們的目標是搞工業(yè)信息化,工業(yè)信息化的標志性成果是在這些振興行業(yè)里頭都實現(xiàn)物聯(lián)網(wǎng),也是我們戰(zhàn)略性新興產(chǎn)業(yè)的切入點。所以逃跑關(guān)鍵技術(shù),擁有自主知識產(chǎn)權(quán)是今后信息領(lǐng)域的主要任務(wù)。
物聯(lián)網(wǎng)怎么實現(xiàn)呢?我認為云計算提出一個實現(xiàn)方法。李德毅院士上午大會講了,什么是云計算?云計算是一種基于互聯(lián)網(wǎng)的大眾參與的計算模式,它的計算資源包括計算能力、存儲能力、交互能力等等,是動態(tài)、可伸縮、被虛擬化的,而且以服務(wù)的方式提供的。我認為云計算的實質(zhì)在哪里呢?實質(zhì)是對用戶屏蔽有關(guān)計算、存儲、通信和控制的底層操作細節(jié)。目的是為用戶提供簡單易用、安全可靠、需用即得的服務(wù)。用戶變得很方便了,為什么用戶變得很方便了呢?因為所有實現(xiàn)過程全部對用戶屏蔽了,想要什么取就可以了,這是云計算的基本思想。
比如說大家都了解的事,云計算提出了一個以服務(wù)為綱的體系結(jié)構(gòu)。第一個是軟件即服務(wù),終端用戶無需關(guān)心使用了哪些特定應(yīng)用軟件和資源,直接得到所需的服務(wù)。平臺即服務(wù),下一層的應(yīng)用軟件無需關(guān)心操作系統(tǒng)以及中間件的底層模塊的具體操作和運行,直接獲得所需要的功能。什么是基礎(chǔ)設(shè)施即服務(wù)呢?平臺無需關(guān)心硬件設(shè)備的細節(jié),直接得到所要求的計算和處理的資源,這是最著名的三個S——SaaS、PaaS、IaaS。
所以云計算為物聯(lián)網(wǎng)的實現(xiàn),特別是軟件系統(tǒng)的實現(xiàn)提供了解決方案,所以它的作用我認為是一種解決方案,理念是服務(wù)用戶,怎么樣實現(xiàn)它最核心的是要屏蔽最下層的那些東西。
下面我重點談一談所謂群體軟件工程。
云計算使得用戶變得很簡單了,想要什么直接獲取就行了,但是獲取的整個過程是十分復雜的,那么這個部分怎么樣才能完成呢?這是咱們在軟件界所有的人們都要付出巨大的勞動來滿足這些用戶們、使用者們的需求,特別是對于基于云計算的這些社會服務(wù)系統(tǒng)。比如各種物聯(lián)網(wǎng)和面向行業(yè)的超量信息,它和我們過去所做的軟件有些不同,主要在三個方面:具有超、變、散的特點。
首先是超,所有的物聯(lián)網(wǎng)和由云計算這個方法實現(xiàn)的這套物聯(lián)網(wǎng),成千上萬上億的人來使用,所以都是一些超大規(guī)模的系統(tǒng)。比如說大量感知受控的設(shè)備,這些感知設(shè)備要十的七次方,千萬級。同時在網(wǎng)上進行海量信息和通訊進程大約要10的12次方,兆級每秒,這么多的進程在進行。第三個是超量的非結(jié)構(gòu)化動態(tài)數(shù)據(jù),10的18次方。第一是超大規(guī)模。
第二是這些系統(tǒng),不論是智能電網(wǎng)、智能交通,甚至軍事信息柵格這些東西,都在不間斷、持續(xù)演化和部署。所以有什么改進都是在運行當中的改進,和過去一個軟件版本可以用很長時間不同。這是變。
第三是散,任何物聯(lián)網(wǎng)都涉及到多部門、多領(lǐng)域、多產(chǎn)業(yè)、多地域。比如美國的Cyber Infrastructure系統(tǒng),是覆蓋全美范圍,包括很多學科領(lǐng)域,涉及幾十所高校和研究院。這種要求和這種量對軟件工程,對系統(tǒng)的,過去傳統(tǒng)的軟件工程提出了一個挑戰(zhàn),咱們大家想想,傳統(tǒng)的軟件工程到現(xiàn)在為止我們有什么特點呢?我認為至少有三點:一是精英化,不論是各種軟件公司,在里面工作的人都畢業(yè)于優(yōu)秀的大學,至少碩士畢業(yè)的優(yōu)等生。我說的精英不是天才,是經(jīng)過系統(tǒng)有效訓練的人,高等教育的人,精英化。二是計劃性,要做一個軟件預先規(guī)劃需求,而且需求能夠提得很清楚,然后把需求不斷的展開,做到細節(jié)。開發(fā)的時候是自底向下的開發(fā),自底向下的測試,整個活動是自閉的,不對外開放的。有的時候我們增加一些什么Alpha測試、Beta測試,但是總體是不開放的,這是咱們傳統(tǒng)軟件工程的來法。面對超量的信息系統(tǒng)這就遇到麻煩。
傳統(tǒng)軟件工程與超量的信息系統(tǒng)的對比
舉一個例子。世界上最好的軟件公司是Microsoft。Windows Vista的功能模塊約6萬個,代碼6000萬行,9千熟練的專業(yè)人士,微軟的這些骨干們,耗時五年完成的Vista,這個量應(yīng)該說在傳統(tǒng)的軟件工程的框架之下的杰作,這個量級。但是咱們現(xiàn)在討論的,各位專家今天上午或者以前會議上討論的云計算,社會服務(wù)系統(tǒng),它的規(guī)模遠遠超過Windows的代碼量。舉一個例子,比如說Facebook每個月都有60億張照片上傳,這是他們自己說的。如果把每張照片都要和個人的信息等情況關(guān)聯(lián)起來,我們國家重點實驗室提出一個四面體全信息的標注和處理方法。經(jīng)過這三年的試驗,要把一張照片四方面的信息標注連接起來,一張照片大概需要12分鐘。如果按照一萬人開發(fā)來做這個事的話,需要41年才完成,但是咱用了嗎?沒有。Facebook是怎么解決的信息如此超量的問題呢?采用的群體模式。
Facebook有8.5億個用戶,這些用戶都對自己上傳的照片加以標注,或者至少一半以上加以標注,假設(shè)8.5億個人,每個人負責自己的照片,或者一個朋友的照片,一個半小時就可以完成。這就是面對著超量信息以后新的解決辦法,從軟件工程角度這是一個重要的東西。以前我說是精英化的團體,一萬個精英開發(fā)Windows,或者Vista這樣的系統(tǒng),現(xiàn)在在處理大量的、超量的,18次方信息的情況下,8億人同時上就可以解決這個超量的問題,這是第一個例子。
第二個例子,咱們天天都在得意的APP Store和Android Market,08年7月開始,大家都有手機,都使用這些應(yīng)用程序,前后有多少人參加?70萬人,Windows Vista有1萬人,現(xiàn)在70萬人,至少是70萬人次,在四年之內(nèi)完成了60萬個應(yīng)用,這是咱們過去從來沒有過的現(xiàn)象。過去為什么軟件貴?就是因為這個,現(xiàn)在都是精英經(jīng)過專門研究出來,現(xiàn)在我們達到至少是應(yīng)用軟件這個行業(yè),應(yīng)用程序我們已經(jīng)達到了極大的豐富,70萬。另外一個是45萬。這個例子說明什么呢?用群體開發(fā)模式解決超大規(guī)模建設(shè)人力不足問題的另外一個很有說服力的例子。但是目前APP Store的技術(shù)只是群體開發(fā)的一個初級階段,而且只支持互相獨立的應(yīng)用開發(fā)程序。這是第二個例子。
第三個例子,TopCoder,采用競爭性群體軟件開發(fā)模式,25萬名開發(fā)人員加入。美國在線委托TopCoder開發(fā)通信后端系統(tǒng),他任命了兩名職員做設(shè)計師和項目經(jīng)理,他們組織了少數(shù)人員把這個系統(tǒng)分成52個部分,按照傳統(tǒng)軟件工程的來法要一年完成,但是TopCoder僅僅用了五個月就完成了,而且質(zhì)量還很高,最終產(chǎn)品完全達到客戶要求,并且程序中每一千行代碼平均只有0.98個漏洞,低于業(yè)內(nèi)要求他們每千行六個漏洞標準。所以做的很好,很成功。
既然物聯(lián)網(wǎng)和在云計算的思想指導下實現(xiàn)的軟件系統(tǒng)是超量的信息系統(tǒng),咱們能不能夠借鑒在Facebook,在APP Store,在TopCoder這些東西,從Facebook的應(yīng)用數(shù)據(jù)處理,APP Store的應(yīng)用程序到TopCoder簡單服務(wù)系統(tǒng),這種軟件開發(fā)能不能進入在云計算模式下的超量的復雜系統(tǒng),全面開花,使用群體方式來開發(fā)一個復雜系統(tǒng)。
這就是我這次想跟大家討論的問題。因為群體一進入之后大家馬上就會想到,解決超量的問題是不假,但是產(chǎn)生了新問題,什么問題?安全問題,安全問題成了大問題。所以我認為群體軟件工程這么樣一種新的軟件工程,面對超量的信息系統(tǒng),采用群體的研發(fā),群體競爭的研發(fā)方式,產(chǎn)生安全可靠軟件的這樣一種新的工程,這就是群體軟件工程。這是它的目標。
群體軟件工程的核心理論是什么?就是剛才我們所克服的傳統(tǒng)軟件工程的幾點。開發(fā)過程從封閉走向開放,就像TopCoder這些,都是從封閉走向開放。開發(fā)人員從精英走向大眾,像APP Store調(diào)查的一樣,80%以上的開發(fā)人員都是13歲-28歲的青年,精英是指受過嚴格的高等教育,他們28歲-13歲怎么可能受到這種高等教育。所以從精英走到大眾,另外從工廠走向社區(qū)。三是從機械工程走到社會工程。看我們現(xiàn)在開發(fā)一個系統(tǒng),跟我們研制一個大型客機一樣,從自頂向下的設(shè)計,專業(yè)人士研究制造,訓練有素,現(xiàn)在開發(fā)面向群社會服務(wù)的這樣一些系統(tǒng),就像建設(shè)城市一樣,我們所有的城市建設(shè)都是在過去的基礎(chǔ)上逐漸的堆壘起來的。把所有整個區(qū)域都消滅掉,然后重新建設(shè),這也不可能。所以社會工程更多的思想將滲入到超量信息的研究,特別是在云的思想指導下的超量信息系統(tǒng)的構(gòu)造的東西。
開發(fā)體系是兩個都要,既要群體性,也要精英,兩面都需要的。群體性和大眾化解決軟件超量開發(fā)的問題,群體性競爭機制對軟件資源的形成、組合、測試、維護和服務(wù)的生產(chǎn)具有基礎(chǔ)性的作用。精英做什么呢?計劃性和精英化的整體規(guī)劃和管理,精英化的管理機制對軟件的構(gòu)架、組織的法則、社會規(guī)范的形成具有宏觀的決策作用,這是咱們中國特色的兩點。市場是起著基礎(chǔ)作用,政府起著宏觀調(diào)控作用,一方面是大眾,另一方面是精英,這兩個優(yōu)勢都可以發(fā)揮出來,這是需要的體制。
群體軟件工程的開發(fā)原則
開發(fā)原則我認為應(yīng)該是使用者即設(shè)計者,使用者即開發(fā)者,使用者即維護者。這個在APP Store應(yīng)用程序做到了,所有開發(fā)設(shè)計這些應(yīng)用的,同時自己也是使用者。所以他的原則是這樣。他的基本內(nèi)容我認為至少要包括下面幾個方面:
因為要群體參加,又要保證安全,所以整個的體系結(jié)構(gòu)必須是多層的體系結(jié)構(gòu)。屏蔽原理,群件組合服務(wù)原理,用戶身份的多重性原理,開發(fā)者的競爭選擇原理,競爭性測試和對抗性安全。我覺得至少應(yīng)該包括這幾個方面。
第一個方面,為什么變成了多層結(jié)構(gòu)?咱們傳統(tǒng)的軟件系統(tǒng),比如說以前Windows,我不是說Windows不好,我天天都在用,我是指對他們在過去這一階段,實際上就是兩層:一層是操作系統(tǒng)本身,另外一層是用戶,用戶我拿了操作系統(tǒng)之后,我拿了Windows之后,按照Windows的各種規(guī)定咱們來操作。說我今天覺得這個不好,我想修改修改,進到里面修改某部分,這是不可以的。所以一共就兩層,這兩層之間是不開放的。到了Android和APP Store為什么能夠把群體這個事整進來呢?這是我個人的看法。第一步是在應(yīng)用程序這方面把整個群體的積極性給調(diào)動起來。從軟件結(jié)構(gòu)看,它變成三層了,最下面這一層是操作系統(tǒng),第二層是一個開發(fā)環(huán)境,第三層上是用戶。那么用戶怎么樣呢?用戶在操作系統(tǒng)中間增加了一層,整個開發(fā)環(huán)境是對用戶都開放的。所以用戶是個設(shè)計者是指我可以設(shè)計我的應(yīng)用軟件,但是我在開發(fā)環(huán)境里頭進行設(shè)計。再深一步,從理論上說,這三層實際上的作用是什么呢?就是臨層開放,隔層屏蔽,操作系統(tǒng)不是每個人都可以開放的,這樣的話至少他在應(yīng)用程序這一層面動員了千千萬萬的應(yīng)用程序的愛好者,調(diào)動起群眾的銅墻鐵壁。但是同時操作系統(tǒng)這塊他還能夠保證安全,這是第一個基本的思想。
所以我們把這個想法再推廣一下,如果我們想把群體軟件、群體的開發(fā)深入到整個云計算的開發(fā)里面去,那么我們就應(yīng)該把整個超量信息的云計算的系統(tǒng)分成很多個層次,使得每一個層次里面都遵從臨層開放、隔層封閉,這樣的話安全性問題就解決了,這是多層次。每一層怎么樣?每一層就三樣東西:一是群件庫,函數(shù)庫,給上層應(yīng)用的。二是我的開發(fā)環(huán)境。三是數(shù)據(jù)庫,在我這一層次里,這個已經(jīng)都對我的上層、臨層開放了,對我的上上層封閉。所以屏蔽原理我也講了,臨層開放,隔層屏蔽的原理。群件怎么樣呢?每一層有基本群件和組合群件,組合群件為了云計算里的組合服務(wù),但是我們仔細有一想Android之后會發(fā)現(xiàn),組合服務(wù)其實就是一個基本的程序。怎么來組合這個層次里的服務(wù)呢?首先它基本的服務(wù)是從下一層提供的,比如說函數(shù)庫?;镜慕M合是通過順序語句組合,通過發(fā)收并存語句組合,這是核心的,比如Android領(lǐng)域用的Java,但是真正核心的就是這些東西。每一個層次都是這樣,只是不同的層次里的基本群件是由下一層提供的。這是組合群件。
所以每一個層次既然都是這樣,都類似JAY信息機一樣,所以它是多態(tài)的層次。什么是多態(tài)?比如說我們在運用函數(shù)的時候,整形的除和實數(shù)的除法類型是一樣的,但是態(tài)不同,一個是實數(shù),一個是自然數(shù),是整數(shù),這個就是多態(tài)。我不詳細講了。
另外,什么叫群件基本達標呢?每層開發(fā)者的數(shù)量和該層群件的直接數(shù)量遵從二八律,遵從二八律我們才認為他達到了群體參與開發(fā)的要求。比如說咱們講TopCoder,它實際上是25萬人,但實際開發(fā)者只有48850人,占注冊用戶的19.6%,來自204個國家,中國的選手為11541個人。我在杭州講的時候,浙江大學院長告訴我了,他們學院大概有幾十個學生都從中國直接參與TopCoder的開發(fā),而且很多同學就是因為TopCoder的開發(fā)解決了自己的學費、住宿所有的問題。說明這個群體軟件適合我們中國。
怎么組織?要有執(zhí)委會和協(xié)委會,像社會工程一樣,有政府和人大的性質(zhì)。另外很重要的一點,為什么TopCoder的開發(fā)質(zhì)量還比原來的專業(yè)隊伍還好,原因在哪里呢?就是把競爭性測試“引進來”,實戰(zhàn)勝于沙盤。
總結(jié)一下,物聯(lián)網(wǎng)是什么呢?物聯(lián)網(wǎng)是為工業(yè)信息化和國防信息化服務(wù)的基礎(chǔ)設(shè)施。云計算是什么呢?云計算是實現(xiàn)物聯(lián)網(wǎng)的一種軟件解決方案。群體軟件工程是什么呢?是實現(xiàn)云計算服務(wù)的有效開發(fā)方法。
我就講到這里,謝謝大家。
- 1如何使用文件管理軟件下載軟件提高企業(yè)效益?
- 2泛普CRM系統(tǒng)的特點
- 3IDC:2016年中國云計算基礎(chǔ)架構(gòu)市場將超10億美元
- 4文件管理軟件下載在企業(yè)中有哪些實際應(yīng)用
- 5如何利用文件管理軟件下載創(chuàng)造企業(yè)價值
- 6如何利用文件管理軟件下載協(xié)助企業(yè)管理
- 7企業(yè)提升云安全六大方法
- 8泛普文件管理軟件下載為企業(yè)帶來哪些好處?
- 9通過SaaS輕松實現(xiàn)內(nèi)容安全防護
- 10CRM軟件對客戶管理的意義
- 11文件管理軟件下載的先進性體現(xiàn)在哪里
- 12SaaS模式進銷存管理軟件對企業(yè)信息人員的影響
- 13SaaS服務(wù)幫助企業(yè)解決問題
- 14文件管理軟件軟件的五大特點
- 15辦公文件管理軟件下載流程管理要落實
- 16服裝企業(yè)實施CRM系統(tǒng)的意義
- 17文件管理軟件下載平臺化有效解決協(xié)同三大難題
- 18CRM系統(tǒng)能為企業(yè)帶來多少價值
- 19租賃型文件管理軟件下載辦公軟件成企業(yè)新寵
- 20企業(yè)文件管理軟件下載軟件選型的8個誤區(qū)
- 21文件管理軟件下載在企業(yè)應(yīng)用中的新契機
- 22文件管理軟件下載成為企業(yè)遠航的護身符
- 23教您選擇最具性價比的辦公文件管理軟件下載
- 24CRM系統(tǒng)提高企業(yè)競爭力
- 25文檔管理軟件下載 - 軟件安裝
- 26好文件管理軟件下載為企業(yè)節(jié)約資源
- 27SaaS模式催生更好商業(yè)模式
- 28化解SaaS安全問題的三大措施
- 29CRM系統(tǒng)是企業(yè)發(fā)展必然要求
- 30可自定義功能的文件管理軟件下載