当前位置:首页 > 工业控制 > 工业控制
[导读] 嵌入式系统的开发是一个软硬件协同设计过程,它需要不同技术背景的人共同开发.而传统的嵌入式软件分析与设计方法严重脱节,开发过程没有—个确定的统一的标准,这使得产品形成的每一个过程人为因素影响严重.此外

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

  作为面向对象建模技术的标准,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 用例详细设计

  详细设计阶段需要对系统需求中的每个用例进行详细的分析,并以一种通用的表示来文档化,以便使开发人员更清晰得了解每个用例的具体实现过程 [5].本文以指纹验证用例为实例,对该用例进行更进一步的详细分析,它包含了指纹采集、预处理、图像增强、细化、二值化处理、特征码提取、比对、结果输出等过程,这些过程都可以通过文档清晰地表示.我们在描述系统用例时,是从用户角度出发的,没有涉及系统内部.通过分析得到满足系统需求的类之后,便可根据用例驱动的思想,通过类之间的交互来实现用例.嵌入式系统一般都要与硬件设备如传感器等进行交互,同时还有很强的时间和内存空间的约束.交互图就是用来描述对象间的动态交互行为的,它一步步地显示了使用案例的流程.在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完成了所有模型的设计,因此,所建模型在抽象层次等方面还存在一定不足,有待于进一步验证准确性及完整性.在实际开发中可考虑使用多种建模工具对所建模型进行比较,以精化、细化模型,从中选择最优模型来改进系统设计方案.此外,在以后的开发实践中,开发环境应该选择能够支持直接的可执行的模型生成,并且支持基于实时框架的代码生成,从而解决嵌入式软件的可移植性问题.

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

上海2022年10月14日 /美通社/ -- 近日,上海安势信息技术有限公司的清源SCA工具在腾讯成功部署。 开源软件在促进全球的技术创新方面发挥着越来越重要的作用,企业越来越依赖开源软件来加速开发与创新,根据 Gar...

关键字: 开源 开源软件 组件 数据库

SQLite是一个跨平台的轻量级数据库,支持C/C++开发,可用于嵌入式中,关于C/C++使用SQLite的简单实例,可参考这篇:“玩转SQLite6:使用C语言来读写数据库”,本篇来继续介绍SQLite的基础运算符与表...

关键字: SQLite C语言 数据库

大家好,我是鲏。认识我的朋友都知道,我是一个实践派,相比研究枯燥的理论知识,我更喜欢做自己想做的项目,用技术来实现自己的想法的感觉真的很棒。所以从大学期间一直到现在,除了工作中的项目外,我依然保持着自己做项目的习惯,有坚...

关键字: 系统设计 技术选型 需求分析

北京2022年9月26日 /美通社/ -- 近期,TDengine 云服务正式上线海外市场,它是基于流行的开源时序数据库(Time Series Database) TDengine 打造的快速、弹性、Serv...

关键字: ENGINE AWS 云服务 数据库

北京2022年9月23日 /美通社/ -- 亚马逊云科技宣布将进一步推动云原生数据库服务在汽车、制造、金融等传统行业中的应用,帮助企业打造数字化转型的新基建。随着越来越多传统行业企业迁移上云,具有高性能、高可用性和可伸缩...

关键字: 亚马逊 数字化 数据库 新基建

打造医药流通行业数字化转型标杆:成为国内医药流通行业首家全面迁移至公有云的企业,拓展医疗健康产业新方案和新机遇 北京2022年9月8日 /美通社/ --亚马逊云科技宣布与国内医药流通行业领军企业瑞康医药签署战略合作协议...

关键字: 亚马逊 数据库 TI BSP

(全球TMT2022年9月8日讯)近日,成都索贝数码科技股份有限公司(以下简称"索贝")再拓信创新生态 -- 索贝自主研发的Ficus Pi大数据平台、Vernox融合据库被收录进信创工委会产品图谱...

关键字: 数据库 大数据 PI IC

北京2022年9月8日 /美通社/ -- 作为"十四五"发展目标的重要抓手、网络强国战略的焦点,以信息技术为主导的新一轮科技革命和产业变革正在加速演进,信创产业将在助力我国数字化转型、维护信息技术安全...

关键字: 数字化 大数据 数据库 IC

区块链是一种分布商业模式,是互联网新生代产品,可以理解为全中心体系,链上的每个节点都可认为是一个中心。

关键字: 区块链 人脸图像信息 数据库

(全球TMT2022年8月30日讯)近日,在2022英特尔中国数据中心合作伙伴技术峰会上,英特尔与浪潮信息等产业生态伙伴联合发布了《绿色数据中心创新实践 -- 冷板液冷系统设计参考》白皮书,分享冷板液冷技术关键部件的最...

关键字: 系统设计 英特尔 数据中心 生态系统

工业控制

13606 篇文章

关注

发布文章

编辑精选

技术子站

关闭