UML軟體分析與建模技術在嵌入式指紋門禁系統中的應用研究

2020-12-05 電子發燒友

UML軟體分析與建模技術在嵌入式指紋門禁系統中的應用研究

劉苗苗,張永生 發表於 2020-05-07 09:38:24

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

作為面向對象建模技術的標準,UML適合於將複雜的系統設計問題簡單化.它採用面向對象圖形的方式對系統進行描述,支持從分析、設計到建模的全過程.按照UML規範,使用CASE工具Rational Rose對嵌入式系統建模,不僅可以使系統分析設計實現標準化,而且將UML分析建模的構建方法和相應的集成和測試策略結合在一起,完全可以實現系統分析、設計和製作、測試分別由不同的項目成員在統一、一貫的方式下完成,這將會使高質量的嵌入式系統的開發變得更為容易.

1、指紋門禁系統需求分析

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

針對嵌入式指紋門禁系統的複雜性,在本系統的開發中,按照UML規範,採用基於UML的嵌入式軟體分析與建模方法,使用CASE工具 Rational R0 繪製了各種模型圖,從不同的層次和角度為系統的分析、設計、驗證以及實現過程提供支持,詳細討論了如何使用UML輔助完成整個系統的開發.

1.1 系統功能需求

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

圖1 指紋門禁系統類圖

1.2 用例說明

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

圖2 指紋門禁系統用例圖

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

2、指紋門禁系統設計

需求分析完成以後,可以依據分析結果和所建立的模型圖進一步指導系統的設計.系統設計主要包括了用例詳細設計、類設計、數據模型設計等.

2.1 用例詳細設計

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

圖3 指紋驗證用例順序圖

2.2 類設計

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

表1 指紋圖象FingerImage實體類

表2 指紋特徵Fingerfeature實體類

2.3 資料庫模型設計

完成實體類的分析與設計之後,可建立其資料庫模型.在本系統中採用Pc機與嵌入式處理器之間的通信來管理相應的數據,因此PC機上數據管理系統的資料庫模型設計如下圖4所示.資料庫表組成包括註冊用戶管理、被鑑定人信息、指紋特徵數據和日誌管理,資料庫中表結構欄位的描述與上文實體類成員變量的結構是相對應的.例如:註冊用戶信息由RegisterUsers表組織,設置的欄位有:用戶ID、姓名、用戶級別等;指紋圖像數據表Fin- gerimage設置的欄位有:圖像名稱、圖像保存路徑、

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

3、指紋門禁系統實現與集成測試

通過反覆迭代上述建模及模型驗證過程,便可建立起整個系統的正確模型.建模工作流完成以後便是系統的實現階段,此階段主要進行下列工作:

(1)實現平臺的選擇

①硬體的設計與實現

本系統硬體平臺採用SAMSUNG公司的S3C2410開發板設計實現,CPU採用,S3C2410A ARM920T.

②系統軟體的設計與實現

ARM應用軟體的開發需要交叉編譯環境,而在Windows平臺下常用的ARM SDT調試器提供了一個集成開發環境]DE,可以在一臺Pc機上完成編輯、編譯、連結、下載和調試等工作.開發工具安裝之後,可以用ARM Project Manager來生成一個自己的工程,並在ARM Debuggefor Windows下進行調試.因此,本系統的指紋圖像處理及匹配算法採用VC語言在IDE中實現。在系統編碼中,已成熟的指紋處理算法為系統的設計奠定了良好的基礎。

圖4 資料庫模型設計

(2)軟體編碼

建模的最終目的是為了得到可執行的代碼,因此在系統實現中很重要的一部分是軟體編碼.為此,在實現階段,需要選擇某種面向對象的程式語言來完成代碼部分的實現.本系統所有軟體代碼我採用vC語言在IDE中實現,資料庫採用SQL Server2000.由於本文中系統採用滿足UML規範的建模工具Rational Rose2003,可以很好地支持正,逆向工程,通過對類和對象的詳細設計中的規範說明信息,由代碼生成器可自動生成可執行的代碼框架,開發人員在此基礎上對代碼進行修改大大提高了代碼編輯效率.

系統實現之後,在集成測試時可聯合使用所有的UML框圖認真分析每個構件的原理,針對每一個系統功能每一個可能發生的錯誤寫出相應的測試程序,進行完整而可靠的測試.

4、小結

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

