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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第3章 需求分析3.1 需求分析的任務(wù)3.2 與用戶溝通獲取需求的方法3.3 分析建模與規(guī)格說明3.4 實體-聯(lián)系圖 (?)3.5 數(shù)據(jù)規(guī)范化(?)3.6 狀態(tài)轉(zhuǎn)換圖+有窮狀態(tài)機3.7 其他圖形工具3.8 驗證軟件需求3.9 小結(jié)需求分析的需求分析的意義意義 軟件需求的深入理解是軟件開發(fā)工作獲得成軟件需求的深入理解是軟件開發(fā)工作獲得成功的前提條件,不論我們把設(shè)計和編碼做得如何功的前提條件,不論我們把設(shè)計和編碼做得如何出色,不能真正滿足用戶需求的程序只會令用戶出色,不能真正滿足用戶需求的程序只會令用戶失望,給開發(fā)帶來煩惱。失望,給開發(fā)帶來煩惱。 需求分析是軟件定義時期的最后一個階段,需求分析是軟

2、件定義時期的最后一個階段,它的基本任務(wù)它的基本任務(wù)不是確定系統(tǒng)怎樣完成不是確定系統(tǒng)怎樣完成它的工作,它的工作,而是確定系統(tǒng)必須完成而是確定系統(tǒng)必須完成哪些工作,也就是對目標哪些工作,也就是對目標系統(tǒng)提出完整、準確、清晰、具體的要求。系統(tǒng)提出完整、準確、清晰、具體的要求。 并在在需求分析階段結(jié)束之前,由系統(tǒng)分析并在在需求分析階段結(jié)束之前,由系統(tǒng)分析員寫出軟件需求規(guī)格說明書,以書面形式準確地員寫出軟件需求規(guī)格說明書,以書面形式準確地描述軟件需求。即:描述軟件需求。即: - - 準確地回答準確地回答“系統(tǒng)必須做什么系統(tǒng)必須做什么?”?”。 在分析軟件需求和書寫軟件需求規(guī)格說明書的過程中,在分析軟件需

3、求和書寫軟件需求規(guī)格說明書的過程中,分析員和用戶都起著關(guān)鍵的、必不可少的作用。分析員和用戶都起著關(guān)鍵的、必不可少的作用。 業(yè)務(wù)需求業(yè)務(wù)需求項目范項目范圍文檔圍文檔用戶需求用戶需求文檔文檔功能需求功能需求質(zhì)量屬性質(zhì)量屬性其他非功其他非功能需求能需求設(shè)計約束設(shè)計約束需求規(guī)約需求規(guī)約(specification)非功能需求非功能需求系統(tǒng)需求系統(tǒng)需求需求組成的全景圖需求組成的全景圖軟件需求的組成軟件需求的組成 其中:其中: 業(yè)務(wù)需求業(yè)務(wù)需求:反映組織機構(gòu)和客戶對系統(tǒng)、產(chǎn)品高層次:反映組織機構(gòu)和客戶對系統(tǒng)、產(chǎn)品高層次的目標要求。的目標要求。 用戶需求用戶需求:從用戶使用的角度給出需求的描述。從用戶使用的

4、角度給出需求的描述。 如一個小型超市需要一個商品的查詢系統(tǒng)。如一個小型超市需要一個商品的查詢系統(tǒng)。 業(yè)務(wù)需求:進貨人員需要查詢商品庫存以便保業(yè)務(wù)需求:進貨人員需要查詢商品庫存以便保證及時進貨;收款員需要查詢商品的銷售價格以便結(jié)證及時進貨;收款員需要查詢商品的銷售價格以便結(jié)賬;經(jīng)理需要查詢商品的銷售及盈利情況。賬;經(jīng)理需要查詢商品的銷售及盈利情況。 用戶需求用戶需求: :這三類用戶怎樣去查詢系統(tǒng),查詢哪這三類用戶怎樣去查詢系統(tǒng),查詢哪些信息,還需要哪些操作。些信息,還需要哪些操作。 系統(tǒng)需求系統(tǒng)需求:從:從系統(tǒng)的角度描述要提供的服務(wù)以及所受到的約系統(tǒng)的角度描述要提供的服務(wù)以及所受到的約束。束。

5、功能性需求功能性需求:描述系統(tǒng)應(yīng)該做什么,即為用戶和其它系統(tǒng)完:描述系統(tǒng)應(yīng)該做什么,即為用戶和其它系統(tǒng)完成的功能、提供的服務(wù)。成的功能、提供的服務(wù)。 非功能性需求非功能性需求:產(chǎn)品必須具備的屬性或品質(zhì)。:產(chǎn)品必須具備的屬性或品質(zhì)。 設(shè)計約束設(shè)計約束:設(shè)計與:設(shè)計與實現(xiàn)必須遵循的標準、約束條件。如運行實現(xiàn)必須遵循的標準、約束條件。如運行平臺、協(xié)議、選擇的技術(shù)、編程語言和工具等。平臺、協(xié)議、選擇的技術(shù)、編程語言和工具等。軟件需求的描述軟件需求的描述 結(jié)構(gòu)化語言、結(jié)構(gòu)化語言、PDLPDL 圖形化表示圖形化表示 數(shù)學(xué)描述(形式化語言描述)數(shù)學(xué)描述(形式化語言描述)1 1 確定對系統(tǒng)的綜合要求確定對系統(tǒng)

