第七章 數據庫應用系統功能設計
7.1 軟件體系結構與設計過程
7.1.1 軟體體系結構
1、 軟件體系結構又稱軟件架構,軟件體系結構={構件,連接件,約束}。
2、 構件是組成系統的具有一定獨立功能的不同粒度的程序模塊、獨立程序或軟件子系統,是組成軟件的系統元素;
3、 連接件將不同的構件連接起來,表示了構件間的相互作用;
4、 約束一般是對象連接時的規則,或指明了構件連接的條件。
5、 軟件體系結構描述了軟件系統的總體組織和層次結構、系統元素及其功能分配、全局控制、系統元素間的協調和交互、數據存取等;
7.1.2 軟件設計過程
1、 概要設計
(1) 定義:是建立軟件系統的總體結構和模塊間的關系,定義各功能模塊的接口,設計全局數據庫、規定設計約束、制定組裝測試計劃;
(2) 一個好的概要設計要求是:良好的總體結構、功能模塊間較低的耦合度和較高的內聚度,并盡量降低模塊接口的復雜性;
(3) 可以采用層次結構圖表示軟件總體結構,圖中節點代表功能模塊。
2、 詳細設計
(1) 是細化概要設計產生的功能模塊,形成可編程的程序模塊,并用某種過程設計語言設計程序模塊的內部細節,為編寫軟件代碼提供依據。
(2) 可選用結構化設計方法、面向對象設計方法等;
3、 關于軟件總體設計
(1) 一些大的DBAS可根據逐步抽象和層次化原則,將概要設計分解成兩個步驟:
(A) 首先是軟件總體結構設計,即對軟件需求進行分解;
(B) 第二步是將每個子系統進一步劃分為功能模塊,定義各模塊的數據結構、相互間交互關系;
7.2 DBAS總體設計
7.2.1 系統總體設計
任務:是根據系統規劃與分析結果,特別是技術可行性分析,以及系統需求規范,確定系統總體框架,作為后續設計活動的基礎。
1、 確定DBAS體系結構
(1) 指將系統從功能、層次結構、地理分布等角度進行分解,劃分為多個子系統。定義各子系統應實現的功能,設計全局控制,明確各子系統間的交互和接口關系;
(2) 可以從功能角度進行分解,也可以根據DBAS自身固有的層次結構特征進行分解;
(3) 將系統分解為多個子系統后,需選擇和設計合適的系統體系結構,將這些子系統組織起來,并設計它們之間的交互關系;
(4) DBAS體系結構可采用一些通用體系結構,也可根據DBAS所屬的特定應用領域相關的體系結構。
2、軟硬件造型和配置設計
(1) 總體設計階段需要對系統的軟硬件平臺、存儲設備、操作系統、數據庫管理系統等作出合理的選擇,并進行初步配置設計;
(2) 還需要選擇系統開發采用的合適的中間件和開發工具,確定開發模式和開發語言;
3、應用軟件總體設計
根據系統體系結構,確定相應的軟件系統模塊劃分、功能分配,選擇合適的軟件體系結構;
4、業務規劃初步設計
7.2.2 軟件總體設計
1、 DBAS軟件包括OS、DBMS、開發環境、中間件和應用軟件;
2、 應用軟件分為數據庫事務和應用程序;
3、 數據庫事務通過對數據庫的直接操作實現數據管理和處理功能;
4、 應用程序一方面對數據庫進一步加工處理,或從中抽取新信息實現復雜的數據處理功能;另一方面還可實現與數據庫訪問無關的功能;
5、 應用軟件總體設計:
(1) 從數據流圖、事務規范和業務規則需求分析結果出發,將系統分解為一系列子系統,分配相應功能,定義系統間協調交互機制;
(2) 進一步進行子系統結構設計,將各子系統從功能上劃分為:數據庫事務模塊和應用程序模塊;
(3) 確定子系統、應用程序模塊、數據庫事務間的全局控制和調用關系,并按體系結構框架組織起來。
6、總體設計得到的系統總體結構和分層模塊結構,可以用模塊結構圖表示;
6、 模塊結構圖,是結構化程序設計中描述系統結構的一種圖形化工具,它定義了模塊的名字、功能和接口,并在模塊結構圖中反映出結構化設計思想。它只關心模塊的外部特性,與模塊內部流程無關,它由模塊、調用、數據、控制和轉接等于種基本符號組成;
7.2.3 客戶/服務器體系結構
1、 基于C/S體系結構的DBAS將DBMS數據管理功能與數據庫應用相分離,將DBMS數據庫管理功能在客戶端和服務器之間進行合理的分布和配置;
2、 數據庫報務器完成DBMS的核心功能,而客戶端負責完成用戶交互功能,接收用戶數據,生成并向數據庫報務器發出數據操作請求,接收數據查詢結果并通過客戶端反饋給用戶;
3、 兩層C/S結構的特點是:
(1) DBAS的數據管理和處理功能,被分解并分布在客戶端和服務器上;
(2) 服務器楞為多個客戶端應用提供共享的數據管理功能;
(3) 客戶端應用可通過網絡訪問多個不同數據源;
(4) 客戶端除了完成人機交互功能外,還需要完成面向應用的數據處理功能,負荷重,屬于典型的“胖客戶端”;
4、 三層瀏覽器/服務器(B/S)結構是一種互聯網環境下的新型數據庫應用系統結構,它將數據處理功能分解并分布在表示層、功能層和數據層三層次上,分別由WEB瀏覽器、WEB服務器和數據庫服務器來實現,其特點是:
(1) 表示層位于客戶端,由WEB瀏覽器實現,其功能單一,沒有其他應用程序,屬于典型的“瘦客戶端”;
(2) 功能層位于WEB服務器,實現面向具體應用領域的業務規則;
(3) 數據層位于數據庫服務器,通過DBMS完成具體的數據存儲和存取等數據管理功能;
7.3 概要設計
7.3.1 數據庫事務概要設計
1、 如數據處理需求分析的結果是數據流圖,則可將待設計的事務看作是程序,采用軟件工程中面向數據流的程序設計方法,設計事務內部的數據處理流程和結構,也就是設計事務處理邏輯,過程包括:
(1) 從數據流圖中識別出該事務對應的子數據流圖;
(2) 確定子數據流圖中的信息流類型,劃定流界;
(3) 將子數據流圖映射為事務的結構和處理流程,即事務邏輯;
(4) 修正和細化事務設計,識別事務所訪問的數據庫對象和數據庫用戶;
2、 如數據處理需求分析的結果表示為事務規范,由于事務規范包括了事務名稱、事務描述、訪問的數據項、用戶等信息,可直接從事務描述出發,根據具體應用領域的知識設計事務邏輯,得到事務概要結果;
3、 一個完整的事務概要設計包括:事務名稱、訪問的關系表及屬性、事務處理邏輯、事務用戶;
4、 檢查關系表對數據庫事務的支持性:
(1) 對每一個事務,根據需求分析階段的事務分析,列出該事務所訪問的各個數據項;
(2) 列出事務訪問的數據項所在的關系表和對應的屬性;
(3) 如事務訪問的數據項同時出現在多個表中,檢查關聯關系;
(4) 檢查是否存在某些事務,訪問的一些數據項未出現在任何關系表中;
7.3.2 應用軟件概要設計
1、 應用軟件概要設計,按照逐步求精、模塊化、信息隱藏和功能細化原則,根據DBAS需求分析階段得到的系統功能和業務規則描述,在總體設計結構基礎上,將DBAS應用軟件進一步細化為模塊/子模塊,組成軟件的系統-子系統-模塊-子模塊層次結構,并對這些系統元素從結構、行為和數據三方面進行設計;
7.4 詳細設計
7.4.1 數據庫事務詳細設計
1、 事務詳細設計,是從事務概要設計得到的事務流程出發,在DBMS平臺下,采用事務實現機制,和高級程序設計語言,利用SQL語句和數據庫訪問接口,在DBMS平臺和開發環境下,進一步細化事務設計,設計具體的實現模式;
7.4.2 應用軟件詳細設計
1、根據概要設計中定義的各程序模塊功能和輸入輸出數據需求,結合具體的設計環境和機制,設計各模塊的內部處理流程和算法、數據結構、對外接口等;
7.5 人機界面設計
1、 人機界面設計原則:
(1) 用戶應當感覺系統的運行始終在自己的控制之下,保持用戶與人機界面間的雙向交流;
(2) 當系統發生錯誤或程序運行時間較長時,用戶界面應該為用戶提供有意義的反饋信息;
(3) 應該忍受用戶在使用過程中發生的各種操作錯誤,并能夠方便地恢復過來,保證系統不受或少受影響;
(4) 應該遵循一定的標準和常規;
(5) 采取靈活多樣的數據輸入方式,盡量減少用戶數據輸入負擔;
2、 人機界面設計最好采用原形迭代法:
(1) 初步設計
(2) 用戶界面細節設計;
(3) 原形設計與改進;
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |