UML在指纹门禁系统开发中的应用(一)

标准建模语言UML是一种广泛使用的面向对象系统的可视化建模方法。本文指出了使用UML设计嵌入式系统的作用和意义,并将其运用到指纹门禁系统的开发中,论述了使用UML对系统进行分析、建模设计到实现的整个过程

    摘  要:标准建模语言UML是一种广泛使用的面向对象系统的可视化建模方法。本文指出了使用UML设计嵌入式系统的作用和意义,并将其运用到指纹门禁系统的开发中,论述了使用UML对系统进行分析、建模设计到实现的整个过程。

  嵌入式系统的开发是一个软硬件协同设计过程,它需要不同技术背景的人共同开发。而传统的嵌入式软件分析与设计方法严重脱节,开发过程没有―个确定的统一的标准,这使得产品形成的每一个过程人为因素影响严重。此外,分析设计的结果不能在开发类似项目或产品时重用。以上几个问题成为多年来制约嵌入式系统发展的主要瓶颈,使得大部分嵌入式软件的开发工作变得十分困难甚至无法进行。


  作为面向对象建模技术的标准,UML适合于将复杂的系统设计问题简单化。它采用面向对象图形的方式对系统进行描述,支持从分析、设计到建模的全过程。按照UML规范,使用CASE工具Rational Rose对嵌入式系统建模,不仅可以使系统分析设计实现标准化,而且将UML分析建模的构建方法和相应的集成和测试策略结合在一起,完全可以实现系统分析、设计和制作、测试分别由不同的项目成员在统一、一贯的方式下完成,这将会使高质量的嵌入式系统的开发变得更为容易。


  1 指纹门禁系统需求分析


  目前,将指纹识别技术应用到各种需要身份验证的系统或者嵌入到原有的大量保安系统,会大大提高系统的安全性和便捷性。本文中,设计了一个嵌入式指纹门禁系统,它使用指纹识别技术来验证用户身份,并提供了一套完整的软硬件来实现门禁系统的日常管理。主要包括:用户信息注册、删除、查询、指纹比对、门禁控制和监视以及日志管理等。


  针对嵌入式指纹门禁系统的复杂性,在本系统的开发中,按照UML规范,采用基于UML的嵌入式软件分析与建模方法,使用CASE工具Rational R0 绘制了各种模型图,从不同的层次和角度为系统的分析、设计、验证以及实现过程提供支持,详细讨论了如何使用UML辅助完成整个系统的开发。


  1.1 系统功能需求


  建模过程首先应该从系统中的类开始,为了理解类的结构,需要对系统及其工作过程做一个总体陈述。经分析,该系统包含一个电动门、一个指纹传感器、一个微处理器、一个存储指纹库的存储系统、一个数字键盘、一个十字型按键、一个液晶显示屏、一个电动门以及两个状态灯。系统从指纹传感器中获取指纹数据,并在微处理器中进行预处理和特征提取,获取指纹的生物代码信息,并与指纹库中注册用户的指纹模板进行匹配算法的验证,并输出结果,通过状态灯显示,同时根据匹配结果发送控制信号控制门的开关。通过对系统及类做进一步分析可得到系统总的类图如图1所示。通过这幅图我们可以得知系统中所包含的基础类及其相互之间的关系,为后文动态模型的建立奠定了基础。


 


UML在指纹门禁系统开发中的应用(一)

  图1 指纹门禁系统类图


    1.2 用例说明


  通过对系统的需求分析,我们确定了该系统需要实现的功能.那么如何形象化地描述这些功能,以便使我们更好地与用户沟通,更准确地了解他们的需求呢?这就要使用UML的用例模型.在UML中,用例可以被描述为参与者与系统之间的一次交互作用.每一个用例都是一种不同的使用系统的方法,都会产生不同的结果.而角色是与系统交互的对象,它是使用该系统的人或者其它系统.用例图列出了用户最想要的功能以及每个功能的描述.经分析,本系统的用例图如图2所示.


 


UML在指纹门禁系统开发中的应用(一)

  图2 指纹门禁系统用例图


  从图中我们可以明确地了解到系统的功能需求.该系统主要有两类用户:普通用户和管理员.“启动系统”用例表明系统初始化时要进行传感器和微处理器等的自检.进入正常工作状态以后,普通用户可以通过“身份验证”用例进行指纹验证.如果是未注册用户则在获得合法II)的前提条件下,通过“注册”用例注册自己的相关信息.系统提供的“开/关门”用例则主要是根据指纹匹配结果,通过信号线将控制信号传输给门的驱动电动机以此来控制门的开关.管理员主要负责系统维护,可以使用 “注册”、“查找”和“删除”等用例进行信息管理操作.由于在该阶段我们对系统还没有充分理解,同时为了控制用例的数目,在这里我们只是给出了系统的总体用例模型,在随后的详细设计阶段我们可以对这些用例进行进一步的细化以精化系统的需求.


  2 指纹门禁系统设计


  需求分析完成以后,可以依据分析结果和所建立的模型图进一步指导系统的设计.系统设计主要包括了用例详细设计、类设计、数据模型设计等.


  2.1 用例详细设计


  详细设计阶段需要对系统需求中的每个用例进行详细的分析,并以一种通用的表示来文档化,以便使开发人员更清晰得了解每个用例的具体实现过程[5].本文以指纹验证用例为实例,对该用例进行更进一步的详细分析,它包含了指纹采集、预处理、图像增强、细化、二值化处理、特征码提取、比对、结果输出等过程,这些过程都可以通过文档清晰地表示.我们在描述系统用例时,是从用户角度出发的,没有涉及系统内部.通过分析得到满足系统需求的类之后,便可根据用例驱动的思想,通过类之间的交互来实现用例.嵌入式系统一般都要与硬件设备如传感器等进行交互,同时还有很强的时间和内存空间的约束.交互图就是用来描述对象间的动态交互行为的,它一步步地显示了使用案例的流程.在UML中定义了两种交互框图:顺序图和合作图.这两种框图显示同一信息,但组织方式不同.顺序图按时间排序,依次显示对象间进行的操作;合作图则以数据流为中心,显示各个对象间的数据交换情况.由于顺序图能更好地说明对象间的交互顺序,有利于我们理解系统,所以本文以“指纹 验证”用例的顺序图(见图3)为例来描述对象之间的交互过程.其它用例都可以采用此种方法来详细说明,以便我们更清晰地了解系统每个功能(用例)的具体实现过程.


UML在指纹门禁系统开发中的应用(一)

  图3 指纹验证用例顺序图

UML在指纹门禁系统开发中的应用(一)

该文观点仅代表作者,本站仅提供信息存储空间服务,转载请注明出处。若需了解详细的安防行业方案,或有其它建议反馈,欢迎联系我们

(0)
小安小安

相关推荐