6、的綜合要求 -功能需求、性能需求、可靠性和可用性功能需求、性能需求、可靠性和可用性需求、出錯處理需求、接口需求、約束、需求、出錯處理需求、接口需求、約束、 逆向需求、將來可能提出的要求。逆向需求、將來可能提出的要求。3.1 3.1 需求分析的具體任務(wù)需求分析的具體任務(wù)2 2 分析系統(tǒng)的數(shù)據(jù)要求分析系統(tǒng)的數(shù)據(jù)要求3 3 導(dǎo)出系統(tǒng)的邏輯模型導(dǎo)出系統(tǒng)的邏輯模型4 4 修正系統(tǒng)開發(fā)計劃修正系統(tǒng)開發(fā)計劃軟件需求獲取軟件需求獲取 需求分析是一個包括創(chuàng)建和維持系統(tǒng)需求文檔所必需的需求分析是一個包括創(chuàng)建和維持系統(tǒng)需求文檔所必需的一切活動的過程。它包含了如下活動:一切活動的過程。它包含了如下活動: 需求獲取和分

7、析、需求描述和文檔編寫、需求有效性驗需求獲取和分析、需求描述和文檔編寫、需求有效性驗證、需求管理(管理需求工程的變更)。證、需求管理(管理需求工程的變更)。軟件需求過程軟件需求過程需求獲取需求獲取和分析和分析需求描述需求描述需求有效需求有效性驗證性驗證系統(tǒng)模型系統(tǒng)模型用戶需求和系用戶需求和系統(tǒng)需求統(tǒng)需求需求規(guī)約需求規(guī)約需求管理需求管理需求獲取是開發(fā)人員與客戶或用戶一起對應(yīng)用領(lǐng)域需求獲取是開發(fā)人員與客戶或用戶一起對應(yīng)用領(lǐng)域進行調(diào)查研究,收集系統(tǒng)需求的過程。進行調(diào)查研究,收集系統(tǒng)需求的過程。需求分析是將獲取到的需求準確的理解、求精,并需求分析是將獲取到的需求準確的理解、求精,并將其轉(zhuǎn)化為完整的需求

8、定義(包括建模),進而生將其轉(zhuǎn)化為完整的需求定義(包括建模),進而生成需求規(guī)約的過程。成需求規(guī)約的過程。需求獲取和分析有一定的難度,因為:需求獲取和分析有一定的難度,因為: 1)項目相關(guān)人員通常并不真正知道希望計算項目相關(guān)人員通常并不真正知道希望計算機做什么,讓他們清晰的表達出需要系統(tǒng)做什么是機做什么,讓他們清晰的表達出需要系統(tǒng)做什么是件困難的事,他們或許提出不切實際的要求。件困難的事,他們或許提出不切實際的要求。 2) 項目相關(guān)人員用自己的語言表達需求,這些項目相關(guān)人員用自己的語言表達需求,這些語言包含很多工作中的專業(yè)術(shù)語和專業(yè)知識。系統(tǒng)分語言包含很多工作中的專業(yè)術(shù)語和專業(yè)知識。系統(tǒng)分析員沒

9、有這些知識和經(jīng)驗,而他們又必須了解這些需析員沒有這些知識和經(jīng)驗,而他們又必須了解這些需求。求。 3 3)不同的項目相關(guān)人員有不同的需求,可能以)不同的項目相關(guān)人員有不同的需求,可能以不同的方式表達,分析人員必須發(fā)現(xiàn)所有潛在的需求不同的方式表達,分析人員必須發(fā)現(xiàn)所有潛在的需求資源,而且能發(fā)現(xiàn)這些需求的相容或沖突之處。資源,而且能發(fā)現(xiàn)這些需求的相容或沖突之處。 4 4)經(jīng)濟和業(yè)務(wù)環(huán)境決定了分析是動態(tài)的,需求)經(jīng)濟和業(yè)務(wù)環(huán)境決定了分析是動態(tài)的,需求在分析過程中會發(fā)生變更。個別需求的重要程度會改在分析過程中會發(fā)生變更。個別需求的重要程度會改變,新的需求會從新的項目相關(guān)人員那里得到。變,新的需求會從新的

