航標業務系統架構的設計和實現

航標業務系統主要包括數據維護、航標信息管理、航道維護管理、航標作業管理以及統計報表五大功能,基於航標業務這樣的平臺,來完成日常的業務處理工作,像日常用的報表以前完全是靠相關工作人員,通過手動來統計完成,而利用航標業務系統藉助計算機能夠自動生成報表,這樣能夠減輕工作人員的分擔,同時也能提高工作質量和工作效率。

航標業務系統架構的設計和實現
  系統架構設計

1 系統架構

系統架構通常情況下是指系統的軟件架構,一般也被稱爲軟件體系結構,是構建計算機軟件實踐的基礎。軟件架構描述的對象是直接構成系統的抽象組件。各個組件之間的連接則明確和相對細緻地描述組件之間的通訊。在實現階段,這些抽象組件被細化爲實際的組件,比如具體某個類或者對象。在面向對象領域中,組件之間的連接通常用接口:計算機科學來實現。它並不僅注重對內部的考慮,而且還在系統的用戶環境和開發環境中對系統進行整體考慮,即同時注重對外部的考慮。在計算的算法和數據結構之外,設計並確定系統整體結構成爲了新的問題。結構問題包括總體組織結構和全局控制結構;通信、同步和數據訪問的協議;設計元素的功能分配;物理分佈;設計元素的組成;定標與性能;備選設計的選擇。

2 系統需求分析

航標業務系統主要分爲航道維護管理,航標信息管理,航標作業管理,數據維護和統計報表五大模塊。

2 系統分析建模

根據系統功能結構,本文對其進一步抽象,利用面向對象和接口設計,分爲邊界類、領域類和實體類。其中邊界類是表達外界和系統交互的靜態模型,是系統與外界的交界處;領域類描述的是業務規則及操作功能。實體類封裝了處理對象的屬性和行爲,是對數據庫的邏輯設計。同時,可以通過數據持久層中的操作序列,改變數據庫中的屬性值。並同時引入多層架構的設計理念,這是因爲多層架構降低了系統操作頁面、功能處理和屬性之間的耦合程度,即實現了“解耦”。它的優勢是當對某一部分進行修改時,可以把對其他部分的影響降低到最小,從而提高系統的可擴展性和可修改性,獨立出來的數據持久層中的動作序列和業務邏輯可以被複用。

3 總體架構設計

在最初設計時,通常會將航標業務系統的領域層和顯示層雜糅在一起,所以必須設法解決領域層和表現層代碼之間的解耦問題。例如,在本系統中與航標異動信息有關的幾個界面,都會涉及到查詢航標異動信息的功能,與航標信息有關的幾個界面都會查看航標信息,同理其他的界面也會涉及到其他的相同幾個功能,本文將這些相同的功能抽取出來,作爲一個單獨的類封裝起來,分離領域層和表現層代碼,進行架構優化設計,指導該架構優化設計實施的是MVC模式。同時,把表示層中與數據庫交互的航標領域邏輯,挪移到了數據訪問層中,並且利用面向接口編程的原理,將航標數據訪問抽象出一個接口類,保證了系統的可擴展性,增強了數據訪問層的內聚性,這樣航標業務邏輯類與航標數據訪問通過接口實現,保證了與具體的數據庫訪問實現完全隔離,達到了解耦的效果,符合依賴倒置原則。

  系統架構實現

1 數據訪問層實現

我們需要進一步把航標業務管理系統的所有數據對象,都抽象到對應的'接口,通過引入抽象工廠模式來實現數據訪問層。

2 業務邏輯層實現

業務邏輯層與系統所對應的領域邏輯有關,業務邏輯層主要承擔了以下職責:對不同數據訪問層的封裝,使得表示層可以不關心具體的數據訪問層;業務邏輯數據的填充與轉換,如管理員口令的加密;核心業務的實現,這裏很多業務邏輯只有一行代碼。業務邏輯層的結構實現了依賴關係的解耦。BLL模塊是業務邏輯的核心部分,處理系統中的核心業務;業務邏輯層數據庫的操作都委託IDAL來完成,通過模塊IDAL中提供的數據訪問類與數據庫交互,解除了對具體數據庫的依賴,對具體數據庫的訪問細節是完全透明的。

3 表示層實現

航標業務系統的表示層是利用 GUI框架進行開發的,該框架實現了MVC架構模式,只不過其提供的Windows Form集View和Controller於一體;通過Visual 2005集成開發環境提供的界面設計器,可以靈活地對Windows Form進行設計,對用戶請求的處理即是對界面上事件的響應,業務邏輯處理委託給BLL相應的領域對象完成,界面相關的邏輯由WindowsForm完成。