航天計算機產業(yè)中應用軟件的發(fā)展戰(zhàn)略
【摘 要】從市場經濟的角度,以影響軟件市場生命力的幾個重要因素為線索,探討了如何面對市場的競爭,開發(fā)出有生命力的應用軟件產品,特別指出要抓住INTERNET漢語軟件尚不完善的契機,應用工程化管理,實施軟件開發(fā)人海戰(zhàn)術,搶灘市場。
軟件作為計算機的靈魂,從計算機誕生之日起就主宰著計算機產業(yè)的發(fā)展。從二進制的指令到最先進的語音及圖像識別系統(tǒng),勾勒出了軟件發(fā)展的趨勢,即面向用戶,方便用戶,贏得用戶。微軟公司的成功有力地說明了這一指導思想在軟件開發(fā)中的重要性。
由于我國在基礎工業(yè)和基礎技術上的先天不足,使得計算機工業(yè)從一開始就存在著硬件技術落后的嚴重缺陷。因此,盡快制定正確的軟件發(fā)展戰(zhàn)略是調整我國計算機工業(yè)跨世紀發(fā)展戰(zhàn)略的一個極其重要的先決條件。為了彌補硬件落后帶來的問題,面向中國市場的高性能軟件的開發(fā)是唯一的出路。要發(fā)展高性能的軟件,必須重視以下幾點:軟件開發(fā)管理中的工程性;軟件的商業(yè)性及其版權保護;跟蹤國際先進軟硬件技術,重視應用軟件的創(chuàng)造性開發(fā)。
一、軟件工程的問題
軟件工程的概念是由最初的軟件模塊化和結構化概念演繹而來的。初期的應用軟件,多數是以功能為主的。在編制應用軟件時,雖然也有將其搞成通用軟件的良好愿望,但在實際上卻做不到,客觀上是因為硬件性能的限制,即使搞出了這樣的程序也無法進行調試。同時,由于各專業(yè)之間缺乏妥善的協(xié)調,主觀上也缺少將各功能塊有機地聯(lián)結起來的機制。
隨著硬件技術的發(fā)展,使得通用程序的編制成為可能。雖然受到內存規(guī)模及字長的限制,但通過“模塊化”處理后,軟件的功能得到了大大的擴充。從軟件本身的功能看,最初的程序是“一題一解”;輸入/輸出;矩陣生成;求解;渾成一體。由于內存和速度的限制,對大型矩陣的存儲要進行復雜的編碼處理,為了施加不同的約束條件,也要進行類似的處理。這時“模塊化”的概念被逐步引進。為了節(jié)約內存,具有類似處理功能的程序段被相對集中起來組成所謂“模塊”,可以允許其它程序段調用。但由于計算語言本身的限制,這種“模塊”的“邊緣”并不十分清晰。通過對當時比較通用的計算語言如ALGOL和FORTRAN等進行所謂“ 結構化”改造,程序員有可能將通用程序各功能模塊的邊緣定義得更清晰,這時就產生了各模塊間的協(xié)調問題,仿照機械加工中公差配合的概念,軟件工作者提出了 “軟件工程”這一概念,實際上,就是一套規(guī)范各模塊間數據傳遞格式的標準。當軟件變得越來越“通用”后,一個軟件中涉及的內容已經不是單一學科的問題,靠一個人或幾個人是無法完成整個軟件的,而多學科的問題(有很多個“模塊”)會產生大量的模塊間協(xié)調問題,這也使得“軟件工程”的概念受到更多的重視。“軟件工程”的真正含義就是在保證軟件所含內容一致性的前提下,將軟件編制從個人化的小作坊模式轉變成由多學科協(xié)調作戰(zhàn)的大生產模式。下面從著名的有限元結構分析軟件MSC/NASTRAN和最流行的系統(tǒng)軟件Microsoft Windows的成功來看看我們可以從中得到什么啟示和教訓。
作為一個有限元結構分析軟件,MSC/NASTRAN在1995年的水平除了在程序功能上稍有區(qū)別外,在其它方面與我們在當時已擁有的通用結構分析軟件SAP-V及我們自行編制的分析軟件并沒有太大的差別,但到了1996年,NASTRAN就推出了XL-前后處理模塊這一使其產生重大飛躍的軟件包。其功能是使原來十分煩瑣的輸入/輸出由抽象的數據流轉變?yōu)橹庇^的圖像。為了開發(fā)XL,MSC公司投入了大量的人力和時間,在這種“大生產”的模式下如果不對軟件工程給予足夠的重視,很難想象最后的結果會是什么樣子。當時我們了解到了NASTRAN的這一動向后,也曾試圖完善自編分析軟件的前后處理功能,但由于各方面條件所限,加之技術領導部門對這一問題缺乏應有的重視,使我們失掉了一個有可能趕上國際先進水平的時機。
Microsoft Windows開發(fā)的成功,也說明了軟件工程在軟件開發(fā)中的重要性,作為一個“視窗”型系統(tǒng)軟件,它采用了先進的圖形功能,并為了適應各種外設的需要,建立了一個強大的設備驅動程序庫,而所有的這一切都是在很短的時間內完成的,試想如果沒有在開發(fā)過程中很好地應用軟件工程技術,這么龐大的系統(tǒng)軟件怎么有可能在這么短的時間內調試成功。每個程序員都有自己的風格,自己的癖好,如果各行其是,沒有約束,雖然每一個模塊都可以單獨正確運行,但整個程序將是一盤散沙,根本無法運行。
在當今激烈競爭的軟件市場中,那種不考慮開發(fā)效率,只考慮軟件功能的開發(fā)思想已被淘汰了。由于一個好的設計思想很容易遭到剽竊,而在最后的產品出來之前又無法獲得版權的保護,因此開發(fā)效率實際上就是關系到軟件開發(fā)是否成功的關鍵因素。為了提高軟件開發(fā)效率,多學科的協(xié)調是必不可少的,所以對軟件工程是否重視就直接影響到開發(fā)商的經濟利益。因為在當今多媒體新技術的沖擊下,僅靠幾個軟件程序員是無法完成一個涉及圖像、聲音、動畫、通訊、人工智能等多學科領域專門知識的超大規(guī)模軟件的。
強調軟件工程的另一個主要原因是到目前為止,在航天計算機產業(yè)中,軟件的開發(fā)還停留在小作坊的模式,這一方面是體制本身帶來的問題,另一方面與我們對軟件工程的重視程度有關。我們的優(yōu)勢在于擁有大量的廉價高級勞動力,如果我們能夠充分重視軟件工程在各類應用軟件開發(fā)中的應用,我們的產品將會具有很強的競爭力。特別是,當我們無法在短期內擺脫硬件落后的客觀現(xiàn)實的情況下,這一點尤為重要。
二、軟件的商業(yè)性及版權問題
由于缺乏商品意識,在很長的一段時間里,我們軟件產品缺乏應有的包裝,用現(xiàn)在的話講就是缺少用戶友善的界面。軟件工作者只滿足于自己的產品可以實現(xiàn)某些功能,多數僅限于學術性考慮,甚至連同行都無法輕松地理解和使用這類軟件。
筆者的一位同事,曾經將美國噴氣推進實驗室發(fā)表的一個用當時比較先進的FORTRAN語言編寫的顫振計算程序“還原”成ALGOL-60版本,以便可以在國產719型計算機上運行。這個工作大約花了他兩年半的時間,雖然在由上海交大幾位教授主持的評審會上得以通過,但因其界面令人望而卻步而被束之高閣,研究者兩年半的心血從此付諸東流,實在是可惜。
筆者另一位曾經在德國斯圖加特大學進修了兩年的同學,回國前,一段小小的偶極子計算軟件被學校收購,賣了兩千馬克。國外對軟件產品的重視,實際上是對知識的尊重,也是對人力和物力資源的珍視和節(jié)約,這種做法既可以有效地避免低層次重復開發(fā),又充分調動了開發(fā)人員的積極性。
除了軟件開發(fā)人員本身缺乏應有的商品意識外,長期以來對軟件版權缺乏完善的保護機制和強有力的措施,也是我國軟件工業(yè)不能健康發(fā)展的一個原因。要真正做好版權保護工作,除要完善保護機制外,還需培養(yǎng)國民的知識產權法律意識。
從MSC/NASTRAN和Microsoft Windows的成功看國外軟件的商品意識。1995年的NASTRAN版本中前后處理功能還基本上沒有,而且有限元分析在當時對一般的工程設計人員來講還是一個很抽象的概念,大量繁雜的數據輸入令人望而卻步,而抽象的數據輸出又令人不得要領,這給軟件的推廣應用帶來了很大的障礙。為了給用戶一個“友善”的界面,NASTRAN及時地推出了XL圖像界面,使得輸入變得輕松,而輸出變得直觀,既推廣了軟件的應用,又提高了每個軟件的附加值,真是一舉兩得。而微軟公司的“窗口”更是在贏得用戶方面達到了登峰造極的地步,它一改操作系統(tǒng)“學究”式的面孔,使不懂計算機的人在幾分鐘內就學會如何操作原來帶有“神秘”面紗的電腦,在推銷自己本身的同時,也推銷了計算機。“微軟”的成功,首先是有美國完善的知識產權保護系統(tǒng)的支持;其次是其重視軟件產品的商品性;第三才是技術方面的諸如軟件工程概念的運用及跟蹤先進技術,提倡創(chuàng)造性開發(fā)等。沒有完善的知識產權保護系統(tǒng)就不可能有 “微軟”。
三、跟蹤先進技術,提倡創(chuàng)造性開發(fā)
為了縮小與先進國家在計算機技術上的差距,我們必須要做好技術跟蹤工作,密切注視硬件發(fā)展的動態(tài)和我國可資利用的硬件技術,其中包括技術交流和技術轉讓,特別是在決定最底層軟件性能的芯片指令方面要下大功夫。
在軟件開發(fā)方面要充分發(fā)揮我國人力資源豐富的優(yōu)勢,積極運用軟件工程概念,采用高技術領域的人海戰(zhàn)術,搶灘由INTERNET帶來的新的軟件市場,特別要提倡創(chuàng)造性開發(fā)。所謂創(chuàng)造性,就是不要僅限于國外現(xiàn)有軟件的漢化,而是應該積極開發(fā)適應我國文化的軟件。我國目前的很多產品開發(fā),模仿的多,創(chuàng)造的少,由此帶來的是產品淘汰速度快,開發(fā)成本高,經濟效益低。而一個好的產品,不是去與同類產品爭市場,而是在還沒有同類產品的時候占領市場,在出現(xiàn)同類產品后再去開辟新的市場,永遠走在市場的前面,這樣的產品才是有競爭力和生命力的產品。
軟件是一個帶有很重文化色彩的行業(yè),法國和德國已經提出限制英語軟件在本國網上的上網率,提倡采用本國文字的軟件。我國人口眾多,市場巨大,隨著我國知識產權保護制度的日益完善,我國的軟件市場是一個有著巨大潛在經濟效益的市場,我們要抓住這個機遇,拿出具有中國文化特色的軟件產品,就像比爾·蓋茨當初開發(fā)“窗口”一樣,開發(fā)出既便于使用又使老百姓喜聞樂見的軟件產品來。
要做到這一點,首先要有航天總公司有關部門的大力支持和倡導,同時也要有一個保障機制,使得在航天總公司這個相對小的范圍內能夠在軟件開發(fā)過程中實施軟件工程概念管理,并重視產品的商品化,定期進行優(yōu)秀軟件的評比,評獎的標準應該以其創(chuàng)造的經濟效益為主。沒有了效益,就沒有了開發(fā)基金,沒有了開發(fā)基金也就沒有了開發(fā)本身。我們過去的教訓,就在于只講技術,不講效益,只考慮產品的學術價值,不考慮其經濟價值,這樣不僅沒有效益,同時也葬送了學術研究本身。
四、結束語
綜上所述,從市場經濟角度看,目前形勢下航天計算機產業(yè)中軟件開發(fā)的重點應該放在以漢語(注意這里用漢語而不用漢字以區(qū)別于“漢化”的進口軟件)為載體的INTERNET應用軟件上,因為這是一個巨大的有待開發(fā)的市場,從各方面的資料顯示這個市場具有巨大的潛在效益。