tag 标签: implementation

相关博文
  • 热度 4
    2016-3-30 20:57
    1032 次阅读|
    3 个评论
    版权声明: 本文由博主 “cuter” 发布。欢迎转载,但不得擅自更改博文内容,也不得用于任何盈利目的。转载时不得删除作者简介和版权声明。如有盗用而不说明出处引起的版权纠纷,由盗用者自负。 博客官方地址: ChinaAET : http://blog.chinaaet.com/cuter521 EDN China : http://bbs.ednchina.com/BLOG_cuter521_356737.HTM     最近时不时和 TL 聊一些怎么提高开发效率的东西,不是说具体而微的技术,大都是抽象层面的,包括软件的 maintainence 、 FCI ( function component implementation )、 FCF ( function component functionality )等,用一个词概括的话,大概可以说是软件工程。今天聊一聊代码测试,算是一个小的总结。   1 ) FCI test 想要谈针对 FCI 的测试,不得不先聊一下什么是 Implementation 。 1.1 )什么是 Implementation ? Implementation 的关键字有 3 个,分别为: logic 、 standard 、 code ,串起来:按照一定的编程规则将所设计的逻辑转化为代码的过程。定义本身很形象地描述了 ECU 软件的 coding 过程。实际上我们对 Implementation 的定义是暗合软件工程方法的 ——IEEE 对软件工程的定义是:软件工程是将系统性的、规范化的、可定量的方法应用于软件开发、运行和维护。 1.2 )怎样完成 Implementation ? 没有人强制你按照什么样的方式去开发,老板只会问你要结果。所以,你可以拿到需求直接就在脑子里建模,开始编码。也可以不管代码,首先高屋建瓴,考虑软件的架构、复用性、需不需要高级的设计方法等问题,设计出 software concept ,然后在此基础上进行 function design ,最后再把 function design 转化为 code 。 按照尽量 frontloading 的思维方式,我们应该把更多的时间放在 function design 上,而不是代码本身。前期花更多的精力设计 software concept 和 function design , coding 就很简单了,只要把设计好的逻辑转化成代码就可以了。如果采用图形化编程工具(如 ASCET 、 MATLAB SIMULINK 等)完成 function design ,可以通过 code generator 直接生成代码,而不用手动编码。代码出炉之后,怎样保证代码质量呢? 1.3 ) test against Implementation 完成了 Implementation ,紧接着要做相应的 test 去保证代码质量。当然你也可以先不做,后期做其他测试或许可以 cover 掉,或者说是 prove in use 。但是,如果你的代码有了问题,需要返工,那么这期间所有的工作都白费了,并不是所有开发都可以随心所欲的 trial and error... 针对 Implementation 的概念,也必然要从两个方面去考察代码质量: - standard 实际上就是常说的静态代码检查,通常是使用一系列代码检查工具对代码进行分析,对不符合既定规则的语句进行评估,并给出 warningerror report 。静态检查是针对编程规则而言的,所以规则不同,检测结果也不尽相同。除了公司自有的工具,我知道的静态检查工具有 PC-Lint ,不过没用过。 - logic 逻辑的检查需要在代码运行过程中进行检查,也不一定非得做 HIL 测试,仿真层面就可以验证逻辑的正确性,我想这也是图形化编程工具的优势之一,在功能模块开发完成之后,不需要联合调试就可以保证自身的正确性。在后期进行集成测试时,出错的概率就很小了。 总而言之, FCI test 是为了尽可能早地发现设计存在的问题,从而降低软件更改成本。 2 ) FCF test FCF 是针对需求的测试。说到需求,就有意思了 —— 对于不同的人来说,需求是不同的,不同的人对需求的理解也是不同的。举个简单的例子,一个项目涉及三个人:客户、系统工程师、软件工程师。在拿到客户需求后,系统工程师会和客户进行沟通,并按照自己的理解将客户需求进行转化,设计相应的物理概念、软件概念,然后把软件需求输出给软件工程师。这样经系统工程师转了一手,到软件工程师手里的需求,有时候会变得很尴尬。比如,有时候我们会接到这种需求:把项目 1 里的 A 功能模块移植到项目 2 里。拿到这样一个任务的时候,我们该怎么做 FCF test ?我们是应该问清楚客户的需求,去针对客户需求做测试,还是针对移植本身做测试?流程细化之后,这也是个不得不面对的问题,有些时候为了完成工作本身而开展的所谓的测试,是不是真正需要的测试? 上面这个例子有点狗血了,因为对客户而言,系统工程师和软件工程师是一个整体,客户眼中只有 XX 公司,他不会管你做了多少测试、用什么样的方式保证代码质量,人家只要质量有保证的代码。所以作为一个 team 而言,最终需要完成的还是针对客户需求的测试,从而保证代码的正确性。 怎样更好滴完成 FCF 测试? 人们都喜欢待在让自己舒适的环境里,软件工程师也一样,会不由自由地进行逻辑测试、代码调试,然而这些并非是 FCF 测试,因为 FCF 应该是针对需求的。我们不应该站在自身的角度进行测试,而应该换位思考,站在用户的角度对自己的产品进行测试。 一种好的方法是在需求分析过程中和客户一起讨论有哪些 use case 。这样做有几个好处:一是 use case 写完之后, test case 基本上也成型了,而且这时候工程师的大脑还没有被代码 “ 污染 ” , test case 不会强调没必要的细节;二是, use case 是由客户确认的,软件释放之后,客户不能摆摆手说这不是我想要的。 3 )关于开发效率 - 为了更正确地进行 FCF 测试,前期要花时间和精力设计 use case 和 test case - 花更多的精力进行 function design 而非 code design - 完成编码后,正确地进行 FCI 测试,保证代码的正确性,而不是直接将功能集成进系统,进行功能测试,那样容易陷入 trial and error 的恶性循环 做到以上几点,一方面可以提高开发效率,另一方面可以保证代码质量。这样子开发,是不是更科学一些呢?
