第8章-數(shù)據(jù)庫系統(tǒng)的概要設計_第1頁
第8章-數(shù)據(jù)庫系統(tǒng)的概要設計_第2頁
第8章-數(shù)據(jù)庫系統(tǒng)的概要設計_第3頁
第8章-數(shù)據(jù)庫系統(tǒng)的概要設計_第4頁
第8章-數(shù)據(jù)庫系統(tǒng)的概要設計_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第8章-數(shù)據(jù)庫系統(tǒng)的概要設計第一頁,共31頁。本章要點系統(tǒng)概要設計概述

數(shù)據(jù)庫的概念設計

模塊化設計概要設計的圖形工具系統(tǒng)概要設計說明運用Powerdesigner工具建立概念數(shù)據(jù)模型第二頁,共31頁。目錄8.1系統(tǒng)概要設計概述

8.1.1軟件系統(tǒng)的概要設計

8.1.2數(shù)據(jù)庫系統(tǒng)的概要設計8.2數(shù)據(jù)庫的概念設計

8.2.1數(shù)據(jù)庫概念設計的步驟

8.2.2實體-聯(lián)系圖

8.2.3數(shù)據(jù)抽象、局部視圖的設計

8.2.4視圖的集成8.3模塊化設計

8.3.1模塊化設計的基本原則

8.3.2內(nèi)聚與耦合

8.3.3模塊分解時應遵循的準則8.4概要設計的圖形工具

8.4.1層次圖

8.4.2IPO圖第三頁,共31頁。目錄8.5系統(tǒng)概要設計說明8.6運用Powerdesigner建立概念數(shù)據(jù)模型

8.7應用實例

小結(jié)第四頁,共31頁。8.1系統(tǒng)概要設計概述經(jīng)過需求分析階段以后,已經(jīng)知道系統(tǒng)必須“做什么”了,但還不知道系統(tǒng)該“怎么做”。概要設計的基本目的是要回答“概括地說,系統(tǒng)應該如何做?”這個問題。因此,有時也稱概要設計為初步設計或總體設計。

第五頁,共31頁。8.1.1軟件系統(tǒng)的概要設計軟件系統(tǒng)的生命周期可分為制定計劃、需求分析、設計、程序編制、測試以及運行維護等階段。在軟件系統(tǒng)的開發(fā)過程中,經(jīng)過制定計劃、需求分析階段后,軟件開發(fā)的下一階段就是進行系統(tǒng)設計。系統(tǒng)設計階段通??梢詣澐譃閮蓚€子階段:概要設計和詳細設計。概要設計的主要任務是回答“系統(tǒng)總體上應該如何做?”,即將分析模型映射為具體的軟件系統(tǒng)結(jié)構(gòu),進行模塊劃分,確定每個模塊的功能、接口以及模塊間的調(diào)用關系。詳細設計則將概要設計的結(jié)果具體化,即為每個模塊設計實現(xiàn)的細節(jié)。為了完成系統(tǒng)設計的任務,系統(tǒng)設計人員通常根據(jù)分析階段采用的分析方法的不同,采用不同的設計方法。如針對分析階段系統(tǒng)分析人員采用的分析方法的不同(如面向數(shù)據(jù)建模、面向功能建?;蛎嫦?qū)ο蠼5确椒ǎ?,系統(tǒng)設計的方法也不同(相應的有面向數(shù)據(jù)的設計,面向功能的設計和面向?qū)ο蟮脑O計等)。第六頁,共31頁。1.結(jié)構(gòu)化設計方法的設計步驟:(1)數(shù)據(jù)設計,數(shù)據(jù)設計的任務是從分析階段得到的數(shù)據(jù)流圖和數(shù)據(jù)字典出發(fā),設計出相應的數(shù)據(jù)結(jié)構(gòu)。(2)軟件結(jié)構(gòu)設計,軟件結(jié)構(gòu)設計的任務是定義系統(tǒng)的主要結(jié)構(gòu)元素之間的關系,通常是從數(shù)據(jù)流圖出發(fā),對數(shù)據(jù)流圖進行分析,得出軟件的層次化模塊結(jié)構(gòu)圖。(3)接口設計,軟件結(jié)構(gòu)設計的任務是描述系統(tǒng)內(nèi)部、系統(tǒng)與系統(tǒng)之間以及系統(tǒng)與用戶之間如何進行通信,接口包含數(shù)據(jù)流和控制流信息。(4)過程設計,過程設計是從分析階段得到的過程規(guī)格說明出發(fā),得出系統(tǒng)中各個功能的過程化描述。

