軟件系統(tǒng)的多維性能模型
技術的多變性需要一個系統(tǒng)性能的多目標模型。軟件系統(tǒng)面臨著如此多樣化的需求,如果有一種虛擬進化的話,或許只有最適合的應用程序才能存活下來。

如果把性能定義為“系統(tǒng)與其環(huán)境交互以獲得價值和避免損失的程度”,軟件系統(tǒng)要包括四個要素: 邊界,支持內(nèi)部結(jié)構(gòu),輸出效應器和輸入受體。就像人類一樣,人都有一個皮膚界限,內(nèi)部的大腦和器官,代理肌肉的行動輸出和感覺輸入。計算機有物理外殼、主板結(jié)構(gòu)、屏幕和鍵盤/鼠標“接收器”。軟件有內(nèi)存邊界、內(nèi)部程序結(jié)構(gòu)和專門的輸入/輸出模塊。
每個元素在系統(tǒng)性能中扮演著各自的角色,必須與其環(huán)境成功地交互。如果成功的交互通常會最大化系統(tǒng)獲得收益的機會,并且最小化系統(tǒng)受損風險的話,那么將四個一般要素與兩個一般的環(huán)境交互類型相結(jié)合,可以給出互聯(lián)網(wǎng)應用系統(tǒng)性能網(wǎng)絡(WOSP)的八個一般性能目標:
邊界:管理系統(tǒng)入口以啟用有用的入口(可擴展性)并拒絕有害的入口(安全性) ;
內(nèi)部結(jié)構(gòu):控制和維持系統(tǒng)以適應外部變化(靈活性)和內(nèi)部變化(可靠性) ;
效應器:管理環(huán)境的直接變更,以最大限度地提高外部效果(功能性)和最小限度地降低內(nèi)部工作(可用性)
受體:管理對環(huán)境的感知,以支持數(shù)據(jù)交換(連接)和限制數(shù)據(jù)交換(隱私)

WOSP八個目標可以用一個網(wǎng)絡來說明(參見圖1) ,其中一個點到中心的距離就是該性能維度的程度。這個表現(xiàn)為一個區(qū)域,一個形狀和目標的張力。Web 區(qū)域代表了系統(tǒng)的整體性能,因此更大的區(qū)域具有更大的適應度潛力。Web 形狀是系統(tǒng)的性能描述,它隨環(huán)境而變化; 例如,威脅環(huán)境可能需要更多的安全性。連接線是目標的相互作用,或者說是張力。可以把它們想象成不同張力的橡皮筋,連接著性能的維度,因此增加一個可能會突然拉回另一個。對于我們來說,WOSP 的目標沒有一個是新的; 新的是他們的概念整合到一個共同的框架中。
一個系統(tǒng)的邊界決定了什么可以進入和離開,可以被設計用來抵御外部威脅(安全)和接受外部數(shù)據(jù)的機會(可擴展性)。
可擴展性是一個系統(tǒng)利用外部元素的能力(例如一輛卡車可能會添加拖車,軟件可以有擴展和插件)。人工工具的使用也以同樣的方式擴展了性能,并且程序可以使用第三方插件,這相當于一只開放的人工手。然而,一輛汽車要通過拖車來延伸自己,它的拖鏈必須與拖車的鏈接相匹配,所以擴展性要求一個已知的鏈接形式。開放標準創(chuàng)造了這種好處,并代表了開放源碼的價值??蓴U展性是影響信息系統(tǒng)性能的關鍵因素。
安全性是系統(tǒng)防止未經(jīng)授權進入、濫用或接管的能力(就像汽車擁有鎖和鑰匙,應用程序擁有登錄和密碼)。安全硬件是密封且防篡改的,進入-拒絕原則對于硬件和軟件是相同的。病毒和黑客的威脅使邊界防火墻和登錄檢查對系統(tǒng)生存至關重要。安全缺口是系統(tǒng)故障,因此是性能故障。安全性是信息系統(tǒng)性能的關鍵部分。
系統(tǒng)的內(nèi)部結(jié)構(gòu)可以設計為管理內(nèi)部變化(可靠性)或外部變化(靈活性)。靈活性是一種系統(tǒng)在新環(huán)境中工作的能力,就像履帶使車輛在復雜地形中工作那樣) ; 同樣,移動設備可以在復雜的網(wǎng)絡區(qū)域接收信號。CSMA/CD 協(xié)議的性能優(yōu)于更可靠但不靈活的輪詢協(xié)議。靈活的關系數(shù)據(jù)庫取代了更有效但不靈活的數(shù)據(jù)模型。大多數(shù)現(xiàn)代軟件都有一個參數(shù)設置模塊(例如 Windows 控制面板)來為硬件、軟件或用戶環(huán)境進行配置。靈活性是信息系統(tǒng)性能的另一個關鍵方面。

