軟件工程 北京工業(yè)大學(xué)軟件學(xué)院.ppt_第1頁
軟件工程 北京工業(yè)大學(xué)軟件學(xué)院.ppt_第2頁
軟件工程 北京工業(yè)大學(xué)軟件學(xué)院.ppt_第3頁
軟件工程 北京工業(yè)大學(xué)軟件學(xué)院.ppt_第4頁
軟件工程 北京工業(yè)大學(xué)軟件學(xué)院.ppt_第5頁
已閱讀5頁,還剩114頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、,軟件工程,北京工業(yè)大學(xué)軟件學(xué)院 石振蓮 67396121 ,Unit 3 軟件開發(fā)技術(shù),Unit Objectives,了解并掌握工程軟件開發(fā)的幾種技術(shù)方法 結(jié)構(gòu)化軟件開發(fā)技術(shù) 面向?qū)ο筌浖_發(fā)技術(shù) 專家系統(tǒng)軟件開發(fā)技術(shù),各種方法特點比較,從概念方面看 結(jié)構(gòu)化軟件是功能的集合,通過模塊以及模塊和模塊之間的分層調(diào)用關(guān)系實現(xiàn); 面向?qū)ο筌浖鞘挛锏募希ㄟ^對象以及對象和對象之間的通訊聯(lián)系實現(xiàn); 專家系統(tǒng)軟件是知識的集合,通過知識以及知識和知識之間的邏輯推理關(guān)系實現(xiàn)。,各種方法特點比較(Cont.),從構(gòu)成方面看 結(jié)構(gòu)化軟件過程數(shù)據(jù),以過程為中心; 面向?qū)ο筌浖〝?shù)據(jù)相應(yīng)操作)的封裝,以數(shù)據(jù)為中

2、心; 專家系統(tǒng)軟件知識推理,以知識為中心。,各種方法特點比較(Cont.),從運行控制方面看 結(jié)構(gòu)化軟件采用順序處理方式,由過程驅(qū)動控制; 面向?qū)ο筌浖捎媒换ナ?、并行處理方式,由消息?qū)動控制; 專家系統(tǒng)軟件采用交互式、并行處理方式,由數(shù)據(jù)驅(qū)動控制。,各種方法特點比較(Cont.),從開發(fā)方面看 結(jié)構(gòu)化方法的工作重點是設(shè)計; 面向?qū)ο蠓椒ǖ墓ぷ髦攸c是分析; 專家系統(tǒng)方法的工作重點是知識的獲取與表達(dá)。,各種方法特點比較(Cont.),從應(yīng)用方面看 結(jié)構(gòu)化方法更加適合數(shù)據(jù)類型比較簡單的數(shù)值計算和數(shù)據(jù)統(tǒng)計管理軟件的開發(fā); 面向?qū)ο蠓椒ǜ舆m合大型復(fù)雜的人機交互式軟件和數(shù)據(jù)統(tǒng)計管理軟件的開發(fā); 專家系

3、統(tǒng)方法更加適合邏輯推理型軟件的開發(fā)。,各種方法特點比較(Cont.),從發(fā)展方面看,面向?qū)ο蠓椒ㄊ擒浖_發(fā)方法的發(fā)展方向。,結(jié)構(gòu)化軟件開發(fā)技術(shù),結(jié)構(gòu)化分析技術(shù) 結(jié)構(gòu)化設(shè)計技術(shù) 結(jié)構(gòu)化實現(xiàn)技術(shù),分析:問題是什么 設(shè)計:怎樣解決 實現(xiàn):解決分析 確定數(shù)據(jù)流圖(DFD) 建立結(jié)構(gòu)圖(SC) 過程設(shè)計 分析確定實體聯(lián)系圖(ERD) 建立關(guān)系數(shù)據(jù)模式(RM) 編碼調(diào)試 運行維護(hù),Where are we ?,結(jié)構(gòu)化分析技術(shù) 結(jié)構(gòu)化設(shè)計技術(shù) 結(jié)構(gòu)化實現(xiàn)技術(shù),結(jié)構(gòu)化分析技術(shù)內(nèi)容和任務(wù),采用結(jié)構(gòu)化分析(Structured Analysis ,SA)技術(shù)對問題進(jìn)行分析建模,將問題表述為: + 數(shù)據(jù)流圖問題空間

