日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

一個實際嵌入式系統(tǒng)架構(gòu)的演化

來源: 責編: 時間:2023-11-01 17:05:43 309觀看
導讀上世紀九十年代,互聯(lián)網(wǎng)的極速發(fā)展讓通訊測試設備也得到了極大的發(fā)展。那個年代,能夠?qū)崿F(xiàn)某種測量的硬件是競爭的核心,軟件的目的僅僅是驅(qū)動硬件運行起來,再提供一個簡單的界面。所以,最初的產(chǎn)品的軟件結(jié)構(gòu)非常簡單,類似前面

上世紀九十年代,互聯(lián)網(wǎng)的極速發(fā)展讓通訊測試設備也得到了極大的發(fā)展。那個年代,能夠?qū)崿F(xiàn)某種測量的硬件是競爭的核心,軟件的目的僅僅是驅(qū)動硬件運行起來,再提供一個簡單的界面。所以,最初的產(chǎn)品的軟件結(jié)構(gòu)非常簡單,類似前面的城鐵門禁系統(tǒng)。PRp28資訊網(wǎng)——每日最新資訊28at.com

  • 優(yōu)點:程序簡單明了的實現(xiàn)了用戶的需求,一個程序員就可以全部搞定。
  • 缺點:完全沒有劃分模塊,底層上層耦合嚴重。

PRp28資訊網(wǎng)——每日最新資訊28at.com

1. 數(shù)據(jù)處理

用戶要求能將測量結(jié)果保存下來,并可以重新打開。數(shù)據(jù)存儲模塊和界面被獨立出來。PRp28資訊網(wǎng)——每日最新資訊28at.com

依然保持上面的主邏輯,但是界面部分不僅可以顯示實時的數(shù)據(jù),也可以從ResultManager中讀取數(shù)據(jù)來顯示。PRp28資訊網(wǎng)——每日最新資訊28at.com

  • 優(yōu)點:數(shù)據(jù)和界面分離的雛形初步顯現(xiàn)
  • 缺點:ResultManager只是作為一個工具存在,負責保存和裝載歷史數(shù)據(jù)。界面和數(shù)據(jù)的來源依然耦合的很緊。不同的界面需要的不同數(shù)據(jù)都是通過硬編碼判斷的。

2. 窗口管理

隨著功能不斷復雜,界面窗口越來越多,原來靠一個類來繪制各種界面的方式已經(jīng)不能承受。于是窗口的概念被引入。每個界面都被視為一個窗口,窗口中的元素為控件。窗口的打開,關閉,隱藏則由窗口管理器負責。PRp28資訊網(wǎng)——每日最新資訊28at.com

  • 優(yōu)點:界面功能以窗口的單位分離,不再是一個超大的集合。
  • 缺點:雖然有了窗口管理器,但是界面依然是直接和底層耦合的,依然是大循環(huán)結(jié)構(gòu)。

3. MVC模式

隨著規(guī)模進一步擴大,最初的大循環(huán)結(jié)構(gòu)終于無法滿足日益復雜的需求了。標準的MVC模式被引入,經(jīng)歷了一次大的重構(gòu)。PRp28資訊網(wǎng)——每日最新資訊28at.com

數(shù)據(jù)中心作為Model被獨立出來,保存著當前最新的數(shù)據(jù)。View被放在了獨立的任務中執(zhí)行,定期從DataCenter輪詢數(shù)據(jù)。用戶的操作通過View發(fā)送給Controller,進一步調(diào)用硬件驅(qū)動執(zhí)行。硬件執(zhí)行的結(jié)果從驅(qū)動到Controller更新到DataCenter中。界面,數(shù)據(jù),命令三者基本解耦。ResultManager成為DataCenter的一個組件,View不再直接與其通訊。PRp28資訊網(wǎng)——每日最新資訊28at.com

MVC模式的引入,第一次讓這個產(chǎn)品了有真正意義上職責明晰,功能獨立的架構(gòu)。PRp28資訊網(wǎng)——每日最新資訊28at.com

4. 大量類似模塊,低效的復用

