當前位置:首頁 > 工業(yè)控制 > 工業(yè)控制
[導讀] 嵌入式系統(tǒng)的開發(fā)是一個軟硬件協(xié)同設(shè)計過程,它需要不同技術(shù)背景的人共同開發(fā).而傳統(tǒng)的嵌入式軟件分析與設(shè)計方法嚴重脫節(jié),開發(fā)過程沒有—個確定的統(tǒng)一的標準,這使得產(chǎn)品形成的每一個過程人為因素影響嚴重.此外

 嵌入式系統(tǒng)的開發(fā)是一個軟硬件協(xié)同設(shè)計過程,它需要不同技術(shù)背景的人共同開發(fā).而傳統(tǒng)的嵌入式軟件分析與設(shè)計方法嚴重脫節(jié),開發(fā)過程沒有—個確定的統(tǒng)一的標準,這使得產(chǎn)品形成的每一個過程人為因素影響嚴重.此外,分析設(shè)計的結(jié)果不能在開發(fā)類似項目或產(chǎn)品時重用.以上幾個問題成為多年來制約嵌入式系統(tǒng)發(fā)展的主要瓶頸,使得大部分嵌入式軟件的開發(fā)工作變得十分困難甚至無法進行.

  作為面向?qū)ο蠼<夹g(shù)的標準,UML適合于將復雜的系統(tǒng)設(shè)計問題簡單化.它采用面向?qū)ο髨D形的方式對系統(tǒng)進行描述,支持從分析、設(shè)計到建模的全過程.按照UML規(guī)范,使用CASE工具Rational Rose對嵌入式系統(tǒng)建模,不僅可以使系統(tǒng)分析設(shè)計實現(xiàn)標準化,而且將UML分析建模的構(gòu)建方法和相應的集成和測試策略結(jié)合在一起,完全可以實現(xiàn)系統(tǒng)分析、設(shè)計和制作、測試分別由不同的項目成員在統(tǒng)一、一貫的方式下完成,這將會使高質(zhì)量的嵌入式系統(tǒng)的開發(fā)變得更為容易.

  1 指紋門禁系統(tǒng)需求分析

  目前,將指紋識別技術(shù)應用到各種需要身份驗證的系統(tǒng)或者嵌入到原有的大量保安系統(tǒng),會大大提高系統(tǒng)的安全性和便捷性.本文中,設(shè)計了一個嵌入式指紋門禁系統(tǒng),它使用指紋識別技術(shù)來驗證用戶身份,并提供了一套完整的軟硬件來實現(xiàn)門禁系統(tǒng)的日常管理.主要包括:用戶信息注冊、刪除、查詢、指紋比對、門禁控制和監(jiān)視以及日志管理等.

  針對嵌入式指紋門禁系統(tǒng)的復雜性,在本系統(tǒng)的開發(fā)中,按照UML規(guī)范,采用基于UML的嵌入式軟件分析與建模方法,使用CASE工具 Rational R0 繪制了各種模型圖,從不同的層次和角度為系統(tǒng)的分析、設(shè)計、驗證以及實現(xiàn)過程提供支持,詳細討論了如何使用UML輔助完成整個系統(tǒng)的開發(fā).

  1.1 系統(tǒng)功能需求

  建模過程首先應該從系統(tǒng)中的類開始,為了理解類的結(jié)構(gòu),需要對系統(tǒng)及其工作過程做一個總體陳述.經(jīng)分析,該系統(tǒng)包含一個電動門、一個指紋傳感器、一個微處理器、一個存儲指紋庫的存儲系統(tǒng)、一個數(shù)字鍵盤、一個十字型按鍵、一個液晶顯示屏、一個電動門以及兩個狀態(tài)燈.系統(tǒng)從指紋傳感器中獲取指紋數(shù)據(jù),并在微處理器中進行預處理和特征提取,獲取指紋的生物代碼信息,并與指紋庫中注冊用戶的指紋模板進行匹配算法的驗證,并輸出結(jié)果,通過狀態(tài)燈顯示,同時根據(jù)匹配結(jié)果發(fā)送控制信號控制門的開關(guān).通過對系統(tǒng)及類做進一步分析可得到系統(tǒng)總的類圖如圖1所示.通過這幅圖我們可以得知系統(tǒng)中所包含的基礎(chǔ)類及其相互之間的關(guān)系,為后文動態(tài)模型的建立奠定了基礎(chǔ).

  圖1 指紋門禁系統(tǒng)類圖

  1.2 用例說明

  通過對系統(tǒng)的需求分析,我們確定了該系統(tǒng)需要實現(xiàn)的功能.那么如何形象化地描述這些功能,以便使我們更好地與用戶溝通,更準確地了解他們的需求呢?這就要使用UML的用例模型.在UML中,用例可以被描述為參與者與系統(tǒng)之間的一次交互作用.每一個用例都是一種不同的使用系統(tǒng)的方法,都會產(chǎn)生不同的結(jié)果.而角色是與系統(tǒng)交互的對象,它是使用該系統(tǒng)的人或者其它系統(tǒng).用例圖列出了用戶最想要的功能以及每個功能的描述.經(jīng)分析,本系統(tǒng)的用例圖如圖2所示.

