大師兄的信息化管理學(xué)習(xí)筆記(八):軟件需求分析

大師兄的信息化管理學(xué)習(xí)筆記(七):中間件技術(shù)
大師兄的信息化管理學(xué)習(xí)筆記(九):UML語言

一、軟件工程

  • 軟件工程(Software Engineering)是指應(yīng)用計算機(jī)科學(xué),數(shù)學(xué)及管理科學(xué)等原理,以工程化的原則和方法來解決軟件問題的工程。
  • 方法:完成軟件工程項目的技術(shù)手段,支持整個軟件聲明周期。
  • 工具:自動或半自動地支持軟件的開發(fā)和管理,支持文檔生成。
  • 過程:貫穿軟件開發(fā)的各個環(huán)節(jié)。

二、軟件需求

1. 關(guān)于軟件需求
  • 軟件需求是指用戶對新系統(tǒng)在功能、行為、性能、設(shè)計約束等方面的期望。
  • IEEE:軟件需求是指用戶解決問題或達(dá)到目標(biāo)所需的條件或能力,是系統(tǒng)或系統(tǒng)部件要滿足合同、標(biāo)準(zhǔn)、規(guī)范或其他正式規(guī)定文檔所需具有的條件或能力,以及反應(yīng)這些條件或能力的文檔說明。
2. 軟件需求的層次
層次 描述
業(yè)務(wù)需求 反應(yīng)企業(yè)或客戶對系統(tǒng)高層次的目標(biāo)要求,通常來自項目投資人、客戶、客戶單位的管理人員、市場營銷部分或產(chǎn)品策劃部門等。
用戶需求 用戶的具體目標(biāo),或用戶要求系統(tǒng)必須能完成的任務(wù)。用戶需求描述了用戶能使用系統(tǒng)來做些什么。
系統(tǒng)需求 從系統(tǒng)的角度來說明軟件的需求,包括功能需求,非功能需求和設(shè)計約束等。
2.1 系統(tǒng)需求
  • 功能需求:規(guī)定了開發(fā)人員必須在系統(tǒng)中實現(xiàn)的軟件功能,通常通過系統(tǒng)特性的描述表現(xiàn)出來。
  • 非功能需求:系統(tǒng)必須具備的屬性或品質(zhì),如可維護(hù)性、可用性、效率等
  • 設(shè)計約束:限制條件或補(bǔ)充規(guī)約,通常是對系統(tǒng)的約束說明。
3. 需求的特征
  • 正確性:用詞準(zhǔn)確,數(shù)據(jù)來源準(zhǔn)確
  • 完整性:不遺漏,有必要信息輔助設(shè)計和實現(xiàn)
  • 可行性:在一定環(huán)境和限制條件下可實施
  • 一致性:與其他需求或高層需求不矛盾
  • 劃分優(yōu)先級:指明需求重要性
  • 可理解性:減少專業(yè)術(shù)語、描述清晰、必要的說明
  • 可驗證性:有方法可檢測需求是否實現(xiàn)了
  • 可追蹤性:項目全生命周期跟蹤需求
  • 可修改性:容易修改、記錄修改內(nèi)容
  • 無歧義性:對所有需求說明的讀者都只能有一個明確統(tǒng)一的解釋

三. 需求工程

內(nèi)容 描述
需求獲取 - 確定和理解項目干系人的需求和約束的過程。
- 方法包括用戶訪談、問卷調(diào)查、采樣、清潔串聯(lián)板、聯(lián)合需求計劃等。
需求分析 - 提煉、分析和審查已經(jīng)獲取的需求,以確保所有項目干系人清楚各項需求的含義,發(fā)現(xiàn)遺漏和不足。
- 需求分析方法包括SA方法和OOA方法等。
編寫規(guī)約 - 形成軟件需求規(guī)格說明書SRS,是相關(guān)方對需求的共同理解,是開發(fā)的基礎(chǔ)。
- GB/T8567-2006提供了SRS的文檔模板和編寫指南。
需求驗證 - 在系統(tǒng)分析階段檢測SRS中的錯誤,節(jié)省時間和資金。
- 一般通過需求評審和需求測試工作來對需求進(jìn)行驗證。
1 質(zhì)量功能部署QFD
  • QFD(quality Function Deployment), 是一種將用戶要求轉(zhuǎn)化成軟件需求的技術(shù)。
  • 其目的是最大限度地提升軟件工程過程中用戶的滿意度,確保產(chǎn)品設(shè)計滿足客戶需求和價值。
  • QFD將需求分為三類:
