




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第4章結構化需求分析本章的主要目標是介紹軟件需求分析的相關工作。讀完本章,你將了解以下基本內容:需求分析的基礎。結構化面向數(shù)據(jù)流的需求分析。結構化需求分析常用工具。11/2/20231?曲阜師范大學計算機科學學院第4章結構化需求分析4.1需求分析基礎4.2面向數(shù)據(jù)流的結構化需求分析方法4.3其他圖形工具11/2/20232?曲阜師范大學計算機科學學院4.1需求分析基礎
軟件需求是指用戶對目標軟件系統(tǒng)在功能、行為、性能、設計約束等方面的期望,最終形成需求規(guī)格說明。需求分析階段是介于系統(tǒng)分析和軟件設計階段間的重要橋梁。
11/2/20233?曲阜師范大學計算機科學學院4.1.1需求分析的任務與原則需求分析可分為問題分析、需求描述及需求評審3個階段。在問題分析階段,分析人員通過對問題及其環(huán)境的理解、分析和綜合,清除用戶需求的模糊性、歧義性和不一致性,并在用戶的幫助下對相互沖突的要求進行折衷。需求描述階段的主要任務是以需求模型為基礎,考慮到問題的軟件可解性,生成需求規(guī)格說明和初步的用戶手冊。在需求評審階段,分析人員需在用戶和軟件設計人員的配合下對自己生成的需求規(guī)格說明和初步的用戶手冊進行復核,以確保軟件需求的全面性、精確性和一致性,并使用戶和設計人員對需求規(guī)格說明及用戶手冊的理解達成一致。
11/2/20234?曲阜師范大學計算機科學學院4.1.2需求初步獲取技術
4.1.2.1訪談與會議
4.1.2.2深入用戶工作環(huán)境
4.1.2.3用戶與開發(fā)人員一同參與
4.1.2.4需求實例11/2/20235?曲阜師范大學計算機科學學院4.1.2.4需求實例問題描述:家庭保安市場正以每年40%的速度增長?,F(xiàn)希望建立一種基于微處理器的家庭保安系統(tǒng),它能夠識別異常事件并采取相應的防護措施。這些異常事件應包括非法進入、火災、水淹等等。一旦異常情形被相應的傳感器探測出來,系統(tǒng)應自動通過電話向監(jiān)控中心報警。此外,系統(tǒng)還應該允許戶主對其行為實施程序式控制。針對此問題,軟件研發(fā)聯(lián)合小組首先制定工作制度:每次會議開始前必須有確定的議程,參加者需要針對各項議程進行充分的準備,這種準備不僅是思想上的,還應成形于文字。11/2/20236?曲阜師范大學計算機科學學院
最后,初步分析活動應形成結論性文檔,該文檔將作為后續(xù)分析活動的基礎。經過初步分析后,“家庭保安系統(tǒng)”的部分需求文檔(不包括約束條件和測試標準)如下:“家庭保安系統(tǒng)”的軟件允許用戶在安裝時進行系統(tǒng)配置,實施對傳感器的監(jiān)控并通過控制面板與用戶進行信息交互。配置操作包括:(1)指定每一傳感器的種類和編號;(2)設置開、關機密碼;(3)指定報警電話號碼;(4)指定報警延遲和電話重撥延遲時間(以秒為單位)。當軟件系統(tǒng)接收到傳感器發(fā)出的數(shù)據(jù)后,判斷是否出現(xiàn)異常事件。若是,則在指定的延遲時間內撥報警電話,撥號操作將按照重撥延遲反復進行,直至電話接通。然后軟件系統(tǒng)負責報告時間、地點和異常事件的性質。開機后,軟件系統(tǒng)負責顯示當前工作狀態(tài),接收并處理用戶指令。11/2/20237?曲阜師范大學計算機科學學院4.1.3需求建模軟件目標系統(tǒng)可通過模型刻畫所涉及的信息、處理功能及實際運行時的外部行為。
建立軟件模型是分析活動的焦點。11/2/20238?曲阜師范大學計算機科學學院4.1.4問題抽象、問題分解與多視點分析抽象方法要求分析人員在分析過程中善于捕捉用戶描述或問題本身所固有的一般――特殊關系,首先關注一般問題的解決途徑,進而指導特殊問題的求解。問題分解也是普遍適用于分析各階段的一般性方法。與問題分解相對應,還有一種“視角分解”方法廣泛應用于需求分析活動,這就是所謂的“多視點分析”。11/2/20239?曲阜師范大學計算機科學學院4.1.5支持需求分析的快速原型技術一旦確定采用快速原型技術后,分析人員不妨遵循以下步驟:利用各種分析技術和方法,生成一個簡化的需求規(guī)格說明;對前述需求規(guī)格說明進行檢查、修訂后,生成設計規(guī)格說明。一般情況,為了快速生成原型,軟件的設計只關心軟 件的總體結構、用戶界面和數(shù)據(jù)設計,不注重過程內部的控制流程設計。在現(xiàn)有工具或環(huán)境的幫助下快速生成可運行的軟件原型并進行測試、完善和改進。可用的主要工具有可重用的軟部件庫、用戶界面自動生成器等快速原型支持工具;將原型提交給用戶評估并征詢改進意見;上述過程將反復迭代進行,直到用戶完全認可為止。11/2/202310?曲阜師范大學計算機科學學院4.1.6需求規(guī)格說明與評審4.1.6.1需求規(guī)格說明書的目標和內容 它必須服務于以下目標:便于用戶、分析人員和軟件設計人員進行理解和交流。支持目標軟件系統(tǒng)的確認??刂葡到y(tǒng)進化過程。
需求規(guī)格說明書的主體內容包括功能與行為需求描述以及非行為需求描述兩部分。需求規(guī)格說明書基本構架和內容見《計算機軟件文檔編制規(guī)范(GB/T8567-2006)》。
11/2/202311?曲阜師范大學計算機科學學院4.1.6.2需求評審
衡量需求規(guī)格說明書質量的標準按重要性次序排列為正確性、無歧義性、完全性、可驗證性、一致性、可理解性、可修改性和可追蹤性。
正確性。需求規(guī)格說明書中的功能、行為、性能描述必須與用戶對目標軟件產品的期望相吻合。無歧義性。對于用戶、分析人員、設計人員和測試人員而言,需求規(guī)格說明書中的任何語法單位只能有唯一的語義解釋。完全性。需求規(guī)格說明書不能遺漏任何用戶需求。可驗證性。對于規(guī)格說明書中的任何需求,均應該對技術和經濟上的可行性手段進行驗證和確認。11/2/202312?曲阜師范大學計算機科學學院一致性。需求規(guī)格說明書的各部分內容之間不能相互矛盾??衫斫庑?。追求上述目標不應妨礙需求規(guī)格說明書對于用戶、設計人員和測試人員的易理解性。可修改性。需求規(guī)格說明書的格式和組織方式應保證能夠比較容易地接納后續(xù)的增刪改,并使修改后的說明書能夠較好地保持其他各項屬性。可追蹤性。需求規(guī)格說明書分析后獲得的每項需求必須與用戶的原始需求項清晰地聯(lián)系起來,并為后續(xù)開發(fā)和其他文檔引用這些需求項提供便利。11/2/202313?曲阜師范大學計算機科學學院
4.2面向數(shù)據(jù)流的結構化需求分析方法
結構化分析方法的雛形出現(xiàn)于20世紀60年代后期。直到1979年才由DeMarco將其作為一種需求分析方法正式提出。20世紀80年代中后期,Ward&Hatley和Hatley&Pirbhai在結構化分析方法中引入了實時系統(tǒng)分析機制,Harel等人研制了面向復雜實時反應式系統(tǒng)的開發(fā)環(huán)境STATEMATE。結構化需求分析過程是通過建立三種模型來詮釋,它們分別是數(shù)據(jù)模型、功能模型和行為模型。11/2/202314?曲阜師范大學計算機科學學院4.2.1實體-聯(lián)系圖在數(shù)據(jù)模型中包含三種相互關聯(lián)的信息:數(shù)據(jù)對象、數(shù)據(jù)對象的屬性及數(shù)據(jù)對象彼此間相互連接的關系。4.2.1.1數(shù)據(jù)對象數(shù)據(jù)對象可以是外部實體(例如產生或使用信息的任何事物)、事物(例如報表)、行為(例如打電話)、事件(例如響警報)、角色(例如教師、學生、經理、雇員等)、單位(例如會計科)、地點(例如倉庫)或結構(例如文件)等??傊?,可以由一組屬性來定義的實體都可以被認為是數(shù)據(jù)對象。數(shù)據(jù)對象彼此間是有關聯(lián)的,例如,教師“教”課程,學生“學”課程。數(shù)據(jù)對象只封裝了數(shù)據(jù)而沒有對施加于數(shù)據(jù)之上的操作加以引用,這是數(shù)據(jù)對象與面向對象范型中的“類”或“對象”的顯著區(qū)別。11/2/202315?曲阜師范大學計算機科學學院4.2.1.2屬性屬性定義了數(shù)據(jù)對象的性質。應該根據(jù)對所要解決問題的理解,來確定特定數(shù)據(jù)對象的一組合適的屬性。11/2/202316?曲阜師范大學計算機科學學院4.2.1.3聯(lián)系客觀世界中的事物彼此間往往是有聯(lián)系的。數(shù)據(jù)對象彼此之間相互連接的方式稱為聯(lián)系,也稱為關系。聯(lián)系可分為以下三種:一對一聯(lián)系(1:1)一對多聯(lián)系(1:N)多對多聯(lián)系(M:N)11/2/202317?曲阜師范大學計算機科學學院4.2.1.4實體-聯(lián)系圖的符號使用實體-聯(lián)系圖(Entity-RelationshipDiagram)來建立數(shù)據(jù)模型??梢园褜嶓w聯(lián)系圖簡稱為ER圖,相應地把用ER圖描繪的數(shù)據(jù)模型稱為ER模型。11/2/202318?曲阜師范大學計算機科學學院4.2.1.5數(shù)據(jù)規(guī)范化通常用“范式(NormalForms)”定義消除數(shù)據(jù)冗余的程度。第一范式(1NF)數(shù)據(jù)冗余程度最大,第六范式(6NF)冗余程度最小。從實用角度來看,在大多數(shù)場合選用第三范式比較恰當。
第一范式無重復的列。第二范式完全依賴于主鍵[消除非主屬性對主鍵的部分函數(shù)依賴]。第三范式不依賴于其它非主屬性[消除傳遞依賴]。11/2/202319?曲阜師范大學計算機科學學院4.2.2狀態(tài)轉換圖狀態(tài)轉移圖(簡稱為狀態(tài)圖)通過描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉換的事件來表示系統(tǒng)的行為。
4.2.2.1狀態(tài)狀態(tài)是任何可以被觀察到的系統(tǒng)行為模式,一個狀態(tài)代表系統(tǒng)的一種行為模式。狀態(tài)規(guī)定了系統(tǒng)對事件的響應方式。在狀態(tài)圖中定義的狀態(tài)主要有:初態(tài)(即初始狀態(tài))、終態(tài)(最終狀態(tài))和中間狀態(tài)。在一張狀態(tài)圖中只有一個初態(tài),而終態(tài)則可以有0至多個。4.2.2.2事件事件是在某個特定時刻發(fā)生的事件,它是對引起系統(tǒng)做動作或(和)從一個狀態(tài)轉換到另一個狀態(tài)的外界事件的抽象。11/2/202320?曲阜師范大學計算機科學學院4.2.2.3符號
在狀態(tài)圖中,初態(tài)用實心圓表示,終態(tài)用一對同心圓(內圓為實心圓)表示,中間狀態(tài)用圓角矩形表示,可以用兩條水平橫線分成上、中、下3個部分。上面部分為狀態(tài)的名稱,這部分不能缺??;中間部分為狀態(tài)變量的名字和值,此部分可選;下面部分是活動表,這部分也是可選。
活動表的語法格式為:事件名(參數(shù)表)/動作表達式狀態(tài)圖中兩個狀態(tài)之間帶箭頭的連線稱為狀態(tài)轉換,箭頭指明了轉換方向。
事件表達式的語法:事件說明[警戒條件]/動作表達式圖4.2是狀態(tài)圖中使用的主要符號表征。
11/2/202321?曲阜師范大學計算機科學學院4.2.2.4舉例
11/2/202322?曲阜師范大學計算機科學學院4.2.3數(shù)據(jù)流圖數(shù)據(jù)流圖(DataFlowDiagram,DFD)是一種圖形化技術,它描繪信息流和數(shù)據(jù)從輸入移動到輸出的過程所經受的變換。如圖4.4(a)所示,數(shù)據(jù)流圖有4種基本符號:正方形(或立方體)表示數(shù)據(jù)的源點或終點;圓角矩形(或圓形)代表變換數(shù)據(jù)的處理;開口矩形(或兩條平行橫線)代表數(shù)據(jù)存儲;箭頭表示數(shù)據(jù)流,即特定數(shù)據(jù)的流動方向。注意,數(shù)據(jù)流與程序流程圖中用箭頭表示的控制流有本質不同,不可以混淆。
11/2/202323?曲阜師范大學計算機科學學院處理并不一定是一個程序。一個處理框可以代表一系列程序、單個程序或者程序的一個模塊;它甚至可以代表用穿孔機穿孔或目視檢查數(shù)據(jù)正確性等人工處理過程。一個數(shù)據(jù)存儲也并不等同于一個文件,它可以表示一個文件、文件的一部分、數(shù)據(jù)庫的元素或記錄的一部分等;數(shù)據(jù)存儲和數(shù)據(jù)流都是數(shù)據(jù),僅僅所處的狀態(tài)不同。數(shù)據(jù)流圖的基本要點是描繪“做什么”,而不考慮“怎樣做”。11/2/202324?曲阜師范大學計算機科學學院4.2.3.2數(shù)據(jù)流層次
在分析的初始,整個信息處理系統(tǒng)可以用圖4.5所示的頂級(第0級)數(shù)據(jù)流圖表示:11/2/202325?曲阜師范大學計算機科學學院
隨著需求分析活動的逐漸深入,較高層抽象級別的復雜轉換可以精化為一系列相互關聯(lián)的數(shù)據(jù)流和子轉換。在進行逐層精化的過程中,必須維持層次間數(shù)據(jù)流圖的平衡,被完成精化的轉換的輸入流、輸出流必須與精化它的數(shù)據(jù)流子圖的初始輸入流和最終輸出流保持嚴格一致。11/2/202326?曲阜師范大學計算機科學學院4.2.3.3數(shù)據(jù)字典通常,數(shù)據(jù)字典的每一數(shù)據(jù)條目包含以下內容:(1)在數(shù)據(jù)流圖中標識數(shù)據(jù)流、數(shù)據(jù)源或外部實體的名稱與別名;(2)數(shù)據(jù)類型;(3)所有以它作為輸入流或輸出流的轉換列表;(4)如何使用該數(shù)據(jù)條目的簡要說明;(5)數(shù)據(jù)條目的解釋性說明;(6)其他補充說明,例如取值范圍與缺省值,有關的設計約束等。11/2/202327?曲阜師范大學計算機科學學院
數(shù)據(jù)條目的定義必須遵循精確、簡潔的原則,并且能為用戶方和軟件開發(fā)方共同理解。例如,可以使用形式語言中的語法定義機制描述數(shù)據(jù)條目的內容:=定義為(等價于);A+B表示語法成分A、B的順序連接;A|B表示A或B;()表示括弧內的內容可選(圓括弧里的分量可有可無)。[A]表示A0|A,即含有一個A,或者不含;{A}n(n≥0)表示n個A的順序連接;11/2/202328?曲阜師范大學計算機科學學院常常使用上限和下限進一步注釋表示重復的花括弧。一種注釋方法是在開括弧的左邊用上角標和下角標分別表明重復的上限和下限;另一種注釋方法是在開括弧左側標明重復的下限,在閉括弧的右側標明重復的上限。例如:1{A}5,或者,它們含義相同。表示用A表示的字符串集合,字符串包括:A、AA、AAA、AAAA和AAAAA。這樣,“家庭保安系統(tǒng)”中的“電話號碼”數(shù)據(jù)條目可以定義如下:電話號碼=分機號|外線號碼分機號=8601|8602|…|8699外線號碼=9+[市話號碼|長話號碼]長話號碼=0+區(qū)號+市話號碼區(qū)號=3{0|1|…|9}3市話號碼=局號+分局號局號=455|448|888|552分局號=4{0|1|…|9}411/2/202329?曲阜師范大學計算機科學學院4.2.3.4基于數(shù)據(jù)流的分析方法4.2.3.4.1創(chuàng)建數(shù)據(jù)流
數(shù)據(jù)流圖是目標軟件系統(tǒng)中各個處理子功能以及它們之間的數(shù)據(jù)流動的圖形表示。數(shù)據(jù)流圖的精化過程實際上是處理子功能和數(shù)據(jù)流的細化過程。隨著這一過程的進行,用戶需求逐步精確化、一致化和完全化。11/2/202330?曲阜師范大學計算機科學學院在創(chuàng)建用戶需求的數(shù)據(jù)流模型的過程中,分析人員應遵循以下規(guī)則:首先建立頂級數(shù)據(jù)流圖:11/2/202331?曲阜師范大學計算機科學學院對用戶需求的文字描述進行語法分析,其中的名詞和名詞短語構成潛在的外部實體、數(shù)據(jù)源或數(shù)據(jù)流,動詞構成潛在的處理功能。11/2/202332?曲阜師范大學計算機科學學院采用通常的功能分解法,按照“高內聚、低耦合”原則逐個對處理功能進行精化;與此同時,逐步完成數(shù)據(jù)流的精化,并針對被精化的處理功能生成下一級數(shù)據(jù)流圖。
“高內聚、低耦合”原則是指,被分解出來的各子功能之間的聯(lián)系相對松散、簡單,子功能內部各部分的聯(lián)系相對緊密、復雜。
對數(shù)據(jù)流的精化包含兩方面的意義。首先,伴隨著功能分解的進行,數(shù)據(jù)流的內容及各項特征將逐步彰顯,所以要將其作為數(shù)據(jù)字典的一個條目,并不斷精化、調整內容。其次,在父數(shù)據(jù)流圖中的復合數(shù)據(jù)項可被分解為子數(shù)據(jù)項,這種數(shù)據(jù)流分解并不違背平衡準則。11/2/202333?曲阜師范大學計算機科學學院在精化過程中必須維持各級數(shù)據(jù)流的平衡。精化過程應適可而止,避免涉及軟件設計細節(jié)。一般來說,如果某子功能可以用一段簡潔、精確的文字描述清楚,就無需進一步分解。11/2/202334?曲阜師范大學計算機科學學院4.2.3.4.2過程規(guī)格說明圖4.8中“口令核對”子功能分解出來的“設置口令”子功能可描述如下:參數(shù):口令;類別:字符串;處理步驟:i.檢查系統(tǒng)是否已有口令。若有,則驗證用戶輸入口令的有效性。若有效,則顯示提示信息要求輸入新口令;否則,顯示失敗信息并退出。ii.檢查口令長度是否合法。若非法,則顯示提示信息,要求重新輸入。iii.要求用戶再次鍵入合法口令,以便用戶確認和記憶。若兩次鍵入的口令不符,則返回。iv.將確認后的口令按某種加密方法轉換為另一字符串存放于系統(tǒng)配置文件中。顯示成功信息并退出。約束條件:在上述i、ii、iii步驟中,用戶重試的機會不超過三次。11/2/202335?曲阜師范大學計算機科學學院4.3其他圖形工具4.3.1層次方框圖
層次方框圖是用樹形結構的一系列層次矩形框描繪數(shù)據(jù)的層次結構。樹形結構的頂層是一個單獨的矩形框,它代表完整的數(shù)據(jù)結構,下面的各層矩形框代表這個數(shù)據(jù)的子集,最底層的各個框代表組成這個數(shù)據(jù)的實際數(shù)據(jù)元素(不能再進行分割的元素)。
11/2/202336?曲阜師范大學計算機科學學院4.3.2Warnier圖法國計算機科學家Warnier提出了表示信息層次結構的另外一種圖形工具----――Warnier圖。和層次方框圖類似,Warnier圖也用樹形結構描繪信息,但是這種圖形工具比層次方框圖提供了更豐富的描繪手段。11/2/202337?曲阜師范大學計算機科學學院4.3.3IPO圖IPO(Input-Process-Output,IPO)圖是輸入、處理、輸出圖的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 餐飲企業(yè)品牌戰(zhàn)略保密與實施指導合同范本
- 長租公寓租賃合同模板品質生活新選擇
- 村組織員考試題庫及答案
- 美術消防員課件下載
- 美術創(chuàng)意兒童課件全套
- 3月份安全事故案例
- 安全事故應急預案培訓心得
- 林業(yè)安全生產工作制度
- 橋梁安全保護區(qū)管理制度
- 月安全生產檢查方案
- 2025年中考作文試題預測及范文
- 中間人介紹工作合同模板
- 第3章-機床夾具
- 侵入性操作相關感染防控
- 江蘇省鎮(zhèn)江市近五年中考作文題目及2024年中考作文指導及例文
- 2024年譯林英語三年級上冊Unit1 第1課時 (教學課件)Cartoon time
- 2019級藥劑專業(yè)人才培養(yǎng)方案(中職)
- L07G324鋼筋混凝土密肋樓板
- 2024年軟件測試合同
- 保山市2022~2023學年春季學期期末質量監(jiān)測五年級道德與法治-答案
- 承德市承德縣六年級下冊數(shù)學期末測試卷匯編
評論
0/150
提交評論