10、項目相關(guān)人員那里得到。 需求獲取技術(shù)需求獲取技術(shù) 建立由客戶(用戶)、系統(tǒng)分析員、領(lǐng)域?qū)<覅⒓咏⒂煽蛻簦ㄓ脩簦?、系統(tǒng)分析員、領(lǐng)域?qū)<覅⒓拥穆?lián)合小組。的聯(lián)合小組。 需求獲取的方法:個別訪談、召集會議、文檔研究、需求獲取的方法:個別訪談、召集會議、文檔研究、問卷調(diào)查、觀察用戶工作流程、建立原型。問卷調(diào)查、觀察用戶工作流程、建立原型。 獲取的需求的表達方式:獲取的需求的表達方式: (1)需求列表 需求與系統(tǒng)的特殊視角或環(huán)境的關(guān)系 (2)業(yè)務(wù)流程圖(狀態(tài)/活動圖) (3)數(shù)據(jù)流圖 (4)實體-聯(lián)系圖 3.2 與用戶溝通獲取需求的方法3.2.1 訪談3.2.2 面向數(shù)據(jù)流自頂向下求精3.2.3 簡易的

11、應(yīng)用規(guī)格說明技術(shù)3.2.4 快速建立軟件原型面向數(shù)據(jù)流自頂向下求精面向數(shù)據(jù)流自頂向下求精提倡用戶與開發(fā)者密切合作,共同標識問題,提出解決方案要素,商討不同方案并指定基本需求- 進行初步的訪談- 開發(fā)者和用戶雙方組織的代表出席會議- 每個小組為每張列表中的項目制定小型規(guī)格說明- 根據(jù)會議成果起草完整的軟件需求規(guī)格說明書3.2.3 簡易的應(yīng)用規(guī)格說明技術(shù)3.3 3.3 分析建模與規(guī)格說明分析建模與規(guī)格說明 1).1). 分析建模分析建模 模型模型 -就是為了理解事物而對事物做出的一種抽象,是對事物的一種無歧義的書面描述。通常,由一組圖形符號和組織這些符號的規(guī)則組成。 建模方法建模方法 在過去的數(shù)年

12、中,人們提出了許多種分析建模的方法,其中兩種在分析建模領(lǐng)域占有主導(dǎo)地位: 第一種是結(jié)構(gòu)化分析 (Structured Analysis,SA),70年代末由DeMarco等人提出,這是傳統(tǒng)的建模方法。該方法不是被所有的使用者一致地使用的單一方法,眾多科學(xué)家對其進行了擴充,因此它是發(fā)展了超過30年的一個混合物。 具體的建模方法具體的建模方法/ /表達方式表達方式有:有: 面向流的建模:數(shù)據(jù)流圖數(shù)據(jù)流圖(DFD/CFD) 數(shù)據(jù)建模:實體關(guān)系圖實體關(guān)系圖(ERD) 基于行為的建模: Petri網(wǎng)、狀態(tài)圖狀態(tài)圖3.3.2 3.3.2 軟件需求規(guī)格說明軟件需求規(guī)格說明( (SRSSRS) ) S Sof

13、tware oftware R Requirement equirement S Specificationpecification 通常用自然語言通常用自然語言+ +模型,完整、準確、具體地描述系模型,完整、準確、具體地描述系統(tǒng)的數(shù)據(jù)要求、功能需求、性能需求、可靠性和可用性要統(tǒng)的數(shù)據(jù)要求、功能需求、性能需求、可靠性和可用性要求、出錯處理需求、接口需求、約束、逆向需求以及將來求、出錯處理需求、接口需求、約束、逆向需求以及將來可能提出的要求??赡芴岢龅囊?。 軟件需求規(guī)格說明書,是需求分析階段得出的最主要軟件需求規(guī)格說明書,是需求分析階段得出的最主要的文檔。的文檔。軟件需求說明書的編寫提示(軟件

14、需求說明書的編寫提示(GB856T88) 1 1 引言引言 1.1 1.1 編寫目的編寫目的 1.2 1.2 背景背景 1.3 1.3 定義定義 1.4 1.4 參考資料參考資料 2 2 任務(wù)概述任務(wù)概述 2.1 2.1 目標目標 2.2 2.2 用戶的特點用戶的特點 2.3 2.3 假定和約束假定和約束軟件需求說明書的編寫提示(軟件需求說明書的編寫提示(GB856T88) 3 3 需求規(guī)定需求規(guī)定 3.1 3.1 對功能的規(guī)定對功能的規(guī)定 3.2 3.2 對性能的規(guī)定對性能的規(guī)定 3.2.1 3.2.1 精度精度 3.2.2 3.2.2 時間特性要求時間特性要求 3.2.3 3.2.3 靈活

15、性靈活性 3.3 3.3 輸人輸出要求輸人輸出要求 3.4 3.4 數(shù)據(jù)管理能力要求數(shù)據(jù)管理能力要求 3.5 3.5 故障處理要求故障處理要求 3.6 3.6 其他專門要求其他專門要求 4 4 運行環(huán)境規(guī)定運行環(huán)境規(guī)定 4.1 4.1 設(shè)備設(shè)備 4.2 4.2 支持軟件支持軟件 4.3 4.3 接口接口 4.4 4.4 控制控制3.4 3.4 實體實體- -聯(lián)系圖聯(lián)系圖( (ER) ) Entity Relationship DiagramER圖圖 - 是用來建立數(shù)據(jù)模型的工具。數(shù)據(jù)模型數(shù)據(jù)模型 - 是一種面向問題的數(shù)據(jù)模型,是按照用戶的觀點對數(shù)據(jù)建立的模型。它描述了從用戶角度看到的數(shù)據(jù),反映

16、了用戶的現(xiàn)實環(huán)境,而且與在軟件系統(tǒng)中的實現(xiàn)方法無關(guān)。數(shù)據(jù)模型中包含3種相互關(guān)聯(lián)的信息:數(shù)據(jù)對象數(shù)據(jù)對象(實體實體)、數(shù)據(jù)對象的屬性屬性及數(shù)據(jù)對象彼此間相互連接的關(guān)系關(guān)系。(1). (1). 數(shù)據(jù)對象數(shù)據(jù)對象數(shù)據(jù)對象數(shù)據(jù)對象: : 是對軟件必須理解的復(fù)合信息的抽象。是對軟件必須理解的復(fù)合信息的抽象。復(fù)合信息復(fù)合信息: : 是指是指具有一系列不同性質(zhì)或?qū)傩缘氖挛锞哂幸幌盗胁煌再|(zhì)或?qū)傩缘氖挛?,僅有,僅有單個值的事物單個值的事物( (例如,寬度例如,寬度) )不是數(shù)據(jù)對象。不是數(shù)據(jù)對象??梢杂煽梢杂梢唤M屬性來定義的實體一組屬性來定義的實體都可以被認為是數(shù)據(jù)對象。都可以被認為是數(shù)據(jù)對象。 如:外部實體

