第3章需求分析

筆記內(nèi)容大部分來(lái)源于課本《軟件工程導(dǎo)論》,侵刪

軟件工程導(dǎo)論第三章大致脈絡(luò)

可行性研究是用較小的成本雜較短的時(shí)間內(nèi)確定是否存在可行的解法
而需求分析是回答“系統(tǒng)必須做什么”這個(gè)問題

*結(jié)構(gòu)化分析方法遵守的準(zhǔn)則:

  1. 理解并描述問題的信息域,建立數(shù)據(jù)模型
  2. 定義軟件應(yīng)完成的功能,建立功能模型
  3. 描述外部事件結(jié)果的軟件行為,建立行為模型
  4. 對(duì)描述信息、功能和行為的模型進(jìn)行分解,用層次的方式展示細(xì)節(jié)

3.1需求分析的任務(wù)

需求獲取難的原因:

  1. 需求的動(dòng)態(tài)性
  2. 模糊性
  3. 開發(fā)者與用戶要達(dá)成一致的認(rèn)識(shí)
  4. 需求復(fù)雜而龐大

需求分析的任務(wù)
①確定對(duì)系統(tǒng)的綜合要求
*綜合任務(wù):

  1. 功能需求
  2. 性能需求
  3. 可靠性和可用性需求
  4. 出錯(cuò)處理需求
  5. 接口需求
  6. 約束
  7. 逆向需求(不應(yīng)該做什么)
  8. 將來(lái)可能提出的要求(可擴(kuò)展性和可維護(hù)性)

②分析系統(tǒng)的數(shù)據(jù)要求(重要任務(wù))
常利用圖形工具輔助描繪數(shù)據(jù)結(jié)構(gòu)

③導(dǎo)出系統(tǒng)的邏輯模型
常用數(shù)據(jù)流圖、實(shí)體聯(lián)系圖、狀態(tài)轉(zhuǎn)換圖、數(shù)據(jù)字典和主要的處理算法去描述這個(gè)邏輯模型

④修正系統(tǒng)開發(fā)計(jì)劃

3.2與用戶溝通獲取需求的方法

需求要:表述清楚、無(wú)二義性、盡可能量化

  1. 訪談:分為正式和非正式訪談
    (訪問時(shí)使用情景分析技術(shù)往往非常有效)
  2. 面向數(shù)據(jù)流自頂向下求精
    采用結(jié)構(gòu)化分析方法
  3. 簡(jiǎn)易的應(yīng)用規(guī)格說明技術(shù)
    讓用戶也寫需求,再通過會(huì)議起草完整的軟件需求規(guī)格書
  4. 快速建立軟件模型
    快速建立旨在演示目標(biāo)系統(tǒng)主要功能的可運(yùn)行程序

3.3分析建模與規(guī)格說明

需求分析過程應(yīng)該建立3種模型:數(shù)據(jù)模型、功能模型、行為模型
需求分析除了建立分析模型外還應(yīng)寫出軟件需求規(guī)格說明書

3.4實(shí)體-聯(lián)系圖

為了把用戶的數(shù)據(jù)要求描述出來(lái),系統(tǒng)分析員需要建立面向問題的概念性數(shù)據(jù)模型。
數(shù)據(jù)模型包含3種互相關(guān)聯(lián)的信息:數(shù)據(jù)對(duì)象、數(shù)據(jù)對(duì)象的屬性、數(shù)據(jù)對(duì)象彼此間相互連接的關(guān)系
數(shù)據(jù)對(duì)象:只封裝了數(shù)據(jù)而沒有對(duì)施加于數(shù)據(jù)上的操作的引用(數(shù)據(jù)對(duì)象與面向?qū)ο蠓缎偷牟煌?br> 屬性:定義了數(shù)據(jù)對(duì)象的本質(zhì)
聯(lián)系:數(shù)據(jù)對(duì)象彼此之間相互連接的方式稱為聯(lián)系,也稱為關(guān)系(包括一對(duì)一(1:1)、一對(duì)多(1:N)、多對(duì)多(N:N)聯(lián)系)

