架構(gòu)的基本需求主要是在滿足功能屬性的前提下,關(guān)注軟件質(zhì)量屬性,架構(gòu)設(shè)計則是為滿足架構(gòu)需求(質(zhì)量屬性)尋找適當(dāng)?shù)?“ 戰(zhàn)術(shù) ”。
軟件屬性包括功能屬性和質(zhì)量屬性,但是,軟件架構(gòu)(及軟件架構(gòu)設(shè)計師)重點關(guān)注的是質(zhì)量屬性。因為,在大量的可能結(jié)構(gòu)中,可以使用不同的結(jié)構(gòu)來實現(xiàn)同樣的功能性,即功能性在很大程度上是獨立于結(jié)構(gòu)的,架構(gòu)設(shè)計師面臨著決策(對結(jié)構(gòu)的選擇),而功能性所關(guān)心的是它如何與其他質(zhì)量屬性進行交互,以及它如何限制其他質(zhì)量屬性。
1 軟件質(zhì)量屬性
《GB/T16260-1996(idt ISO/IEC9126:1991)信息技術(shù)軟件產(chǎn)品評價質(zhì)量特性及其使用指南》中描述的軟件質(zhì)量特性包括功能性、可靠性、易用性、效率、可維護性、可移植性等 6 個方面,每個方面都包含若干個子特性。
- 功能性:適合性、準(zhǔn)確性、互操作性、依從性、安全性;
- 可靠性:成熟性、容錯性、易恢復(fù)性;
- 易用性:易理解性、易學(xué)性、易操作性;
- 效率:時間特性、資源特性;
- 可維護性:易分析性、易改變性、穩(wěn)定性、易測試性;
- 可移植性:適應(yīng)性、易安裝性、遵循性、易替換性;
正如上述列舉與分類,軟件的質(zhì)量屬性很多,也有各種不同的分類法和不同的表述。雖然術(shù)語沒有統(tǒng)一的定義,但其含義可以認為業(yè)界已有共識。下面選取常用的質(zhì)量屬性術(shù)語,并做逐一說明。
1.1 運行期質(zhì)量屬性
- 性能:性能是指軟件系統(tǒng)及時提供相應(yīng)服務(wù)的能力。包括速度 、 吞吐量和持續(xù)高速性三方面的要求。
- 安全性:指軟件系統(tǒng)同時兼顧向合法用戶提供服務(wù),以及阻止非授權(quán)使用的能力。
- 易用性:指軟件系統(tǒng)易于被使用的程度。
- 可伸縮性:指當(dāng)用戶數(shù)和數(shù)據(jù)量增加時,軟件系統(tǒng)維持高服務(wù)質(zhì)量的能力。例如,通過增加服務(wù)器來提高能力。
- 互操作性:指本軟件系統(tǒng)與其他系統(tǒng)交換數(shù)據(jù)和相互調(diào)用服務(wù)的難易程度。
- 可靠性:軟件系統(tǒng)在一定的時間內(nèi)無故障運行的能力。
- 持續(xù)可用性:指系統(tǒng)長時間無故障運行的能力。與可靠性相關(guān)聯(lián),常將其納入可靠性中。
- 魯棒性:是指軟件系統(tǒng)在一些非正常情況(如用戶進行了非法操作 、 相關(guān)的軟硬件系統(tǒng)發(fā)生了故障等)下仍能夠正常運行的能力。也稱健壯性或容錯性。
1.2 開發(fā)期質(zhì)量屬性
- 易理解性:指設(shè)計被開發(fā)人員理解的難易程度。
- 可擴展性:軟件因適應(yīng)新需求或需求變化而增加新功能的能力。也稱為靈活性。
- 可重用性:指重用軟件系統(tǒng)或某一部分的難易程度。
- 可測試性:對軟件測試以證明其滿足需求規(guī)范的難易程度。
- 可維護性:當(dāng)需要修改缺陷、增加功能、提高質(zhì)量屬性時,定位修改點并實施修改的難易程度;
- 可移植性:將軟件系統(tǒng)從一個運行環(huán)境轉(zhuǎn)移到另一個不同的運行環(huán)境的難易程度。
在實踐中,架構(gòu)設(shè)計師追求質(zhì)量屬性常常陷入 “ 魚和熊掌 ” 的兩難境地,這就需要架構(gòu)設(shè)計師的決策智慧了。下表反映了質(zhì)量屬性之間的相互制約關(guān)系(正相關(guān)或負相關(guān)),其中 “ + ” 代表 “ 行屬性 ” 能促進 “ 列屬性 ” ;而 “ - ” 則相反。例如,第一列符號說明許多屬性(行)對性能(列)有副作用,第一行符號說明性能(行)對許多屬性(列)有副作用,認識這一點,對于架構(gòu)決策的權(quán)衡很重要。
| 性能 | 安全性 | 持續(xù)可用性 | 可互操作性 | 可靠性 | 魯棒性 | 易用性 | 可測試性 | 可重用性 | 可維護性 | 可擴展性 | 可移植性 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 性能 | - | - | - | - | - | - | - | - | ||||
| 安全性 | - | - | - | - | - | |||||||
| 持續(xù)可用性 | + | + | ||||||||||
| 可互操作性 | - | - | + | + | ||||||||
| 可靠性 | - | + | + | + | + | + | + | |||||
| 魯棒性 | - | + | + | + | ||||||||
| 易用性 | - | + | - | |||||||||
| 可測試性 | - | + | + | + | + | + | ||||||
| 可重用性 | - | - | + | - | + | + | + | + | ||||
| 可維護性 | - | + | + | + | + | |||||||
| 可擴展性 | - | - | + | + | + | + | ||||||
| 可移植性 | - | + | - | + | + | - | + |
2 六個質(zhì)量屬性及實現(xiàn)
質(zhì)量屬性分為6種:可用性 、 可修改性 、 性能 、 安全性 、 可測試性 、 易用性。其他的質(zhì)量屬性一般可納入這幾個屬性中(在其他文獻中為了強調(diào)常單列出來),例如,可擴充性可歸入可修改性中(修改系統(tǒng)容量),可移植性也可以作為平臺的可修改性來獲得。對于未能納入的其他質(zhì)量屬性,可以用本文的方法進行研究。
那么,如何描述質(zhì)量屬性需求呢?采用質(zhì)量屬性場景作為一種描述規(guī)范,它由以下6個部分組成,如圖 1 所示。

