999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

嵌入式軟件界面自動生成方法

2022-03-09 01:49:44趙昶宇胡平
科技與創新 2022年4期
關鍵詞:界面信息

趙昶宇,胡平

(1.天津津航計算技術研究所,天津 300308;2.海軍工程大學艦船與海洋學院,湖北 武漢 430033)

簡潔友好的用戶界面是嵌入式系統的重要功能組成,通過用戶界面接收系統輸入的數據,并顯示軟件處理的結果。隨著嵌入式系統復雜性的不斷提高,對系統人機交互界面提出了越來越高的要求。一般來講,嵌入式軟件系統中的人機界面設計占據大約50%的代碼量,軟件系統的執行時間有近50%的時間在執行人機界面。從某種程度上說,人機界面設計已成為嵌入式軟件系統開發中最耗時、最困難的技術之一。傳統的人機界面的設計方法存在較多缺陷:①由于界面開發和程序設計語言、開發平臺之間存在緊耦合性,同樣的軟件功能使用不同的程序設計語言、在不同的平臺下運行,軟件開發的代碼量存在不小的差異和改動;②如果界面的控件元素較多,僅對這些控件元素進行布局和生成就會耗費大量的時間和精力,且后期一個小小的改動都會使人機界面的維護工作量巨大。

如何花費最少的人力財力,并且在最短的時間內開發出滿足用戶不斷變化需求的能夠獨立于各種界面設計工具的圖形化人機界面,已經成為嵌入式軟件系統需要亟待解決的問題。為了解決和改進當前嵌入式軟件系統人機界面設計存在的代碼靈活性、可移植性和維護性差以及耗時耗力等問題,很有必要開發設計一種基于界面控件自動生成和布局的通用模式。傳統的界面開發工具在界面設計和功能代碼之間仍然存在著必要的耦合關系,本文為實現嵌入式軟件界面的可配置管理和自動生成,提出一種基于XML 技術的界面生成和管理方法,利用XML 構建界面配置文件和界面元素,根據用戶需求自動生成嵌入式軟件界面。

1 基于XML 的界面管理和生成技術

可擴展標記語言XML ( Extensible Markup Language)是一種面向Internet 應用的可跨平臺的、依賴于內容的通用語言規范,它是處理分布式結構信息的有效工具,學術界將其作為未來網絡發展的技術基石。

XML 語言是一種純文本的文件格式,XML 文檔由XML 元素構成,包括開始標簽、結束標簽以及2個標簽之間的元素內容。XML 中可以實現元素中再嵌套別的元素,XML 文檔的對象還包括處理指令、根元素、子元素、屬性以及注釋。雖然XML 文檔占用的存儲空間比二進制文檔要多,但是由于XML 語言通常采用簡單的標記用來描述數據,使其可以在任何應用程序中方便地進行數據存儲和傳輸,它已經成為目前進行數據交換的唯一公共語言。XML 語言的這種簡單的結構特性使其可以與各種操作系統下生成的數據進行結合,通過加載并分析XML 數據文件,輸出XML 格式的結果[1]。

在XML 文檔中,用戶不可隨意定義標記,必須按照特定的語法規則,并根據需要來定義標記。在XML文檔中按照語法規則編寫的文檔結構必須是完整的,這樣才能保證XML 處理器或者瀏覽器能夠正確讀取并解析文檔的內容。XML 文檔的基本規則包括以下幾點:①文檔必須以XML 聲明,所有標記必須配對,不能省去任何結束標記,且XML 文檔必須包含在一個單一元素中;②XML 元素是XML 文檔中出現的標簽,一個標簽中可以嵌套若干子標簽,但所有標簽必須合理的嵌套,不允許有交叉嵌套;③XML 文檔的屬性必須有值,且值必須用引號括起來,元素中的屬性不允許重復;④處理指令是為XML 解析器提供信息,使其能夠正確解析元素內容,它是為使用一段特殊代碼而設計的標記;⑤XML 文檔中有且只有一個根元素,其他元素都是該根元素的子元素或孫元素,XML 元素是對大小寫敏感的;⑥對于XML 元素中出現的所有空格和換行,XML 解析程序都會當作元素內容進行處理。

基于XML 語言的嵌入式軟件界面描述文件,不僅需要考慮到利用其能夠自動生成軟件界面的特點,還需要關注界面元素易于修改和維護的情形。通常來講,嵌入式軟件的界面描述文件一般包含以下內容:①定義軟件界面的框架結構;②定義和描述字段的屬性信息;③描述界面元素(各種控件)的上下文內容;④描述界面元素的嵌套層次關系。