第七頁,共31頁。2.面向?qū)ο笤O計方法的設計步驟:(1)對象設計,把所有的對象都歸為各種類,每個類都定義了一組數(shù)據(jù)和方法。數(shù)據(jù)用于表示對象的靜態(tài)屬性,即描述對象的狀態(tài)信息;方法是對象所能執(zhí)行的操作,也就是類中所能提供的服務。(2)子系統(tǒng)設計,子系統(tǒng)設計是根據(jù)實際系統(tǒng)的需要,按照子類(也稱為派生類)和父類(也稱為基類)的關系,可以把若干個類組成一個層次結(jié)構(gòu)的系統(tǒng)。(3)消息設計,消息設計是描述對象之間如何通過傳遞消息進行通信,。(4)方法設計,從系統(tǒng)的功能模型和行為模型出發(fā),得出各個類的方法及其實現(xiàn)細節(jié)。第八頁,共31頁。8.1.2數(shù)據(jù)庫系統(tǒng)的概要設計

對于基于結(jié)構(gòu)化的數(shù)據(jù)庫系統(tǒng)開發(fā)方法而言,數(shù)據(jù)庫系統(tǒng)在完成需求分析之后應進入數(shù)據(jù)庫系統(tǒng)的概要設計階段,此階段不僅需要進行數(shù)據(jù)庫概念結(jié)構(gòu)設計(也可簡稱數(shù)據(jù)庫概念設計)工作,即數(shù)據(jù)庫結(jié)構(gòu)特性設計;而且還需要確定數(shù)據(jù)庫系統(tǒng)的軟件系統(tǒng)結(jié)構(gòu),進行模塊劃分,確定每個模塊的功能、接口以及模塊間的調(diào)用關系,即進行數(shù)據(jù)庫行為特性的設計過程。數(shù)據(jù)庫概念結(jié)構(gòu)設計是將系統(tǒng)需求分析得到的用戶需求抽象為信息結(jié)構(gòu)過程。只有將系統(tǒng)應用需求抽象為信息世界的結(jié)構(gòu),也就是概念結(jié)構(gòu)后,才能轉(zhuǎn)化為機器世界中的數(shù)據(jù)模型,并用DBMS實現(xiàn)這些需求。

第九頁,共31頁。1.數(shù)據(jù)庫概念結(jié)構(gòu)的特點概念結(jié)構(gòu)是獨立于數(shù)據(jù)庫邏輯結(jié)構(gòu)和具體DBMS所支持的數(shù)據(jù)庫,其主要特點是:(1)概念模型是對現(xiàn)實世界的一個抽象描述。概念模型應能真實、充分地反映現(xiàn)實世界,能滿足用戶對數(shù)據(jù)的處理要求。(2)概念模型應當易于理解。概念模型只有被用戶理解后,才可以與設計者交換意見,參與數(shù)據(jù)庫的設計。(3)概念模型應當易于更改。由于現(xiàn)實世界(應用環(huán)境和應用要求)會發(fā)生變化,這就需要改變概念模型,易于更改的概念模型有利于修改和擴充。(4)概念模型應易于向數(shù)據(jù)模型轉(zhuǎn)換概念模型最終要轉(zhuǎn)換為數(shù)據(jù)模型。設計概念模型時應當注意,使其有利于向特定的數(shù)據(jù)模型轉(zhuǎn)換。第十頁,共31頁。2.數(shù)據(jù)庫概念結(jié)構(gòu)設計的方法概念模型是數(shù)據(jù)模型的前身,它比數(shù)據(jù)模型更獨立于機器、更抽象,也更加穩(wěn)定。概念設計的方法有以下4種:(1)自頂向下的設計方法。該方法首先定義全局概念結(jié)構(gòu)的框架,然后逐步細化為完整的全局概念結(jié)構(gòu)。(2)自底向上的設計方法。即首先定義各局部應用的概念結(jié)構(gòu),然后將它們集成起來,得到全局概念結(jié)構(gòu)的設計方法。(3)逐步擴張的設計方法。此方法首先定義最重要的核心概念結(jié)構(gòu),然后向外擴充,生成其他概念結(jié)構(gòu),直至完成總體概念結(jié)構(gòu)。(4)自頂向下與自底向上相結(jié)合的方法。最常采用的策略是自底向上的方法,即自頂向下地進行需求分析,然后再自底向上地設計概念結(jié)構(gòu),其方法如圖8-1所示。其中,概念模式對應于概念模型。第十一頁,共31頁。概念模式概念模式概念模式概念模式概念模式1概念模式n全局概念模式需求需求1需求2需求1.1需求1.2需求2.1需求2.2。。。。。。。。。。需求分析概念結(jié)構(gòu)設計圖8-1自頂向下的分析需求與自底向上設計概念結(jié)構(gòu)

