软件发布机制的研究与应用 刘甜

【作者】刘甜

【论文题目】软件发布机制的研究与应用

【摘要】软件发布机制的研究与应用 随着信息技术的快速发展,软件成为信息基础设施的灵魂,随着人们对功能需求的不断增加,软件数量急剧增大。国内软件产品的规模也越来越庞大,软件系统变得日趋庞大和难以驾驶,这不止对软件的开发带来困难,同时对软 件开发后生命周期来说,这也是个极大的挑战。作为软件开发后生命周期的起点,软件发布将起到至关重要的作用。软件开发后生命周期中包括发布、安装、激活、反激活、更新、自适应、反发布、卸载等一系列活动。在软件生命周期中,软件发布起到了重要作用,关系到在软件开发完成后能否在目标计算机上顺利运行。发布活动包括软件集成和传递前所有的准备活动,如软件打包和宣告活动。软件发布不仅影响软件系统运行时的性能,还影响软件运行环境中资源的利用率。论文首先描述了航天三维可视化操控软件的特点及功能,它是在Visual Studio 平台上开发的由任务可视化和遥操作操控两个部分组成的大型航天软件,并用到了OpenSceneGraph(OSG)、Qt 等第三方软件。这个软件系统体系结构庞大,基于数据驱动实时的生成卫星图像,业务逻辑复杂,需要频繁的进行人机交互操作,作为一个大型的航天软件,运行时所需的各种文件比较复杂分散,这对软件的发布带来了很大的困难。本文提出了基于自动查找动态链接库的软件发布方案,有效减少了人员的消耗,提高了软件维护的效率。通过对比研究 Windows 系统中几个主流的部署工具,本文决定使用InnoSetup 来完成主要的打包过程。通过对Windows 环境下可执行文件结构的分析和系统加载器对可执行文件的加载机制的研究,从而了解程序调用依赖的动态链接库的相关信息,如路径、名称等。FindDLL 模块来实现动态链接库的查找与拷贝,并将结果信息传至Inno Setup 模块进行打包。利用Perl 语言粘合性的特点,将各功能模块紧密连接,再通过Tcl 的图形程序开发工具箱Tk 完成程序的界面。最终实现了航天三维可视化操控软件的发布,保证了软件的顺利运行。