商用软件开发平台的构建
文/周春阳
本文简要讨论了大型商用软件开发的相关技术,阐述了开发平台,测试环境,以及相关工具的准备在大型商用软件开发中的重要性。
【关键词】商用软件开发 Framework 测试环境 开发工具
商用软件开发的一般流程是需求分析,基本设计,详细设计,代码编写、单元测试,综合测试,商用环境模拟测试,商业应用与升级维护,然后就是这个过程的不断循环往复。在这个过程中,能否高效率开发的关键的因素是什么呢?笔者觉得是开发平台,测试环境以及相关的开发工具和测试工具的构建和准备。
1 开发平台的构建
商用软件开发平台的构建就是针对所使用的开发语言进行与本业务相关的 Framework的构建,这是至关重要的。比如想使用 C++语言进行开发,就应该在先期构建出与本业务相关的基类,使后期的具体业务的开发人员能够继承这些基类,达到程序的复用。还要为整个业务的关键部分编写模板类,使后续开发人员可以方便的使用模板类来完成具体的功能实现。在 Framework 中,要处理好异常处理的使用。就是为了使程序中独立开发的各部分能够就程序执行期间出现的问题相互通信,由Framework 来处理由具体的应用程序所检测出的问题,为后续的开发人员提供简洁的调试接口。其实能够将问题的检测与问题的解决分离,也是 C++ 异常处理的要求。另外,调试信息的输出也很重要,在 Framework 中应该为后续开发人员提供统一的错误信息输出接口。在Framework 的构建过程末期,对编写代码的规则的制订也很重要,以使未来的程序在风格上保持一致。Framework 的构建是比较复杂的,需要考虑的问题也比较多。不过一旦构建好了高质量的 Framework,不但可以大大提高后续开发的效率,还可以在相关的或相似的业务间复用。
2 测试环境的构建
测试环境包括单元测试,综合测试,商用环境模拟测试环境。单元测试就是为了检测具体业务代码的正确与否。综合测试是为了检测相关业务间的功能是否实现。而商用环境模拟测是商用投入的最后一次检测,看一看全部业务是否能如期的正常运行。在 UNIX 系统下测试环境的构建其实就是一些相关的配置文件,SHELL 文件的编写,以及 LIB 目录下的连接文件的导入。在这其中精确的目录的分配是必须的。再有就是对不同的业务分配 SERVER,启动进程来运行程序。根据不同的测试环境产生的错误,要返回到开发流程的不同的阶段进行修正与确认。一般来说单元测试如果出错将会返回到编程阶段来修正,综合测试如果出错将会返回到详细设计阶段来修正,而商用模拟测试环境如果出错可能就要返回到基本设计阶段来修正。良好的测试环境是代码质量的重要保证,尤其是在商用开发中。
3 相关工具的准备
大型软件的开发离不开相关的工具。比如每一个具体业务都要使用的相似的代码,就可以使用 VBA 在 EXECLE 上所产生的工具来完成这样的工作。可以导入像 insure++ 这样的工具,来检测所编写的代码是否有内存泄露的问题。使用 CodeWizard 或 Purity 这样的工具软件来检测所写的代码是否符合 C++规范。UNIX 环境下对业务的批处理可以使用JobCenter 这样界面友好的工具软件来投入业务,并且对其执行情况进行监视。当然针对具体的业务,对具体的开发支援工具有不同的要求。比如针对电信业务,为了测试,就要构建出能够产生出具体格式的电文的工具,之后还要对输出的电文进行解析,以使开发人员能够验证结果。为了高效的使用 ORACLE,需要对静态的 SQL 文进行管理和确认,这也需要构建出相关的支持工具。相关工具的制作应该在大规模开发之前完成,并在开发的使用过程中不断的完善与升级。
构建出性能优良的 Framework,测试环境以及相关的工具之后,不但可以缓解软件开发维护成本高、重复开发率高、开发效率低、市场应变速度低这些困扰软件企业的系列问题,如果管理得好,还可以实现人员无关性的开发,从而解决人员的流动性问题。如此,则可以达到在可控状态下开发出高质量的商用软件。
参考文献
[1]Bjarne Stroustrup.C++ Primer (4th Edition).Stanley B.Lippman,Josée LaJoie[J]. The C++ Programming Language,2003.
作者简介
周春阳(1970-),男,汉,硕士高级实验师,辽宁省昌图人。主要研究方向:电子技术与自动控制。
作者单位
沈阳工程学院自控系 辽宁省沈阳市 110136