新聞中心

        EEPW首頁 > 智能計算 > 設計應用 > 用云計算實例談解決軟件危機的FO方法

        用云計算實例談解決軟件危機的FO方法

        作者:北京乾坤化物數(shù)字技術有限公司總經(jīng)理 趙文銀 時間:2022-12-15 來源:電子產(chǎn)品世界 收藏

        一、必須要面對和解決的問題

        本文引用地址:http://www.104case.com/article/202212/441690.htm

        如同蓋樓房一樣,當我們蓋幾層或十幾層的樓房時,對樓房結(jié)構(gòu)和公共設施等要求不會很高,有些問題還可以不考慮。但是如果蓋幾十層或者上百層樓房的時候,很多原來可以忽略的問題,就會變成必須要面對和解決的問題了。軟件開發(fā)如同蓋樓房一樣,屬于蓋魔天大樓。

        無論是政府、學界或是企業(yè)界,現(xiàn)在對的關注度迅速增高,對云計算的應用懷有很大的期待。人們從不同的角度來分析定義云計算,并探討云計算對人類未來的影響和云計算存在的問題。但是,當前很少有人談及云計算面臨的一個本質(zhì)的問題——如何解決云計算帶來的更加嚴重的

        云計算是以應用為目的,通過互聯(lián)網(wǎng)將必要的大量硬件和軟件按照一定的結(jié)構(gòu)體系連接起來,并隨應用需求的變化不斷調(diào)整結(jié)構(gòu)體系建立的一個內(nèi)耗最小,功效最大的虛擬資源服務中心。云計算將對人類社會產(chǎn)生重大影響:

        1、云計算將導致人們的思維方式發(fā)生重大改變。人們將學會站在整體的角度來處理問題,用和諧平衡的思想來處理系統(tǒng)里局部之間的關系。

        2、云計算將導致軟件行業(yè)的最終消亡。隨著云計算應用的發(fā)展,軟件開發(fā)會如人們現(xiàn)在用提供的Word等工具編輯文字一樣,用戶將自己編制所需要的軟件程序,為用戶專業(yè)編程的軟件行業(yè)會逐步消亡。

        3、云計算將促使全球資源迅速集中。各種資源通過技術手段按照市場規(guī)則將被分類集中,這種集中使得資源的使用效率達到最大化,同時資源的分配在有效監(jiān)控下做到了盡可能的公平。

        在云計算里,大量的計算機組成了一個龐大的計算資源中心,大量的軟件系統(tǒng)組成了一個龐大的云計算軟件系統(tǒng),而這些軟件系統(tǒng)原來是孤立的分散在不同的計算中心里。當數(shù)百萬或者數(shù)億個功能集中到一個“云”里,而且它們之間有很多的關聯(lián)關系的時候,帶來的危害有可能讓云計算系統(tǒng)無法正常運營,甚至會崩潰。因此,云計算必須要面對和解決軟件危機的問題。

        北京乾坤化物數(shù)字技術有限公司開發(fā)的全國農(nóng)村產(chǎn)品數(shù)據(jù)服務平臺和果業(yè)數(shù)據(jù)服務平臺是一個云計算實例。

        二、全國農(nóng)村產(chǎn)品數(shù)據(jù)服務平臺分析

        全國農(nóng)村產(chǎn)品數(shù)據(jù)服務平臺是一個巨復雜系統(tǒng),每個功能系統(tǒng)都會涉及地名區(qū)域、產(chǎn)品分類、行業(yè)分類、政府部門、供銷單位、產(chǎn)品所有人等等關聯(lián)關系。而對于一個具體的產(chǎn)品,在其生命周期里會涉及到大量的服務系統(tǒng)。比如:蘋果,從種植戶準備種植開始,涉及到預計種植面積、果苗提供,農(nóng)機服務、農(nóng)資服務、產(chǎn)量統(tǒng)計、銷售、質(zhì)量檢疫、物流運輸、商貿(mào)服務、產(chǎn)品跟蹤等多個軟件功能系統(tǒng)。這些系統(tǒng)之間同時又相互關聯(lián);任何一個系統(tǒng)的數(shù)據(jù)的變化都有可能導致其它系統(tǒng)的變化。

        全國農(nóng)村產(chǎn)品數(shù)據(jù)服務平臺是一個“智慧”系統(tǒng)。以甘蔗種植為例,對于一個局部系統(tǒng)來說,比如某個縣,甘蔗產(chǎn)量大面積減產(chǎn),如果沒有其它地區(qū)的產(chǎn)量平衡,那么系統(tǒng)會得到明年白糖產(chǎn)量會減少的分析結(jié)論。但是,如果另外一個縣的甘蔗大豐收,由于在全局范圍內(nèi)達到了平衡,所以得到的最終分析結(jié)論是明年白糖產(chǎn)量會平穩(wěn)。如果把這個思路拓展到全球金融體系,假如我們建立了全球金融云計算系統(tǒng),那么這次全球性的國際金融危機或許就不會發(fā)生了,因為這個云計算系統(tǒng)會實時跟蹤局部或者全球的金融狀態(tài)變化。

        圖一是全國農(nóng)村產(chǎn)品數(shù)據(jù)服務平臺和所屬的果業(yè)數(shù)據(jù)服務平臺。從圖中可以看出,該“云”計算平臺是由很多“子云”計算平臺組成。比如該“云”平臺中包含果業(yè)、蔬菜業(yè)、養(yǎng)豬業(yè)、藥材、乳品業(yè)、養(yǎng)魚業(yè)等。果業(yè)平臺中又包含很多“子云”平臺,比如果品產(chǎn)銷服務,農(nóng)資服務,物流服務等。

        從圖一中可以看出云計算軟件系統(tǒng)和傳統(tǒng)的軟件系統(tǒng)的最大不同點。傳統(tǒng)軟件從展示形式上只有第一層,即全國這一層。而云計算軟件系統(tǒng)是一個由地名支撐的空間多層結(jié)構(gòu),是一個金字塔結(jié)構(gòu)的軟件架構(gòu)體系。每個地名結(jié)構(gòu)樹的結(jié)點上有一個獨立的和第一層一樣的數(shù)據(jù)服務軟件平臺。

        圖二是全國農(nóng)村產(chǎn)品數(shù)據(jù)服務平臺的地名結(jié)構(gòu)樹示意圖。從圖二可以看出,這是一個按照結(jié)構(gòu)樹方式進行管理定位的地名支撐的空間多層結(jié)構(gòu)金字塔。地名結(jié)構(gòu)樹本身是采用遺傳特征來建立關聯(lián)關系和管理的。

        在第一個“云”里,果業(yè)可以看成一個“質(zhì)點”來進行處理,它

        image.png

        圖一 按地名結(jié)構(gòu)樹管理的“云嵌套”系統(tǒng)

        分布在金字塔的所有結(jié)點上。但是進入果業(yè)“云”后,它本身又是按照地名金字塔方式分布的軟件系統(tǒng),而其構(gòu)成部分“物流服務”被看成一個“質(zhì)點”來處理。可見全國農(nóng)村產(chǎn)品數(shù)據(jù)服務平臺是一個由很多“子云”按照一定的關聯(lián)關系嵌套起來的巨復雜“云”。

        圖三是果業(yè)云里的產(chǎn)銷服務系統(tǒng)和物流服務系統(tǒng)。實際上這是一個SAAS軟件服務“云”。這是一個更加復雜的“云”,其功能軟件分布在由地名和分類構(gòu)成的復合金字塔結(jié)點上。比如張三可以使用陜西鹿馬村獼猴桃軟件管理系統(tǒng),李四可以使用湖南三家田村柑橘軟件管理系統(tǒng)。這樣設計目的是因為不同區(qū)域的產(chǎn)品種類是不同的,用戶的需求也是不同的,他們只需要與自己相關的軟件服務功能。

         

        1671090046673185.png

        圖二 帶遺傳特征的地名結(jié)構(gòu)樹

        分類也是采用帶遺傳特征結(jié)構(gòu)樹的方式來管理的,其形式和地名結(jié)構(gòu)樹一樣,可以根據(jù)需要無限分層。

        產(chǎn)銷系統(tǒng)是一個由多個應用服務系統(tǒng)組成的“云”,比如和果品產(chǎn)銷相關的功能服務,包括生產(chǎn)服務,報價,銷售,網(wǎng)點,管理等,而且在這個“云”里,功能系統(tǒng)是可以根據(jù)需要動態(tài)增加或者減少的。

        “云”里的每個具體功能系統(tǒng)具有“進化”功能,即根據(jù)環(huán)境的變化,功能可以動態(tài)調(diào)整修改,以便適應環(huán)境的需要。

        圖四里的連接線顯示了各大不同功能系統(tǒng)之間的關聯(lián)關系,果品銷售系統(tǒng)里的銷售地區(qū)和物流服務中貨運服務系統(tǒng)里的貨運目的地有關聯(lián)關系,貨運服務系統(tǒng)里的目的地又和車輛配載里的發(fā)貨地也有關聯(lián)關系。事實上,果業(yè)系統(tǒng)里的功能模塊之間存在著復雜的關聯(lián)關系,相互產(chǎn)生影響。

        從以上的分析可以看出,“云計算果業(yè)數(shù)據(jù)服務平臺”是一個非常復雜的系統(tǒng),目前有近200個功能系統(tǒng),比如果業(yè)生產(chǎn)銷售、農(nóng)資服務、物流服務等。如果采用傳統(tǒng)的軟件開發(fā)方法,完成近200個系統(tǒng)至少需要幾十萬行程序代碼,并且很難處理軟件系統(tǒng)的復雜結(jié)構(gòu)關系,軟件危機隱患會很嚴重。

        但是由于該平臺的開發(fā)采用了FO軟件開發(fā)方法,因此完成近200個系統(tǒng)目前只使用了幾百行程序代碼。

        三、FO軟件開發(fā)方法是如何解決軟件危機的

        1、關于軟件危機

        軟件危機是指落后的軟件生產(chǎn)方式無法滿足迅速增長的計算機軟件需求,從而導致軟件開發(fā)與維護過程中出現(xiàn)一系列嚴重問題的現(xiàn)象。

        1)軟件危機的外在表現(xiàn)
          上世紀80年代以來,軟件工程研究與實踐取得了可喜的成就,軟件技術水平有了長足的進展,但是軟件工程所取的一些新技術和新方法,也因運營模式和經(jīng)濟利益等原因未被廣泛推廣和開源應用,軟件生產(chǎn)水平依然遠遠落后于硬件生產(chǎn)水平的發(fā)展速度。軟件危機不僅沒有消失,而且還有了加劇之勢。主要表現(xiàn)為:軟件成本在計算機系統(tǒng)總成本中所占的比例居高不下,且逐年上升。軟件開發(fā)效率的提高速度遠遠跟不上信息化發(fā)展的需要,軟件開發(fā)的嚴重滯后不能充分利用現(xiàn)代計算機硬件所提供的增長潛力。

        image.png

        圖三 果業(yè)云里的產(chǎn)銷服務和物流服務系統(tǒng)

        云計算將引發(fā)一種新的危機——數(shù)量增長危機,即無限增長的云計算組成成員間的有效連接以及無限增長數(shù)據(jù)的快速管理。這兩種無限多的量將會使軟件面臨新的深層次危機。

        (2)軟件危機的內(nèi)在根源

        最早的軟件因為比較簡單,代碼也比較少,還不存在危機。隨著計算機技術的發(fā)展,數(shù)據(jù)處理能力的不斷提高,計算機的應用不斷得到擴大,軟件開發(fā)的工作量和難度隨之增加,軟件代碼量愈來愈多……,軟件危機也就產(chǎn)生和加重了。

        image.png

        圖四 功能模塊之間的關聯(lián)

        目前99%的軟件應用需求已不再是定義良好的數(shù)值計算問題,而是難以精確描述且富于變化的非數(shù)值型應用問題。因此,當人們的應用需求變化發(fā)展的時候,往往要求通過改變軟件來使計算機系統(tǒng)滿足新的需求,以便維護用戶業(yè)務的延續(xù)性。

        在全國農(nóng)村產(chǎn)品數(shù)據(jù)服務平臺里,貨運服務不是一個簡單的數(shù)值計算問題,而是一個應用分析問題。比如陜西周至縣某天發(fā)出多少量車,其目的地是那里,而在某一天,預計湖南永順縣有多少量車到達等等。而且這樣的需求將會隨著時間的變化有可能發(fā)生重大的調(diào)整。

        軟件的本質(zhì)就是把用戶的應用需求采用一種程序語言通過計算機實現(xiàn)的對應邏輯映射。按照這個定義,軟件如同是一種翻譯,把一種文字的作品翻譯成另外一種文字的作品。同樣的原著,不同的翻譯者,翻譯后的作品是有差別的。比如鄭振鐸翻譯泰戈爾的《飛鳥集》,和冰心翻譯的《飛鳥集》就有差別。這種差別主要來自于他們的個性化的思維。

        程序員邏輯思維的差異導致了程序結(jié)構(gòu)的差異,即便是同一個程序員,在不同的時間里,其思維的改變也會導致程序的差異。比如1000個軟件工程師來完成一個項目,在同一時間,可能會產(chǎn)生1000種不同思維的產(chǎn)品。如果考慮同一個人在不同時間的思維的變化,其結(jié)果可能是無法預計的。這種不確定的作品的表現(xiàn)形式是程序代碼的序列不同。也就是說,我們無法得到一個事先就可以確定的程序代碼序列代碼的最終序列要由程序員的臨場決定。

        另一方面,用戶需求通常是很復雜,而且這種復雜度是不可能做任何簡化。對于一個由很多維構(gòu)成的復雜系統(tǒng),我們很難通過圖形展示方式來描述它們的結(jié)構(gòu)。這種復雜度在剛開始的時候,我們并不太了解,只有在完成了一定的工作或者在系統(tǒng)正式運行后,才發(fā)現(xiàn)一些內(nèi)含的復雜結(jié)構(gòu),并需要必須處理這些結(jié)構(gòu)。由此可見,軟件危機的內(nèi)在根源就是軟件開發(fā)本身缺乏標準和規(guī)范,以及因需要處理復雜系統(tǒng)所編制的雜亂又龐大的代碼。

        2、FO是如何解決軟件危機難題的

        從軟件危機的本質(zhì)原因可以看出,如果采用現(xiàn)有的傳統(tǒng)軟件開發(fā)方法,是無法解決云計算帶來的軟件危機。因為,傳統(tǒng)的方法不能解決軟件復雜度的難題,也不能把程序代碼控制在有限的數(shù)量范圍內(nèi)。可以從根本上解決這兩個難題。

        (1)關于FO軟件開發(fā)方法

        FO軟件開發(fā)方法是一種把哲學方法和軟件編程技術相結(jié)合的軟件開發(fā)方法。它是在面向?qū)ο蟮幕A上做進一步抽象的方法。

        FO方法包含三部分內(nèi)容,面向事實的分析(Fact-Oriented Analysis)、面向結(jié)構(gòu)的設計(Frame-Oriented Design)、面向形式的編程(Form-Oriented Programming) 的軟件開發(fā)方法。

        (a)  面向事實的分析是一個哲學處理方法,它是采用哲學方法對用戶提出的需求模型進行分析,形成和現(xiàn)實模型對應的邏輯模型。這個邏輯模型包含結(jié)構(gòu)和對象兩部分。而對象部分又分為形式(內(nèi)部特性)和配置(外部特性)兩部分。

        以農(nóng)村數(shù)據(jù)服務平臺為例,來說明分析的過程。

        首先把現(xiàn)實需求模型當成一個整體,然后把它分解成幾個組成部分。比如農(nóng)村數(shù)據(jù)服務平臺包含果業(yè)、蔬菜、藥材、養(yǎng)豬等很多業(yè)務部分,這些業(yè)務通過地名關聯(lián)方式延伸到不同的地區(qū)。然后對果業(yè)系統(tǒng)進行分解,該系統(tǒng)包含果品產(chǎn)銷、農(nóng)機服務、物流服務等,這些服務通過地名關聯(lián)方式延伸到不同的地區(qū),同時通過分類關聯(lián)關系延伸到不同的類型,比如果品產(chǎn)銷里面的獼猴桃銷售、柑橘銷售等。通過這種方式,一步一步的細分,一直分解到對象,對象是最簡單的。

        其次,這些分析采用命題形式表達出來就得到一個邏輯模型,這個模型是現(xiàn)實模型的影象。邏輯模型的對象和連接方式由現(xiàn)實模型決定。

        第三,將對象分為內(nèi)部特性和外部特性兩部分,內(nèi)部特性是對象的本質(zhì)特性,是固定不變的,稱為形式;外部特性是非本質(zhì)的表現(xiàn)特性,是可以變化的,比如顏色、形狀、空間等,稱為配置。

        形式是無色的(沒有具體的含義),相同形式的對象所以有區(qū)別是因為其配置的不同。

        第四,制定一個“規(guī)定”,依據(jù)這個規(guī)定,配置由一系列的符號構(gòu)成。

        第五,形式只關心符號本身,而不關心符號所代表的具體含義。如果一個符號在不同的場景有不同的含義,那也只是其對象不同。但是對于形式來說,處理的是同一個符號,沒有區(qū)別。

        第六,采用群的方式對邏輯模型里的構(gòu)成部分進行重新歸類,這樣就很清楚的知道該模型里包含了多少類同構(gòu)群。按照群的特征,如果是同構(gòu),則只需要處理一個就可以了,其余的可以利用同構(gòu)性直接獲得。比如一個信息管理網(wǎng)站,盡管有科技信息發(fā)布管理,社會信息發(fā)布管理,汽車信息發(fā)布管理,但它們屬于同構(gòu)群,因此只需要處理一個就可以了,其余的通過同構(gòu)性特性處理就可以得到。比如一個包含幾百個功能模塊的大型內(nèi)容管理門戶網(wǎng)站,只需要程序員開發(fā)幾個功能系統(tǒng)就可以了,其余的采用同構(gòu)性得到,這樣就大大減少了軟件開發(fā)和維護的工作量。

        (b) 面向結(jié)構(gòu)的設計是對邏輯模型里的結(jié)構(gòu)部分進行處理,先采用哲學方法對結(jié)構(gòu)進行分解,使一個復雜的空間結(jié)構(gòu)變成一系列簡單的維的組合。比如地名維,分類維,欄目維,工作維,工作部門維等。然后采用技術的方法來實現(xiàn)這些維,比如地名維是一個包含多個帶有遺傳特征的結(jié)點代碼元素的集合。

        在真正做好了系統(tǒng)分析工作之后,進行設計就相對比較輕松了。在進行系統(tǒng)分析時,已經(jīng)整理出了對象的連接方式,即結(jié)構(gòu)。這個連接方式不是單一的線性方式,是一個多維的空間連接方式。同時每個維也不一定是線性的,更多的是非線性的。在“農(nóng)村數(shù)據(jù)服務平臺”中,有地名維,行業(yè)分類維,欄目表現(xiàn)維,產(chǎn)品質(zhì)量狀態(tài)維,組織機構(gòu)維等,地名維是一個樹狀結(jié)構(gòu),產(chǎn)品質(zhì)量狀態(tài)是線性結(jié)構(gòu)。

        利用軟件架構(gòu)體系搭建工具,建立一個多維空間結(jié)構(gòu)模型,對象位于空間的結(jié)點上。對象之間是通過空間結(jié)構(gòu)模型來建立聯(lián)系的。結(jié)構(gòu)模型的搭建和對象的設計是彼此獨立進行的,也就是說,它們各自的修改不會相互影響,比如修改了結(jié)構(gòu)不會改變對象的功能,反之亦然,但是會對系統(tǒng)產(chǎn)生影響。

        維是采用代碼形式實現(xiàn)的,結(jié)點代碼確定了一個唯一的空間位置。

        (c) 面向形式的編程是一個簡單技術實現(xiàn)過程。形式部分采用程序代碼來實現(xiàn),由程序員把邏輯模型里的對象形式描述語言翻譯成為計算機程序語言。配置部分采用文本描述方式來實現(xiàn),可以由行業(yè)專家來完成。

        對形式的編碼是對簡單功能的編碼。如果該對象的形式具有復合功能,那么該對象是一個事實,需要再進行分解,因為對象必定是簡單的。對形式的編碼實際上得到的是一個無色(即無具體指向)的功能程序,該程序通過配置得到一個具體的對象。

        配置是對象外部特征的描述。一旦給出了具體的描述,就意味著建立了一種“規(guī)定”。不同的人有不同的描述方式。描述只關心符號而不關心符號所代表的含義。

        配置和形式有本質(zhì)的區(qū)別,配置屬于哲學命題,是可以采用不同的方式描述,即可以有不同的規(guī)定。形式是客觀存在的,是固定的,也就是說盡管不同的程序員的思想存在差異,但是編寫的程序是一樣的,當然由于思維方式的不同,代碼的多少會存在差異。

        同一個功能程序(形式)和不同的配置結(jié)合,就得到了不同的對象。如果一個功能程序(形式)的程序代碼為500行,和來自不同行業(yè)的1000個不同的配置描述結(jié)合,就得到了1000個不同的軟件系統(tǒng)。由于軟件危機是由程序代碼引發(fā)的,因此在這1000個軟件系統(tǒng)里,由于只有500行代碼,因此基本上可以認為軟件危機已經(jīng)被解決。而1000個軟件系統(tǒng)的配置描述,盡管數(shù)據(jù)量很大,但是它們不會引發(fā)軟件危機。這些數(shù)據(jù)就是軟件系統(tǒng)的“基因”,決定著軟件的多樣性。

        微軟操作系統(tǒng)中龐大的程序代碼里隱藏做無數(shù)的漏洞,這些漏洞讓操作系統(tǒng)變得很不安全。如果采用把操作系統(tǒng)的程序代碼控制在有限的數(shù)量范圍內(nèi),比如10萬行代碼,而其功能的多樣性通過“基因”方式來實現(xiàn),那么隱藏在程序里面的漏洞將基本上不會存在。最簡單的辦法就是組織100個程序員,每人負責1000行代碼,他們的工作只有一件事,就是每天尋找這1000行代碼里存在的問題。

        (2)FO方法是如何解決軟件危機的

        目前,在全國農(nóng)村產(chǎn)品數(shù)據(jù)服務平臺的果業(yè)系統(tǒng)提供近200個功能,涉及果品生產(chǎn)銷售、農(nóng)機服務、農(nóng)資服務、物流服務等。該軟件體系要求每個村有自己的獨立系統(tǒng),即按照現(xiàn)行的行政管理方式建立云計算平臺里的管理模式,分中國、省、市、縣、鄉(xiāng)鎮(zhèn)、村、用戶七級行政轄區(qū)管理,比如鄉(xiāng)鎮(zhèn)系統(tǒng)管理該鄉(xiāng)鎮(zhèn)轄區(qū)的相關系統(tǒng)。產(chǎn)品或者服務同時將按照不同的分類來進行管理。對于一個具體的產(chǎn)品,會涉及到相關的政府部門,比如食品安全,質(zhì)量檢疫,運輸管理部門,農(nóng)科站等。

        可見,果業(yè)系統(tǒng)的復雜度很高而且規(guī)模比較大,是不能采用建模方法(比如UML)來簡化復雜度,去掉其中某些部分。

        FO方法首先按照哲學方法對用戶需求模型進行分析,并形成邏輯模型,邏輯模型是現(xiàn)實需求模型的映射,邏輯模型由兩部分構(gòu)成,連接形式和對象。

        然后把連接形式按照類型的不同進行分解,每一類表示一個維,這樣就得到了一個由多維構(gòu)成的復雜空間架構(gòu)。對象位于架構(gòu)的結(jié)點上。在果業(yè)數(shù)據(jù)服務平臺里,有樹狀結(jié)構(gòu)的地名維,不同的產(chǎn)品分類維,欄目維,產(chǎn)品狀態(tài)維等。

        最后把對象進行處理,對象的內(nèi)部特性即形式通過程序代碼來實現(xiàn),而對象的外部特性通過文本描述的方式來實現(xiàn)。

        通過,僅使用幾百行程序代碼便實現(xiàn)了全國農(nóng)村產(chǎn)品數(shù)據(jù)服務平臺所屬的果業(yè)數(shù)據(jù)服務平臺近200個功能系統(tǒng)的目的。這幾百行代碼是對象的內(nèi)部特性。事實上,很多對象的內(nèi)部特性是一樣的,對象的差異由外部特性即配置決定,比如形狀、顏色、空間等。

        北京乾坤化物數(shù)字技術有限公司研發(fā)和使用FO方法簡便有效地解決了軟件開發(fā)費用和進度失控、軟件的可靠性差、生產(chǎn)出來的軟件難以維護等軟件危機的早先主要問題。

        同時,北京乾坤化物數(shù)字技術有限公司還使用自主知識產(chǎn)權的乾坤樹,解決了云計算所需無限多成員間的有效連接以及無限增長數(shù)據(jù)的快速管理引發(fā)的新的軟件深層次危機。

        乾坤樹是從北京乾坤化物數(shù)字技術有限公司發(fā)現(xiàn)的整數(shù)樹特性基礎上的定義的一種新數(shù)據(jù)結(jié)構(gòu)。乾坤樹是帶遺傳基因的可無限增長的樹。以計算方式將數(shù)據(jù)快速按規(guī)則在乾坤樹對應的結(jié)點上進行存取。使用乾坤樹時在幾百個數(shù)據(jù)與無限多數(shù)據(jù)中查詢某一存儲的數(shù)據(jù),所需時間及乎一樣。因乾坤樹的技術不屬于FO方發(fā),在此不多介紹。

        四、FO方法對未來IT技術產(chǎn)生革命性的影響

        FO軟件開發(fā)方法基于一個基本假定,而這個假定是通過觀察而總結(jié)歸納出來的,即:任何一個復雜的連接形式都可以采用維的形式來處理;很多的對象的內(nèi)部特性即形式是相同的,之所以是不同的對象,是因為它們的外部特性不同。

        在這個基本假定正確的前提下,F(xiàn)O方法將對未來IT技術產(chǎn)生革命性的影響。

        1、任意龐大功能的軟件系統(tǒng),其程序代碼都可以控制在有限的范圍內(nèi),比如1萬行或者10萬行程序代碼。

        2、任意復雜的軟件架構(gòu)都可以轉(zhuǎn)換為多個簡單維的組合。

        3、對象的形式是有限的,也就是說,隨著應用的增加,需要編程的形式會越來越少。通過開源方式,這些有限的程序會越來越優(yōu)化。人們的主要工作轉(zhuǎn)移到對對象外部特性的描述配置上,軟件的生產(chǎn)效率會得到極大的提高。

        4、用戶可以通過調(diào)整軟件架構(gòu)的組成維或者調(diào)整對象的配置來調(diào)整軟件的功能,而這個過程是可以在運行中動態(tài)完成的。

        五、結(jié)論

        由于FO軟件開發(fā)方法解決了云計算帶來的軟件危機難題,因此會進一步加快云計算應用的步伐。


        注:本文是中國嵌入式系統(tǒng)產(chǎn)業(yè)聯(lián)盟網(wǎng)絡空間命運共同體研究會交流文



        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 文化| 湟中县| 金乡县| 惠州市| 玉林市| 阜城县| 怀来县| 博兴县| 绥滨县| 佛山市| 苍梧县| 敦化市| 石阡县| 乌恰县| 焉耆| 新竹市| 永济市| 塘沽区| 喀喇沁旗| 项城市| 泗阳县| 闽侯县| 辽宁省| 禄劝| 天台县| 河南省| 岚皋县| 都安| 广宁县| 大名县| 咸阳市| 历史| 布尔津县| 四川省| 阜城县| 金溪县| 道孚县| 宝坻区| 中超| 内丘县| 龙泉市|