嵌入式軟件人機界面上的控件類型一般分為通用容器類控件和基本類型控件,通用容器類控件一般包括選項卡面板、滾動面板和分割式面板,基本類控件包括按鈕類、靜態文本類、文本編輯框類、組合框、列表框、單選框以及復選框等。通用容器類控件的XML 描述見表1,基本類型控件的XML 描述見表2。

表1 通用容器類控件的XML 描述

表2 基本類型控件的XML 描述

2 嵌入式軟件界面自動生成模型的建立

為實現軟件界面設計和任務功能設計的分離,提出一種基于XML 的界面動態生成技術。該方法利用XML 描述用戶界面并進行持久存儲,通過讀取并解析XML 配置文件的表示層信息,在運行時生成界面元素,使系統每次啟動時都按XML 配置文件提供的信息來顯示界面,無需重新編譯和連接,實現了任意交互界面的動態創建,為最終用戶提供了靈活的界面維護修改功能。嵌入式軟件的界面自動生成模型共分為3層設計:界面表示層、邏輯處理層和數據存儲層。自動生成模型見圖1[2]。

圖1 嵌入式軟件界面自動生成模型

界面表示層位于自動生成模型的最上層,主要完成將界面控件對象描述信息(控件對象的屬性值)存儲到XML 文件中,并通過XML API 解析軟件界面配置文件信息。邏輯處理層位于自動生成模型的中間位置,它是軟件界面自動生成的核心層,用于完成和界面表示層、數據存儲層的交互工作。它不僅可以獲取軟件界面控件對象的具體描述信息,還能獲取界面自動生成時依賴的界面元素數據。

數據存儲層位于自動生成模型的最下層,它用于存儲界面元素數據信息,主要包括界面控件的相關信息、字段類型和約束條件等內容。通過訪問數據庫接口,完成數據存儲層和邏輯處理層的數據信息交互。

雖然界面表示層、邏輯處理層和數據存儲層在邏輯結構上是相互獨立的,但它們之間又存在著數據交互。該嵌入式軟件界面自動生成模型將界面控件對象的描述信息與代碼實現分離,利用XML 文檔技術實現了從界面隨意配置到界面的自動生成[3]。該模型具有以下幾個特點:①由于XML 技術不僅支持多種開發工具,而且具有與使用語言無關的特性,軟件設計人員只需關注界面控件對象的描述信息和描述方式,無需考慮開發工具的差異性,極大地提高了界面控件設計的通用性;②當用戶對嵌入式軟件界面的使用需求發生改變時,無需修改程序代碼,只需根據用戶需求修改界面定制配置文件即可。該模型不僅滿足用戶不斷變化的需求,還支持用戶跨平臺執行界面程序,具有良好的可擴展性;③通過界面表示層、邏輯處理層和數據存儲層實現了軟件界面的外在形式、界面元素信息和界面數據邏輯處理的層次化模型的建立,并在軟件界面運行時可通過動態修改資源配置文件的方式實現界面的多樣化顯示。

3 嵌入式軟件界面自動生成流程和算法

嵌入式軟件的界面自動生成技術由XML 文檔(存儲界面描述信息)、界面管理組件、界面生成組件、界面定制工具和編程語言組件庫等組成。首先通過解析XML 文檔,獲取界面描述對象的具體信息,然后通過調用編程語言組件庫完成組件的構建工作,并為相關組件設置事件監聽類,最終實現了用戶界面的自動生成。

嵌入式軟件界面管理組件根據界面配置文件中相關文件路徑以及對應的界面信息,獲取到界面描述對象,并創建當前界面配置信息,同時界面配置組件將界面描述對象信息返回給界面管理組件;如果用戶曾經定制過界面,則界面管理組件通過調用定制后的界面配置信息,創建定制后的界面描述對象,然后由界面定制組件將定制后的界面描述對象返回給界面管理組件;界面管理組件通過遞歸調用界面動態生成組件,獲取界面上所有的表示信息,完成了最終的頁面樣式;最后界面管理組件完成了動態生成界面的加載,并在界面上顯示出來。嵌入式軟件界面動態生成的UML時序圖見圖2。

圖2 嵌入式軟件界面自動生成時序圖

嵌入式軟件界面的自動生成算法步驟如下。

