- 架構和需求
- 系統(tǒng)的需求可能會有很多的表現方式,比如以文本,模型,用例等等來表示,雖然系統(tǒng)的需求的表現類型有很多,但是它們基本都圍繞以下幾種類型
- 功能性需求(Functional requirements)
這類需求表明了系統(tǒng)應該做什么,在真正運行的時候應該如何響應。 - 質量屬性需求(Quality attribute requirements)
這個是對功能性需求或者說是對整個系統(tǒng)性能等方面的評估和驗證 - 約束(Constraints)
表示系統(tǒng)已經存在的那些設計決定,比如用什么開發(fā)語言,或者重用某個已經存在的模塊
- 功能性需求(Functional requirements)
- 軟件架構對以上系統(tǒng)需求是如何響應的
- 將提出的功能性需求在對架構的設計中落實到架構中的哪些元素進行實現
- 就像第二章說的那樣,架構中設計一系列的結構來處理系統(tǒng)的質量屬性
- 在約束下提出設計決定使其和在約束下必須存在的決定保持一致,沒有沖突
- 系統(tǒng)的需求可能會有很多的表現方式,比如以文本,模型,用例等等來表示,雖然系統(tǒng)的需求的表現類型有很多,但是它們基本都圍繞以下幾種類型
- 明確對質量屬性的需求
- 質量屬性場景
- 觸發(fā)事件的來源(source of stimulus)
對系統(tǒng)的觸發(fā)可以是人,電腦系統(tǒng)等。 - 觸發(fā)事件(Stimulus)
就是當有觸發(fā)事件到達系統(tǒng)需要一系列的系統(tǒng)響應來響應觸發(fā)。 - 環(huán)境(environment)
觸發(fā)事件在某個特定環(huán)境發(fā)生,比如系統(tǒng)過載,或者正在運行或者是其他情況 - 制品(Artifact)
有些制品是可以積累的,制品可能是系統(tǒng)的某個部分也可能是整個系統(tǒng) - 響應(Response)
指的是觸發(fā)事件發(fā)生時系統(tǒng)的響應 - 響應度量(Response measure)
需要記錄響應的發(fā)生,把這個作為對系統(tǒng)需求的評估。 - 根據對質量屬性場景的定義,可以對系統(tǒng)不同的質量屬性進行分析,比如可用性場景,可測試性場景,可修改性場景等等。這樣就可以通過不同的質量屬性場景對不同的質量屬性進行明確。
- 使用架構戰(zhàn)術來獲得質量屬性
- 通過使用架構戰(zhàn)術就可以是一個設計真正的具有可移植性,或者高性能,或者是可移植性。
- 架構戰(zhàn)術就是一個可以影響到某一個質量屬性響應控制的設計決策,架構戰(zhàn)術的集合就是架構模式,架構戰(zhàn)術是架構分析中不可分割的最小單元,因為一個戰(zhàn)術只針對一個特定的質量屬性。
觸發(fā)事件->控制響應的戰(zhàn)術->響應 - 質量設計決定概覽
- 可以將設計決定分為以下七種類型
- 分配職責
- 識別重要的職責
- 如何將識別出來的職責進行分配
- 模塊間協(xié)作
- 識別出需要進行交互的系統(tǒng)元素
- 決定交互中需要需要滿足的屬性
- 選擇滿足這些屬性的交互機制
- 數據模型
- 選擇主要的數據抽象,數據之間的操作和數據的屬性
- 為系統(tǒng)的數據編寫元數據
- 將數據進行組織,用關系數據庫還是對象等
- 管理資源
- 即對共有資源進行管理,比如CPU,內存等
- 首先識別哪些資源市共有的
- 決定由哪個系統(tǒng)元素對資源進行管理
- 理解不同資源在飽和的時候會帶來哪些影響
- 架構元素間存在的映射
- 架構必須要提供兩種映射
- 不同類型元素間的映射
- 軟件元素和硬件元素之間的映射
- 架構必須要提供兩種映射
- 基于時間的決定(變更處理)
- 其他的六種設計決定都可以允許范圍的變更
- 在做變更決定的時候要考慮變更帶來的后果
- 選擇技術
- 在能達到剩下的六個設計決定提出的目標的情況下選擇可行的技術,并且選擇技術后反過來又會對這六個設計決定有一定的限制。
- 分配職責
- 可以將設計決定分為以下七種類型
第四章 理解質量屬性
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
相關閱讀更多精彩內容
- //我所經歷的大數據平臺發(fā)展史(三):互聯(lián)網時代 ? 上篇http://www.infoq.com/cn/arti...
- Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
- Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現,斷路器,智...