第3章_需求分析_第1頁
第3章_需求分析_第2頁
第3章_需求分析_第3頁
第3章_需求分析_第4頁
第3章_需求分析_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、中原工學院信息商務學院中原工學院信息商務學院軟件工程導論(第5版)第第3章章 需求分析需求分析中原工學院信息商務學院中原工學院信息商務學院目錄目錄實體-聯系圖分析建模與規(guī)格說明需求分析的任務與用戶溝通獲取需求的方法中原工學院信息商務學院中原工學院信息商務學院目錄目錄驗證軟件需求其他圖形工具數據規(guī)范化狀態(tài)轉換圖中原工學院信息商務學院中原工學院信息商務學院目標目標v列舉信息收集技術技巧v設計項目的E-R圖v設計項目的狀態(tài)轉換圖v了解其他圖形工具中原工學院信息商務學院中原工學院信息商務學院意義:意義:v軟件需求的深入理解是軟件開發(fā)工作獲得軟件需求的深入理解是軟件開發(fā)工作獲得成功的前提條件,不論我們把

2、設計和編碼成功的前提條件,不論我們把設計和編碼做得如何出色,不能真正滿足用戶需求的做得如何出色,不能真正滿足用戶需求的程序只會令用戶失望,給開發(fā)帶來煩惱。程序只會令用戶失望,給開發(fā)帶來煩惱。第第3章章 需求分析需求分析中原工學院信息商務學院中原工學院信息商務學院第第3章章 需求分析需求分析v需求分析的基本任務是準確地回答“系統(tǒng)必須做什么?”這個問題。v確定系統(tǒng)必須完成哪些工作,也就是對目標系統(tǒng)提出完整、準確、清晰、具體的要求。v需求分析階段結束之前,系統(tǒng)分析員應該寫出軟件需求規(guī)格說明書,以書面形式準確地描述軟件需求。中原工學院信息商務學院中原工學院信息商務學院v 在分析軟件需求和書寫軟件需求規(guī)

3、格說明書的過程中,在分析軟件需求和書寫軟件需求規(guī)格說明書的過程中,分析員和用戶都起著關鍵的、必不可少的作用。分析員和用戶都起著關鍵的、必不可少的作用。 中原工學院信息商務學院中原工學院信息商務學院第第3章章 需求分析需求分析v所有的需求分析方法都遵守下述準則: (1) 必須理解并描述問題的信息域,根據這條準則應該建立數據模型。 (2) 必須定義軟件應完成的功能,這條準則要求建立功能模型。 (3) 必須描述作為外部事件結果的軟件行為,這條準則要求建立行為模型。 (4) 必須對描述信息、功能和行為的模型進行分解,用層次的方式展示細節(jié)。中原工學院信息商務學院中原工學院信息商務學院確定對系統(tǒng)的綜合要求

4、確定對系統(tǒng)的綜合要求 分析系統(tǒng)的數據要求分析系統(tǒng)的數據要求3 導出系統(tǒng)的邏輯模型導出系統(tǒng)的邏輯模型4 修正系統(tǒng)開發(fā)計劃修正系統(tǒng)開發(fā)計劃3.1 需求分析的任務需求分析的任務中原工學院信息商務學院中原工學院信息商務學院3.1 需求分析的任務需求分析的任務任務1:確定對系統(tǒng)的綜合要求 通常對軟件系統(tǒng)有下述幾方面的綜合要求: 功能需求 性能需求 可靠性和可用性需求 出錯處理需求 接口需求 約束 逆向需求 將來可能提出的要求中原工學院信息商務學院中原工學院信息商務學院3.1 需求分析的任務需求分析的任務任務2:分析系統(tǒng)的數據要求 分析系統(tǒng)的數據要求通常采用建立數據模型的方法(見3.4節(jié)實體-聯系圖) 復

