當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件

標(biāo)準(zhǔn)建模語(yǔ)言UML是一種廣泛使用的面向?qū)ο笙到y(tǒng)的可視化建模方法.本文指出了使用UML設(shè)計(jì)嵌入式系統(tǒng)的作用和意義,并將其運(yùn)用到指紋門(mén)禁系統(tǒng)的開(kāi)發(fā)中,論述了使用UML對(duì)系統(tǒng)進(jìn)行分析、建模設(shè)計(jì)到實(shí)現(xiàn)的整個(gè)過(guò)程.

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

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

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

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

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

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

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

圖1 指紋門(mén)禁系統(tǒng)類(lèi)圖

1.2 用例說(shuō)明

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

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

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

  2 指紋門(mén)禁系統(tǒng)設(shè)計(jì)

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

  2.1 用例詳細(xì)設(shè)計(jì)

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

   圖3 指紋驗(yàn)證用例順序圖
2.2 類(lèi)設(shè)計(jì)

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

表1 指紋圖象FingerImage實(shí)體類(lèi)

表2 指紋特征Fingerfeature實(shí)體類(lèi)

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

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

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

  3 指紋門(mén)禁系統(tǒng)實(shí)現(xiàn)與集成測(cè)試

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

  (1)實(shí)現(xiàn)平臺(tái)的選擇

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

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

 ?、谙到y(tǒng)軟件的設(shè)計(jì)與實(shí)現(xiàn)

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

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

  (2)軟件編碼

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

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

4 小結(jié)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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