- 張海藩《軟件工程導論》(第6版)筆記和課后習題詳解
- 圣才電子書
- 7字
- 2021-06-03 18:30:54
第3章 需求分析
3.1 復習筆記
一、需求分析的任務
1需求分析的定義
需求分析是發現、求精、建模、規格說明和復審的過程。
2需求分析的必要性
為了開發出真正滿足用戶需求的成功的軟件產品,必須知道用戶的需求。
3需求分析的任務
(1)確定對系統的綜合要求;
(2)分析系統的數據要求;
(3)導出系統的邏輯模型;
(4)修正系統開發計劃。
4對軟件系統的綜合需求
(1)功能需求
(2)性能需求
(3)可靠性和可用性需求
(4)出錯處理需求
(5)接口需求
(6)約束
(7)逆向需求
(8)將來可能提出的要求
【注意】在描繪系統中的數據結構,使用層次方框圖或Warnier圖等圖形工具。
二、與用戶溝通獲取需求的方法
1訪談
2面向數據流自頂向下求精
3簡易的應用規格說明技術
4快速建立軟件原型
三、分析建模與規格說明
1分析建模
(1)模型
模型由一組圖形符號和組織這些符號的規則組成。
(2)建模過程
結構化分析實質上是一種創建模型的活動,應從不同的角度抽象目標系統的特性。
2軟件需求規格說明
軟件需求規格說明書是需求分析階段得出的最主要的文檔。
四、實體-聯系圖
1數據模型的定義
概念性數據模型是一種面向問題的數據模型,是按照用戶的觀點對數據建立的模型。
2數據模型的構成
(1)數據對象
①定義
數據對象是對軟件必須理解的復合信息的抽象。
②特點
a.可以由一組屬性來定義的實體都可以被認為是數據對象。
b.數據對象彼此間是有關聯的。
c.數據對象只封裝了數據而沒有對施加于數據上的操作的引用。
(2)屬性
屬性定義了數據對象的性質。
(3)聯系
數據對象彼此之間相互連接的方式稱為聯系,也稱為關系。聯系也可能有屬性。聯系可分為以下3種類型。
①一對一聯系(1:1)
②一對多聯系(1:N)
③多對多聯系(M:N)
3實體-聯系圖(E-R圖)
(1)基本成分
E-R圖中包含了實體(數據對象)、關系和屬性3種基本成分,通常用矩形框代表實體,用連接相關實體的菱形框表示關系,用橢圓形或圓角矩形表示實體(或關系)的屬性,并用直線把實體(或關系)與其屬性連接起來。
(2)優點
①E-R模型比較接近人的習慣思維方式;
②E-R模型使用簡單的圖形符號來描述問題,便于用戶理解。
五、數據規范化
六、狀態轉換圖
1定義
狀態轉換圖(狀態圖)通過描繪系統的狀態及引起系統狀態轉換的事件,來表示系統的行為。
2狀態
(1)定義
狀態是任何可以被觀察到的系統行為模式,一個狀態代表系統的一種行為模式。
(2)分類
狀態主要有:初態(初始狀態)、終態(最終狀態)和中間狀態。
【注意】在一張狀態圖中只能有一個初態,而終態則可以有0至多個。
3事件
事件是在某個特定時刻發生的事情,是引起系統做動作或(和)轉換狀態的控制信息。
4狀態圖的符號
(1)符號的表示方法
①初態:用實心圓表示。
②終態:用一對同心圓(內圓為實心圓)表示。
③中間狀態:用圓角矩形表示。可以用兩條水平橫線把它分成上、中、下3個部分。上面部分為狀態的名稱,這部分是必須有的;中間部分為狀態變量的名字和值,下面部分是活動表。
(2)組成部分
圖3-1給出了狀態圖中使用的主要組成部分和符號表示。
圖3-1 狀態圖中使用的主要符號
①活動表
活動表的語法格式為:事件名(參數表)/動作表達式
在活動表中經常使用下述3種標準事件:entry,exit和do。entry事件指定進入該狀態的動作;exit事件指定退出該狀態的動作;do事件則指定在該狀態下的動作。
②狀態轉換
狀態圖中兩個狀態之間帶箭頭的連線稱為狀態轉換,箭頭指明了轉換方向。
③事件表達式
事件表達式的語法為:事件說明[守衛條件]/動作表達式,其中,事件說明的語法為:事件名(參數表)。
七、其他圖形工具
1層次方框圖
層次方框圖用樹形結構的一系列多層次的矩形框描繪數據的層次結構。
2Warnier圖
Warnier圖有以下三種基本符號:
①花括號:用來區分數據結構的層次,在一個花括號內的所有名字都屬于同一類信息。
②異或符號:表明一類信息或一個數據元素在一定條件下才出現。
③圓括號中的數字:指明了這個名字代表的信息類在這個數據結構中重復出現的次數。
3IPO圖
(1)定義
IPO圖是輸入、處理、輸出圖的簡稱,能夠方便地描繪輸入數據、對數據的處理和輸出數據之間的關系。
(2)基本形式和用法
①左邊的框中列出有關的輸入數據;
②中間的框內列出主要的處理;
③右邊的框內列出產生的輸出數據;
④粗大箭頭指出數據通信的情況。
處理框中列出處理的次序暗示了執行的順序。
(3)改進的IPO圖
改進的IPO圖(IPO表)中包含某些附加的信息。如圖3-2所示,改進的IPO圖中包含的附加信息主要有系統名稱、圖的作者,完成的日期,本圖描述的模塊的名字,模塊在層次圖中的編號,調用本模塊的模塊清單,本模塊調用的模塊的清單,注釋,以及本模塊使用的局部數據元素等。
圖3-2 改進的IPO圖的形式
【注意】考生要區分并牢記給定圖形工具可用于軟件生命周期的哪一階段,此為常考題。本節三種圖形工具均可用于需求分析階段。
八、驗證軟件需求
1驗證軟件需求的正確性
(1)驗證需求正確性的目的
為了提高軟件質量,確保軟件開發成功,降低軟件開發成本。
(2)進行驗證的四個方面
①一致性;
②完整性;
③現實性;
④有效性。
2驗證軟件需求的方法
(1)驗證需求的一致性;
(2)驗證需求的現實性;
(3)驗證需求的完整性和有效性。
3用于需求分析的軟件工具——PSL/PSA系統
①定義
PSL是用來描述系統的形式語言,PSA是處理PSL描述的分析程序。
②功能
a.描述任何應用領域的信息系統;
b.創建一個數據庫保存對該信息系統的描述符;
c.對描述符施加增加、刪除和更改等操作;
d.產生格式化的文檔和關于規格說明書的各種分析報告。
③優點
a.改進了文檔質量,能保證文檔具有完整性、一致性和無二義性,從而可以減少管理和維護的費用;
b.數據存放在數據庫中,便于增加、刪除和更改。