4、中數(shù)據(jù)變換處理之間的邏輯關(guān)系 實體聯(lián)系圖問題空間中數(shù)據(jù)存貯之間的邏輯關(guān)系,數(shù)據(jù)流圖,實體聯(lián)系圖,結(jié)構(gòu)化分析技術(shù)內(nèi)容和任務(wù),結(jié)構(gòu)化分析工作內(nèi)容及步驟,例:大學(xué)教務(wù)管理問題,問題描述: 接受學(xué)生提交的學(xué)生證和申請單 根據(jù)學(xué)生檔案情況檢驗學(xué)生證的有效性和申請單是否填寫的正確 如果有誤則謝絕,如果無誤則根據(jù)學(xué)生的注冊記錄情況審查接收學(xué)生的申請要求 如果是申請注冊,則進(jìn)行注冊登記 如果是申請選課,則先查詢課程檔案是否有滿足申請要求的課程,如果有則進(jìn)行選課登 記,如果沒有則通知學(xué)生無此課,結(jié)構(gòu)化分析技術(shù)數(shù)據(jù)流圖(DFD),大學(xué)教務(wù)管理問題數(shù)據(jù)流圖,數(shù)據(jù)流圖(DFD)基本數(shù)據(jù)流圖,畫數(shù)據(jù)流圖時,需注意:,是

5、畫數(shù)據(jù)流圖而不是畫程序框圖 對于很多人來說,通過學(xué)習(xí)計算機語言已經(jīng)比較熟悉程序框圖了,在畫數(shù)據(jù)流圖時很容易將它們搞混。 程序框圖是從對數(shù)據(jù)進(jìn)行加工的角度描述系統(tǒng)的,其箭頭是控制流,表示的是對數(shù)據(jù)進(jìn)行加工的次序,它用于描述怎樣解決問題; 數(shù)據(jù)流圖則是從數(shù)據(jù)的角度來描述系統(tǒng)的,其箭頭是數(shù)據(jù)流,表示的是數(shù)據(jù)的流動方向,它用于描述是什么問題。,畫數(shù)據(jù)流圖時,需注意:(Cont.),數(shù)據(jù)流及加工的命名 通常是先為數(shù)據(jù)流命名,然后再為加工命名。 在給數(shù)據(jù)流命名時,應(yīng)避免使用象“數(shù)據(jù)”、“輸入”之類的缺乏具體含義的名字; 在給加工命名時,理想的做法是取由一個具體的及物動詞加一個具體的賓語構(gòu)成的名字,如果必須

6、用兩個動詞,則可以考慮將這個加工再分解成兩個加工。 在命名時,所取的名字應(yīng)適合整個數(shù)據(jù)流或加工,而不是僅僅反映它的某些成分。 如果發(fā)現(xiàn)某個數(shù)據(jù)流或加工難以命名,那么很可能是數(shù)據(jù)流圖分解不當(dāng)造成的,此時應(yīng)該考慮重新分解數(shù)據(jù)流圖。,數(shù)據(jù)流圖(DFD)分層數(shù)據(jù)流圖,對于比較復(fù)雜的實際問題,在數(shù)據(jù)流圖上常常出現(xiàn)十幾個乃至幾十個、上百個加工,這樣的數(shù)據(jù)流圖看起來很不清楚。采用層次結(jié)構(gòu)的數(shù)據(jù)流圖則能很好地解決這個問題。,系統(tǒng)加工 S,數(shù)據(jù)輸入,數(shù)據(jù)輸出,I1,In,O1,Om,分層數(shù)據(jù)流圖,在畫分層數(shù)據(jù)流圖應(yīng)考慮的問題:,編號 為便于管理和閱讀,要對每個層次上的圖及其加工進(jìn)行編號。層次編號自上而下分別為頂

7、層圖(系統(tǒng)圖)、0層圖、1層圖、等等。各層圖的關(guān)系為父子關(guān)系,下層圖為子圖,上層圖為父圖。子圖的編號就是其父圖中相應(yīng)加工的編號;子圖中加工的編號由子圖號、小數(shù)點和局部號組成。在這種編號中,圖號中的小數(shù)點的個數(shù)就是該圖所在的層次號,最后一個小數(shù)點前的號碼就是其父圖的編號。 例如,編號為3.2.1的圖,是2層圖中的一個子圖,其父圖 編號為3.2。,在畫分層數(shù)據(jù)流圖應(yīng)考慮的問題:,父圖和子圖的數(shù)據(jù)平衡 子圖是父圖的細(xì)化,因此,子圖的輸入、輸出數(shù)據(jù)流應(yīng)和父圖中相應(yīng)加工的輸入、輸出數(shù)據(jù)流一致。,在畫分層數(shù)據(jù)流圖應(yīng)考慮的問題:,分解的程度 對一個加工進(jìn)行細(xì)化分解,一次分解成兩個或三個加工,可能需要的層次過

8、多;但分解得過多又難于讓人理解。,分解的程度(Cont.),在進(jìn)行重新分解時,可按下述步驟進(jìn)行: 把需要重新分解的數(shù)據(jù)流圖的所有子圖拼接成一張圖; 把新拼接成的圖分成幾個部分,使各部分之間的聯(lián)系最少; 重新建立父圖,把圖中的每一部分畫成一個圓圈,各部分之間的聯(lián)系就是加工間的界面了; 重新建立各張子圖,這只需要把所得的各個部分分開即可; 為所有的加工重新命名和編號。,在畫分層數(shù)據(jù)流圖應(yīng)考慮的問題:,圖表格式 對于一個較大的系統(tǒng)來說,其數(shù)據(jù)流圖可能多達(dá)十幾張、幾十張,一般都將它們裝訂成冊。為了方便收集、整理和閱讀,可以設(shè)計一個類似圖表進(jìn)行格式化。 假設(shè)大學(xué)教務(wù)管理系統(tǒng)是大學(xué)教學(xué)管理系統(tǒng)0層數(shù)據(jù)流圖

9、中的第2個子加工,是1層數(shù)據(jù)流圖中的一 個子圖。,圖表格式,數(shù)據(jù)流圖圖表格式,數(shù)據(jù)流圖數(shù)據(jù)流圖的改進(jìn)(1),檢查數(shù)據(jù)流圖的正確性 數(shù)據(jù)是否守恒 數(shù)據(jù)存貯的使用是否恰當(dāng) 父圖和子圖的是否平衡 提高數(shù)據(jù)流圖的易理解性 簡化加工間的聯(lián)系 保持分解的均勻性 適當(dāng)命名,數(shù)據(jù)流圖數(shù)據(jù)流圖的說明,數(shù)據(jù)詞典(Data Dictionary,簡稱DD) 數(shù)據(jù)流 數(shù)據(jù)存貯 加工,數(shù)據(jù)流圖說明數(shù)據(jù)詞典,大學(xué)教務(wù)管理問題: (D01) 學(xué)生證 = 學(xué)號+密碼 (D02) 申請單 = 學(xué)號+(課程號+選課學(xué)期) (D03) 謝絕 = “非法證件”|”不合格單“|”證單不符“ (D04) 注冊 = 學(xué)號 (D05) 選課

