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

嵌入式產品平臺開發方法的研究與應用

2018-03-30 02:26:56徐繼蕓
電子技術與軟件工程 2017年16期
關鍵詞:嵌入式

徐繼蕓

摘要

傳統嵌入式系統的開發,受到目標平臺多樣、開發工具不完善、需要軟硬件協同開發等因素影響,往往開發周期較長,效率較低。同時,一個產品線下的研發團隊多以項目組為單位獨立開發,項目組之間缺乏有效的溝通和技術共享,導致重復開發,基礎模塊升級、維護不同步等問題。通過開發以通用構建模塊為基礎的產品平臺可以有效減少重復開發,提升產品研發效率。同時,在嵌入式產品平臺的開發中,通過合理的系統架構,綜合使用測試驅動開發,持續集成等敏捷開發方法和工具,提升產品平臺開發效率,保障產品平臺質量。

【關鍵詞】嵌入式 產品平臺 敏捷開發 持續集成 通用構建模塊 測試驅動開發

1 引言

對于一個有多個類似產品的產品線,構建一個以通用構建模塊為基礎的產品平臺,可以加快產品開發速度,降低產品開發成本,控制風險。

產品平臺的目標是將產品線成熟的CBB(Comnion Building Block,通用構建模塊)抽取(抽象、重構)出來,提供給應用開發人員使用。一方面避免重復開發基礎模塊,減輕應用開發的復雜度和工作量;另一方面,也避免了多個項目組各自封閉開發導致基礎模塊升級,Bug修改不同步等問題。

產品平臺的核心是通用構建CBB,CBB的核心是共性和可變性分析(Commonality and Variablity Analisys)。

下面介紹構建產品平臺的核心要點,以及相關的流程、方法和工具。

2 產品平臺總體架構

針對中大型嵌入式產品平臺,架構需要遵循如下2條核心原則:

2.1 分層

為了保持良好的結構,對于較大型系統的產品平臺,邏輯架構一定需要分層、分包(包,在C++代碼中對應的是namespace)設計。越底層,模塊功能越趨向工具,越高層,越趨向業務邏輯。

2.2 平臺無關設計

平臺無關設計對于嵌入式平臺非常重要,目的是切換硬件平臺后,產品平臺、應用程序無需改動,只需要針對目標平臺做一個實現即可。一般使用依賴倒置的設計方法實現平臺無關。

產品平臺邏輯架構圖如圖1產品平臺邏輯構架圖所示。

3 產品平臺的開發方法和工具

一個典型的嵌入式產品平臺物理架構視圖如圖2。

4 CBB開發流程

CBB是產品平臺的核心組成,CBB開發流程如下:

(1)模塊需求分析;

(2)模塊設計;

(3)模塊接口設計;

(4)編寫接口測試用例,偏重可用性測試(即TDD,可有效幫助接口設計);

(5)模塊設計評審;

(6)編碼;

(7)完善單元測試用例。

需要說明的是步驟4,即TDD(Test-driven Development)——測試驅動開發。測試驅動開發是極限編程中倡導的軟件開發方法,測試驅動開發的目的是取得快速反饋,并使用說明主線(illustrate the main line)的方法來構建程序。

經典的測試驅動開發流程,如圖3測試驅動開發(TDD)流程圖所示。

為了更敏捷的做設計評審,在設計階段,可以使用TDD來完善接口設計,我們稱之為TDDesign(測試驅動設計),優化的TDD如圖4CBB開發中的測試驅動(TDD)開發流程圖所示。

即,在接口設計完成后,實現前,先利用單元測試框架,根據業務流,調用接口寫幾個單元測試用例。

在實踐中TDD的好處很明顯:在寫TDD測試用例的過程中就可能發現接口設計的不合理。而且,對于持續集成的系統,TDD也并沒有增加工作量。

另一個需要特別說明是步驟5:對設計評審的關注。要求的設計評審內容:

(1)總體說明(若結構復雜則需有邏輯架構視圖);

(2)接口使用示例;

(3)類圖,序列圖(UML);

(4)設計決策;

(5)接口(直接附頭文件,不要粘貼到設計文檔)。

設計評審保證了CBB的設計質量,不會因為團隊成員素質的不同而出現重大的設計問題。

CBB代碼上傳到代碼倉庫后,剩下的就是自動化工具的工作了:依次自動觸發單元測試,集成測試,發布測試,最后郵件發送集成結果給開發人員。

5 持續集成流程

持續集成流程如圖5所示。

集成測試除了集成測試用例外,還復用單元測試的測試用例。集成測試運行單元測試的用例時,并非順序運行所有模塊(每個模塊初始化,測試,反初始化后再運行下個模塊),而是通過配置一定的依賴關系和策略,初始化一系列模塊后,運行測試用例,最后,再反初始化這些模塊。

6 發布流程

發布流程如圖6所示,自動化打包,并對發布包從用戶使用的過程測試一遍。發布流程每天構建,以保證每天都處于可發布狀態。所有過程均自動化。

7 主要工具

幾個關鍵的工具:

(1)Jenkins:做持續集成工具,使用腳本輔助實現嵌入式系統的遠程部署測試。

(2)GTest:Google的單元測試框架。

(3)CMake:高效友好的自動編譯工具,優于configure/make。

(4)Doxygen:自動生成接口說明,當然前提是規范好代碼的接口說明格式。

