《軟件需求分析》PPT課件.ppt
《《軟件需求分析》PPT課件.ppt》由會員分享,可在線閱讀,更多相關《《軟件需求分析》PPT課件.ppt(110頁珍藏版)》請在裝配圖網上搜索。
2020年5月19日,廣東工業(yè)大學計算機學院,1,軟件工程SoftwareEngineering,2020/5/19,廣東工業(yè)大學計算機學院,2,第4章軟件需求分析,本章內容:4.1需求分析4.2結構化分析4.3系統(tǒng)流程圖4.4數據流圖4.5數據字典4.6關系數據理論,2020/5/19,廣東工業(yè)大學計算機學院,3,,4.1需求分析需求分析是軟件定義時期的最后一個階段,其基本任務是回答“系統(tǒng)必須做什么”這個問題。需求分析不是確定系統(tǒng)怎樣完成工作,而是確定系統(tǒng)必須完成哪些工作。對目標系統(tǒng)提出完整、準確的具體要求。需求分析階段結束時,要提交詳細的數據流圖、數據字典和算法描述。,2020/5/19,廣東工業(yè)大學計算機學院,4,4.1.1需求分析的特點,需求分析雖處于軟件開發(fā)過程的開始階段,但它對于整個軟件開發(fā)過程以及軟件產品質量是至關重要的。需求分析是指開發(fā)人員要進行細致的調查分析,準確理解用戶的要求。將用戶非形式的需求陳述轉化為完整的需求定義,再由需求定義轉換到相應的形式功能規(guī)約的過程。,2020/5/19,廣東工業(yè)大學計算機學院,5,,需求分析的難點主要體現在以下幾個方面:1.需求易變性用戶在開始時提出一些功能需求,當對系統(tǒng)有一定的理解后,會提出一些需求。以后隨著理解的深入而不斷提出新的需求。2.問題的復雜性一方面是由用戶需求所涉及的因素繁多引起的,如運行環(huán)境和系統(tǒng)功能等;另一方面是擴展的應用領域本身的復雜性。,2020/5/19,廣東工業(yè)大學計算機學院,6,,3.交流障礙需求分析涉及人員較多,系統(tǒng)分析員要與軟件系統(tǒng)用戶、問題領域專家、需求工程師和項目管理員等進行交流。但是這些人具備不同的背景知識,處于不同的角度,扮演不同角色,造成了相互之間交流的困難。,2020/5/19,廣東工業(yè)大學計算機學院,7,,4.不完備性和不一致性由于用戶各類人員對于系統(tǒng)的要求所處的角度不一樣,所以對問題的陳述往往是不完備的,其各方面的需求還可能存在著矛盾。需求分析要消除其矛盾,形成完備及一致的定義。,2020/5/19,廣東工業(yè)大學計算機學院,8,,為了克服需求分析的困難,人們展開的各種研究都是圍繞著需求分析的方法、自動化工具(如CASE技術)及形式化需求分析等方面進行研究。需求分析的方法在應用中已有豐富的應用經驗。,2020/5/19,廣東工業(yè)大學計算機學院,9,4.1.2需求分析的原則,為使需求分析科學化,對軟件工程的分析階段中提出了許多需求分析方法。許多軟件需求分析方法都有獨特的觀點和表示法,但都適用下面的基本原則:(1)可以把一個復雜問題按功能進行分解并可逐層細化。(2)必須能夠表達和理解問題的數據域和功能域。(3)建立模型。所謂模型就是所研究對象的一種表達形式。,2020/5/19,廣東工業(yè)大學計算機學院,10,4.1.3需求分析的任務,需求分析的基本任務是要準確地理解舊系統(tǒng),定義新系統(tǒng)的目標。需求分析的任務還不是確定系統(tǒng)怎樣完成它的工作,僅僅是確定系統(tǒng)要完成哪些工作,也就是對系統(tǒng)提出完整、準確、清晰、具體的要求。這個時期的工作可以從可行性階段的數據流圖等文檔出發(fā),劃分出系統(tǒng)必須完成的許多基本功能,研究這些功能并進一步具體化。,2020/5/19,廣東工業(yè)大學計算機學院,11,,1.問題明確定義(1)功能需求:指所開發(fā)的軟件必須具備什么樣的功能。(2)性能需求:要開發(fā)軟件的技術性能指標,如訪問時延、存儲容量、運行時間等限制。(3)環(huán)境需求:軟件運行時所需要的硬件的機型、外設;軟件的操作系統(tǒng)、開發(fā)與維護工具和數據庫管理系統(tǒng)等要求。,2020/5/19,廣東工業(yè)大學計算機學院,12,,(4)用戶界面需求:用戶操縱界面的形式、輸入/輸出數據格式、數據傳遞的載體等。(5)系統(tǒng)的可靠性、安全性、可移植性和可維護性等方面的需求。,2020/5/19,廣東工業(yè)大學計算機學院,13,,2.導出軟件的邏輯模型分析人員根據前面獲取的需求資料,要進行一致性的分析檢查,在分析、綜合中逐步細化軟件功能,劃分成各個子功能。同時對數據域進行分解,并分配到各個子功能上,以確定系統(tǒng)的構成及主要成分。最后要用圖文結合的形式,建立起新系統(tǒng)的邏輯模型。,2020/5/19,廣東工業(yè)大學計算機學院,14,,3.編寫文檔通過分析確定了系統(tǒng)必須具有的功能和性能,定義了系統(tǒng)中的數據,描述了數據處理的主要算法。應該把分析的結果用正式的文件記錄下來,作為最終軟件的部分材料。編寫文檔的步驟如下:(1)編寫“需求說明書”,把雙方共同的理解與分析結果用規(guī)范的方式描述出來,作為今后各項工作的基礎。,2020/5/19,廣東工業(yè)大學計算機學院,15,,(2)編寫初步用戶使用手冊,要從用戶使用系統(tǒng)的角度來描述系統(tǒng)的用戶要求。(3)編寫確認測試計劃,作為今后確認和驗收的依據。(4)修改完善項目開發(fā)計劃。,2020/5/19,廣東工業(yè)大學計算機學院,16,4.1.4需求分析的方法,需求分析就是研究問題域,產生一個滿足用戶需求的系統(tǒng)模型。這個系統(tǒng)模型應能正確地描述問題域和系統(tǒng)責任,并使后續(xù)開發(fā)階段的有關人員能根據這個模型繼續(xù)進行工作。軟件分析方法比較多,其中最有影響的是功能分解法、數據流法、信息建模法和面向對象的分析。,2020/5/19,廣東工業(yè)大學計算機學院,17,,1.功能分解方法功能分解=功能+子功能+功能接口功能分解法(functiondecomposition)以系統(tǒng)需要提供的功能為中心來組織系統(tǒng)。首先定義各種功能,然后把功能分解為子功能,同時定義功能之間的接口。,2020/5/19,廣東工業(yè)大學計算機學院,18,,2.結構化分析方法結構化分析=數據流+數據處理(加工)+數據存儲+端點+處理說明+數據字典,2020/5/19,廣東工業(yè)大學計算機學院,19,,結構化分析又稱作數據流法(dataflowapproach)。其基本策略是跟蹤數據流,即研究問題域中數據如何流動以及在各個環(huán)節(jié)上進行何種處理,從而發(fā)現數據流和加工(bubble)。結構化分析方法是一種從問題空間到某種表示的映射方法,它由數據流圖表示,是結構化方法中重要的、被普遍接受的表示系統(tǒng),它由數據流圖和數據詞典構成。,2020/5/19,廣東工業(yè)大學計算機學院,20,,3.信息建模方法信息建模=實體(對象)+屬性+關系+父類型/子類型+關聯(lián)對象,2020/5/19,廣東工業(yè)大學計算機學院,21,,信息建模法(informationmodeling)由P.P.S.Chen在1976年提出的實體-關系法(Entity-Relationshipdesign,簡稱E-R方法)發(fā)展而來。1981年M.Flavin進行了改進并稱之為信息建模法。1988年由S.Shlaer和S.Mellor發(fā)展為語義數據建模方法并引入了許多面向對象的特點。信息建模法的核心概念是實體和關系。該方法的基本工具是E–R圖,其基本要素由實體、屬性和聯(lián)系構成。該方法的基本策略是從現實世界中找出實體,然后再用屬性來描述這些實體。,2020/5/19,廣東工業(yè)大學計算機學院,22,,4.面向對象的分析面向對象=對象、類+結構與連接+繼承+封裝+消息通信以上公式僅僅表示面向對象分析方法中幾項最重要的特征,全面的論述將在后面展開。簡單說來,OOA的對象是對問題域中事物的完整映射,包括事物的數據特征(屬性)和行為特征(服務)。,2020/5/19,廣東工業(yè)大學計算機學院,23,4.2結構化分析,在結構化方法的發(fā)展歷程上,它是隨著結構化程序設計(StructuredProgramming,簡稱SP)方法的提出、結構化設計(StructuredDesign,簡稱SD)方法的出現直到結構化分析(StructuredAnalysis,簡稱SA)方法提出才逐漸形成的。結構化方法是分析、設計到實現都使用結構化思想的軟件開發(fā)方法,實際上它由三部分組成:結構化分析、結構化設計和結構化程序設計。,2020/5/19,廣東工業(yè)大學計算機學院,24,,1.基本思想結構化方法總的指導思想是自頂向下、逐步求精,它的兩個基本原則是抽象與分解。2.特點結構化方法具有以下特點:(1)它是使用最早的開發(fā)方法,使用時間也最長。(2)它應用最廣,特別適合于數據處理。(3)相應的支持工具多,發(fā)展較為成熟。,2020/5/19,廣東工業(yè)大學計算機學院,25,,3.優(yōu)點結構化方法一經問世,就顯示出了它的以下幾大優(yōu)點:(1)簡單、實用。(2)適合于瀑布模型,易為開發(fā)者掌握。(3)成功率較高,據美國1000家公司統(tǒng)計,該方法的成功率高達90.2%,名列第二,僅次于面向對象的方法。(4)特別適合于數據處理領域中的應用,對其他領域的應用也基本適用。,2020/5/19,廣東工業(yè)大學計算機學院,26,,4.存在問題結構化方法存在以下一些問題:(1)對于規(guī)模大的項目,特別復雜的應用不太適應。(2)難以解決軟件重用的問題。(3)難以適應需求的變化。(4)難以徹底解決維護問題。,2020/5/19,廣東工業(yè)大學計算機學院,27,4.2.1自頂向下逐層分解,把一個復雜的問題劃分成若干小問題,然后再分別解決,將問題的復雜性降低到人可以掌握的程度。分解的方法可分層進行,方法原理是先考慮問題最本質的方面,忽略細節(jié),形成問題的高層概念。然后再逐層添加細節(jié)。即在分層過程中采用不同程度的“抽象”級別,最高層的問題最抽象,而低層的較為具體。,2020/5/19,廣東工業(yè)大學計算機學院,28,,,2020/5/19,廣東工業(yè)大學計算機學院,29,,當認為某一層比較復雜時到底應該劃分為多少個子系統(tǒng),針對不同的系統(tǒng)的處理不同。劃分的原則可以根據業(yè)務工作的范圍、功能性質、被處理數據對象的特點。一般情況下上面一些層的劃分往往按照業(yè)務類型劃分的比較多,下面一些層往往按照功能的劃分比較多。依照這個策略,對于任何復雜的系統(tǒng),分析工作都可以有計劃、有步驟及有條不紊地進行。,2020/5/19,廣東工業(yè)大學計算機學院,30,4.2.2結構化分析步驟,要對一個系統(tǒng)進行結構化分析,首先要明確這一階段的任務是要搞清楚“做什么”。為此就要對現行系統(tǒng)有一定了解,在此基礎上修改要變化的部分而形成新系統(tǒng)。具體步驟如下:1.建立現行系統(tǒng)的物理模型通過了解現行系統(tǒng)的工作過程,對現行系統(tǒng)進行詳細調查,收集資料,將看到的、聽到的、收集到的信息和情況用圖形或文字描述出來。也就是用一個模型來反映自己對現行系統(tǒng)的理解,如畫系統(tǒng)流程圖(后面介紹)。這一模型包含了許多具體因素,反映現實世界的實際情況。,2020/5/19,廣東工業(yè)大學計算機學院,31,,2.抽象出現行系統(tǒng)的邏輯模型要構造新的邏輯模型就要去掉物理模型中非本質的因素(如物理因素),抽取出本質的因素。這種邏輯模型反映了現行系統(tǒng)“做什么”的功能。,2020/5/19,廣東工業(yè)大學計算機學院,32,,3.建立目標系統(tǒng)的邏輯模型有了現行系統(tǒng)的邏輯模型后,就將目標系統(tǒng)與現行系統(tǒng)邏輯進行分析,比較其差別,即在現行系統(tǒng)的基礎上決定變化的范圍,把那些要改變的部分找出來,將變化的部分抽象為一個加工,這個加工的外部環(huán)境及輸入輸出就確定了。,2020/5/19,廣東工業(yè)大學計算機學院,33,,4.進一步補充和優(yōu)化目標系統(tǒng)的邏輯模型只是一個主體,為了完整地描述目標系統(tǒng),還要作一些補充。補充的內容包括它所處的應用環(huán)境及它與外界環(huán)境的相互聯(lián)系;說明目標系統(tǒng)的人機界面;說明至今尚未詳細考慮的環(huán)節(jié)。如出錯處理、輸入/輸出格式、存儲容量和響應時間等性能要求與限制。,2020/5/19,廣東工業(yè)大學計算機學院,34,4.3系統(tǒng)流程圖,如何描述該系統(tǒng)的概貌,系統(tǒng)流程圖是描述的傳統(tǒng)工具。其基本思想是用圖形符號以黑盒方式描述系統(tǒng)的每個部件。系統(tǒng)流程圖表達的是系統(tǒng)各部件間的流動情況,不是對信息進行加工處理的控制過程。,2020/5/19,廣東工業(yè)大學計算機學院,35,,1.系統(tǒng)流程圖的作用系統(tǒng)流程圖由一系列圖形符號組成。這些符號在不同的文獻中引用也不一樣。但是都是用圖形符號來表示系統(tǒng)中的各個元素。例如,輸入和輸出、人工處理、數據處理、數據庫、文件和設備等。它表達了系統(tǒng)中各個元素之間的信息流動的情況。,2020/5/19,廣東工業(yè)大學計算機學院,36,,2.系統(tǒng)流程圖的符號項目小組開始工作時,制定的系統(tǒng)標準包括各種表示符號。,2020/5/19,廣東工業(yè)大學計算機學院,37,,,2020/5/19,廣東工業(yè)大學計算機學院,38,,3.系統(tǒng)流程圖的示例下面以某企業(yè)的庫房管理為例,說明系統(tǒng)流程圖的使用。,2020/5/19,廣東工業(yè)大學計算機學院,39,,某企業(yè)有一個庫房,存放該廠生產需要的物品,庫房中的各種物品的數量及各種物品庫存量臨界值等數據記錄在庫存文件上,當庫房中物品數量有變化時,應更新庫存文件。若某種物品的庫存量少于庫存臨界值,則報告采購部門以便其訂貨,每天向采購部門送一份采購報告。,2020/5/19,廣東工業(yè)大學計算機學院,40,,庫存管理系統(tǒng)的系統(tǒng)流程圖,2020/5/19,廣東工業(yè)大學計算機學院,41,4.4數據流圖,數據流圖(DataFlowDiagram,簡稱DFD)是結構化分析的最基本的工具。數據流圖描述系統(tǒng)的分解,即描述系統(tǒng)由哪幾部分組成,各部分之間有什么聯(lián)系等。因為數據流圖是邏輯系統(tǒng)的圖形表示,即使是非計算機專業(yè)的人員也能理解,所以是極好的通信工具。它以圖形的方式描繪數據在系統(tǒng)中流動和處理的過程。由于它只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模型。,2020/5/19,廣東工業(yè)大學計算機學院,42,,飛機機票預訂系統(tǒng),2020/5/19,廣東工業(yè)大學計算機學院,43,4.4.1基本圖形符號,數據流圖要應用一些符號,有些表示的意義相同但是符號不一樣。歸納起來數據流圖只有四種基本符號元素:數據流(DataFlow)、數據處理(Process)、數據存儲(DataStore)和外部實體(ExternalEntity)。,2020/5/19,廣東工業(yè)大學計算機學院,44,,→:箭頭,表示數據流?!穑簣A或橢圓,表示加工。=:雙杠,表示數據存儲?!酰悍娇?,表示數據的源點或終點。,2020/5/19,廣東工業(yè)大學計算機學院,45,,數據流基本元素的三種不同表示,2020/5/19,廣東工業(yè)大學計算機學院,46,,1.數據流用箭頭表示數據流,箭頭方向表示數據流向,數據流名標在數據流線上面。2.加工加工也稱為數據處理,或稱為變換,是對數據進行處理的單元。,2020/5/19,廣東工業(yè)大學計算機學院,47,,3.數據存儲數據存儲是由若干數據元素組成的,它為數據處理提供數據處理所需要的輸入流或為數據處理的輸出數據流提供儲存“倉庫”。4.數據源點和終點任何一個系統(tǒng)的邊界定義后,就有系統(tǒng)內外之分,一個系統(tǒng)總會與系統(tǒng)外部的實體有聯(lián)系。這種聯(lián)系的重要形式就是數據。數據源點和終點是軟件系統(tǒng)外部環(huán)境中的實體(包括人員、組織或其他軟件系統(tǒng)),統(tǒng)稱外部實體。,2020/5/19,廣東工業(yè)大學計算機學院,48,4.4.2畫數據流圖,用數據流圖來表示系統(tǒng)中某一個層面的數據處理過程是很方便的。如果將一個復雜問題的全部用一幅數據流圖來表示就困難了。為了表達較為復雜問題的數據處理過程,用一張數據流圖是不夠的。要按照問題的層次結構進行逐步分解,并以一套分層的數據流圖反映這種結構關系。,2020/5/19,廣東工業(yè)大學計算機學院,49,,1.畫系統(tǒng)的輸入/輸出把系統(tǒng)視為一個整體,看這個整體與外界的聯(lián)系。分析有哪些內容是要通過外界獲取的,就是系統(tǒng)的輸入;有哪些是要向外界提供服務的,就是系統(tǒng)的輸出。畫系統(tǒng)的輸入/輸出即先畫頂層數據流圖。,2020/5/19,廣東工業(yè)大學計算機學院,50,,飛機機票預訂系統(tǒng)頂層圖,2020/5/19,廣東工業(yè)大學計算機學院,51,,2.畫系統(tǒng)內部數據流圖主要是用于描述系統(tǒng)內部的處理過程。描述系統(tǒng)內部即畫下層數據流圖。一般方法是將層號從0開始編號,采用自頂向下,由外向內的原則。,2020/5/19,廣東工業(yè)大學計算機學院,52,,飛機機票預訂系統(tǒng)0層圖,2020/5/19,廣東工業(yè)大學計算機學院,53,,3.注意事項在軟件的系統(tǒng)分析之前,系統(tǒng)的技術負責要制訂一個系統(tǒng)的標準。其內容之一就是畫數據流圖的規(guī)范。畫數據流圖要注意以下幾點:(1)命名:在畫數據流圖中,不論數據流、數據存儲還是加工的命名要合適,要易于理解其含義。(2)在畫數據流圖時要注意不是畫控制流。,2020/5/19,廣東工業(yè)大學計算機學院,54,,(3)每個加工至少有一個輸入數據流和一個輸出數據流,反映出此加工數據的來源與加工的結果。(4)加工點的編號:如果一張數據流圖中的某個加工點要分解成另一張數據流圖時,則上層圖為父圖,直接下層圖為子圖,父、子圖上的所有加工都應編號。,2020/5/19,廣東工業(yè)大學計算機學院,55,,父圖與子圖的編號,2020/5/19,廣東工業(yè)大學計算機學院,56,,(5)系統(tǒng)分析中要區(qū)別物流和數據流。(6)在數據流圖表示系統(tǒng)的數據流向時,一般都要用到父圖與子圖來描述不同的層次。父圖與子圖的平衡,2020/5/19,廣東工業(yè)大學計算機學院,57,,(7)在分層處理的過程中,當某層數據流圖中的數據存儲不是父圖中相應加工的外部接口,而只是本圖中某些加工之間的數據接口,則稱這些數據存儲為局部數據存儲。(8)數據流圖作為以后設計和與用戶交流的基礎,其易理解性極為重要。,2020/5/19,廣東工業(yè)大學計算機學院,58,,不同的系統(tǒng)分析員使用符號的差別,2020/5/19,廣東工業(yè)大學計算機學院,59,,基本符號畫出的等價于圖4-3的數據流圖。,2020/5/19,廣東工業(yè)大學計算機學院,60,,4.4.3結構化分析方法的應用某企業(yè)中技術開發(fā)管理系統(tǒng)0層數據流圖,2020/5/19,廣東工業(yè)大學計算機學院,61,,0層加工分解的結果之一,,2020/5/19,廣東工業(yè)大學計算機學院,62,,0層圖加工分解的結果之二。,2020/5/19,廣東工業(yè)大學計算機學院,63,,0層圖加工分解的結果之3、4、5、6見書。下圖是對1.1的分解,,2020/5/19,廣東工業(yè)大學計算機學院,64,4.5數據字典,數據字典(DataDictionary,簡稱DD)是關于數據的信息的集合,是對數據流圖中包含的所有元素的定義的集合。數據字典就是用來定義數據流圖中的各個成分的具體含義的,它以一種準確的、無二義性的說明方式為系統(tǒng)的分析、設計及維護提供了有關元素的一致的定義和詳細的描述。,2020/5/19,廣東工業(yè)大學計算機學院,65,4.5.1內容及格式,數據字典是為分析人員查找數據流圖中有關名字的詳細定義而服務的,因此也像普通字典一樣,要把所有條目按一定的次序排列起來,以便查閱。數據流和數據字典共同構成系統(tǒng)的邏輯模型。,2020/5/19,廣東工業(yè)大學計算機學院,66,,1.數據流條目要定義DFD中的數據流就要用數據流條目。定義方法通常列出該數據流的各組成數據項。在定義數據流或數據存儲組成時,要用到一些符號。下面給出在數據字典的定義式中出現的符號。(1)=:被定義為。(2)+:與。例如,X=a+b表示x由a或b組成。,2020/5/19,廣東工業(yè)大學計算機學院,67,,(3)[…│…]:或。例如,X=[a│b]表示x由a和b組成。(4){…}:重復。例如,X={a}表示x由0個或多個a組成。(5)m{…}n或{…}nm:重復。例如:X=2{a}5或X={a}52表示x中最少出現2次a,最多出現5次a。5,2為重復次數的上、下限。,2020/5/19,廣東工業(yè)大學計算機學院,68,,(6)(…):可選。例如,x=(a)表示a可在x中出現,也可不出現。(7)“…”:基本數據元素。例如,x=“a”,表示x是取值為字符a的數據元素。(8)“”:連接符。例如,x=19,表示x可取1到9中任意一個值。,2020/5/19,廣東工業(yè)大學計算機學院,69,,例如:機票=姓名+日期+航班號+始發(fā)地+目的地+費用姓名={字母}182航班號=“CZ9938”“CZ9948”目的地=[上海│北京│廣州]數據流條目主要內容及舉例如下:數據流名稱:訂單。別名:無。簡述:旅客訂票時填寫的項目。,2020/5/19,廣東工業(yè)大學計算機學院,70,,來源:旅客。去向:加工1“檢驗訂單”。數據流量:2000份/每周。組成:編號+訂票日期+旅客編號+地址+電話+銀行賬號+預訂日期+目的地+數量。其中數據流量指單位時間內(每小時或每天或每周或每月)的傳輸次數。,2020/5/19,廣東工業(yè)大學計算機學院,71,,2.數據項條目數據流的組成成員是數據項,數據項條目是不可再分解的數據單位。例如:數據項名稱:貨物編號。別名:W—No,W—num,GW—No。簡述:公司內部所有貨物的編號。類型:字符串。長度:10。取值范圍及含義:第1位:進口/國產。第2~4位:類別。第5~7位:規(guī)格。第8~10位:產品編號。,2020/5/19,廣東工業(yè)大學計算機學院,72,,3.數據存儲條目與數據流條目一樣。對存儲數據的定義用數據存儲條目。例如:數據存儲名稱:顧客記錄。別名:無。簡述:存放顧客的信息。組成:姓名+編號+航班+目的地+身份證號碼。組織方式:索引文件,以姓名編號為關鍵字。查詢要求:要求能立即查詢。,2020/5/19,廣東工業(yè)大學計算機學院,73,,4.加工條目在DFD中有許多基本加工的處理邏輯。這些加工處理邏輯的說明是用加工條目。例如:加工名:能否提供機票。編號:1.2。激發(fā)條件:接收到合格訂票單時。優(yōu)先級:普通。,2020/5/19,廣東工業(yè)大學計算機學院,74,,輸入:合格訂單。輸出:能提供機票、不能提供機票。加工邏輯:根據庫存記錄。IF訂單項目的數量<該項目庫存量的臨界值THEN提供機票處理ELSE此訂單缺票,登錄,待有票后再處理ENDIF,2020/5/19,廣東工業(yè)大學計算機學院,75,4.5.2數據字典的實現,數據字典除了概念和技術上的問題外,工作量是非常大的。由于是系統(tǒng)的一項基礎工作,所以數據字典的實現因環(huán)境的不同而采用不同的實現方法。早期人們用手工建立數據字典,現在一般是利用計算機輔助建立并維護數據字典。步驟如下:(1)編制一個“字典生成與管理程序”,可以按規(guī)定的格式輸入各類條目,能對字典條目增、刪、改,能打印出各類查詢報告和清單,能進行完整性、一致性檢查等。,2020/5/19,廣東工業(yè)大學計算機學院,76,,(2)利用已有的數據庫開發(fā)工具,針對數據字典建立一個數據庫文件,可將數據流、數據項、數據存儲和加工分別以矩陣表的形式來描述各個表項的內容,如數據流的矩陣表為:,,2020/5/19,廣東工業(yè)大學計算機學院,77,,然后使用開發(fā)工具建成數據文件,便于修改、查詢,并可隨時打印出來。另外,有的DBMS本身包含一個數據字典子系統(tǒng),建庫時能自動生成數據字典。目前一些軟件開發(fā)小組都習慣于用計算機中小的數據庫軟件作為數據字典的實現工具。最方便的可以用微軟的Access和Excel。計算機輔助開發(fā)數據字典比手工建立數據字典有更多的優(yōu)點,能保證數據的一致性和完整性,使用也方便。,2020/5/19,廣東工業(yè)大學計算機學院,78,4.6關系數據理論,4.6.1數據依賴在關系型數據庫理論中,用數據依賴來描述關系中屬性之間的相互關系。1.函數依賴(FunctionalDependency,簡稱FD)如果在關系R中,數據元素Y的取值依賴于數據元素X的取值,那么稱為Y函數依賴X,或者稱為X決定Y,記作X→Y。,2020/5/19,廣東工業(yè)大學計算機學院,79,,例如,在學生檔案數據庫中,學生的姓名、出生日期、住址等屬性均由學生的學號決定。當學號確定了之后,該學號所代表的學生的其他屬性也就隨之確定了。也可以說,姓名、出生日期、住址等屬性函數依賴于學號。,2020/5/19,廣東工業(yè)大學計算機學院,80,,2.多值依賴(MultivaluedDependency,簡稱MVD)在多值依賴(表示為X→→Y,讀作X多值決定Y,或Y多值依賴于X)中,對于給定的X值,其對應的是Y的一組數值(其個數可以從零到多個),而且這種對應關系,對于給定的X值所對應的(U—X—Y)的每一個值都能成立。,2020/5/19,廣東工業(yè)大學計算機學院,81,,多值依賴的定義如下:設X、Y是關系模式R的屬性集,如果對于R的任何值r,都有如下的性質,則稱R滿足X→→Y。如果r中存在兩個元組s、t,使得:s[X]=t[X]則r中必然存在兩個元組s、t,使得:u[X]=v[X]=s[X]=t[X]u[Y]=t[Y]且u[U—X—Y]=s[U—X—Y]v[Y]=s[Y]且v[U—X—Y]=t[U—X—Y],2020/5/19,廣東工業(yè)大學計算機學院,82,,即交換s、t的Y值所得的兩個元組必在r中。如果X→→Y,而U—X—Y=φ,即U=XY,則稱X→→Y為平凡的多值依賴。函數依賴可以看成多值依賴的特例。,2020/5/19,廣東工業(yè)大學計算機學院,83,4.6.2關系模式的操作異常,如果有一個不合理的關系模式,那么就可能造成許多操作上的問題。例如,一個借書情況的記錄關系模式如下:借書(書名,讀者姓名,讀者部門,借出日期)如果借出一本書,那么加入一條借書記錄,還書之后則刪除該記錄。在這個關系模式中,由于借書記錄和讀者本人的基本情況存于一個模式中,存在下列一些操作異常問題:,2020/5/19,廣東工業(yè)大學計算機學院,84,,(1)數據冗余。每借出一本書就要重復輸入讀者部門。如果一個人借了許多本書,那么就得為其保存許多相同的讀者姓名和部門值。表中就有許多重復的數據內容,也造成了存儲空間的浪費。(2)更新異常。由于為讀者保存了多個部門的數據內容,如果在一個元組中更改了部門,但是沒有同時更改讀者在其他元組中的讀者姓名和部門,那么一個讀者就會有兩個不同的部門。,2020/5/19,廣東工業(yè)大學計算機學院,85,,(3)插入異常。如果一個讀者沒有借過書,借書數據庫中就無法將其記錄。因此,也就無法記錄該讀者的姓名和部門。(4)刪除異常。當一個讀者將其借出的書全部歸還之后,讀者的姓名和部門也隨之全部刪除,那么有關讀者的全部信息也就全部丟失了。,2020/5/19,廣東工業(yè)大學計算機學院,86,4.6.3范式,只有滿足一定的條件關系模式,才能避免操作異常。關系模式要滿足的條件稱為規(guī)范化形式,簡稱為范式。1.第一范式(1NF)第一范式要求元組中的每一個數據項都不能再分割,都是原子項,記作1NF。簡單地說,1NF就是要求在二維表中的每一個元素都是單一的、不可再分的數據。,2020/5/19,廣東工業(yè)大學計算機學院,87,,下表中由于工資還可以細分,所以不符合1NF的要求。,2020/5/19,廣東工業(yè)大學計算機學院,88,,下表就符合1NF的要求,2020/5/19,廣東工業(yè)大學計算機學院,89,,2.第二范式(2NF)在關系R中,如果X→Y,并且對于X的任何一個真子集X’,都有X’Y,則稱Y對X完全函數依賴。如果一個關系模式符合第一范式(1NF),并且每一個非關鍵字屬性都完全依賴于主關鍵字,那么就可認為該關鍵模式符合第二范式,簡記為2NF。,2020/5/19,廣東工業(yè)大學計算機學院,90,,例如:借書(書名、讀者姓名、讀者部門、借書日期)在這個示例中,由書名和讀者姓名構成復合關鍵字作為非主關鍵字屬性的讀者部門,只是部分函數依賴于主關鍵字,而不是完全依賴于整個主關鍵字,所以不符合2NF的要求。,2020/5/19,廣東工業(yè)大學計算機學院,91,,3.第三范式(3NF)如果在一個符合第二范式的關系模式中,所有非關鍵字屬性之間不存在函數依賴關系,那么稱該關系模式符合第三范式,簡記為3NF。3NF的實質是從符合2NF的關系模式中除去傳遞依賴。,2020/5/19,廣東工業(yè)大學計算機學院,92,,例如,如果職員工資關系模式如下:職員工資(*姓名、工資級別、基本工資)在上面這個關系模式中,非關鍵字屬性為工資級別和基本工資,而基本工資函數依賴于工資級別,因此存在著傳遞依賴,所以該關系模式不符合3NF形式。為了滿足3NF形式,必須將傳遞依賴從關系模式中分離出去,例如:職員工資(*姓名、工資級別)工資級別對照(*工資級別、基本工資),2020/5/19,廣東工業(yè)大學計算機學院,93,,4.第四范式(4NF)第四范式(4NF)要求關系模式至少符合3NF,并且在關系模式中沒有超過一個的多值事實。例如,職員的孩子和職員選修的課程。下表表示兩個多值事實。,2020/5/19,廣東工業(yè)大學計算機學院,94,,,2020/5/19,廣東工業(yè)大學計算機學院,95,,對數據的增刪很不方便,數據的冗余也十分明顯??梢詫⑦@種關系模式分解成下面的形式。,2020/5/19,廣東工業(yè)大學計算機學院,96,,,2020/5/19,廣東工業(yè)大學計算機學院,97,,5.第五范式(5NF)至今為止,范式的規(guī)則非常嚴格,其目的是使由關系所表示的事實更清楚。雖然第五范式(5NF)要多解釋一些,但是也有一個規(guī)則:符合第五范式(5NF)的表不能分解成兩個或者多個表(每一個表都有一個主鍵,這是原表主鍵的真子集),而不丟失信息。,2020/5/19,廣東工業(yè)大學計算機學院,98,,假設下列有關銷售代理、產品和公司的規(guī)則是:如果某個銷售代理賣掉了一定數量的產品,并且該銷售代理代表制造該產品的公司,那么該銷售代理為該公司銷售產品,下表表示這種規(guī)則。,2020/5/19,廣東工業(yè)大學計算機學院,99,,但是根據定義,各關系不符合第五范式。它可以分解成下面三種關系,而不丟失任何信息銷售代理和公司的關系,2020/5/19,廣東工業(yè)大學計算機學院,100,,銷售代理和所銷售產品的關系,2020/5/19,廣東工業(yè)大學計算機學院,101,,制造公司和所制造產品的關系,2020/5/19,廣東工業(yè)大學計算機學院,102,,6.范式之間的關系前面介紹過,一個低一級范式的關系模式,通過分解方法轉換為若干個高一級范式的關系模式的集合。也可以講任何一個高層的范式,總是能夠滿足低層的范式。為了提高范式的程度,必須對較低層的范式的關系模式進行分解,即將一個低層的關系模式分解成幾個更小、更緊湊的關系模式,通常是一個關系模式描述一類實體或者實體之間的關系。,2020/5/19,廣東工業(yè)大學計算機學院,103,4.6.4EAR方法,1.EAR圖EAR圖是由美籍華人陳平山于1976年提出的,使用的基本圖符如下:(1):實體,在框內注實體名。(2):聯(lián)系,在框內注聯(lián)系名。(3):屬性,在圓內注屬性名。(4):無向邊,將實體與相關的屬性和聯(lián)系相連。,2020/5/19,廣東工業(yè)大學計算機學院,104,,下圖表示了讀書借閱系統(tǒng)中的員工、書目這兩種不同實體。,2020/5/19,廣東工業(yè)大學計算機學院,105,,零件實體、供應商實體和工程實體可以通過供應發(fā)生關聯(lián),2020/5/19,廣東工業(yè)大學計算機學院,106,,EAR圖還可以表達更加復雜的關系。下圖描述了一個三元關系,,2020/5/19,廣東工業(yè)大學計算機學院,107,,2.EAR方法向關系數據庫轉換由于EAR方法是一種不依賴于任何一種數據庫管理系統(tǒng)的更抽象、更概念化的描述工具。因此,EAR方法并不直接形成關系數據模型,需要把EAR圖表示的概念結構轉換為關系數據模型的邏輯結構。(1)實體每一個實體均轉換為一個關系模式,即一個二維表,其屬性則成為二維表中的列。,2020/5/19,廣東工業(yè)大學計算機學院,108,,(2)聯(lián)系一個1:1聯(lián)系可以轉換為一個獨立的關系模式,也可以與任意一端對應的關系模式合并。一個1:n聯(lián)系可以轉換一個獨立的關系模式,也可以與n端對應的關系模式合并。一個m:n聯(lián)系轉換一個關系模式。三個或三個以上實體間的一個多元聯(lián)系可以轉換為一個關系的模式。,2020/5/19,廣東工業(yè)大學計算機學院,109,,例如,在圖4-26中,部門與員工之間的聯(lián)系是1∶n,即一個部門有多名員工,而一名員工只屬于一個部門。,,2020/5/19,廣東工業(yè)大學計算機學院,110,謝謝,- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 軟件需求分析 軟件 需求 分析 PPT 課件
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
鏈接地址:http://m.jqnhouse.com/p-12725987.html