• Menu

    軟件需求工程學習筆記(五)


    1.綜合集成視角下的需求工程

           1988年,知名組織理論家Russell Ackoff在他就任國際一般系統研究學會主席的發言中,提出了認知金字塔的模型。這個金字塔的最下層是數據,往上逐漸收窄的每一層,依次是信息、知識、理解和智慧。

           數據是指客觀事物的屬性、數量、位置及其相互關系的符號描述,是用于表示客觀事物的未經加工的原始素材,如圖形符號、數字、字母等。信息是用來消除隨機不確定性的東西,是獨立于物質和能量的。在應用語境中,信息是數據在特定場合下的具體含義,也可以說,信息是對數據的解釋。

           在柏拉圖的定義中,他是這樣限定的:在所有產生的意見當中,知識是這樣的一種子集:屬于這個子集的觀點,不僅是正確的,而且因為正當的理由為人們所信服。結合信息化的發展,Ackoff對知識重新定義為:知識是將信息變為指令的能力,比如“知道一個系統是如何運行的,或者如何讓它以我們希望的方式運行”。他的學生Skip Walter則認為,信息是結構化的數據,而知識則是“可以付諸行動的信息”。知識是數據和信息集合的整體,只有當信息被系統地、有目的地積累起來時,才能轉變成知識。數據是記錄信息的符號,信息是對數據的解釋,知識是信息的概括和抽象;數據經過解釋處理形成了信息,信息又經過加工過程形成了知識;知識是由信息描述的,信息則是用數據來表達的;從數據到信息的轉換是一個數據處理過程,從信息到知識的轉換是一個認知的過程。這就是數據、信息和知識之間的相互依存的辯證關系。

           關于知識和理解的區別,以下這段話反映了Ackoff的看法:“知識是通過描述傳遞的,回答了“如何”(how to)的問題;而理解是通過解釋傳遞的;回答了“為什么”(why)的問題。這是兩者最基本的區別。很多企業的經理人不理解這種區別的重要性,他們追求掌 握有關他們所在企業和環境的知識而不努力去理解這些復雜系統。他們試圖將事情做好,而不去考慮所做的事情是否是正確的事情。如果他們所做的事在方向上是不正確的,那么,他們越做得好,犯的錯誤也就越大?!敝R和理解分界,源自于主觀和客觀的分界。理解的外在表現是主觀性的,知識的外在表現是客觀性的。工具是純粹客觀的事物,為發展工具而形成的工程技術,其對象不應該也不可能越過知識和理解的邊界。換句話說,為構建信息系統而發起的需求工程,是站在理解的層面上,在系統價值的體系內篩選知識,構建客觀系統。這個認知三角形實際上是一種關于認知的系統描述。這個系統的下層為上層提供要素價值,上層為下層提供環境價值和協調價值。按照價值論的觀點,客體引起的主體變化都屬于客體給主體產生的價值。價值有正負之分,有利于價值主體生存發展的是正價值,不利于主體生存發展的是負價值。通過價值評定來判斷正價值和負價值的性質,而價值評定的依據是系統的目標體系。系統論通過與非系統事物相比較來衡量系統的價值,尋找形成系統后涌現出的那些價值。一方面,系統的價值首先應從系統對其外部環境的影響或作用來考察。另一方面,環境通過源能力和匯能力共同構成環境對系統的支撐能力。環境塑造著環境中的每個系統,環境又是組成它的所有系統共同塑造的。具體到對需求工程的認識,需求工程實際上是根據需求工程的主體對系統價值的理解,構建足以支撐這種系統價值的知識系統,然后再將這種知識系統轉化為足以被軟件系統人員識別的信息模型。

           結合前文所述內容,對應Ackoff的認知三角形,我們可以得出這樣的結論:系統工程是位于“理解”層面的,信息工程是位于“信息”層面的,而需求工程則是立足于知識的層面。而軟系統和硬系統的宏觀分界是存在于“知識”層的。由此可以得出三個基本觀點:第一,軟件工程的發展充分結合系統工程的發展。第二,軟件工程應以知識工程和需求工程為基本的核心領域。第三,知識工程和需求工程是相互依存,相互促進。還可以得出一個基本的關于方法的觀點。那就是:處理知識問題的一種基本方法是錢學森綜合集成的方法。

    2.基于新認識的需求工程系統基本模型

          根據前文的論述,建立如下圖所示需求工程系統基本模型:

    2.jpg


        
    這個系統模型的主結構是一個軟件開發的過程。在主結構上,需求工程的輸入“2”是和“理解”混雜在一起的“知識”,是實際中得到的知識的原始形態,是軟硬混合的知識。經過需求工程的轉化后,輸出“3”是經過表達的結構清晰的知識。信息工程完成知識到信息模型的轉化,輸出“4”是能夠被軟件系統識別的信息模型。軟件系統完成信息模型到數據的轉換,既包括從信息模型軟件設計和構建軟件以生成數據,也包括數據在軟件系統內的流轉和處理。數據進入實踐意味著數據驅動的工具對現實環境的作用,從實踐環節輸出的數據“6”意味著通過數據采集設備收集的數據。模型的主結構描述了在軟件項目過程中,從認知模型的高層向低層轉化的過程,是從抽象到具體的過程,是項目價值在軟件系統中的具體分配過程。

           按照系統論的反饋原理,反饋回路是系統穩定的必要條件。在需求工程的系統模型中,回路“7”是從知識到知識的反饋,是產生理解和新知識的過程?;芈?/span>“8”是從信息模型到知識的反饋,也是產生理解和新知識的過程?;芈?/span>“9”和回路“10”是從數據到信息的反饋,回路“11”是使用實際數據檢驗計算數據的過程。這里面蘊含的一個道理是:數據和信息之間是可以通過技術手段自動化的相互轉換的,但知識和理解的生成一定是需要人的參與的。隨著人類技術手段的發展,由軟件系統和硬件系統組成的人工智能系統將無限的趨近于由人和工具組成的實踐系統,但知識和理解的分際始終是橫亙在智能和人工智能之間的分水嶺。這個分際是如此的強大,強大到只要不能產生哲學意義上的真正質變,那么人工智能就永遠是人工的。這個分際又是如此的弱小,從萊布尼茲和牛頓開始的數百年來,人類早已將線性主部+非線性小量的技術使用得爐火純青,在線性主部的范圍內,在工程實用的層面上,這個分際是不存在的。

           再回到系統模型,結合近年來技術的發展,除了需求工程和“7”、“8”兩個反饋學習回路外,模型的其它部分從技術層面講,已經在比較深入的層面上實現了自動化。這也從側面說明了為什么開發利用信息資源是現代信息化的主旋律。所謂的資源,就是送給工具加工的材料。信息成為資源的必要條件,是數據處理技術的發展實現了自動化的數據-信息轉化?;仡櫠兰o,在大部分時間里,社會生產力的最重要組成部分是以石油煤炭為資源的機械電子系統,那么在二十一世紀,在社會生產力主要由機械-電子-信息系統組成的時候,開發信息資源將成為與尋找新能源同等重要的事業,甚至是更重要。同樣,可以預見的是,在不久的將來,隨著現代信息化建設的不斷深化和拓展,從軟件服務業的領域將分化出軟件制造業這樣一個并不新鮮的產業形態。一方面,這將是我國產業結構轉型升級的必然結果;另一方面,這也是知識經濟在現實產業中的具體形態。當那個時候,軟件工程師和軟件工人的分際,一定是產生于需求工程的領域。一切開始于需求,一切又回到需求,這又印證了系統論的觀點,那就是,系統的演化發展是自內向外的從低層次到高層次螺旋上升的形態。

    3.需求工程的基本入口

          
    正如美國國防部科學技術委員會的一份報告中描述的那樣:“軟件開發現在是,而且永遠是一種勞動力密集型的技術......雖然機器能夠做一些辛苦而乏味的工作,并讓我們能夠記錄下心中的構想,但概念開發仍是典型的人類活動......軟件開發中可以消失的部分是表達這些概念結構所需的工作量,永遠不會消失的部分就是打造概念結構?!?br/>

           在武器裝備研制的開端,軍方從事的一項重要的活動就是武器裝備需求論證?!靶枨笳撟C”意味著需求是客觀存在的,通過論證的活動,通過基于事實的知識即可構成嚴密的邏輯鏈條,將這種客觀存在的需求清晰地展示出來,構成武器裝備系統的系統目標來源。武器裝備的需求之所以可以論證,在于武器裝備體系的硬系統特征。發展武器裝備的目標是明確的,善戰者無赫赫之功,發展武器裝備的終極目標就是永遠也不要使用武器裝備,從這個目標可以清晰的衍生出更具體的目標,就是形成威懾,而威懾則來源于技術的先進性,而武器系統技術的先進性則體現在對目標殺傷的有效性和精確性,而這是可以用試驗打出來的可驗證的硬指標,也就是戰技指標體系。從知識的角度講,這意味著令人信服的可靠的停止點。也就是說,對于武器裝備的需求來講,之所以可以論證,是因為客觀存在能夠令人信服的由原始目標和戰技指標體系構成的需求系統邊界,能夠形成清晰的需求系統描述。

           需求源于現實狀態和理想狀態之間的偏差,滿足需求的活動就是彌補偏差的活動。對于業務系統來講,理解與知識的邊界體現在業務理想和業務現實之間的差距。要從根本上弄清楚軟件需求是什么,就需要弄明白三個問題:理想的業務系統是什么;現實的業務系統是什么;為彌補理想業務系統和現實業務系統的偏差,信息系統能夠做些什么?通過上文的論述,我們已經知道需求工程是在知識層面進行的,是基于知識的工程。對于一個軟件項目,需求工程的開端應該是從這三個問題出發,收集能夠回答問題的知識,在構造需求知識結構的基礎上,引入技術要素打造軟件的概念結構。

    4.小結


           本章闡述了綜合集成視角下的需求工程,得出了系統工程是位于‘理解’層面的,信息工程是位于‘信息’層面的,而需求工程則是立足于‘知識’的層面。而軟系統和硬系統的宏觀分界是存在于“知識”層的這一基本結論。由此得出了三個基本觀點:第一,軟件工程的發展充分結合系統工程的發展。第二,軟件工程應以知識工程和需求工程為基本的核心領域。第三,知識工程和需求工程是相互依存,相互促進。還可以得出一個基本的關于方法的觀點。那就是:處理知識問題的一種基本方法是錢學森綜合集成的方法。在前文論述的基礎上,以控制系統方塊圖的形式給出了需求工程系統的基本模型,并提出了對未來軟件開發和信息資源開發的一些看法。

    极速快三 <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>