通常使用實(shí)體-聯(lián)系圖(ER圖)建立數(shù)據(jù)模型
ER模型:用ER圖描繪的數(shù)據(jù)模型稱為ER數(shù)據(jù)模型
ER圖包含的3中基本成分:實(shí)體(矩形框)、關(guān)系(連接相關(guān)實(shí)體的菱形框)、屬性(橢圓形或圓角矩形)。

3.5數(shù)據(jù)規(guī)范化

范式:消除數(shù)據(jù)冗余的程度(第一級(jí)范式冗余度最大,第五范式冗余度最?。?br> 范式級(jí)別越高,冗余程度越小,拆分越多,大多數(shù)場(chǎng)合下第三范式比較實(shí)用

3.6狀態(tài)轉(zhuǎn)換圖

狀態(tài):任何可以被觀察到的系統(tǒng)行為模式(規(guī)定了系統(tǒng)對(duì)事件的響應(yīng)方式)
狀態(tài)圖中的狀態(tài)主要有:初態(tài)(只能有1個(gè))、終態(tài)(可以有0個(gè)或多個(gè))、中間狀態(tài)


事件:在某個(gè)時(shí)刻發(fā)生的事情,是對(duì)引起系統(tǒng)做動(dòng)作或從一個(gè)狀態(tài)轉(zhuǎn)換到另一個(gè)狀態(tài)的外界事件的抽象

符號(hào):狀態(tài)圖中,初態(tài)用實(shí)心圓、終態(tài)用一對(duì)同心圓(內(nèi)圓為實(shí)心圓)、中間狀態(tài)用圓角矩形表示,狀態(tài)轉(zhuǎn)換用帶箭頭的連線表示。

  • 中間狀態(tài)中包括三部分:狀態(tài)名(必要)、狀態(tài)變量(可選)、活動(dòng)表(可選)
    *活動(dòng)表語(yǔ)法格式:事件名(參數(shù)表)/動(dòng)作表達(dá)式。(事件名可以是任何事件的名稱常用entry/exit/do,動(dòng)作表達(dá)式描述應(yīng)做的具體動(dòng)作)
  • 狀態(tài)轉(zhuǎn)換:箭頭指明轉(zhuǎn)換方向,箭頭線上標(biāo)明觸發(fā)轉(zhuǎn)換的事件表達(dá)式(未標(biāo)明則在狀態(tài)的內(nèi)部活動(dòng)結(jié)束后自動(dòng)轉(zhuǎn)換)
    *事件表達(dá)式的語(yǔ)法格式:事件說明[守衛(wèi)條件]/動(dòng)作表達(dá)式。(事件說明的語(yǔ)法:事件名(參數(shù)表);守衛(wèi)條件是一個(gè)布爾表達(dá)式;動(dòng)作表達(dá)式是一個(gè)過程表達(dá)式)
    書本P67例子

3.7其他圖形工具

  • 層次方框圖
    用樹形結(jié)構(gòu)的一系列多層次的矩形框描繪數(shù)據(jù)的層次結(jié)構(gòu)
    (頂層框代表完整的數(shù)據(jù)結(jié)構(gòu),下面各層矩形框代表這個(gè)數(shù)據(jù)的子集,最底層框是實(shí)際數(shù)據(jù)元素)


  • Warnier圖
    用樹形結(jié)構(gòu)描繪信息,可以表明信息的邏輯組織


  • IPO圖
    是輸入、處理、輸出圖的簡(jiǎn)稱


3.8驗(yàn)證軟件需求

從四個(gè)方面驗(yàn)證軟件需求的正確性:一致性、完整性、現(xiàn)實(shí)性、有效性

  • 驗(yàn)證需求的一致性
    靠人工技術(shù)審查驗(yàn)證軟件系統(tǒng)規(guī)格說明書的正確性
  • 驗(yàn)證需求的現(xiàn)實(shí)性
    參照以往的開發(fā)經(jīng)驗(yàn),采取仿真或性能模擬技術(shù)
  • 驗(yàn)證需求驗(yàn)證的完整性和有效性
    與用戶密切合作,使用原型系統(tǒng)了解用戶的真正需求
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請(qǐng)通過簡(jiǎn)信或評(píng)論聯(lián)系作者。

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

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