可靠性意味著一個系統(tǒng)在內(nèi)部發(fā)生變化(如部分故障)的情況下仍然能夠正常運行,能夠正常運行是一件很棒的事情??煽康南到y(tǒng)幾乎總是可用的,能在壓力或負載下生存,如果受到影響,系統(tǒng)會優(yōu)雅地退化降級,而不是災難性地崩潰。在信息系統(tǒng)中,平均故障間隔時間測量的是隨著時間的推移系統(tǒng)無故障運行的概率。同樣重要的是快速恢復,無論是通過代碼修復還是狀態(tài)回滾。可靠性是至關重要的信息系統(tǒng)性能。
系統(tǒng)效應器改變外部環(huán)境,可以設計為最大效應(功能性)或最小化產(chǎn)生這種效應的成本(可用性)。功能性能是一個系統(tǒng)直接作用于其環(huán)境以產(chǎn)生預期變化的能力。關注功能性需求可以生成功能性很強的軟件,人們?yōu)榱诵碌哪芰Χ?,因此功能性在信息系統(tǒng)性能中非常重要,甚至是系統(tǒng)存在的根本原因。
可用性是一個系統(tǒng)最小化行動的相對資源成本的能力。在同樣的工作中使用更少的代碼,精簡指令集的性能優(yōu)于復雜指令集。輕量級軟件在后臺運行良好,因為它使用很少的 CPU/內(nèi)存。在20世紀80年代,圖形用戶界面取代了命令行界面,因為它們減少了用戶的認知成本。在當今的網(wǎng)絡世界,如果用戶不滿意的切換成本很低,所以可用性同樣是信息系統(tǒng)性能的關鍵部分。
連通性為系統(tǒng)性能增加了一個社會維度,它既可以支持信息交換(連接性) ,也可以限制信息交換(隱私性)。連通性是一個系統(tǒng)與其他系統(tǒng)通信的能力。我們有時將行為與效應器聯(lián)系起來,即行為發(fā)生在感覺引導的反饋回路中。同樣,我們把信息和受體聯(lián)系起來,因為受體處理創(chuàng)造了意義,即使是交流的行為也需要效應器。信息的交流最終結(jié)果來自受體以及隨后的加工 ,就像效應器創(chuàng)造行動的最終結(jié)果一樣。對于現(xiàn)代軟件來說,連通性對于 信息系統(tǒng)的性能而言幾乎是必需的。
隱私是一個系統(tǒng)控制自身信息發(fā)布的能力。保密性是工程師從軟件的角度而不是從用戶的角度給予隱私的名稱。軍方重視隱形飛機的原因和動物偽裝自己的原因是一樣的。在技術環(huán)境中,隱私是信息系統(tǒng)性能的關鍵部分。
WOSP 八個目標在概念上是模塊化的; 定義并不重疊。理論上,任何維度上的任何性能水平都可以與任何其他維度相結(jié)合。在設計實踐中,維度相互作用,系統(tǒng)必須滿足所有需求。然而,概念模塊性意味著它們的定義可能產(chǎn)生的任何兩個這樣的需求之間不一定存在的關系。

