嵌入式体系的开发是一个软硬件协同规划进程,它需求不同技能布景的人共同开发.而传统的嵌入式软件剖析与规划办法严峻脱节,开发进程没有—个确认的一致的标准,这使得产品构成的每一个进程人为因素影响严峻.此外,剖析规划的成果不能在开发相似项目或产品时重用.以上几个问题成为多年来限制嵌入式体系开展的首要瓶颈,使得大部分嵌入式软件的开发作业变得好不简单乃至无法进行.
作为面向目标建模技能的标准,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