偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

怎樣才能實現(xiàn)軟件架構(gòu)的“代代相傳”?

新聞 架構(gòu)
軟件設計面對的環(huán)境日趨復雜。對這種日趨復雜、難以駕馭的狀況,很多軟件人希望能有所改善。而標準化對提升架構(gòu)設計效率和提高軟件開發(fā)成功率很有裨益。本文探討架構(gòu)演進的另一個趨勢,就是行業(yè)級標準化。

 軟件設計面對的環(huán)境日趨復雜。對這種日趨復雜、難以駕馭的狀況,很多軟件人希望能有所改善。而標準化對提升架構(gòu)設計效率和提高軟件開發(fā)成功率很有裨益。本文探討架構(gòu)演進的另一個趨勢,就是行業(yè)級標準化。

軟件設計面對的環(huán)境日趨復雜。背后原因不僅有技術(shù)發(fā)展本身帶來的復雜性,而且也有規(guī)模增大帶來的復雜性。

從最初面向小型群體、具體領域的程序設計,到面向上億用戶、交叉需求的生態(tài)構(gòu)建,軟件設計似乎走上一條以復雜應對復雜的發(fā)展之路。我們看到,從方法到概念都日趨復雜。

一開始,很多軟件的早期版本較為清晰,后來逐漸走向“大泥球”模式。最終,它們“活成了我們最討厭的樣子”。

“技術(shù)債務”成為軟件生命周期中的常見問題,所以,對軟件設計方法尤其是架構(gòu)方法的探索始終未停。這些探索與軟件工程方法的演進互相作用。

對這種日趨復雜、難以駕馭的狀況,很多軟件人希望能有所改善。眾所周知,標準化對提升架構(gòu)設計效率和提高軟件開發(fā)成功率很有裨益。在架構(gòu)方法發(fā)展的過程中,關于這個方面的標準化努力也一直在緩慢推進。這個標準并非指軟件開發(fā)標準,比如國內(nèi)的 GB8567-88,而是指能直接應用于具體開發(fā)的設計參考,比如行業(yè)級標準化模型。

本文探討架構(gòu)演進的另一個趨勢,就是行業(yè)級標準化。

一、為何行業(yè)級標準化發(fā)展緩慢?

行業(yè)級標準化之所以較難達成,是因為背后有許多復雜因素。

首先,這是一項帶有公益性質(zhì)的工作。一旦做成功,大家都受益,但推動者的付出與其收益之間不成比例,要靠一定的“奉獻”精神支撐。

其次,標準達成需要統(tǒng)一眾多觀點。而這種統(tǒng)一并非可以強制達成,標準本身的建立過程就會比較緩慢。時間一久,甚至不了了之。

最后,即便建立標準,更新維護的主體通常也難以確定和維持,“保鮮”難度大。

如此困難之事,為何今日應該重提?這又涉及另外兩個原因,而它們卻是今后軟件或者數(shù)字化的發(fā)展方向。

1. 軟件在生產(chǎn)、生活中的基礎性地位還不夠

我們現(xiàn)在常說,軟件、互聯(lián)網(wǎng)改變了人類社會,但實際上,并非所有行業(yè)和生活場景都充分線上化了。事實是,大部分行業(yè)中,軟件的基礎性地位還沒有達到人們通過宣傳所“認為”的水平,并且,軟件行業(yè)總產(chǎn)值也沒在 GDP 中有很高占比。

這表明,軟件還未像工業(yè)制成品那樣深入到社會的各個角落,軟件生產(chǎn)也沒像工業(yè)生產(chǎn)那樣成為廣泛的社會性生產(chǎn)。

根據(jù)埃文斯數(shù)據(jù)公司 (Evans Data Corporation) 2019 年最新的統(tǒng)計數(shù)據(jù)顯示,2018 年全球共有 2300 萬軟件開發(fā)人員;到 2019 年底,這個數(shù)字將達到 2640 萬,而到 2023 年,這個數(shù)字是 2770 萬。其中,它對軟件開發(fā)人員的定義很廣泛,甚至包括技術(shù)作家。