第十二頁,共31頁。8.2數(shù)據(jù)庫的概念設計結(jié)構(gòu)化系統(tǒng)分析和設計方法學強調(diào)系統(tǒng)的功能方面,其本質(zhì)是抽象和功能分解,如前面章節(jié)介紹的數(shù)據(jù)流圖就是一種面向功能的建模方法,自20世紀70年代中期以來,數(shù)據(jù)庫管理系統(tǒng)尤其是關系數(shù)據(jù)庫技術(shù)的應用,使軟件系統(tǒng)的開發(fā)重心開始向系統(tǒng)的數(shù)據(jù)部分轉(zhuǎn)移,而面向數(shù)據(jù)的建模方法使用實體-聯(lián)系圖(EntityRelationshipDiagram,也稱實體-關系圖,簡稱E-R圖)等圖形工具來對客觀世界進行抽象表示,有時也稱為實體-關系建模方法。在一個數(shù)據(jù)庫應用系統(tǒng)的設計中,面向功能的建模方法和面向數(shù)據(jù)的建模方法應相互參照,才能使系統(tǒng)結(jié)構(gòu)特性和行為特性有效地結(jié)合起來,達到系統(tǒng)設計的目標。

第十三頁,共31頁。8.2.1數(shù)據(jù)庫概念設計的步驟E-R模型工具主要用于描述數(shù)據(jù)的概念結(jié)構(gòu)。最常用的策略是自底向上的方法,即自頂向下的需求分析,然后再自底向上的設計概念結(jié)構(gòu)。采取該概念結(jié)構(gòu)的設計步驟按照圖8-2所示的自頂向下分析需求與自底向上設計概念結(jié)構(gòu)方法。

數(shù)據(jù)流圖數(shù)據(jù)字典分E-R圖總E-R圖數(shù)據(jù)抽象、局部視圖的設計視圖集成滿意需求分析邏輯結(jié)構(gòu)設計NoYes圖8-2概念結(jié)構(gòu)的設計步驟第十四頁,共31頁。8.2.2實體-聯(lián)系圖概念結(jié)構(gòu)設計的結(jié)果是數(shù)據(jù)庫的概念模型,它用E-R圖進行描述。E-R圖由三個相互關聯(lián)的部分構(gòu)成:實體(即數(shù)據(jù)實體或數(shù)據(jù)對象)、實體之間的聯(lián)系以及實體和聯(lián)系的屬性。如圖8-3所示,“學生”和“課程”兩個實體之間存在多對多的聯(lián)系.mn選修課程學生圖8-3多對多聯(lián)系第十五頁,共31頁。8.2.3數(shù)據(jù)抽象、局部視圖的設計

概念結(jié)構(gòu)是對現(xiàn)實世界的一種抽象,即對實際的人、物、事和概念進行人為處理,抽取人們關心的共同特性,忽略非本質(zhì)的細節(jié),并把這些特性用各種概念精確地加以描述。因此,用自底向上的方法設計概念結(jié)構(gòu),首先要根據(jù)需求分析的結(jié)果(數(shù)據(jù)流圖、數(shù)據(jù)字典)等對現(xiàn)實世界的數(shù)據(jù)進行抽象,設計各個局部視圖即分E-R圖。設計分E-R圖的步驟是:1.選擇局部應用2.設計分E-R圖

