一個典型的數(shù)據(jù)庫應(yīng)用程序開發(fā)流程(一個典型的數(shù)據(jù)庫應(yīng)用程序開發(fā)流程包括)
1 系統(tǒng)總體設(shè)計
1.1 應(yīng)用背景
1.2 項目目標:包括系統(tǒng)登錄功能,權(quán)限設(shè)置,數(shù)據(jù)錄入,信息查詢,報表輸出,系統(tǒng)維護,退出功能等;
1.3 設(shè)計思路:自底向上,首先設(shè)計數(shù)據(jù)結(jié)構(gòu),然后設(shè)計表單、菜單、報表、主程序等;
1.4 系統(tǒng)結(jié)構(gòu)圖:系統(tǒng)的整體結(jié)構(gòu)是先運行主程序,由主程序調(diào)出用戶登錄界面(表單),成功登錄后,調(diào)出系統(tǒng)的主菜單,通過主菜單進入各個表單和報表,二者的數(shù)據(jù)均來自數(shù)據(jù)庫中的表;
2 數(shù)據(jù)庫總體設(shè)計
2.1 需求分析:系統(tǒng)的每個功能都要通過菜單和報表來操作數(shù)據(jù)表中的數(shù)據(jù);
2.2 確定所需的數(shù)據(jù)表;
2.3 數(shù)據(jù)表的結(jié)構(gòu)字段;
2.4 表之間的關(guān)聯(lián):通過參照完整性確保數(shù)據(jù)的一致性,建立一對多表單、報表;
3 建立項目
選擇合適的開發(fā)語言和合適的IDE,建立項目;
4 建立數(shù)據(jù)庫和表
4.1 建立數(shù)據(jù)庫;
4.2 建立數(shù)據(jù)表;
4.3 建立表之間的完整參照性;數(shù)據(jù)庫管理器—關(guān)聯(lián)線右擊—編輯參照完整性(打開數(shù)據(jù)完整性生成器)
5 各表單設(shè)計
5.1 布局表單控件(屬性);
5.2 表單的方法和事件代碼:loading、按鈕的click等事件的代碼;
6 菜單和工具欄設(shè)計
用戶登錄后會出現(xiàn)菜單系統(tǒng),由此可以訪問到系統(tǒng)的各個模塊;
7 報表設(shè)計
8 主程序設(shè)計
8.1 建立主程序:項目管理器—代碼—程序—編寫代碼–保存為MainPro;
8.2 設(shè)置主文件:由該文件調(diào)用應(yīng)用程序中的某些組件,再由這些組件調(diào)用其他組件,主文件可以是一個PRG程序,一個表單,一個菜單,選擇—項目(菜單)—設(shè)置主文件:一般來說,主文件可以具有以下的一些功能:
I 對應(yīng)用系統(tǒng)的環(huán)境進行初始化;
II 用控制事件循環(huán)的訪求來實行程序調(diào)用;
III 恢復(fù)初始化前的環(huán)境;(設(shè)置主程序為主文件)
8.3 系統(tǒng)連編:將應(yīng)用程序各個分散的部件連接在一個可執(zhí)行文件或可執(zhí)行應(yīng)用程序;
用戶對系統(tǒng)中的數(shù)據(jù)的操作是通過界面進行的,界面主要由表單和菜單兩部分組成,主要部分是表單,表單也是面向?qū)ο缶幊痰暮诵牟糠郑?/p>
由主程序(設(shè)置為主文件)設(shè)置系統(tǒng)登錄屏幕界面,調(diào)用系統(tǒng)登錄表單;由登錄表單—調(diào)用主程序或主界面(可以是表單,包含初始環(huán)境設(shè)置,主菜單);由主菜單調(diào)用各功能模塊;
9 補充
9.1 一個完整的計算機應(yīng)用系統(tǒng)的模塊組成:
主程序
系統(tǒng)菜單
系統(tǒng)登錄界面
數(shù)據(jù)庫
數(shù)據(jù)輸入界面
數(shù)據(jù)輸出界面
數(shù)據(jù)維護功能
數(shù)據(jù)檢索界面
幫助功能
項目文件
9.2 數(shù)據(jù)庫詳細設(shè)計
9.2.1 需求分析
收集基礎(chǔ)數(shù)據(jù)、數(shù)據(jù)流程圖,把一個處理功能的數(shù)據(jù)逐步分解,直到把系統(tǒng)的工作過程表達清楚為止。數(shù)據(jù)字典:各類數(shù)據(jù)屬性的清單:
9.2.2 概念結(jié)構(gòu)設(shè)計:
E-R模型是對現(xiàn)實世界的一種抽象,是對實際人、事、物和概念的人為處理,宏觀地抽取人們共同關(guān)心的特性,而忽略非本質(zhì)的細節(jié);
抽象機制由三種抽象方法形成:
I 分類classification:
定義:某一概念作為現(xiàn)象世界中一組對象的類型
抽象對象:對象值和型之間的is a member of的語義;
E-R模型是的抽象:實體型;
II 聚焦aggregation:
定義:某一類型的組成部分;
抽象對象:對象內(nèi)部屬性類型和整體與部分之間is a part of的語義;
E-R模型是的抽象:若干屬性的聚集組成了實體型;
III 概括generalization:
定義:類型之間的各種子集之間的聯(lián)系;
抽象對象:類型之間的is a subset of的語義;
E-R模型是的抽象:子類繼承超類上定義的所有抽象性質(zhì);
9.2.3 邏輯結(jié)構(gòu)設(shè)計
將E-R圖的一個實體或一個聯(lián)系轉(zhuǎn)換成一個關(guān)系模式;
9.3 應(yīng)用程序開發(fā)的類型
9.3.1 單機模型:
應(yīng)用程序和數(shù)據(jù)庫位于同一臺PC中;
9.3.2 客戶/服務(wù)器模型:C/S,運行于局域網(wǎng)環(huán)境中的數(shù)據(jù)應(yīng)用程序)
應(yīng)用程序使用的數(shù)據(jù)庫位于局域網(wǎng)服務(wù)器中,其它的計算機通過客戶端應(yīng)用程序訪問服務(wù)器中的數(shù)據(jù)。c/s結(jié)構(gòu),應(yīng)用軟件被劃分為客戶軟件和服務(wù)器軟件兩部分,這兩部分允許安裝在同一臺設(shè)備上,但多數(shù)情況下被安裝在網(wǎng)絡(luò)不同的PC上,當客戶軟件發(fā)出訪問數(shù)據(jù)庫請求后,服務(wù)器軟件接收這一請求;C/S模式的最大優(yōu)勢是把系統(tǒng)劃分為前臺和后臺,在通常情況下,客戶機運行前端front-end)應(yīng)用程序,向用戶提供界面(user interface)和顯示邏輯(presentation logic),而服務(wù)器則負責訪問后臺數(shù)據(jù)庫,并完成各種事務(wù)邏輯(transaction logic)的處理,這樣每次任務(wù)都是由客戶機和服務(wù)器共同完成;C/S模式的第三個成分就是連接器,它是溝通客戶機和服務(wù)器的紐帶,包括網(wǎng)卡及其驅(qū)動程序,和實施數(shù)據(jù)庫訪問的軟件,如ODBC、ADO,使服務(wù)器成為數(shù)據(jù)庫服務(wù)器。
9.3.3 瀏覽器/服務(wù)器模型:B/S,適用于開發(fā)internet環(huán)境中的數(shù)據(jù)庫應(yīng)用程序)
客戶端應(yīng)用程序為瀏覽器,客戶通過瀏覽器訪問服務(wù)器中的某個網(wǎng)頁,如在網(wǎng)頁中提出數(shù)據(jù)請求,該請求首先發(fā)送到web服務(wù)器,由web服務(wù)器將數(shù)據(jù)請求發(fā)送到數(shù)據(jù)庫服務(wù)器,數(shù)據(jù)庫服務(wù)器接到數(shù)據(jù)請求后,完成數(shù)據(jù)處理,并將處理結(jié)果返回web服務(wù)器,web服務(wù)器最后將結(jié)果返回到客戶端的瀏覽器中,在設(shè)計網(wǎng)頁時,可以使用ADO(activeX data object)訪問VF數(shù)據(jù)庫。
-End-