- 刺激源:生成該刺激的實體(人、計算機系統(tǒng)或其他激勵器);
- 刺激:刺激到達系統(tǒng)時可能產(chǎn)生的影響(即需要考慮和關(guān)注的情況);
- 環(huán)境:該刺激在某條件內(nèi)發(fā)生。如系統(tǒng)可能正處于過載情況;
- 制品:系統(tǒng)中受刺激的部分(某個制品被刺激);
- 響應(yīng):刺激到達后所采取的行動;
- 響應(yīng)度量:當(dāng)響應(yīng)發(fā)生時,應(yīng)能夠以某種方式對應(yīng)其度量,用于對是否滿足需求的測試。
需要將一般的質(zhì)量屬性場景(一般場景)與具體的質(zhì)量屬性場景(具體場景)區(qū)別開來,前者是指獨立于具體系統(tǒng) 、 適合于任何系統(tǒng)的一般性場景;而后者是指適合于正在考慮的某個特定系統(tǒng)的場景,具體場景通常是指從一般場景中抽取特定的 、 面向具體系統(tǒng)的內(nèi)容。
下面我們?yōu)槊總€質(zhì)量屬性提供一張表,該表中給出了質(zhì)量屬性場景每部分的一些可能取值,整體上形成一個一般場景的表格描述。在實際應(yīng)用時,根據(jù)系統(tǒng)的具體情況,從該表中選取適當(dāng)?shù)闹?,就能變成具體場景(可讀性強 、 可應(yīng)用),可以把具體場景的集合作為系統(tǒng)的質(zhì)量屬性需求。
實現(xiàn)這些質(zhì)量屬性的基本設(shè)計決策,稱為 “ 戰(zhàn)術(shù) ” ,而把戰(zhàn)術(shù)的集合稱為 “ 架構(gòu)策略 ” 。這些架構(gòu)策略供架構(gòu)設(shè)計師選擇。
下面將對各質(zhì)量屬性的戰(zhàn)術(shù)進行示例性的總結(jié)。
“戰(zhàn)術(shù)”作為邏輯部件位于圖 1 的制品中,它旨在控制對刺激的響應(yīng)。
2.1 可用性及其實現(xiàn)戰(zhàn)術(shù)
2.1.1 可用性的描述
可用性的描述如下表所示。
| 場景 | 可能的值 |
|---|---|
| 刺激源 | 系統(tǒng)內(nèi)部、系統(tǒng)外部 |
| 刺激 | 錯誤:疏忽(構(gòu)件對某輸入未作出反應(yīng))、崩潰、時間不當(dāng)(響應(yīng)時間太早或太遲)、響應(yīng)不當(dāng)(響應(yīng)了一個不正確的值) |
| 制品 | 系統(tǒng)處理器、通信通道、存儲器、進程 |
| 環(huán)境 | 正常操作、降級模式 |
| 響應(yīng) | 系統(tǒng)應(yīng)檢測事件,并進行如下一個或多個活動:記錄、通知適當(dāng)各方,包括用戶和其他系統(tǒng);根據(jù)規(guī)則屏蔽導(dǎo)致錯誤或故障的事件源;不可用;繼續(xù)在正常或降級模式下運行。 |
| 響應(yīng)度量 | 可用時間、修復(fù)時間、各種情況的時間間隔。 |
可用性一般場景可以用圖 2 表示。