演示第十六頁,共31頁。8.2.4視圖的集成視圖集成就是把設計好的各子系統(tǒng)的分E-R圖綜合成一個系統(tǒng)的總E-R圖。視圖的集成可以有兩種方法:一種方法是多個分E-R圖一次集成,如圖8-8所示;另一種方法是逐步集成,用累加的方法一次集成兩個分E-R圖,如圖8-9所示。圖8-8多個分E-R圖一次集成圖8-9多個分E-R圖逐步集成演示第十七頁,共31頁。8.3模塊化設計把大型軟件按照規(guī)定的原則劃分為一個個較小的、相對獨立但又相關的模塊的設計方法,叫做模塊化設計。模塊是數(shù)據(jù)說明和可執(zhí)行語句等程序?qū)ο蟮募希總€模塊單獨命名并且可以通過名字對模塊進行訪問。例如,過程、函數(shù)、子程序、宏等都可作為模塊。模塊化就是把程序劃分成若干個模塊,每個模塊完成一個子功能,并把這些模塊集合起來組成一個整體,以完成指定的功能來滿足問題的要求。

第十八頁,共31頁。8.3.1模塊化設計的基本原則實現(xiàn)模塊化設計的重要指導思想是分解、信息隱藏和模塊獨立性。

1.分解分解是指將一個待開發(fā)的軟件分解成若干個小的簡單部分——模塊,每個模塊可獨立地開發(fā)、測試,最后組裝成完整的程序。2.信息隱藏信息隱藏是指將每個程序的成分隱蔽或封裝在一個單一的設計模塊中,定義每一個模塊時盡可能少地顯露其內(nèi)部的處理。

3.模塊獨立性模塊獨立是指每個模塊完成一個相對獨立的特定子功能,并且與其他模塊之間的聯(lián)系簡單。模塊獨立就是希望每個模塊都是高內(nèi)聚、低耦合的。

第十九頁,共31頁。8.3.2內(nèi)聚與耦合內(nèi)聚是對模塊內(nèi)部各成分之間關聯(lián)程度的度量。耦合是模塊之間依賴程度的度量。內(nèi)聚和耦合是密切相關的,與其他模塊存在強耦合的模塊通常意味著弱內(nèi)聚,而強內(nèi)聚的模塊通常意味著與其他模塊之間存在弱耦合。模塊劃分的原則是強內(nèi)聚、弱耦合。內(nèi)聚按強度從低到高有以下幾種類型:偶然內(nèi)聚邏輯內(nèi)聚時間內(nèi)聚過程內(nèi)聚通信內(nèi)聚順序內(nèi)聚功能內(nèi)聚

第二十頁,共31頁。耦合按從強到弱的順序可分為以下幾種類型:內(nèi)容耦合公共耦合

控制耦合

數(shù)據(jù)耦合

耦合是影響軟件復雜程度和設計質(zhì)量的一個重要因素,在設計上應采取以下原則:如果模塊間必須存在耦合,就盡量使用數(shù)據(jù)耦合,少用控制耦合,限制公共耦合的范圍,堅決避免使用內(nèi)容耦合。如果模塊間若存在多種耦合方式,它們的耦合類型以耦合最緊的類別確定。

第二十一頁,共31頁。8.3.3模塊分解時應遵循的準則在軟件分解過程中,須遵循以下原則:(1)滿足信息隱蔽原則。(2)盡量使得模塊的內(nèi)聚度高,模塊間的耦合度低。(3)模塊的規(guī)模適中(通常一個模塊以50~100個語句行為宜)(4)模塊的調(diào)用深度不宜過大。(5)模塊的扇人應盡量大,扇出不宜過大。(6)設計單入口和單出口的模塊。