與之相比,2018 年,世界各國青壯年和逐漸進入的勞動年齡段 (15 至 64 歲) 人口總數(shù)約為 49.6 億(數(shù)據(jù)來源于互聯(lián)網(wǎng))。也就是說,無論是從行業(yè)規(guī)模還是勞動人口的數(shù)量來講,軟件行業(yè)仍處在上升階段,還沒有成為一個像農(nóng)業(yè)或者工業(yè)那樣可作為時代標志的行業(yè),數(shù)字經(jīng)濟仍在發(fā)展初期。

從這種狀況,我們可以推想,多數(shù)對于行業(yè)級標準化的真實“焦慮”可能只存在于少數(shù)軟件從業(yè)者心里,還沒真正上升為企業(yè)“焦慮”,更未成為行業(yè)“焦慮”。

所以,在開發(fā)中,盡管我們在項目管理中反復強調(diào)一些項目級的標準化要求,但這些要求沒有真正走出項目以外,沒有真正成為企業(yè)級、行業(yè)級的要求,所以行業(yè)級標準化的進程也必然緩慢。

但是,數(shù)字經(jīng)濟的發(fā)展速度正在加快,不少人認同未來的企業(yè)可能都是科技企業(yè)。軟件會成為主要的生產(chǎn)工具,這也許會改變經(jīng)濟數(shù)據(jù)的統(tǒng)計口徑,從而讓數(shù)字經(jīng)濟規(guī)模得到更準確的計量。

隨著這種發(fā)展,即便出于讓工具更易用、更易得的角度,行業(yè)級標準化也應得到更大重視。

企業(yè)之所以要為軟件付出更大代價,很大一部分原因就是軟件無法像真正的工業(yè)制品一樣批量化制作與獲得,以及提供售后,甚至是其中無需太個性化的部分。當企業(yè)、行業(yè)越來越依賴于軟件時,軟件中的主要部分需要被標準化和真正量產(chǎn)。

當過度強調(diào)軟件使用和軟件生產(chǎn)中的個性化因素,這會讓軟件行業(yè)面對與工業(yè)化早期類似的問題,尤其是在“B”端,過度的“自由”可能會帶來“不自由”。這些過度之處對“創(chuàng)新”的意義也許被夸大。

工業(yè)標準化沒有讓工業(yè)變得死板和缺乏創(chuàng)新,反而減少浪費,讓創(chuàng)新能更好地分層次進行,比如設計創(chuàng)新、零件創(chuàng)新、材質(zhì)創(chuàng)新和集成創(chuàng)新等,而無需經(jīng)常從頭開始。軟件行業(yè)也應該通過行業(yè)級標準化減少“創(chuàng)新浪費”,這樣才有可能讓軟件走出現(xiàn)在這種“大規(guī)模小團隊手工作坊”的階段。所謂的 AI 設計,需要的不也正是基礎性的標準化嗎?

也許滿足標準化,我們才能把精力花在更有價值的創(chuàng)新上,而不是整天修改別人也改過的 BUG,成天擔心踩別人踩過的坑。

標準化是工業(yè)成熟的體現(xiàn),也是其在整個社會生產(chǎn)中基礎性地位增強的必然結(jié)果,這也是軟件未來必須要走的路。

2. 架構(gòu)設計的開放性不足

在發(fā)展的大部分時間中,軟件設計更多處理的是封閉邊界內(nèi)的封閉問題域。當處理復雜問題時,軟件設計者的思考習慣是盡可能將復雜問題拆分成更小的獨立問題。處理“封閉”空間會令軟件設計者感到“舒適”,而“開放”空間則容易讓軟件設計者失去“焦點”,也會帶來更大的知識負擔。

