實(shí)踐軟件編程工具化
軟件是能被計算機識別和產(chǎn)生相應運算的符號序列。軟件最初是由制造計算機的廠(chǎng)商和用戶(hù)自己編制。后來(lái),計算機應用廣了、復雜了,才出現專(zhuān)門(mén)編制軟件的公司。隨著(zhù)信息化的發(fā)展,軟件公司越來(lái)越多、越來(lái)越大。在先進(jìn)國家常見(jiàn)顧員上萬(wàn)人的軟件公司,我國也在建設軟件航母、軟件園、軟件名城,軟件已成為一個(gè)新興的行業(yè)。
本文引用地址:http://dyxdggzs.com/article/202212/441896.htm軟件行業(yè)在快速發(fā)展同時(shí),伴隨軟件編程產(chǎn)生的軟件危機也發(fā)展到無(wú)法回避和很難克服的程度。軟件危機是軟件公司不愿提及的是指在計算機軟件開(kāi)發(fā)、使用與維護過(guò)程中遇到的一系列嚴重問(wèn)題和難題。
圖1:軟件危機的主要表現圖
軟件危機的主要表現為:1、軟件開(kāi)發(fā)費用和進(jìn)度失控 2、軟件的質(zhì)量和可靠性差 3、生產(chǎn)出來(lái)的軟件難以維護 5、難以滿(mǎn)足用戶(hù)的需求6、軟件開(kāi)發(fā)生產(chǎn)率遠低于硬件的算力提供的效率等等。
還原論的軟件編程方法沒(méi)有對事實(shí)做整體分析、進(jìn)行規范后編程產(chǎn)生的軟件危機,是不可能用還原論的軟件編程方法自我回避或解決的。一種經(jīng)過(guò)十幾年實(shí)踐,能解決軟件危技的整體論的FO軟件編程方法(簡(jiǎn)稱(chēng)為FO方法)公布,受到人們關(guān)注和認可。
FO方法包含三部分內容:面向事實(shí)的分析、面向結構的設計、面向形式的編程。為便于FO方法理解,舉一假設用軟件編制人的例子對FO方法的基本原理做一簡(jiǎn)單的介紹。人是一個(gè)巨復雜的事實(shí)。
圖2、人體器官分解示意圖
采用還原論的軟件編程方法時(shí):
會(huì )先按照還原論的整體是由部分組成的認識將人按各個(gè)部位劃分,比如分成頭、四肢、軀干等。 再可將頭按五官、面部、毛發(fā)、頭骨等;四肢按手、手臂、腳、腿等;軀干按心、肝、肺等五臟六腑進(jìn)行分解。然后,組織軟件人員分組,分工編程。
這種按組成人的各個(gè)部位分工編程的方法,比較直觀(guān),但是,系統設計復雜、各部位相互連接難、編程工作量大、軟件復用率低、不易測試和改動(dòng)、隱含問(wèn)題多,很難維護,存在著(zhù)嚴重的軟件危機。
FO方法是基于整體論通過(guò)觀(guān)察事實(shí)而總結歸納出來(lái)的一個(gè)基本假定,即:任何一個(gè)復雜的連接形態(tài)都可以采用維的組合結構來(lái)處理;很多對象的內部特性是相同的,之所以是不同的對象,是因為它們的外部特性不同。
圖3、由表向里整體看人體
采用整體論的FO方法時(shí):
1、對人進(jìn)行面向事實(shí)的分析:
用整體論的思想對人體進(jìn)行分析,人的全身是由骨胳、血管、神經(jīng),淋巴、經(jīng)絡(luò )系統連接,將這些系統的集合定義為與人體現實(shí)模型分析出的邏輯模型中的結構。人的骨胳、血管、神經(jīng),淋巴、經(jīng)絡(luò )系統是人體結構的不同的維。
剝離人體的各連接系統的維,再對人體剩余部分做分析,可看到的人的剩余部分是由表皮組織、毛發(fā)、肌肉、脂肪、軟組織、骨頭、體液等有數的若干不同組織組成。將這些組織定義為分析出的邏輯模型中的對象。這種分析得出人的邏輯模型是由結構和對象二部分組成。人體的結構由若干不同的維構成,人體的對象是若干不可再分的簡(jiǎn)單對象的集合。
2、對人進(jìn)行面向結構的設計:
面向結構的設計是對邏輯模型里的結構部分進(jìn)行編程處理。在不同的事實(shí)中,結構的連接方式不一定是單一的線(xiàn)性方式,也會(huì )是多維的空間連接方式。需要再采用哲學(xué)方法對結構進(jìn)行分解,使一個(gè)復雜的空間結構變成一系列簡(jiǎn)單的維的組合。每個(gè)維也不一定是線(xiàn)性的,更多的是非線(xiàn)性的。(FO方法構建的多維空間用到對伏羲八卦整數樹(shù)改進(jìn)的乾坤樹(shù))人的血管、神經(jīng)、淋巴、經(jīng)絡(luò )系統是非線(xiàn)性的維,骨骼是線(xiàn)性的維。然后采用技術(shù)的方法來(lái)實(shí)現對人的結構設計。
3、對人體各部分面向形式的編程:
用FO方法分析出的邏輯模型中人的表皮組織、毛發(fā)、肌肉、脂肪、軟組織、骨頭、體液等是對象。對象有內部特性和外部特性。對象的內部特性為形式(算法),對象的外部特性為配置(數據)。也就是不同的對象可以有相同的形式,有相同形式的對象不同的原因是配置不同。例如:人的毛發(fā)可分為頭發(fā)、胡須、不同部位的體毛等,它們是不同對象,但它們有相同的形式,由于他們的配置不同才表現成為不同對象。如果編制的是黃種人,通過(guò)調整表皮組織對象形式的配置,也可方便快速地編程出其他膚色的人。
由此,按構成人所需的皮組織、毛發(fā)、肌肉、脂肪、軟組織、骨頭、體液等對象的形式進(jìn)行大小、多少、軟硬等程度配置,然后設置在已設計好的人的結構的相應部位上,就完成了人的編程工作。
采用FO方法的優(yōu)勢:
1、簡(jiǎn)化了系統設計復雜度
2、編程難度、工作量和成本顯著(zhù)減少
3、軟件編程的標準化和復用率高
4、便于檢查編程錯誤和日后的維護
5、對不同外貌和有特征人的個(gè)性化設計簡(jiǎn)單
6、便于隨時(shí)調整滿(mǎn)足用戶(hù)需求
7、通過(guò)改變結構狀態(tài)和對象形式的配置可快速編程出其他哺乳、脊椎等相似動(dòng)物的軟件。
FO方法已通過(guò)實(shí)踐在很短時(shí)間僅由一人編制出讓人難以置信的巨復雜的可覆蓋全世界行政區的無(wú)限多集群網(wǎng)站em258.com。采用FO方法對集群網(wǎng)站em258.com的邏輯模型里的同構部分還進(jìn)行歸類(lèi),比如在集群網(wǎng)站em258.com中有科技信息發(fā)布管理,社會(huì )信息發(fā)布管理,汽車(chē)信息發(fā)布管理等一些發(fā)布管理屬于同構群,因此只需要處理一個(gè)發(fā)布管理就可以了,其余的通過(guò)同構特性處理就可以得到。這樣就大大減少了軟件編程和維護的工作量,將需要幾十萬(wàn)行,甚至上百萬(wàn)行程序代碼的軟件系統,用幾百行程序代碼就可替代了。
FO軟件編程方法是我聯(lián)盟的一個(gè)成員單位在多年為用戶(hù)軟件編程服務(wù)中發(fā)明的。因為公司小,用戶(hù)大多又是熟人和朋友,對編制出的軟件總是不滿(mǎn)意,不客氣地三番五次提出修改要求,直到滿(mǎn)意后才會(huì )罷休。技術(shù)人員在不斷為用戶(hù)反復修改軟件當中,慢慢領(lǐng)悟和歸納出軟件編程的規律,才發(fā)明出可快速進(jìn)行編程和維護的FO方法。
一個(gè)小公司能在短時(shí)間能用幾百行程序編制出巨復雜的軟件系統原因是,因為他們事先已采用FO方法將現實(shí)世界的萬(wàn)物間復雜的連接關(guān)系分析為由地名維,分類(lèi)維,欄目維,工作維,工作部門(mén)等等基本維組成的結構和將萬(wàn)物分析出結購外的許多簡(jiǎn)單的有限的對象及這些對象形式都建好庫了。
需要對新的事實(shí)進(jìn)行軟件編程時(shí),如分析出的維和對象行式已在建好的維和對象形式庫中,就直接引用。如缺一些維和對象在庫中沒(méi)有,就再編制出缺的維和對象應用,同時(shí)納入已建的維和對象形式庫待用。(這種建立維和對象形式庫和引用,與目前軟件編程常見(jiàn)的子程序庫、模塊調用、宏的定義應用等在軟件編程的做用有質(zhì)的不同)通過(guò)FO方法該公司已造出了自用的軟件編程工具。
軟件是使用計算機進(jìn)行信息加工的工具。目前,軟件編程還沒(méi)有成為計算機用戶(hù)也同應用文字編輯軟件word、WPS等編寫(xiě)文章一樣也可自主、自如地進(jìn)行軟件編程,可以時(shí)刻簡(jiǎn)便地用來(lái)滿(mǎn)足自己需求的信息進(jìn)行加工的工具。FO方法為軟件編程像機械加工一樣實(shí)現規范化、標準化、簡(jiǎn)便化,工具化提供了很好的案例。
軟件編程工具化,不僅為軟件公司解除了軟件危機,更有意義的是:可讓廣大的更了解和熟悉本單位、本行業(yè)信息化迫切需求和專(zhuān)業(yè)知識的技術(shù)人員能親自編寫(xiě)出最適合的軟件應用,讓軟件在國家信息化和數字經(jīng)濟發(fā)展中發(fā)揮出更大作用。
(注:本文是中國嵌入式系統產(chǎn)業(yè)聯(lián)盟網(wǎng)絡(luò )空間命運共同體研究會(huì )交流文)
評論