嵌入式系统的开发是一个软硬件协同设计过程,它需要不同技术背景的人共同开发.而传统的嵌入式软件分析与设计方法严重脱节,开发过程没有—个确定的统一的标准,这使得产品形成的每一个过程人为因素影响严重.此外,分析设计的结果不能在开发类似项目或产品时重用.以上几个问题成为多年来制约嵌入式系统发展的主要瓶颈,使得大部分嵌入式软件的开发工作变得十分困难甚至无法进行.
作为面向对象建模技术的标准,UML适合于将复杂的系统设计问题简单化.它采用面向对象图形的方式对系统进行描述,支持从分析、设计到建模的全过程.按照UML规范,使用CASE工具Rational Rose对嵌入式系统建模,不仅可以使系统分析设计实现标准化,而且将UML分析建模的构建方法和相应的集成和测试策略结合在一起,完全可以实现系统分析、设计和制作、测试分别由不同的项目成员在统一、一贯的方式下完成,这将会使高质量的嵌入式系统的开发变得更为容易.
1 指纹门禁系统需求分析
目前,将指纹识别技术应用到各种需要身份验证的系统或者嵌入到原有的大量保安系统,会大大提高系统的安全性和便捷性.本文中,设计了一个嵌入式指纹门禁系统,它使用指纹识别技术来验证用户身份,并提供了一套完整的软硬件来实现门禁系统的日常管理.主要包括:用户信息注册、删除、查询、指纹比对、门禁控制和监视以及日志管理等.
针对嵌入式指纹门禁系统的复杂性,在本系统的开发中,按照UML规范,采用基于UML的嵌入式软件分析与建模方法,使用CASE工具 Rational R0 绘制了各种模型图,从不同的层次和角度为系统的分析、设计、验证以及实现过程提供支持,详细讨论了如何使用UML辅助完成整个系统的开发.
1.1 系统功能需求
建模过程首先应该从系统中的类开始,为了理解类的结构,需要对系统及其工作过程做一个总体陈述.经分析,该系统包含一个电动门、一个指纹传感器、一个微处理器、一个存储指纹库的存储系统、一个数字键盘、一个十字型按键、一个液晶显示屏、一个电动门以及两个状态灯.系统从指纹传感器中获取指纹数据,并在微处理器中进行预处理和特征提取,获取指纹的生物代码信息,并与指纹库中注册用户的指纹模板进行匹配算法的验证,并输出结果,通过状态灯显示,同时根据匹配结果发送控制信号控制门的开关.通过对系统及类做进一步分析可得到系统总的类图如图1所示.通过这幅图我们可以得知系统中所包含的基础类及其相互之间的关系,为后文动态模型的建立奠定了基础.
图1 指纹门禁系统类图
1.2 用例说明
通过对系统的需求分析,我们确定了该系统需要实现的功能.那么如何形象化地描述这些功能,以便使我们更好地与用户沟通,更准确地了解他们的需求呢?这就要使用UML的用例模型.在UML中,用例可以被描述为参与者与系统之间的一次交互作用.每一个用例都是一种不同的使用系统的方法,都会产生不同的结果.而角色是与系统交互的对象,它是使用该系统的人或者其它系统.用例图列出了用户最想要的功能以及每个功能的描述.经分析,本系统的用例图如图2所示.
图2 指纹门禁系统用例图