目錄
前言:
一、什么是ADMES:
首先,需求是分層次的:
其次,需求是有結(jié)構(gòu)的,有維度的
再次,不同層次需求、不同維度需求之間可以相互轉(zhuǎn)化(難點(diǎn)、經(jīng)驗(yàn)積累)
最終,標(biāo)準(zhǔn)化的ADMEMS需求矩陣
二、軟架構(gòu)前的需求理解
1. 目標(biāo)
2. 時(shí)機(jī)
3.? 四個(gè)步驟
三、最佳實(shí)踐過程
第一步:獲取業(yè)務(wù)功能需求
第二步-1:獲取質(zhì)量屬性
1. 開發(fā)期質(zhì)量
2. 運(yùn)行期質(zhì)量
?第二步-2:分析約束影響
第三步:確定關(guān)鍵性需求(對(duì)架構(gòu)設(shè)計(jì)影響較大的需求)
1. 確定關(guān)鍵功能啟發(fā)規(guī)則,可以借鑒四象限法,下面是4個(gè)啟發(fā)規(guī)則:
2. 確定關(guān)鍵約束
3. 確定關(guān)鍵質(zhì)量(影響架構(gòu)設(shè)計(jì)的質(zhì)量需求)
第四步:將約束衍生為質(zhì)量屬性及功能、將質(zhì)量屬性衍生為功能需要
第五步:將關(guān)鍵約束衍生為功能
第六步:根據(jù)功能提煉出非功能性需求
第七步:最后:輸出結(jié)構(gòu)化需求ADMEMS矩陣
前言:
在架構(gòu)架構(gòu)設(shè)計(jì)之前,架構(gòu)師首先要弄清楚目標(biāo)系統(tǒng)功能需求、非功能需求和約束條件,這些都會(huì)影響最終的架構(gòu)設(shè)計(jì)。系統(tǒng)軟件或硬件需求規(guī)格說明書是系統(tǒng)需求的承載體,當(dāng)然,需要分析并非是架構(gòu)師的主要職責(zé),需求規(guī)格說明書是產(chǎn)品經(jīng)理或系統(tǒng)工程師或系統(tǒng)分析師的主要職責(zé)。?
本文就是討論,如何通過ADMEMS方法論,使用結(jié)構(gòu)化和層次化的需求矩陣來表達(dá)不同層次、不同維度的需求!??!
一、什么是ADMES:
ADMEMS:Architecture Design Method has been Extended to Method System,是一種架構(gòu)設(shè)計(jì)的方法論,該方法論原本是用于架構(gòu)設(shè)計(jì)的,但需求是架構(gòu)的輸入,為了更好進(jìn)行標(biāo)準(zhǔn)化架構(gòu)設(shè)計(jì),該方法論對(duì)輸入的需求也進(jìn)行了標(biāo)準(zhǔn)化、結(jié)構(gòu)化和層次化。UML不同的是,UML是一種建模語言,可以為需求建模,也可以為涉及建模,而ADMEMS是一種方法論,因此該方法論對(duì)需求定義提供的一種方法和框架,不涉及需求的表達(dá)方式。
首先,需求是分層次的:
可以看出,需求的三個(gè)層次,是站在“不同層次的利益相關(guān)者提出需求所處的立場(chǎng)不同”的角度
業(yè)務(wù)級(jí)需求:包含用戶或者出資人要達(dá)到的業(yè)務(wù)目標(biāo)、預(yù)期投資、工期要求,以及要符合哪些標(biāo)準(zhǔn)、對(duì)哪些遺留系統(tǒng)進(jìn)行整合等約束條件
用戶級(jí)需求:用戶使用系統(tǒng)來輔助完成哪些工作?對(duì)質(zhì)量有何要求?用戶群及所處的使用環(huán)境方面有何特殊要求?
開發(fā)級(jí)需求:開發(fā)人員需要實(shí)現(xiàn)什么?開發(fā)期間、維護(hù)期間有何質(zhì)量考慮?開發(fā)團(tuán)隊(duì)的哪些情況會(huì)反過來影響架構(gòu)?
其次,需求是有結(jié)構(gòu)的,有維度的
其次,,將需求劃分為三種類型或三個(gè)維度:
功能需求:建設(shè)的目標(biāo)是什么?
質(zhì)量屬性:運(yùn)行期質(zhì)量+開發(fā)期質(zhì)量
約束需求:業(yè)務(wù)環(huán)境因素+使用環(huán)境因素+構(gòu)建環(huán)境因素+技術(shù)環(huán)境因素
從3個(gè)層次到3個(gè)類型這就是需求的轉(zhuǎn)化過程。
再次,不同層次需求、不同維度需求之間可以相互轉(zhuǎn)化(難點(diǎn)、經(jīng)驗(yàn)積累)
層次間轉(zhuǎn)化:業(yè)務(wù)需求 =》 用戶級(jí)需求 =》 開發(fā)級(jí)需求
維度間轉(zhuǎn)化:約束條件 =》 質(zhì)量需求 =》 功能需求
維度間轉(zhuǎn)化:功能需求 =》 質(zhì)量需求
最終,標(biāo)準(zhǔn)化的ADMEMS需求矩陣
如下就是ADMES標(biāo)準(zhǔn)化、結(jié)構(gòu)化、層次化需求矩陣的形態(tài):
二、軟架構(gòu)前的需求理解
1. 目標(biāo)
- 結(jié)構(gòu)化、層次化的方式理解需求
- 建立需求的大局觀
- 降低架構(gòu)失敗風(fēng)險(xiǎn)
- 明確架構(gòu)設(shè)計(jì)的驅(qū)動(dòng)力(哪些是核心需求)
- 盡早開始架構(gòu)設(shè)計(jì)
2. 時(shí)機(jī)
- 有了明確的業(yè)務(wù)需求
- 了解全面的用戶需求
- 有了典型的行為需求
3.? 四個(gè)步驟
三、最佳實(shí)踐過程
第一步:獲取業(yè)務(wù)功能需求
根據(jù)客戶需求,整理出功能需求列表(一級(jí)模塊、二級(jí)模塊)。常用的工具電子表格或者思維導(dǎo)圖。
第二步-1:獲取質(zhì)量屬性
1. 開發(fā)期質(zhì)量
2. 運(yùn)行期質(zhì)量
? 第二步-2:分析約束影響
? ? 主要從業(yè)務(wù)環(huán)境、使用環(huán)境、構(gòu)建環(huán)境和技術(shù)環(huán)境方面考慮,采用推導(dǎo)法則和查漏法則進(jìn)行。
? ? 上面我們系統(tǒng)化的梳理了系統(tǒng)的業(yè)務(wù)功能、質(zhì)量屬性及約束內(nèi)容,下面我們采取需求層次-需求類型二維矩陣來找出關(guān)鍵功能、關(guān)鍵質(zhì)量屬性及關(guān)鍵約束。
用戶:關(guān)心的是運(yùn)行期間的質(zhì)量
開發(fā)者:關(guān)心的是開發(fā)期的質(zhì)量
第三步:確定關(guān)鍵性需求(對(duì)架構(gòu)設(shè)計(jì)影響較大的需求)
采用ADMEMS二維矩陣,依次確定三個(gè)層次的功能、質(zhì)量和約束
1. 確定關(guān)鍵功能啟發(fā)規(guī)則,可以借鑒四象限法,下面是4個(gè)啟發(fā)規(guī)則:
- 核心功能
- 必做功能
- 高風(fēng)險(xiǎn)功能
- 獨(dú)特功能
2. 確定關(guān)鍵約束
- 首先,把約束盡可能全面進(jìn)行羅列
- 其次,分析約束面向的功能、質(zhì)量方面的轉(zhuǎn)化
- 最后,確定這些約束轉(zhuǎn)化后的功能、質(zhì)量是否重要
3. 確定關(guān)鍵質(zhì)量(影響架構(gòu)設(shè)計(jì)的質(zhì)量需求)
第四步:將約束衍生為質(zhì)量屬性及功能、將質(zhì)量屬性衍生為功能需要
約束條件 =》質(zhì)量屬性、質(zhì)量需求 =》 功能需求
約束條件 =》 功能需求
約束條件,最終要體現(xiàn)到軟件的實(shí)現(xiàn)上。
第五步:將關(guān)鍵約束衍生為功能
比如,終端客戶的人員的計(jì)算機(jī)水平參差不齊 =》 操作簡(jiǎn)單的需求、文字簡(jiǎn)化、盡可能可視化等功能需求?。。?
第六步:根據(jù)功能提煉出非功能性需求
約束條件和功能需求,背后都會(huì)隱藏了一下質(zhì)量需求!!如性能要求。
第七步:最后:輸出結(jié)構(gòu)化需求ADMEMS矩陣
? ? ? ? 通過上述的幾個(gè)環(huán)節(jié),我們把不同類型的約束轉(zhuǎn)化為質(zhì)量屬性及功能需求,最終我們形成了最終的需求二維矩陣,這將為我們的架構(gòu)指明方向,后續(xù)我們?cè)僮黾軜?gòu)的設(shè)計(jì)及規(guī)劃的時(shí)候就能夠做到有的放矢,不會(huì)走錯(cuò)方向。文章來源:http://www.zghlxwxcb.cn/news/detail-722948.html
?ADMEMS矩陣把零亂的需求轉(zhuǎn)換成了有序的、結(jié)構(gòu)化的需求。文章來源地址http://www.zghlxwxcb.cn/news/detail-722948.html
到了這里,關(guān)于[架構(gòu)之路-211]- 需求- 軟架構(gòu)前的需求理解:ADMEMS標(biāo)準(zhǔn)化、有序化、結(jié)構(gòu)化、層次化需求矩陣 =》需求框架的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!