WOSP的實際意義
WOSP 模型可用于系統(tǒng)設計或系統(tǒng)評估。雖然性能可以被認為是絕對的,但 WOSP 模型將性能視為相對于環(huán)境的性能,因此性能沒有“完美”的形式。在 WOSP 的八個目標中,四個通常是成功的元素——創(chuàng)建功能性、靈活性、可擴展性、連接性,四個是避免失敗的元素——安全性、可靠性、隱私性和可用性。這是有用的,因為環(huán)境可以變化:
機會: 行動可以給能夠收獲它們的系統(tǒng)帶來好處;
風險:行動可能損害不能處理危險的系統(tǒng);
動態(tài)性:風險行動和機會行動的影響、損失和收益可以迅速改變。
如果性能有一個形狀和一個區(qū)域,那么不同的形狀可能更適合不同的環(huán)境。WOSP 模型通過為性能維度分配權重,幫助開發(fā)人員實現(xiàn)適合其環(huán)境的性能形狀。
在傳統(tǒng)的信息系統(tǒng)開發(fā)中,功能是首要目標,非功能性需求是次要需求。然而,許多軟件系統(tǒng)最終會出現(xiàn)更多的錯誤或接口代碼,經(jīng)常由于意想不到的非功能或質(zhì)量原因而失敗。如果非功能性需求可能導致系統(tǒng)故障,需要將其定義為性能并對其進行修改。在 WOSP 模型中,功能與其他性能目標的區(qū)別僅僅在于表征更加明顯。糟糕的可用性會使功能失效,就像糟糕的功能會使可用性變得無關緊要一樣。
現(xiàn)代通信技術說明了性能的許多方面。手機可以讓人們在任何時間任何地點通話,但必須是功能性的(語音質(zhì)量) ,可用的(按鍵或虛擬鍵盤不能太小) ,可靠的(如果丟失) ,安全的(如果被盜) ,可擴展的(耳機,手機套) ,連接的(可以收發(fā)) 和私人的(防止窺探)。每個標準可能有不同的權重,但其中任何一個都可能是關鍵的。手機軟件必須靈活地使用不同的設備/網(wǎng)絡,同時還要能夠?qū)?shù)據(jù)輸入錯誤和電源故障有彈性。它必須是可擴展的,但安全性避免病毒攻擊,在保持連通性的同時保護用戶的隱私。一個信息系統(tǒng)如果具有如下特征,失敗將不可避免。
無效的(Ineffectual):不能勝任工作;
無法使用(Unusable):用戶無法使其工作;
不可靠(Unreliable):經(jīng)常壞掉;
缺乏安全感(Insecure):屈從于病毒;
僵化(Inflexible):當技術或業(yè)務環(huán)境發(fā)生變化時失敗;
不兼容(Incompatible):不能使用標準插件或數(shù)據(jù);
時常斷線(Disconnected):不能溝通; 及
不慎重( Indiscreet):透露個人或公司信息
WOSP 模型對于新技術設計者來說是一個有用的檢查表; 成功需要許多原因,失敗可能只需要一個。

