近年做了个大型机应用系统从OS/390系统移行到Linux系统的项目,其中有把IBM大型机汇编语言程序转换到COBOL程序的作业。
由于该应用系统非常古老,原有的设计文档要么遗失了,要么维护欠佳与现有程序存在较大差异。维护该应用系统的公司又是新换的,维护人员对业务和技术的掌握也很有限,无法提供有力的业务和技术支持,并且由于该系统之前移行失败了,本次最终客户的预算有限。
该移行项目中把IBM大型机汇编语言程序转换到COBOL程序的作业量很大,既会大型机汇编语言又会COBOL的人才在市场上很少,因此还面临着人才短缺的问题。如果按照边理解汇编语言程序边做COBOL程序的方式进行作业,成本和品质很难控制,项目风险很大。
为了降低风险提高效率,采用用COBOL85代码模拟IBM大型机汇编语言代码逐行执行的原理,参照《IBM大型机汇编》这本书,制作了【大型机汇编语言程序转换成COBOL程序软件】。常用的汇编指令得到很好的自动转换,不常用的汇编指令和绝大部分的宏指令需要人工手动转换(这部分可以根据贵公司的实际移行方案定制该软件)。使用该软件生成的COBOL85程序经过人工修正后就可以进行测试了。
采用了全新的汇编语言移行解决方案,近乎完美的解决了汇编语言中的寄存器问题,提供与、或、非等或者TR(替换)COBOL很难模拟的汇编指令的解决实例。
该软件已在多个项目实际应用,合计转换了近千本IBM大型机汇编语言程序,提高了效率和品质,减少了对专业技术人才的需求,降低了项目的风险。打算竞标或者有移行IBM大型机汇编语言程序业务的公司请务必了解该软件,会给贵公司惊喜的。
转换作业流程:
一、判断IBM大型机汇编语言程序能否转换成COBOL语言程序;
(需要在一个精通大型机汇编语言的技术人员和一个精通COBOL的技术人员的指导下,由了解大型机汇编语言和COBOL的技术人员人工判断。)
二、把需要转换的IBM大型机汇编语言程序,保存成UTF-8编码的汇编语言文件(文件的后缀名是ASM),且文件内不能有乱码;
(由技术人员使用【记事本】或者【sakura】等软件手动来完成。)
三、用【大型机汇编语言程序转换成COBOL程序软件】转换成COBOL85程序;
四、人工修改生成的COBOL85程序中转换不正确的代码和未转换的代码;
(需要在一个精通大型机汇编语言的技术人员和一个精通COBOL的技术人员的指导下,由了解大型机汇编语言和COBOL的技术人员完成。)
五、根据程序的难易度、人工修改比例和技术人员的个人能力等,判断人工修改后的COBOL程序是否需要进行单人评审。如果该程序需要进行单人评审,则进行单人评审;
(由了解大型机汇编语言和COBOL的技术人员完成。)
六、用客户提供的原系统数据进行单体测试,执行结果不一致的话,修改COBOL程序使执行结果一致,并记录测试的覆盖率,看看是否满足测试要求(通常要求覆盖率超过75%),不满足的话,最好和客户要数据做追加测试;
(由了解测试的技术人员完成。)
七、根据项目要求对COBOL程序进行适当美化修改,并进行回归测试;
(根据美化修改的难易度,请选择适合的人员完成。)
接下来就是与其他程序合在一起进行各种测试了。
说明:如果客户对COBOL代码规范要求较高,则需要在第七阶段中对COBOL程序进行大量修改(需要花费较多工数),以达到客户要求。(因为成本问题,上面的项目没有做第七步美化修改作业)
本人的电子邮箱:peace_c@163.com