類別 描述
常規(guī)需求 也稱普通需求,包含客戶對項目的最基本需求,是客戶對整個項目最關(guān)心的部分。
期望需求 客戶可能沒有表達(dá)明確或沒有明確提出的需求,但是會讓客戶提升對項目的滿意度。
意外需求 也稱興奮需求,用戶要求范圍外的功能呢或性能,不實現(xiàn)也不影響購買決策。
2 需求分析的目的
  • 檢測和解決需求之間的沖突。
  • 發(fā)現(xiàn)軟件的邊界,以及軟件與其環(huán)境如何交互。
  • 詳細(xì)描述系統(tǒng)需求,以導(dǎo)出軟件需求。
3. 結(jié)構(gòu)化分析方法SA
  • 結(jié)構(gòu)化分析是軟件工程中的一種方法,其建立的模型的核心是數(shù)據(jù)字典。
  • 結(jié)構(gòu)化分析有三個層次的模型:
3.1 數(shù)據(jù)模型
  • E-R圖也稱實體-聯(lián)系圖(Entity Relationship Diagram),提供了表示實現(xiàn)類型、屬性和聯(lián)系的方法,用來描述顯示世界的概念模型。
3.2 功能模型
  • DFD圖(Data Flow Diagram,數(shù)據(jù)流圖),從數(shù)據(jù)傳遞和加工的角度,用圖形方式表示信息系統(tǒng)中數(shù)據(jù)的移動方式。
3.3 行為模型
  • STD圖(State Transform Diagram狀態(tài)轉(zhuǎn)換圖),描述系統(tǒng)的狀態(tài)和引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件,指出作為特定事件的結(jié)果將執(zhí)行哪些動作。
4. 面向?qū)ο蠓治龇椒∣OA
  • 運營OO方法對問題域進(jìn)行分析和理解,找出描述問題域和系統(tǒng)功能所需的類和對象,最終產(chǎn)生OOA模型。
4.1 用例模型
  • 描述系統(tǒng)功能
  • 主要表現(xiàn)形式是用例圖


4.2 分析模型
  • 靜態(tài)模型:類和對象的組成關(guān)系。
  • 動態(tài)模型:對象及系統(tǒng)組成部分之間如何銅線,實現(xiàn)系統(tǒng)行為。
5. 軟件需求規(guī)格說明書SRS
  • SRS(Software Requirement Specification,軟件需求規(guī)格說明書)是需求開發(fā)活動的產(chǎn)物,目的是使系統(tǒng)干系人與開發(fā)團(tuán)隊對系統(tǒng)的初始規(guī)定有共同的理解,使之稱為整個開發(fā)工作的基礎(chǔ)。
  • 根據(jù)GB/T 8567-2006,SRS應(yīng)包括:
內(nèi)容 描述
范圍 本部分包括SRS適用的系統(tǒng)和軟件的完整標(biāo)識,簡述SRS適用的系統(tǒng)和軟件的用途,描述系統(tǒng)和軟件的一般特性。
引用文件 列出SRS中引用的所有文檔的編號、標(biāo)題、修訂版本和日期。
需求 是SRS的主體部分,詳細(xì)描述軟件需求。
合格性規(guī)定 定義一組合格性的方法,以確保需求得到滿足。
需求可追蹤性 從SRS中每個軟件配置項的需求到其涉及的系統(tǒng)(或子系統(tǒng))的雙向可追蹤性。
尚未解決的問題 說明軟件需求中的尚未解決的遺留問題。
注解 包含有助于理解SRS的一般信息,如背景信息、詞匯表、原理等。
附錄 提供那些為便于維護(hù)SRS而單獨編排的信息(如圖標(biāo)、分類數(shù)據(jù))。
6. 需求驗證
  • 需求驗證也稱為需求確認(rèn),主要內(nèi)容包括:
  1. 確定SRS正確地描述了預(yù)期的、滿足項目干系人需求的系統(tǒng)行為和特征;
  2. SRS中的軟件需求是從用戶需求、業(yè)務(wù)規(guī)格和其他來源中正確推導(dǎo)而來的;
  3. 需求是完整和高質(zhì)量的;
  4. 需求的表示在所有地方都是一致的;
  5. 需求為后續(xù)的系統(tǒng)設(shè)計、實現(xiàn)和測試提供了足夠的基礎(chǔ)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容