WOSP 模型表明,如果在一個維度的性能提升上也會顯著降低其他維度的性能,那么真正的性能提升可能不會成功。在圖1中,只有總面積的增加才是進步,以犧牲另一個維度為代價增加一個維度可能不會產(chǎn)生這樣的價值,突破可能需要在一個以上的 WOSP 維度上取得進展。
對于新的系統(tǒng),WOSP 開始“松弛”并且包含很少的張力,因此增加性能目標通常也會增加整體性能。然而,隨著系統(tǒng)的發(fā)展和 WOSP 面積的增加,目標的緊張度也隨之增加。由于專業(yè)目標將系統(tǒng)拉向不同的設計方向,一個目標可以跨越另一個目標。同樣地,特性蠕變可能導致難以使用并維護復雜臃腫的軟件,并且一維的“進展”可能會反咬一口。性能目標之間的相互作用解釋了一個奇怪的悖論: 成功產(chǎn)品的后續(xù)版本,經(jīng)過大量的努力和增加許多額外的特性之后,可能會比原始版本執(zhí)行得更差。
開發(fā)人員可以通過同時“拉動”兩個或多個側(cè)面來擴展系統(tǒng); 例如,登錄子系統(tǒng)(安全性)可能會按照名稱歡迎用戶并回憶他們的偏好(增加了可用性)。靈活性不需要否定可靠性,功能性不會降低可用性,互聯(lián)網(wǎng)連接也不一定濫用隱私權。在 WOSP 模型中,明顯的對立面(如安全性和開放性)可以通過創(chuàng)新來調(diào)和。
調(diào)和目標沖突發(fā)生在各維度的交叉點。傳統(tǒng)項目按照專業(yè)(如接口和數(shù)據(jù)庫設計)定義系統(tǒng)需求,因為它們需要不同的技能。為外接程序設計需要標準知識,而安全設計可能需要病毒知識。WOSP 模式歡迎這樣的目標專業(yè)化。根據(jù)項目的不同,多達八個項目的專業(yè)團隊可以使用單獨的規(guī)范、代碼和測試來設計不同的系統(tǒng)層。然而,這意味著一個設計要求超過那些規(guī)定,即他們的創(chuàng)新整合。
伴隨著專業(yè)化,效率提高了,但集成度可能會降低,隨之而來的是系統(tǒng)性能。敏捷和XP的項目方法通過鼓勵每個人都參與到系統(tǒng)設計的各個方面來解決這個問題。它們的流行和成功表明集成在系統(tǒng)設計中和專業(yè)化一樣重要。一體化可以通過兩種主要方式與專業(yè)化相結(jié)合:
跨學科整合(例如全棧架構(gòu)師):在各個專業(yè)之間進行調(diào)解,主持公共會議,協(xié)調(diào)交叉沖突,并創(chuàng)造協(xié)同效應;
跨專業(yè)團體:可能有四個組,一個用于操作(功能性和可用性) ,一個用于交互(安全性和可擴展性) ,一個用于偶然性(可靠性和靈活性) ,還有一個用于社交性(連接性和隱私性)
可以預期的是,復雜的新項目比簡單的舊項目需要更多的整合,因此開發(fā)復雜的社會技術系統(tǒng)可能與傳統(tǒng)的專業(yè)化一樣需要創(chuàng)新的整合。

