《UML在指纹门禁系统开发中的应用.docx》由会员分享,可在线阅读,更多相关《UML在指纹门禁系统开发中的应用.docx(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、UML在指纹门禁系统开发中的应用嵌入式系统的开发是一个软硬件协同设计过程,它需要不同技术背景的人共同开发而传统的嵌入式软件分析与设计方法严重脱节,开发过程没有个确定的统一的标准,这使得产品形成的每一个过程人为因素影响严重此外,分析设计的结果不能在开发类似项目或产品时重用以上几个问题成为多年来制约嵌入式系统发展的主要瓶颈,使得大部分嵌入式软件的开发工作变得十分困难甚至无法进行作为面向对象建模技术的标准,UML适合于将复杂的系统设计问题简单化它采用面向对象图形的方式对系统进行描述,支持从分析、设计到建模的全过程按照UML规范,使用CASE工具RationalRose对嵌入式系统建模,不仅可以使系统
2、分析设计实现标准化,而且将UML分析建模的构建方法和相应的集成和测试策略结合在一起,完全可以实现系统分析、设计和制作、测试分别由不同的项目成员在统一、一贯的方式下完成,这将会使高质量的嵌入式系统的开发变得更为容易1指纹门禁系统需求分析目前,将指纹识别技术应用到各种需要身份验证的系统或者嵌入到原有的大量保安系统,会大大提高系统的安全性和便捷性本文中,设计了一个嵌入式指纹门禁系统,它使用指纹识别技术来验证用户身份,并提供了一套完整的软硬件来实现门禁系统的日常管理主要包括:用户信息注册、删除、查询、指纹比对、门禁控制和监视以及日志管理等针对嵌入式指纹门禁系统的复杂性,在本系统的开发中,按照UML规范
3、,采用基于UML的嵌入式软件分析与建模方法,使用CASE工具RationalR0绘制了各种模型图,从不同的层次和角度为系统的分析、设计、验证以及实现过程提供支持,详细讨论了如何使用UML辅助完成整个系统的开发11系统功能需求建模过程首先应该从系统中的类开始,为了理解类的结构,需要对系统及其工作过程做一个总体陈述经分析,该系统包含一个电动门、一个指纹传感器、一个微处理器、一个存储指纹库的存储系统、一个数字键盘、一个十字型按键、一个液晶显示屏、一个电动门以及两个状态灯系统从指纹传感器中获取指纹数据,并在微处理器中进行预处理和特征提取,获取指纹的生物代码信息,并与指纹库中注册用户的指纹模板进行匹配算
4、法的验证,并输出结果,通过状态灯显示,同时根据匹配结果发送控制信号控制门的开关通过对系统及类做进一步分析可得到系统总的类图如图1所示通过这幅图我们可以得知系统中所包含的基础类及其相互之间的关系,为后文动态模型的建立奠定了基础620)this.style.width=620;border=0图1指纹门禁系统类图12用例说明通过对系统的需求分析,我们确定了该系统需要实现的功能那么如何形象化地描述这些功能,以便使我们更好地与用户沟通,更准确地了解他们的需求呢?这就要使用UML的用例模型在UML中,用例可以被描述为参与者与系统之间的一次交互作用每一个用例都是一种不同的使用系统的方法,都会产生不同的结果
5、而角色是与系统交互的对象,它是使用该系统的人或者其它系统用例图列出了用户最想要的功能以及每个功能的描述经分析,本系统的用例图如图2所示620)this.style.width=620;border=0图2指纹门禁系统用例图从图中我们可以明确地了解到系统的功能需求该系统主要有两类用户:普通用户和管理员“启动系统用例表明系统初始化时要进行传感器和微处理器等的自检进入正常工作状态以后,普通用户可以通过“身份验证用例进行指纹验证如果是未注册用户则在获得合法II)的前提条件下,通过“注册用例注册自己的相关信息系统提供的“开关门用例则主要是根据指纹匹配结果,通过信号线将控制信号传输给门的驱动电动机以此来控
6、制门的开关管理员主要负责系统维护,可以使用“注册、“查找和“删除等用例进行信息管理操作由于在该阶段我们对系统还没有充分理解,同时为了控制用例的数目,在这里我们只是给出了系统的总体用例模型,在随后的详细设计阶段我们可以对这些用例进行进一步的细化以精化系统的需求2指纹门禁系统设计需求分析完成以后,可以依据分析结果和所建立的模型图进一步指导系统的设计系统设计主要包括了用例详细设计、类设计、数据模型设计等21用例详细设计详细设计阶段需要对系统需求中的每个用例进行详细的分析,并以一种通用的表示来文档化,以便使开发人员更清晰得了解每个用例的具体实现过程5本文以指纹验证用例为实例,对该用例进行更进一步的详细
7、分析,它包含了指纹采集、预处理、图像增强、细化、二值化处理、特征码提取、比对、结果输出等过程,这些过程都可以通过文档清晰地表示我们在描述系统用例时,是从用户角度出发的,没有涉及系统内部通过分析得到满足系统需求的类之后,便可根据用例驱动的思想,通过类之间的交互来实现用例嵌入式系统一般都要与硬件设备如传感器等进行交互,同时还有很强的时间和内存空间的约束交互图就是用来描述对象间的动态交互行为的,它一步步地显示了使用案例的流程在UML中定义了两种交互框图:顺序图和合作图这两种框图显示同一信息,但组织方式不同顺序图按时间排序,依次显示对象间进行的操作;合作图则以数据流为中心,显示各个对象间的数据交换情况
8、由于顺序图能更好地说明对象间的交互顺序,有利于我们理解系统,所以本文以“指纹验证用例的顺序图(见图3)为例来描述对象之间的交互过程其它用例都可以采用此种方法来详细说明,以便我们更清晰地了解系统每个功能(用例)的具体实现过程620)this.style.width=620;border=0图3指纹验证用例顺序图22类设计UML规范按照类职责不同将系统设计类分为边界类、实体类和控制类其中实体类是系统运行的数据基础类,也是类设计的核心部分按照RUP的思想,采用名词分析法对系统需求进行分析,便可以得到大部分的实体类对于指纹门禁系统而言,指纹信息数据是系统的核心数据,同时,一些相关的管理信息也是实体类的
9、组成部分,主要有用户信息、系统13志等等在这里我们只对系统中两个主要类进行分析,如下表格1,2所示表1指纹图象FingerImage实体类620)this.style.width=620;border=0表2指纹特征Fingerfeature实体类620)this.style.width=620;border=023数据库模型设计完成实体类的分析与设计之后,可建立其数据库模型在本系统中采用Pc机与嵌入式处理器之间的通信来管理相应的数据,因此PC机上数据管理系统的数据库模型设计如下图4所示数据库表组成包括注册用户管理、被鉴定人信息、指纹特征数据和日志管理,数据库中表结构字段的描述与上文实体类成员
10、变量的结构是相对应的例如:注册用户信息由RegisterUsers表组织,设置的字段有:用户ID、姓名、用户级别等;指纹图像数据表Fin-gerimage设置的字段有:图像名称、图像保存路径、图像特征数、图像宽度、高度等;指纹特征数据表FingerFeature设置的字段有:ID、注册用户指纹特征、被鉴定人指纹特征、指纹特征数等,完全可以满足系统的需求图中其它各表的详细数据项描述可根据实际的需要来设计,在此不作过多举例说明各个表间的连线表示数据表约束,例如:RegisterUs-ers表和Worklog表之间的对应关系为一个注册用户可以对应多条日志记录同时,RegisterUsers表的主键用
11、户ID)是表WoALog的外键,图中其他依赖关系表示含义相同3指纹门禁系统实现与集成测试通过反复迭代上述建模及模型验证过程,便可建立起整个系统的正确模型建模工作流完成以后便是系统的实现阶段,此阶段主要进行下列工作: (1)实现平台的选择硬件的设计与实现本系统硬件平台采用SAMSUNG公司的S3C2410开发板设计实现,CPU采用,S3C2410AARM920T系统软件的设计与实现ARM应用软件的开发需要交叉编译环境,而在Windows平台下常用的ARMSDT调试器提供了一个集成开发环境DE,可以在一台Pc机上完成编辑、编译、链接、下载和调试等工作开发工具安装之后,可以用ARMProjectMa
12、nager来生成一个自己的工程,并在ARMDebuggeforWindows下进行调试因此,本系统的指纹图像处理及匹配算法采用VC语言在IDE中实现。在系统编码中,已成熟的指纹处理算法为系统的设计奠定了良好的基础。620)this.style.width=620;border=0图4数据库模型设计(2)软件编码建模的最终目的是为了得到可执行的代码,因此在系统实现中很重要的一部分是软件编码为此,在实现阶段,需要选择某种面向对象的编程语言来完成代码部分的实现本系统所有软件代码我采用vC语言在IDE中实现,数据库采用SQLServer2000由于本文中系统采用满足UML规范的建模工具Rational
13、Rose2003,可以很好地支持正,逆向工程,通过对类和对象的详细设计中的规范说明信息,由代码生成器可自动生成可执行的代码框架,开发人员在此基础上对代码进行修改大大提高了代码编辑效率系统实现之后,在集成测试时可联合使用所有的UML框图认真分析每个构件的原理,针对每一个系统功能每一个可能发生的错误写出相应的测试程序,进行完整而可靠的测试4小结本文详细介绍了UML软件分析与建模技术在个嵌入式系统开发中的应用,使用Rose建立了该系统的完整模型,通过模型的建立对基于UML的嵌入式软件开发方法进行了一些探索和研究通过该实例的开发,定性地说明了UML的优点以及它对嵌入式软件开发所能起到的良好的指导作用但由于UML过于庞大和复杂,不同建模工具对该语言的侧重方面也有所不同,本文是使用了RationalRose2003完成了所有模型的设计,因此,所建模型在抽象层次等方面还存在一定不足,有待于进一步验证准确性及完整性在实际开发中可考虑使用多种建模工具对所建模型进行比较,以精化、细化模型,从中选择最优模型来改进系统设计方案此外,在以后的开发实践中,开发环境应该选择能够支持直接的可执行的模型生成,并且支持基于实时框架的代码生成,从而解决嵌入式软件的可移植性问题作者简介:刘苗苗(1982-),女,大庆石油学院计算机系教师,硕士研究生,主要研究方向:数据挖掘、嵌入式系统、计算机应用张永生大庆石油学院1