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

C語言嵌入式系統軟件設計架構教學研究

2017-12-25 19:22:27張智慧
計算機時代 2017年12期

摘 要: 良好的軟件設計架構能夠提高軟件系統的開發質量和維護效率。文章從軟件工程角度,將軟件設計架構模式引入嵌入式應用開發課程的教學實踐,結合C語言編程特點,完善軟件開發過程中的項目文件組織、程序框架設計、功能模塊劃分以及代碼重用方法等內容,為學生利用C語言進行嵌入式系統開發提供參考解決方案。通過項目驅動式課堂教學內容設計,使學生掌握軟件設計模式、分層開發邏輯架構和模塊化程序設計方法,綜合培養學生分析問題、解決問題的軟件開發實踐能力。

關鍵詞: 嵌入式系統; C語言; 設計架構; 軟件開發

中圖分類號:G424 文獻標志碼:A 文章編號:1006-8228(2017)12-76-03

Research on the teaching of software design model in C language

programmed embedded system

Zhang Zhihui

(Beijing Information Technology College, Beijing 100015, China)

Abstract: Good software design architecture can improve the development quality and maintenance efficiency of software systems. Considering the software engineering technology and the characteristics of C language programming, the software design architecture model is introduced into the embedded system development course. The project file organization, program design framework, function modules and code reuse method are discussed, trying to provide a reference solution. Through the project driven classroom teaching content design, students can master the software design model, hierarchical development, logical structure and modular programming. It aims to improve students' ability to analyze and solve problems, and to develop their practical ability.

Key words: embedded system; C language; design model; software development

0 引言

嵌入式系統課程的重點在于培養學生解決實際問題的工程應用能力。隨著嵌入式應用不斷拓展,系統開發復雜度日益提高,對嵌入式系統應用開發人才培養提出了更高要求。傳統的嵌入式系統教學主要是培養學生對相關軟硬件基礎知識的掌握和運用,知識點掌握比較分散,無法讓學生真正形成解決實際應用問題的能力。本文將面向對象技術、分層技術應用到嵌入式系統應用開發課堂教學實踐,引導學生了解掌握項目文件組織、程序框架設計、功能模塊劃分的理念和方法,并結合C語言編程特點介紹具體的實現方案,有利于學生掌握整個嵌入式系統的分析及設計方法,又能提升學生解決實際問題的綜合能力。

1 嵌入式系統軟件設計的教學思路

在嵌入式系統教學內容中貫穿軟件設計方法,能夠指導學生更好地完成需求分析,進行系統設計和功能模塊劃分,從而具備開發出可正確工作的復雜軟件的能力,為后續課程實訓和第一崗位任職能力打下堅實的基礎。

1.1 強調軟件模塊劃分的重要性

嵌入式系統是建立在特定硬件平臺上的專用計算機系統,一般由嵌入式微處理器、外圍功能電路和對外應用接口組成,軟件開發主要是驅動硬件設備完成特定的業務邏輯應用。隨著嵌入式軟件系統的規模和復雜度日益增長,軟件設計在嵌入式系統開發中發揮著越來越重要的作用,如何更好地將開發需求轉變成軟件模塊劃分,進而轉變成能夠用代碼實現的程序功能,成為系統設計面臨的主要問題。

分層設計 分層的目的是為了將復雜的問題進行合理區分、遞進簡化,從而將系統功能抽象成一個個具體的模塊結構,最終將應用需求轉變為編程實現。在教學過程中采用項目化的教學方法,通過讓學生完成項目的分層設計來掌握軟件功能劃分原則和方法,形成對嵌入式系統開發的整體理解。比如設計一個電子羅盤,可以從概念上劃分為數據采集層、處理層、顯示層等,層層遞進實現,每層解決不同的問題,下層要能夠為上層應用提供支撐。

模塊優化 每層內部按照任務分解、功能優化、重用程度進行模塊劃分,盡量實現軟件功能的高內聚、低耦合。每個軟件模塊的功能實現應該方便理解和應用,軟件模塊之間的相關性要盡可能小,這樣設計的程序便于協同開發,提高開發質量和效率。在教學過程中,要注重讓學生研究討論需求問題域與編程實現域之間的映射關系,理解軟件功能模塊緊湊性和正交性的重要性,增強對系統設計科學合理性的理解和認識。比如,顯示器功能的設計,亮度、飽和度等調節功能彼此獨立,使得功能無論在實現上還是在應用中都很便捷。

1.2 明確系統軟件框架設計

一個好的軟件框架不僅有利于提高軟件開發質量和效率,而且還可以提高軟件的可維護性和代碼重用性。對于剛接觸嵌入式系統開發的學生來說,如何將C語言的語句、算法等知識來解決實際問題的能力還很弱,需要在學習其他內容之前先有一個整體的框架概念,帶著問題、目標去學,才能提高學生學習的積極性、主動性。

