论文部分内容阅读
脉冲发生器是一种可以产生标准脉冲的数字信号源,在现代电子测量技术领域有着非常广泛的应用。随着电子技术的发展,人们对脉冲发生器的要求也越来越高,不但希望脉冲发生器具有优秀的人机交互能力,还希望其拥有更高的技术指标以满足不断提升的技术需求,所以脉冲发生器的软件设计也成为重点关注对象。于是本文就脉冲发生器的软件设计展开详细讨论。本课题采用作为极限编程最佳实践的测试驱动开发(Test-Driven Development,TDD)技术进行脉冲发生器的软件开发,有效地解决了使用传统开发模式进行脉冲发生器软件设计时会遇到的难题,比如瀑布型模式。软件基于嵌入式Linux操作系统,使用跨平台C++图形用户界面应用程序开发框架Qt作为开发工具,并且采用“分层模块化”的设计理念,将软件分为人机交互层、网络传输层、参数管理层以及驱动调用层。每个层面又可划分为多个功能模块,最终将脉冲发生器的软件系统划分为人机交互模块、网络传输模块、参数管理模块、键盘消息处理模块、驱动调用模块。本文在进行软件开发时对软件功能进行了详细的需求分析,遵循测试驱动开发的步骤分别对每个功能模块进行独立设计,在代码编写过程中首先为功能模块设计测试用例,根据测试用例编写测试代码,然后以通过测试为目的编写功能代码,测试通过之后再进行代码重构以消除重复设计,确定功能正确和优化代码之后,再编写下一个测试用例的代码,直到完成整个功能模块的设计。以此循环最终完成整个软件系统的功能设计。本文分别从代码质量、软件测试、开发者心态、用户体验四个方面分析了测试驱动开发技术对软件设计带来的影响,并且使用了一种软件可测性评估方法对软件进行了可测性评估,结果表明软件的可测性良好,该技术能够有效提高软件的可测性和代码质量。测试驱动开发技术能够为脉冲发生器的软件设计带来积极影响。