5、雜的數據由許多基本的數據元素組成,數據結構表示數據元素之間的邏輯關系,通常用層次方框圖和Warnier圖來描繪數據結構。 軟件系統(tǒng)經常使用各種長期保存的信息,這些信息通常以一定的方式組織并存儲在數據庫或文件中,為減少數據冗余,避免出現插入異?;騽h除異常,簡化修改數據的過程,通常需要把數據結構規(guī)范化。中原工學院信息商務學院中原工學院信息商務學院3.1 需求分析的任務需求分析的任務任務3:導出系統(tǒng)的邏輯模型 綜合上述兩項分析的結果可以導出系統(tǒng)的詳細的邏輯模型,通常用數據流圖、實體-聯系圖、狀態(tài)轉換圖、數據字典和主要的處理算法描述這個邏輯模型。任務4:修正系統(tǒng)開發(fā)計劃 根據在分析過程中獲得的對系統(tǒng)的

6、更深入更具體的了解,可以比較準確地估計系統(tǒng)的成本和進度,修正以前制定的開發(fā)計劃。中原工學院信息商務學院中原工學院信息商務學院v訪談v面向數據流自頂向下求精v簡易的應用規(guī)格說明技術v快速建立軟件原型3.2 與用戶溝通獲取需求的方法與用戶溝通獲取需求的方法中原工學院信息商務學院中原工學院信息商務學院3.2.1 訪談訪談v訪談是最早開始使用且是迄今為止仍然廣泛使用的需求分析技術。 正式訪談 - 系統(tǒng)分析員將提出一些事先準備好的具體問題。 非正式訪談 - 分析員將提出一些用戶可以自由回答的開放性問題,以鼓勵被訪問人員說出自己的想法。v當需要調查大量人員的意見時,請被調查人填寫調查表是十分有效的做法。中

7、原工學院信息商務學院中原工學院信息商務學院3.2.1 訪談訪談v在訪問用戶的過程中使用情景分析技術往往十分有效。所謂情景分析,就是對用戶將來使用目標系統(tǒng)解決某個具體問題的方法和結果進行分析。系統(tǒng)分析員利用情景分析技術往往能夠獲知用戶的具體需求。v 情景分析技術的用處主要體現在下述兩個方面:(1) 它能在某種程度上演示目標系統(tǒng)的行為,從而便于用戶理解,而且還可能進一步揭示出一些分析員目前還不知道的需求。(2) 由于情景分析較易為用戶所理解,使用這種技術能保證用戶在需求分析過程中始終扮演一個積極主動的角色。中原工學院信息商務學院中原工學院信息商務學院3.2.2 面向數據流自頂向下求精面向數據流自頂

8、向下求精v數據決定了需要的處理和算法,它是需求分析的出發(fā)點。v結構化分析方法實質上就是面向數據流自頂向下逐步求精進行需求分析的方法。v通過可行性研究已經得出了目標系統(tǒng)的高層數據流圖,需求分析的一個主要目標是把數據流和數據存儲定義到元素級。為了達到這個目標,通常從數據流圖的輸出端著手分析。中原工學院信息商務學院中原工學院信息商務學院3.2.2 面向數據流自頂向下求精面向數據流自頂向下求精圖3.1面向數據流自頂向下求精過程中原工學院信息商務學院中原工學院信息商務學院問題:v使用傳統(tǒng)的訪談或面向數據流自頂向下求精方法定義需求時,用戶處于被動地位而且往往有意無意地與開發(fā)者區(qū)分“彼此”。由于不能像同一個

9、團隊的人那樣齊心協(xié)力地識別和精化需求,這兩種方法的效果有時并不理想。中原工學院信息商務學院中原工學院信息商務學院3.2.3 簡易的應用規(guī)格說明技術簡易的應用規(guī)格說明技術v簡易的應用規(guī)格說明技術是一種面向團隊的需求收集法v提倡用戶與開發(fā)者密切合作,共同標識問題,提出解決方案要素,商討不同的方案并指定基本需求v目前它已成為信息系統(tǒng)領域使用的主流技術。中原工學院信息商務學院中原工學院信息商務學院使用簡易的應用規(guī)格說明技術分析需求的典型過程:使用簡易的應用規(guī)格說明技術分析需求的典型過程:1.初步的訪談,通過用戶對基本問題的回答,初步確定待解決的問題的范圍和解決方案。2.開發(fā)者和用戶分別寫出“產品需求”

10、。3.開發(fā)者和用戶開會討論,共同創(chuàng)建一張意見一致的組合列表。4. 把與會者分成更小的小組,每個小組的工作目標是為每張列表中的項目制定小型規(guī)格說明。小型規(guī)格說明是對列表中包含的單詞或短語的準確說明。5. 每個小組向全體與會者展示他們制定的小型規(guī)格說明,討論,以創(chuàng)建出意見一致的確認標準。6. 由一名或多名與會者根據會議成果起草完整的軟件需求規(guī)格說明書。中原工學院信息商務學院中原工學院信息商務學院3.2.4 快速建立軟件原型快速建立軟件原型v快速建立軟件原型是最準確、最有效、最強大的需求分析技術。所謂軟件原型,就是快速建立起來的旨在演示目標系統(tǒng)主要功能的可運行的程序。v構建軟件原型的要點是,它應該實

11、現用戶看得見的功能,省略目標系統(tǒng)的“隱含”功能。v軟件原型的應該具備的第一個特性是“快速”,第二個特性是“容易修改”。中原工學院信息商務學院中原工學院信息商務學院3.2.4 快速建立軟件原型快速建立軟件原型v為了快速地構建和修改原型,可以使用下述3種方法和工具: 第四代技術 可重用的軟件構件 形式化規(guī)格說明和原型環(huán)境中原工學院信息商務學院中原工學院信息商務學院3.3 分析建模與規(guī)格說明分析建模與規(guī)格說明3.3.1 分析建模v模型為了理解事物而對事物作出的一種抽象,是對事物的一種無歧義的書面描述。v通常,模型由一組圖形符合和組織這些符號的規(guī)則組成。v需求分析過程應該建立3種模型: 數據模型 -

12、- 實體-聯系圖 功能模型- - 數據流圖 行為模型-狀態(tài)轉換圖中原工學院信息商務學院中原工學院信息商務學院3.3.2 軟件需求規(guī)格說明軟件需求規(guī)格說明v通過需求分析除了創(chuàng)建分析模型之外,還應該寫出軟件需求規(guī)格說明書,它是需求分析階段得出的最主要的文檔。v描述軟件需求說明書有兩種方法: 自然語言 形式化方法中原工學院信息商務學院中原工學院信息商務學院3.4 實體聯系圖實體聯系圖v數據模型是一種面向問題的數據模型,是按照用戶的觀點對數據建立的模型。它描述了從用戶角度看到的數據,反映了用戶的現實環(huán)境,而且與在軟件系統(tǒng)中的實現方法無關。v通常使用實體-聯系圖(簡稱ER圖)來建立數據模型v數據模型中包

13、含3種相互關聯的信息:數據對象(實體)、數據對象的屬性及數據對象彼此間相互連接的關系。中原工學院信息商務學院中原工學院信息商務學院3.4.1 數據對象數據對象v數據對象是對軟件必須理解的具有一系列不同性質或屬性的事物的抽象,僅有單個值的事物不是數據對象。 由一組屬性來定義的實體都可以被認為是數據對象。 數據對象彼此間是有關聯的 數據對象只封裝了數據而沒有對施加于數據上的操作的引用,這是數據對象與面向對象范型中“類”或“對象”的顯著區(qū)別。中原工學院信息商務學院中原工學院信息商務學院3.4.2 屬性屬性v屬性定義了數據對象的性質。v應該根據對所要解決的問題的理解,來確定特定數據對象的一組合適的屬性

14、。例如:學生具有學號、姓名、性別、年齡、專業(yè)(其它略)等屬性; 課程具有課程號、課程名、學分、學時數等屬性; 教師具有職工號、姓名、年齡、職稱等屬性。中原工學院信息商務學院中原工學院信息商務學院3.4.3 聯系聯系v數據對象彼此之間相互連接的方式稱為聯系,也稱為關系。v聯系有3種類型: 一對一聯系(1:1) 一對多聯系(1:N) 多對多聯系(M:N)v聯系也可能有屬性。比如成績既不是學生的屬性,也不是課程的屬性,而是學生“學”課程的屬性,這個屬性就是聯系“學”的屬性。中原工學院信息商務學院中原工學院信息商務學院3.4.4 實體實體-聯系圖的符號聯系圖的符號v實體-聯系圖的基本符號符號含義表示實

15、體表示實體間的聯系,與實體的連線上需用數字標明具體的對應關系表示實體或聯系的屬性用于實體、屬性及聯系的連接中原工學院信息商務學院中原工學院信息商務學院舉 例圖3.2 某校教學管理ER圖對象對象教師屬性教師屬性學生屬性學生屬性課程屬性課程屬性聯系屬性聯系屬性關系關系中原工學院信息商務學院中原工學院信息商務學院例子:例子:v請為某倉庫的管理設計一個ER模型。該倉庫主要管理零件的訂購和供應等事項。倉庫向工程項目供應零件,并且根據需要向供應商訂購零件。中原工學院信息商務學院中原工學院信息商務學院工程項目零件供應商項目名稱訂購量供應商編號供應商名稱地址項目編號開工日期供應訂購供應量零件名稱零件編號MNN

16、M中原工學院信息商務學院中原工學院信息商務學院3.5 數據規(guī)范化數據規(guī)范化v軟件系統(tǒng)經常使用各種長期保存的信息,這些信息通常以一定的方式組織并存儲在數據庫或文件中,為減少數據冗余,避免出現插入異常或刪除異常,簡化修改數據的過程,通常需要把數據結構規(guī)范化。v通常用“范式”定義消除數據冗余的程度。 第一范式 第二范式 第三范式中原工學院信息商務學院中原工學院信息商務學院3.6 狀態(tài)轉換圖狀態(tài)轉換圖v狀態(tài)轉換圖通過描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉換的事件,來表示系統(tǒng)的行為。3.6.1 狀態(tài)v狀態(tài)是任何可以被觀察到的系統(tǒng)行為模式,一個狀態(tài)代表系統(tǒng)的一種行為模式。狀態(tài)規(guī)定了系統(tǒng)對事件的響應方式。v在狀態(tài)圖

17、中定義的狀態(tài)主要有初態(tài)、終態(tài)和中間狀態(tài)。在一張狀態(tài)圖中,只能有一個初態(tài),而終態(tài)則可以有0至多個。中原工學院信息商務學院中原工學院信息商務學院3.6.1 狀態(tài)狀態(tài)v狀態(tài)圖既可以表示系統(tǒng)循環(huán)運行過程,也可以表示系統(tǒng)單程生命期。v當描繪循環(huán)運行過程時,通常并不關心循環(huán)是怎樣啟動的。v當描繪單程生命期時,需要標明初始狀態(tài)(系統(tǒng)啟動時進入初始狀態(tài))和最終狀態(tài)(系統(tǒng)運行結束時到達最終狀態(tài))。中原工學院信息商務學院中原工學院信息商務學院3.6.2 事件事件v事件是在某個特定時刻發(fā)生的事情,它是對引起系統(tǒng)做動作或從一個狀態(tài)轉換到另一個狀態(tài)的外界事件的抽象。3.6.3 符號 初態(tài)用實心圓表示 終態(tài)用一對同心圓(

18、內圓為實心圓)表示 中間狀態(tài)用圓角矩形表示,可以用兩條水平橫線把它分成上、中、下3個部分,分別放置狀態(tài)名(必選)、狀態(tài)變量的名字和值(可選)、活動表(可選)中原工學院信息商務學院中原工學院信息商務學院3.6.3 符號符號圖3.3狀態(tài)圖中使用的主要符號中原工學院信息商務學院中原工學院信息商務學院3.6.3 符號符號 活動表的語法格式為: 事件名(參數表)/動作表達式 活動表中有3種標準事件: Entry事件指定進入該狀態(tài)的動作 Exit事件指定退出該狀態(tài)的動作 Do事件指定在該狀態(tài)下的動作(最常用) 活動表的動作表達式描述應做的具體動作 狀態(tài)轉換由兩個狀態(tài)之間帶箭頭的連線表示,箭頭指明了轉換方向

19、。狀態(tài)通常由事件觸發(fā),此時應在表示狀態(tài)轉換的箭頭上標出觸發(fā)轉換的事件表達式;若未標,則表示在源狀態(tài)的內部活動執(zhí)行完之后自動觸發(fā)轉換。中原工學院信息商務學院中原工學院信息商務學院3.6.3 符號符號 事件表達式的語法如下:事件說明守衛(wèi)條件/動作表達式 事件說明的語法為: 事件名(參數表) 守衛(wèi)條件是一個布爾表達式。若同時使用事件說明和守衛(wèi)條件,則當且僅當事件發(fā)生且布爾表達式為真時,狀態(tài)轉換才發(fā)生;若只有守衛(wèi)條件沒有事件說明,則只要守衛(wèi)條件為真,狀態(tài)轉換就發(fā)生。 動作表達式是一個過程表達式,當狀態(tài)轉換開始時執(zhí)行該表達式中原工學院信息商務學院中原工學院信息商務學院習題習題3.6:v復印機的工作過程大

20、致如下:未接到復印命令時處于閑置狀態(tài),一旦接到復印命令則進入復印狀態(tài),完成一個復印命令規(guī)定的工作后又回到閑置狀態(tài),等待下一個復印命令;如果執(zhí)行復印命令時發(fā)現沒紙,則進入缺紙狀態(tài),發(fā)出警告,等待裝紙,裝滿紙后進入閑置狀態(tài),準備接收復印命令;如果復印時發(fā)生卡紙故障,則進入卡紙狀態(tài),發(fā)出警告等待維修人員來排除故障,故障排除后回到閑置狀態(tài)。 請用狀態(tài)轉換圖描繪復印機的行為。中原工學院信息商務學院中原工學院信息商務學院例子:例子:v一個保險箱上裝了一個復合鎖,鎖有三個位置,分別標記為1、2、3,轉盤可向左(L)或向右(R)轉動。這樣,在任意時刻轉盤都有6種可能的運動,即1L、1R、2L、2R、3L和3R

21、。保險箱的組合密碼是1L、3R、2L,轉盤的任何其他運動都將引起報警。試用狀態(tài)轉換圖描述保險箱的行為。中原工學院信息商務學院中原工學院信息商務學院中原工學院信息商務學院中原工學院信息商務學院3.6.4 例子例子圖3.4電話系統(tǒng)的狀態(tài)圖中原工學院信息商務學院中原工學院信息商務學院3.6.4 例子例子v圖中表明,沒有人打電話時電話處于閑置狀態(tài);有人拿起聽筒則進入撥號音狀態(tài),到達這個狀態(tài)后,電話的行為是響起撥號音并計時;這時如果拿起聽筒的人改變主意不想打了,他把聽筒放下(掛斷),電話重又回到閑置狀態(tài);如果拿起聽筒很長時間不撥號(超時),則進入超時狀態(tài);。中原工學院信息商務學院中原工學院信息商務學院3