處理好邊界是軟件設計的原則之一,不定義好邊界的軟件很可能無法交付。這種方式本身無可厚非,其隱含的問題在于,多數(shù)軟件設計缺乏企業(yè)間的橫向聯(lián)通和行業(yè)級的定義。很多承載行業(yè)統(tǒng)一概念的行業(yè)術(shù)語雖然在設計過程中被軟件人員學習和思考,但并沒有發(fā)揮其在標準化方面應有的作用,“封閉”也成了一個一個軟件實例的“封閉”。

現(xiàn)有的各類技術(shù)標準多數(shù)無法幫軟件形成標準化的設計結(jié)果,它們更多是對工藝和技術(shù)的要求。

工業(yè)在發(fā)展早期,企業(yè)間的標準化和連通性也不強,一度出現(xiàn)囊括生產(chǎn)鏈條大部分環(huán)節(jié)的超大型企業(yè)集團。但是,隨著精細化分工的發(fā)展,企業(yè)最終放棄這種不經(jīng)濟的“全都干”模式,采用供應鏈、生態(tài)圈模式。

標準化在提升企業(yè)協(xié)作上發(fā)揮至關重要的作用。

早在 1926 年,擁有國家級標準化組織的 25 個國家在國際上成立國家標準化協(xié)會國際聯(lián)合會(ISA),由此,標準化活動從企業(yè)行為演進為國家管理,進而成為全球事業(yè),活動范圍從機電行業(yè)擴展到各行各業(yè)。標準化擴散到全球經(jīng)濟的的各個領域,從保障互換性的手段,發(fā)展成保障資源合理配置、降低貿(mào)易壁壘和提高生產(chǎn)力的重要手段。

軟件行業(yè)現(xiàn)在也有些類似工業(yè)早期的狀況,優(yōu)秀開發(fā)資源的集中,從上到下的完整、個性化開發(fā)比比皆是。

此外,企業(yè)習慣于“封閉”設計成果,因為軟件一旦跟核心生產(chǎn)領域接觸,就自然地牽連上各類“商業(yè)秘密”,導致成果“封閉”,甚至包括設計過程中產(chǎn)生的模型資產(chǎn),這也是大家需要重復建設的原因之一。

綜上所述,軟件開發(fā)中,思考方式、設計范圍、設計成果方面都具有不同程度的“封閉”傾向。當然,這其中有其處理現(xiàn)實問題方面的必要性,但是,這也導致架構(gòu)在設計標準和視野上不夠開放,標準化發(fā)展緩慢。

現(xiàn)在,隨著互聯(lián)網(wǎng)技術(shù)對企業(yè)連接能力的進一步加強,生態(tài)圈構(gòu)建從業(yè)務層面將下沉到軟件層面,要求軟件層面更多地支持聯(lián)通和協(xié)同,這不僅僅是對 API 的關注,還需要在架構(gòu)設計方面有更多的全局視野和開放性。各類新興技術(shù),無論是出于對應用成本的考量,還是對應用速度的考量,都需要其在轉(zhuǎn)換為軟件時,提升通用性,提升標準化水平。

從企業(yè)內(nèi)部架構(gòu)走向開放式架構(gòu)、推動國民經(jīng)濟數(shù)字化轉(zhuǎn)型的過程中,軟件架構(gòu)順應經(jīng)濟模式的發(fā)展,必須要解決標準化短板對開放性、規(guī)模化的制約。這不僅有助于將設計人員從重復“搬磚”過程中解放出來,也讓“磚”能更方便地蓋成“樓”,不能總把軟件設計當做個體行為和個別實例。

二、行業(yè)級標準化的核心方向

軟件設計主要處理的對象就是數(shù)據(jù)和行為,架構(gòu)設計的關鍵其實也在識別數(shù)據(jù)結(jié)構(gòu),劃分處理數(shù)據(jù)的不同行為模塊。

所以,從設計結(jié)果角度出發(fā),架構(gòu)標準化主要是對數(shù)據(jù)和行為的標準化,而標準化的范圍,從對設計結(jié)果應用的角度看,行業(yè)級的標準化是較為合適的層級,這個層級具有合適的語境和語義范圍,也有行業(yè)術(shù)語作為統(tǒng)一概念基礎。

1. 數(shù)據(jù)標準化

數(shù)據(jù)是計算機程序的輸入和輸出,也是不同程序模塊間進行銜接時必須要進行標準化處理的部分。在軟件設計中,接口標準化已經(jīng)是大多數(shù)項目必備的設計要求。目前行業(yè)級的數(shù)據(jù)模型也有實例,比如 IBM 之前為金融領域設計的 FSDM(Financial Services Data Model) 數(shù)據(jù)模型。

FSMD 是上個世紀 90 年代,IBM 針對金融行業(yè)建立核心應用系統(tǒng)或者數(shù)據(jù)倉庫推出的數(shù)據(jù)模型。作為大機及大機開發(fā)服務的主要供應商,IBM 在這方面有獨特優(yōu)勢,而金融行業(yè)也是大機的 VIP 級用戶,因此,IBM 根據(jù)其豐富的行業(yè)經(jīng)驗設計這一經(jīng)典的行業(yè)級數(shù)據(jù)模型。

FSDM 是一種分層級、逐級細化的數(shù)據(jù)模型,包括“ABCD”四個大的層級,具體分層如圖 1 所示:

怎样才能实现软件架构的“代代相传”?

圖 1 FSDM 數(shù)據(jù)模型的層級(來自網(wǎng)絡)

FSDM 將數(shù)據(jù)分為九個大的類別,各類別概念如表 1 所示:

怎样才能实现软件架构的“代代相传”?

表 1 九大概念(來自網(wǎng)絡)

九大概念之間具有一定的聯(lián)系,其相互關系如圖 2 所示:

怎样才能实现软件架构的“代代相传”?

圖 2 九大領域數(shù)據(jù)關系示例(來自網(wǎng)絡)

FSDM 金融服務數(shù)據(jù)模型定義了金融服務機構(gòu)自身和業(yè)務運作所需的基本數(shù)據(jù)概念以及相互關系,包含銀行業(yè)的絕大部分數(shù)據(jù)。在實際設計中,數(shù)據(jù)模型會在九大領域下再細分為不同的數(shù)據(jù)主題域,主題域包含數(shù)據(jù)實體,實體下包含數(shù)據(jù)屬性,從而自上向下完成對數(shù)據(jù)的企業(yè)級模型化梳理工作。

FSDM 模型證明,只要堅持積累和鉆研,構(gòu)建一個具有一定影響力的行業(yè)數(shù)據(jù)模型是完全可行的,而且確實可以給軟件設計提供一定的指導和便利。

但是 IBM 當初畢竟是與其商業(yè)行為進行一定的結(jié)合,有適當?shù)尿?qū)動力。在沒有足夠商業(yè)利益結(jié)合的情況下,如何推動行業(yè)級標準化數(shù)據(jù)模型的建設是一個難題。此外,F(xiàn)SDM 更多承擔的是指導性作用,還沒有真的成為標準,需要金融企業(yè)依據(jù)其指導建立數(shù)據(jù)模型并自行維護。

2. 行為標準化

相較于數(shù)據(jù)標準化,行為標準化更為困難。如果想要建立對軟件設計起行業(yè)級指導作用的標準化模型,這個模型必須能指導細粒度的開發(fā),而非僅傳遞到概念層級,如果比照工業(yè)標準的效果,應當可以指導或者直接生產(chǎn)出可供復用的軟件“零件”。

軟件設計一直在關注如何提升對已有軟件資產(chǎn)的復用,從對代碼的“復制粘貼”到模塊化、服務化、微服務化,通過對業(yè)務邏輯乃至數(shù)據(jù)封裝和接口開放,實現(xiàn)軟件資產(chǎn)的可重復利用。各種設計思路中,筆者認為,構(gòu)件化作為推廣標準化的理念而言,也許是更為合適的概念。