責任編輯:gt

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • 創想三維:史上最全的三維建模軟體應用分類
    三維建模軟體的種類如今已非常豐富,除了傳統的工業CAD和三維設計軟體,也有很多專門面向各領域的專業設計軟體,以及適合各階段愛好者的軟體,甚至還有很多的在線建模平臺。本期小編將給大家分析一下業界最好用、最全面的建模軟體,給大家介紹不同行業正在使用的軟體。    小編主要劃分建模的幾個領域,初級建模、製圖軟體、工業設計、藝術設計、動畫軟體、室內外建築。
  • 工業仿真軟體技術與產業發展趨勢分析
    工業仿真軟體技術與產業發展趨勢分析 工程師2 發表於 2018-05-17 14:49:00 工業仿真技術作為工業生產製造中必不可少的首要環節,已經被世界上眾多企業廣泛地應用到工業各個領域中。
  • 關於指紋識別技術的分析介紹和與應用分析
    最後,隨著全面屏對其他手機組件的壓縮,也在不斷的要求手機能夠用更少的按鍵實現更多的功能,人工智慧在智慧型手機中的應用就成為必然。 當然,今天在這裡,我們主要討論的是手機供應鏈的問題,因此,硬體技術才是主要的話題。而其中尤以指紋識別最引人關注,作為因蘋果而起的一項技術,在iPhone X的影響下又將路向何方呢?
  • 創想三維:史上最全的三維建模軟體應用分類-創想三維 CR-5_深圳3D...
    三維建模軟體的種類如今已非常豐富,除了傳統的工業CAD和三維設計軟體,也有很多專門面向各領域的專業設計軟體,以及適合各階段愛好者的軟體,甚至還有很多的在線建模平臺。本期小編將給大家分析一下業界最好用、最全面的建模軟體,給大家介紹不同行業正在使用的軟體。    小編主要劃分建模的幾個領域,初級建模、製圖軟體、工業設計、藝術設計、動畫軟體、室內外建築。
  • 「蛛網」模式在中藥研究中的應用
    對「蛛網」模式及雷達圖在中藥研究中的應用開展系統綜述,總結「蛛網」模式的優點、特點、應用領域,以期「蛛網」模式能更好地服務於中藥研究。中藥是複雜的物質體系,具有成分的多樣性、功效的整體性及作用機制的複雜性等特點,單一成分不能準確、全面地反映中藥的品質及療效[1]。
  • 從波音737MAX墜機反思嵌入式軟體FMEA的重要性
    軟體的功能及複雜程序的增加,   應用FMEA方法進行軟體產品可靠性、   安全性分析,具有重要意義。   軟體FMEA是硬體或系統FMEA擴展出來的,   應用於嵌入式軟體的可靠性、   安全性的風險分析工具。   是一種以小組為導向,系統的、定性的分析方法。
  • 海隆軟體:技術優勢 客戶資源優勢
    來源: 容維投資 發布時間: 2008年06月06日 16:48 作者:     技術優勢:公司已成功向日本客戶提供全面
  • 門禁系統基礎知識要點,門禁系統安裝系統圖、大樣圖,值得收藏
    門禁系統,指「門」的禁止權限,是對「門」的戒備防範。通常包括控制器,讀卡器,鎖,開門按鈕,管理軟體。門禁系統拓撲1、門禁系統的識別流程常規門禁系統識別權限的流程分為五步:① 平臺軟體編輯權限;② 權限下發至門禁控制器;③ 刷卡時,卡號信息上傳至門禁控制器;
  • 區別攝像頭 網絡攝像機的定義和應用
    網絡攝像機簡介  網絡攝像機是一種結合傳統攝像機與網絡技術所產生的新一代攝像機,它可以將影像通過網絡傳至地球另一端,且遠端的瀏覽者不需用任何專業軟體,只要標準的網絡瀏覽器(如「Microsoft IE或Netscape)即可監視其影像。網絡攝像機內置一個嵌入式晶片,採用嵌入式實時作業系統。
  • BIM發展將進入深水區——市政基礎設施BIM技術的研究與應用
    從2015年至2019年期間,全國數十家大中型市政設計院先後啟動了對BIM技術的研究和探索性應用,整個市政設計行業也興起了一波BIM技術應用的熱潮。在全行業BIM整體水平都有所提高的同時,也遇到一些突出的共性問題。
  • 計算機科學與技術學科,和軟體工程專業,是什麼關係?
    計算機科學與技術是典型的工科門類學科,是國家一級學科,下設信息安全、軟體工程、計算機軟體與理論、計算機系統結構、計算機應用技術、計算機技術等專業。這些課程和理論具體包括了大數據技術導論、數據採集與處理實踐、Web前/後端開發、統計與數據分析、機器學習、高級資料庫系統、數據可視化、雲計算技術、人工智慧、自然語言處理、媒體大數據案例分析、網絡空間安全、計算機網絡、數據結構、軟體工程、作業系統等課程,以及大數據方向系列實驗,並完成程序設計、數據分析、機器學習、數據可視化、大數據綜合應用實踐、專業實訓和畢業設計等多種實踐環節。
  • 電路仿真軟體哪個好?7款主流電路仿真軟體優缺點大比拼
    獨有的3D設計及分析環境,完美集成了Sigrity工具與Cadence Allegro技術,較之於當前市場上依賴於第三方建模工具的產品,Sigrity 2018版本可提供效率更高、出錯率更低的解決方案,大幅度縮短設計周期的同時、降低設計失誤風險。 此外,全新的3D Workbench解決方案彌補了機械和電氣領域之間的隔閡,產品開發團隊自此能夠實現跨多板信號的快速精準分析。
  • 「魚類種質分子鑑定研究」完善多種魚類種質鑑定技術
    7月19日,由水科院珠江水產研究所副所長白俊傑研究員主持完成的「魚類種質分子鑑定研究」通過了廣東省海洋與漁業局組織的成果鑑定,該項目進一步擴展和完善了多種魚類的分子鑑定技術。鑑定委員會由中山大學林浩然院士為組長,成員由來自華南師範大學、暨南大學、中科院南海海洋研究所、華南農業大學、廣州大學以及南海所等單位的專家組成。
  • 上海APP應用軟體測試報告選哪家_找小賽
    上海APP應用軟體測試報告選哪家,找小賽,賽辰認證通過與IT各領域優秀企業、各高等院校進行積極的合作,建立了集培訓、考試和認證於一體的開放式認證體系,並為IT企業各領域提供軟體測試整體解決方案。 為應用軟體、網站、系統、嵌入式系統、APP軟體等軟體、平臺進行登記申請,為主流應用市場上架審核的提供必要條件。
  • 天線及傳輸信道模型建模的方法及系統仿真案例概述
    本文通過研究業界針對通信終端及雷達系統中天線及傳輸信道模型建模的方法及系統仿真案例,總結兩個不同的系統中天線模型的差別及仿真的側重點。  1、通信終端中的天線模型  移動通信信道主要存在以下特點:開放變參信道,容易受到各種幹擾影響;接收點地理環境非常複雜多樣,如大致可分為城市、近郊及農村三類;用戶具有隨機移動性。
  • 自動控制技術可以應用在哪裡
    當然,智能建築離不開自動控制技術的輔助,故此,自動控制技術的分析與研究對於智能建築的發展起著至關重要的位置。那麼,自動控制技術可以應用在哪裡呢?當然,智能建築離不開自動控制技術的輔助,故此,自動控制技術的分析與研究對於智能建築的發展起著至關重要的位置。那麼,自動控制技術可以應用在哪裡呢?
  • 自適應算法在程序化研究中簡單應用
    摘要:本文首先分析了一般程序化開發流程,指出目前市場中大多數模型都是基於指標組合,會不可避免的出現同質化現象,然後筆者提出了引入數學物理中模型改進程序化模型,研究了將自適應算法應用於區間突破模型,並給出了算法性能效果和績效曲線,研究算法的參數敏感性,整體上模型具有不錯的效果,在研究過程中同時可以發現數學之美。
  • 事務跟蹤系統在軟體企業中的應用
    一般企業都會使用簡單的BUG跟蹤軟體來管理產品缺陷,但是由於它們缺少靈活的流程支撐能力以及完善的權限控制方式,其應用範圍受到了很大限制,無法發揮更多的作用。事務跟蹤系統可以看做更「通用」的BUG管理軟體,在BUG跟蹤之上,提供欄位、流程、權限的自定義能力。BUG只是「事務」的一種形式。
  • 「集微拆評」釘釘D3評測:智能門禁/無人前臺/考勤多功能一體機...
    今年以來很多企業在經歷過在線遠程辦公後,職場人對於辦公軟體、硬體的認識更深刻,對這些產品的價值也更深。此前企業的打卡機被很多人吐槽太low等等。這裡又不得不提釘釘。釘釘的智能辦公硬體已經覆蓋考勤、門禁、會議、前臺、網絡、列印等等場景。
  • 基於MC9328MX1嵌入式最小系統的設計
    引言嵌入式系統是以實際應用為核心,對功能、可靠性、成本、體積、功耗有嚴格要求的專業計算機系統,隨著嵌入式系統相關技術的迅速發展,嵌入式系統功能越來越強,應用接口更加豐富,根據實際應用的需要設計出特定的嵌入式最小系統和應用系統