步驟1:采用XML Schema 工具驗證界面配置文件的內容合法性,若內容合法,利用XML API 解析配置文件內容,生成對應的內存數據,執行步驟2;若內容不合法,算法結束。

步驟2:通過XML API 將步驟1 生成的內存數據翻譯成格式化文本,完成界面配置文件的更新操作,然后通過數據存取類接口讀寫數據存儲層中的界面數據信息,并存儲在自定義數據結構中。

步驟3:加載上述2 步獲取的數據信息,循環生成界面元素,若生成界面元素結束,則轉向步驟7,否則繼續執行步驟4。

步驟4:通過遍歷所有類型的控件節點,檢查該控件節點是否存在,若存在,則根據用戶的不同操作得到控件的主鍵值,通過XML 配置文件讀取界面表示層信息,執行步驟5;若不存在,執行步驟6。

步驟5:加載每個控件節點的屬性數據,判斷每個控件節點下是否存在相應的事件節點,若存在,則判斷該事件類型,并加載該節點相應事件,執行步驟6;若不存在,執行步驟7。

步驟6:自動生成軟件界面并顯示所有控件。

步驟7:判斷界面配置文件是否讀取結束,若到達文件尾,則算法結束,否則,轉向步驟3。

4 結束語

本文提出了一種嵌入式軟件界面的自動生成方法,建立了相應模型,并闡述了該方法的技術實現原理。該方法一方面極大降低了軟件開發人員的工作量,更重要的是使得界面生成代碼具有良好的可移植性和可維護性,大大提高了軟件代碼的重用率和代碼穩定性。

猜你喜歡
界面信息
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
空間界面
金秋(2017年4期)2017-06-07 08:22:16
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
電子顯微打開材料界面世界之門
人機交互界面發展趨勢研究
手機界面中圖形符號的發展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 国产精品久久久久鬼色| 国产欧美精品一区aⅴ影院| 一区二区三区在线不卡免费| 国产人妖视频一区在线观看| 国产91小视频| AV熟女乱| 热九九精品| 久久久久无码精品国产免费| 精品视频在线观看你懂的一区| a亚洲天堂| 第一区免费在线观看| 激情六月丁香婷婷| 日韩欧美国产综合| 国产老女人精品免费视频| 91成人在线观看视频| 久996视频精品免费观看| 搞黄网站免费观看| 久久公开视频| 国产精品不卡永久免费| 一级毛片免费不卡在线| AV不卡在线永久免费观看| 亚洲国产精品一区二区高清无码久久| 福利片91| 在线观看无码a∨| 首页亚洲国产丝袜长腿综合| 欧美精品啪啪一区二区三区| 日本日韩欧美| 蜜桃视频一区二区三区| 一级毛片免费播放视频| 欧美视频免费一区二区三区| 试看120秒男女啪啪免费| 女人av社区男人的天堂| 日本三级精品| 亚国产欧美在线人成| 亚洲美女AV免费一区| 精品夜恋影院亚洲欧洲| 一级毛片免费高清视频| 美女一区二区在线观看| 国产精品lululu在线观看| 五月婷婷精品| 亚洲精品视频在线观看视频| 亚洲精品波多野结衣| 蜜臀AVWWW国产天堂| 久久无码免费束人妻| 极品国产一区二区三区| 四虎永久在线精品影院| 女同国产精品一区二区| 亚洲视频免费在线看| 国产精品浪潮Av| 2020久久国产综合精品swag| 色成人亚洲| 亚洲无码熟妇人妻AV在线| 欧美另类精品一区二区三区| 天天摸夜夜操| 97视频精品全国在线观看| 亚洲成人高清在线观看| 97se亚洲综合在线韩国专区福利| 美女高潮全身流白浆福利区| 中文字幕波多野不卡一区| www.精品国产| 国产9191精品免费观看| 亚洲国产综合精品一区| 亚洲人成日本在线观看| 伊人久久婷婷| 精品福利视频导航| 亚洲中文字幕23页在线| 久久人搡人人玩人妻精品| 久久这里只有精品国产99| 国产91视频观看| 99在线观看精品视频| 亚洲天堂网2014| 久久综合结合久久狠狠狠97色| 亚洲人免费视频| 久久99久久无码毛片一区二区| 欧美一级大片在线观看| 国产成人精品综合| 亚洲码一区二区三区| 亚洲伊人电影| 99re免费视频| 九九九九热精品视频| 国产亚洲美日韩AV中文字幕无码成人| 日韩欧美中文|