階段則使用ERD描述物理表之間的關(guān)系。需求分析階段使用ERD來描述現(xiàn)實(shí)世界中的對象。ERD只關(guān)注系統(tǒng)中數(shù)據(jù)間的關(guān)系,而缺乏對系統(tǒng)功能的描述。如果將ERD與DFD兩種方法相結(jié)合,則可以更準(zhǔn)確地描述系統(tǒng)的需求。
在面向?qū)ο蠓治龅姆椒ㄖ型ǔJ褂肬se Case來獲取軟件的需求。Use Case通過描述“系統(tǒng)”和“活動(dòng)者”之間的交互來描述系統(tǒng)的行為。通過分解系統(tǒng)目標(biāo),Use Case描述活動(dòng)者為了實(shí)現(xiàn)這些目標(biāo)而執(zhí)行的所有步驟。Use Case方法最主要的優(yōu)點(diǎn),在于它是用戶導(dǎo)向的,用戶可以根據(jù)自己所對應(yīng)的Use Case來不斷細(xì)化自己的需求。此外,使用Use Case還可以方便地得到系統(tǒng)功能的測試用例。
介紹了需求分析五個(gè)步驟中的前兩個(gè)步驟(獲取用戶需求、分析用戶需求),繼續(xù)介紹后三個(gè)步驟(編寫需求文檔、評審需求文檔、管理需求),并與大家討論相關(guān)實(shí)踐問題。
1、編寫需求文檔
需求文檔可以使用自然語言或形式化語言來描述,還可以添加圖形的表述方式和模型表征的方式。需求文檔應(yīng)該包括用戶的所有需求(功能性需求和非功能性需求)。
2、評審需求文檔
需求文檔完成后,需要經(jīng)過正式評審,以便作為下一階段工作的基礎(chǔ)。一般的評審分為用戶評審和同行評審兩類。用戶和開發(fā)方對于軟件項(xiàng)目內(nèi)容的描述,是以需求規(guī)格說明書作為基礎(chǔ)的;用戶驗(yàn)收的標(biāo)準(zhǔn)則是依據(jù)需求規(guī)格說明書中的內(nèi)容來制訂,所以評審需求文檔時(shí)用戶的意見是第一位的。而同行評審的目的,是在軟件項(xiàng)目初期發(fā)現(xiàn)那些潛在的缺陷或錯(cuò)誤,避免這些錯(cuò)誤和缺陷遺漏到項(xiàng)目的后續(xù)階段。
3、管理需求
項(xiàng)目管理:怎樣做需求分析 收藏
如果將需求分析階段的工作歸結(jié)為編寫需求規(guī)格說明書,這種簡化的做法往往是導(dǎo)致項(xiàng)目后期層出不窮問題的罪魁禍?zhǔn)?。建議采用以下步驟形成軟件需求:獲取用戶需求→分析用戶需求→編寫需求文檔→評審需求文檔→管理需求。下面我們先來討論前兩個(gè)步驟(獲取用戶需求、分析用戶需求)的做法。
獲取用戶需求
這是該階段的一個(gè)最重要的任務(wù)。以下為獲取用戶需求需要執(zhí)行的活動(dòng)(如圖1所示)。
● 了解客戶方的所有用戶類型以及潛在的類型。然后,根據(jù)他們的要求來確定系統(tǒng)的整體目標(biāo)和系統(tǒng)的工作范圍。
● 對用戶進(jìn)行訪談和調(diào)研。交流的方式可以是會(huì)議、電話、電子郵件、小組討論、模擬演示等不同形式。需要注意的是,每一次交流一定要有記錄,對于交流的結(jié)果還可以進(jìn)行分類,便于后續(xù)的分析活動(dòng)。例如,可以將需求細(xì)分為功能需求、非功能需求(如響應(yīng)時(shí)間、平均無故障工作時(shí)間、自動(dòng)恢復(fù)時(shí)間等)、環(huán)境限制、設(shè)計(jì)約束等類型。
● 需求分析人員對收集到的用戶需求做進(jìn)一步的分析和整理。下面是幾條常見的準(zhǔn)則:
?、艑τ谟脩籼岢龅拿總€(gè)需求都要知道“為什么”,并判斷用戶提出的需求是否有充足的理由;
圖1 獲取用戶需求的活動(dòng)
⑵將那種以“如何實(shí)現(xiàn)”的表述方式轉(zhuǎn)換為“實(shí)現(xiàn)什么”的方式,因?yàn)樾枨蠓治鲭A段關(guān)注的目標(biāo)是“做什么”,而不是“怎么做”;
?、欠治鲇捎脩粜枨笱苌龅碾[含需求,并識(shí)別用戶沒有明確提出來的隱含需求(有可能是實(shí)現(xiàn)用戶需求的前提條件),這一點(diǎn)往往容易忽略掉,經(jīng)常因?yàn)閷﹄[含需求考慮得不夠充分而引起需求變更。
● 需求分析人員將調(diào)研的用戶需求以適當(dāng)?shù)姆绞匠式唤o用戶方和開發(fā)方的相關(guān)人員。大家共同確認(rèn)需求分析人員所提交的結(jié)果是否真實(shí)地反映了用戶的意圖。需求分析人員在這個(gè)任務(wù)中需要執(zhí)行下述活動(dòng):
⑴明確標(biāo)識(shí)出那些未確定的需求項(xiàng)(在需求分析初期往往有很多這