【正文】
的規(guī)劃階段包括 3 個步驟,我們在后續(xù)的 3 個小節(jié)中討論它們。信息工程的規(guī)劃階段產(chǎn)生信息系統(tǒng)體系結(jié)構(gòu),包括企業(yè)數(shù)據(jù)模型。自頂向下規(guī)劃可使開發(fā)人員更全面地規(guī)劃信息系統(tǒng),提供一種考慮系統(tǒng)組件集成的方法,增進(jìn)對信息系統(tǒng)與業(yè)務(wù)目標(biāo)的關(guān)系的理解,加深對信息系統(tǒng)在整個組織中的影響的理解。因為信息工程是面向數(shù)據(jù)的,所 以當(dāng)你開始理解數(shù)據(jù)庫是怎樣被標(biāo)識和定義時,信息工程的一種簡潔的解釋是非常有幫助的。信息工程是一種正式的和流行的方法。 事件的原因和數(shù)據(jù)處理的規(guī)則(經(jīng)常以文本形式顯示,但是也存在一些用于規(guī)劃的圖表工具,如決策表)。 人,人執(zhí)行處理并且是數(shù)據(jù)和信息的來源和接收者(人在過程模型中顯示為數(shù)據(jù)的發(fā)送者和接收者)。 操縱數(shù)據(jù)的處理(著系可以用數(shù)據(jù)流圖、帶方法的對象模型或者其他符號表示)。在信息系統(tǒng)規(guī)劃期間,你可以建立一個企業(yè)數(shù)據(jù)模型作為整個信息系統(tǒng)體系結(jié)構(gòu)的一部分。圖 1 顯示松谷家具公司的企業(yè)數(shù)據(jù)模型的一個部分。一個特定的數(shù)據(jù)庫為一個或多個信息系統(tǒng)提供數(shù)據(jù),而企業(yè)數(shù)據(jù)模型(可能包含許多數(shù)據(jù)庫)描述了由組織維護(hù)的數(shù)據(jù)的范圍。信息系統(tǒng)開發(fā)和數(shù)據(jù)庫開發(fā) 在許多組織中,數(shù)據(jù)庫開發(fā)是從企業(yè)數(shù)據(jù)建模開始的,企業(yè)數(shù)據(jù)建模確定了組織數(shù)據(jù)庫的范圍和一般內(nèi)容。這一步驟通常發(fā)生在一個組織進(jìn)行信息系統(tǒng)規(guī)劃的過程中,它的目的是為組織數(shù)據(jù)創(chuàng)建一個整體的描述或解釋,而不是設(shè)計一個特定的數(shù)據(jù)庫。在企業(yè)數(shù)據(jù)建模時,你審查當(dāng)前的系統(tǒng),分析需要支持的業(yè)務(wù)領(lǐng)域的本質(zhì),描述需要進(jìn)一步抽象的數(shù)據(jù),并且規(guī)劃一個或多個數(shù)據(jù)庫開發(fā)項目。 信息系統(tǒng)體系結(jié)構(gòu) 如圖 1 所示,高級的數(shù)據(jù)模型僅僅是總體信息系統(tǒng)體系結(jié)構(gòu) (ISA)一個部分或一個組織信息系統(tǒng)的藍(lán)圖。根據(jù) Zachman(1987)、 Sowa 和 Zachman( 1992)的觀點,一個信息系統(tǒng)體系結(jié)構(gòu)由以下 6 個關(guān)鍵部分組成 : 數(shù)據(jù)(如圖 1 所示,但是也有其他的表示方法)。 網(wǎng)絡(luò),它在組織內(nèi)并在組織與它的主要業(yè)務(wù)伙伴之 間傳輸數(shù)據(jù)(它可以通過網(wǎng)絡(luò)連接和拓?fù)鋱D來顯示)。 執(zhí)行過程的事件和時間點(它們可以用狀態(tài)轉(zhuǎn)換圖和其他的方式來顯示)。 信息工程 信息系統(tǒng)的規(guī)劃者按照信息系統(tǒng)規(guī)劃的特定方法開發(fā)出信息系統(tǒng)的體系結(jié)構(gòu)。信息工程是一種面向數(shù)據(jù)的創(chuàng)建和維護(hù)信息系統(tǒng)的方法。信息工程遵循自頂向下規(guī)劃 的方法,其中,特定的信息系統(tǒng)從對信息需求的廣泛理解中推導(dǎo)出來(例如,我們需要關(guān)于顧客、產(chǎn)品、供應(yīng)商、銷售員和加工中心的數(shù)據(jù)),而不是合并許多詳盡的信息請求(如一個訂單輸入屏幕或按照地域報告的銷售匯總)。 信息工程包括四個步驟 :規(guī)劃、分析、設(shè)計和實現(xiàn) 。 信息系統(tǒng)規(guī)劃 信息系統(tǒng)規(guī)劃的目標(biāo)是使信息技術(shù)與組織的業(yè)務(wù)策略緊密結(jié)合,這種結(jié)合對于從信息系統(tǒng)和技術(shù)的投資中獲取最大利益是非常重要的。 關(guān)鍵性的規(guī)劃因素是指組織目標(biāo)、關(guān)鍵的成功因素和問題領(lǐng)域。表 2顯示了松谷家具公司的一些可能的關(guān)鍵規(guī)劃因素,這些因素有助 于信息系統(tǒng)的管理者為新的信息系統(tǒng)和數(shù)據(jù)庫社頂優(yōu)先級以處理需求。 組織規(guī)劃對象定義了業(yè)務(wù)范圍,業(yè)務(wù)范圍會限制后來的系統(tǒng)分析和信息系統(tǒng)可能發(fā)生改變的地方。 ●組織地點業(yè)務(wù)操作的發(fā)生地。業(yè)務(wù)功能不同于組織單元,事實上一個功能可以分配給多個組織單元(例如,產(chǎn) 品開發(fā)功能可能是銷售部和生產(chǎn)部共同的責(zé)任)。 ●信息系統(tǒng)處理數(shù)據(jù)集的應(yīng)用軟件和支持程序。功能分解是把組織的功能進(jìn)行更詳細(xì)的分解過程,功能分解是在系統(tǒng)分析中為了簡化問題、分散注意力和確定組件而使用的經(jīng)典處理方法。對于處理業(yè)務(wù)功能和支持功能的全部集合而言,多個數(shù)據(jù)庫是必須的,因此一個特定的數(shù)據(jù)庫可能 僅僅對支持功能(如圖 2 所示)的一個子集提供支持。 企業(yè)數(shù)據(jù)模型使用特定的符號來描述。業(yè)務(wù)規(guī)則決定數(shù)據(jù)的有效性。顯示規(guī)劃對象間聯(lián)系的一種常見形式是矩陣。規(guī)劃矩陣經(jīng)常從業(yè)務(wù)規(guī)則中導(dǎo)出,它有助于社頂開發(fā)活動優(yōu)先級、將開發(fā)活動排序和根據(jù)自頂向下視圖通過一種企業(yè)范圍的方法安排這些開發(fā)活動。 ●單元 功能顯示業(yè)務(wù)功能由哪個業(yè)務(wù)單元執(zhí)行或負(fù)責(zé)。 ●支持功能 數(shù)據(jù)實體確定每個功能中數(shù)據(jù)的獲取、使用、更新和刪除。這樣的矩陣可以用于多種目的,包括以下三個目的 : 1)確定空白實體顯示哪些數(shù)據(jù)實體沒有被任何功能使用或哪個功能沒有使用任何實體。 3)區(qū)分開發(fā)活動的優(yōu)先級如果一個給頂?shù)墓δ軐τ谙到y(tǒng)開發(fā)有高優(yōu)先級(可能因為它與重要的組織目標(biāo)相關(guān)),那么這個領(lǐng)域所使用的實體在數(shù)據(jù)庫開發(fā)中擁有高優(yōu)先級。 2 數(shù)據(jù)庫開發(fā)過程 基于信息工程的信息系統(tǒng)規(guī)劃是數(shù)據(jù)庫開發(fā)項目的一個來源。然而許多數(shù)據(jù)庫開發(fā)項目更多的是以自底向上的方式出現(xiàn)的,例如信息系統(tǒng)的用戶需要特定的信息來完成他們的工作,從而請求開始一個項目,又如其他信息系統(tǒng)的專家發(fā)現(xiàn)組織需要改進(jìn)數(shù)據(jù)管理而開始新的項目。 無論是戰(zhàn)略需求還是操作信息的需求,每個數(shù)據(jù)庫開發(fā)項目通常集中在一個數(shù)據(jù)庫上。然而在大多數(shù)情況下,數(shù)據(jù)庫及其相關(guān)信息處理功能是作為一個完整的信息系統(tǒng)開發(fā)項目的一部分而被開發(fā)的。系統(tǒng)開發(fā)生命周期是指一個組織中由數(shù)據(jù)庫設(shè)計人員和程序員組成的信息系統(tǒng)專家小組詳細(xì)說明、開發(fā)、維護(hù)和替換信 息系統(tǒng)的全部步驟。然而如圖所示,這些步驟并不是純線性的,每個步驟在時間上有所重疊(因此可以并行地管理步驟),而且當(dāng)需要重新考慮先前的決策時,還可以回滾到前面某些步驟。系統(tǒng)開發(fā)生命周期的每一階段都包括與數(shù)據(jù)庫開發(fā)相關(guān)的活動,所以,數(shù)據(jù)庫管理的問題遍布整個系統(tǒng)開發(fā)過程。請注意,系統(tǒng)開發(fā)生命周期的階段和數(shù)據(jù)庫開發(fā)步驟之間不存在一一對應(yīng)的關(guān)系,概念數(shù)據(jù)建模發(fā)生在兩個系統(tǒng)開發(fā)生命周期階段之間。企業(yè)建模發(fā)生在信息系統(tǒng)規(guī)劃和其他活動期間,這些活動確定信息系統(tǒng)的哪個部分需要改變和加強并概述出全部組織數(shù)據(jù)的范圍。每個項目只有當(dāng)它達(dá)到組織的預(yù)期目標(biāo)時才可以進(jìn)行下一步。它分為兩個階段。同時建立其他文檔來概述不考慮現(xiàn)存數(shù)據(jù)庫的情況下特定開發(fā)項目中所需的數(shù)據(jù)范圍。然后在系統(tǒng)開發(fā)生命周期的分析階段產(chǎn)生確定信息系統(tǒng)必須管理的全部組織數(shù)據(jù)的詳細(xì)數(shù)據(jù)模型,定義所有數(shù)據(jù)屬性,列出全部數(shù)據(jù)類別,表示數(shù)據(jù)實體間所有的業(yè)務(wù)聯(lián) 系,確定描述數(shù)據(jù)完整性的全部規(guī)則。然而,即使是這樣詳細(xì)的概念數(shù)據(jù)模型也只是初步的,因為后續(xù)的信息系統(tǒng)生命周期中的活動在設(shè)計事務(wù)、報表、顯示和查詢時可能會發(fā)現(xiàn)遺漏的元素或錯誤。 邏輯數(shù)據(jù)庫設(shè)計從兩個角度進(jìn)行數(shù)據(jù)庫開發(fā)。然后像設(shè)計信息系統(tǒng)的每個計算機(jī)程序(包括程序的輸入和輸出格式)那樣,對數(shù)據(jù)庫支持的事務(wù)、報表、顯示和查詢進(jìn)行詳細(xì)的檢查。 對于每個單獨的報表、事務(wù)等等的分析都要考慮一個特定的、有限制的但是完全的數(shù)據(jù)庫視圖。尤其在大型的項目中,不同的分析人員和系統(tǒng)開發(fā)者的團(tuán)隊可以獨立地工作在不同的程序 或程序集中,他們所有工作的細(xì)節(jié)直到邏輯設(shè)計階段才可能會顯示出來。在進(jìn)行邏輯信息系統(tǒng)設(shè)計時也可以確定額外的信息處理需求,此時這些新的需求必須集成到前面確定的邏輯數(shù)據(jù)庫設(shè)計中。對當(dāng)今的大部分?jǐn)?shù)據(jù)庫而言,這些規(guī)則來自關(guān)系數(shù)據(jù)庫理論和稱作規(guī)范化的過程。在完成邏輯數(shù)據(jù)庫設(shè)計后,開始確定詳細(xì)的計算機(jī)程序的邏輯和維護(hù)、報告數(shù)據(jù)庫內(nèi)容所需的查詢。本階段的目標(biāo)是設(shè)計能夠有效、安全地管理所有數(shù)據(jù)處理的數(shù)據(jù)庫,因此物理數(shù)據(jù)庫設(shè)計需緊密結(jié)合物理信息系統(tǒng)其他方面的設(shè)計,包括程序、計算機(jī)硬件、操作系統(tǒng)和數(shù)據(jù)通信網(wǎng)絡(luò)。設(shè)計人員可以使用標(biāo)準(zhǔn)的編程語言(如 COBOL、 C 或 Visual Basic)、專用的數(shù)據(jù)庫處理語言(如 SQL),或?qū)S玫姆沁^程化語言來編程,以產(chǎn)生固定格式的報表、顯示結(jié)果,可能還包括圖表。最后一步是利用現(xiàn)存的信息源(遺留應(yīng)用中的文件和數(shù)據(jù)庫以及現(xiàn)在需要的新數(shù)據(jù))加載數(shù)據(jù)。最后,運行數(shù)據(jù)庫以及相關(guān)的應(yīng)用以供實際的用戶維護(hù)和檢索數(shù)據(jù)。 數(shù)據(jù)庫在數(shù)據(jù)庫維護(hù)期間逐漸發(fā)展。當(dāng)一個程序或計算機(jī)發(fā)生故障而使數(shù)據(jù)庫受到影響或損壞時也可能應(yīng)該重建數(shù)據(jù)庫。 信息系統(tǒng)開發(fā)的其他方法 系統(tǒng)開發(fā)生命周期法或其稍作變化的變體經(jīng)常用于指導(dǎo)信息系統(tǒng)和數(shù)據(jù)庫的開發(fā)。系統(tǒng)開發(fā)生命周期法經(jīng)常由于產(chǎn)生一個工作系統(tǒng)需要很長的時間而受到批評,因為工作系統(tǒng)僅僅在整個過程結(jié)束時才產(chǎn)生??焖賾?yīng)用開發(fā)法在所需的數(shù)據(jù)庫已經(jīng)存在、增強系統(tǒng)主要是為了檢索數(shù)據(jù)的應(yīng)用中適用,而不適用于那些生成和修改數(shù)據(jù)庫的應(yīng)用。原型法是一個系統(tǒng)開發(fā)的迭代過程,通過分析員和用戶的緊密配合,持續(xù)地修改系統(tǒng)而最終將所有需求轉(zhuǎn)換成一個工作系統(tǒng)。在此圖中我們包含了注釋,概略地描述了每個原型法階段的數(shù)據(jù)庫開發(fā)活動。在開發(fā)最初的 原型時,設(shè)計用戶想要的顯示和報表,同時理解任何新的數(shù)據(jù)庫需求并定義一個用語原型的數(shù)據(jù)庫。當(dāng)需要新的內(nèi)容時,這些內(nèi)容通常來自外部數(shù)據(jù)源,如市場研究數(shù)據(jù)、一般的經(jīng)濟(jì)指標(biāo)或行業(yè)標(biāo)準(zhǔn)。通常僅進(jìn)行最低限度的安全性和完整性控制,因為此時的重點是盡可能快地產(chǎn)生可以使用的原型版本。最后,一旦構(gòu)建了一個可接受的原型,開發(fā)者和用戶將決定最后的原型 和數(shù)據(jù)庫是否能交付使用。 隨著可視化編程工具(如 Visual Basic、 Java、 Visual C++和第四代語言)越來越流行,利用可視化編程工具可以很方便地修改用戶與系統(tǒng)間的界面,原型法正成為可供選擇的系統(tǒng)開發(fā)方法。在這個過程中,新的數(shù)據(jù)庫需求被確定,因此被發(fā)展中的應(yīng)用使用的現(xiàn)存的數(shù)據(jù)庫應(yīng)該進(jìn)行修改。 3 數(shù)據(jù)庫開發(fā)的三層模式體系結(jié)構(gòu) 在本文前面關(guān)于數(shù)據(jù)庫開發(fā)過程的解釋中提到了一個系統(tǒng)開發(fā)項目上建立的幾個不同的、但是相關(guān)的數(shù)據(jù)庫視圖或模型 : ● 概念模式(在分析階段建立)。 ● 物理模式或內(nèi)部模式(在物理設(shè)計階段建立)。也就是說,每一個組織數(shù)據(jù)庫都有一個物理模式、一個概念模式以及一個 或多個用戶視圖。 概念模式 關(guān)于全部數(shù)據(jù)庫結(jié)構(gòu)的、與技術(shù)無關(guān)的規(guī)格說明。通常,概念模式用實體 聯(lián)系( ER)圖或?qū)ο蠼7栠@樣的圖形格式來描述,我們把這種類型的概念模式稱為數(shù)據(jù)模型。 物理模式 包括概念模式的數(shù)據(jù)怎樣存儲在計算機(jī)二級存儲器中的規(guī)格說明。 數(shù)據(jù)庫開發(fā)和數(shù)據(jù)庫技術(shù)是以數(shù)據(jù)庫這三個模式間的區(qū)分為基礎(chǔ)的。例如,一個初學(xué)者可能設(shè)計用于一個或多個程序的外部模式,而一個有經(jīng)驗的開發(fā)者將設(shè)計物理模式或概念模式。 4 三層數(shù)據(jù)庫定位體系結(jié)構(gòu) 顯然,所有數(shù)據(jù)庫中的好的事情都和“三”有關(guān)! 當(dāng)設(shè)計一個數(shù)據(jù)庫時,你要選擇把數(shù)據(jù)存放在何處。數(shù)據(jù)庫分為個人數(shù)據(jù)庫、工作組數(shù)據(jù)庫、部門數(shù)據(jù)庫、企業(yè)數(shù)據(jù)庫和因特網(wǎng)數(shù)據(jù)庫。有時候,個人數(shù)據(jù)庫是從工作組數(shù)據(jù)庫或企業(yè)數(shù)據(jù)庫中提取出來的,這種情況下數(shù)據(jù)庫專家經(jīng)常編寫一些提取例程來創(chuàng)建本地數(shù)據(jù)庫。這些人員的協(xié)同工作是必須的,因為在設(shè)計共享的數(shù)據(jù)庫時必須權(quán)衡大量的問題 :處理速度、易于使用、數(shù)據(jù)定義的差別和其他類似的問題 。 一個臺式計算機(jī)或筆記本也稱作表示層,它專門管理用戶系統(tǒng)界面和本地化數(shù)據(jù),在這一層上可以執(zhí)行 Web 腳本任務(wù)。 (小型機(jī)或大型機(jī))層 執(zhí)行復(fù)雜的計算和管理來自組織間多個數(shù)據(jù)源的數(shù)據(jù)的合并,也稱作數(shù)據(jù)服務(wù)層??蛻?/服務(wù)器體系結(jié)構(gòu)基于一個局域網(wǎng)環(huán)境,其中服務(wù)器上(稱作數(shù)據(jù)庫服務(wù)器或數(shù)據(jù)庫引擎)的數(shù)據(jù)庫軟件執(zhí)行來自客戶工作站的數(shù)據(jù)庫命令,每個客戶的應(yīng)用程序?qū)W⒂谒鼈兊挠脩艚涌诠δ堋:唵蔚卣f,使用客戶 /服務(wù)器體系結(jié)構(gòu)的原因是 : ● 它可以在多個處理器上同時處理同一個應(yīng)用,因此改善了應(yīng)用的響應(yīng)時間 和數(shù)據(jù)處理速度。 ● 可以混合使用各種客戶端的技術(shù)(裝配 Intel 或 Motorola 處理器的個人計算機(jī)、網(wǎng)絡(luò)計算機(jī)、信息站等)和共享公共數(shù)據(jù)。 ● 能夠使處理靠近需處理的數(shù)據(jù)源,從而改進(jìn)響應(yīng)時間并減少網(wǎng)絡(luò)通信量。 對于數(shù)據(jù)庫開發(fā)而言,使用一個多層的客戶 /服務(wù)器體系結(jié)構(gòu)開發(fā)數(shù)據(jù)庫最有意義之處在于易于將數(shù)據(jù)庫開發(fā)和維護(hù) 數(shù)據(jù)庫的模塊與向最終用戶表示數(shù)據(jù)庫內(nèi)容的信息系統(tǒng)模塊分隔開。通過中間件,表示例程能夠通過層間相互作用來訪問例程,該例程訪問所需數(shù)據(jù)并分析這些數(shù)據(jù)以形成所需信息。 Information System Development and Database Development In many anizations, database development from the beginning of enterprise data modeling, data modeling enterprises determine the scope of the database and the general content. This step usually occurs in an anization39。s enterprise data model of a part. Information System Architecture As shown in figure 1, senior data model is only general information system architecture (ISA) or a part of an anization39。s key planning a number of possible factors, these factors contribute to the information systems manager for the new information systems and databases clubs top priority to deal with the demand. For example, given