22、.7 其他圖形工具其他圖形工具3.7.1 層次方框圖v層次方框圖用樹形結構的一系列多層次的矩形框描繪數據的層次結構。 樹形結構的頂層是一個單獨的矩形框,它代表完整的數據結構 下面的各層矩形框代表這個數據的子集 最底層的各個框代表組成這個數據的實際數據元素(不能再分割的元素)中原工學院信息商務學院中原工學院信息商務學院層次方框圖例子層次方框圖例子 例如,一家計算機公司的產品由硬件、軟件和服務3類產品組成;硬件產品又分為處理機、存儲器和外部設備;軟件產品又分為系統(tǒng)軟件和應用軟件,系統(tǒng)軟件又進一步分為操作系統(tǒng)、編譯程序和軟件工具;服務包括軟件服務、硬件維修和培訓3方面。試用層次方框圖來描繪這家計算機

23、公司全部產品的數據結構。中原工學院信息商務學院中原工學院信息商務學院層次方框圖例子層次方框圖例子圖3.5層次方框圖的一個例子中原工學院信息商務學院中原工學院信息商務學院3.7.2 Warnier圖圖vWarnier圖也用樹形結構描繪信息,但它提供的描繪手段比層次方框圖更豐富。v用Warnier圖可以清楚地描繪信息的邏輯結構。 它可以表明一個(或一類)信息元素是重復出現的 也可以表示特定信息在某一類信息中是有條件地出現的 重復和條件約束是軟件處理過程的基礎,所以很容易把Warnier圖轉變成軟件設計的工具。中原工學院信息商務學院中原工學院信息商務學院3.7.2 Warnier圖圖vWarnier

24、圖用花括號的開括號來區(qū)分數據結構的層次 在一個開括號內的所有名字都屬于同一類信息 異或符號 表明一類信息或數據元素在一定條件下才出現,而且這個符號上、下方的兩個名字所代表的數據只能出現一個 在一個名字下方(或右側)的圓括號中的數字指明這個名字代表的信息(或元素)在這個數據結構中重復出現的次數中原工學院信息商務學院中原工學院信息商務學院3.7.2 Warnier圖圖v例子:一種軟件產品要么是系統(tǒng)軟件要么是應用軟件。系統(tǒng)軟件中有P1種操作系統(tǒng),P2種編譯程序,此外還有軟件工具。軟件工具又可以進一步細分為P3種編輯程序、P4種測試驅動程序和P5種設備輔助工具。中原工學院信息商務學院中原工學院信息商務

25、學院3.7.2 Warnier圖圖圖3.6 Warnier圖的一個例子中原工學院信息商務學院中原工學院信息商務學院3.7.3 IPO圖圖vIPO圖是輸入、處理、輸出圖的簡稱,它能方便地描繪輸入數據、對數據的處理和輸出數據之間的關系。v在需求分析階段可以使用IPO圖簡略地描述數據流圖中各個處理的基本算法。vIPO圖使用的基本符號既少又簡單: 左邊框中列出有關的輸入數據 中間框中列出主要的處理 右邊框中列出產生的輸出數據 處理框中列出處理的次序暗示了執(zhí)行的順序 粗大箭頭指出數據通信的情況中原工學院信息商務學院中原工學院信息商務學院3.7.3 IPO圖圖圖3.7 主文件更新的IPO圖中原工學院信息商務學院中原工學院信息商務學院3.7.3 IPO圖圖圖3.8改進的IPO圖的形式建議使用一種改進的IPO圖(也稱為IPO表),這種圖中包含某些附加的信息。中原工學院信息商務學院中原工學院信息商務學院3.7.3 IPO圖圖中原工學院信息商務學院中原工學院信息商務學院3.8 驗證軟件需求驗證軟件需求3.8.1驗證軟件需求的正確性v為了提高軟件質量,確保軟件開發(fā)成功,降低軟件開發(fā)成本,一旦對目標系統(tǒng)提出一組要求之后,必須嚴格驗證這些需求的正確性。v一般從以下4個方面來驗證需求的正確性: 一致性 完整性 現實性 有效性中原工學院信息商務學院中

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論