蔣海鋒 萬暢
摘? 要: 本文介紹了一種實(shí)現(xiàn)動(dòng)態(tài)界面的方法,并設(shè)計(jì)了基于XML字段技術(shù)的數(shù)據(jù)庫存儲(chǔ)模型,實(shí)現(xiàn)便利的數(shù)據(jù)存儲(chǔ)、組合條件檢索功能。通常對(duì)于一個(gè)軟件業(yè)務(wù)系統(tǒng),需要實(shí)現(xiàn)各種信息錄入和各種組合條件的檢索功能,軟件設(shè)計(jì)者需要為每個(gè)業(yè)務(wù)信息設(shè)計(jì)相應(yīng)的錄入項(xiàng)目、錄入界面和檢索功能,軟件的開發(fā)時(shí)間很大部分花費(fèi)在這些重復(fù)的工作上,而且后期通常還要應(yīng)對(duì)不斷變化的錄入項(xiàng)目需求,為解決和應(yīng)對(duì)信息錄入項(xiàng)目的變化和自定義需求,并能滿足后期對(duì)高級(jí)自定義組合條件數(shù)據(jù)檢索的需求,我們研究了基于最新數(shù)據(jù)庫XML字段語法的動(dòng)態(tài)界面技術(shù),實(shí)現(xiàn)由用戶自定義需要的錄入項(xiàng)目,減少了重復(fù)工作的時(shí)間。動(dòng)態(tài)界面技術(shù)涉及到后期數(shù)據(jù)庫存儲(chǔ)和檢索功能的實(shí)現(xiàn),本文探討了一種基于XML數(shù)據(jù)庫存儲(chǔ)模型的技術(shù),通過實(shí)際的測(cè)試,能提高開發(fā)效率和維護(hù)效率,降低開發(fā)成本,滿足最終用戶對(duì)數(shù)據(jù)錄入和檢索的需求。
關(guān)鍵詞: 動(dòng)態(tài)界面;XML字段;檢索條件;自定義界面;XML語法
【Abstract】: This paper introduces a method to realize dynamic interface, and designs a database storage model based on XML field technology to realize convenient data storage and combination condition retrieval function. Usually for a software business system, the need to achieve a variety of information input and a variety of combinations of search conditions, the software designer for each business information needs to design the corresponding entry items, input interface and retrieval functions, software development time is very large Spent in these repetitive work, and later also often respond to changing needs of the entry project, in order to address and respond to information entry project changes and custom requirements, and to meet the late high-level custom combination of data retrieval needs, We have studied the dynamic interface technology based on the latest database XML field syntax, and realized the input items needed by user customization, which reduces the time of repeated work. Dynamic interface technology related to the realization of post-database storage and retrieval functions, this paper explores a technology based on XML database storage model, through the actual test, we can improve the development efficiency and maintenance efficiency, reduce development costs, to meet the end user data entry and retrieval needs.
【Key words】: Dynamic interface; XML field; Search condition; Self-defined interface; XML syntax
0? 引言
通常每一個(gè)信息系統(tǒng)都需要實(shí)現(xiàn)數(shù)據(jù)錄入與組合條件的檢索功能,傳統(tǒng)的軟件設(shè)計(jì)通常會(huì)為每個(gè)業(yè)務(wù)設(shè)計(jì)相應(yīng)的錄入項(xiàng)目和界面,并且每個(gè)錄入項(xiàng)目對(duì)應(yīng)于數(shù)據(jù)庫表的某個(gè)字段,軟件設(shè)計(jì)者通常需要花費(fèi)大量的時(shí)間來設(shè)計(jì)軟件的錄入界面和定義相應(yīng)的數(shù)據(jù)庫表,并且隨著業(yè)務(wù)的變更,也必須由軟件工程師修改軟件才能實(shí)現(xiàn)需求變更,這大大增加了軟件開發(fā)和維護(hù)費(fèi)用。為解決這種多變的信息錄入需求,需要設(shè)計(jì)一套能基于用戶配置的界面處理技術(shù)方案,降低開發(fā)維護(hù)時(shí)間成本,增強(qiáng)應(yīng)對(duì)業(yè)務(wù)多變的界面設(shè)計(jì)需求[1-5]。
1? 技術(shù)背景
動(dòng)態(tài)界面生成技術(shù)方案的提出和設(shè)計(jì)是基于當(dāng)前最新的數(shù)據(jù)庫支持技術(shù)。傳統(tǒng)的數(shù)據(jù)庫存儲(chǔ)技術(shù)可以充分利用數(shù)據(jù)庫字段的各種特性,比如關(guān)鍵字、索引、限制等特性來提高檢索的速度,這對(duì)于數(shù)據(jù)量較大的業(yè)務(wù)系統(tǒng)來說至關(guān)重要?,F(xiàn)在,隨著數(shù)據(jù)庫存儲(chǔ)技術(shù)的發(fā)展,特別是XML類型字段及相應(yīng)檢索語法的支持為我們實(shí)現(xiàn)動(dòng)態(tài)界面和快速檢索數(shù)據(jù)提供了技術(shù)支持。本文探討了一種基于XML存儲(chǔ)字段的存儲(chǔ)格式和相應(yīng)的檢索語法,以實(shí)現(xiàn)自定義界面的存儲(chǔ)與高效的檢索需求[6-8]。
2? 動(dòng)態(tài)界面技術(shù)設(shè)計(jì)方案
動(dòng)態(tài)界面技術(shù)需要實(shí)現(xiàn)動(dòng)態(tài)界面定義與存儲(chǔ)、動(dòng)態(tài)生成界面組件、業(yè)務(wù)數(shù)據(jù)的存儲(chǔ)和組合條件的檢索功能。優(yōu)秀動(dòng)態(tài)界面技術(shù)關(guān)鍵在于自定義的靈活性和存儲(chǔ)檢索的效率[9-10]。
2.1? 動(dòng)態(tài)界面定義
模擬開發(fā)軟件工具,動(dòng)態(tài)界面定義首先需要解決組件的類型和每種類型需要設(shè)置的基本屬性,其次是界面控件的布局問題。對(duì)于最終用戶來說,屬性設(shè)置不宜太多太復(fù)雜,需要容易理解,根據(jù)一般輸入控件的特性,可以將控件分為通用屬性和特殊屬性。
2.2? 動(dòng)態(tài)生成界面組件
動(dòng)態(tài)生成界面組件,主要功能是根據(jù)界面定義描述xml,動(dòng)態(tài)生成需要的控件,并由布局控制器根據(jù)布局定義調(diào)整每個(gè)控件的顯示位置和大小,其功能劃分圖為。
界面定義xml:由動(dòng)態(tài)界面定義所生成的xml信息
控件生成器:根據(jù)界面定義xml文件的定義信息,動(dòng)態(tài)生成標(biāo)準(zhǔn)的或者用戶自定義的控件,并將控件遞交給界面布局控制器處理。
頁面布局控制器:根據(jù)控件的先后順序和空間布局屬性,定位顯示控件并設(shè)置其顯示大小。
2.3? 業(yè)務(wù)數(shù)據(jù)的存儲(chǔ)
對(duì)于動(dòng)態(tài)界面來說,因?yàn)樗袛?shù)據(jù)都是動(dòng)態(tài)配置的,傳統(tǒng)的每個(gè)輸入數(shù)據(jù)對(duì)應(yīng)一個(gè)數(shù)據(jù)庫表字段的方式已經(jīng)不適用,因此對(duì)于動(dòng)態(tài)界面的存儲(chǔ)需要采用格式化的xml來實(shí)現(xiàn)。通用的存儲(chǔ)模塊可以自動(dòng)遍歷界面的所有控件,根據(jù)控件類型存儲(chǔ)必要的信息。目前很多數(shù)據(jù)庫已經(jīng)支持 xml類型的字段,可以將業(yè)務(wù)數(shù)據(jù)通過 xml格式定義存儲(chǔ)在單一的 xml字段中,以實(shí)現(xiàn)無需調(diào)整數(shù)據(jù)庫表字段的目的,實(shí)際使用過程中非常便利和靈活。一個(gè)典型的xml存儲(chǔ)格式需要考慮存儲(chǔ)數(shù)據(jù)的特性以及存儲(chǔ)足夠的信息以便于檢索或者重現(xiàn)數(shù)據(jù)。
2.4? 組合條件的檢索功能
基于關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)檢索是業(yè)務(wù)系統(tǒng)經(jīng)常用到的功能,檢索的速度對(duì)于一個(gè)擁有大量數(shù)據(jù)的系統(tǒng)來說至關(guān)重要。一般數(shù)據(jù)庫都提供各種技術(shù)用于提升檢索數(shù)據(jù)的速度,比如關(guān)鍵字、約束、索引等,充分利用好數(shù)據(jù)庫的這些功能特性對(duì)于提升數(shù)據(jù)檢索速度至關(guān)重要。
對(duì)于使用xml字段類型來存儲(chǔ)動(dòng)態(tài)界面數(shù)據(jù)的應(yīng)用來說,需要解決兩大問題:數(shù)據(jù)項(xiàng)目的摘取和任意組合條件的查詢。
2.4.1? 數(shù)據(jù)項(xiàng)目的摘取
2.4.2? 任意組合條件的查詢
自定義界面所定義的數(shù)據(jù)項(xiàng)目都是完全未知的,因此無法像傳統(tǒng)軟件設(shè)計(jì)那樣固定好檢索需求,為此,我們可以提供通用的、更加靈活的自定義查詢組合條件的方式,為用戶提供功能強(qiáng)大的數(shù)據(jù)過濾和分析功能。在界面控件定義的通用屬性中,有一項(xiàng)檢索符合配置,檢索符合用于限制不同數(shù)據(jù)項(xiàng)所能使用的比較方式,包含:等于、不等于、大于等于、小于等于、大于、小于、包含、不包含等比較類型,同時(shí)組合條件還需要考慮到“與”和“或”的組合問題和組合的優(yōu)先級(jí)問題,組合的優(yōu)先級(jí)可以通過讓用戶使用括號(hào)來實(shí)現(xiàn),比如,假設(shè)用戶需要查詢所屬公司為總公司,并且會(huì)計(jì)制度為小企業(yè)會(huì)計(jì)制度或者小企業(yè)會(huì)計(jì)準(zhǔn)則的企業(yè),則可以通過組合條件輸入模塊定義符合要求的檢索過濾條件。
3? 結(jié)論
本文所介紹的自定義界面技術(shù)從自定義控件到數(shù)據(jù)庫存儲(chǔ)、檢索等方面提供了設(shè)計(jì)思路和實(shí)際例子,對(duì)實(shí)現(xiàn)小型業(yè)務(wù)系統(tǒng)具有非常實(shí)用的價(jià)值,可以大大縮短開發(fā)周期,讓用戶通過配置就能輕松生成業(yè)務(wù)系統(tǒng)所需要的數(shù)據(jù)。通過數(shù)據(jù)庫XML字段類型的支持,能便利實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)和檢索,但是由于檢索需要使用數(shù)據(jù)庫內(nèi)置的XML語法支持,其檢索效率可能受到一定影響,對(duì)于數(shù)據(jù)量非常大的業(yè)務(wù)系統(tǒng)應(yīng)用還需要進(jìn)一步對(duì)性能進(jìn)行測(cè)試和分析。
參考文獻(xiàn)
[1] 胡建飛. 關(guān)于. net控件數(shù)組的探討[J]. 軟件, 2018, 39(7): 103-105.
[2] 周春磊. 基于XML的異構(gòu)關(guān)系型數(shù)據(jù)交換模型[J]. 計(jì)算機(jī)與現(xiàn)代化, 2005(10): 99-101.
[3] 曹幫琴, 徐昊. B/S結(jié)構(gòu)中的MSSQL與XML數(shù)據(jù)交換技術(shù)研究[J]. 科技通報(bào), 2012, 28(10).
[4] 鞠訓(xùn)卓. 支持WEB用戶界面自動(dòng)生成的三種界面設(shè)計(jì)模式[D]. 山東大學(xué), 2007.
[5] 劉杰, 唐勇, 楊勇. 基于自定義組件的MIS程序界面自動(dòng)生成研究[J]. 武漢理工大學(xué)學(xué)報(bào)(信息與管理工程版), 2007, 29(6): 13-16.
[6] 郭彥輝. 響應(yīng)式 Web 設(shè)計(jì)的研究與實(shí)現(xiàn)[J]. 軟件, 2018, 39(1): 169-172
[7] 黎斌. 基于一體化標(biāo)識(shí)網(wǎng)絡(luò)和XML的WEB應(yīng)用的信息安全策略研究[J]. 軟件, 2012, 33(10): 93-94.
[8] 謝應(yīng)濤. 一種基于樹狀結(jié)構(gòu)的布局動(dòng)態(tài)調(diào)整方法[J]. 通訊世界, 2015(13): 87-87.
[9] 馬璇, 鄺野. 移動(dòng)終端自適應(yīng)界面的一致性評(píng)價(jià)體系[J]. 軟件, 2012, 33(12): 164-168.
[10] 焦華. 基礎(chǔ)編程的思考方法[J]. 軟件, 2018, 39(3): 57-62.