所謂“系統性思維”,就是將認識對象作為一個獨立的“系統”來進行觀察,從系統與要素、要素與要素、系統與環境之間的相互聯系、相互作用等方面綜合地考察認識對象的一種思維方法。就是說,首先要確定一個研究對象,然后確定它的邊界,再對邊界內的各要素之間的關系進行研究,這種思維方法使人們的思維更具全局意識和整體性。
軟件編程是這種思維方式的集中體現。在編寫程序之前,先要搞清楚需要完成的功能,以及要達到的性能,即理清它的業務架構和應用架構,確定整個程序系統的邊界。如下圖所示的飛機機票預定系統,理清各主要的要素、以及各要素之間的關系。然后再做進一步的細化,包括數據庫、各要素模塊之間接口的定義等。最后更進一步,確定用哪種語言編程,如用C++等,設計類、數據、函數的結構等等。所以整個的思路是從系統的角度出發,一步步的細化。無論編寫復雜的系統,如需要分布式的架構體系、并發多線程,還是嵌入式的編程,其系統化的思想類似。只是由于軟件工程的成熟,你可以基于現有成熟的框架,而不用從頭來開發系統,從而減少整個開發的工作量,如在IaaS、PaaS的基礎上編寫應用層的軟件、基于Docker+Kubernets的系統框架,基于Java的編程環境及豐富的調用接口,基于安卓提供的豐富的framework,嵌入式的內核調度系統等。
對更為復雜的系統來說,特別是包含各種軟硬件的系統來說,系統性的思維同樣重要。如安防的系統,如下圖所示,基于對整個業務的框架,確定硬件和軟件的整個架構。從硬件的角度來講,基于業務的需求,確定好系統的容量、傳輸速率、各個硬件之間的接口、規格等。同時基于硬件的架構,再確定整個軟件的架構,使軟硬件要素的協同配合。比如交換機、管理服務器等這些硬件內,都需要匹配需求的軟件。
而從更微觀的系統,如芯片的設計,同樣需要系統的思維理念。首先對整個系統的功能與系統提出總體的需求,架構出各主要的模塊,如CPU、DSP、Memory、PMU、總線等,如下圖的結構框圖、以及各主要模塊要素之間的關系。類似軟件的編程,只是語言換成了verilog等硬件描述語言,進行編程與驗證。對各功能模塊進行版圖的劃分,確定好各模塊的物理位置,以及按照系統的要求,Pin腳的接口定義等。
對一個公司來說,系統性的思維同樣適用。只是基于公司作為一個系統的研究對象,公司是一個嚴密的組織,依據公司戰略、業務、規模等的不同,會有不同的組織架構,有事業部制的、職能制的、矩陣制的。不同的組織架構,對各個子模塊如何協同合作也會產生不同的影響。所以診斷一個企業時,需要深入觀察公司各部分之間的協同合作是否順暢,是否與公司作為整體的系統的戰略相一致。
研究一個企業的時候,商業模式是我們一直很關心的。下圖是非常出名的商業模式畫布圖,包括了重要伙伴、關鍵業務、核心資源、價值主張、客戶關系、渠道通路、客戶細分、成本結構、收入來源9個方面。這可以看作是研究企業的9個重要要素,需要著重指出的是這9個要素是相互關聯,而不是孤立的靜態的。舉例來說,公司的價值主張是指通過產品和服務向消費者提供的價值,而這種價值是否能體現很重要取決于公司的關鍵業務,而公司的關鍵業務是否能順利開展,取決于公司掌握的核心資源是否足夠,而這種核心資源的稀缺性,往往決定了公司的成本、毛利等相關情況。所以可以看成是環環相扣,每一環運轉不順暢,將直接導致公司商業模式的缺陷。
從更大范圍來說,系統的思考方式對一個產業的思考同樣是如此。經典的波特五力模型分析方法就是一種很好的系統思考方法。一個產業的激烈競爭不是事物的巧合,而是五種力量要素之間的博弈,這種要素之間的博弈、以及力量之間的轉換,決定了該產業當前的狀態,以及未來可能的走向。當然還有其他各種產業分析模型,很多思想與系統的思維方式一致,只是要素的劃分,邊界的定義有區別。
系統的分析方法,特別注重全局的輸入輸出,以及內部各主要要素之間的互動,可以適用于許多的場景。
-
C++
+關注
關注
22文章
2108瀏覽量
73623 -
軟件編程
+關注
關注
1文章
41瀏覽量
11296
原文標題:系統性的思維習慣
文章出處:【微信號:gh_0cdc890e93ea,微信公眾號:電子信息產業洞察】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論