(5)MediaWiki:wiki工具,做CBB發布和技術文檔的發布平臺。人人貢獻的思想是推崇提倡的。

8 總結

本文介紹的嵌入式產品平臺已經在星網視易公司的KTV產品線得到應用,傳統上,該產品線一款基于全新硬件平臺的系統,開發周期大概需要10?12個月,而基于產品平臺,產品開發效率、質量顯著提升,芯片平臺切換時間大幅縮短至約原來的1/4。

實踐證明,一個產品線下多個產品并行開發時,使用產品平臺,可以大幅加快產品開發效率、提升質量、降低成本。同時,合理的系統架構,并輔以敏捷方法的使用,可以極大加快產品開發效率。

參考文獻

[1]Duvall? Paul M,,Steve Matyas,and Andrew Glover. Continuous integration: improving software quality and reducing risk [M]. Pearson Education, 2007.

[2]Beck,Kent.Test-driven development: by example[M] . Addison-Wesley Professional, 2003.

[3]徐仕成.持續集成在現代軟件開發中的應用與研究[D].中南大學,2007.

[4]紀海.基于云計算的產品平臺設計服務研究[D].機械科學研究總院,2012.

[5]戴建國,趙慶展,郭理,秦懷斌.持續集成在項目開發中的應用研究[J].計算機工程與設計,2009(10):2573-2576.

[6]Marta Larusdottir, Jan Gulliksen, Asa Cajander. A License To Ki11-Improving UCSD In Agile Development[J]. The Journal of Systems & Software,2016.

[7]GB/T 22033-2008《信息技術嵌入式系統術語》概要[J].信息技術與標準 化,2009(08):38-40.

[8]A g i1e software development,wikipedia.org[EB/0L].http:// en.wikipedia.org/wiki/Agile_ software-development.

[9]Test-driven development,wikipedia. org [EB/OL] . http: //en. wikipedia. org/ wiki/Agile_sof tware-development.

猜你喜歡
嵌入式
Focal&Naim同框發布1000系列嵌入式揚聲器及全新Uniti Atmos流媒體一體機
TS系列紅外傳感器在嵌入式控制系統中的應用
電子制作(2019年7期)2019-04-25 13:17:14
基于嵌入式Linux內核的自恢復設計
嵌入式系統通信技術的應用
電子制作(2018年18期)2018-11-14 01:48:16
嵌入式PLC的設計與研究
電子制作(2018年16期)2018-09-26 03:27:18
搭建基于Qt的嵌入式開發平臺
基于嵌入式系統Windows CE的應用程序開發
嵌入式單片機在電機控制系統中的應用探討
電子制作(2017年8期)2017-06-05 09:36:15
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
Altera加入嵌入式視覺聯盟
主站蜘蛛池模板: 久草视频精品| 免费av一区二区三区在线| 天天综合色网| 亚洲区视频在线观看| 秋霞午夜国产精品成人片| 精品人妻无码中字系列| 成人亚洲天堂| 色综合成人| 日韩精品无码免费一区二区三区 | 天堂va亚洲va欧美va国产| 91在线精品麻豆欧美在线| 亚洲中文字幕精品| 亚洲中文无码av永久伊人| 亚洲女同欧美在线| 国产精品欧美激情| 欧美日韩免费| 91青草视频| 久久久久国产一区二区| 国产91无毒不卡在线观看| 日韩亚洲综合在线| 国内精品伊人久久久久7777人| 欧美成人区| 亚洲欧美不卡| 国产99在线观看| 欧美成人h精品网站| 欧美日韩国产高清一区二区三区| 欧美一级在线| 国产成人一区二区| 国产精品一线天| 久久天天躁狠狠躁夜夜躁| 国产人人乐人人爱| 国产精品久久久久久久伊一| 亚洲αv毛片| 精品视频91| 国产新AV天堂| 国产一级α片| 国产亚洲男人的天堂在线观看| 97视频在线精品国自产拍| 久草国产在线观看| 高潮毛片无遮挡高清视频播放| 久久这里只有精品免费| 伊人成色综合网| 青青操视频免费观看| 伦精品一区二区三区视频| 青青草原国产av福利网站| 久久动漫精品| 亚洲无码高清视频在线观看| 国产第一福利影院| 国产女人综合久久精品视| 污污网站在线观看| 一级毛片中文字幕| 午夜爽爽视频| 亚洲精品无码AV电影在线播放| 男人天堂亚洲天堂| 天天做天天爱天天爽综合区| 国产成人亚洲精品蜜芽影院| 国产成年女人特黄特色大片免费| 亚洲一级色| 欧美综合成人| 五月丁香伊人啪啪手机免费观看| 国产成人精品一区二区三区| 天天躁夜夜躁狠狠躁图片| 99爱视频精品免视看| 国产在线视频二区| 亚洲区欧美区| 亚洲天堂精品视频| 欧美中文一区| 日本一本在线视频| 欧美精品xx| 国产SUV精品一区二区6| 亚洲成a人在线观看| 国产精品爽爽va在线无码观看| 中文字幕日韩视频欧美一区| 久久久久国产精品免费免费不卡| 亚洲人成网站色7777| 国产成人无码综合亚洲日韩不卡| 亚洲综合国产一区二区三区| 天天综合网色| 日韩av无码精品专区| 99视频全部免费| 欧美在线视频不卡第一页| 亚洲无码在线午夜电影|