對一般場景進行具體化可以得到可用性具體場景,如圖 3 所示。

2.1.2 可用性戰(zhàn)術(shù)
可用性戰(zhàn)術(shù)的目標(biāo)是阻止錯誤發(fā)展成故障,至少能夠把錯誤的影響限制在一定范圍內(nèi),從而使修復(fù)成為可能。戰(zhàn)術(shù)分為:錯誤檢測 、 錯誤恢復(fù) 、 錯誤預(yù)防。
(1)錯誤檢測
- 命令/響應(yīng):一個構(gòu)件發(fā)出一個命令,并希望在預(yù)定義的時間內(nèi)收到一個來自審查構(gòu)件的響應(yīng),例如遠程錯誤的檢測。
- 心跳(計時器):一個構(gòu)件定期發(fā)出一個心跳消息,另一個構(gòu)件收聽到消息,如果未收到心 消息,則假定構(gòu)件失敗,并通知錯誤糾正構(gòu)件。
- 異常:當(dāng)出現(xiàn)異常時,異常處理程序開發(fā)執(zhí)行。
(2)錯誤恢復(fù)
- 表決:通過冗余構(gòu)件(或處理器)與表決器連接,構(gòu)件按相同的輸入及算法計算輸出值交給表決器,由表決器按表決算法(如多數(shù)規(guī)則)確定是否有構(gòu)件出錯,表決通常用在控制系統(tǒng)中。
- 主動冗余(熱重啟 、 熱備份):所有的冗余構(gòu)件都以并行的方式對事件做出響應(yīng)。它們都處在相同的狀態(tài),但僅使用一個構(gòu)件的響應(yīng),丟棄其馀構(gòu)件的響應(yīng)。錯誤發(fā)生時通過切換的方式使用另一個構(gòu)件的響應(yīng)。
- 被動冗余(曖重啟 / 雙冗余 / 三冗余):一個構(gòu)件(主構(gòu)件)對事件做出響應(yīng),并通知其他構(gòu)件(備用的)必須進行的狀態(tài)更新(同步)。當(dāng)錯誤發(fā)生時,備用構(gòu)件從最新同步點接替主構(gòu)件的工作。
- 備件:備件是計算平臺配置用于更換各種不同的故障構(gòu)件。
- 狀態(tài)再同步:主動和被動冗余戰(zhàn)術(shù)要求所恢復(fù)的構(gòu)件在重新提供服務(wù)前更新其狀態(tài)。更新方法取決于可以承受的停機時間 、 更新的規(guī)模及更新的內(nèi)容多少。
- 檢查點 / 回滾:檢查點就是使?fàn)顟B(tài)一致的同步點,它或者是定期進行,或者是對具體事件做出響應(yīng)。當(dāng)在兩檢查點之間發(fā)生故障時,則以這個一致狀態(tài)的檢查點(有快照)和之后發(fā)生的事務(wù)日志來恢復(fù)系統(tǒng)(數(shù)據(jù)庫中常使用)。
(3)錯誤預(yù)防
- 從服務(wù)中刪除:如刪除進程再重新啟動,以防止內(nèi)存泄露導(dǎo)致故障的發(fā)生。
- 事務(wù):使用事務(wù)來保證數(shù)據(jù)的一致性,即幾個相關(guān)密切的步驟,要么全成功,要么都不成功。
- 進程監(jiān)視器:通過監(jiān)視進程來處理進程的錯誤。
2.2 可修改性及其實現(xiàn)戰(zhàn)術(shù)
2.2.1 可修改性的描述
可修改性的描述。可修改性的描述如下表所示。
| 場景 | 可能的值 |
|---|---|
| 刺激源 | 最終用戶、開發(fā)人員、系統(tǒng)管理員 |
| 刺激 | 增加/刪除/修改:功能、質(zhì)量屬性、容量 |
| 制品 | 用戶界面、平臺、環(huán)境或關(guān)聯(lián)系統(tǒng) |
| 環(huán)境 | 運行時、編譯時、構(gòu)建時、設(shè)計時 |
| 響應(yīng) | 查找要修改的位置,進行修改(不影響其他功能),測試,部署 |
| 響應(yīng)度量 | 度量要修改的成本,度量修改所造成的影響 |
2.2.2 可修改性戰(zhàn)術(shù)
包括局部化修改、防止連鎖反應(yīng)、推遲綁定時間。
(1)局部化修改
在設(shè)計期間為模塊分配責(zé)任,以便把預(yù)期的變更限制在一定的范圍內(nèi), 從而降低修改的成本。
- 維持語義的一致性:語義的一致性指的是模塊中責(zé)任之間的關(guān)系,使這些責(zé)任能夠協(xié)同工作, 不需要過多地依賴其他模塊。耦合和內(nèi)聚指標(biāo)反映一致性,應(yīng)該根據(jù)一組預(yù)期的變更來度量 語義一致性。使用“抽象通用服務(wù)”(如應(yīng)用框架的使用和其他中間軟件的使用)來支持可 修改性是其子戰(zhàn)術(shù)。
- 預(yù)期期望的變更:通過對變更的預(yù)估,進行預(yù)設(shè)、準(zhǔn)備,從而使變更的影響最小。
- 泛化該模塊:使一個模塊更通用、更廣泛的功能。
- 限制可能的選擇:如在更換某一模塊(如處理器)時,限制為相同家族的成員。
(2)防止連鎖反應(yīng)
由于模塊之間有各種依賴性,因此,修改會產(chǎn)生連鎖反應(yīng)。防止連鎖反應(yīng)的戰(zhàn)術(shù)如下。
- 信息隱藏:就是把某個實體的責(zé)任分解為更小的部分,并選擇哪些信息成為公有的,哪些成為私有的,通過接口獲得公有責(zé)任。
- 維持現(xiàn)有的接口:盡可能維持現(xiàn)有接口的穩(wěn)定性。例如通過添加接口(通過新的接口提供新的服務(wù))可以達到這一目的。
- 限制通信路徑:限制與一個給定的模塊共享數(shù)據(jù)的模塊。這樣可以減少由于數(shù)據(jù)產(chǎn)生 / 使用引入的連鎖反應(yīng)。
- 仲裁者的使用:在具有依賴關(guān)系的兩個模塊之間插入一個仲裁者,以管理與該依賴相關(guān)的活動。仲裁者有很多種類型,例如:橋 、 調(diào)停者 、 代理等就是可以提供把服務(wù)的語法從一種形式轉(zhuǎn)換為另一種形式的仲裁者。
(3)推遲綁定時間
系統(tǒng)具備在運行時進行綁定并允許非開發(fā)人員進行修改(配置)。
- 運行時注冊:支持即插即用。
- 配置文件:在啟動時設(shè)置參數(shù)。
- 多態(tài):在方法調(diào)用的后期綁定。
- 構(gòu)件更換:允許載入時綁定。
2.3 性能及其實現(xiàn)戰(zhàn)術(shù)
2.3.1 性能的描述
| 場景 | 可能的值 |
|---|---|
| 刺激源 | 系統(tǒng)外部或內(nèi)部 |
| 刺激 | 定期、隨機或偶然事件 |
| 制品 | 系統(tǒng)外部或內(nèi)部 |
| 環(huán)境 | 正常模式、超載模式 |
| 響應(yīng) | 處理刺激、改變服務(wù)級別 |
| 響應(yīng)度量 | 度量等待、期限、吞吐量、缺失率、數(shù)據(jù)丟失等 |
2.3.2 性能戰(zhàn)術(shù)
性能與時間相關(guān),影響事件的響應(yīng)時間有兩個基本因素。
- 資源消耗:事件到達后進入一系列的處理程序,每一步處理都要占用資源,而且在處理過程中消息在各構(gòu)件之間轉(zhuǎn)換,這些轉(zhuǎn)換也需要占用資源。
- 閉鎖時間:指對事件處理時碰到了資源爭用 、 資源不可用或?qū)ζ渌嬎愕囊蕾嚨惹闆r,就產(chǎn)生了等待時間。
性能的戰(zhàn)術(shù)有如下幾種。
(1)資源需求
- 減少處理事件流所需的資源:提高計算效率(如改進算法)、減少計算開銷(如在可修改性與性能之間權(quán)衡,減少不必要的代理構(gòu)件)。
- 減少所處理事件的數(shù)量:管理事件率、控制采樣頻率。
- 控制資源的使用:限制執(zhí)行時間(如減少迭代次數(shù))、限制隊列大小。
(2)資源管理
- 引入并發(fā):引入并發(fā)對負載平衡很重要。
- 維持數(shù)據(jù)或計算的多個副本: C /S 結(jié)構(gòu)中客戶機 C 就是計算的副本,它能減少服務(wù)器計算的壓力;高速緩存可以存放數(shù)據(jù)副本(在不同速度的存儲庫之間的緩沖)。
- 增加可用資源:在成本允許時,盡量使用速度更快的處理器 、 內(nèi)存和網(wǎng)絡(luò)。
(3)資源仲裁
資源仲裁戰(zhàn)術(shù)是通過如下調(diào)度策略來實現(xiàn)的。
- 先進/先出(FIFO);
- 固定優(yōu)先級調(diào)度:先給事件分配特定的優(yōu)先級,再按優(yōu)先級高低順序分配資源; 動態(tài)優(yōu)先級調(diào)度:輪轉(zhuǎn)調(diào)度、時限時間最早優(yōu)先;
- 靜態(tài)調(diào)度:可以離線確定調(diào)度。
2.4 安全性及其實現(xiàn)戰(zhàn)術(shù)
2.4.1 安全性的描述
| 場景 | 可能的值 |
|---|---|
| 刺激源 | 對敏感資源進行訪問的人或系統(tǒng)(合法、非法) |
| 刺激 | 試圖:顯示數(shù)據(jù)、改變或刪除數(shù)據(jù)、訪問系統(tǒng)服務(wù)、降低系統(tǒng)服務(wù)可用性 |
| 制品 | 系統(tǒng)服務(wù)、系統(tǒng)中的數(shù)據(jù) |
| 環(huán)境 | 在線或離線、聯(lián)網(wǎng)或斷網(wǎng)、有或無防火墻 |
| 響應(yīng) | 驗證用戶身份;阻止或允許對數(shù)據(jù)或服務(wù)進行訪問;授予可回收的訪問權(quán);加密信息;限制服務(wù)可用性;通知用戶或系統(tǒng) |
| 響應(yīng)度量 | 增加安全性成本;檢測或確定攻擊可能性;降低服務(wù)級別后的成功率;恢復(fù)數(shù)據(jù)或服務(wù) |
2.4.2 安全性戰(zhàn)術(shù)
包括抵抗攻擊、檢測攻擊和從攻擊中恢復(fù)。
(1)抵抗攻擊
- 對用戶進行身份驗證:包括動態(tài)密碼 、 一次性密碼 、 數(shù)字證書及生物識別等;
- 對用戶進行授權(quán):即對用戶的訪問進行控制管理;
- 維護數(shù)據(jù)的機密性:一般通過對數(shù)據(jù)和通信鏈路進行加密來實現(xiàn);
- 維護完整性:對數(shù)據(jù)添加校驗或哈希值;
- 限制暴露的信息;
- 限制訪問:如用防火墻 、 DMZ策略。
兩個防火墻之間的空間被稱為 DMZ 。 與 Internet 相比, DMZ 可以提供更高的安全性,但是其安全性比內(nèi)部網(wǎng)絡(luò)低。 DMZ 是英文 “ demilitarized zone ” 的縮寫,中文名稱為 “ 隔離區(qū) ” ,也稱 “ 非軍事化區(qū) ” 。它是為了解決安裝防火墻后外部網(wǎng)絡(luò)的訪問用戶不能訪問內(nèi)部網(wǎng)絡(luò)服務(wù)器的問題,而設(shè)立的一個非安全系統(tǒng)與安全系統(tǒng)之間的緩沖區(qū)。該緩沖區(qū)位于企業(yè)內(nèi)部網(wǎng)絡(luò)和外部網(wǎng)絡(luò)之間的小網(wǎng)絡(luò)區(qū)域內(nèi)。在這個小網(wǎng)絡(luò)區(qū)域內(nèi)可以放置一些必須公開的服務(wù)器設(shè)施,如企業(yè) Web 服務(wù)器 、FTP 服務(wù)器和論壇等。另一方面,通過這樣一個 DMZ 區(qū)域,更加有效地保護了內(nèi)部網(wǎng)絡(luò)。因為這種網(wǎng)絡(luò)部署,比起一般的防火墻方案,對來自外網(wǎng)的攻擊者來說又多了一道關(guān)卡。
(2)檢測攻擊
一般通過“入侵檢測”系統(tǒng)進行過濾、比較通信模式與歷史基線等方法。
(3)從攻擊中恢復(fù)
- 恢復(fù):與可用性中的戰(zhàn)術(shù)相同;
- 識別攻擊者:作為審計追蹤,用于預(yù)防性或懲罰性目的。
2.5 可測試性及其實現(xiàn)戰(zhàn)術(shù)
2.5.1 可測試性的描述
| 場景 | 可能的值 |
|---|---|
| 刺激源 | 各類測試人員(單元測試、集成測試、驗收、用戶) |
| 刺激 | 一種測試 |
| 制品 | 設(shè)計、代碼段、完整應(yīng)用 |
| 環(huán)境 | 設(shè)計時、開發(fā)時、編譯時、部署時 |
| 響應(yīng) | 提供測試的狀態(tài)值、準(zhǔn)備測試環(huán)境與案例 |
| 響應(yīng)度量 | 測試成本、出現(xiàn)故障的概率、執(zhí)行時間等 |
2.5.2 可測試性戰(zhàn)術(shù)
包括輸入/輸出和內(nèi)部監(jiān)控。
(1)輸入/輸出
- 記錄/回放:指捕獲跨接口的信息,并將其作為測試專用軟件的輸入;
- 將接口與實現(xiàn)分離:允許使用實現(xiàn)的替代(模擬器)來支持各種測試目的;
- 優(yōu)化訪問線路/接口:用測試工具來捕獲或賦予構(gòu)件的變量值。
(2)內(nèi)部監(jiān)控
當(dāng)監(jiān)視器處于激活狀態(tài)時,記錄事件(如通過接口的信息)。
2.6 易用性及其實現(xiàn)戰(zhàn)術(shù)
2.6.1 易用性的描述
| 場景 | 可能的值 |
|---|---|
| 刺激源 | 最終用戶 |
| 刺激 | 學(xué)習(xí)系統(tǒng)特性、有效使用系統(tǒng)、使錯誤的影響最低、適配系統(tǒng)、對系統(tǒng)滿意 |
| 制品 | 系統(tǒng) |
| 環(huán)境 | 運行時或配置時 |
| 響應(yīng) | 1. 學(xué)習(xí)系統(tǒng)特性:用戶熟悉界面或使用幫助系統(tǒng);2. 有效使用系統(tǒng):數(shù)據(jù)或命令聚合或復(fù)用、導(dǎo)航、操作一致性、多個活動同時進行;3. 錯誤影響最低:撤銷或取消、從故障中恢復(fù)、識別并糾正用戶錯誤、驗證系統(tǒng)資源;4. 適配系統(tǒng):定制能力、國際化;5. 對系統(tǒng)滿意:顯示系統(tǒng)狀態(tài)、與用戶的節(jié)奏合拍。 |
| 響應(yīng)度量 | 從最終用戶的角度進行度量。如:學(xué)習(xí)成本、錯誤數(shù)量、解決問題的數(shù)量、滿意度等。 |
2.6.2 易用性戰(zhàn)術(shù)
包括運行時戰(zhàn)術(shù)、設(shè)計時戰(zhàn)術(shù)和支持用戶主動操作。
(1)運行時戰(zhàn)術(shù)
- 任務(wù)的模型:維護任務(wù)的信息,使系統(tǒng)了解用戶試圖做什么,并提供各種協(xié)助;
- 用戶的模型:維護用戶的信息,例如使系統(tǒng)以用戶可以閱讀頁面的速度滾動頁面;
- 系統(tǒng)的模型:維護系統(tǒng)的信息,它確定了期望的系統(tǒng)行為,并向用戶提供反饋。
(2)設(shè)計時戰(zhàn)術(shù)
將用戶接口與應(yīng)用的其余部分分離開來,預(yù)計用戶接口會頻繁發(fā)生變化,因此,單獨維護用戶接口代碼將實現(xiàn)變更局部化。這與可修改性相關(guān)。
(3)支持用戶主動操作
支持用戶的主動操作,如支持“取消”、“撤銷”、“聚合”和 “顯示多個視圖”。