相关资源
  • 所需E币: 0
    时间: 2020-8-12 22:03
    大小: 355.78KB
    上传者: Goodluck2020
    IR-BridgelessPFCImplementationUsingOneCycleControlTechnique.PDF
  • 所需E币: 1
    时间: 2020-5-9 17:43
    大小: 183.18KB
    上传者: 指的是在下
    PyramidalImplementationoftheLucasKanadeFeatureTrackerDescriptionofthealgorithm
  • 所需E币: 5
    时间: 2019-12-25 15:02
    大小: 205.81KB
    上传者: 16245458_qq.com
    ThemovingaverageisthemostcommonfilterinDSP,mainlybecauseitistheeasiestdigitalfiltertounderstandanduse.Inspiteofitssimplicity,themovingaveragefilterisoptimalforacommontask:reducingrandomnoisewhileretainingasharpstepresponse.Thismakesitthepremierfilterfortimedomainencodedsignals.However,themovingaverageistheworstfilterforfrequencydomainencodedsignals,withlittleabilitytoseparateonebandoffrequenciesfromanother.RelativesofthemovingaveragefilterincludetheGaussian,Blackman,andmultiplepassmovingaverage.Thesehaveslightlybetterperformanceinthefrequencydomain,attheexpenseofincreasedcomputationtime.CHAPTERMovingAverageFilters15ThemovingaverageisthemostcommonfilterinDSP,mainlybecauseitistheeasiestdigitalfiltertounderstandanduse.Inspiteofitssimplicity,themovingaveragefilterisoptimalforacommontask:reducingrandomnoisewhileretainingasharpstepresponse.Thismakesitthepremierfilterfortimedomainencodedsignals.However,themovingaverageistheworstfilterforfrequencydomainencodedsignals,withlittleabilitytoseparateonebandoffrequenciesfromanother.RelativesofthemovingaveragefilterincludetheGaussian,Blackman,andmultiple-passmovingaverage.Thesehaveslightlybetterperformanceinthefrequencydomain,attheexpenseofincreasedcomputationtime.Im……
  • 所需E币: 3
    时间: 2019-12-24 22:56
    大小: 341.34KB
    上传者: 微风DS
    本应用笔记介绍BLF578C类CW和FM类型的88MHZ到108MHz的频率范围的设计和性能的典型应用AN10800UsingtheBLF578inthe88MHzto108MHzFMbandRev.01―13October2009ApplicationnoteDocumentinformationInfoContentKeywordsBLF578,performance,high-efciencytuningset-up,highvoltageLDMOS,amplierimplementation,Class-CCW,FMband,pulsedpowerAbstractThisapplicationnotedescribesthedesignandtheperformanceoftheBLF578forClass-CCWandFMtypeapplicationsinthe88MHzto108MHzfrequencyrange.Themajoraimhasbeentoillustratetuningset-upperformancewhichtargetsveryhigh-efciencyoperationatreducedoutputpowerNXPSemicond……
  • 所需E币: 3
    时间: 2019-12-24 18:54
    大小: 493.19KB
    上传者: givh79_163.com
    【应用笔记】AN519:StratixIV设计指南(AN519:StratixIVDesignGuidelines)Altera的StratixIVFPGA对高端应用而言,在系统带宽和电源效率方面实现一个突破,允许设计师们不折不扣地进行创新设计。Altera®Stratix®IVFPGAsdeliverabreakthroughlevelofsystembandwidthandpowerefficiencyforhigh-endapplications,allowingdesignerstoinnovatewithoutcompromise.AN519:StratixIVDesignGuidelinesMay2009AN-519-1.1IntroductionAlteraStratixIVFPGAsdeliverabreakthroughlevelofsystembandwidthandpowerefficiencyforhigh-endapplications,allowingdesignerstoinnovatewithoutcompromise.ItisimportanttofollowAlterarecommendationsthroughoutthedesignprocessforhigh-density,high-performanceStratixIVdesigns.PlanningtheFPGAandsystemearlyinthedesignprocessiscrucialtoyoursuccess.Thisdocumentprov……
  • 所需E币: 5
    时间: 2020-1-14 09:38
    大小: 1.48MB
    上传者: wsu_w_hotmail.com
    SoftwareRadioImplementationofShortrangeWirelessStandardsforSensorNetworkingNESL|UCLACENSSoftwareRadioImplementationofShortrangeWirelessStandardsforSensorNetworkingThomasSchmid,ManiB.Srivastava{thomas.schmid,mbs}@ucla.edu1NESL|UCLACENSOutlineIntroductiontoSoftwareDenedRadioWhatisGNURadioTheUniversalSoftwareRadioPeripheral(USRP)LatencymeasurementsoftheUSRPIEEE802.15.4anditsimplementationMica2FSKanditsimplementationRoundTripTimemeasurementsanditsimplicationsontheMACLayerSoftwareRadioImplementationofShortrangeWirelessStandardsforSensorNetworking2NESL|UCLACENSWhatisSoftwareDenedRadio?Bytes/PacketsRFTranceiverConventionalSystemADCIdealSDRSystemRFFrontendADCFPGAWhatoneusuallyhasSoftwareRadioImplementationofShortrangeWirelessStandar……
  • 所需E币: 5
    时间: 2020-1-14 11:15
    大小: 922.72KB
    上传者: wsu_w_hotmail.com
    某公司的WCDMA收发信机设计文档,IST-DesignMethodologyandImplementationofW-CDMATransceiver……
  • 所需E币: 3
    时间: 2020-1-14 13:57
    大小: 259.98KB
    上传者: 2iot
    designandimplementationofcascadedecimationfilterforradiocommunications……
  • 所需E币: 3
    时间: 2020-1-14 18:36
    大小: 235.55KB
    上传者: 二不过三
    AnEmbeddedMergingSchemefor...,AnEmbeddedMergingSchemeforVLSIImplementationofH……
  • 所需E币: 4
    时间: 2020-1-15 10:38
    大小: 826.11KB
    上传者: 2iot
    motioncontroltheoryneededintheimplementationofpracticalroboticsystemsMotionControlTheoryNeededintheImplementationofPracticalRoboticSystemsJamesMentzThesissubmittedtotheFacultyoftheVirginiaPolytechnicInstituteandStateUniversityinpartialfulfillmentoftherequirementsforthedegreeofMasterofScienceinElectricalEngineeringHughF.VanLandingham,ChairPushkinKachrooRichardW.ConnersApril4,2000Blacksburg,VirginiaKeywords:MotionControl,Robotics,ObstacleAvoidance,NavigationCopyright2000,JamesMentzMotionControlTheoryNeededintheImplementationofPracticalRoboticSystemsJamesMentz(Abstract)Twoareasofexpertiserequiredintheproductionofindustrialandcommercialroboticsaremotorcontrolandobstaclenavigationalgorithms.Thisisespeciallytrueinthefieldofautonomousroboticvehi……
  • 所需E币: 5
    时间: 2020-1-16 12:21
    大小: 257.47KB
    上传者: 二不过三
    [2004-07-01]_Gartner_ITILImplementationBestPracticeITILImplementationBestPracticeOverviewITILisbeingadoptedineverlargernumbersofITorganisationsasaframeworkforITServiceManagementprocessdefinitionandstructure.Experiencesdifferovertheresults,ofteninfluencedbytheimplementationapproach.Inthisbreakfastseminar,GartnerwillexplorethecurrentstateofITILimplementations,includingemergingbestpracticesaswellasshort-comingsintheITILframework.Keyissuesinclude:WhatconvergingglobaltrendsareencouragingITorganisationstoadoptITIL?WhatbestpracticescanaccelerateITILimplementationandhelptosuccessfullydeliverbenefits?What'lessons'canweapplytoITILfromsimilarprocessdisciplinessuchassoftwarecapabilitymaturitymodel,SixSigma,and'leanmanufacturing'?Gartner……
广告