笔者的做法是,每一次软件开发都做好分类和归纳工作,随着软件项目的增多和应用行业的扩散,逐渐形成了平台化的企业软件源代码。什么是平台化的企业软件源代码?就是企业软件开发中积累的源代码是按不同的平台而划分的,当需要开发新的软件时,只需要把相同或相近平台的软件源代码做一定的改进后就完成了新软件的开发。
比如订单、原辅材料、销售、客户管理、供应商管理以及软件的辅助功能如备份和还原、数据库年末清理等模块可以放在基础平台中,新的软件只需依据企业实际情况适当增减项目即可完成。又如行业特有的软件源代码,可以放在各行业平台中。
利用这种方法,说实话,如开发一般性企业软件,只要需求明确,几天时间就可完成。如开发比较庞大、复杂的企业软件,开发人员也并不是从头开始,而是可以轻松地完成基础平台的软件开发,而后借鉴已经存在的相同或相近平台的软件源代码,集中精力攻克生产、实时成本、账款销账、应收款延期利息、加工单位管理等难度较大的模块。
招式四:备份与升级
软件维护的重要性并不亚于软件开发。特别是中小企业,软件维护尤其重要。软件维护应充分考虑到中小企业没有人才、缺乏资金、业务和组织多变的特点。
1.数据备份
自己开发的软件自己手里有源代码,企业把软件丢失了,没有关系。但是数据却只能保存在企业里。所以数据备份必须真实有效、确保万无一失。
首先数据备份应该是自动备份。这里的自动备份并不是类似开一个windows的任务计划等,类似任务计划的自动备份得不到有效的监控。数据备份应做在软件里面,当软件结束时自动进行数据备份,如备份不成功可立即进行提示。
其次数据备份应该实现自动异机备份。具体做法是:某一客户机的软件结束时先自动在服务器进行数据备份,然后把备份好的数据文件接受到客户机。这样,数据备份至少实现了两台电脑的自动异机备份。当服务器硬盘损毁无法修复时,可以在另一台电脑中得到最新的数据库备份。
通过上述备份方法,除非出现所有电脑全部损失的极端情况,可以说基本已确保数据库的可恢复,而且完全自动不需要任何人工干预。
2.软件升级
大家知道b/s结构的软件升级只需要更新服务器的软件就可以了,软件的升级比c/s结构的软件要方便。但其实这是个误区。只要你做得够好,可以使c/s结构的软件的升级比b/s结构的软件还要方便。
具体做法是:首先生成一个绿色软件,即不需要安装,只要一个exe文件就可运行(这一步很多编程工具都可做到)。然后把这个exe文件拷贝到某个共享文件夹即可,就这么简单。
其原理是:服务器客户机的旧软件在运行时,先比较自己与共享文件夹中的软件的时间的新旧,如共享文件中的软件的时间较新,则关闭自己同时发出一组指令(包括自动接受最新的软件、用最新的软件覆盖掉自己、运行最新的软件),这样屏幕上的软件还在运行,但已经自动升级为最新的软件了。
通过这些企业信息化的“迷踪拳法”,大多数情况下,都只需用电话和网络就可搞定,收到了事半功倍的奇效,同时降低了开发和维护信息化系统的成本,使越来越多的中小企业在没有人才、缺乏资金、业务和组织多变的情况下照样建成了全面的信息化系统。
最后笔者还想指出一点。对企业信息化,广大业内人士早已达成了“七分数据三分技术”的共识。但这只是对企业而言。而对软件开发人员或软件公司来说,这恰恰相反,应该说是“七分技术三分数据”,甚至“九分技术一份数据”,如不重视技术,不但软件成本降不下来,而且将在企业信息化的疑难问题面前被动受阻。