董國正

摘 要:隨著移動應用技術的廣泛應用,系統(tǒng)架構設計為實現(xiàn)一套有針對性功能且具有高性能、易于擴展、具有一定程度上的可復用性等特性的移動APP提供了重要保證,為改善公司軟件質量,降低軟件開發(fā)和維護成本,縮短軟件開發(fā)工期,提高軟件重用率,為公司發(fā)展奠定了技術基礎,該文描述了其中一種符合上述特性的架構設計理念。
關鍵詞:架構 設計 移動端
中圖分類號:TP311 文獻標識碼:A 文章編號:1674-098X(2016)03(b)-0017-02
1 概述
1.1 目的
為改善公司軟件質量,降低軟件開發(fā)和維護成本,縮短軟件開發(fā)工期,提高軟件重用率,促使公司軟件開發(fā)和項目管理水平更上一層樓,形成具有行業(yè)特色的技術體系和企業(yè)標準,為公司發(fā)展奠定技術基礎,研究、探索、建立該開發(fā)規(guī)范(以下簡稱規(guī)范)。
該規(guī)范實施后,公司所有的軟件產品、定制軟件開發(fā)和軟件維護項目必須嚴格執(zhí)行。
1.2 原則
1.2.1 簡單、有效
軟件應用架構、數(shù)據(jù)處理過程和交互界面力求簡單、清晰和有效,不過多追求新技術和技巧的應用。
1.2.2 標準、可重用
應用架構、數(shù)據(jù)處理過程和交互界面標準、規(guī)范和可重用是必須堅持的原則。嚴格劃分業(yè)務相關和業(yè)務無關部分,業(yè)務無關部分必須實現(xiàn)標準化。
1.2.3 業(yè)務邊界明確
明確軟件功能的業(yè)務邊界。嚴禁業(yè)務邊界不清晰,越界操作數(shù)據(jù),不同業(yè)務混合的情況出現(xiàn)。各不同邊界之間的數(shù)據(jù)交換可通過標準接口進行操作;要絕對保證離開業(yè)務邊界數(shù)據(jù)的合法性和合理性,嚴禁非法和冗余數(shù)據(jù)進入下一個業(yè)務邊界。
1.2.4 數(shù)據(jù)處理后臺化
嚴禁在客戶端進行數(shù)據(jù)處理。一般情況下,采用后臺數(shù)據(jù)庫存儲過程進行數(shù)據(jù)處理;特殊情況下,可采用引擎進行數(shù)據(jù)處理。
2 架構規(guī)范
安卓開發(fā)架構總體分為基礎框架和系統(tǒng)業(yè)務兩大部分,(見圖1)。
其中基礎框架包含公共訪問類(如:數(shù)據(jù)庫操作接口、數(shù)據(jù)庫操作實現(xiàn)類、網(wǎng)絡提交封裝類)、工具類(如:文件訪問工具類、二維碼掃描工具類)、框架基礎配置文件和其他第三方工具類等內容,框架部分可持續(xù)擴展功能封裝類,供系統(tǒng)業(yè)務模塊調用。
系統(tǒng)業(yè)務中將具體系統(tǒng)的每個業(yè)務模塊拆分成獨立包,并嚴格采用簡單三層應用架構,既展現(xiàn)層、業(yè)務邏輯層和數(shù)據(jù)操作層,各層之間界限清晰(見圖2)。
3 開發(fā)框架規(guī)范詳細說明
3.1 UI展現(xiàn)層規(guī)范
3.1.1 規(guī)范說明
展現(xiàn)層進行數(shù)據(jù)展示、數(shù)據(jù)采集、數(shù)據(jù)合理性和合法性校驗操作。
(1)數(shù)據(jù)的合法性指數(shù)據(jù)表示對象屬性對數(shù)據(jù)類型的限制;而數(shù)據(jù)合理性指具體業(yè)務對數(shù)據(jù)取值范圍的限制。
(2)一般情況下,數(shù)據(jù)的合理性在{提交|保存|確定}按鈕的點擊事件中處理,而數(shù)據(jù)的合法性在數(shù)據(jù)輸入域焦點離開時進行校驗。
3.1.2、規(guī)范詳細
UI界面所對應的java實現(xiàn)類中,只包含如下及部分內容:變量定義、初始化控件、事件綁定、調用接口和更新UI五部分。
(1)變量定義。
定義界面控件或其他成員變量。
(2)初始化控件。
初始化界面控件。
(3)事件綁定。
為界面控件綁定事件。
(4)調用接口。
設置接口參數(shù):傳遞數(shù)據(jù)、解析方法名稱(業(yè)務層的實現(xiàn)方法)、更新UI的方法。
(5)更新UI。
根據(jù)接口返回的數(shù)據(jù)更新UI界面。
3.2 業(yè)務控制層規(guī)范
3.2.1 規(guī)范說明
業(yè)務邏輯層為,定義解析接口數(shù)據(jù)的邏輯方法,向上返回解析后的Bean數(shù)據(jù),每個業(yè)務模塊定義自己的業(yè)務類。
3.2.2 規(guī)范詳細
各個模塊業(yè)務類繼承BaseService類,并重寫getBean方法,并在類中定義本模塊的解析方法。
3.3 數(shù)據(jù)操作層規(guī)范
3.3.1 規(guī)范說明
數(shù)據(jù)操作層包含:數(shù)據(jù)表映射對象(bean)、數(shù)據(jù)庫操作公共類和數(shù)據(jù)庫表基礎(增、刪、該、查)操作方法、SQL語句執(zhí)行方法、以功能調用的方式向業(yè)務邏輯層提供數(shù)據(jù)操作服務。
3.3.2 規(guī)范詳細
(1)SQL構造類。
對應表字段生成SQL構造類SqlBuilder,繼承基礎抽象類ATableBase,并初始化表名與列集合。
(2)SQL控制類。
對應表字段生成SQL控制類,重寫增、刪、改、查方法。
(3)前臺調用。
4 基礎規(guī)范
基礎操作是指應用軟件中基本的操作過程,包括啟動、登錄和更新3個過程,具體描述如下。
4.1 啟動
App啟動后,首先判斷是否啟動歡迎頁,在進入登錄頁之前,將推送等第三方服務進行注冊。
4.2 登錄
(1)判斷當前是否已連接網(wǎng)絡,如果網(wǎng)絡已連接則可進行登錄接口。
(2)記錄是否為第一次登錄,用于判斷是否啟動歡迎頁。
(3)判斷是否保存登錄密碼,是否下次自動登錄(跳過登錄頁直接進入主界面)。
(4)登錄成功后啟動App內部服務(輪詢消息服務或內外網(wǎng)絡切換服務等)。
4.3 更新
登錄成功后,App自動訪問更新接口,判斷是否有版本更新。
該系統(tǒng)架構是程序設計人員從實際應用及設計經驗的角度出發(fā),提出了移動端設計的基本理念,同時歸納總結并比較其他的設計模式和信息架構提出的優(yōu)化方案,旨在幫助設計、產品、開發(fā)相關人員更好地思考移動端設計。
參考文獻
[1] 李寶智.淺談移動應用的架構設計[J].電腦與電信,2008(5):52-53.
[2] 任捷怡.基于移動終端設備的移動學習系統(tǒng)的研究與實現(xiàn)[D].西南交通大學,2012.
[3] 莫嬌清.移動學習系統(tǒng)開發(fā)技術的探索與研究[D].華東師范大學,2009.