• 
    

    
    

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

      ?

      基于UML的嵌入式模型設計及應用研究

      2010-09-25 02:29:12顧衛(wèi)杰王云良史二穎錢月霞
      關鍵詞:開發(fā)方法嵌入式軟件用例

      顧衛(wèi)杰,王云良,史二穎,錢月霞

      (常州機電職業(yè)技術學院信息工程系,江蘇 常州213164)

      基于UML的嵌入式模型設計及應用研究

      顧衛(wèi)杰,王云良,史二穎,錢月霞

      (常州機電職業(yè)技術學院信息工程系,江蘇 常州213164)

      為了解決嵌入式軟件開發(fā)過程復雜,對需求變化等實際問題的應變能力差等問題,在傳統(tǒng)的嵌入式軟件開發(fā)基礎上,提出了一種新的開發(fā)方法,并給出了基于UML的建模步驟,最后,結(jié)合指紋識別系統(tǒng),完成了嵌入式模型設計,對文章提出的建模方法的可行性進行了驗證。

      嵌入式系統(tǒng);開發(fā)方法;UML建模

      1 引 言

      嵌入式系統(tǒng)是以應用為中心,以計算機技術為基礎,是軟硬件可裁減的,能適應應用系統(tǒng)對功能、可靠性、成本、體積、功耗等綜合性嚴格要求的專用計算機系統(tǒng)。如今,嵌入式系統(tǒng)已被廣泛地應用到航空航天、工業(yè)控制系統(tǒng)、仿真系統(tǒng)、信息家電等眾多領域中,對國民經(jīng)濟產(chǎn)生了越來越重要的影響。然而,嵌入式系統(tǒng)的需求復雜性、不確定性也在不斷地提高,系統(tǒng)規(guī)模越來越大,給嵌入式軟件的開發(fā)帶來了新的挑戰(zhàn)。統(tǒng)計資料顯示,有34%的嵌入式軟件項目在開發(fā)過程中被迫停止,72.7%的軟件在產(chǎn)品開發(fā)完成時成本已超出預算的50%。目前,盡管有許多工具可用于嵌入式系統(tǒng)的開發(fā),但是在實際的開發(fā)過程中嵌入式系統(tǒng)的開發(fā)方法仍沒有太大的突破,系統(tǒng)的分析抽象和編程開發(fā)之間缺少有效的中間步驟,因此研究一種支持嵌入式系統(tǒng)從分析、設計、驗證到編碼這一整個開發(fā)過程的模型系統(tǒng)及建模方法愈顯重要。

      系統(tǒng)描述的主要任務就是用一種或幾種描述語言對目標系統(tǒng)的結(jié)構、行為、功能和性能等特征進行抽象描述,這一活動也可稱為系統(tǒng)建模,描述語言也可稱為建模語言。建模的目的是為了更好地理解系統(tǒng),目前,在軟件設計領域,已成為工業(yè)標準的通用建模語言,就是統(tǒng)一建模語言(Unified Modeling Language,UML)。

      本文在改進嵌入式系統(tǒng)開發(fā)方法的基礎上,提出了新的嵌入式系統(tǒng)開發(fā)方法,探討了嵌入式系統(tǒng)的開發(fā)步驟,并對指紋識別系統(tǒng)進行了UML建模研究。

      2 基于UML的嵌入式軟件開發(fā)方法

      “宿主機/目標機”開發(fā)模式是利用宿主機上豐富的資源和良好的開發(fā)環(huán)境開發(fā)目標機上的嵌入式軟件,然后通過串行口或以太網(wǎng)接口將編譯生成的目標代碼傳輸并裝載到目標機上,并用交叉調(diào)試器在監(jiān)控程序或操作系統(tǒng)的支持下進行實時分析和調(diào)試,最后目標機在特定的環(huán)境下運行。無論是哪種方法,目前的開發(fā)模式都是基于這種“宿主機/目標機”的,本文擬尋求一種更科學的嵌入式系統(tǒng)開發(fā)方法,更好地指導、協(xié)同硬件和軟件的開發(fā)。

      2.1 傳統(tǒng)的嵌入式軟件開發(fā)方法比較

      2.1.1 傳統(tǒng)的靜態(tài)開發(fā)方法

      該方法和一般軟件的開發(fā)相同,必須經(jīng)過分析、設計、編碼、測試四個階段。分析過程定義了軟件要解決的問題,設計過程定義了問題的解決方法,編碼是對設計部分的具體實現(xiàn),測試過程可以驗證系統(tǒng)是否滿足需求,實現(xiàn)是否滿足設計[2]。這種傳統(tǒng)的嵌入式軟件開發(fā)方式最大的特點是以源程序的開發(fā)和測試為核心的。但是由于嵌入式產(chǎn)品的更新?lián)Q代較快,因此就要求研發(fā)周期盡可能的短,同時在開發(fā)過程中能動態(tài)地調(diào)整需求[3]。

      2.1.2 統(tǒng)一軟件開發(fā)方法

      統(tǒng)一軟件開發(fā)過程RUP(Rational Unified Process)是由提出UML的三位方法學家提出的,它與UML形成了最好的結(jié)合。在“初始、細化、構造、移交”四個階段重用“需求、分析、設計、實現(xiàn)、測試”五個核心工作流程,從最核心的用例開始設計、實現(xiàn),逐步增加實現(xiàn)的用例數(shù),直到所有的用例都實現(xiàn)為止。RUP定義的開發(fā)過程正是表現(xiàn)為一系列系統(tǒng)原型不斷迭代和增量的過程。

      2.1.3 柔性軟件開發(fā)方法

      柔性是用來描述材料性質(zhì)的一個概念,1980年以來,柔性一詞頻頻出現(xiàn)于管理和機械制造領域的文獻中,1990年以后又開始出現(xiàn)在軟件工程領域。從技術角度,柔性軟件開發(fā)方法可以定義為允許或能夠?qū)I(yè)務過程進行調(diào)整或進行其它變更的開發(fā)方法[4]。其基本思想為:首先明確用戶要求,在此基礎上為系統(tǒng)建立模型,通過對模型的模擬運行,分析模型是否滿足用戶需求和滿足的程度。整個建模過程是自頂向下逐層細化的,而模擬修改則由底向上進行,然后在保證模型正確的基礎上,進行代碼的生成,如下圖1所示。

      2.2 迭代增量式柔性開發(fā)方法

      本文結(jié)合RUP和柔性軟件開發(fā)方法的特點,提出一種新的支持UML對嵌入式軟件開發(fā)的方法。這種基于UML的嵌入式軟件開發(fā)方法融合了上述兩種軟件開發(fā)模式的優(yōu)點,我們稱之為“迭代增量式柔性開發(fā)方法”,即在整個系統(tǒng)開發(fā)過程中運用迭代增量的開發(fā)思想,而在每個軟件版本的開發(fā)過程中采用柔性的軟件開發(fā)模式。由于嵌入式軟件的需求復雜性較高,很難一次性確定,因此在開發(fā)的初期,并不是將所有的需求都確定,我們先對已確定的需求進行分析,給出系統(tǒng)的模型,通過模擬和修改來獲得正確的模型,然后利用正向工程實現(xiàn)代碼,最后通過測試結(jié)果來驗證是否滿足用戶需求,通過這種柔性開發(fā)過程便生成了系統(tǒng)的第一個版本。當有新的需求時,我們按上述步驟重復進行,經(jīng)過反復迭代,軟件開發(fā)過程遞增向前產(chǎn)生不同版本的軟件,直至獲得系統(tǒng)的最終版本。這種開發(fā)方法很好地支持了軟硬件的協(xié)同設計;迭代增量的思想更好地適應了用戶需求的變化,得到了反饋;模型的模擬和修改可以較早地發(fā)現(xiàn)設計階段的錯誤,降低了系統(tǒng)開發(fā)風險和成本,如圖2所示。

      3 基于UML的嵌入式軟件建模步驟

      軟件過程是活動的集合,軟件過程可分解為若干個活動?;顒优c活動之間存在著復雜的時序關系,如同步、異步、串行、并行、反饋等[5]。活動可以理解為特定的開發(fā)人員在工具的幫助下,利用已有的軟硬件資源產(chǎn)生不同的產(chǎn)品,過程建模就是要對以上元素及其間的關系進行抽象的本質(zhì)描述。如圖3所示,當采用UML建模時,第一步是需求分析,包括識別角色、識別用例,建立角色與用例之間的關系,得到用例圖。第二步,用類圖描述過程模型中的重要元素之間的靜態(tài)關系。第三步,描述活動、產(chǎn)品等元素在執(zhí)行時的時序關系或交互關系,其中動態(tài)行為用順序圖和狀態(tài)圖描述。由于已建立的過程模型在過程模型環(huán)境的支持下是可執(zhí)行的,UML描述可轉(zhuǎn)化為代碼,通過對過程執(zhí)行的跟蹤和監(jiān)控,可收集與過程有關的量度參數(shù),對過程進行評價,以便得到反饋信息從而改進過程模型。

      4 “迭代增量式柔性開發(fā)方法”的應用

      本文以“指紋識別系統(tǒng)”的設計為例,利用迭代增量式柔性開發(fā)方法,分析嵌入式系統(tǒng)的開發(fā)過程,給出整個UML建模過程。

      4.1 系統(tǒng)功能及原理

      “指紋識別系統(tǒng)”的主要功能為通過指紋的驗證來確定用戶的身份是否合法,比傳統(tǒng)的“用戶名”加“口令”的方式更安全,每個人的指紋都是唯一的,不能盜取。

      當用戶向管理員申請注冊時,管理員為用戶分配一個ID號,同時將該ID號、用戶級別、指紋信息等存入指紋數(shù)據(jù)庫。在數(shù)據(jù)庫中,用戶的ID號和指紋圖像數(shù)據(jù)是一一對應的。當用戶需要認證時,首先通過數(shù)字鍵盤輸入自己的ID號,并按下“確認”按鈕,同時在指紋傳感器上按下指紋。FLASH中預先存放了合法用戶的ID號及指紋數(shù)據(jù),因此傳感器提取用戶的指紋,微處理器登陸指紋庫中將具有相同ID號的指紋信息檢索出來,與用戶提供的指紋信息進行比對。如果匹配成功則表示是合法用戶,否則為非法用戶。最后,指紋匹配結(jié)果提示信息通過液晶屏顯示給用戶,同時用戶每次的出入記錄等都會被存儲在操作日志中作為歷史記錄以供查詢。

      4.2 需求分析

      4.2.1 需求級別劃分

      根據(jù)前文提出的“迭代增量式柔性開發(fā)方法”,我們可以根據(jù)需求設計用例,并按優(yōu)先級進行劃分。首先開發(fā)的用例應該是用戶要求在短時間內(nèi)實現(xiàn)的,或者是實現(xiàn)其他用例的基礎;另外,風險大的用例一般要先開發(fā)。然后,我們可以根據(jù)用例的優(yōu)先級制定出下一階段的迭代計劃,需求級別如表1所示。

      在本例中,我們可以先開發(fā)出滿足前兩個需求的原型系統(tǒng),在與客戶溝通驗證后再實現(xiàn)其他功能,直至完成最終版本,在每個版本的開發(fā)過程中,首先建立模型,然后對模型進行模擬分析,并進一步與客戶溝通需求,在保證模型正確的基礎上,編寫代碼。

      表1 “指紋識別系統(tǒng)”需求級別

      4.2.2 用例模型的構建

      構建用例模型的第一步是角色識別,通過角色的識別可以進一步識別用例,從而得到用例模型。對于嵌入式系統(tǒng)來講,系統(tǒng)本身包括大量的硬件設備,這些硬件都要與系統(tǒng)進行交互,但是它們并不都被識別為角色,對于如何識別我們遵循這樣一個原則:如果需求描述中明確指出了關于該硬件的約束,則該硬件應當識別為角色。對于本系統(tǒng),指紋傳感器、LCD、鍵盤以及指示燈都沒有提出任何的約束,而電池的容量則要通過LCD顯示。同時電池也不是系統(tǒng)的必要組成部分。綜上所述,可以得到該系統(tǒng)的兩個角色“用戶”和“電池”。其中用戶是系統(tǒng)的使用者,分為普通用戶和管理員;電池是系統(tǒng)需要應付的外部設備,系統(tǒng)要檢測電池的電量,用例圖如圖4所示。

      4.3 靜態(tài)結(jié)果模型的建立

      類圖的建立

      尋找正確的類和對象是面向?qū)ο蠓治龊驮O計的基礎,對象是對現(xiàn)實世界中事物的抽象。首先,要去掉那些與系統(tǒng)無關的事物。其次,要在與系統(tǒng)有關的事物的特征中尋找與系統(tǒng)有關的特征,以建立合適的類。根據(jù)分析,本例中應包括“指紋傳感器類、微處理器類、存儲指紋庫的類、數(shù)字鍵盤類、液晶顯示屏類以及狀態(tài)燈類”,如圖5所示。

      4.4 動態(tài)行為模型的建立

      4.4.1 順序圖的建立

      我們在描述系統(tǒng)用例時,是從用戶角度出發(fā)的,沒有涉及系統(tǒng)內(nèi)部。順序圖是交互圖的一種,主要對系統(tǒng)的工作流程做進一步分析,系統(tǒng)從指紋傳感器中獲取指紋數(shù)據(jù),并在微處理器中進行預處理和特征提取,獲取指紋的生物代碼信息,并與指紋庫中注冊用戶的指紋模板進行匹配算法的驗證,通過狀態(tài)燈顯示輸出結(jié)果。這樣,我們就可以得到系統(tǒng)的順序圖了,如圖6所示。

      4.4.2 活動圖的建立

      活動圖是對系統(tǒng)的動態(tài)行為建模的四個圖之一,它可以看作是狀態(tài)圖的特殊形式,在活動圖中一個活動結(jié)束后將立即進入下一個活動。圖7就是該系統(tǒng)的整體工作流程的具體描述。

      下一步,可根據(jù)上述UML模型進行系統(tǒng)的詳細的后讀設計。

      5 結(jié) 語

      隨著后PC時代的到來,嵌入式系統(tǒng)軟件應用將迅速增長,嵌入式軟件開發(fā)方法將備受關注,本文提出的“迭代增量式柔性開發(fā)方法”綜合了傳統(tǒng)的開發(fā)方法的優(yōu)點,能夠更好地支持UML對嵌入式軟件的開發(fā),加強了軟硬件的協(xié)調(diào)開發(fā)。下一步的研究工作主要是完善本文提出的開發(fā)方法和UML模型的一致性檢驗研究。

      [1]王少鋒.面向?qū)ο蠹夹gUML教程[M].北京:清華大學出版社, 2004:1-17.

      [2]尚利宏,熊運鴻.一種基于UML的嵌入式實時應用軟件開發(fā)環(huán)境[J].電子質(zhì)量(自動化與儀器儀表卷),2001(9):25-30.

      [3]劉苗苗.UML在嵌入式軟件開發(fā)中的研究與應用[D].中國海洋大學,2006.

      [4]Nelson Kay M,Nelson H Jame,Ghods M.Proceedings of HICSS97:Technology Flexibility:Conceptualization,Validation, and measurement [C].New York:IEEE Computer Society Press,1997:76-87.

      [5]陳建峽.基于UML的分析建模方法[J].湖北工業(yè)大學學報, 2005(4).

      責任編輯 王榮輝

      TP39

      A

      1674-5787(2010)05-0147-03

      2010-08-02

      本文系常州機電職業(yè)技術學院2010年院級課題資助項目(CZMEC201006)。

      顧衛(wèi)杰(1980—),男,江蘇南通人,碩士,常州機電職業(yè)技術學院講師,主要研究方向:軟件工程、嵌入式系統(tǒng)。

      猜你喜歡
      開發(fā)方法嵌入式軟件用例
      UML用例模型中依賴關系的比較與分析
      高中英語校本教材的開發(fā)方法
      甘肅教育(2020年14期)2020-09-11 07:58:10
      聯(lián)鎖軟件詳細設計的測試需求分析和用例編寫
      從出土文獻用例看王氏父子校讀古書的得失
      實時嵌入式軟件的測試技術
      電子測試(2018年10期)2018-06-26 05:54:08
      基于FANUC PICTURE的虛擬軸坐標顯示界面開發(fā)方法研究
      全景相機遙控器嵌入式軟件V1.0 相關操作分析
      電子制作(2017年17期)2017-12-18 06:40:56
      基于Eclipse的航天嵌入式軟件集成開發(fā)環(huán)境設計與實現(xiàn)
      航天嵌入式軟件浮點運算誤差分析與控制
      基于模型開發(fā)方法(MBD)的ABS控制器開發(fā)
      汽車文摘(2014年9期)2014-12-13 13:10:30
      汉中市| 甘肃省| 连山| 盈江县| 成都市| 马尔康县| 新蔡县| 花莲县| 台东县| 衡水市| 栾川县| 大足县| 乌鲁木齐市| 阿克| 邢台市| 彰武县| 雅安市| 和平区| 娄烦县| 土默特左旗| 延庆县| 永登县| 深州市| 方城县| 潞城市| 施秉县| 四平市| 乐山市| 盐池县| 贡嘎县| 巴林右旗| 淮安市| 来凤县| 旺苍县| 上虞市| 青铜峡市| 和林格尔县| 温州市| 阿拉善左旗| 石渠县| 芮城县|