17、、事物、行為、事件、角色、單位、地點或結(jié)如:外部實體、事物、行為、事件、角色、單位、地點或結(jié)構(gòu)等。構(gòu)等。數(shù)據(jù)對象彼此間是有關(guān)聯(lián)的。數(shù)據(jù)對象彼此間是有關(guān)聯(lián)的。(2). (2). 屬屬 性性屬性定義了數(shù)據(jù)對象的屬性定義了數(shù)據(jù)對象的性質(zhì)性質(zhì)。必須把一個或多個屬性定義為必須把一個或多個屬性定義為“標識符標識符”,也就是說,當(dāng)我們,也就是說,當(dāng)我們希望找到數(shù)據(jù)對象的一個實例時,用標識符屬性作為希望找到數(shù)據(jù)對象的一個實例時,用標識符屬性作為“關(guān)鍵關(guān)鍵字字”( (通常簡稱為通常簡稱為“鍵鍵”) )。應(yīng)該根據(jù)對所要解決的問題的理解,來確定特定數(shù)據(jù)對象的一應(yīng)該根據(jù)對所要解決的問題的理解,來確定特定數(shù)據(jù)對象的一組

18、合適的屬性。組合適的屬性。 如:如:(3). (3). 聯(lián)聯(lián) 系系數(shù)據(jù)對象數(shù)據(jù)對象彼此之間相互連接的方式彼此之間相互連接的方式稱為聯(lián)系,也稱為關(guān)系。稱為聯(lián)系,也稱為關(guān)系。聯(lián)系可分為以下聯(lián)系可分為以下3 3種類型種類型: a. a. 一對一聯(lián)系一對一聯(lián)系(11)(11) 如:一個部門有一個經(jīng)理,而每個經(jīng)理只在一個部門任職,則部門與經(jīng)理的聯(lián)系是一對一的。如:一個部門有一個經(jīng)理,而每個經(jīng)理只在一個部門任職,則部門與經(jīng)理的聯(lián)系是一對一的。 b. b. 一對多聯(lián)系一對多聯(lián)系(1N)(1N) 如:某校教師與課程之間存在一對多的聯(lián)系如:某校教師與課程之間存在一對多的聯(lián)系“教教”,即每位教師可以教多門課程,但

19、是每門課,即每位教師可以教多門課程,但是每門課 程只能由一位教師來教。程只能由一位教師來教。 c. c. 多對多聯(lián)系多對多聯(lián)系(MN)(MN) 如:學(xué)生與課程間的聯(lián)系如:學(xué)生與課程間的聯(lián)系( (“學(xué)學(xué)”) )是多對多的,即一個學(xué)生可以學(xué)多門課程,而每門課程可以是多對多的,即一個學(xué)生可以學(xué)多門課程,而每門課程可以 有多個學(xué)生來學(xué)。有多個學(xué)生來學(xué)。聯(lián)系也可能有屬性。聯(lián)系也可能有屬性。 如:學(xué)生如:學(xué)生“學(xué)學(xué)”某門課程所取得的成績,既不是學(xué)生的屬性也不是課程的屬性。由于某門課程所取得的成績,既不是學(xué)生的屬性也不是課程的屬性。由于“成績成績”既既 依賴于某名特定的學(xué)生又依賴于某門特定的課程,所以它是學(xué)