圖2 指紋門禁系統(tǒng)用例圖

  從圖中我們可以明確地了解到系統(tǒng)的功能需求.該系統(tǒng)主要有兩類用戶:普通用戶和管理員.“啟動系統(tǒng)”用例表明系統(tǒng)初始化時要進行傳感器和微處理器等的自檢.進入正常工作狀態(tài)以后,普通用戶可以通過“身份驗證”用例進行指紋驗證.如果是未注冊用戶則在獲得合法II)的前提條件下,通過“注冊”用例注冊自己的相關(guān)信息.系統(tǒng)提供的“開/關(guān)門”用例則主要是根據(jù)指紋匹配結(jié)果,通過信號線將控制信號傳輸給門的驅(qū)動電動機以此來控制門的開關(guān).管理員主要負責系統(tǒng)維護,可以使用 “注冊”、“查找”和“刪除”等用例進行信息管理操作.由于在該階段我們對系統(tǒng)還沒有充分理解,同時為了控制用例的數(shù)目,在這里我們只是給出了系統(tǒng)的總體用例模型,在隨后的詳細設(shè)計階段我們可以對這些用例進行進一步的細化以精化系統(tǒng)的需求.

  2 指紋門禁系統(tǒng)設(shè)計

  需求分析完成以后,可以依據(jù)分析結(jié)果和所建立的模型圖進一步指導系統(tǒng)的設(shè)計.系統(tǒng)設(shè)計主要包括了用例詳細設(shè)計、類設(shè)計、數(shù)據(jù)模型設(shè)計等.

  2.1 用例詳細設(shè)計

  詳細設(shè)計階段需要對系統(tǒng)需求中的每個用例進行詳細的分析,并以一種通用的表示來文檔化,以便使開發(fā)人員更清晰得了解每個用例的具體實現(xiàn)過程 [5].本文以指紋驗證用例為實例,對該用例進行更進一步的詳細分析,它包含了指紋采集、預處理、圖像增強、細化、二值化處理、特征碼提取、比對、結(jié)果輸出等過程,這些過程都可以通過文檔清晰地表示.我們在描述系統(tǒng)用例時,是從用戶角度出發(fā)的,沒有涉及系統(tǒng)內(nèi)部.通過分析得到滿足系統(tǒng)需求的類之后,便可根據(jù)用例驅(qū)動的思想,通過類之間的交互來實現(xiàn)用例.嵌入式系統(tǒng)一般都要與硬件設(shè)備如傳感器等進行交互,同時還有很強的時間和內(nèi)存空間的約束.交互圖就是用來描述對象間的動態(tài)交互行為的,它一步步地顯示了使用案例的流程.在UML中定義了兩種交互框圖:順序圖和合作圖.這兩種框圖顯示同一信息,但組織方式不同.順序圖按時間排序,依次顯示對象間進行的操作;合作圖則以數(shù)據(jù)流為中心,顯示各個對象間的數(shù)據(jù)交換情況.由于順序圖能更好地說明對象間的交互順序,有利于我們理解系統(tǒng),所以本文以“指紋驗證”用例的順序圖(見圖3)為例來描述對象之間的交互過程.其它用例都可以采用此種方法來詳細說明,以便我們更清晰地了解系統(tǒng)每個功能(用例)的具體實現(xiàn)過程.

  圖3 指紋驗證用例順序圖

  2.2 類設(shè)計

  UML規(guī)范按照類職責不同將系統(tǒng)設(shè)計類分為邊界類、實體類和控制類.其中實體類是系統(tǒng)運行的數(shù)據(jù)基礎(chǔ)類,也是類設(shè)計的核心部分.按照RUP的思想,采用名詞分析法對系統(tǒng)需求進行分析,便可以得到大部分的實體類.對于指紋門禁系統(tǒng)而言,指紋信息數(shù)據(jù)是系統(tǒng)的核心數(shù)據(jù),同時,一些相關(guān)的管理信息也是實體類的組成部分,主要有用戶信息、系統(tǒng)13志等等.在這里我們只對系統(tǒng)中兩個主要類進行分析,如下表格1,2所示.

 表1 指紋圖象FingerImage實體類

  表2 指紋特征Fingerfeature實體類

  2.3 數(shù)據(jù)庫模型設(shè)計

  完成實體類的分析與設(shè)計之后,可建立其數(shù)據(jù)庫模型.在本系統(tǒng)中采用Pc機與嵌入式處理器之間的通信來管理相應的數(shù)據(jù),因此PC機上數(shù)據(jù)管理系統(tǒng)的數(shù)據(jù)庫模型設(shè)計如下圖4所示.數(shù)據(jù)庫表組成包括注冊用戶管理、被鑒定人信息、指紋特征數(shù)據(jù)和日志管理,數(shù)據(jù)庫中表結(jié)構(gòu)字段的描述與上文實體類成員變量的結(jié)構(gòu)是相對應的.例如:注冊用戶信息由RegisterUsers表組織,設(shè)置的字段有:用戶ID、姓名、用戶級別等;指紋圖像數(shù)據(jù)表Fin- gerimage設(shè)置的字段有:圖像名稱、圖像保存路徑、

  圖像特征數(shù)、圖像寬度、高度等;指紋特征數(shù)據(jù)表FingerFeature設(shè)置的字段有:ID、注冊用戶指紋特征、被鑒定人指紋特征、指紋特征數(shù)等,完全可以滿足系統(tǒng)的需求.圖中其它各表的詳細數(shù)據(jù)項描述可根據(jù)實際的需要來設(shè)計,在此不作過多舉例說明.各個表間的連線表示數(shù)據(jù)表約束,例如: RegisterUs-ers表和Worklog表之間的對應關(guān)系為一個注冊用戶可以對應多條日志記錄.同時,RegisterUsers表的主鍵用戶 ID)是表WoALog的外鍵,圖中其他依賴關(guān)系表示含義相同.

  3 指紋門禁系統(tǒng)實現(xiàn)與集成測試

  通過反復迭代上述建模及模型驗證過程,便可建立起整個系統(tǒng)的正確模型.建模工作流完成以后便是系統(tǒng)的實現(xiàn)階段,此階段主要進行下列工作:

  (1)實現(xiàn)平臺的選擇

 ?、儆布脑O(shè)計與實現(xiàn)

  本系統(tǒng)硬件平臺采用SAMSUNG公司的S3C2410開發(fā)板設(shè)計實現(xiàn),CPU采用,S3C2410A ARM920T.

  ②系統(tǒng)軟件的設(shè)計與實現(xiàn)

  ARM應用軟件的開發(fā)需要交叉編譯環(huán)境,而在Windows平臺下常用的ARM SDT調(diào)試器提供了一個集成開發(fā)環(huán)境]DE,可以在一臺Pc機上完成編輯、編譯、鏈接、下載和調(diào)試等工作.開發(fā)工具安裝之后,可以用ARM Project Manager來生成一個自己的工程,并在ARM Debuggefor Windows下進行調(diào)試.因此,本系統(tǒng)的指紋圖像處理及匹配算法采用VC語言在IDE中實現(xiàn)。在系統(tǒng)編碼中,已成熟的指紋處理算法為系統(tǒng)的設(shè)計奠定了良好的基礎(chǔ)。

 圖4 數(shù)據(jù)庫模型設(shè)計

  (2)軟件編碼

  建模的最終目的是為了得到可執(zhí)行的代碼,因此在系統(tǒng)實現(xiàn)中很重要的一部分是軟件編碼.為此,在實現(xiàn)階段,需要選擇某種面向?qū)ο蟮木幊陶Z言來完成代碼部分的實現(xiàn).本系統(tǒng)所有軟件代碼我采用vC語言在IDE中實現(xiàn),數(shù)據(jù)庫采用SQL Server2000.由于本文中系統(tǒng)采用滿足UML規(guī)范的建模工具Rational Rose2003,可以很好地支持正,逆向工程,通過對類和對象的詳細設(shè)計中的規(guī)范說明信息,由代碼生成器可自動生成可執(zhí)行的代碼框架,開發(fā)人員在此基礎(chǔ)上對代碼進行修改大大提高了代碼編輯效率.

  系統(tǒng)實現(xiàn)之后,在集成測試時可聯(lián)合使用所有的UML框圖認真分析每個構(gòu)件的原理,針對每一個系統(tǒng)功能每一個可能發(fā)生的錯誤寫出相應的測試程序,進行完整而可靠的測試.

  4 小結(jié)

  本文詳細介紹了UML軟件分析與建模技術(shù)在— 個嵌入式系統(tǒng)開發(fā)中的應用,使用Rose建立了該系統(tǒng)的完整模型,通過模型的建立對基于UML的嵌入式軟件開發(fā)方法進行了一些探索和研究.通過該實例的開發(fā),定性地說明了UML的優(yōu)點以及它對嵌入式軟件開發(fā)所能起到的良好的指導作用.但由于UML過于龐大和復雜,不同建模工具對該語言的側(cè)重方面也有所不同,本文是使用了Rational Rose2003完成了所有模型的設(shè)計,因此,所建模型在抽象層次等方面還存在一定不足,有待于進一步驗證準確性及完整性.在實際開發(fā)中可考慮使用多種建模工具對所建模型進行比較,以精化、細化模型,從中選擇最優(yōu)模型來改進系統(tǒng)設(shè)計方案.此外,在以后的開發(fā)實踐中,開發(fā)環(huán)境應該選擇能夠支持直接的可執(zhí)行的模型生成,并且支持基于實時框架的代碼生成,從而解決嵌入式軟件的可移植性問題.

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