文档介绍:实用软件产品分类(第3版)
软件实施与维护
从研发成果到产品有一个过程,这个过程就是“产品化”。
从产品到市场有一个过程,这个过程就是市场运作。
从市场到客户有一个过程,这个过程就是产品实施。
从产品实施之后到产品淘汰之前,还有一个过程,这个过程就是产品维护。
传统意义上的软件维护,是一项“擦屁股”的臭工作。如何将“擦屁股”的工作变为一件美差事,这是本章研究的问题之一。随着软件开发技术、软件管理技术和软件支持工具的发展,维护成本和维护工作量也在逐步下降。
1 软件产品分类
软件产品是指不局限于特定业务领域、能被广大用户直接使用的软件系统,如操作系统、编译系统、工具系统、通用财务系统等。
软件项目是指针对特定业务领域、需要提供业务流程重组与优化的软件系统,如MIS, ERP, 电子商务、自动跟踪控制系统等,它们一般叫做软件项目,最多也只能叫做“需要客户化的软件产品”。
不管是软件项目或软件产品,一旦开发成功,都有一个软件发布和实施问题。
不同的软件产品,其发布与实施的方法有所不同,所以首先要讨论软件产品的分类。
从软件产品是否需要客户化、以及客户化的工作量有多少的角度来看,世界上所有的软件产品共分为三类,如表9-2所示。
类别
产品特点
举例
1
不需要客户化的软件产品
系统软件
2
只需要少量客户化工作的产品
专业性特强的应用软件产品
3
需要重新做业务流程规范和需求规格定义的软件产品
分行业的ERP
1.“客户化”和“初始化”不一样
客户化是指按照客户的实际需求,对软件产品的功能、性能、接口做适当的改动。
初始化是指按照客户的实际情况,对软件产品的代码表(又称数据字典)进行初始化,即将客户的各种信息编码录入到相应的代码表中,如单位代码、部门代码、物资代码、设备代码、商品代码、科目代码、岗位代码等。此外,初始化还包括数据库中所有基本表的数据加载,即所有基本表中必要记录的录入工作。所以,初始化就是给软件正式运行,提供一个必要的条件。
初始化工作简单,客户化工作复杂。客户化之后的软件,仍然需要初始化,因为只有初始化后的软件才能正式运行。
第一类是不需要客户化的软件产品,如系统软件中的操作系统、编译系统、数据库管理系数、CASE工具,以及应用软件中的杀病毒工具、游戏系统等。
这些软件产品的通用性强,用户买来安装之后,直接使用即可。所以用户群大,几乎覆盖全球所有客户。
第二类是只需要少量客户化工作的软件产品,如财务系统、保险系统、金融证券系统、税务系统、海关系统、政府办公系统、公检法系统、电力控制系统、电信计费系统等。
因为这些行业专业性强,各种法规制度健全,业务流程规范,信息标准化工作基础扎实。
这些软件产品尽管也需要适当的客户化,如报表与查询格式的调整,但全局性的数据库和数据结构不会改变,所以这种客户化的工作,仅仅是程序代码级的,不是数据库和数据结构级的。
第三类软件产品的客户化工作量大,工期也较长,例如:分行业的管理信息系统MIS、分行业的企业资源规划系统ERP等。
严格地讲,第三类软件产品实质上不算一种真正意义的软件产品,只算一种行业应用软件框架,或行业应用软件解决方案。
有了这种软件框架或软件解决方案后,软件厂商就能通过快速原型法,在较短的时间内完成客户化工作。随着软件厂商经验和技术的日积月累,尤其是分行业的类库、构件库和中间件的日积月累,以及企业内部管理规范化的发展趋势,第三类软件产品的实施周期也会日益缩短。
对于小型ERP产品的研发,社会上己有一些公司正在努力使它真正产品化,其努力的目标是:
(1)突出产品的采购、销售、库存和财务功能,淡化其他功能,在功能上实现“有所为,有所不为”。
(2)突出采购、销售、库存和财务数据的系统集成,从设计上解决ERP的产品化问题。
(3)突出操作简单、实惠够用的原则,使客户按照ERP产品的“用户指南”,就能自行安装、初始化、试运行和正式运行,如同微软的Office产品一样。
这种努力的条件是:研发人员对企业的内部管理了如指掌,对数据库设计的理论和技巧十分精通。如今,这种努力已获初步成功,小型ERP产品开始普及。目前,它已经由第三类产品,变成了第二类产品。