構(gòu)件化設計,又稱 CBD(Component-Based Development,基于構(gòu)件的開發(fā))或 CBSE(Component-Based,基于構(gòu)件的軟件工程)。關于該方法的討論比較早,文獻也較多,例如,Alan W.Brown 所著的《Large-Scale, Component-Based Development》(中譯本名稱為《大規(guī)模基于構(gòu)件的開發(fā)》,2003 年由機械工業(yè)出版社出版,趙文耘、張志等譯)。

按照構(gòu)件化設計理念,構(gòu)件可以獨立部署,但一個構(gòu)件可能會用到其它構(gòu)件或平臺提供的服務,或者說基于構(gòu)件的軟件系統(tǒng)通常是多個構(gòu)件協(xié)作完成一定功能,所以構(gòu)件依賴于組裝環(huán)境或稱為語境(context),而構(gòu)件基礎設施應是支持異構(gòu)構(gòu)件互操作的標準和通信平臺,構(gòu)件框架則是構(gòu)件實例“即插即用”的支撐結(jié)構(gòu)。

CBD 的實現(xiàn)方式之一就是大家耳熟能詳?shù)?mdash;—SOA(Service Oriented Architecture ,面向服務的體系結(jié)構(gòu))或者 SCA(Service Component Architecture ,服務組件體系結(jié)構(gòu))。從發(fā)展脈絡上講,1990 年左右就開始出現(xiàn)面向構(gòu)件的技術(shù)思想,也即,編程方法在面向?qū)ο蠛笫敲嫦驑?gòu)件,然后才是面向服務。

關于構(gòu)件化設計,國家標準也早已有之,比如 GB/T11457-2006 軟件工程過程、GB/T36445-2018 軟件構(gòu)件模型,都有相關技術(shù)標準約定,但是這些標準都未包含構(gòu)件的設計方法,實踐中大家更關心的是如何做出標準化構(gòu)件的方法論。

有人經(jīng)常用“樂高積木”一詞來形容構(gòu)件化或服務化設計方式,樂高積木之所以會吸引不同年齡段的人群,并能讓大家充分發(fā)揮創(chuàng)造力,主要原因不外乎兩點:一是接口的高度標準化,可以簡單搭接;二是使用者能很輕易地理解每個積木塊,自由運用它。

構(gòu)件模型設計的關鍵也在于這兩點。設計行業(yè)級標準化構(gòu)件模型,首先是接口的高度標準化,這一點有賴于前文中提到的數(shù)據(jù)標準化;二是構(gòu)件功能的標準化和可理解性,這就涉及到對業(yè)務行為的標準化,或者說對各種同類型企業(yè)(也存在同類型企業(yè)中按照規(guī)模等級再細分的可能)的業(yè)務活動標準化,這種標準形成需要以業(yè)務為核心的建模方法,也需要通過作為參照系的標桿企業(yè)來提煉標準業(yè)務行為。

在建模方法中,Alan W.Brown 在《Large-Scale, Component-Based Development》一書中給出的主要是基于 UML 的方法,該方法雖然與現(xiàn)實結(jié)合緊密,但對業(yè)務人員不夠友好;DDD 也是可以應用于構(gòu)件化設計的建模方法,尤其是在以構(gòu)建微服務為應用方向運用 DDD 方法時,該方法也充分考慮了業(yè)務含義。筆者在《企業(yè)級業(yè)務架構(gòu)設計:方法論與實踐》一書中提到的構(gòu)件模型也是一種可用的構(gòu)建方式,其優(yōu)點是具有企業(yè)級視角,與業(yè)務和技術(shù)兩端結(jié)合緊密,也適合于推導行業(yè)標準模型這種精煉性工作。

綜上,數(shù)據(jù)標準化和行為標準化的探索一直有人在進行,但需要更強有力的推動來真正形成行業(yè)級的標準,否則,軟件的發(fā)展有可能在“兇猛”的創(chuàng)新下反倒出現(xiàn)“作繭自縛”的情況。

三、行業(yè)級標準化的深遠影響