20、生與課程之間的聯(lián)系依賴于某名特定的學(xué)生又依賴于某門特定的課程,所以它是學(xué)生與課程之間的聯(lián)系“學(xué)學(xué)” 的屬性。的屬性。(4). (4). 實體實體- -聯(lián)系圖的符號聯(lián)系圖的符號ERER圖圖中包含了中包含了實體實體( (即數(shù)據(jù)對象即數(shù)據(jù)對象) )、關(guān)系關(guān)系和和屬性屬性等等3 3種基本成種基本成分。分。通常用通常用矩形框矩形框代表實體;代表實體;用連接相關(guān)實體的用連接相關(guān)實體的菱形框菱形框表示關(guān)系;表示關(guān)系;用用橢圓形或圓角矩形橢圓形或圓角矩形表示實體表示實體( (或關(guān)系或關(guān)系) )的屬性;的屬性;并用并用直線直線把實體把實體( (或關(guān)系或關(guān)系) )與其屬性連接起來。與其屬性連接起來。舉舉 例例圖圖

21、3.2 3.2 某校教學(xué)管理某校教學(xué)管理ERER圖圖對象對象教師屬性教師屬性學(xué)生屬性學(xué)生屬性課程屬性課程屬性聯(lián)系屬性聯(lián)系屬性關(guān)系關(guān)系3.5 3.5 數(shù)據(jù)規(guī)范化數(shù)據(jù)規(guī)范化如何規(guī)范化?如何規(guī)范化? 1. 2. 教工號教工號姓名姓名性別性別職稱職稱職務(wù)職務(wù)001張毅坤張毅坤男男教授教授院長院長002李李 林林女女講師講師1 1、范式級別越高,存儲同樣數(shù)據(jù)就需要分解成更多張表,因此,、范式級別越高,存儲同樣數(shù)據(jù)就需要分解成更多張表,因此, “存儲自身存儲自身”的過程也就越復(fù)雜。的過程也就越復(fù)雜。2 2、隨著范式級別的提高,數(shù)據(jù)的存儲結(jié)構(gòu)與基于問題域的結(jié)構(gòu)、隨著范式級別的提高,數(shù)據(jù)的存儲結(jié)構(gòu)與基于問題域

22、的結(jié)構(gòu) 間的匹配程度也隨之下降,因此,在需求變化時數(shù)據(jù)的穩(wěn)定間的匹配程度也隨之下降,因此,在需求變化時數(shù)據(jù)的穩(wěn)定 性較差。性較差。3 3、范式級別提高則需要訪問的表增多,因此性能、范式級別提高則需要訪問的表增多,因此性能( (速度速度) )將下降。將下降。 從實用角度看來,在大多數(shù)場合選用第三范式都比較恰當(dāng)。從實用角度看來,在大多數(shù)場合選用第三范式都比較恰當(dāng)。 所以,從實用角度看來,在大多所以,從實用角度看來,在大多數(shù)場合選用第三范式都比較恰當(dāng)。數(shù)場合選用第三范式都比較恰當(dāng)。 通常用通常用“范式范式(Normal Forms)”定義消除數(shù)據(jù)冗余的定義消除數(shù)據(jù)冗余的程度。第一范式程度。第一范式(

23、1 NF)數(shù)據(jù)冗余程度最大,第五范式數(shù)據(jù)冗余程度最大,第五范式(5 NF)數(shù)據(jù)冗余程度最小。數(shù)據(jù)冗余程度最小。但是:但是:第第 一一 范范 式式 每個屬性值都必須是原子值,即僅僅是一個簡單值每個屬性值都必須是原子值,即僅僅是一個簡單值 而不含內(nèi)部結(jié)構(gòu)。而不含內(nèi)部結(jié)構(gòu)。 如:第第 二二 范范 式式 滿足第一范式條件,而且每個非關(guān)鍵字屬性都由整滿足第一范式條件,而且每個非關(guān)鍵字屬性都由整 個關(guān)鍵字決定個關(guān)鍵字決定( (而不是由關(guān)鍵字的一部分來決定而不是由關(guān)鍵字的一部分來決定) )。 如:第第 三三 范范 式式 符合第二范式的條件。符合第二范式的條件。 滿足第三范式(滿足第三范式(3NF3NF)必須

24、先滿)必須先滿足第二范式(足第二范式(2NF2NF)。簡而言之,第三范式()。簡而言之,第三范式(3NF3NF)要求一)要求一個數(shù)據(jù)庫表中不包含已在其它表中已包含的非主關(guān)鍵字信個數(shù)據(jù)庫表中不包含已在其它表中已包含的非主關(guān)鍵字信息。息。 例如,存在一個部門信息表,其中每個部門有部門編例如,存在一個部門信息表,其中每個部門有部門編號(號(dept_iddept_id)、部門名稱、部門簡介等信息。那么員工信)、部門名稱、部門簡介等信息。那么員工信息表中列出部門編號后就不能再將部門名稱、部門簡介等息表中列出部門編號后就不能再將部門名稱、部門簡介等與部門有關(guān)的信息再加入員工信息表中。如果不存在部門與部門

