(一)軟件需求
軟件需求是指用戶對目標(biāo)軟件系統(tǒng)在功能、行為芹扭、性能了赵、設(shè)計約束等方面的期望狡汉。
需求包括:
- 功能需求
- 性能需求
- 用戶或人的因素
- 環(huán)境需求
- 界面需求
- 文檔需求
- 數(shù)據(jù)需求
- 資源使用需求
- 安全保密需求
- 可靠性需求
- 軟件成本消耗
- 開發(fā)進(jìn)度需求
(二)需求分析原則
遵循的原則:
- 必須能夠表示和理解問題的信息域
- 必須能夠定義軟件將完成的任務(wù)
- 必須能夠表示軟件的行為
- 必須劃分描述數(shù)據(jù)、功能和行為的模型瀑罗、從而可以分層次地揭示細(xì)節(jié)
- 分析過程應(yīng)該從要素信息移向細(xì)節(jié)信息
(三)需求工程
需求工程是一個不斷反復(fù)的需求定義胸嘴、文檔記錄莉钙、需求演進(jìn)的過程,并最終在驗證的基礎(chǔ)上凍結(jié)需求筛谚。
1.需求獲取
在需求獲取階段磁玉,系統(tǒng)分析人員通過與用戶的交流、對現(xiàn)有系統(tǒng)的觀察以及對任務(wù)進(jìn)行分析確定系統(tǒng)或產(chǎn)品范圍的限制性描述驾讲、與系統(tǒng)或產(chǎn)品有關(guān)的人員及特征列表蚊伞、系統(tǒng)的技術(shù)環(huán)境的描述、系統(tǒng)功能的列表及應(yīng)用于每個需求的領(lǐng)域限制吮铭、一組描述不同運行條件下系統(tǒng)或產(chǎn)品使用狀況的應(yīng)用場景及為更好地定義需求而開發(fā)的原型时迫。
2.需求分析與協(xié)商
需求獲取結(jié)束后,分析活動對需求進(jìn)行分類組織谓晌,分析每個需求與其他需求的關(guān)系掠拳,以檢查需求的一致性、重疊和遺漏的情況纸肉,并根據(jù)用戶的需要對需求進(jìn)行排序溺欧。
3.系統(tǒng)建模
常用的分析和建模方法有面向數(shù)據(jù)流方法、面向數(shù)據(jù)結(jié)構(gòu)方法和面向?qū)ο蠓椒ā?br> 常用的分析方法有:
- 面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法(
SA
) - 面向?qū)ο蟮姆治龇椒ǎ?code>OOA)
4.需求規(guī)約
軟件需求規(guī)約是分析任務(wù)的最終產(chǎn)物柏肪,通過建立完整的信息描述姐刁、詳細(xì)的功能和行為描述、性能需求和設(shè)計約束的說明烦味、合適的驗收標(biāo)準(zhǔn)聂使,給出對目標(biāo)軟件的各種需求。
軟件需求規(guī)約包含:
- 引言
- 信息描述
- 功能描述
- 行為描述
- 檢驗標(biāo)準(zhǔn)
- 參考書目
- 附錄
5.需求驗證
目的是檢驗需求功能的正確性谬俄、完整性和清晰性柏靶,是否能夠反映用戶的意愿。
檢查的內(nèi)容:
- 系統(tǒng)定義的目標(biāo)是否與用戶的要求一致
- 系統(tǒng)需求分析階段提供的文檔資料是否齊全溃论;文檔中的描述是否完整屎蜓、清晰、準(zhǔn)確地反映用戶要求
- 被開發(fā)項目的數(shù)據(jù)流與數(shù)據(jù)結(jié)構(gòu)是否確定且充足
- 主要功能是否已包括在規(guī)定的軟件范圍之內(nèi)蔬芥,是否都已充分說明
- 設(shè)計的約束條件或限制條件是否符合實際
- 開發(fā)的技術(shù)風(fēng)險是什么
- 是否詳細(xì)地制定了檢驗標(biāo)準(zhǔn)梆靖,它們能否對系統(tǒng)定義進(jìn)行確認(rèn)
6.需求管理
軟件需求管理是一組用于幫助項目組進(jìn)展中的任何時候去標(biāo)識、控制和跟蹤需求的活動笔诵,對需求工程所有相關(guān)活動的規(guī)劃和控制返吻。