到上一步,作為一個單獨的嵌入式設備,其架構(gòu)基本可以滿足需求。但是隨著市場的擴展,越來越多的設備被設計出來。這些設備雖然執(zhí)行的具體測量任務不同,但是他們都有著同樣的操作方式,類似的界面,更主要的是,它們面臨的問題領域是相同的。長期以來,復制和粘貼是唯一的復用方式,甚至類名變量名都來不及改。一個錯誤在一個設備上被修正,同樣一段代碼的錯誤在其他設備上卻來不及修改。而隨著團隊規(guī)模的擴大,甚至MVC的基本架構(gòu)在一些新設備上都沒能遵守。PRp28資訊網(wǎng)——每日最新資訊28at.com

最終框架被引入了這個系列的產(chǎn)品。框架確定了如下內(nèi)容:PRp28資訊網(wǎng)——每日最新資訊28at.com

  • MVC模式的基本架構(gòu)
  • 窗口管理器和組件布局算法
  • 多國語言方案(字符串管理器)
  • 日志系統(tǒng)
  • 內(nèi)存分配器和內(nèi)存泄露檢測

5. 遠程控制

客戶希望將設備固定安放在網(wǎng)絡的某個位置,作為“探針”使用,在辦公室通過遠程控制來訪問這個設備。這對于原本是作為純手持設備設計的系統(tǒng)又是一個挑戰(zhàn)。幸運的是,MVC架構(gòu)具有相當?shù)膹椥裕缙诘耐度氆@得了回報。PRp28資訊網(wǎng)——每日最新資訊28at.com

TL1 Server 對外提供基于Telnet的遠程控制接口。在系統(tǒng)內(nèi)部,它的位置相當于View,只和原有的Controller和DataCenter通訊。PRp28資訊網(wǎng)——每日最新資訊28at.com

6. 自動化的TL1解釋器

由于TL1命令相當多,而TL1又往往不是客戶的第一需求,很多設備的TL1命令開始不完整。究其原因,還是手寫TL1命令的解釋器太累。后來通過引入Bison和Flex,這個問題有所改善,但還是不足。自動化代碼生成在這個階段被引入。通過以如下的格式定義TL1,工具可以自動生成TL1的編碼和解碼器代碼。PRp28資訊網(wǎng)——每日最新資訊28at.com

CMD_NAME{  cmd = “SET-TIME-CONFIG::<ctag>::<year>,<month>,<day>,<hour>,<minute>,[<second>]”  year = 1970..2100  month = 1..12  day = 1..31  hour = 0..23  minute = 0..59  second = 0..59}

PRp28資訊網(wǎng)——每日最新資訊28at.com

7. 測試的難題

經(jīng)過數(shù)十年的積累,產(chǎn)品已經(jīng)成為一個系列,幾十種設備。大部分設備進入了維護期,經(jīng)常有客戶提一些小的改進,或者要求修正一下缺陷。繁重的手工回歸測試成為了噩夢。PRp28資訊網(wǎng)——每日最新資訊28at.com

基于TL1的自動化測試極大的解放了測試人員。通過在PC上運行的測試腳本,回歸測試變得簡單而可靠。唯一不足的是界面部分無法驗證。PRp28資訊網(wǎng)——每日最新資訊28at.com

基于Test Quest的自動化工具需要在設備運行的pSOS系統(tǒng)上開發(fā)一個類似遠程桌面的軟件,而這在pSOS上并非易事。不過好消息是,由于框架固定了界面的風格和布局算法,基于Test Quest的自動化工具會有很高的識別效率。PRp28資訊網(wǎng)——每日最新資訊28at.com

8. 小結(jié)

從這個實際的嵌入式產(chǎn)品重構(gòu)的歷程可以看出,第三步引入MVC模式和第四步的框架化是非常關鍵的。成熟的MVC模式保證了后續(xù)一系列的可擴充性,而框架則保證了這個架構(gòu)的在所有產(chǎn)品中的準確重用。PRp28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-16392-0.html一個實際嵌入式系統(tǒng)架構(gòu)的演化

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 前端日歷實現(xiàn):公歷、農(nóng)歷、黃歷、星座、節(jié)氣、天干、地支、八字、星宿、五行...