四層邏輯架構模型 軟件分層邏輯架構設計的關鍵是理清層次結構、優化功能模塊組織,使得系統設計開發高效靈活、軟件功能可按需擴展,已有的成熟代碼能夠得到有效重用、迭代發展。采用面向對象設計思想對現有嵌入式系統開發進行去中心化重新設計,將系統邏輯架構區分為應用管理層、算法協議層、功能拓展層、硬件驅動層等四個層次,每一層內將同類或相似技術實現的功能進行聚合,以減少業務應用、模型算法和硬件操作之間的耦合性,使得應用程序結構變得更加清晰和靈活。在嵌入式系統課程中引入四層邏輯架構模型的內容,目的是讓學生掌握一種比較先進的程序架構方法,做到“授之以漁”,也會使課堂教學與工程應用結合更緊密,增強學生利用成熟的軟件開發方法分析問題、解決問題的能力。

層內軟件功能組織 每層的軟件功能設計,除了要考慮當前的應用需求,還要著眼后續的重用和拓展,對所有功能進行合并整合,優化功能模塊設計,盡量實現硬件無關性,使軟件功能模塊能夠支撐多個應用邏輯和不同開發要求。應用管理層主要包括界面交互、業務邏輯調度等功能。算法協議層主要包括模型算法、協議解析、文件管理、數據庫管理等功能,如位置轉換計算、羅盤指針方位計算等。功能拓展層主要包括器件的無關性,提供各種器件的通用性處理、接口訪問等功能,如LCD的線、圓、矩形處理,傳感器數據轉換等。硬件驅動層主要包括硬件的無關性,提供硬件的操作原語功能,如LCD的定位、寫點、寫字節,傳感器數據采集等功能。在教學過程中,指導學生按照四層模型進行軟件功能設計和開發,理解并掌握軟件設計框架的概念,正確進行編程開發。

2 項目驅動式課堂教學內容設計

課堂教學內容設計關鍵是把教與學結合在一起,通過實施一個完整的項目,由教師提供“設計藍圖”,采用任務驅動方式,讓學生主動參與、相互協作,將學習到的軟硬件知識系統地應用到嵌入式系統開發實際應用中。

內容安排 在教學目標上,以提高學生從事實際嵌入式系統開發能力為核心,突出軟件工程化管理理念,圍繞軟件設計模式、系統分層邏輯架構和模塊化程序設計等內容,融入嵌入式系統開發概念介紹,貫穿到整個教學內容。在教學計劃上,根據學生軟硬件知識基礎,有針對性地補充軟件工程相關知識,增加面向對象技術、分層技術和軟件重用技術的理解和掌握,將嵌入式系統開發內容與軟件設計框架有機集合,提高課堂授課的靈活性和針對性。在教學重點上,圍繞一個涵蓋數據采集、處理、顯示等關鍵功能的嵌入式系統開發,靈活運用任務驅動和項目教學法,充分調動學生的學習興趣、發掘其創造潛能,由簡單到復雜,逐步實現框架內容的各項功能。

項目實施 教師充分利用自身的開發經驗和知識優勢,幫助學生理解軟件設計框架,建立基本的項目工程文件,按照課程計劃安排進行上機實踐、組織項目開發并撰寫項目開發報告。在項目組織管理上,雖然標準的C語言開發工具并不提供軟件框架管理,但根據本文提供的系統邏輯架構設計,可以按照分層原則組織文件目錄建立自己的工程文件管理原則,提高代碼文件的組織管理和協同開發能力。主程序文件、全局變量頭文件通常放在根目錄,其他文件按照應用管理層、算法協議層、功能拓展層、硬件驅動層分別存放在AppFunc、ModelFunc、HardExt、HardOpt文件夾,所有文件命名遵循統一的規范。在功能模塊開發上,指導學生應少用或不用全局變量,盡量通過函數參數來傳遞數據,上層功能模塊的開發可以調用下層功能模塊,下層功能模塊盡量避免交叉調用或越級調用。下面是利用角速度傳感器制作電子羅盤的項目案例,其中LCD顯示功能在各層的示例代碼如下。

應用管理層,uint Draw_Compass( uint angle,uint pcolor);顯示當前angle角度的電子羅盤,pcolor為顯示顏色,分別調用了算法模型層中羅盤角度函數、功能拓展層的畫線函數。

算法模型層,uint Cac_Compass(uint x, uint y, uint z);計算羅盤指針方位,x、y、z為傳感器獲取的數值,轉換成指針的角度。

功能拓展層,uint Lcd_Line(uint x1, uint y1, uint x2, uint y2, uint pcolor); //畫線,調用畫點函數。