25、有關(guān)的信息再加入員工信息表中。如果不存在部門信息表,則根據(jù)第三范式(信息表,則根據(jù)第三范式(3NF3NF)也應(yīng)該構(gòu)建它,否則就會)也應(yīng)該構(gòu)建它,否則就會有大量的數(shù)據(jù)冗余。簡而言之,第三范式就是屬性不依賴有大量的數(shù)據(jù)冗余。簡而言之,第三范式就是屬性不依賴于其它非主屬性。于其它非主屬性。 3.6 3.6 狀態(tài)轉(zhuǎn)換圖狀態(tài)轉(zhuǎn)換圖 狀態(tài)轉(zhuǎn)換圖狀態(tài)轉(zhuǎn)換圖( (簡稱為狀態(tài)圖簡稱為狀態(tài)圖) ) 通過描繪系統(tǒng)的通過描繪系統(tǒng)的狀態(tài)狀態(tài)及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件事件,來表,來表 示系統(tǒng)的示系統(tǒng)的行為行為。此外,狀態(tài)圖還指明了作為特定事件的。此外,狀態(tài)圖還指明了作為特定事件的 結(jié)果系統(tǒng)將做哪些動作結(jié)

26、果系統(tǒng)將做哪些動作( (例如,處理數(shù)據(jù)例如,處理數(shù)據(jù)) )。1). 1). 狀狀 態(tài)態(tài) 狀態(tài)狀態(tài)是任何可以被觀察到的是任何可以被觀察到的系統(tǒng)行為模式系統(tǒng)行為模式,一個狀態(tài)代,一個狀態(tài)代表系統(tǒng)的一種行為模式。表系統(tǒng)的一種行為模式。狀態(tài)規(guī)定了系統(tǒng)對事件的響應(yīng)狀態(tài)規(guī)定了系統(tǒng)對事件的響應(yīng)方式方式。系統(tǒng)對事件的響應(yīng),既可以是做一個。系統(tǒng)對事件的響應(yīng),既可以是做一個( (或一系列或一系列) )動作,也可以是僅僅改變系統(tǒng)本身的狀態(tài),還可以是既動作,也可以是僅僅改變系統(tǒng)本身的狀態(tài),還可以是既改變狀態(tài)又做動作。改變狀態(tài)又做動作。 初態(tài)初態(tài) ( (即初始狀態(tài)即初始狀態(tài)) ) 狀態(tài)狀態(tài) 終態(tài)終態(tài) ( (即最終狀態(tài)即

27、最終狀態(tài)) ) 中間狀態(tài)中間狀態(tài)一張狀態(tài)圖中只能有一個初態(tài),而終態(tài)則可以有一張狀態(tài)圖中只能有一個初態(tài),而終態(tài)則可以有0 0至多個。至多個。2). 2). 事事 件件 事件是在某個特定時刻發(fā)生的事情,它是對引起事件是在某個特定時刻發(fā)生的事情,它是對引起 系統(tǒng)做動作或系統(tǒng)做動作或( (和和) )從一個狀態(tài)轉(zhuǎn)換到另一個狀態(tài)從一個狀態(tài)轉(zhuǎn)換到另一個狀態(tài) 的外界事件的抽象。的外界事件的抽象。 例如,內(nèi)部時鐘表明某個規(guī)定的時間段已經(jīng)過去, 用戶移動或點擊鼠標等都是事件。 簡而言之,簡而言之,事件就是引起系統(tǒng)做動作或事件就是引起系統(tǒng)做動作或( (和和) )轉(zhuǎn)換轉(zhuǎn)換 狀態(tài)的控制信息。狀態(tài)的控制信息。初態(tài)用實心圓

28、初態(tài)用實心圓表示,表示,終態(tài)用一對同心圓終態(tài)用一對同心圓( (內(nèi)圓為實心圓內(nèi)圓為實心圓) )表示。表示。中間狀態(tài)用圓角矩形表示中間狀態(tài)用圓角矩形表示,可以用兩條水平橫線把它分成,可以用兩條水平橫線把它分成上、上、中、下中、下3 3個部分。個部分。上面部分為狀態(tài)的名稱上面部分為狀態(tài)的名稱,這部分是必須有的;,這部分是必須有的;中間部分為狀態(tài)變量的名字和值中間部分為狀態(tài)變量的名字和值,這部分是可選的;,這部分是可選的;下面部分下面部分是活動表是活動表,這部分也是可選的。,這部分也是可選的。3). 3). 符符 號號活動表的語法格式:事件名活動表的語法格式:事件名( (參數(shù)表參數(shù)表)/)/動作表達式

29、動作表達式 其中,其中,“事件名事件名”可以是任何事件的名稱。在活動表中經(jīng)常使用可以是任何事件的名稱。在活動表中經(jīng)常使用下述下述3 3種標準事件:種標準事件:entryentry,exitexit和和dodo。entryentry事件指定進入該狀事件指定進入該狀態(tài)的動作,態(tài)的動作,exitexit事件指定退出該狀態(tài)的動作,而事件指定退出該狀態(tài)的動作,而dodo事件則指定在事件則指定在該狀態(tài)下的動作。需要時可以為事件指定參數(shù)表。活動表中的動該狀態(tài)下的動作。需要時可以為事件指定參數(shù)表。活動表中的動作表達式描述應(yīng)做的具體動作。作表達式描述應(yīng)做的具體動作。3). 3). 符符 號號狀態(tài)圖中兩個狀態(tài)狀態(tài)

