




已阅读5页,还剩48页未读, 继续免费阅读
(生物医学工程专业论文)汽车安全性能检测及管理系统软件开发.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
a b s t r a c t a b s t r a c t a st h ev e h i c l es a f e t yi n c i d e n t sc o n t i n u et oo c c u i , t h ed e m a n do fv e h i c l es a f e t y p e r f o r m a n c ed e t e c t i n gi sg r o w i n g ,w h i l ee s t a b l i s h i n gd e t e c t i o nl i n e si nl a r g ea n d m e d i u mc i t i e sh a sa r e l a t i v e l yh i g hc o s t s or e s e a r c ha n dd e v e l o p m e n to f a ne c o n o m i c a l a n dp r a c t i c a l ,s a f ea n dr e l i a b l es t a n d a l o n ei n s t r u m e n t ,w h i c hi su s e df o rd e t e c t i n g v e h i c l es a f e t yp e r f o r m a n c eh a sb e c o m ear e s e a r c hh o t s p o t as o f t w a r es y s t e mo f s t a n d a l o n ei n s t r u m e n t ,w h i c hi sas e to fd e t e c t i n ga n di n f o r m a t i o nm a n a g e m e n ti no n e v e h i c l es a f e t yp e r f o r m a n c ed e t e c t i n gs o f t w a r es y s t e m ,w a ss t u d i e da n dd e s i g n e di nt h i s p a p e r t h r o u g h o u tt h ec u r r e n tp o p u l a rv e h i c l es a f e t yd e t e c t i n gs y s t e m s ,t h e r ea r em a i n l y t w om o d e l s :c sa n db sm o d e l a f t e ra n a l y z i n gt h ea d v a n t a g ea n dd i s a d v a n t a g eo f t h e s et w om o d e l s ,av e h i c l es a f e t yp e r f o r m a n c ed e t e c t i n gm a n a g e m e n ts y s t e mu s i n g t h r e e - t i e ra r c h i t e c t u r eb a s e do nc sm o d e lw a sp r o p o s e di n t h i sp a p e r , a n dt h e nt h e d e v e l o p m e n tp r o c e s so fr e c o r d i n gs y s t e ma n dt h ed e t e c t i n gs y s t e mw e r ei n t r o d u c e di n d e t a i l i na d d i t i o n ,t h e c o m p u t e r n e t w o r kc o m m u n i c a t i o n s m o d e l ,t h e s e r i a l c o m m u n i c a t i o nm o d e l ,t h ed a t a b a s em o d e la n do t h e rk e yt e c h n o l o g i e sw h i c ha r eu s e di n t h i sp a p e rw e r ea l s ob e e ns t u d i e da n dd e s i g n e d 1 1 1 en e t w o r kc o m m u n i c a t i o nm o d e lo f r e c o r d i n gs y s t e mw a sd e s i g n e db yu s i n gt h ec l a s sc s o c k e to fm f c ,w h i c hc o n t r i b u t et o t h ef l e x i b i l i t ya n dr e l i a b i l i t yo ft h en e t w o r kc o m m u n i c a t i o n sm o d e l t h es e r i a l c o m m u n i c a t i o nw a sd e v e l o p e db yu s i n ga s y n c h r o n o u si om e c h a n i s ma n dm u l t i t h r e a d t e c h n o l o g y , w h i c hi m p r o v et h er e a l t i m ep e r f o r m a n c eo ft h es y s t e m t h ed a t a b a s e m o d e lu s i n ga d o ( a c t i v e xd a t ao b j e c t ) d a t a b a s ea c c e s st e c h n o l o g yw a sd e v e l o p e d , a n dt h eu n i f i e dd a t a b a s ea c c e s si n t e r f a c ew a sd e s i g n e d ,w h i c hs i m p l i f i e st h es y s t e m d e v e l o p m e n ta n di m p r o v e st h es y s t e mp e r f o r m a n c e i no r d e rt om a k et h es y s t e mm o r e u s e r - f h e n d l y ,t h es e v e n - s e g m e n tl e dd i s p l a yc o n t r o ls h o w i n gt h ed e t e c t i n gr e s u l t sa n d t h eh i s t o g r a md i s p l a yc o n t r o ld i s p l a y i n gt h es t a t i s t i c a lr e s u l tw e r es p e c i f i c a l l yd e s i g n e d f o rt h es y s t e m t h es y s t e mi sb a s e do nw i n d o w so p e r a t i n gs y s t e m ,d e v e l o p e db yv i s u a l c + + a n da c h i e v e db yu s i n g o b j e c t o r i e n t e dp r o g r a m m i n gi d e a s t h es y s t e mh a sb e e nt e s t i n gs h o w st h a tt h es y s t e m ,w h i c hh a sas i m p l eo p e r a t i o n , a g o o ds a f e t ya n dah i g hr e a l - t i m ep e r f o r m a n c e ,m e e t st h er e q u i r e m e n to ft h ed e s i g n b e s i d e s ,t h ec o m p u t e ro fe v e r ys t a t i o ni se l i m i n a t e d ,w h i c hs a v eal o to fc o s t ,s ot h e s y s t e mh a sah i g hp r a c t i c a lv a l u e a b s t r a c t k e y w o r d s :v e h i c l es a f e t yp e r f o r m a n c e d e t e c tt h r e e - t i e ra r c h i t e c t u r e n e t w o r kc o m m u n i c a t i o nm u l t i t h r e a d 创新性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或 其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做 的任何贡献均已在论文中做了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名: 日期塑 ! :之:! 乡 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕 业离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。 学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全 部或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。( 保密的论文 在解密后遵守此规定) 本学位论文属于保密,在年解密后适用本授权书。 本人签名:圣垄垂 新繇藿尘 日期i 业且扯 醐兰掣 第一章绪论 第一章绪论 1 1 本课题研究的目的及意义 汽车的问世与发展,推动了人类社会文明的发展。随着社会不断的进步,汽 车走进了千家万户,人们愈发的离不开汽车,然而随着汽车数量的急剧增加,在 带给人们方便的同时,又伴随着交通安全事故的频发,这一问题已经引起了人们 广泛的关注。 据不完全统计,全世界每年死于交通事故的人数估计超过5 0 万人,伤1 0 0 0 万人以上。近年来我国道路交通事故的数量和死亡人数也不断增加,2 0 0 6 年全国 公安交通管理部门共受理道路交通事故3 7 8 7 8 1 起,造成8 9 4 5 5 人死亡、4 3 1 1 3 9 人 受伤、直接经济损失1 4 9 亿元,我国已成为世界上交通事故最严重的国家之一【。 交通事故不但对人们的生命安全造成威胁,而且也造了成极坏的社会影响。为 了有效地保障车辆的安全运行,必须加强汽车安全性能检测,所以开发一个经济实 用、安全可靠的汽车安全性能检测系统具有很好的社会和经济效益。 汽车安全检测的目的是查出不符合标准及法规要求的“带病”车辆,及时采取 措施,消除事故隐患,降低环境污染,达到全面控制并减少交通公害的目的。 1 2 汽车安全性能检测技术的发展状况 早期的人工检测,主要凭借检测维修人员的经验,检测结果不够准确,而现在 的计算机检测,尤其是近年来电子技术、传感器技术和计算机技术的飞速发展, 已经可以对汽车进行不解体的安全性能检测,并且检测安全迅速,结果准确。汽 车安全性能检测设备已经成为汽车维护和修理中不可或缺的依据。 1 2 1 国外汽车安全性能检测技术发展状况 国外汽车安全性能检测技术起步较早,大致分为以下三个阶段: ( 1 ) 单项检测阶段 2 0 世纪5 0 年代,在一些工业发达国家就已形成以故障诊断和性能调试为主的 单项检测技术并生产单项检测设备。2 0 世纪6 0 年代初期,美国的发动机分析仪、 英国的发动机点火系故障诊断仪和汽车道路速度检测仪等开始出口到我国。 ( 2 ) 光电一体检测阶段 2汽车安全性能检测及管理系统 2 0 世纪6 0 年代后期,国外机动车检测诊断技术发展很快,并且大量应用了电 子、光学、理化与机械相结合的光学机电、理化机电一体化检测技术。 ( 3 ) 自动化检测阶段 进入2 0 世纪7 0 年代以来,随着计算机技术的发展,出现了具备机动车检测 诊断、数据采集处理自动化、检测结果直接打印等功能于一体的机动车性能检测 仪器和设备。在此基础上,为了加强机动车管理、各工业发达国家相继建立机动车 检测站和检测线,机动车检测也向制度化、标准化和智能化方向发展。机动车检 测结果更加注重科学、准确、公开、公正的原则。 概括地讲,工业发达国家的机动车检测在管理上己实现了“制度化”;在检测 结果的判别方面已实现了“标准化”;在检测技术上向“智能化、自动化的方向 发展【2 】o 1 2 2 国内汽车安全性能检测技术发展状况 我国的汽车检测站检测控制系统起步较晚。由于各种原因,在解放后的三十 多年中机动车的安全性能检测一直处于靠“耳听、眼观、手摸 的落后状态。我 国的汽车安全性能检测技术发展大概分为以下三个阶段: 。( 1 ) 初步阶段 从1 9 8 0 年起,随着国民经济的迅猛发展,尤其是汽车工业和道路交通运输事 业的高速发展,我国的汽车保有量迅速增加。大量的汽车所导致的交通安全和环 境保护等社会问题日益突出,从而促进了汽车安全性能检测系统的大力发展。交 通、公安、汽车制造企业和部分大专院校相继建成了一批固定或流动的汽车安全 性能检测系统。在全国范围内已经初步形成了一个汽车性能检测体系。这一时期 的测控系统的技术特点是以单板机、单片机技术的应用为主,检测过程已实现自 动化控制。 ( 2 ) 发展阶段 进入2 0 世纪9 0 年代后,随着工业控制计算机应用的普及,测控系统得到了 进一步的发展。这一阶段的技术特点是主要使用以计算机集中式控制方式或是以 单片机为核心的单机仪表与计算机联合构成集散式控制方式。控制系统在完善检 测过程自动化的基础上,初步具备了一定的信息管理功能。 ( 3 ) 成熟阶段 9 0 年代中后期,随着工业p c 性能价格比的进一步提高,出现了全面应用工 业p c ,采用分布式控制方式的高性能、高稳定性的新一代测控系统,进一步缩短 了我国与发达国家之间的差距p j 。 第一章绪论 1 3 本文的主要工作与内容安排 本文在对比了现有系统所采用的c s 和b s 模型的优缺点后,结合该汽车检 测系统的要求,提出了基于三层架构的汽车安全性能检测系统。而后本文分别详 细介绍了录入系统和检测系统的开发过程,并对本文所使用的计算机网络通信模 型、串口通信模型,及数据库模型等关键技术进行了研究和设计。最后对本文的 工作进行了总结,并对其中的不足做了展望。 本文的内容安排如下: 第一章:简要介绍课题的相关背景知识及研究意义。 第二章:主要介绍基于三层架构的汽车安全性能检测系统的整体设计。 第三章:详细介绍录入系统的设计以及关键技术。 第四章:详细介绍检测系统的设计以及关键技术。 第五章:对本文的工作进行总结和展望。 第二章系统的整体设计 第二章系统的整体设计 根据国家的有关规定,汽车检铡项目主要包括:底盘和外观技术状况检测、 制动性能检测、汽油车h c c o 废气检测、柴油车烟度检测、声级( 喇叭音量) 检测、 车速表检验、前轮侧滑量检验、轴荷量检验、前照灯配光特性检验等。 2 1 系统的结构设计 本软件系统由录入系统和检测系统构成。录入系统主要负责录入待检汽车的 基本信息,并对汽车信息进行管理,首先将待检汽车信息传送到检测系统检测 系统通过网络通信模块接收到待检汽车的基本信息,并将该信息通过数据库模块 存入数据库,录入系统通过交换机和检测系统相连。 检测系统则主要负责实时接收三个工位机的检测结果并显示,并将结果存入 数据库,同时还要负责监听和接收录入系统的连接请求,接收并解析用户的请求 数据包,并执行相应的操作,最后将结果返回到录入系统。检测时使用三个工位 机分别检测汽车的各项安全性能参数,并通过串口将各检测结果传输到检测系统, 检测系统的串口通信模块接收数据并对数据进行处理和显示,当接收到3 号工 位机的检测结果时,将整辆车的检测结果通过数据库模块存储到数据库中。 因为本系统采用了串口和各工位机进行通讯,所以节省了各工位机的计算机, 节省了大量的成本。图21 是系统结构图。 n 幕统 帮 录 系统 陶2 l 系统结构国 当有车辆待捡时,先经过录入系统录入汽车信息,再依次通过各个检测工位 固一 丽蚶丛 国徽 、ihj。圈飘 6 汽车安全性能检测及管理系统 进行检测,检测系统接收各工位检测结果,并进行处理和显示,待整辆车检测完 毕将最终结果存储到数据库中。图2 2 是检测一辆车的流程图。 图2 2 检测一辆车的流程图 第二章系统的整体设计 2 2 系统的软件模型设计 c s 模型和b s 模型是当今世界软件开发技术两大主流架构技术,c s 模型最 早是由美国b o d a n d 公司研发的基于客户机服务器的模型,而b s 最早是由美国 微软公司研发的浏览器朋务器的模型。当今主流的汽车安全性能检测系统基本也 都采用c s 模型和者b s 模型这两大模型。 2 2 ic s 模型 c s 模型即客户机服务器模型,传统的c s 模型是由客户机与服务器构成的 二层结构系统模型。在c s 模型中,将用户界面和业务逻辑放在客户端,而在服 务器端运行数据库。从物理结构上来说,两层体系结构的前端是客户机负责接 受用户的请求,并向数据库服务器提出请求,后端是服务器,负责将数据提交给 客户端,客户端将数据进行计算并将结果呈现给用户1 4 1 。c s 模型原理图如图2 3 所示: 客户机服务器 幽2 3 c s 模型原理圈 c s 模型的优点主要有以下几点: ( 1 ) 山于c s 模型是客户端和服务器直接相连网络流量小,反应速度快 ( 2 ) 山于c s 模式是配对的点对点的结构模型,因此多采用局域网的协议 所以安全性很高。 ( 3 ) 交互性强,能够处理大量的实时的数据流。 c s 模型的缺点主要有一下几点: ( 1 ) 系统不易升级和维护。 ( 2 ) 开发成本商,尤其是软件的不断升级对硬件的要求比较高。 ( 3 ) 客户端和服务器端耦合性大,维护管理难度大。 汽车安全性能检测及管理系统 222 b s 模型 b s 模型即浏览器和服务器模型,随着i n t e m e t 技术的迅猛发展,c s 模型 无法满足当前的全球网络开放、互联、信息随处可见和信息共享的新要求,于 是人们对在c s 模型的基础上提出了b s 模型。在这种模型下用户界面是通过w e b 浏览器来时实现,极少部分业务逻辑在w e b 浏览器端实现,而主要业务逻辑在w e b 服务器端实现,从而构成一个由表示层、业务逻辑层和数据层组成的三层结构的 b s 模型9 1 。表示层中包括显示逻辑,位于客户端,它的任务是向w e b 服务器提出 服务请示,并接受w e b 服务器的回复信息井进行显示;而在业务逻辑层中则包含 了事务处理逻辑,它位于w e b 服务器端,其任务是接受客户端的请示并与数据库 进行连接t 向数据服务器提出数据处理请求,并将结果传送到客户端;而处于第 三层的数据层则包含了系统的数掘处理逻辑,位于数据库服务器上,它接受w e b 服务器对数据进行操作的请求,对数据库进行查询、修改及更新等,并将结果 提交给w e b 服务器。b s 模型原理图如图2 4 所示: w e b 浏览器 n 凉订 图2 4b s 模型原理圈 b s 模型优点= i = :要有以下几点: ( i ) 客户端只需安装通用浏览器,无需像c s 模型那样在不同的客户机上都 要安装该系统软件。 ( 2 ) b s 模型的功能都在w e b 服务器上实现,使开发和维护工作简单易行。 ( 3 ) 业务扩展简单方便,通过增加网页即可增加服务器功能。 b s 模型的主要缺点,主要表现在以下4 个方面: ( 1 ) 由于该模型的数据要通过i n t e m e t 进行传输因此其安全性将大大降低。 ( 2 ) 由于i n t e m e t 的传输的不稳定性,页面动态刷新,响应速度明显降低, 导致该模型很难满足实时性的要求。 ( 3 ) 由于只能采用网页形式,所以个性化特点明显降低,无法实现具有个性 化的功能要求。 ( 4 ) 操作基本都是以鼠标为主要的操作方式无法满足快速操作的需要。 第二章系统的整体设计 9 2 2 3 汽车安全性能检测及管理系统的设计目标 ( 1 ) 先进性 系统应该包含成熟的网络通信技术和数据库访问技术,并对数据库访问应该 具备容错性。 ( 2 ) 可靠性 数据库系统必须是安全可靠的分布式数据库系统,能确保数据的一致性和完 整性,并提供完善的数据库备份方案。 ( 3 ) 实时性 系统必须能实时的接收串口发送来的检测结果,并进行处理和显示,还要能 及时的接收并处理客户端的请求。 ( 5 ) 安全性 系统必须提供安全可靠的数据通信,以防止信息泄漏。 ( 6 ) 可升级性 系统实现模块相互独立,控制程序和执行程序相分离,具有较高的程序独立 性和数据独立性,便于程序的修改和升级。 ( 7 ) 友好性 用户界面直观、友好,以满足快速准确的操作,统计结果使用更直观的柱状图 显示控件进行显示,使用户能快速掌握检测结果统计情况。 基于上述设计目标,我们发现传统的c s 模型不能满足良好的升级和维护性的 要求,而b s 模型不能满足实时性和安全性的要求,所以这两种模型都不能满足 汽车安全性能检测系统设计要求,故而借用了c s 模型和b s 模型的优点设计了 基于三层架构的c s 模型。 2 2 4 基于三层架构的c s 模型 该模型采用了三层架构设计思想,所谓三层架构设计思想就是:在软件开发过 程中,运用分层、分模块的思想来设计软件结构,将每一类型的操作固定在一个 层( 或模块) 中,也就是把同类型的操作作为单独的类模块抽象出来,供其它模块重 复调用【6 】。其目的不仅要提高软件的模块化,而且同时可以大大提高软件的重用性 和拓展性。为此,将传统c s 模型中的业务逻辑单独提取出来作为一个独立的层, 该层为所有用户共享,作为整个系统的核心,提供的功能主要有:负责客户机与 服务器、服务器与服务器间的连接和通信;实现应用与数据库的高效连接;提供 一个多层结构应用的开发、运行、部署和管理的平台,具有事务处理、安全控制 汽车安全性能检测及管理系统 以及为满足不同数量客户机的请求而进行性能调整的能力。这样,就使传统的二层 结构演变成三层结构,在层与层之间相互独立,任何一层的改变不会影响其它层 的功能,从而极大地降低了客户端和服务器的耦合度,也使客户端的工作量减少, 开发和管理工作向服务器转移,使得分布式数据处理成为可能m 。 基于三层架构的c $ 模型将整个业务划分为:表示层、业务逻辑层和数据接入 层。各层的作用简述如下: ( 1 ) 表示层:为用户提供对应用程序的访问,即用户和系统的接口界面。 ( 2 ) 业务逻辑层:包含各种业务规则和逻辑的实现,将表示层和和各种业务 功能的实现进行分离。 ( 3 ) 数据接入层:为业务逻辑层提供数据服务,实现数据库的动态链接、存 储过程的调用和对数据的一系列操作。如对数据的增添、删除、修改、更新、查 找等。 基于三层架构的c s 模型原理剧如图25 所示: 客户端服务器端 图2 5 基于三层架构的c s 模型原理图 第三章汽车安全性能检测录入系统设计“ 第三章汽车安全性能检测录入系统设计 录入系统的主要功能是管理汽车的基本信息,包括添加、查询、修改和删除等 功能。因为和用户的交互性很强,所以易用性是设计中考虑的主要问题。在总体 设计中将录入系统分解成了主模块、通信模块和若干个功能模块,由于采用了这 样的模块化设计,功能模块可以随时根据客户需求的变化而不断的进行修改和扩 充。 3 1 界面设计 利用m f c 的单文档视图结构来构建该录入系统,主要基于以下两点:首先, 单文档视图结构是一个很成熟的应用程序框架,它提供了多个相互交互的m f c 类, 如c v i e w 类、c d o c 类和c m a i n f r a m e 类等;其次,是单文档视图结构提供了标准 的w i n d o w s s d i 图形界面,符合用户习惯,便于客户快速掌握使用。 3 1 1 启动界面 在不影响系统性能的情况下,加入启动界面,而且该启动界面还能实现渐变 显示和渐变隐退,以增加系统的视觉冲击感。为实现以上目标,须增加一个对话 框,并为该对话框添加一个类,在该类里实现渐变显示和渐变隐退效果。要实现 渐变效果就要用到a n i m a t e w i n d o w 函数,该函数是由动态链接文件u s e r 3 2 d l l 提 供的输出函数,为此首先必须加载u s e r 3 2 d l l 库文件。 1 动态链接库的加载 动态链接库的加载方式有静态和动态两种方式【8 1 。使用动态加载方式时,应用 程序使用l o a d l i b r a r y 0 或者m f c 提供的a f x l o a d l i b r a r y ( ) i 函数显示加载动态链接 库,d l l 文件名作为函数的参数;静态加载方式由编译系统完成对动态链接库的 加载和卸载,使用静态调用方式时,需要将在生成动态链接库时产生的1 i b 和对应 的h 文件添加到应用程序工程中,对要使用的动态链接库输出函数只需声明一下 即可,不需要调用l o a d l i b r a r y o 和f r e e l i b r a r y o 对动态链接库进行显式的加载和卸 载【9 】。 静态加载方式简单实用,但不够灵活,如在那些只提供d n 文件而没有提供1 i b 文件的情况下,静态加载就无法使用,而且该方式的内存应用效率也不高。而动 态链接库是由程序设计人员通过调用a p i 函数来完成对动态链接库的加载和卸载, 1 2汽车安全性能检测及管理系统 虽然使用较复杂,但是能更加有效的使用内存,在编写大程序时往往采用这种方 式。基于以上原因我们使用动态方式对u s e r 3 2 d l l 进行加载。 使用动态加载动态链接库的方式调用导出函数的步骤如下: a 首先应该声明要使用的函数所对应的函数指针类型,如这里的 a n i m a t e w i n d o w c i 函数,我们应该按照如下方式声明: t y p e d e fb o o l ( w i n a h p m y f u n c ) ( h w n d ,d w o r d ,d w o r d ) ; 则p m y f l r n c 就为一个函数指针类型,可以直接用它声明函数指针; b 调用l o a d l i b r a r y o i 函数动态加载动态链接库,并保存l o a d l i b r a y o i 函数的 返回值,以便g e t p r o c a d d r e s s 0 函数调用,具体代码如下: h i n s t a n c e h l n s t = l o a d l i b r a r y ( ”u s e r 3 2 d l l ”) ; c 调用g e t p r o c a d d r e s s 0 函数获得指向a n i m a t e w i n d o w 0 函数的函数指针,然 后就可以用该指针调用a n i m a t e w i n d o w ( ) ,具体代码如下: p m y f u n cp a n i m a t e w i n d o w ; p a n i m a t e w i n d o w = ( p m y f u n c ) :g e t p r o c a d d r e s s ( h l n s t , a n i m a t e w i n d o w ”) ; 2 添加启动界面 具体步骤如下: ( 1 ) 在资源里添加一个对话框,并为该对话框添加一个新类c s p l a s h d l g ;再添 加一个位图资源,作为启动界面的图片; ( 2 ) 在o n l n i t d i a l o g 函数里使用上述调用动态链接库输出函数的方法获得指向 a n i m a t e w i n d o w ( ) 函数的指针p a n i m a t e w i n d o w ,通过p a n i m a t e w i n d o w 调用函数 a n i m a t e w i n d o w ( ) 实现启动界面的渐变显示,具体代码如下: b o o lc s p l a s h d l g :o n l n i t d i a l 0 9 0 c e n t e r w i n & o w ( ) ; d w o r dd w s t y l e = a wb l e n d ;a wb l e n d 是一个宏,其值为0 x 8 0 0 0 0 h i n s t a n c e h l n s t = l o a d l i b r a r y ( ”u s e r 3 2 d l l ”) ; p m y f u n cp a n i m a t e w i n d o w ; p a n i m a t e w i n d o w = ( p m y f u n c ) :g e t p r o c a d d r e s s ( h l n s t , a n i m a t e w i n d o w ”) ; p a n i m a t e w i n d o w ( t h i s m _ h w n d , 2 0 0 ,d w s t y l e ) ; f r e e l i b r a r y ( h l n s t ) ; o n p a i n t 0 ; ) ( 3 ) 在o n p a i n t ( ) i 函数里实现对位图的加载和显示; ( 4 ) 添加一个计时器,并在o n t i m e r ( ) 函数里实现启动界面的渐变隐退; ( 5 ) 在框架类c m a i n f r a m e 的o n c r e a t e 0 函数里创建c s p l a s h d l g 对话框并显示, 第三章汽j 一安全性能检测录入系统设计 以实现启动界面,录入系统的启动界面如图3 1 所示 3 1 2 皮肤设计 图3i 录入系统的启动界面 为了设计出更加友好的界面,使用了s k i n m a g i e 进行换肤。在使用s h n m a 西c 进行换肤之前须准备下面二项_ i 二作: ( 1 ) 将s k i n m a g i c t r i a ld l l 复制到工程目录下; ( 2 ) 为工程添加s k i n m a g i c t r i a ll i b 静态库,在t 程设置里添加或者在s t d a f xh 文件, 9 力 1 a # p r a g r c , ac o m m e n t ( 1 i b ,”s k i n m a g i cl i b ”) 语句; ( 3 ) 在s 时mh 文件中加入# i n c l u d e ”s k i n m a g i c l i bh “。 s k i n m a g i c 的使用的具体步骤如下: 1 初始化s k i n m a 自c 库 使用i n i t s k i n m a g i c l i b 函数初始化s e n m a 百c 库。在c w i n a p p 的l n i l l n s l a n c e 0 函数中加入如下代码: v e r i f y ( 1 一i n i t s k i n m a g i c l i b ( a f x g e t l n s t a n c e h a n d l e ( ) , t ( “d e m o ”) ,n u l l ,n u l l ) ) : 函数l a i t s k i n m a g i e l i b 的声明如下: i a t i n i t s k i n m a g i c l i b ( h i n s t a n c eh i r t s t a n c e +腑用程序句柄 d m r + s z a p p l i c a f i o n , 皮肤文件中定义的应用程序名,置为 舢l l 即可 c h a r + s z r e g c o d e ,h s k i n m a g i c 的使用注册码,若无簧为n u l l c h a r * s z r e s e r v e d 2保留位,为n u l l 1 4汽车安全性能检测及管理系统 2 加载皮肤文件: 皮肤的加载有两种方法,一是直接从皮肤文件加载,另一种方法是从资源文件 中加载,分别说明如下: ( 1 ) 从皮肤文件中加载皮肤:紧接上句,加入如下代码 v e r i f y ( 1 一l o a d s k i n f i l e ( _ t ( ”m o d a l _ d e v i o r s m f ) ) ) ; l o a d s k i n f i l e 0 函数声明如下: ml o a d s k i n f i l e ( l p c t s t rl p s k i n f i l e ) ; l p s k i n f i l e 为皮肤文件名 ( 2 ) 从资源文件中加载皮肤: v e r i f y ( 1 一l o a d s k i n f r o m r e s o u r c e ( n u l l , d e v i o r , s k i n ”) ) ; l o a d s k i n f r o m r e s o u r c e0 函数的声明如下: i n tl o a d s k i n f r o m r e s o u r c e ( h m o d u l eh m o d u l e 包含皮肤文件的模块句柄,若为n u l l 表明皮肤模块句柄在本模块中 c h a r * l p s k i n n a m e 。 皮肤资源的名称 c h a r * l p t y p e 资源的类型 ) ; 3 为窗口添加皮肤: 为标准窗口添加皮肤。标准窗口拥有标题栏、系统菜单、可变大小等特征, 例如文档视图结构和有菜单的对话框等,通常用于主窗口。在应用程序类的 i n i t l n s t a n c e ( ) f f l 数里加入如下代码: v e r i f y ( 1 = = s e t w i n d o w s k i n ( m _ p m a i n w n d - m _ h w n d ,”m a i n f r a m e ”) ) ; 函数s e t w i n d o w s k i n ( ) 声明如下: i n ts e t w i n d o w s k i n ( h w n dh w n d ,要使用皮肤的窗口句柄 c h a r * l p s k i n n a m e 为s k i n f r a m e w n d 对象指定的名称 ) ; 为对话框添加皮肤 在对话框显示之前调用,通常在应用程序初始化函数中添加如下代码: v e r i f y ( 1 一s e t d i a l o g s k i n ( ”d i m o g ”) ) ; s e t d i a l o g s k i n o i 函数声明如下: i n ts e t d i m o g s k i n ( c h a r * l p s k i n n a m e 为s k i n f r a m e w n d 对象指定的名称 ) ; 在调用s e t d i a l o g s k i n ( ) i 函数设置皮肤后,程序创建的对话框都将默认使用上述 皮肤。 第三章汽车安全性能检测录入系统设计 经过更换皮肤以后,录入系统程序界面如图3 2 所示 3 21 主模块设计流程 图3 2 录入系统程序界面 32 主模块设计 汽车安全性能检测录入系统的主要功能是构建应用程序框架、控制用户权限 和管理通信模块及其他功能模块,主模块的工作流程如 f : ( 1 ) 汽车安全性能检测录入系统在检测系统启动后,程序首先弹出登陆界面, 提示用户输 用户名和密码,经检测系统验证后才能使用该系统用户登陆界面 如图33 所示: 幽3 3 用户登陆界面 ( 2 ) 用户通过点击菜单或者工具栏的按钮进行各种操作,主模块接收到用 户的操作指令后,调用对应的功能模块并通过通信模块和检测系统进行通信,并 将检测系统返回的结果进行处理和显示: 1 6 汽车安全性能检测及管理系统 ( 3 ) 当用户的一个操作完成后,主模块重新获得程序的控制权,等待用户 的下一个操作,直到退出录入系统。 录入系统的模块结构图如图3 4 所示。 3 2 2 主要类设计 图3 4 录入系统的模块结构图 该录入系统利用m f c 的基于单文档视图的应用程序框架进行构建,采用面向 对象的编程思想加以实现,实现如下: ( 1 ) c c l i e n t a p p 类:该类是录入系统的应用程序类,它派生自c w i n a p p 类, 主要负责维护程序状态和应用程序运行的消息循环。在i n i t l n s t a n c e 0 f i 数里实现皮 肤的加载、检测系统的网络链接和用户的登录等功能。 ( 2 ) c m a i n f r a m 类:该类是录入系统应用程序的主窗口类,它派生自c f r a m w n d 类,其主要作用是维持录入系统端的用户界面。 ( 3 ) c c l i e n t v i e w 类:该类是录入系统应用程序的视图类,它派生自c v i e w 类, 其主要作用是响应各菜单的命令消息以及工具栏按钮的按键消息,并在消息响应 函数里实现各功能模块;其次该类还要负责显示新添加的汽车信息。 ( 4 ) c c l i e n t d o c 类:该类是录入系统应用程序文档类,它派生自c d o c u m e n t 类,其主要作用是实现通信模块。当检测系统有数据到达时,c s e r v e r s o c k e t 类 o n r e c e i v e 0 函数通知c c l i e n t d o c 类,由c c l i e n t d o c 类的成员函数 p r o c e s s r e a d m e s s a g e ( ) 进行接收,如果录入系统接收到的是检测系统返回的查询 结果,那么还要进行数据分割,最后才能进行数据的处理和显示。 录入系统的类关系图如图3 5 所示。 第三章汽车安全性能检测录入系统设计1 7 3 3 1t c p f i p 协议 图3 5 录入系统的类关系图 3 3 网络通信模块设计 t c p i p ( t r a n s m i s s i o nc o n t r o lp r o t o c o l i n t e m e tp r o t o c o l ,传输控制协议网际协 议) 是发展至今最为成功的网络通信协议,已经成为当今异种机互联的工业标准, 它起源于2 0 世纪6 0 年代末美国政府资助的一个分组交换网络研究项目a r p n e t , 其研究目的就是为了解决异种机之间的互联。t c p i p 协议允许分布在各地安装着 完全不同系统的计算机相互通信,t c p i p 协议已经成为了i n t e m e t 的基础。 t c p i p 协议由物理层、数据链路层、网络层、传输层和应用层5 个层构成, 在进行计算机网络通信系统软件开发时,主要关心的是网络层的i p 协议和传输层 的t c p 和u d p 协议1 1 0 1 。 i p 地址用来唯一标示一台计算机,它是一个3 2 位的二进制数,在实际应用中 习惯于把i p 地址表示成4 个8 位二进制正数的形式,这种表示方法被成为“点份 十进制表示法。 计算机之间的网络通信实际上是计算机间进程通信的一种方式,正如前面所 述,i p 地址可以唯一表示一台网络上的计算机,而在操作系统内部,为了区分不 同的进程,t c p i p 协议引入了端口号的概念,用来表示主机内的不同进程。t c p i p 协议用1 6 位二进制表示端口号,并根据端口号大小将端口划分为3 类: ( 1 ) 知名端口,端口号范围从0 到1 0 2 3 ,这些端口号一般固定分配给一些常 用服务,如h t t p 协议的端口是8 0 ,f t p 协议的端口号是2 1 : ( 2 ) 注册端口,端口范围从1 0 2 4 到4 9 1 5 1 ,这些端口号为系统内的普通应用 程序使用; ( 3 ) 动态端口,端口范围从4 9 1 5 2 到6 5 5 3 5 ,为客户通信进程动态使用。 由此可见,普通应用程序使用1 0 2 3 4 9 1 5 1 端口号,以避免和系统固定服务端 1 8汽车安全性能检测及管理系统 口的冲突,因此本系统也使用这个范围内的端口号。 3 3 2s o c k e t 网络通信模型 s o c k e t 即套接字,是一种进程间的通信进制,s o c k e t 向应用程序提供了统一 的网络通信编程接1 2 1 ,屏蔽了底层的通信协议和物理介质的细节,降低了计算机 网络通信系统的开发的难度。 1 s o c k e t 类型 t c p i p 协议使用的套接字分为流式套接字( s o c k s t r e a m ) 、数据包套接 字(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 甘肃省企业劳动合同2篇
- 新解读《GB-T 31205-2014耐磨耐蚀钢铸件》
- 怎么续签合同范本
- 基金产品协议合同范本
- 个人装修平房合同范本
- 个人起诉租赁合同范本
- 简易道路救援合同范本
- 乡镇理论学习中心组学习总结及下一步学习计划
- 小产权车库合同范本
- 行业协会合作协议样本
- 直播供货协议合同范本
- DB3411∕T 0039-2024 废包装桶回收再利用技术规范
- 2024年二次离婚起诉状范文
- 北师大版高中英语让学生自由飞翔
- 《跨境直播运营》课件-跨境电商交易平台直播
- T-CCSAS014-2022《化工企业承包商安全管理指南》
- 医学教育中的全科医学与专科医学的比较与协同
- 肠梗阻小讲课
- 《小儿支气管肺炎》课件
- 食材配送沟通服务方案
- 机房建设清单
评论
0/150
提交评论