硬件工程師需要知道的8個軟件設(shè)計技巧_第1頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、硬件工程師需要知道的8個軟件設(shè)計技巧系統(tǒng)設(shè)計不僅要了解硬件還應(yīng)當(dāng)了解它與軟件之間的互相影響和作用。硬件設(shè)計需要一定的設(shè)計范例,這點對于軟件設(shè)計卻不那么適用。如何從單純的硬件設(shè)計過渡到硬軟結(jié)合的設(shè)計,在你著手開發(fā)軟件時需注重以下八個軟件設(shè)計技巧。1.設(shè)計控制流程圖工程師舉行到開發(fā)軟件這一步時會不由自主地開頭書寫代碼。這種思維定勢就像在原理圖還未完成之前就開頭嘗試畫。當(dāng)著手開發(fā)軟件時,克制寫代碼的沖動,取而代之的應(yīng)當(dāng)是軟件流程結(jié)構(gòu)圖表的設(shè)計,這點十分重要。流程圖能清楚地展現(xiàn)給開發(fā)人員軟件的各個需要的組成部件,正如列出硬件設(shè)計所需的各種元器件一樣。做到這點能很大程度上使程序整體更易于組織,而且也會削

2、減占開發(fā)周期較長的調(diào)試工作量進而節(jié)約時光削減調(diào)試的繁瑣。2.用法狀態(tài)機控制程序流程狀態(tài)機是20世紀(jì)優(yōu)秀的軟件發(fā)明之一。應(yīng)用程序普通被分解為多個不同的狀態(tài),每一個狀態(tài)控制一個特定的程序分支。狀態(tài)機包括內(nèi)部狀態(tài)和依據(jù)不同激勵所控制的狀態(tài)轉(zhuǎn)換。用法狀態(tài)機機制設(shè)計軟件能夠使模塊化的可維護的軟件開發(fā)越發(fā)簡單而且易于理解。狀態(tài)機原理與算法的示例隨處可見。3.避開用法全局變量在過去的函數(shù)式編程中,程序員用法函數(shù)編寫程序,他們的唯一目標(biāo)是使程序盡可能快的運行而不考慮程序的結(jié)構(gòu)和重用性。這類程序風(fēng)格在用法全局變量時不注重變量的作用范圍引起其他函數(shù)修改的危急性。這樣變量會被多次占用和重寫。如今面對對象的程序設(shè)計中

3、,成員變量被定義在最小的作用范圍之內(nèi)并封裝起來避開被重新復(fù)值和濫用。所以建議盡量少地用法全局變量,實在需要的話,用法中的關(guān)鍵字“extern”來修飾。4.充分利用模塊化的設(shè)計理念假如你問一位工程師項目的哪一部分最有可能會遲延交付并超出預(yù)估時光,那答案一定是軟件周期了。軟件通常是復(fù)雜而且不易開發(fā)和維護的,特殊是當(dāng)項目應(yīng)用程序集中在一個單一的文件里,或者幾個結(jié)構(gòu)松散的文件中時。為了便于代碼重用和軟件可維護并減小軟件的復(fù)雜度,劇烈建議發(fā)揮高級程序設(shè)計語言模塊化的特性,在程序的結(jié)構(gòu)中把公用的函數(shù)分別出來作為一個自立的模塊。通過這種方式可以讓程序員開頭創(chuàng)建包含有常用函數(shù)和常用的聲明定義,它可以很簡單的被

4、其他的代碼重用,這在以后的測試階段不僅可以節(jié)約時光代價還能提高代碼的質(zhì)量。5.中斷服務(wù)大事保持簡練中斷服務(wù)大事是中斷處理器正在執(zhí)行的程序,轉(zhuǎn)而去處理觸發(fā)該中斷的外設(shè)的哀求的一種機制。處理器響應(yīng)中斷哀求需要大量的系統(tǒng)開銷,詳細表現(xiàn)在保存被中斷程序的狀態(tài)(入棧下條命令的段地址、偏移地址和程序狀態(tài)寄存器,有時還會入棧若干寄存器的值),執(zhí)行中斷服務(wù)程序然后復(fù)原中斷點繼續(xù)執(zhí)行(依次出棧各寄存器),雖然現(xiàn)在的處理器速度十分快但是這種系統(tǒng)開銷仍然需要考慮。普通來說,為了避開與主程序矛盾程序員總想使中斷執(zhí)行時光減小到最小。這就意味著中斷服務(wù)大事應(yīng)當(dāng)短小容易。不能在中斷程序中調(diào)用函數(shù)。另外,假如中斷需要處理的大

5、事特殊復(fù)雜或者需要花費較長的時光,這個時候中斷服務(wù)程序應(yīng)當(dāng)滿足最小的需求,例如將數(shù)據(jù)載入到緩沖寄存器、設(shè)置標(biāo)記位,而讓主程序去處理讀入的數(shù)據(jù)。這樣處理器的工作大部分周期都在處理程序而不是中斷。6.用法處理器示例代碼測試設(shè)備對于硬件設(shè)計,在畫板之前標(biāo)準(zhǔn)的測試有助于工程師理解電路的特性。同樣可以適用于軟件設(shè)計,廠商通常有測試微處理器各個部分的功能的示例程序提供工程師體驗各部分是如何工作的。據(jù)此可以提前組織軟件的結(jié)構(gòu)并且預(yù)知在設(shè)計中的問題。提前確定在設(shè)計潛在的障礙遠比在產(chǎn)品完成前幾個小時發(fā)覺問題越發(fā)科學(xué)合理。而值得注重的是廠商提供的代碼通常不是模塊化而且不做須要的修改是很難挺直用于實際的軟件中的。7.控制函數(shù)的復(fù)雜度在工程設(shè)計中有句俗語叫“kiss”,意思是“keep it simple silly”。在處理一些復(fù)雜的任務(wù)時最容易有效的辦法是把它分解成若干個容易的子任務(wù),當(dāng)任務(wù)或者功能很復(fù)雜時,人們很難留意全部的詳情也很難不出錯。當(dāng)工程師寫了一個在當(dāng)初能夠理解的復(fù)雜函數(shù),可一段時光后需要維護程序了還能不能清楚的展現(xiàn)出當(dāng)時的設(shè)計思想這是值得考慮的。有大量的技術(shù)來衡量函數(shù)的復(fù)雜度像“循環(huán)復(fù)雜度”。閱歷告知我們,函數(shù)的循環(huán)復(fù)雜度應(yīng)當(dāng)?shù)陀?0比較好。8.具體的文檔在激烈的軟件開發(fā)競爭中關(guān)注的焦點很簡單就局限在代碼的書寫和調(diào)試而忽視文檔的編寫。有時迫于壓力要求寫文檔,開發(fā)人員通常把文檔

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論