30、圖中兩個狀態(tài)之間帶箭頭的連線稱為狀態(tài)轉(zhuǎn)換之間帶箭頭的連線稱為狀態(tài)轉(zhuǎn)換,箭頭指明了轉(zhuǎn)換方向。,箭頭指明了轉(zhuǎn)換方向。狀態(tài)變遷通常是由事件觸發(fā)的,在這種情況下應(yīng)在表示狀態(tài)轉(zhuǎn)換的狀態(tài)變遷通常是由事件觸發(fā)的,在這種情況下應(yīng)在表示狀態(tài)轉(zhuǎn)換的箭頭線上標出觸發(fā)轉(zhuǎn)換箭頭線上標出觸發(fā)轉(zhuǎn)換的事件表達式的事件表達式;如果在箭頭線上未標明事件,則表示在源狀態(tài)的內(nèi)部活動執(zhí)行完之后自動;如果在箭頭線上未標明事件,則表示在源狀態(tài)的內(nèi)部活動執(zhí)行完之后自動觸發(fā)轉(zhuǎn)換。觸發(fā)轉(zhuǎn)換。事件表達式的語法:事件表達式的語法: 事件說明守衛(wèi)條件動作表達式事件說明守衛(wèi)條件動作表達式事件說明事件說明的語法為:事件名的語法為:事件名( (參數(shù)表參數(shù)表

31、) )。守衛(wèi)條件守衛(wèi)條件是一個布爾表達式。如果同時使用事件說明和守衛(wèi)條件,則當(dāng)且僅當(dāng)事件發(fā)生且是一個布爾表達式。如果同時使用事件說明和守衛(wèi)條件,則當(dāng)且僅當(dāng)事件發(fā)生且布爾表達式為真時,狀態(tài)轉(zhuǎn)換才發(fā)生。如果只有守衛(wèi)條件沒有事件說明,則只要守衛(wèi)條件布爾表達式為真時,狀態(tài)轉(zhuǎn)換才發(fā)生。如果只有守衛(wèi)條件沒有事件說明,則只要守衛(wèi)條件為真狀態(tài)轉(zhuǎn)換就發(fā)生。為真狀態(tài)轉(zhuǎn)換就發(fā)生。動作表達式動作表達式是一個過程表達式,當(dāng)狀態(tài)轉(zhuǎn)換開始時執(zhí)行該表達式。是一個過程表達式,當(dāng)狀態(tài)轉(zhuǎn)換開始時執(zhí)行該表達式。3). 3). 符符 號號4). 4). 舉舉 例例電話系統(tǒng)的狀態(tài)圖電話系統(tǒng)的狀態(tài)圖3.7 3.7 其他圖形工具其他圖形工具

32、 層次方框圖層次方框圖 Warnier圖圖 IPO圖圖3.7.1 3.7.1 層次方框圖層次方框圖層次方框圖用層次方框圖用樹形結(jié)構(gòu)的一系列多層次的矩形框樹形結(jié)構(gòu)的一系列多層次的矩形框描繪數(shù)據(jù)的層次描繪數(shù)據(jù)的層次結(jié)構(gòu)。結(jié)構(gòu)。樹形結(jié)構(gòu)的樹形結(jié)構(gòu)的頂層是一個單獨的矩形框頂層是一個單獨的矩形框,它代表完整的數(shù)據(jù)結(jié)構(gòu),它代表完整的數(shù)據(jù)結(jié)構(gòu),下面的各層矩形框代表這個數(shù)據(jù)的子集下面的各層矩形框代表這個數(shù)據(jù)的子集,最底層最底層的各個框代表組的各個框代表組成這個數(shù)據(jù)的成這個數(shù)據(jù)的實際數(shù)據(jù)元素實際數(shù)據(jù)元素( (不能再分割的元素不能再分割的元素) )。隨著結(jié)構(gòu)的精細化,層次方框圖對數(shù)據(jù)結(jié)構(gòu)也描繪得越來越詳細,隨著結(jié)

33、構(gòu)的精細化,層次方框圖對數(shù)據(jù)結(jié)構(gòu)也描繪得越來越詳細,這種模式非常適合于需求分析階段的需要這種模式非常適合于需求分析階段的需要。系統(tǒng)分析員從對頂層。系統(tǒng)分析員從對頂層信息的分類開始,沿圖中每條路徑反復(fù)細化,直到確定了數(shù)據(jù)結(jié)信息的分類開始,沿圖中每條路徑反復(fù)細化,直到確定了數(shù)據(jù)結(jié)構(gòu)的全部細節(jié)時為止。構(gòu)的全部細節(jié)時為止。舉舉 例例領(lǐng)導(dǎo)層輔助決策系統(tǒng)領(lǐng)導(dǎo)層輔助決策系統(tǒng)查詢查詢輔助決策輔助決策物物資資信信息息重重點點供供料料信信息息商商情情信信息息人人員員狀狀況況合合同同監(jiān)監(jiān)視視財財務(wù)務(wù)信信息息計計劃劃執(zhí)執(zhí)行行情情況況工工程程進進展展情情況況超超儲儲低低儲儲情情況況經(jīng)經(jīng)營營指指標標歷歷年年對對比比價價格