下一篇: Context在Android開發(fā)中的重要角色

標簽:
  • 熱門焦點
  • MIX Fold3包裝盒泄露 新機本月登場

    小米的全新折疊屏旗艦MIX Fold3將于本月發(fā)布,近日該機的真機包裝盒在網(wǎng)上泄露。從圖上來看,新的MIX Fold3包裝盒在外觀設計方面延續(xù)了之前的方案,變化不大,這也是目前小米旗艦
  • 5月安卓手機好評榜:魅族20 Pro奪冠

    性能榜和性價比榜之后,我們來看最后的安卓手機好評榜,數(shù)據(jù)來源安兔兔評測,收集時間2023年5月1日至5月31日,僅限國內(nèi)市場。第一名:魅族20 Pro好評率:97.50%不得不感慨魅族老品牌還
  • 0糖0卡0脂 旭日森林仙草烏龍茶優(yōu)惠:15瓶到手29元

    旭日森林無糖仙草烏龍茶510ml*15瓶平時要賣為79.9元,今日下單領取50元優(yōu)惠券,到手價為29.9元。產(chǎn)品規(guī)格:0糖0卡0脂,添加草本仙草汁,清涼爽口,富含茶多酚,保留
  • 學習JavaScript的10個理由...

    作者 | Simplilearn編譯 | 王瑞平當你決心學習一門語言的時候,很難選擇到底應該學習哪一門,常用的語言有Python、Java、JavaScript、C/CPP、PHP、Swift、C#、Ruby、Objective-
  • 微信語音大揭秘:為什么禁止轉(zhuǎn)發(fā)?

    大家好,我是你們的小米。今天,我要和大家聊一個有趣的話題:為什么微信語音不可以轉(zhuǎn)發(fā)?這是一個我們經(jīng)常在日常使用中遇到的問題,也是一個讓很多人好奇的問題。讓我們一起來揭開這
  • 重估百度丨“晚熟”的百度云,能等到春天嗎?

    &copy;自象限原創(chuàng)作者|程心排版|王喻可2016年7月13日,百度云計算戰(zhàn)略發(fā)布會在北京舉行,宣告著百度智能云的正式啟程。彼時的會場座無虛席,甚至排隊排到了門外,在場的所有人幾乎都
  • 華為發(fā)布HarmonyOS 4:更好玩、更流暢、更安全

    在8月4日的華為開發(fā)者大會2023(HDC.Together)大會上,HarmonyOS 4正式發(fā)布。自2019年發(fā)布以來,HarmonyOS一直以用戶為中心,經(jīng)歷四年多的發(fā)展HarmonyOS已
  • 到手價3099元起!iQOO Neo8 Pro今日首銷:安卓性能最強旗艦

    5月23日,iQOO如期舉行了新品發(fā)布會,全新的iQOO Neo8系列也正式與大家見面,包含iQOO Neo8和iQOO Neo8 Pro兩個版本,其中標準版搭載高通驍龍8+,而Pro版更
  • 電博會與軟博會實現(xiàn)"線下+云端"的雙線融合

    在本次“電博會”與“軟博會”雙展會利好條件的加持下,既可以發(fā)揮展會拉動人流、信息流、資金流實現(xiàn)快速交互流動的作用,繼而推動區(qū)域經(jīng)濟良性發(fā)展;又可以聚
Top 主站蜘蛛池模板: 芦溪县| 桐柏县| 长治市| 姜堰市| 万州区| 镇巴县| 思茅市| 永兴县| 南昌县| 密云县| 德阳市| 松滋市| 湾仔区| 榆林市| 苗栗县| 资源县| 怀柔区| 祁阳县| 惠州市| 涞水县| 洪泽县| 文昌市| 巴中市| 象州县| 甘孜县| 新安县| 始兴县| 安仁县| 涡阳县| 濮阳市| 文安县| 霞浦县| 海盐县| 天气| 卓尼县| 贡嘎县| 绥化市| 辉南县| 新竹市| 皋兰县| 淄博市|