行業(yè)級標準化的價值有很多,比如有助于提升軟件資產(chǎn)的可重用性、提升軟件質(zhì)量、減少不必要的改動、提升互聯(lián)效率、提高需求質(zhì)量、提升需求形成效率等,這些價值很多文章都提出過,筆者在本文中想闡述一個目前較少提及的遠期價值:推動數(shù)字化思維轉(zhuǎn)型。

數(shù)字化時代是依靠大規(guī)模軟件生產(chǎn)支持社會生產(chǎn)的時代,如同今天工業(yè)的作用。而大規(guī)模軟件生產(chǎn)能力的形成需要與之相匹配的思維方式,人們的思維方式總是要與時代的主要生產(chǎn)方式相適應,當軟件成為主要的生產(chǎn)方式時,結(jié)構(gòu)化思維就成為這個時代最基礎的思維方式,提升所有參與者的結(jié)構(gòu)化思維能力是面向數(shù)字化時代最重要的思維轉(zhuǎn)型方向,包括業(yè)務人員的思維轉(zhuǎn)型和技術(shù)人員的思維轉(zhuǎn)型。

業(yè)務人員思維轉(zhuǎn)型,是指能結(jié)構(gòu)化地看待業(yè)務、理解業(yè)務,結(jié)構(gòu)化的業(yè)務視角更有利于將業(yè)務映射到技術(shù)實現(xiàn),也更有利于業(yè)務人員較為直接地應用已有的軟件資產(chǎn),如同業(yè)務人員看到“樂高積木”,具備結(jié)構(gòu)化思維能力的業(yè)務人員,更容易適應在數(shù)字化時代看到的“事物”和從事業(yè)務活動、開展業(yè)務創(chuàng)新的方式。

技術(shù)人員思維轉(zhuǎn)型,則是要能結(jié)構(gòu)化地看待業(yè)務構(gòu)成與技術(shù)實現(xiàn)的關系,從而更好地將業(yè)務分解成合適的“零件”,這是在技術(shù)人員原有結(jié)構(gòu)化思維方式上的一種深化。對技術(shù)人員而言,這還意味著要更主動地去接受標準化的“約束”,從個體化的改進軟件向公用化的改進“標準”發(fā)展,這是數(shù)字化時代進行大規(guī)模軟件生產(chǎn)需要的技術(shù)思維方式。

換句話說,就是在業(yè)務側(cè),應當能看到“業(yè)務服務化”、“服務編排化”,業(yè)務人員具有利用構(gòu)件化軟件資產(chǎn)、協(xié)助生產(chǎn)構(gòu)件化軟件資產(chǎn)的能力;在技術(shù)側(cè),應當能看到“服務業(yè)務化”、“編排服務化”,技術(shù)人員具有按照業(yè)務含義準確設計標準化服務,將編排作為一種服務向業(yè)務側(cè)提供的能力。

基于行業(yè)級標準化構(gòu)件,我們應當能實現(xiàn)更為標準化的企業(yè)架構(gòu),企業(yè)內(nèi)部以行業(yè)級標準化構(gòu)件為基礎搭建軟件,而具備這樣標準化架構(gòu)的企業(yè)也必然會成為開放式架構(gòu)中的標準化元素,實現(xiàn)行業(yè)級、社會級的開放互聯(lián)。如圖 3 所示:

怎样才能实现软件架构的“代代相传”?

圖 3 以標準化為基礎的企業(yè)架構(gòu)設計目標

盡可能以標準化組件支持企業(yè)商業(yè)模式的構(gòu)建,能達成這樣的效果,軟件對企業(yè)生產(chǎn)的基礎性作用才能進一步增強,才能用軟件大規(guī)模覆蓋各類型企業(yè)的生產(chǎn)、管理,這正是數(shù)字化轉(zhuǎn)型的前提。

數(shù)字化不是一個企業(yè)自己的數(shù)字化,而是整個行業(yè)、社會的數(shù)字化,也是所有從業(yè)人員的數(shù)字化。精煉行業(yè)級標準化構(gòu)件的過程,正是業(yè)務和技術(shù)兩側(cè)同時進行數(shù)字化思維轉(zhuǎn)型的過程。

數(shù)字化時代,各類企業(yè)都或多或少地轉(zhuǎn)型為一家科技企業(yè)。數(shù)字化轉(zhuǎn)型完成,大家走到同一起跑線,今天所謂的“跨界者”,在數(shù)字化時代將不復存在。大家比拼的是快速創(chuàng)新商業(yè)模式的能力,快速創(chuàng)新離不開快速搭建。而快速搭建離不開對標準化資產(chǎn)的快速利用,對要素的獨特組合能力才是大部分創(chuàng)新的主要表現(xiàn)形式,重復造輪子在今天也許還情有可原,而在數(shù)字化時代很可能就真是“無情的浪費”。

可以回想下,對精益生產(chǎn)過程探索的動力正是對杜絕“浪費”的執(zhí)著,如果軟件生產(chǎn)想要靠近精益生產(chǎn),那就從杜絕“浪費”開始吧。

四、行業(yè)級標準化的發(fā)展思路:大教堂與集市

Eric S·Raymond 所著的《大教堂與集市》被認為是詮釋開源思想的最佳書籍之一。軟件系統(tǒng)的開發(fā)模式因此出現(xiàn)“大教堂”和“集市”兩種比喻,前者是傳統(tǒng)的、大公司的軟件開發(fā)模式,后者則是新興的、社區(qū)化的軟件開發(fā)模式。

行業(yè)級標準化這個想法,初次聽起來,很多人自然會跟“大教堂”聯(lián)系到一起,畢竟行業(yè)級標準化聽起來就有很多“中心化”因素在其中,需要標準、跨企業(yè)共識、組織推動等等,而且,現(xiàn)有其他領域的標準化模式一般也都是“中心化”的,無論國內(nèi)國外,國家標準都是標準層級中非常有影響力的部分。

軟件行業(yè)是否會有些獨特之處呢?當然會有,軟件是一組可工作的計算機代碼,而計算機代碼的特點是,很容易“沾染”開發(fā)者的個人特點,也很容易復制。因此,軟件制品同時具備“偶然性”和“難保護”的特點,也正是“偶然性”使軟件的創(chuàng)新比現(xiàn)有工業(yè)制品更容易。

盡管應當保護開發(fā)者付出的辛苦,但是無論是現(xiàn)有專利制度的效率,還是軟件保護本身給行業(yè)發(fā)展帶來的弊端,都足以讓所有人反思,軟件行業(yè)該采用什么樣的方式走向標準化,走向數(shù)字化時代。

軟件行業(yè)從業(yè)者的核心競爭力到底是什么?Paul Graham 在《黑客與畫家》一書中曾指出,解決困難問題才是程序員最核心的競爭力,而這種能力并非來自于對代碼的保護。在國外,專利、收購、訴訟等都是大公司經(jīng)常采用的保護手段,而非一個程序員可以輕易采取的手段。

解決困難問題的能力也并非是編寫“前無古人后無來者”的代碼,正如 Eric S·Raymond 所言,“好的程序員知道寫什么,而偉大的程序員知道改寫(或者重復使用)什么”。軟件行業(yè)進一步發(fā)展,進入大規(guī)模批量化軟件生成的數(shù)字化時代的前提條件,也許正是重新設置軟件行業(yè)的管理、保護機制,推動開源“標準化”模式的發(fā)展。

為提高生產(chǎn)效率和軟件質(zhì)量,我們需要通過開源模式,提升構(gòu)件的標準化程度、可用性和易用性,建立國家運營的行業(yè)級開源構(gòu)件庫,形成類似開源社區(qū)的機制。優(yōu)秀程序員的價值既然可以通過在開源社區(qū)的影響力獲得,也一樣可以通過對行業(yè)級開源構(gòu)件庫的貢獻來建立,優(yōu)秀程序員依靠的并不是對他已有成果的封閉式保護。