10、 = 學(xué)號 + 課程號+選課學(xué)期 (D06)無此課 = 學(xué)號+課程號 + “無此課” (D07) 注冊記錄無效=學(xué)號+”注冊無效“ (d01.1) 學(xué)號 = “00000001”.”99999999” (d01.2) 密碼 = “000001” .”999999” (d02.2) 課程號 =1英文字母4+”0001”.”9999” (d02.3) 選課學(xué)期 = “0001”.”9999”+“春季”|”秋季”,數(shù)據(jù)流圖說明數(shù)據(jù)詞典,數(shù)據(jù)存貯表示 文件形式 文件組成數(shù)據(jù)項 (F1)借書記錄 = 證號+姓名+書號+書名+借書日期 (F2)庫存書目 = 書號+書名+”庫存總數(shù)“+”現(xiàn)庫存數(shù) (F1.5

11、)借書日期 = 日期 文件組織方式 借書記錄=按借書日期先后排列 庫存書目=按書名先后排列 數(shù)據(jù)庫形式,數(shù)據(jù)流圖說明數(shù)據(jù)詞典,加工表示 結(jié)構(gòu)化語言 判定表 判定樹,結(jié)構(gòu)化語言 加工編號:2.1 加工名: 檢驗 加工邏輯:讀入“學(xué)生證”及“申請單”,檢驗“學(xué)生證”的有效性和“申請單”的合格性,如果檢驗均通過則讓“申請單”通過,否則輸出“謝絕”,判定表 描述一些結(jié)構(gòu)化語言不易表達(dá)清楚的加工邏輯 旅游時間 79月,12月 16月,10月,11月 訂票量 50 50 折扣量 5% 15% 20% 30%,判定樹,訂票量50: 15% 79,12月 訂票量50: 30% 16,10,11月 訂票量=50

12、: 20%,結(jié)構(gòu)化分析技術(shù)實體聯(lián)系圖(Entity-Relationship DiagramER),數(shù)據(jù)流圖描述了系統(tǒng)的邏輯結(jié)構(gòu),數(shù)據(jù)流圖中的有關(guān)加工及數(shù)據(jù)流和文件的含義可用數(shù)據(jù)詞典具體定義說明,但是對于比較復(fù)雜的數(shù)據(jù)及其之間的關(guān)系,用它們是難以描述的,在這種情況下一般采用實體聯(lián)系圖進(jìn)行描述。 實體聯(lián)系圖 (Entity-Relationship Diagram,簡稱ER圖),可用于描述數(shù)據(jù)流圖中數(shù)據(jù)存貯及其之間的關(guān)系,它是數(shù)據(jù)庫概念設(shè)計的最常用的工具。,實體聯(lián)系圖基本實體聯(lián)系圖,大學(xué)教務(wù)處教務(wù)管理問題實體聯(lián)系圖,實體聯(lián)系圖的基本成分,實體 獨立實體 從屬實體,聯(lián)系 實體之間的各種關(guān)系。 例如

13、,“學(xué)生”與“課程”之間有“選課”的關(guān)系。這種實體和實體之間的關(guān)系被抽象為聯(lián)系。 在實體聯(lián)系圖中,聯(lián)系用菱形框表示,聯(lián)系可以是一對一(1:1),一對多(1:N)或多對多(M:N)的,這一點在實體聯(lián)系圖中 也應(yīng)說明。 例如在大學(xué)教務(wù)管理問題中,“學(xué)生”與“課程”是多對多的“選課”聯(lián)系聯(lián)系。,屬性 實體一般具有若干特征,這些特征就稱為實體的屬性。 主鍵 外鍵 屬性域 屬性值,實體屬性圖,實體聯(lián)系圖擴充實體聯(lián)系圖,以實體、聯(lián)系和屬性等基本概念為基礎(chǔ)的實體聯(lián)系圖是基本實體聯(lián)系圖。為了滿足新的應(yīng)用需求和表達(dá)更多的語義,實體聯(lián)系圖歷經(jīng)了不少擴充。,擴充的實體聯(lián)系圖(Extended ERD),分類,擴充了

