為可重用軟件模塊創(chuàng)建一致且適當(dāng)?shù)?a target="_blank">接口是嵌入式軟件設(shè)計中最關(guān)鍵和最受忽視的方面之一。接口通常是在飛行中開發(fā)的,幾乎沒有預(yù)見到。但是為了確保軟件可以從一個應(yīng)用程序輕松地用于下一個應(yīng)用程序,每個開發(fā)人員都應(yīng)該記住五個提示。
提示1 -從一個必需的列表開始操作
在開始為軟件模塊編寫接口之前,開發(fā)人員應(yīng)該花一些時間寫出接口需要執(zhí)行的簡單操作列表。該列表充當(dāng)開發(fā)人員的便箋簿,以便思考接口需要做什么。模塊的操作是什么?它需要什么輸入?它將產(chǎn)生什么輸出?所有這三個問題都需要回答。列表和問題將作為設(shè)計界面的起點。
技巧#2 -使用UML類圖
UML類圖用于表示類,但也可用于表示模塊更重要的是,模塊接口。類圖的基本組件是由三個部分組成的框。第一部分(頂部)包含模塊的名稱。第二部分(中間)包含模塊的屬性。第三個也是最后一個部分用于定義接口公開的操作和方法。
模塊的屬性可以被認(rèn)為是接口操作將要操作的私有和公共變量。屬性前面的加號表示它是公共的,并直接作為界面的一部分公開。減號表示該屬性是私有的,只能通過使用界面公開的操作在幕后進行操作。將這些操作視為提示#1中列出的相同操作。圖1顯示了左側(cè)通用模塊定義的示例和EEPROM模塊的簡化接口。
圖1 - 示例類/模塊圖
技巧#3 -將接口與實現(xiàn)分開
當(dāng)開始開發(fā)模塊的接口時,開發(fā)人員應(yīng)該盡一切可能將接口與模塊的實現(xiàn)分開。接口的面向公眾的部分的詳細(xì)信息都應(yīng)該包含在頭文件中,在這種情況下,頭文件定義了模塊的接口。實現(xiàn)細(xì)節(jié)應(yīng)保存在源文件中。將實現(xiàn)細(xì)節(jié)與接口分開,開始為開發(fā)人員提供隱藏實現(xiàn)的能力。這種隱藏導(dǎo)致了模塊類的抽象,并提供了以后重新定義實現(xiàn)而不影響接口的能力。
技巧#4 -使用抽象數(shù)據(jù)類型
要求總是改變并預(yù)測要求如何變化通常是徒勞的,即使一個人配備了水晶球。抽象數(shù)據(jù)類型旨在幫助開發(fā)人員處理不斷變化的需求。例如,在頭文件中定義為接口的一部分的數(shù)據(jù)結(jié)構(gòu)。引用頭文件的任何模塊都能夠基于該數(shù)據(jù)結(jié)構(gòu)創(chuàng)建和修改數(shù)據(jù)。當(dāng)需求發(fā)生變化并且數(shù)據(jù)結(jié)構(gòu)發(fā)生變化時,結(jié)果是需要為使用頭文件的任何文件提供更新。
如果開發(fā)人員創(chuàng)建了一個抽象數(shù)據(jù)類型,其中數(shù)據(jù)結(jié)構(gòu)的詳細(xì)信息隱藏在實現(xiàn)中,則只需要更新源文件實現(xiàn)。使用頭文件的任何模塊都將繼續(xù)使用公共接口,底層實現(xiàn)將處理更改的數(shù)據(jù)類型。
提示#5 -封裝數(shù)據(jù)
計算機科學(xué)課程中教授的第一個概念之一是變量或?qū)ο髴?yīng)限于可能的最小程序范圍。類似地,如何實現(xiàn)接口的細(xì)節(jié)應(yīng)限于需要知道的基礎(chǔ)。開發(fā)人員應(yīng)嘗試從模塊的用戶中隱藏盡可能多的數(shù)據(jù)和實現(xiàn)。隱藏細(xì)節(jié)有助于防止用戶直接操作模塊的內(nèi)部數(shù)據(jù),這可能導(dǎo)致模塊進入未知或不一致狀態(tài)。
最終想法
發(fā)展充滿了不斷變化的需求和短暫的開發(fā)周期。使用適當(dāng)?shù)慕缑嬖O(shè)計技術(shù)可以改善軟件的整體設(shè)計,并最大限度地減少不斷變化的需求移動目標(biāo)的影響。我們已經(jīng)研究了五個設(shè)計界面的簡單技巧。在開發(fā)經(jīng)得起時間考驗的界面時,開發(fā)人員應(yīng)該考慮哪些其他注意事項?
-
嵌入式
+關(guān)注
關(guān)注
5149文章
19659瀏覽量
317356 -
PCB打樣
+關(guān)注
關(guān)注
17文章
2977瀏覽量
22558 -
華強PCB
+關(guān)注
關(guān)注
8文章
1831瀏覽量
28593 -
華強pcb線路板打樣
+關(guān)注
關(guān)注
5文章
14629瀏覽量
43911
發(fā)布評論請先 登錄
c接口和實現(xiàn):創(chuàng)建可重用軟件的技術(shù) 源碼下載
單片機接口全套學(xué)習(xí)資料(接口設(shè)計資料+學(xué)習(xí)書籍)
以太網(wǎng)一致性測試硬件軟件
算法運行時間軟件仿真和硬件仿真不一致
經(jīng)典C語言接口與實現(xiàn):創(chuàng)建可重用軟件的技術(shù)
數(shù)字可視接口(DVI)一致性測試
RFID協(xié)議一致性測試系統(tǒng)設(shè)計(二)

加速器一致性接口
一致性哈希是什么?為什么它是可擴展的分布式系統(tǒng)架構(gòu)的一個必要工具
《C語言接口與實現(xiàn):創(chuàng)建可重用軟件的技術(shù)》電子教材免費下載
C語言接口與實現(xiàn)創(chuàng)建可重用軟件的技術(shù)PDF電子書免費下載

NVIDIA DOCA 軟件框架可提供一致開發(fā)體驗

可重用的驗證組件中構(gòu)建測試平臺的步驟

評論