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

可行性研究是用較小的成本雜較短的時(shí)間內(nèi)確定是否存在可行的解法
而需求分析是回答“系統(tǒng)必須做什么”這個(gè)問題
*結(jié)構(gòu)化分析方法遵守的準(zhǔn)則:
- 理解并描述問題的信息域,建立數(shù)據(jù)模型
- 定義軟件應(yīng)完成的功能,建立功能模型
- 描述外部事件結(jié)果的軟件行為,建立行為模型
- 對(duì)描述信息、功能和行為的模型進(jìn)行分解,用層次的方式展示細(xì)節(jié)
3.1需求分析的任務(wù)
需求獲取難的原因:
- 需求的動(dòng)態(tài)性
- 模糊性
- 開發(fā)者與用戶要達(dá)成一致的認(rèn)識(shí)
- 需求復(fù)雜而龐大
需求分析的任務(wù)
①確定對(duì)系統(tǒng)的綜合要求
*綜合任務(wù):
- 功能需求
- 性能需求
- 可靠性和可用性需求
- 出錯(cuò)處理需求
- 接口需求
- 約束
- 逆向需求(不應(yīng)該做什么)
- 將來(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ú)二義性、盡可能量化
- 訪談:分為正式和非正式訪談
(訪問時(shí)使用情景分析技術(shù)往往非常有效) - 面向數(shù)據(jù)流自頂向下求精
采用結(jié)構(gòu)化分析方法 - 簡(jiǎn)易的應(yīng)用規(guī)格說明技術(shù)
讓用戶也寫需求,再通過會(huì)議起草完整的軟件需求規(guī)格書 - 快速建立軟件模型
快速建立旨在演示目標(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)了解用戶的真正需求