14、分類概念的擴充實體聯(lián)系圖 有U符號的線表示特殊化 ;圓圈中的d表示不相交特殊化,o表示重迭特殊化;在必要的時候,可雙線表示全特殊化,單線表示部分特殊化。其中,在職進(jìn)修生既是教職工,又是學(xué)生,因此它有教職工和學(xué)生兩個超實體,繼承了它們的屬性。,擴充的實體聯(lián)系圖(Extended ERD),聚集 在基本實體聯(lián)系圖中,只有實體參與聯(lián)系,聯(lián)系不能參與聯(lián)系。在擴充實體聯(lián)系圖中,可以把聯(lián)系與參與聯(lián)系的實體組合成一個新的實體,這個新的實體稱為參與聯(lián)系的實體的聚集,它的屬性就是參與聯(lián)系的實體的屬性和聯(lián)系的屬性的合并。有了聚集這個抽象概念,聯(lián)系也就可以參與聯(lián)系了。,擴充的實體聯(lián)系圖(Extended ERD),

15、聚集的應(yīng)用,實體聯(lián)系圖視圖及其集成,大學(xué)教務(wù)處教務(wù)管理問題實體聯(lián)系圖,實體聯(lián)系圖視圖及其集成,研究生院教務(wù)管理視圖,實體聯(lián)系圖視圖及其集成,大學(xué)教務(wù)管理系統(tǒng)中的學(xué)生檔案實體,實體聯(lián)系圖視圖及其集成,大學(xué)教務(wù)管理系統(tǒng)中的課程檔案實體,實體聯(lián)系圖視圖及其集成,修改后的大學(xué)教務(wù)管理系統(tǒng)實體聯(lián)系圖,實體聯(lián)系圖實體聯(lián)系圖屬性說明,實體聯(lián)系圖中的屬性可以利用前面介紹的數(shù)據(jù)詞典方法加以說明。在進(jìn)行說明時,如果屬性與數(shù)據(jù)流中的相關(guān)數(shù)據(jù)相同,則應(yīng)引用數(shù)據(jù)流中的相應(yīng)定義,而不應(yīng)重新定義,這樣可以避免因同一數(shù)據(jù)定義二次而出現(xiàn)多義性的現(xiàn)象。,實體聯(lián)系圖實體聯(lián)系圖屬性說明,例如,對于大學(xué)教務(wù)管理問題中的實體聯(lián)系圖,其屬

16、性定義 說明如下 E1: 學(xué)生檔案 (E1.01) 學(xué)號d01.1 (E1.02) 姓名1漢字20 (E1.03) 性別男|女 (E1.04) 出生日期日期 (E1.05) 入學(xué)日期日期 (E1.06) 系別1漢字24 (E1.04.1) 日期0000.9999/01.12/01.31,E1.1: 研究生 (e1.1.01) 導(dǎo)師姓名 (e1.1.02) 碩博士生碩士生|博士生 E1.2: 本科生 (e1.2.01) 班級1漢字400000.99999,E2:注冊記錄 (E2.01) 學(xué)號E1.01 (E2.02) 注冊日期日期,E3: 課程檔案 (E3.01) 課程號d02.2 (E3.02

17、) 課程名1漢字24 (E3.03) 學(xué)分1.19 (E3.04) 開課學(xué)期秋季|春季 (E3.05) 任課教師 姓名,E3.1: 研究生課 (e3.1.01) 是否學(xué)位課是|否 E3.2: 本科生課 (e3.2.01) 是否必修課是|否,E4:選課單 (E4.1) 學(xué)號E1.01 (E4.2) 課程號E3.01 (E4.3) 選課學(xué)期d02.3,結(jié)構(gòu)化設(shè)計技術(shù),分析:問題是什么 設(shè)計:怎樣解決 實現(xiàn):解決分析 確定數(shù)據(jù)流圖(DFD) 建立結(jié)構(gòu)圖(SC) 過程設(shè)計 分析確定實體聯(lián)系圖(ERD) 建立關(guān)系數(shù)據(jù)模式(RM) 編碼調(diào)試 運行維護(hù),Where are we ?,結(jié)構(gòu)化分析技術(shù) 結(jié)構(gòu)化設(shè)

