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