軟體架構之需求層次 需求方面矩陣

2022-01-29 00:40:25 字數 1025 閱讀 7022

廣義功能

質量約束

業務級需求

業務目標

快、好、省

技術性約束

法規性約束

技術趨勢

競爭因素與競爭對手

遺留系統整合

標準性約束

分批實施

使用者級需求

使用者需求

執行期質量

使用者群特點

使用者水平

多國語言

開發級需求

行為需求

開發期質量

開發團隊技術水平  

開發團隊磨合程度

開發團隊分布情況     

開發團隊業務知識

管理:保密要求       

管理:產品規劃

安裝                 

維護首先,需求是分層次的。

業務級需求:包含客戶或出資者要達到的業務目標、預期投資、工期要求,以及要符合哪些標準、對哪些遺留系統進行整合等約束條件。

使用者級需求:使用者使用系統來輔助完成哪些工作?對質量有何要求?使用者群及所處的使用環境方面有何特殊要求?

開發級需求:開發人員需要實現什麼?開發期間、維護期間有何質量考慮?開發團隊的哪些情況會反過來影響架構?

可以看出,需求的三個層次,是站在"不同層次的涉眾提出需求所站的立場不同"的角度,將需求劃分為三種型別。其次,需求還必須從不同方面進行考慮。例如,乙個網上書店系統的功能需求可能包括"瀏覽書目"、"下訂單"、"跟蹤訂單狀態"、"為書籍打分"等,質量屬性需求包括"互操作性"和"安全性"等,而"必須執行於linux平台之上"屬於約束性需求之列。實踐一再表明,忽視質量屬性和約束性需求,常常導致架構設計最終失敗。

於是,從"需求定義了直接目標還是間接限制"的角度,把需求劃分為3種型別,這就是需求的3個方面:

功能需求:更多體現各級直接目標要求。

質量屬性:執行期質量 + 開發期質量。

約束需求:業務環境因素 + 使用環境因素 + 構建環境因素 + 技術環境因素。

如何開展軟體架構之需求分析2

前面提到,在需求分析階段,架構師的兩個重要的工作步聚為 1 結構化需求 2 分析約束影響 以上兩個步聚都是為了解各需求之間的聯絡,發現隱藏需求而服務,相對的從業務需求到用 戶需求的分析,再到開發需求的分析,一般不太容易遺漏需求,而平時較少考慮的則是由於 約束產生的設計或功能或質量需求。a 業務環境 ...

如何開展軟體架構之需求分析3

前面提到在需求分析過程中,需要將需求結構化,然後依據該需求矩陣,通過推薦需求,分析約束來分析隱藏需求。現在我們來看乙個具體的例子 如下圖1所示 圖1 其上圖中,顏色相同且之間有聯線的,表示是兩者之間有相互的制約關係。比如,1 對於網際網路這麼乙個業務環境,必然會有很多的殭屍使用者,考慮資料庫容量有效...

如何開展軟體架構之需求分析3

前面提到在需求分析過程中,需要將需求結構化,然後依據該需求矩陣,通過推薦需求,分析約束來分析隱藏需求。現在我們來看乙個具體的例子 如下圖1所示 圖1其上圖中,顏色相同且之間有聯線的,表示是兩者之間有相互的制約關係。比如,1 對於網際網路這麼乙個業務環境,必然會有很多的殭屍使用者,考慮資料庫容量有效,...