18、計技術(shù) 結(jié)構(gòu)化實現(xiàn)技術(shù),結(jié)構(gòu)化設(shè)計技術(shù),內(nèi)容與任務(wù) 程序結(jié)構(gòu) 數(shù)據(jù)庫結(jié)構(gòu),結(jié)構(gòu)化設(shè)計技術(shù)內(nèi)容與任務(wù),結(jié)構(gòu)化軟件開發(fā)方法采用結(jié)構(gòu)化設(shè)計技術(shù)進(jìn)行問題解決方 案的設(shè)計工作,將問題的解決方案表述為 結(jié)構(gòu)圖關(guān)系數(shù)據(jù)模式 結(jié)構(gòu)圖描述軟件系統(tǒng)的程序結(jié)構(gòu) 關(guān)系數(shù)據(jù)模式描述軟件系統(tǒng)的數(shù)據(jù)庫結(jié)構(gòu) 結(jié)構(gòu)化設(shè)計工作主要包括程序結(jié)構(gòu)設(shè)計和數(shù)據(jù)庫結(jié)構(gòu)設(shè)計,結(jié)構(gòu)化設(shè)計技術(shù)內(nèi)容與任務(wù),結(jié)構(gòu)化設(shè)計工作內(nèi)容和步驟,結(jié)構(gòu)化設(shè)計技術(shù)程序結(jié)構(gòu),程序結(jié)構(gòu)或程序物理結(jié)構(gòu)是對要解決的問題或要設(shè)計的系統(tǒng)的一種分層的表示方法,它指出了組成程序(系統(tǒng))的各個元素(即各個模塊)以及它們之間的關(guān)系。程序結(jié)構(gòu)是從需求分析階段定義的分析模型導(dǎo)出的。 程序

19、結(jié)構(gòu)隱含著控制層次的關(guān)系,但不表示程序的具體算法或過程關(guān)系,即不表示諸如處理的順序,選擇的出現(xiàn)和次序、操作的重復(fù)循環(huán)等。程序結(jié)構(gòu)通常用結(jié)構(gòu)圖的形式表示。,結(jié)構(gòu)圖,結(jié)構(gòu)圖中的主要成分有: (1),模塊:以矩形框表示,框中標(biāo)有模塊的名字。對于已定義(或者已開發(fā))的模塊,則可以用雙縱邊矩形框表示,咨詢成績,打印出錯信息,結(jié)構(gòu)圖中的主要成分有: (2),模塊間的調(diào)用關(guān)系:兩個模塊,一上一下,以箭頭相聯(lián),上面的模塊是調(diào)用模塊,箭頭指向的模塊是被調(diào)用模塊,結(jié)構(gòu)圖中的主要成分有:(3),模塊間的通訊:以表示調(diào)用關(guān)系的長箭頭旁邊的短箭頭表示,短箭頭的方向和名字分別表示調(diào)用模塊和被調(diào)用模塊之間信息的傳遞方向和內(nèi)

20、容。,結(jié)構(gòu)圖中的主要成分有:(4),輔助控制符號:當(dāng)模塊A有條件的調(diào)用模塊B時,在箭頭的起點標(biāo)以菱形。模塊A反復(fù)地調(diào)用模塊D時,另加一環(huán)狀箭頭,變換型問題,變換型問題,基本變換型問題數(shù)據(jù)流圖及其結(jié)構(gòu)圖,變換型問題結(jié)構(gòu)圖,事務(wù)型問題,事務(wù)型問題結(jié)構(gòu)圖,混合型問題,混合型問題數(shù)據(jù)流圖及其結(jié)構(gòu)圖,分析評價和改進(jìn),分析評價程序結(jié)構(gòu)的聚合性和耦合性,提高程序模塊的獨立性 分析評價結(jié)構(gòu)圖的深度、寬度、扇出和扇入,改善程序結(jié)構(gòu)的形態(tài)特性 分析模塊的作用域和控制域,使作用域在控制域之內(nèi) 擬定模塊的接口,降低接口的復(fù)雜性和冗于度,改善一致性 分析模塊的功能,保證模塊的可驗證性 恰當(dāng)?shù)卣莆談澐帜K的大小,模塊說明

