筆記內容大部分來源於課本《軟件工程導論》,侵刪
可行性研究是用較小的成本雜較短的時間內確定是否存在可行的解法
而需求分析是回答“系統必須做什麽”這個問題
*結構化分析方法遵守的準則:
需求獲取難的原因:
需求分析的任務
①確定對系統的綜合要求
*綜合任務:
②分析系統的數據要求(重要任務)
常利用圖形工具輔助描繪數據結構
③導出系統的邏輯模型
常用數據流圖、實體聯系圖、狀態轉換圖、數據字典和主要的處理算法去描述這個邏輯模型
④修正系統開發計劃
需求要:表述清楚、無二義性、盡可能量化
需求分析過程應該建立3種模型:數據模型、功能模型、行為模型
需求分析除了建立分析模型外還應寫出軟件需求規格說明書
為了把用戶的數據要求描述出來,系統分析員需要建立面向問題的概念性數據模型。
數據模型包含3種互相關聯的信息:數據 對象 、數據對象的 屬性 、數據對象彼此間相互連接的 關系
數據對象:只封裝了數據而沒有對施加於數據上的操作的引用(數據對象與面向對象範型的不同)
屬性:定義了數據對象的本質
聯系:數據對象彼此之間相互連接的方式稱為聯系,也稱為關系(包括壹對壹(1:1)、壹對多(1:N)、多對多(N:N)聯系)
通常使用實體-聯系圖(ER圖)建立數據模型
ER模型:用ER圖描繪的數據模型稱為ER數據模型
ER圖包含的3中基本成分:實體(矩形框)、關系(連接相關實體的菱形框)、屬性(橢圓形或圓角矩形)。
範式:消除數據冗余的程度(第壹級範式冗余度最大,第五範式冗余度最小)
範式級別越高,冗余程度越小,拆分越多,大多數場合下第三範式比較實用
狀態:任何可以被觀察到的系統行為模式(規定了系統對事件的響應方式)
狀態圖中的狀態主要有:初態(只能有1個)、終態(可以有0個或多個)、中間狀態
事件:在某個時刻發生的事情,是對引起系統做動作或從壹個狀態轉換到另壹個狀態的外界事件的抽象
符號:狀態圖中,初態用實心圓、終態用壹對同心圓(內圓為實心圓)、中間狀態用圓角矩形表示,狀態轉換用帶箭頭的連線表示。
從四個方面驗證軟件需求的正確性:壹致性、完整性、現實性、有效性