• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      UML在嵌入式系統(tǒng)開發(fā)中的應(yīng)用

      2013-10-10 02:15:48陶明江西省信息中心南昌市330046
      江西通信科技 2013年2期
      關(guān)鍵詞:類圖相框嵌入式

      陶明 江西省信息中心 南昌市 330046

      唐路其 南昌大學(xué) 南昌市 330031

      隨著后PC時(shí)代的到來,嵌入式系統(tǒng)的應(yīng)用范圍日益擴(kuò)大,人們對(duì)嵌入式系統(tǒng)需求的日益增加,與此同時(shí)用戶對(duì)嵌入式系統(tǒng)的功能、可靠性、體積、功耗等方面也有了更高的標(biāo)準(zhǔn),正因如此,現(xiàn)如今的嵌入式系統(tǒng)變得更加復(fù)雜。那么如何高效率的開發(fā)一個(gè)嵌入式系統(tǒng),是一個(gè)當(dāng)前急需解決的課題。UML是一種定義良好、易于表達(dá)、功能強(qiáng)大且普遍適用的建模語言[1]。它即融入了軟件工程領(lǐng)域的思想同時(shí)又能很好的建立硬件系統(tǒng)模式,所以如今借助UML來建立軟件與硬件的整合設(shè)計(jì)的公司越來越來多。

      1、UML建模應(yīng)用概述

      UML(Unified Modeling Language)統(tǒng)一建模語言是用來設(shè)計(jì)整個(gè)軟件系統(tǒng)藍(lán)圖的可視化建模語言,支持基于OO系統(tǒng)的分析、設(shè)計(jì)、實(shí)現(xiàn)和交付等各個(gè)環(huán)節(jié),對(duì)系統(tǒng)的理解、設(shè)計(jì)、瀏覽、維護(hù)和信息控制等方面都有著不小幫助。

      在應(yīng)用方面,采用OO技術(shù)設(shè)計(jì)系統(tǒng)時(shí),采用用例圖來刻畫用戶的需求;使用類圖、對(duì)象圖、包圖、構(gòu)件圖和部署圖此5種靜態(tài)圖來描述系統(tǒng)的靜態(tài)結(jié)構(gòu);使用順序圖、合作圖、活動(dòng)圖和狀態(tài)圖這4種圖來顯化系統(tǒng)的動(dòng)態(tài)行為。即在系統(tǒng)開發(fā)的各個(gè)階段UML都能發(fā)揮作用:

      1.1、需求:用例圖來刻畫客戶的需求,通過用例建模,發(fā)掘是誰與系統(tǒng)打交道、系統(tǒng)的主要功能、系統(tǒng)與外部的交互是是如何進(jìn)行的。通過商業(yè)過程和用戶需要構(gòu)建的系統(tǒng)進(jìn)行分析,可以準(zhǔn)確把握住用戶的需求,保證最終完成的系統(tǒng)完全符合用戶的需要。

      1.2、分析:此階段主要是對(duì)用戶給出的需求進(jìn)行進(jìn)一步的分析,明確問題的細(xì)節(jié)。UML中的類圖能很好描述系統(tǒng)的靜態(tài)結(jié)構(gòu),而順序圖、合作圖、狀態(tài)圖則能用于描述系統(tǒng)的動(dòng)態(tài)行為。

      1.3、設(shè)計(jì):根據(jù)分析提出具體的解決方案。將UML中的類圖、包圖把分析類和分析包轉(zhuǎn)化成設(shè)計(jì)類和設(shè)計(jì)包。

      1.4、實(shí)現(xiàn):根據(jù)UML中詳細(xì)設(shè)計(jì)的類圖進(jìn)行實(shí)際的編碼。

      1.5、集成:應(yīng)用UML的構(gòu)件圖、包圖、部署圖來對(duì)系統(tǒng)進(jìn)行集成和部署。

      1.6、測(cè)試:根據(jù)類圖來實(shí)現(xiàn)單元測(cè)試,根據(jù)類和包進(jìn)行集成測(cè)試。最后對(duì)整個(gè)系統(tǒng)進(jìn)行系統(tǒng)測(cè)試。

      2、嵌入式系統(tǒng)開發(fā)的特點(diǎn)及建模分析

      嵌入式系統(tǒng)作為一種專用的計(jì)算機(jī)系統(tǒng),相較于桌面操作系統(tǒng)和服務(wù)器操作系統(tǒng)(即通用操作系統(tǒng))下的軟件系統(tǒng)開發(fā)有著很大的不同,為嵌入式系統(tǒng)開發(fā)不是僅限于應(yīng)用程序,它的開發(fā)常常需深入到操作系統(tǒng),甚至深入到硬件。按照一般工程開發(fā)過程,嵌入式系統(tǒng)的開發(fā)大體分為4個(gè)過程:

      2.1、分析過程:類似于軟件工程中的需求階段,與客戶交流,明確需要解決的問題。在客戶給出的各種約束條件,理性的分析項(xiàng)目是否具有可行性。

      2.2、設(shè)計(jì)過程:開發(fā)的關(guān)鍵階段。此過程關(guān)注的是如何在給出的各種約束條件下給出恰當(dāng)?shù)捻?xiàng)目解決方案,涉及到生成具體的抽象類及軟硬件平臺(tái)的選擇,這個(gè)階段好壞直接影響實(shí)現(xiàn)階段任務(wù)的完成也在很大程度上決定著開發(fā)成本的大小。

      2.3、實(shí)現(xiàn)過程:此過程就是在已選定的平臺(tái)基礎(chǔ)上進(jìn)行軟、硬件協(xié)調(diào)從而實(shí)現(xiàn)所指定的系統(tǒng)。這個(gè)階段主要涉及到具體代碼的編程、使用交叉編譯器、宿主機(jī)與目標(biāo)板的連接以及目標(biāo)板中程序的調(diào)試等具體工作。

      2.4、測(cè)試維護(hù)過程:開發(fā)的最終過程。首先檢查各個(gè)程序模塊是否正確地實(shí)現(xiàn)了規(guī)定的功能,再整合各個(gè)模塊結(jié)合需求進(jìn)行整個(gè)系統(tǒng)的測(cè)試,最后在將經(jīng)過確認(rèn)的系統(tǒng)納入實(shí)際運(yùn)行環(huán)境中進(jìn)行最終測(cè)試。

      由以上針對(duì)嵌入式系統(tǒng)開發(fā)的分析可知,在分析階段需要有一套體系能夠把客戶的需求形象化的表述出來;在設(shè)計(jì)階段針對(duì)五花八門的軟、硬件整合方案也需要一套體系來選擇與實(shí)際需求相適應(yīng)的軟、硬件平臺(tái);在實(shí)現(xiàn)階段,就更需要一套體系來促進(jìn)開發(fā)團(tuán)隊(duì)中各開發(fā)人員之間的溝通,以及把具體工程模塊化、標(biāo)準(zhǔn)化,從而提高開發(fā)效率;最后在測(cè)試階段中需要一套體系能夠提供之前開發(fā)過程中的各項(xiàng)模塊框圖及說明文檔,便于縮短測(cè)試周期[2]。UML就是這樣可應(yīng)用于嵌入式系統(tǒng)開發(fā)各個(gè)過程體系的建模語言。

      3、嵌入式系統(tǒng)的建模分析

      基于消費(fèi)者對(duì)嵌入式系統(tǒng)的諸多方面嚴(yán)格的要求,現(xiàn)如今的嵌入式系統(tǒng)也一直再往尺寸大幅減小、性能更快、更可靠、更低功耗的方向快速發(fā)展。市場(chǎng)的需求千變?nèi)f化而對(duì)于嵌入式技術(shù)來說,其系統(tǒng)架構(gòu)的多樣性,軟、硬件組合的多變性,技術(shù)密集等諸多技術(shù)難點(diǎn)恰巧也成為了其適應(yīng)市場(chǎng)的優(yōu)勢(shì)。而嵌入式產(chǎn)品開發(fā)的標(biāo)準(zhǔn)化、平臺(tái)化已成為了諸多廠商開發(fā)的一大難題。但挑戰(zhàn)與機(jī)遇是并存的,若是誰能率先提供標(biāo)準(zhǔn)化的嵌入式開發(fā)過程,使嵌入式系統(tǒng)開發(fā)更加簡(jiǎn)單,那就等于獲得了市場(chǎng)的先機(jī)。

      眾所周知,嵌入式系統(tǒng)的復(fù)雜度日益增加,靠個(gè)人的能力是難以完成整個(gè)系統(tǒng)的開發(fā)的。團(tuán)隊(duì)開發(fā)才更有效率,而團(tuán)隊(duì)開發(fā)的基礎(chǔ)就是設(shè)立統(tǒng)一的體系讓成員之間的合作、軟件模塊和軟硬件之間的協(xié)同開發(fā),以及具體化客戶需求的過程都更加規(guī)范。當(dāng)前主流的UML正是這樣一種標(biāo)準(zhǔn)化的建模語言,它所提供的各種模型圖能很好的闡述系統(tǒng)的內(nèi)容及工作方法,先建模而后編碼,在開發(fā)的起始階段就讓團(tuán)隊(duì)每個(gè)成員對(duì)系統(tǒng)有整體的認(rèn)識(shí),也就保證了系統(tǒng)結(jié)構(gòu)的合理性[3]。通過UML中的不同框圖,各開發(fā)小組能夠從多個(gè)角度來了解整個(gè)系統(tǒng)。其次,借助UML用統(tǒng)一的形式來描述整合軟件和硬件,支持循環(huán)迭代并能夠多次修改軟硬件方案直至符合客戶的要求,即可實(shí)現(xiàn)軟硬件的協(xié)同設(shè)計(jì)。以UML模型來驅(qū)動(dòng)實(shí)現(xiàn)嵌入式系統(tǒng)開發(fā)方法可以大大降低系統(tǒng)的復(fù)雜性和開發(fā)難度,從而提高開發(fā)效率使開發(fā)過程具有可擴(kuò)充性、可重用性。使用UML進(jìn)行系統(tǒng)建模在得到各種模型框圖的同時(shí)還能生成大量豐富的說明文檔,非常利于系統(tǒng)后期的測(cè)試和維護(hù)[4-5]。所以我們可以嘗試結(jié)合UML語言而提出一套針對(duì)嵌入式系統(tǒng)的開發(fā)方法,以求為嵌入式系統(tǒng)開發(fā)的標(biāo)準(zhǔn)化提供一條新的途徑。

      4、基于UML的數(shù)碼相框系統(tǒng)建模實(shí)例

      數(shù)碼相框是一種特殊的“相框”,相較于放入圖片的方式來展示相片的傳統(tǒng)相框,數(shù)碼相框通常會(huì)提供與外部存儲(chǔ)設(shè)備的接口,從而通過連接的方式獲得圖片數(shù)據(jù),最后使用一個(gè)顯示屏來顯示系統(tǒng)已獲得的圖片數(shù)據(jù)。數(shù)碼相框具有設(shè)置顯示方式、特效等諸多功能,使得其使用起來非常靈活。按照本文上述,以下將借助UML建模工具Rational Rose 2003來為數(shù)碼相框系統(tǒng)建模。

      4.1 分析過程(需求階段)

      經(jīng)過分析可知系統(tǒng)所要具備的功能有:1.開機(jī)后出現(xiàn)歡迎界面并提示用戶插入存儲(chǔ)設(shè)備2.當(dāng)用戶插入設(shè)備后自動(dòng)開始播放位于設(shè)備中的所有圖片3.每張相片的特效顯示4.用戶通過按鍵可以控制所有相片播放的暫停及繼續(xù)用戶拔出存儲(chǔ)設(shè)備時(shí)出現(xiàn)提示信息并自動(dòng)回到開機(jī)后的歡迎界面。

      系統(tǒng)的參與者只有用戶一個(gè)角色,通過以上分析可以識(shí)別出3個(gè)主要用例:設(shè)備啟動(dòng),相片控制,存儲(chǔ)設(shè)備控制。通過逐步分解得到以下系統(tǒng)用例圖:

      圖1 數(shù)碼相框系統(tǒng)用例圖

      4.2 設(shè)計(jì)過程

      以需求階段得出的結(jié)果為基礎(chǔ),通過用例圖大致可得出系統(tǒng)需要的類、對(duì)象及其相互關(guān)系,再加上對(duì)硬件信息的整合,我們可以得到本系統(tǒng)的類圖,如圖二:

      圖2 數(shù)碼相框系統(tǒng)類圖

      類圖很好的描述了系統(tǒng)的靜態(tài)結(jié)構(gòu)以及邏輯層次,但為了更好的理解系統(tǒng)的動(dòng)態(tài)行為,順序圖,狀態(tài)圖,活動(dòng)圖等都是十分必要的。對(duì)于嵌入式系統(tǒng)來說,狀態(tài)圖和時(shí)序圖的設(shè)計(jì)尤為重要。以下就是相片控制類的之間狀態(tài)轉(zhuǎn)化的描述。

      圖3 系統(tǒng)顯示相片狀態(tài)圖

      為了符合客戶對(duì)系統(tǒng)實(shí)時(shí)性的要求,就必須建立起能夠清晰描述對(duì)象間消息傳遞的時(shí)間順序的順序圖。以下就是在用戶插入存儲(chǔ)設(shè)備到相片播放整個(gè)系統(tǒng)的順序圖:

      圖4 系統(tǒng)顯示相片過程順序圖

      4.3 實(shí)現(xiàn)過程

      4.3.1 物理建模

      結(jié)合用戶的需求,問了能在限定條件下更好的完整系統(tǒng)功能,本項(xiàng)目硬件采用ARM7開發(fā)板,使用Ubuntu(宿主機(jī))與嵌入式Linux(目標(biāo)機(jī))的軟件設(shè)計(jì)平臺(tái)。以下是系統(tǒng)部署圖:

      圖5 數(shù)碼相框系統(tǒng)部署圖

      4.3.2 編碼過程

      Rational Rose可根據(jù)先前生成的各種模型框圖自動(dòng)生成C++代碼,而基于嵌入式系統(tǒng)的頻繁操作硬件的特點(diǎn)使用C編碼的效率將會(huì)更高。那么要將軟件生成的C++代碼稍作修改,由于所有對(duì)象都是靜態(tài)的,所以必須將每個(gè)對(duì)象的方法都修改成一個(gè)獨(dú)立的函數(shù)。

      如:void DeviceControl::InsertDevice(){} 修改為void DeviceControl_InsertDevice(){}

      再將DeviceControl_InsertDevice()函數(shù)放入Device_Control.c文件中去即可。當(dāng)然,變量的定義也要放入源文件中去,而后就是具體的編寫各功能函數(shù)及調(diào)用過程了[6-7]。

      4.4 測(cè)試過程

      用戶對(duì)數(shù)碼相框的可靠性、實(shí)時(shí)性、穩(wěn)定性都有著較高的要求。那么按照一般嵌入式系統(tǒng)的測(cè)試過程,本系統(tǒng)也將按照4階段進(jìn)行,即:模塊測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、軟/硬件集成測(cè)試[8]。測(cè)試方式也跟軟件測(cè)試相同即:白盒測(cè)試,黑盒測(cè)試。通過以上UML建模過程中的大量說明文檔,在宿主機(jī)上進(jìn)行前三階段的白盒測(cè)試,目標(biāo)機(jī)則結(jié)合具體的目標(biāo)環(huán)境進(jìn)行第四階段的黑盒測(cè)試。

      5、結(jié)束語

      UML在軟件工程中已有了非常寬廣的應(yīng)用,可由于嵌入式系統(tǒng)編碼的非面向?qū)ο笮允沟肬ML在嵌入式領(lǐng)域的應(yīng)用很少。但諸如:抽象、功能模塊化、增量開發(fā)等思想在嵌入式系統(tǒng)開發(fā)過程中也應(yīng)是同樣適用的。但嵌入式系統(tǒng)的結(jié)構(gòu)復(fù)雜、規(guī)模龐大、開發(fā)周期長(zhǎng),導(dǎo)致其具體的建模細(xì)節(jié)也是一個(gè)不斷修改完善的過程[9-10]。通過在實(shí)際項(xiàng)目開發(fā)中應(yīng)用UML,我們得到了不錯(cuò)的效果。這表明在嵌入式系統(tǒng)的開發(fā)中引入U(xiǎn)ML,采用先建模后編碼的開發(fā)方式是很實(shí)用的,它既可以優(yōu)化程序結(jié)構(gòu)、又能縮短系統(tǒng)開發(fā)周期,成功實(shí)現(xiàn)了快速開發(fā)又不降低系統(tǒng)效率的目標(biāo)。

      [1]徐寶文等.UML與軟件建模.北京:清華大學(xué)出版社,2006.

      [2]何宗奎,康積濤.基于UML的嵌入式系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用.2009(10)

      [3]唐慶,謝康林.基于UML的嵌入式系統(tǒng)設(shè)計(jì)[J].微型電腦應(yīng)用.2007(08)

      [4]王道乾,張楊.基于UML的嵌入式系統(tǒng)模型設(shè)計(jì)[J].計(jì)算機(jī)科學(xué).2006(11)

      [5]賈麗娜.基于UML的嵌入式軟件開發(fā)[J].科技信息(學(xué)術(shù)研究).2007(27)

      [6]王翠娥.淺析嵌入式C程序設(shè)計(jì)的優(yōu)化[J].信息與電腦(理論版).2009(12)

      [7]王小平,宣樂飛,張蔚.基于UML的嵌入式實(shí)時(shí)控制系統(tǒng)的建模與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展.2006(07)

      [8]段盛,李仁發(fā),謝桂芳.基于UML的嵌入式系統(tǒng)建模及模型驗(yàn)證機(jī)制研究[J].計(jì)算機(jī)工程與科學(xué).2007(08)

      [9]周末.基于UML的嵌入式軟件開發(fā)[J].世界電子元器件.2006(11)

      [10]張承杰,蔣興浩.基于UML的嵌入式系統(tǒng)設(shè)計(jì)分析[J].信息安全與通信保密.2007(03)

      猜你喜歡
      類圖相框嵌入式
      相框
      幼兒100(2021年15期)2021-05-26 06:21:54
      基于語義和結(jié)構(gòu)的UML類圖的檢索
      相框
      小狐貍相框
      沙灘相框
      童話世界(2018年23期)2018-08-23 09:13:12
      搭建基于Qt的嵌入式開發(fā)平臺(tái)
      嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
      UML類圖元模型基于描述邏輯的表示及驗(yàn)證
      UML類圖的一種表示方法
      關(guān)于0類圖的一個(gè)注記
      永兴县| 凤凰县| 和硕县| 定陶县| 固安县| 姜堰市| 喀什市| 漠河县| 建始县| 皋兰县| 巴塘县| 陇南市| 武汉市| 剑阁县| 大理市| 礼泉县| 正宁县| 和静县| 黔江区| 东兰县| 武穴市| 长沙市| 应城市| 日照市| 寻乌县| 寿宁县| 尤溪县| 绥化市| 浑源县| 盐池县| 叶城县| 临朐县| 德州市| 左权县| 阿城市| 根河市| 和政县| 武城县| 阿克苏市| 依兰县| 开平市|