硬件驅動層,uint Lcd_Pixel(uint x, uint y, uint pcolor); //驅動LCD顯示硬件進行畫點。

課程評價 為了增強學生對軟件設計框架概念的理解和應用,將課程評價分為學生討論和教師評價。學生討論按照小組進行組織,每個小組3-5人,小組之間相互檢查項目進展、軟件設計、框架應用和模塊劃分等內容,交流開發經驗,有利于提升學習的積極性和創造性。教師評價根據學生項目報告和程序文檔,分析學生對設計模式的理解和掌握情況,查看開發過程中的應用情況,根據每個學生的特點給出針對性的指導,提高學生對知識的綜合運用能力,考評成績按照一定權重(可按40%)納入課程考核成績。

3 結束語

本文提出的嵌入式系統軟件設計架構教學方法,將軟件工程化思想、程序設計模式融入課堂教學實踐,以項目任務驅動提高學生學習的積極性和主動性,提高學生從事實際應用系統開發能力,該方法實施以來取得了較好的成效,很多學生在畢業實習階段就能很快融入企業開發團隊。

未來嵌入式系統應用的加速發展,對軟件開發的質量和效率提出了更高的要求,高效開發和軟件質量特性保證,將是嵌入式系統開發人才培養和工程實踐下一步需要重點研究和解決的問題。

參考文獻(References):

[1] 張智慧.面向職業技能培養的軟件開發課程改革探索[J].計

算機時代,2015.5:54-58

[2] 張智慧.多層模型在嵌入式軟件開發中的應用研究[J].計算

機時代,2017.4:17-20

[3] 田澤.嵌入式系統開發與應用[M].北京航空航天大學出版社,

2005.

[4] 程欣宇,張麗,王忠德.數據結構實驗的三層模型[J].計算機教

育,2014.12:65-67

[5] 李小遐,劉惠梅.C語言程序設計能力教程[M].北京理工大學

出版社,2011.

主站蜘蛛池模板: 久久精品人人做人人爽97| 久久精品国产国语对白| www.91中文字幕| 国产精品亚洲日韩AⅤ在线观看| 91久久天天躁狠狠躁夜夜| 国产理论最新国产精品视频| 无码内射中文字幕岛国片| 国产精品香蕉在线观看不卡| 97视频在线观看免费视频| 国产欧美日韩另类精彩视频| 成人永久免费A∨一级在线播放| 欧美亚洲国产一区| 亚洲第一成年网| 亚洲欧美一区二区三区麻豆| 亚洲精品福利视频| 亚洲IV视频免费在线光看| 免费无遮挡AV| 制服丝袜一区| 中文字幕乱码二三区免费| 中文纯内无码H| 久久香蕉国产线看观看亚洲片| 欧美在线三级| 精品人妻一区无码视频| 免费在线看黄网址| 亚洲三级影院| 成人在线亚洲| 中文字幕免费播放| 91黄色在线观看| 成人精品区| 国产特一级毛片| 沈阳少妇高潮在线| 色亚洲成人| 欧美日韩国产成人高清视频| 亚洲女人在线| 五月天在线网站| 免费一级毛片| 欧美成人a∨视频免费观看| 国产乱人免费视频| 亚亚洲乱码一二三四区| 无码AV动漫| 欧美日韩另类国产| 72种姿势欧美久久久久大黄蕉| 亚洲狼网站狼狼鲁亚洲下载| 久久这里只有精品免费| 国产成人综合亚洲欧洲色就色| 亚洲IV视频免费在线光看| 亚洲欧美自拍一区| 亚洲国产天堂久久综合| 国产精品分类视频分类一区| 91麻豆精品视频| 99资源在线| 欧美精品啪啪| 伊人丁香五月天久久综合| 强乱中文字幕在线播放不卡| 国产黄色免费看| 中文字幕免费播放| 国产欧美在线观看精品一区污| 无码一区18禁| 国产免费黄| 在线观看无码a∨| 亚洲免费福利视频| 91综合色区亚洲熟妇p| 色婷婷啪啪| 欧美翘臀一区二区三区| 天天躁狠狠躁| 国产精品一线天| 中文字幕乱码中文乱码51精品| 久久国产乱子| 波多野结衣久久精品| 亚洲无码91视频| 精品少妇人妻一区二区| 中国毛片网| 日韩av在线直播| 欧美日本在线一区二区三区| 亚洲91精品视频| 国产在线精品香蕉麻豆| 亚洲欧美日韩中文字幕在线一区| 囯产av无码片毛片一级| 亚洲国产日韩视频观看| 精品视频第一页| 福利国产微拍广场一区视频在线| 国产女人综合久久精品视|