21、,功能說明 描述模塊的主要任務(wù)、條件決策和輸入輸出,并且著重說明處理中重要的算法或過程,它應(yīng)是無歧義的和有限度的。 接口說明 列出通過參數(shù)表傳遞的數(shù)據(jù)、外界的輸入輸出、從全程數(shù)據(jù)區(qū)取得的數(shù)據(jù)項、上級模塊名和下級模塊名。 局部的和全局的數(shù)據(jù)結(jié)構(gòu)說明 包括采用數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)名、數(shù)據(jù)結(jié)構(gòu)的類型、是局部的還是全局的,等等。 所有設(shè)計約束和限制說明 包括數(shù)據(jù)類型或數(shù)據(jù)格式的限制、內(nèi)存容量或時間的限制、數(shù)據(jù)結(jié)構(gòu)的值、沒有考慮的特定情況以及某個模塊的專門特性,等等。,最終所得到的程序模塊應(yīng)具有以下基本屬性: (1) 名字。 (2) 明確的功能。 (3) 內(nèi)部使用的數(shù)據(jù)或局部數(shù)據(jù)。 (4) 與其它模塊相聯(lián)系的

22、輸入或輸出數(shù)據(jù)。 (5) 實現(xiàn)其特定功能的算法。 (6) 可被其上級模塊調(diào)用,也可在其工作過程中調(diào)用下屬模塊。,大學(xué)教務(wù)管理系統(tǒng)中的“檢索課程”模塊的說明如下: 模塊名:檢索課程 功能:根據(jù)上層模塊傳送過來的課程號和選課學(xué)期在數(shù)據(jù)庫中檢索滿足條件的課程,如果檢索到了 則返回課程號,否則給出“無此課”信息并返回“空值(NULL)”。 函數(shù)接口:SearchingCourse(CourseID, Semester) 數(shù)據(jù)接口:課程檔案 局部數(shù)據(jù):CourseID課程號,輸入 Semester: 選課學(xué)期,輸入/輸出 上級模塊:選課登記 從屬模塊:無,結(jié)構(gòu)化設(shè)計技術(shù)數(shù)據(jù)庫結(jié)構(gòu),數(shù)據(jù)存貯可以采用兩種方

23、式實現(xiàn),一種是文件形式,另一種是數(shù)據(jù)庫形式。如果采用數(shù)據(jù)庫形式,那么在設(shè)計階段,還必須進(jìn)行數(shù)據(jù)庫設(shè)計。 在分析階段確定的實體聯(lián)系圖實際上是對數(shù)據(jù)庫的概念結(jié)構(gòu)進(jìn)行了設(shè)計,設(shè)計階段的主要任務(wù)則是進(jìn)行數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計。數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計是在概念結(jié)構(gòu)設(shè)計的基礎(chǔ)上,將與數(shù)據(jù)庫管理系統(tǒng)無關(guān)的實體聯(lián)系圖轉(zhuǎn)換成以數(shù)據(jù)庫管理系統(tǒng)的邏輯數(shù)據(jù)模型表示的邏輯模式。目前最常用的邏輯數(shù)據(jù)模型是關(guān)系數(shù)據(jù)模型,因此本節(jié)主要討論實體聯(lián)系圖向關(guān)系數(shù)據(jù)模型的轉(zhuǎn)換。,結(jié)構(gòu)化設(shè)計技術(shù)數(shù)據(jù)庫結(jié)構(gòu),關(guān)系數(shù)據(jù)模型 關(guān)系數(shù)據(jù)模式 外模式,數(shù)據(jù)庫結(jié)構(gòu)關(guān)系數(shù)據(jù)模型,現(xiàn)實世界中的事物或?qū)ο罂梢越栌萌舾蓚€特征來表示,這些特征稱為屬性;每個屬性對

24、應(yīng)著一個取值的范圍和集合,稱為該屬性的域 。 關(guān)系就是定義在事物或?qū)ο蟮乃袑傩杂蛏系亩嘣P(guān)系。關(guān)系R的一般形式為 R(A1, A2, ., An) 其中,R為關(guān)系的名,A1、A2、. 、An 為關(guān)系的屬性, 也就是它所描述的事物的屬性。n是 R的屬性個數(shù),稱為關(guān)系的目。R的值用r或r(R)表示,稱為關(guān)系的元組。 關(guān)系R的屬性Ai可 以表示為R.Ai。,病人名冊 床號 姓名 性別 出生日期入院時間住院原因 530406 李大力 男 1945.2.18 1996.4.5 右小腿骨折 640603 張小英 女 1965.8.6 1996.5.21肺炎 .,如果用關(guān)系數(shù)據(jù)模型來表示這張表格,則表名和

25、表頭表示為 病人名冊(床號,姓名,性別,年齡,入院時間,住院原因 ) 這就是所謂的關(guān)系,其中病人名冊是關(guān)系的名,床號、姓 名、性別、年齡等等是關(guān)系的屬性。 表中的記錄表示為 ,數(shù)據(jù)庫結(jié)構(gòu)關(guān)系數(shù)據(jù)模式,用關(guān)系數(shù)據(jù)模型表示的事物或?qū)ο蠓Q為該事 物或?qū)ο蟮年P(guān)系數(shù)據(jù)模式。 從實體聯(lián)系圖設(shè)計建立關(guān)系數(shù)據(jù)模式 實體和聯(lián)系可以轉(zhuǎn)換成關(guān)系 實體和聯(lián)系的屬性可以轉(zhuǎn)換成關(guān)系的屬性,關(guān)系和屬性的命名 屬性域和非原子屬性的處理 聯(lián)系的轉(zhuǎn)換 分類的轉(zhuǎn)換 聚集的轉(zhuǎn)換,聯(lián)系的轉(zhuǎn)換,一對一聯(lián)系,E1是全參與,而E2是全參與或部分參與,則可以將其轉(zhuǎn)換為 R1(k, a, h, s);R2(h, b),E2是全參與,而 E1是全

26、參與或部分參與,則可以轉(zhuǎn)換為 R1(k, a);R2(h, b, k, s),Employee(EmployeeNo, EmployeeName) Department(DepartmentNo, DepartmentName, EmployeeNo, PeriodInChief),聯(lián)系的轉(zhuǎn)換,一對多聯(lián)系,E2是全參與,則可以轉(zhuǎn)換成 R1(k, a);R2(h, b, k, s),E2是部分參與,則必須可轉(zhuǎn)換成如下三個關(guān)系 R1(k, a);R2(h, b);R3(h, k, s),Couple(CoupleNo, HusbandName, WifeName) Younger(YoungerN

27、o, Name, Sex, CoupleNo),聯(lián)系的轉(zhuǎn)換,多對多聯(lián)系,R1(k, a);R2(h, b);R3(h, k, s),聯(lián)系的轉(zhuǎn)換,多元聯(lián)系,R1(k, a) R2(h, b) R3(j, c) R4(h, k, j, s),關(guān)系和屬性的命名 屬性域和非原子屬性的處理 聯(lián)系的轉(zhuǎn)換 分類的轉(zhuǎn)換 聚集的轉(zhuǎn)換,分類的轉(zhuǎn)換,R(k, a) R1(k, a1, b1) R2(k, a2, b2),關(guān)系和屬性的命名 屬性域和非原子屬性的處理 聯(lián)系的轉(zhuǎn)換 分類的轉(zhuǎn)換 聚集的轉(zhuǎn)換,聚集的轉(zhuǎn)換,R1(k, a) R2(h, b) R3(j , c) R4(k, h, s1) R5(k, h, j, s2),數(shù)據(jù)庫結(jié)構(gòu)外模式,所謂外模式,就是用戶應(yīng)用程序使用的數(shù)據(jù)模式,它可以是邏輯模式的子集,也可以是結(jié)構(gòu)和形式上不同于邏輯模式的數(shù)據(jù)

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論