




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 机动车辆自动化检测线软件的研制 学生姓名方宏 指导教师贾民平划守r 学校名称东南大学 论文摘要 本论文探讨了车辆检测软件开发的全过程。软件的开发以面向对象理论为基础,以经过适当裁 碱的r u p ( r a t i o n a lu n i n e dp r o c e s s ) ,f 发过程为指导,综合运用丁u m l 、c a s e 工具、j a v a 及相应 的集成开发环境,强调r 软件复用和设计模式的运用。 论文在介绍车辆检测行q k 的基本情况和现有检测软件的基本功能、组成及不足的基础上,提出 自主研发一个町配置、跨平台、高可靠性的检测软件。再分成需求分析、系统总体设计、系统实现 j 乏用的开发过程、工具及语言、系统实现四大部分详细地探讨了检测软件的开发。首先,进行需求 分析,包括运用关键成功因素法进行规划,运削u m l 刘检测业务建模,分析用户的功能需求和非功 能需求,进行风险分析。其次,进行系统设计,将系统分为几个了系统,并借助um 【对备子系统进 行设计建模;为了发现可复用的模块,进行r 可复用性设汁。第二,讲述了系统实现中的一些问题, 包括系统的开发过程、使用的开发工具及j a v a 的运用。第四,进行系统实现,探讨了系统的体系结 构实现,各子系统的设计实现,设计模式的运用,由于高可靠性足用户的重要需求对可靠性实现 进行了专门的讨论。论文的最后,对整篇文章的内容做了总结,并分析了待进一步解决的问题。 炎键词:车辆检测,u 扎,复用,设汁模式,r u p ,j a v a 东南大学硕士学位论文 d e v e l o p m e n to fv e h i c l e 工n s p e c t i o nl a n e s o f t w a r e b yf a n gh o n g s u p e r v l s e db yp r o fj i am i np i n g s o u 曲e a s tu n l v e r s l t v t h ep r o c e s so fd e v e l o p l n gt h ev e h i c l ei n s p e c t o nl a n es o f t w a r ei sd ls c u s s e d1 nt h l st h e s l s t h ed e v e l o p m e n to ft h cs o f t w a r e1 sn o to n l yb a s e do nt h eo b j e c to r l e n t e dt h e o r ya n dt h er u p o p t l m l z e d ,b u ta l s ob a s o do n t h ei n t e g r a t e da p p l l c a t o no fu m l ,c a s et o o l s ,j a v aa n di d e , s d e c l a l l y ,t h er e u s eo fs o f t w a r ea n dt h ed e s i g np a t t e r narep u t t e da ne m p h a 9 1so na tt h eb e g i n n l n g , t h ef u i l c l i o n a n dp a r to ft h eo i dv e h i c l el n s p e c t l o ns y s t e mi si n t r o d u c e d ,a n di t sa b s e n c e s a r ep o i n t e do u t ,t h e n1 tl sp r o p o s e dt h a tac o n f l g u r a b l e ,p o r t 8 b l ea n dh l g h l yr e l i a b l ei n s p e c t i o n s o f t w a r es h o u l db ed e v e i o p e da f t e rt h a t ,t h ed e v e lo p m e n to f8 y s t e m1 sd l v l d e di n t of o u rp a r t s d j s c u s s e di nd e t a l l r e q u l r e m e n t sa n a l y s l s ,s y s t e md e s i g n ,t h ed e v e l o p m e n tp r o c e s sa n dt o o l s u s e d ,s y s t e mr e a l l z a l l o n f i r s t l y ,r e q u l r e m e n t sarea n a l y z e d ,t h ee n t e r p r i s ep l a ni sm a d eb y c s f ,t h eb u s l n e s sm o d c la n dr e q u l r e m e n t so fusorsared e s c r 】b e db yu m l ,a n d t h cr l s kis d i s c u s s e d + s e c o n d l y ,t h es y s t e mi sd e s l g n e d , ti sd l v i d e di n t os o m es u b 3 y s t e m s , t h ed e s l g n 0 d e li sd e s c r 曲e db yc h ”t so ft h eu m i ,t h er e u s eo ft h es o f t w a r ei sr e s e a r c h e df o rf l n d l n g a n dd e s l g n l n gt h er e u s a b l em o d u l et h i r d l y ,s o m ep r o b l 哪a r cd l s c u s s e da b o u tt h er e a l i z a t i o n o fs y s t e m ,t h e yaret h ed e v e l o p m e n tp r o c e s so fs y s t e m ,t h et 。1 su s e da n dt h ea p p l l c a t l o no f j a v df o u r t h l y ,t h es y s t e ml sr e a l i z e d ,t h ea r c h l t e c to fs y s t e i sc r e a t e d , t h ea p p l l c a t l o n o f t h ed e s l g n p a 机e r nisr e s e a r c h e d ,t h es a bo fd e s l g nd e t a l l s t e b n t l o n e d ,a n d t h er e h a b i l i t y isd i s c u 啪df o ri t sl m d o r t a n c e i nt h ec o n c l u s i o nd a r t t h em a i nr e s u llo ft h et h e s l s1s s u 哪a r i z e da n ds o m ed r o b l e m sf o rf u r t h e rr e s c a r c ha r ea n a l v z e d k q w o r d s :v e h i c l e l n s p e c b o n ,u 札,r e u s e ,d e s i g np 乩t e r n ,r u p ,j 洲a 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发 表或撰写过的研究成果,也不包含为获得东南人学或其它教育机构的学位或证书而使 用过的材料。与我一矧工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示了谢意。 研究生签名:盈 日期:型! :歹口 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的 复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的 内容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅, 可以公布( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东南大 学研究生院办理。 研究生签名:兰五名 导师签名:址日州乃 第一章绪论 1 1 课题的目的、意义 第一章绪论 机动车辆检测是指检测机构依据国家相关标准,接受公安、交通等部门的委托对在驶车辆进行技术 检测,并且出具检测报告,作为相关部门进行车辆年审、技术等级评定、二级维护合格与否等的依据。 机动车辆检测在国内已有十多年的发展史,检测技术已经历了手动检测、半自动检测、全自动检测三个 发展阶段,目前全自动联网检测是主流,其技术核心是一套分布式测控软件。 在多年的检测工作实践中,深刻体会到拥有并完全掌握一套这样的软件,对于车辆检测企业有重要 的意义:可以节省与软件相关的大量费用,便于快速解决检测系统故障,优化检测流程,提高检测效率。 有鉴于此,准备自主研制出一套车辆检测软件,它应能克服目前国内检测系统普遍存在的可靠性不高, 缺乏灵活性和适应性,在不同平台下难以移植等方面的问题。该套软件在技术上应具有先进性:首先它 应是一个分布式联网测控系统,可灵活配置、可伸缩、可扩展,使软件适应不同规模,不同配置的检测 企业的要求;其次它应具有高可靠性,以适应检测企业市场竞争的需要;第三它应具有好的可移植性, 能适应硬件及操作系统升级,可运行在多个主流操作系统之上,而软件不做或只做少量修改,以减少软 件适应性维护和移植费用。 软件开发完成后,具有一定的工程应用价值,主要体现在经济价值和社会价值两方面。经济上首先 可以减少软件维护成本;其次在对旧线进行扩充升级改造及建设新线时可以大幅降低成本,因为可以只 购买商品化硬件,无须购买昂贵的成套系统;再者系统应用成熟后,如能推广到其它检测企业,效益将 十分可观。社会价值主要体现在:由于在该套软件支持下的业务流程优化成为可能,因此可以更加方便 客户检测,提高办事效率;能为车辆管理部门提供大量有用的基础数据,便于管理部门更好的履行管理 职能。 1 2 国内外机动车辆自动化检测线研究现状 1 2 1 国内外车辆检测行业发展及现状 车辆检测起源于西方发达国家,主要目的是从维护公众利益的角度出发,以车辆检测为手段,对车 辆安全、废气排放和维修质量等方面加以监督和控制。其检测行业从管理监督体制、法律法规标准、检 测企业运行机制、检测技术等多方面来看,已发展的较为成熟【2 3 4 5 7 | 。主要体现在:行业由一个 政府部门统一归口管理;法律法规标准体系完善;检测企业绝大部分是民营企业,收费以收支平衡为原 则,不以盈利为目的,许多都己实现联网运营;检测技术趋于网络化、智能化、专业化。国内的检测行 业历经十多年的发展,已初具规模,到目前已建成安全和综合性能检测线共三千一百多条。车辆检测业 务在国内目前分三大块:一是新车的定型和出厂检测,由国家发展和改革委员会管理,主要在各汽车制造 厂进行检测;二是在用车辆的安全技术性能检测,由公安车辆管理部门委托社会上的安全性能检测企业 对车辆进行检测,作为对车辆进行年审的依据;三是车辆综合性能检测,由交通管理部门委托综合性能 检测站( 多为交通部门的企业或事业单位) 对营运( 客运和货运) 车辆及二级维护后的车辆进行检测, 作为对车辆进行技术等级评定和二级维护合格与否的依据。由上可见,在用车的管理在我国是由公安和 交通两个政府部门来管理的。两个部门从各自的角度出发,分别提出了车辆检测标准,均以国标的形式 发布,强制执行。检测企业在检测时收取一定费用且有利可图。目前国内检测设备制造业总体技术水平 不高,处于引进和仿制国外设备的阶段。随着社会车辆保有量的大幅增加,汽车在安全和环保方面的公 东南大学硕士学位论文 害日益严重,车辆维修的质量无法保证,对车辆进行检测的需求将有增无减,积极端正检测目的,大力 提高行业管理水平、技术水平已成为业内有识之士的共同心声。 1 2 2 车辆检测技术及设备现状 车辆检测技术主要体现在检测设备上,检测设备经历了由机械检测到电子检测,由单功能检测到多 功能检测,由单机单项检测到多机连线检测再到全部设备联网自动化检测的发展过程 8 引。设备也由大 到小,由粗到精。这其中,微电子技术、计算机及网络技术起到了核心作用。目前国外的检测技术在向 网络化、智能化、专业化和高效化方向发展。 1 网络化在底层是指检测线内设备的联网检测,一站多线情况下,多条检测线问的统一联网检测: 较高层次是指检测业务系统、财务系统、后勤管理系统等系统间的联网,以支持检测企业的高效运转; 在此基础上,网络可以横向发展,实现站与站间的联网,最终可实现一个检测运营网络,达到资源共享, 方便客户的目的。网络也可以纵向发展,与管理部门的网络相联结,为管理部门提供数据,便于管理部 门的监管。 2 智能化是指检测设备不只是单纯的提供检测数据,还要运用人工智能的技术,对数据进行进一步 分析处理,以辅助车辆故障诊断。 3 专业化是指检测设备针对少数几种车型设计,具有针对性强、高效率、高精度、便于智能化等特 点。 4 高效化指在较短的时间内完成检测,以适应现代社会的快节奏要求。 国内检测技术水平总体上与国外发达国家有一定差距,但正在接近。目前仍有一些问题尚未得到较 好解决,现列举一些如下:自动化检测线的近期区域联网和远期全国联网;车辆牌照自动识别检索装置: 检测数据准确性、真实性、公正性的技术监督等。至于检测设备的智能化,目前还未达到商品化应用阶 段,尚未见到实用产品。设计自动化检测线测控软件系统,从设备联网的角度看,更关注设备与计算机 联接的接口部分,目前市场上可用的设备通常带有r s 2 3 2 串口,模拟接口,数字接口,尚未见到现场总 线接口设备。 1 2 3 车辆检测软件开发技术 车辆检测软件源于单机半自动检测,单台检测仪器通过由单片机为核心构成的测控系统,完成一个 或多个项目的检测,检测数据现场打印或手工抄录下来,最终汇总到检测报告上,软件的编制主要是单 片机汇编语言,难于更改、难于维护,目前这种方式在国内已基本淘汰。后来又发展到用p c 机,通过串 行口将各检测仪器连接起来,实现连续自动检测,这时候检测软件由运行在检测仪器上的测控部分和运 行在p c 机上的调度监控部分组成,前者的程序仍由汇编语言写成,后者一般运行在d o s 或w i n d o w s 之上, 程序主要由c 或v c + + 语言写成,提供监控界面,这种方式因其价格较低目前在国内还有一定市场。随着 检测企业规模的扩大,计算机性价比的大幅提高以及计算机网络技术的发展,出现了以工业控制机和以 太网为基础的,分布式的自动化检测系统,除了商品化智能化检测设备通过串行口与工控机通讯外,其 它信号的采集与控制均由工控机通过数据测控卡完成,以前的检测仪表已不需要;检测程序几乎都运行 在w i n d o w s 操作系统之上,通过标准的网络协议互相通信,这种分布式检测系统目前是主流。许多检测 企业,在十年的时间里,至少经历了两次以上大的技术更新升级或重建,每次升级,检测系统的软硬件 基本上全部更换,其中有各厂家不公开自己的程序源代码和软硬件接口,其他人难以在原有系统中增加 新功能的缘故,也有硬件更新速度太快,软件难以适应的原因。其中软件的更新基本上是推倒重来,其 中主要的原因是未能持之以恒地采用工程化的软件开发方法,不能重用以前的分析和设计,虽然以前多 少积累了一些公用的程序模块,但一旦升级到新的平台,采用新的开发语言后,这些模块许多将面临重 大修改,还不如重新开发,这造成了很大的浪费,而且整个系统的可靠性并没有因为多年的开发而提高, 相反可能会下降。 车辆检测软件的开发国内目前主要仍以结构化分析及设计技术为主,尽管有些系统的实现采用了面 向对象的程序设计语言,但其分析和设计方法仍是结构化方法,且离基于构件们( c o m p o n e n t ) 以及行业 构架( w o r k f r a m e ) 10 的软件系统实现尚有相当距离。采用适合行业特点的软件工程方法开发的系统亦不 多见,目前面向对象技术 1 卜1 3 1 己成为软件开发的主流技术,在自动测控领域亦获得成功应用,以对象为 2 第一苹绪论 基础的构件开发技术已趋成熟,特别是在面向对象的系统分析和设计中运用统一模型语言 1 3 。1 4 ( uml 是 一种用于对软件系统进行可视化、详述、构造和文档化的建模语言,主要应用于分析与设计阶段的系统 建模) 对系统建立模型,在相应c a s e 工具的支持下,可以将分析、设计、编码实现集成为一体,实现高 效开发。现代的软件开发强调软件工程,注重过程、方法、工具的有机结合,现代开发过程的一个主要 特征是增量迭代开发,它可以有效降低软件项目失败的风险,统一软件开发过程( r u p ) 1 6 。1 7 3 是r a t i o n a l 公司提出的基于统一建模语言的工业级软件开发过程,它是迭代的,以构架为中心,用例驱动和风险驱 动的,特别适合中大规模的项目,r u p 的一个基本优点( 也是应用的难点) 是可以针对软件项目的不同特 点进行适当裁减,如何以r u p 为模板制定出适合车辆检测软件项目的开发过程? 这将是一个需要在系统 的开发过程中探索的问题。车辆自动化检测线软件系统拟以面向对象分析与设计理论为指导,运用统一 模型语言及统一开发过程并结合系统实际来进行开发。运用这些新的软件开发方法和技术开发出的商品 化车辆检测软件在国内尚未见到,对于开发者来说,意味着可能会在开发过程中遇到一些潜在的问题, 而又无法借鉴前人的经验。 现有的分布式检测软件在可靠性、灵活性、可移植性方面存在较大不足。在可靠性方面,应强调整 体软硬系统的可靠性,实际上无论哪方面出问题,都会影响检测的正常进行,实践中发现问题多出现在 软硬件接口的地方,如一些硬件( 如串行端口、数据采集卡) 出问题,常会导致软件无法继续运行,软 件缺乏容错、纠错能力。有效的解决这一问题,需要软硬件的整体设计,特别是软件方面,需要专门的 设计和编码测试。虽然目前的系统实现了分布式检测,但无法通过简单的配置实现工位和检测项目的合 理组合以及扩展到多条检测线的同时检测,系统的可配置性、可扩展性不够,需要加强系统在这方面的 能力。在可移植方面,国内外尚没有出现能实现跨不同操作系统平台检测的软件,为了实现系统的最大 程度的可移植性,采用j a v a 1 8 2 0 来编写程序是必然的选择,j a v a 是目前唯一商品化的能实现用其编写的 程序,不需或少量修改即可运行在多种不同主流操作系统平台上的程序设计语言,即“一次编写,随处 运行”特性,尽管实际上,并非绝对如此,但它确实可以大大降低程序移植的工作量。 1 3 本文研究内容 本文主要探讨车辆检测软件的分析、设计、实现过程,软件的开发以面向对象理论为指导,遵循经 过适当裁减的r u p 开发过程,在c a s e 工具的支持下运用u m l 进行软件的分析设计建模,采用j a v a 编写 程序。分布式车辆检测软件一般由四部分组成:1 是信息录入部分,主要完成车辆检测信息的录入;2 是 工位测控部分,主要完成工位内各检测项目的自动检测;3 是车辆调度控制部分,主要完成被检车辆在工 位间的调度,俭测数据的收集及检测状态监控;4 是数据及打印服务。其核心思想是基于网络的分散检测, 集中监控,是目前自动化车辆检测检系统的主流构架方式。新的车辆检测软件亦采用这一构架方式,将 系统分成各个子系统分别进行分析、设计、实现,并对系统的可配置性、可靠性、可移植性等方面进行 了完善。 在开发中要对车辆检测软件的以下方面进行重点研究:1 灵活配置检测项目、检测线的能力,解决由 于参数化配置导致的动态生成检测线逻辑结构及相应用户界面的问题;2 提高系统的可靠性,特别是提高 软件对硬件故障的容错能力;3 良好的可移植性,程序少量修改后能运行在多种主流操作系统平台上,为 此需要采用j a v a 编写检测程序,但会面临j a v a 运行速度慢以及如何处理好与底层硬件设备接口的问题, 要保证在现有硬件上,既要满足性能要求,又要实现最大程度的可移植性;4 提高软件构件的可复用能力, 为了使设计出的软件模块可以重复使用,必须分析设计系统中可以复用的部分,最终实现的可复用组件 应符合j a v a 的组件标准j a v a b e a n ,从而使组件不但能在检测软件中重复使用,亦可能在其它类似的软件 中重用;5 找出一个适合车辆检测软件开发的软件开发过程,现在的软件开发,都以项目的方式进行,其 中一个基本的问题就是如何确定一个合理的开发过程,在这一过程下可以有效保证软件开发的整体质量, 如果以前没有相关经验,开发过程本身将需要在开发中动态确定:在一个开发阶段结束时,规划下一阶 段的开发。 3 东南大学硕士学位论文 第二章需求分析 弟一早需冰万制l 2 1 车辆检测企业关键成功因素与核心业务分析 2 1 1 车辆检测企业关键成功因素 车辆检测企业的主要任务是应客户要求,提供车辆检测与诊断服务。随着车辆检测市场的逐步放开, 企业间的竞争将日趋激烈,而企业的关键成功因素比川是确保企业保持竞争力,得以生存发展的关键要素。 对于车辆检测企业有三个关键因素不容忽视:1 是要严格按照检测标准与法规进行检测,提供真实、准确 的检测数据,这是检测企业得以存在的基本条件;2 是为客户提供优质服务,这是企业在市场条件下,为 争取更多的客户,谋求生存发展的必然选择;3 是在前两点的基础上,使企业效益最大化,这是企业的内 在动力和基本目标。分析这三个因素,主要是为了确定自动化车辆检测系统在其中需要起到怎样的作用。 图2 1 业务流程 图2 2 业务合作 2 1 2 车辆检测企业核心业务分析 车辆检测企业的核心业务只有一个,即车辆检测业务。它是指客户驾车进场请求检测车辆到取得合 格报表驾车离开的全过程。一般的检测流程如图2 1 所示,不同的检测企业其检测流程会有些变动,但需 要完成的检测活动基本相同。检测业务是由客户及企业内员工分工协作完成的,协作关系用业务合作图2 2 表示。客户先到收费员处交费,然后凭发票要求外检员对车辆外检,外检员根据客户提供的行驶证、营 运证及外检结果,填写外检单,录入员根据外检单录入待检车辆的基本信息,待检车辆在系统中排队等 待,待车辆被选上线后,引车员将驾驶被检车辆上线,与检测员、检测系统一起完成对车辆的各检测项 4 第二章需求分析 目的检测,最后打印出检测报告。客户在车辆检测期间可通过监视屏获得被检车辆的状态。 分析业务流程,除了要弄清业务是如何完成的,更重要的是要在关键成功因素的指导下,进一步优化 流程,检测业务的自动化是主要的方向。首先自动化的检测,减少了人为因素,提高了检测数据的客观 性、准确性。其次可以提高办事效率和检测速度,进而提高客户满意度。第三可以代替部分人工,从而 降低人力成本,提高工作效率。但具体哪些业务活动可以自动化,仍需结合成本及技术综合考虑,这些 权衡和折衷最终确定了自动化检测系统的边界和内容。 2 2 系统需求分析 自动化车辆检测软件系统主要是针对车辆检测业务来开发的。主要目的是使检测流程自动化,使用 它的主要是检测企业的工作人员,企业的要求是系统需要满足的主要需求。对车辆检测负有计量、管理 监督等职能的相关部门,会对系统提出要求,主要是检测设备计量检定、监控检测过程,系统必须予以 支持。由于自动化车辆检测系统应符合相关规范o 的要求,因此检测软件系统必须受其约束。为了便于 分析,把需求分为功能需求和非功能需求予以讨论。 2 2 1 功能需求分析 综合各方面的要求,主要的功能需求如下:支持远程登录车辆信息,同时能验证是否交费;实现对 车辆检测项目的自动检测,并遵守相关检测标准和规范;能自动调度车辆在各工位间,各项目间的检测, s ( 7 、 一 , 一嘤竺竺! 兰髹 竣基硷 廷其 。、,7 、 ( 、 渺 , 维护 一 ,q 、。峋 , 瀑 f 厂穸i n c i u a e 、 _ p 疑、,_ 、 。、 赢, 竺竺夕 、号、 馥 ! 兰兰兰 厂 l i l f 图2 3 系统功能用例 能同时支持连续调度和离散调度;按规定格式,打印检测报告,提供按检测编号、车牌车种查询已检车 辆并打印检测报告的功能;提供检测设备的标定功能,以支持计量检定人员对设备进行标定;能对检测 过程进行远程监控,并为监管部门提供监控接口;提供检测数据管理功能,包括数据备份、查询、统计 及统计报表打印;提供系统维护功能,包括检测设备的自诊断、网络故障诊断、检测参数和检测标准的 5 , iibl 东南大学硕士学位论文 设置修改:在进行车辆检测项目的自动检测时,应提供手动干预功能,提供本地半自动检测功能;系统 应能支持不同项目、不同工位间的搭配组合,无需修改程序:对复检车辆能自动转发复检信息,无需重 新登录;系统应能将车辆检测状态显示在大屏幕上,供客户了解检测情况。 以上描述的主要功能需求若能通过u m l 的用例图比 弱。表达出来,将更易理解。系统级用例图如图2 3 所示。通过此图,清楚地确定了系统边界,有哪些行为者及需要哪些功能。进行需求分析,需要把握需 求的两个本质特性拦卜2 8 j 。一是需求的层次性,人们对事物的认识,一般是由浅入深、由上而下,体现出 明显的层次性。对于较复杂的系统,从业务分析到用户需求分析( 系统级) 再到功能分析( 子系统级) 就是一个对需求不断分层、不断加深理解的过程。二是需求是不断变化的,实践证明面对变化,总的原 则是适应和控制。目前应对需求变化的有效方法是快速原型法、迭代增量开发,若能结合风险分析,就 能有效减少因需求变化带来的高风险。进行迭代开发,应确定一个迭代起点,这需要对用例划分优先级, 选取优先级最高的用例集合作为开发的起点。由于车辆检测系统的基本目的是实现检测业务自动化,通 过分析业务流程中的主要业务活动,在系统用例图选择登录、选择、检测车辆、打印报表作为优先实现 的用例。系统的每个用例均需要用文本描写出来,一般c a s e 工具会提供用例描述模板,只要按照给定 的格式填写即可,在开发过程中,坚持使用统一的格式来描述用例是良好的习惯。写用例时,要注意它 反映的是用户需求,必然体现出需求的层次性和变化性,另外不同的观看者,对描述同一需求的用例, 在细节上亦有不同的看法,特别是用户和设计人员之间视角的差异,常使得用例的描述陷入两难境地, 难以两全,其实用例的基本功能是描述用户需求,因此主要应从用户的角度写用例,并且是随着认识的 深入分层描述,越细致的描述越便于实现,从而完成视角由用户观点到设计观点的平滑转换,这主要通 过用例当中包含子用例的方式体现出来。因此系统一级用例的描述是简单概括的,它会在子系统需求分 析中得到进一步细化、充实。 2 2 2 非功能需求分析 目前在用的自动化车辆检测系统在主要功能上基本相似,不同系统间的质量差异主要体现在非功能 特性上。主要有:可用性、可靠性、性能特性、灵活性、安全性、可移植性。现分别介绍如下: 1 可用性。要求系统易学、易用,人机交互部分应采用全中文图形界面,界面应简单明了,应有在 线帮助功能。 2 可靠性。软件系统的平均无故障时间不小于1 0 0 0 小时,平均维修时间不大于0 5 小时。系统在断 电、崩溃等异常情况下,系统重新启动后,应能自动恢复到出错前的正常检测状态,继续检测,不丢失 数据。系统应提供硬件自检功能,能发现检测中的硬件问题。因部分关键硬件失效导致部分工位或项目 无法检测时,系统应能屏蔽有问题的工位或项目,且不影响其它工位和项目的检测。如果部分硬件如光 电定位开关、车速遥控开关等失效,系统应能屏蔽硬件问题,提供自动默认处理和手动操作功能,以保 证检测继续进行。 3 系统性能。在全项目检测时,要求至少平均每3 分钟检出一台车;一个工作日( 8 小时) 单线可 检车台次不低于1 8 0 。对于通过模拟通道采样的信号,制动力采样间隔不大于l0 毫秒,其它应不大于2 0 毫秒。工位间调度时间不大于1 0 秒,检测完成至开始打印,时间问隔不大于1 0 秒。人机交互系统响应时 问不大于1 0 秒。 4 安全性。系统应提供应用程序级的口令保护、访问权限控制以及日志功能。只有有权限的人,才 能修改标定数据、系统参数、检测标准等敏感信息。数据库应设置口令。 5 灵活性。要求系统可扩展、可伸缩,可扩展要求系统功能能够容易增加,如增加新的检测项目、 检测工位;可伸缩指系统负载增加时仍能保证要求的处理能力,这就要求系统在由一条检测线扩充到多 条线时,仍能满足性能要求。 6 可移植性。在硬软件平台升级时,应用系统应不受影响;系统应能在主流平台( w i n d o w s 、l i n u x ) 上运行。 6 第二章需求分析 2 3 风险分析 开发一个软件系统会面临各种风险,及时发现风险,找出应对之策,是避免系统开发遭受巨大损失 的关键。自动化车辆检测系统由于是自主开发,主要目标是应用到开发者所在企业,因此在经济和市场 方面没有多大风险,主要的风险在技术方面,现分析如下: 1 开发者对新技术尚未熟练掌握。由于开发过程中,需要运用面向对象分析设计的基本理论,um l 建模语言,迭代增量的开发过程,设计模式等较新的知识,缺少这些知识的综合应用与实践,会给开 发带来相当的困难,基本的策略是加强学习,开发时由易到难,边实践边学习,逐步积累实践经验。 2 时间较紧张。主要是人手不够,并行开发难以进行。在此情况下,基本的途径是重用和迭代增量 开发。迭代开发一次只开发完成系统的部分功能,且迭代成果是可运行的、用户可见的程序,因此可以 提前交付给用户一个实现了基本功能的可应用的系统,而不是一个全功能的系统。重用是指重用现成的 组件或开发出在系统中能够多次使用的组件、框架结构,从而大大减少开发时间。选择高效的c a s e 工 具及集成开发平台亦可以提高开发效率。 3 性能风险。由于要求在原有硬件( 主要是奔腾2 ) 上运行系统,且要求系统具有可移植性,很可能 选择j a v a 语言来开发,而j a v a 语言一个较大的弱点就是用它编写的程序运行较慢,一个解决办法是在对 速度要求高的场合如数据采集,使用c c + + 开发并编译成动态连接库,然后通过j a v a 的i 接口调用动 态连接库中的方法。此法的缺点是影响了可移植性,采用多语言开发,增加了学习和维护的难度。通过 查阅相关资料瞄。4j ,发现有效提高j a v a 程序速度的方法主要在于编译器的选择。一种编译器将j a v a 代码 直接编译成二进制可执行程序,速度可与c c + + 程序相当;另一种是j d k l 3 及以上版本提供的自适应热 点编译器,它能在程序执行当中动态的将频繁调用的程序段编译成本地二进制代码执行,从而大幅提高 运行性能。为了验证效果,分别用j a v a 和c + + 编写了个简单的端口i o 程序,采用j d k l 3 提供的编译 器编译执行,结果表明二者速度几乎相同。这说明直接用j a v a 编写数据采集程序是可能的。 2 4 本章小结 本章主要对车辆检测软件系统的需求及开发风险进行了分析,包括运用关键成功因素法进行检测业 务规划,确定检测软件对于企业的核心业务所起的作用,并运用u m l 对检测业务建模;分析用户的功能需 求和非功能需求,通过用例图描述了系统级的功能需求,强调了系统的可靠性、可配置性、可移植性; 进行风险分析,指出时间紧、对新技术的运用不够熟练及系统运行性能是主要的风险。 7 东南大学硕士学位论文 3 1 子系统设计 第三章系统总体设计 设计的主要目的是从整体上把握系统的主要功能结构和组成部分,确定各组成部分相互之间的关系 及作用,为以后的实现打下基础。设计较为复杂的系统,一个基本策略就是分解。包括广度上各个子系 统的分解以及深度上各个层次的划分。通过参考分析已有的车辆检测软件产品,发现都将系统分成了几 个子系统,子系统间协调工作,共同完成检测任务。按照面向对象的方法比,划分出子系统或主题域首 先要找出系统中的实际对象,进一步分析抽象出领域类,再将这些类划分成几个主题域,根据问题大小 还可以进一步抽象划分成几个子系统。由于开发者从事车辆检测工作多年,了解多种检测系统,对系统 中的对象和类的概念已有认识,因此可以直接以系统需求分析为基础,依据高内聚、低耦合的原则,划 分出各个子系统,如图3 1 所示。 图3 1子系统划分 录入子系统的基本功能是录入检测车辆所需的车辆信息,验证信息后,将录入信息转发到选择子系 统。由于要支持远程登录,车辆信息的录入顺序和车辆上线排队顺序不一定一致,因此需要在检测线上 有一台选择机,按实际上线次序,选择出录入子系统发来的待检车辆信息,转发给调度子系统。因此选 择子系统的基本功能是选车上线。调度子系统的基本功能是调度被检车辆在各个检测工位的检测,收集 检测结果,保存检测信息,打印出检测报告单。工位子系统的基本功能是按照调度子系统的检测命令, 完成本工位内的车辆检测项目的检测,并将检测结果返回给调度子系统。工位子系统和调度子系统间的 关系可以用“集中调度,分散检测”来概括。车辆检测信息库子系统主要存储车辆检测业务需要的各项 数据,提供对数据的查询、添加、更新等功能。 子系统划分出来后,需要采用系统用例遍历法比孔。来验证子系统是否能完成系统的全部需求,保证系 统需求到子系统需求映射的完整性。具体方法是人工执行每个系统用例,看各子系统能否通过相互协调 来完成用例,这一方面可以确定各子系统的主要功能,另一方面如果不能完成用例,则说明需要添加新 的子系统或新的功能。图3 2 是各子系统完成基本检测流程的序列图,反映出各子系统是如何协作完成车 8 笙三茎墨堕璺笪堡生 辆检测的。 子系统间的联系是通过接口来实现的,在子系统间抽象出接口对于降低子系统间的耦合、明确界定 各子系统以及子系统的并行开发和集成都有重要意义。接口的最大好处是将表示和实现分离,从而可以 在子系统分析时将主要的精力放在接口如何表示业务逻辑上来。例如依据图3 2 可以发现子系统间的基本 接口,录入子系统对外的一个接口是l u m d a t a ( c a r i n f o :c a r i n f o ) ,用于将录入的车辆信息c a r i n f o 传给选择 子系统,同样选择子系统的一个接口x u a n z e ( c a r i n f o :c a r i n f o ) 将即将上线检测的车辆信息传给调度子系统, s m 图3 2 检测过程 调度子系统的c h e c k c a r ( c h e c 心n f o :c h k i n f o ) 要求工位子系统按c h k i n f o 的内容检测车辆,工位子系统的 i t e m d a t a ( i t e m r e s u l t :i t e m d a t a ) 表示返回检测项目结果。子系统一级确定接口的要点是专注于业务逻辑功能 和接口语义的描述,不必过多考虑实现方面的问题,如:是本地还是远程接口? 调用是同步还是异步? 调用出错如何处理? 等。 图3 1 实际上是系统的逻辑体系结构,以后的分析设计工作均在这一结构下进行,它是一个分布的 多层结构各个子系统的变化只要不改变接口,就不会对其它系统造成大的影响。该结构可以适应工位 的增加,检测线的扩展。各子系统的物理分布一般是:录入和调度子系统一般在业务大厅,选择和工位 子系统在检测线上。 由于各子系统均有人机交互过程,为了及早发现和理解用户的需求,方便以后的设计实现,运用快 速原型法比1 | ,通过j b u i l d e r 7 快速开发了一个可演化的界面原型供客户试用。之所以采用可演化的原型而 不是可抛弃的原型,主要考虑到节省时间,演化原型在后续开发中会被保留并精化,当然这要求在未设 计之前就决定开发语言,开发工具及系统显示的方式,还要求开发者对界面制作技术较为熟练,便于快速 开发和修改原型。客户通过试用,会对系统提出更为详细的要求,在捕获用户的详细需求时,要防止在 细节问题上过度纠缠,如确定输入项的具体位置,颜色等,同时要深刻认识到通过原型会捕获到更多的 用户需求,这不是带来更多的设计负担,因为这些需求迟早会被用户提到,越早发现,越容易处理,这 是原型法的根本目的。 比需求的细化更难处理的是需求的变化,传统的方法是尽量发现、预测变化,然后予以实现,问题 是这一方面使问题复杂化,增大开发成本,延长了开发时间;另一方面不少变化可能永远不会发生,造 成过度开发。原型方法可以有效的发现用户需求,很大程度上降低了需求变化的程度。敏捷方法【3 刨则提 出只分析开发用户现有的需求,使问题尽量简单,降低成本,以后需求有变化,再修改、重构系统。一 种折衷的方法是以简单为基本原则,考虑主要的变化,然后在体系结构和模式设计时考虑变化的影响, 9 东南大学硕士学位论文 但并不实现变化。例如录入子系统面临的一个变化是采用i c 卡输入车辆信息,在分析和设计时应大致考 虑一下现有软件结构如何适应这一变化,但不具体地实现相应功能,有效的使用框架和模式可以使这类 问题进一步简化。 下面将分析设计主要的子系统,仍然采用分层分解的策略对子系统进行分析设计。 3 1 1 录入二子系统 录入子系统的主要功能是完成待检车辆信息的录入并将录入的信息发给选择子系统,其功能可用用 例图3 3 表示,其中基本用例是录入车辆信息和发送车辆信息用例,录入车辆信息用例的主路径描述如下; 录入员根据外检单输入车辆牌号,车辆类别,然后请求系统检索该车信息;系统根据车辆牌号,车辆类 别查询车辆信息库( 执行查询用例) ,并将查询用例返回的车辆信息显示出来;随后录入员完成其它需要 输入的检测信息;最后根据是新车( 未检索到的) 还是已录入车( 检索到的) 来请求系统增加( 保存用 例) 或是更新( 更新用例子) 车辆信息。发送车辆信息用例的主路径描述如下:录入员输完车辆信息后, 请求系统将车辆信息发给选择子系统;系统验证录入的车辆信息( 如车牌号格式,车类别和车牌颜色的 对应关系等) ,确认当前录入的信息已保存或更新,确认该车已交费;然后将录入的信息发送给选择子系 s f a n 疆e v 密l 。p f 柏g n te 竹v i f o n l 圣n te 硌# n i n n i 母e d i t j 。nf a fj b u i l d 鸵if n 秘 f 堪fe 棼 张er c l 嗣lt s g 】 o 一 t :;鼍d ,。, ;拶 厂 l 蒜入螨 校 ,。一:? :影乒:州盼 o 颈三支d d l 一, 簿 久 巍撵了! 篆姨 图3 3 录入子系统功能用例 统,并在一定时间内等待选择子系统的确认消息;系统收到确认消息后,显示发送成功并清屏等待录入 下一辆车。主路径一般描述不出意外情况下系统功能执行的情况,这对于认清系统的主要功能是很有帮 助的。当然在实际中经常会有各种各样的异常出现,如验证失败,没有找到给定车辆的信息,发送超时 等,这些会在相应用例说明的备选路径中描述。一般在初次迭代实现时,会优先实现主路径描述的功能。 在明确了功能后,根据低耦合高内聚高的原则,将子系统进一步分解,结果如图3 4 所示。从图中可 以看出系统大致分成三层:表示层由g u l 人机接口包实现,主要负责通过g u i 界面接受录入员输入车辆 信息,完成人机交互功能;业务逻辑层由录入管理包实现,主要完成录入状态管理,数据有效性验证、 车辆合法性验证,协调对车辆数据及网络数据通信的访问;第三层数据层由车辆信息管理和数据通信包 构成,车辆信息管理包对数据库进行了封装,提供对车辆信息的检索、添加、更新、事务处理以及用户 口令的存驭等功能,数据通信包完成数据的接收、发送。系统访问包实现录入员登录进系统时的口令和 权限管理,以及日志功能。系统维护包主要完成用户口令权限管理、车辆信息数据备份、程序参数、网 络的维护等附加功能。各个包及其间关系构成了录入子系统的逻辑结构,以后的开发基本上在这一构架 下进行开发。 1 0 3 i 2 选择子系统 如 东南大学硕士学位论文 供状态恢复功能。 图3 6 选择子系统包图 在明确选择子系统主要功能需求后,根据低耦合高内聚的要求,将子系统进一步分解,结果如图3 6 所示。从图中可以看出选择和录入子系统的大部分是相同或相似的,系统大致可分成三层:表示层由g u l 人机接口包实现,主要负责通过g u i 界面显示待选车辆,让检测员选择并发送上线车辆,完成人机交互 功能;业务逻辑层由选择管理包实现,主要完成待选车辆队列的管理,协调图形界面、待选车辆数据及 网络数据通信的关系;第三层数据层由待选车辆信息管理和数据通信包构成,待选车辆信息管理主要为 了支持状态恢复,提供对存盘数据进行保存、检索、添加、删除等功能,数据通信包完成数据的接收、 发送。 s 冀一 o l i 1 1 1 d u d r m k e 譬i n 杰歹二、 壤拶i 氏! ! 磊落丽矗芝岁q p 亏瓮z 三二国 l 矧n 妒蕊拶 玲狱捻滋一 毒,挲卜、r 叶 心石= 三式: 飞:二二二7 嚆瞧r 图3 7 工位子系统功能用例 1 2 第三章系统总体设计 3 1 3 工位子系统 工位子系统主要完成在各工位上对车辆各检测项目的检测,要求提供三种运行模式:一是连续检模 式,工位子系统接受调度子系统的调度,自动完成各项目的检测,并将结果返回给调度子系统,正常情 况下不需人为干预,但支持出问题情况下人工在线处理的功能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 计算机维修工公司招聘笔试题库及答案
- 自轮运转设备检修工应急处置分析及对策
- 制齿工理论学习手册练习试题及答案
- 2024年中国肉桂醛行业调查报告
- 2025年固体饮料项目节能评估报告(节能专)
- 铁路货运电动起重机司机技能测试题库及答案
- 小学生介绍故宫课件图片
- 2025年花岗岩市场调研报告
- 核燃料元件材料辐照后性能检测工安全教育培训手册
- 花卉园艺工职业技能模拟试卷含答案
- 美容院商业计划书(完整版)
- T/CMAM W-5-2022维吾尔医常见病诊疗指南骨科
- 2025年食品检验员考试试卷及答案
- 夜场小姐培训课件
- 产品质量问题追溯制度
- GB/T 320-2025工业用合成盐酸
- 在2025年国企党风廉政建设会议上的讲话
- 2025年海关招聘笔试题库及答案
- 基于高铁的多式联运网络设计与运力调度联合优化
- 中职高教版(2023)语文职业模块-第五单元:走近大国工匠(二)学习工匠事迹 领略工匠风采【课件】
- 排污管道改造施工方案
评论
0/150
提交评论