(7)模塊的作用域應在控制域之內(nèi)。(8)模塊的功能應是可以預測的。第二十二頁,共31頁。8.4概要設計的圖形工具一般地,程序中的一個模塊完成一個適當?shù)淖庸δ?。在設計軟件結(jié)構(gòu)(即由模塊組成的層次系統(tǒng))時,應該把模塊組織成良好的層次系統(tǒng),即頂層模塊調(diào)用它的下層模塊以實現(xiàn)程序的完整功能,每個下層模塊再調(diào)用更下層的模塊,從而完成程序的一個子功能,最下層的模塊則完成最具體的功能。軟件結(jié)構(gòu)可以用層次圖或結(jié)構(gòu)圖來描繪。第二十三頁,共31頁。8.4.1層次圖層次圖是在概要設計(也稱總體設計)階段最常使用的圖形工具之一,它常用于描繪軟件的層次結(jié)構(gòu)。層次圖中的每個方框代表一個模塊,方框間的連線表示模塊間的調(diào)用關系。

如圖8-19所示是層次圖的一個例子

。

圖8-19成績管理系統(tǒng)層次圖成績管理系統(tǒng)查詢打印報表查詢課程成批成績單錄入查詢學生成績個別成績單錄入打印班級成績打印成績統(tǒng)計表錄入成績第二十四頁,共31頁。8.4.2IPO圖IPO圖(inputprocessoutput圖)輸入—處理—輸出圖是在層次結(jié)構(gòu)圖的基礎上推出的一種描述系統(tǒng)結(jié)構(gòu)和模塊內(nèi)部處理功能的工具。在總體設計、詳細設計、設計、評審、測試和維護的不同階段,都可以使用IPO圖對設計進行描述。如下圖所示的IPO圖:

模塊名稱:模塊編號:設計人:直接調(diào)用本模塊的上級模塊名稱:本模塊直接調(diào)用的模塊名稱:輸入:輸出:與本模塊相直接關聯(lián)的數(shù)據(jù)結(jié)構(gòu)(數(shù)據(jù)庫、數(shù)據(jù)文卷):處理描述:

第二十五頁,共31頁。8.5系統(tǒng)概要設計說明系統(tǒng)概要設計說明書的主要內(nèi)容,如下所示:1.引言簡述該系統(tǒng)的名稱、目的、功能、背景、工作條件、參考和引用資料。2.系統(tǒng)總體設計方案2.1模塊設計列出系統(tǒng)中各主要功能模塊的名稱、實現(xiàn)的功能和與其他功能模塊的之間的關系。2.2編碼設計說明編碼的方式和種類。2.3輸入設計列出系統(tǒng)所有的輸入項目、輸入的承擔者、主要功能要求、輸入要求和簡述輸入校驗所用的數(shù)據(jù)校驗法和效果。2.4輸出設計列出系統(tǒng)所有的輸出項目、輸出的接受者、主要功能要求和簡述輸出要求(輸出數(shù)據(jù)類型及所用的設備介質(zhì)、格式、數(shù)值范圍、精度等)。3.數(shù)據(jù)庫結(jié)構(gòu)設計3.1概述簡述系統(tǒng)目的、數(shù)據(jù)庫系統(tǒng)實現(xiàn)的主要功能、運行環(huán)境要求。3.2邏輯結(jié)構(gòu)設計簡要說明本系統(tǒng)內(nèi)所使用的數(shù)據(jù)結(jié)構(gòu)中,有關數(shù)據(jù)項、記錄、文件的標識、定義、長度及它們之間的相互關系。4.安全保密設計5.系統(tǒng)出錯處理設計5.1出錯信息5.2補救措施如設置后備、性能降級、恢復及再啟動等

第二十六頁,共31頁。8.6運用Powerdesigner建立概念數(shù)據(jù)模型

在數(shù)據(jù)庫應用系統(tǒng)的設計中采用數(shù)據(jù)庫設計工具和CASE工具,可以提高數(shù)據(jù)庫設計質(zhì)量并減少設計工作量。PowerDesigner的概念數(shù)據(jù)模型(ConceptualDataModel,簡稱CDM)以實體—聯(lián)系(Entity-Relationship,簡稱E-R)理論為基礎,并對這種理論進行了擴充,建立了概念數(shù)據(jù)模型。CDM把現(xiàn)實世界中的信息簡化為實體與實體之間的聯(lián)系,它與數(shù)據(jù)庫管理系統(tǒng)DBMS無關。第二十七頁,共31頁。演示工具欄菜單欄圖表窗口樹型模型瀏覽器輸出窗口結(jié)果列表第二十八頁,共31頁。8.7

溫馨提示

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

評論

0/150

提交評論