34、格預(yù)預(yù)測測物物資資用用量量預(yù)預(yù)測測庫庫存存定定額額核核定定庫庫存存結(jié)結(jié)構(gòu)構(gòu)分分析析經(jīng)經(jīng)濟濟采采購購批批量量保保本本保保利利分分析析3.7.2 3.7.2 Warnier圖圖法國計算機科學(xué)家法國計算機科學(xué)家WarnierWarnier提出了表示信息層次結(jié)構(gòu)的另外提出了表示信息層次結(jié)構(gòu)的另外一種圖形工具。一種圖形工具。WarnierWarnier圖也用樹形結(jié)構(gòu)描繪信息,但是這種圖形工具比層圖也用樹形結(jié)構(gòu)描繪信息,但是這種圖形工具比層次方框圖提供了更豐富的描繪手段。次方框圖提供了更豐富的描繪手段。用用WarnierWarnier圖可以圖可以表明信息的邏輯組織表明信息的邏輯組織。它可以指出一類信息或一

35、個信息元素是它可以指出一類信息或一個信息元素是重復(fù)出現(xiàn)重復(fù)出現(xiàn)的,也可的,也可以表示特定信息在某一類信息中是以表示特定信息在某一類信息中是有條件地出現(xiàn)有條件地出現(xiàn)的。的。重復(fù)和條件約束是說明軟件處理過程的基礎(chǔ),所以很容易重復(fù)和條件約束是說明軟件處理過程的基礎(chǔ),所以很容易把把WarnierWarnier圖轉(zhuǎn)變成軟件設(shè)計的工具。圖轉(zhuǎn)變成軟件設(shè)計的工具。舉舉 例例 圖中表示一種軟件產(chǎn)品圖中表示一種軟件產(chǎn)品要么要么是系統(tǒng)軟件是系統(tǒng)軟件要么要么是應(yīng)用軟件。是應(yīng)用軟件。系統(tǒng)軟件中有系統(tǒng)軟件中有P1P1種操作系統(tǒng),種操作系統(tǒng),P2P2種編譯程序,此外還有軟件種編譯程序,此外還有軟件工具。軟件工具是系統(tǒng)軟件的

36、一種,它又可以進一步細分為工具。軟件工具是系統(tǒng)軟件的一種,它又可以進一步細分為編輯程序、測試驅(qū)動程序和設(shè)計輔助工具,編輯程序、測試驅(qū)動程序和設(shè)計輔助工具,圖中標出了每種圖中標出了每種軟件工具的數(shù)量。軟件工具的數(shù)量。3.7.3 3.7.3 IPO圖圖左邊的框中列出有關(guān)的輸入數(shù)據(jù)。左邊的框中列出有關(guān)的輸入數(shù)據(jù)。中間的框內(nèi)列出主要的處理,處理中間的框內(nèi)列出主要的處理,處理框中列出處理的次序暗示了執(zhí)行的框中列出處理的次序暗示了執(zhí)行的順序,但是用這些基本符號還不足順序,但是用這些基本符號還不足以精確描述執(zhí)行處理的詳細情況。以精確描述執(zhí)行處理的詳細情況。在右邊的框內(nèi)列出產(chǎn)生的輸出數(shù)據(jù)。在右邊的框內(nèi)列出產(chǎn)生

37、的輸出數(shù)據(jù)。在在IPOIPO圖中還用類似向量符號的粗圖中還用類似向量符號的粗大箭頭清楚地指出數(shù)據(jù)通信的情況。大箭頭清楚地指出數(shù)據(jù)通信的情況。一種改進的一種改進的IPO圖圖( (也稱為也稱為IPO表表) )在需求分析階段可以使用在需求分析階段可以使用IPO表表簡略地簡略地描述系統(tǒng)的主要算法描述系統(tǒng)的主要算法( (即數(shù)據(jù)流圖中各個處理的基即數(shù)據(jù)流圖中各個處理的基本算法本算法) )。需求分析階段,需求分析階段,IPO表中的許表中的許多附加信息暫時還不具備,但多附加信息暫時還不具備,但在設(shè)計階段可以進一步補充修在設(shè)計階段可以進一步補充修正這些圖,作為設(shè)計階段的文正這些圖,作為設(shè)計階段的文檔。檔。這正是在需求分析階段用這正是在需求分析階段用IPO表作為描述算法的工具的重要表作為描述算法的工具的重要優(yōu)點。優(yōu)點。3.8 3.8 驗證軟件需求驗證軟件需求驗證軟件需求的正確性,一般應(yīng)從

溫馨提示

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

評論

0/150

提交評論