點(diǎn)擊查看:軟件水平考試《嵌入式系統設計師》輔導匯總
嵌入式軟件開(kāi)發(fā)
1、嵌入式平臺選型
嵌入式設計分三個(gè)階段:分析、設計和實(shí)現。
分析階段:是確定要解決的問(wèn)題及需要完成的目標,也稱(chēng)需求階段;
設計階段:主要是解決如何在給定的約束條件下完成用戶(hù)的需求;
實(shí)現階段:主要是解決如何在所選擇的硬件和軟件的基礎上進(jìn)行整個(gè)軟硬件系統的協(xié)調和實(shí)現。
硬件的選擇包括:處理器、硬件部件
軟件的選擇包括:操作系統、編程語(yǔ)言、軟件開(kāi)發(fā)工具、硬件調試工具和軟件組件。
2、軟件設計
、、軟件設計任務(wù):準備一個(gè)工作計劃;確定軟件的結構;設計評審;維護工作計劃;與硬件部門(mén)密切合作、相互協(xié)調;控制工作的結果、把工作記錄存檔。
、、模塊結構設計
模塊結構設計的任務(wù):將系統劃分為模塊,確定軟件的結構,模塊的功能和模塊間的接口,以及全局數據結構設。
模塊:是組成系統的基本單位,它的特點(diǎn)是可以組合、分解和更換。
模塊的四要素:輸入和輸出;處理功能;內部數據;程序代碼。
模塊結構設計應遵守的原則:所劃分的模塊其內部凝聚性要強,模塊之間的聯(lián)系要少,即要有很強的獨立性;模塊之間的連接只能存在上下級之間的調用關(guān)系,不能有同級之間的橫向關(guān)系;整個(gè)結構呈樹(shù)狀結構,不允許網(wǎng)狀結構或交叉調用關(guān)系;所有模塊必須嚴格地分類(lèi)編碼并建立歸檔文件。
、、結構化設計的方法
結構化設計的方法是一種面向數據流的設計方法,基本思想是將系統設計成由相對獨立、功能單一的模塊組成的結構。
信息流的類(lèi)型:變換流和事務(wù)流。
結構化設計方法的步驟:復查并精化數據流圖;確定DFD的信息流類(lèi)型(變換型或事務(wù)型);根據流類(lèi)型分別實(shí)施變換分析或事務(wù)分析;根據系統設計的原則,對程序結構圖進(jìn)行優(yōu)化。
3、嵌入式程序設計
、、bootloader的設計
步驟;stage1和stage2兩大部
Stage1步驟:硬件設備初始化;為加載bootloader的stage1準備內存空間;復制bootloader的stage1到內存;設置好堆棧;跳轉到stage1的C入口點(diǎn)。
Stage2步驟:初始化本階段要使用的硬件設備;檢測系統內存映射;將內核映像和根文件系統映像到flash上讀入到內存中;為內核設置啟動(dòng)參數,并調用內核。
、、設備驅動(dòng)程序設計
、、網(wǎng)絡(luò )應用程序設計
4、編碼
四個(gè)步驟:確定源程序的標準格式、制定編程規范;準備編程環(huán)境;編寫(xiě)代碼;進(jìn)行代碼審查,提高編碼質(zhì)量。
5、測試
、、概述
軟件測試:是從經(jīng)濟和效率的角度出發(fā),對軟件代碼進(jìn)行質(zhì)量和正確性保證的一個(gè)過(guò)程。
系統測試的目的:是為了發(fā)現至今尚未發(fā)現的錯誤。
規范化的測試過(guò)程:擬定測試計劃;編制測試大綱;根據測試大綱設計和生產(chǎn)測試用例;實(shí)施測試;生成測試報告。
、、測試方法
分類(lèi):人工測試和機器測試
人工測試的三種方法:個(gè)人復查、抽查、會(huì )審
機器測試分成:黑盒測試和白盒測試
黑盒測試:也稱(chēng)功能測試,將軟件看成黑盒子,在完成不考慮軟件內部結構和特性的情況下,測試軟件的外部特性。包括:極限情況測試;邊界測試;異常測試;隨機測試;性能測試。
白盒測試:也稱(chēng)結構測試,將軟件看成透明的的盒,根據程序的內部結構和邏輯來(lái)設計測試用例。原則:程序模塊中的所有獨立路徑至少執行一次;在所有的邏輯判斷中,取“真”“假”的兩種情況至少都要執行一次;每個(gè)循環(huán)都應在邊界條件和一般條件下各執行一次;測試程序內部的數據結構的有效性。
、、測試步驟:
、、系統平臺測試:包括硬件電路測試、操作系統及底層驅動(dòng)程序測試;
、、單元測試:也稱(chēng)模塊測試。一般采用白盒測試法。主要測試模擬塊接口、局部數據結構、重要的執行路徑、出錯處理、邊界條件。
測試時(shí)需要開(kāi)的模塊包括:驅動(dòng)模塊(相當于一個(gè)程序,負責接收測試用例的數據,將這些數據送到測試模塊,并輸出結果)和樁模塊(也稱(chēng)為存根模塊,用來(lái)代替測試模塊中所調用的子模塊,其內可進(jìn)行少量的數據處理,目的是為了檢驗入口,并輸出調用和返回的信息)
、、集成測試:也稱(chēng)組裝測,就是把各個(gè)模塊按照系統設計說(shuō)明書(shū)的要求組合起來(lái)進(jìn)行測試。
兩種方法:一種是分別測試各個(gè)模塊,再把這些模塊組合起來(lái)進(jìn)行整體測試,即非增量式集成;另一種是把下一個(gè)要測試的模塊組合到已測試好的模塊中,測試完成再將下一個(gè)模塊組合進(jìn)來(lái),進(jìn)行測試,這樣逐步把所有的模塊組合在一起,并完成測試,即增量式集成。
、、系統測試:將嵌入式軟件、硬件,外設和網(wǎng)絡(luò )等各種因素結全在一起,進(jìn)行整個(gè)系統的組裝測試和確認測試。一般采用黑盒測試法。
主要測試內容:恢復測試、強度測試、性能測試、可靠性測試。
、、測試結果分析
對測試結果分析和比較幫助錯誤的定位,指導程序員修改代碼。
、、覆蓋測試:是一種白盒測試法,測試人員必須擁有程序的規格說(shuō)明書(shū)和程序清單。其基本思路是以程序的內部結構為基礎來(lái)設計測試用例,以覆蓋盡可能多的程序內部邏輯結構,發(fā)現其中的錯誤和問(wèn)題,一般用在單元測試階段。
相關(guān)推薦:
2018年軟考報名時(shí)間※2018軟考考試安排(全年)
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |