軟體架構設計策略

2021-09-30 03:40:45 字數 1029 閱讀 2722

策略對實踐提供總體上的指導,對於有難度的工程(比如軟體工程),或者有競爭性目

標(軟體中時間、質量、範圍、成本之間存在競爭)而言,策略往往是制勝的關鍵。一定要

注意,策略來自於問題,沒有問題的策略是無目之本。下面,我們針對成功架構設計的四個

要素,以此衍生出四個問題,作為討論相應的策略的基礎。這樣的思考過程也可以成為我們

研究其它架構問題的思考範例。我們先把關鍵點歸納成下面的表。

編號 關鍵點 問題 危害 策略 策略要點

1 是否遺漏了至關重要的非功能性需求

對需求的理解不系統、不全面、對非功能需求不夠重視。造成返工,專案失敗全面認識需求彌補非功能需求的缺失

2 是否適應數量巨大且頻繁變化的需求對於時間和質量的矛盾,辦法不足,處理草率。耗時不少,質量不高關鍵需求決定架構把架構理解成概要設計,過於粗糙,不能適應實踐要求

3 能否從容設計架構的不同方面架構設計方案覆蓋範圍嚴重不足,許多關鍵決定被延遲,或者由實現人員倉

促決定。開發混亂,質量不高多檢視探尋架構架構師開展系統化團隊開發的基礎,應該對不同的涉眾提供指導和限制

4 能否及早驗證架構方案並做出了調整假設架構的方案是可行的,直到後期才發現問題,造成大規模的返工。

造成返工,專案失敗盡早驗證架構架構設計方案應該解決重大技術風險,並盡早驗證架構

根據這張表,我們來討論一下針對每個關鍵點的相應策略:

1)全面認識需求

既然軟體架構強調的是整體,而整體的設計決策必須基於對需求的全面認識,所以全面

認識需求,是軟體架構的第一項需求。

但是全面認識需求並不等於「眉毛鬍子一把抓」,而是需要對需求進行梳理清楚,在梳

理的過程中把需求理解清楚。全面認識需求,就需要從不同級別來考察需求,這三個級別分

別為:組織級、使用者級、開發級。還需要對每個級別考慮不同型別的功能需求、質量屬性、

約束,如下圖所示。

一方面來說,需求是分層次的,對使用者高層而言是幫助他們達到業務目標,終端使用者而

言,是輔助他們完成日常工作,對開發者而言,有著更多使用者沒有覺察到的「需求」需要實

現。

軟體架構設計策略

制定軟體架構設計策略 1 全面認識需求。下面的這個圖可以用作全面需求分析圖。功能需求 質量屬性 約束 組織級軟體系統實現的功能 成本,上線時間,業務限制 使用者級軟體系統實現的功能 易用性,效能,持續可用性,魯棒性 使用者的計算機水平有限 開發級軟體系統實現的功能 可擴充套件性,可重用性,可移植性,...

軟體架構設計策略

制定軟體架構設計策略 1 全面認識需求。下面的這個圖可以用作全面需求分析圖。功能需求 質量屬性 約束 組織級軟體系統實現的功能 成本,上線時間,業務限制 使用者級軟體系統實現的功能 易用性,效能,持續可用性,魯棒性 使用者的計算機水平有限 開發級軟體系統實現的功能 可擴充套件性,可重用性,可移植性,...

軟體架構設計的策略

知道了軟體架構的關鍵,面對有一定複雜與難度 或有競爭性目標的龐大需要的軟體系統,沒有乙個好的設計策略,完全依靠設計師的經驗與能力,往往會讓設計師顧此失彼,無法保證軟體系統的成功。上面講到,軟體架構工程師沒有時間也沒有必要對所有需求進行深入分析 而功能或用例確定了軟體架構的大的方向 幾個關鍵的非功能需...