软件自动化方法是借助计算机系统实现软件开发的方法。以软件控制论为指导,将控制理论应用于软件工程领域,以软件过程作为被控对象,通过分析和优化软件过程中的反馈机理,达到改进软件过程、提高软件质量的目的。软件自动化主要涉及软件开发、软件规约、自动生成和自动验证等。21世纪以来,信息产业在全球范围内的影响越来越大,软件系统逐渐渗透至各个工业领域,并促进这些工业领域不断发展进步。与此同时,软件系统的规模和复杂度急剧增加,在软件研发过程中不可避免地存在人为错误,从而导致软件设计或实现存在缺陷,使得软件系统运行期间的行为越来越难以预测和控制。一旦以特定输入参数或执行流程运行软件,缺陷就会被激活,产生软件故障,这样不但造成大量的财产损失,而且可能付出生命的代价。为提高软件质量以尽量降低软件发生故障的风险,有必要在软件研发过程中采取适当的控制措施。而且,在软件设计、开发、测试、运行和维护过程中确实存在大量的反馈机理,为利用控制理论解决软件工程问题提供了充分的施展空间。软件自动化就是利用相应的理论依靠软件来实现某些功能。