SAP对其他软件开发的感悟
SAP的感悟----对于其他的软件开发管理
SAP的传输机制与系统区别对其他的软件公司来说,非常有帮助。
SAP将开发环境、测试环境、正式的产品(生产环境)分开,采用传输机制来进行控制,如果该机制运行正常的话,会保证系统的正常运行,不至于软件开发的后期不知头绪的情况。
当然,SAP有自己的框架,软件开发(ABAP)主要在该框架下进行,所以有其限制:只能做报表或者增强等开发,而不需要太多的创造性。(估计大多数的程序开发人员都不喜欢没有创造性的工作)。但是,其开发、测试、生产的机制却是可以很好借鉴的。
我的理解是:在SAP开发中,如果认为开发完成,就进行打包。打包的过程就是将需要传输到测试环境中的程序或者数据库文档化,同时有一个释放(release)过程,这个过程的意义是:一旦你释放,就无法再修改有关的程序了。如果还要修改,需要申请新的传输号。传输的过程就是从测试的环境中,生成开发环境一样的程序集,用于测试。测试的环境是不准修改代码的。只有测试正常后,才能传输到生产系统中。(软件工程学者应该仔细研究这个机制:可以或多或少避免软件的危机)。
软件企业可以借鉴这样的机制:在一个项目中,分别建立三个环境,一个是用于程序员开发的,一个是用于测试人员测试的,一个是用于最终用户使用的。三个环境基本上一样,都是有自身数据库和程序文件。
当你开发完成后,将修改后的文件打包,(当然,引入版本控制机制也是必须的)由测试人员将该文件解开到测试环境,进行测试。(问题:打包的文件包含什么东西:数据库,文件,需要详细研究?谁来解开?)
在这一点上,不得不说SAP的软件实践是很严谨的。