對軟件開發(fā)企業(yè)而言,企業(yè)的核心競爭力也應當是其設計和集成解決方案的能力。從這個角度來講,構(gòu)件的標準化和開源會對企業(yè)能力有更大的提升,“一招鮮吃遍天”并不是應該鼓勵的發(fā)展模式。

對應用軟件或者自主開發(fā)內(nèi)部軟件的企業(yè)而言,軟件保護本就不應該是其業(yè)務的核心,軟件代碼不是可樂配方,一成不變的代碼不會為企業(yè)帶來持久的競爭力,只會隨著時間的變化快速衰減。此外,架構(gòu)并不是可以簡單照搬照抄的東西,開放架構(gòu)設計未必會讓競爭對手快速趕超,不小心的追趕者甚至有可能掉進無意設置的“陷阱”。

未面向數(shù)字化時代深入思考的軟件保護機制也許更多只是給行業(yè)籠罩了一層神秘面紗。“集市”方式并不適合直接孕育一套可用的軟件,開源“標準化”模式的建立也需要“第一推動”。“集市”方式成立的前提條件之一是要先提供一套可以運行的軟件作為起點,開源“標準化”也需要逐步建立每個行業(yè)第一套可用的標準構(gòu)件庫或者開源系統(tǒng),然后再通過社區(qū)化方式不斷發(fā)展為更具生命力的標準體系,這個“第一推動”和對構(gòu)件標準體系的設計就是標準化組織的責任,這樣的組織也應該是公益性的。

未來的大規(guī)模軟件生產(chǎn),也許正是用“集市”提供的構(gòu)件建設“大教堂”的模式,基于這個認知,行業(yè)級標準化正是架構(gòu)演進該有的趨勢。

作者簡介:

付曉巖,《企業(yè)級業(yè)務架構(gòu)設計:方法論與實踐》圖書作者,原國有大行資深業(yè)務架構(gòu)師,負責業(yè)務架構(gòu)設計、項目管理,熱衷新技術(shù)探索與實踐,具有豐富的銀行業(yè)務經(jīng)驗和企業(yè)級項目業(yè)務架構(gòu)設計經(jīng)驗,曾主導客戶關系、金融市場、同業(yè)、資管、養(yǎng)老金等多個領域核心系統(tǒng)的業(yè)務架構(gòu)設計,現(xiàn)就職于建信金融科技有限責任公司。即將發(fā)行新書《銀行數(shù)字化轉(zhuǎn)型》,公眾號:曉談巖說。

 

責任編輯:張燕妮 來源: 架構(gòu)頭條
相關推薦

2010-09-02 09:44:16

室外WLAN

2012-12-27 14:11:21

簡歷應屆畢業(yè)生

2021-05-18 17:55:29

SaaS軟件

2009-07-06 18:24:51

IT資產(chǎn)運維管理廣通信達科技

2022-04-27 10:07:02

Linux文檔命令

2011-07-15 16:57:43

AJAX

2012-09-25 13:32:31

大數(shù)據(jù)Hadoop

2022-03-25 08:34:57

物聯(lián)網(wǎng)安全物聯(lián)網(wǎng)IOT

2015-12-03 10:14:04

2022-04-11 15:05:32

元宇宙虛擬工作空間虛假身份注冊

2011-04-19 17:09:52

代碼編程

2015-07-01 16:11:30

數(shù)據(jù)人才數(shù)據(jù)

2020-04-10 09:07:09

BEC商業(yè)郵件欺詐網(wǎng)絡釣魚

2018-07-16 12:36:48

編程語言PythonJava

2011-12-15 21:16:08

蘋果

2010-03-15 11:47:11

網(wǎng)絡安全

2017-04-05 06:40:32

科技新聞早報

2015-10-28 17:35:51

資本

2013-07-10 16:54:07

Web測試

2022-05-30 16:43:23

人工智能開發(fā)深度學習
點贊
收藏

51CTO技術(shù)棧公眾號