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