WOSP的理論意義
WOSP 模型解決的是系統(tǒng)的性能屬性,而不是外部影響(如營銷、政治和分銷)對系統(tǒng)性能的影響。系統(tǒng)成本也不在 WOSP 的范圍之內(nèi),因為它假設買家希望為更高的性能支付更多的費用。最后,WOSP 的邏輯假定可系統(tǒng)“世界”定義在四個層次之一: 機械的、信息的、認知的和社會的。每一個都依賴于前一個,因為軟件依賴于硬件,但也出現(xiàn)了更大的需求和更大的潛力。例如,為了極大地提高系統(tǒng)生產(chǎn)力,社會層面需要合理的互動。為了應用 WOSP 模型,必須首先定義世界級別,因為該模型適用于任何信息系統(tǒng)級別,而不是全部適用。例如,一個系統(tǒng)可能硬件可靠,但軟件不可靠; 或者硬件和軟件可靠,但操作者不可靠; 或者與個人可靠地工作,但是當規(guī)模擴大到社會水平時就會崩潰。
系統(tǒng)設計理論(如瀑布方法)提出了實現(xiàn)已知目標的方法。然而,WOSP 模型解決了這些問題,并提出了一個系統(tǒng)性能的網(wǎng)絡。當研究性能模型時,往往會將其他目標納入其專業(yè)領域。例如,通用安全模型在通用安全概念下包括可用性、完整性、可靠性和機密性。
然而,增加容錯(可靠性)的機制可以降低安全性,但如果可靠性是安全性的一部分,那么這些機制就是不合邏輯的??煽啃院桶踩缘膮^(qū)別就像維護社區(qū)的工程師和保護社區(qū)的警察的區(qū)別一樣,前者旨在提供服務,后者則拒絕提供服務。同樣,保密(隱私)也未必是安全的一部分,每個專業(yè)都包含其他專業(yè)是不合邏輯的。
技術接受模型(TAM)認為,可用性在信息系統(tǒng)中可能和有用性一樣重要。它質(zhì)疑一個過于難以使用的強大系統(tǒng)的性能價值。然而,對于 Web 用戶來說,安全和隱私標準可能比現(xiàn)在傳統(tǒng)的功能和可用性標準更加重要。人們可以擴展原來的 TAM 理論,使安全成為“有用”的一部分,因為不安全的系統(tǒng)是沒有用的。然而,同樣的觀點可能會使可用性成為有用的一部分,因此這個觀點就站不住腳了。拓展 TAM的可用性概念也好不到哪里去。當可用性度量包括對任務(功能)的適應性和錯誤容忍度(可靠性)時,可用性,就像安全性一樣,就變成了一個令人困惑的包羅萬象的性能術語。當靈活性的支持者認為可伸縮性和連接性是靈活性的一個方面時,概念就會擴展,以填補理論空間并造成混亂。WOSP 方法不是概念上的擴展,而是概念上的約束或“模塊化”,例如可用性、安全性和靈活性等概念,將它們?nèi)恐糜谙到y(tǒng)性能的一般標題之下。
在虛擬現(xiàn)實成為現(xiàn)實之前,互聯(lián)網(wǎng)一直是技術極客的天下。在創(chuàng)建今天的在線社會之前,很多網(wǎng)絡理念被學術界和工業(yè)界所忽視。在人人都有手機之前,手機都是實驗室里的玩具。這些例子以及更多的例子說明了性能和進步是多維的。互聯(lián)網(wǎng)提供了大規(guī)模的連接; 文本電子郵件易于使用; 網(wǎng)絡是可擴展的; 手機是靈活的。每一個都增加了一個不同的系統(tǒng)性能因素網(wǎng)絡,因此進展可能看起來是不可預測的,但是這種多樣性是多維發(fā)展的本質(zhì)。雖然有些人認為進步是單一方向上前進,但是 WOSP 模型把它看作是一列在多條軌道上的火車,在它們之間切換以增加進步時的覆蓋面積。
這個模型隱含的意思是,今天的趨勢不一定是明天的創(chuàng)新。從本質(zhì)上講,專家是過去的專家,所以他們預測的進步并不總是發(fā)生。WOSP 模型表明,開發(fā)系統(tǒng)較弱的方面可能比開發(fā)較強的方面產(chǎn)生更大的性能提升,盡管后者通常創(chuàng)造了成功。如果性能是 WOSP 區(qū)域,最大的面積增加是通過擴展最短的維度來實現(xiàn)的。

小結(jié)
如果軟件按照生命進化的方式進化,那么信息系統(tǒng)的進化將會采取多種形式。有趣的是,殺手級應用程序(如電子郵件和聊天)功能簡單,至少在開始階段是這樣。也許更少的能力創(chuàng)造了全方位性能擴展所需要的 WOSP 的松弛。用戶不僅需要功能,他們還需要可用性、可靠性、靈活性、安全性、可擴展性、隱私性和連接性,這些都是性能的要素。
隨著信息系統(tǒng)變得更加復雜,性能集成問題將變得更加關鍵。信息系統(tǒng)是多維性能空間中形式的綜合,其中每個設計選擇影響每個維度。必須認識到我們所面臨的問題: 系統(tǒng)的整體性大于各個部分的總和。對于跨領域的系統(tǒng)設計,如果沒有跨學科的人才來進行,就不是真正的系統(tǒng)設計。推進一體化和專業(yè)化,實現(xiàn)平衡和卓越,都需要理論與實踐。
【關聯(lián)閱讀】
