终结管理软件开发“黑洞”
来源:用户上传
作者:
目前,国内企业对管理信息系统都给予了高度的关注和极大投入,也寄托了它们太多的期望,但大多数企业却没有得到与其付出相匹配的回报。在企业实施管理计算机化的过程中,存在的一个普遍状况是:在一幅美好蓝图的吸引下,企业对管理软件进行巨额投资,经过一系列极其复杂的过程、一段漫长的开发周期后,企业和软件公司却同时发现企业的需求已经发生了巨大变化。于是在真正的版本发布以前,管理软件的项目质量已处于失控状态,并已陷于维护的泥潭,最终结果当然只能是项目的彻底失败。
对管理软件开发的反思
从各权威机构的调查数据不难看出:我国企业在管理信息系统方面投资总额已超过100亿元人民币,但应用成功率却只有可怜的10%不到,能达到预期目标的更是寥寥无几。
不管愿不愿意承认,大部分管理软件被企业否定已成为不争的事实,一些管理软件专家开始正视这一事实,并形象地称之为IT黑洞。认识问题后,接下来就应该是对造成这些现象的原因的分析了。
可惜的是,在正确认识了管理软件的IT黑洞后,在总结引发这些事实的原因时,不少软件专家轻率地把责任完给归给了企业,认为企业不能接受先进的管理思想,或是无法稳定自己的管理模式才是导致管理软件失败的主要原因。
但实际上,事实并非如此。
不难发现,现有的管理软件无法适应管理千变万化的个性需求和持续变革,其所包含的“先进管理思想和业务模式”并不能很好的适应中国千变万化的企业管理才应该是管理软件失败的罪魁祸首。并且,直到现在软件开发者仍至少从以下三个方面在创造着更大管理软件黑洞。
首先,应用开发模式落后。现有的管理软件开发模式存在重大缺陷,导致管理软件在质量、周期、成本、风险、实施等方面陷于困境。
其次,满足客户需求不足。现有的管理软件工具不能全面分析和满足企业业务的需求,尤其现代企业管理个性化和持续变革的要求,使很多管理软件很难真正满足用户需求。
此外,管理软件自身价值体现不足。现有管理软件大多是缺乏体系的软件孤岛,企业业务难以关联,破坏了企业业务管理的整体性和集成性,导致管理软件的整体价值大大降低。
思维加速:管理软件开发新思路
存在的开发难题
从以上分析不难看出,管理软件开发思路已到了非变不可的地步。但,如何来变呢?这还得结合管理信息系统开发的独特特点来探索。
其实,管理信息系统软件的开发有着自身的独特特点,明显不同于一般的底层工具软件的开发。这也是虽然经过了多年的软件技术发展,仍没能着力解决其应用开发核心问题的原因,因为它们的大多数改进都只是为了开发人员的纯技术提升,而无法较快的转化为应用开发的工程方法。
目前,需求分析不彻底仍是导致应用开发软件失败的主要原因之一。
传统的软件开发方法不允许在开发过程中用户的需求发生变化。基于此点不足,人们提出了原型化方法,推出探索原型、实验原型和进化原型,积极鼓励用户改进需求。在每次改进需求后重新形成新的进化原型供用户试用,这在一定程度上提高了软件的成功率。但这要求软件开发人员能迅速生成这些原型,要求能自动生成代码的工具提供支持。但生成的模型与可运行的软件并非像建筑图纸一样,存在一一对应的关系。况且,就是一个原型化了的模型,仍然可以有多种不同的技术实现方案。其实,如果模型能够一次分析清楚,开发商也就不必花如此大的代价解决模型的运行了,因为无论是否复杂,都可以通过一次建模把所有的问题描述清楚,然后就是按照模型把软件系统实现出来。
但是软件的需求不可能像设计建筑一样,在实施软件之前或在设计软件的时候就能把软件的所有需求彻底分析清楚。一套管理应用软件在没有被实现的时候,用户也不知道真正需求是什么,所提的只是一个大概的想法。但用户的想法会随着时间的推移、随着对应用需求的不断深入认识、随着开发人员对系统细化设计的深入而不断提高。
而黑洞问题存在的另一个原因是开发商缺乏有力的解决方法,当用户需求发生变化时,开发商无力快速响应。虽然IBM提出试图减低这类问题为企业应用带来的不良影响,但IBM的解决方案不是以软件方案为主且代价昂贵。我们需要其他的解决方案,物美价廉的。
思维加速BUSINESS 3.0解决方案
基于对以上管理软件开发现状的一些分析,JUSTEP BUSINESS 3.0提供了如下的管理软件开发新思路,来解决管理软件开发中存在的问题:
首先,通过EMA开发模式。通过企业模型自动化(EMA)开发模式,大幅度减少管理软件在质量、周期、成本、风险、实施等方面存在的问题。
其次,建立Justep Business3.0企业模型。依据现代企业模型和业务蓝图理论(EM/DEM),提供基于实现的业务建模工具,使软件能够符合企业个性化管理及其持续完善,并满足企业快速开发与维护的要求。
此外,架构Justep Business3.0业务平台。架构整体集成的业务运行平台,让管理软件实现高度协作和整体集成,支持企业业务的关联和协作,全面提升管理软件的价值。
另外,Justep Business3.0还提出了业务驱动的软件架构体系,就是基于上述更深的层次挖掘业务需求本身,通过快速的模型迭代完成应用系统的快速开发,快速响应,快速维护。
业务模型就是从业务本身为起点,分析应用可能会包含的内容,而不只是从用户已经提炼或提出的需求来分析系统。要把一个企业的各种业务映射成为一套完整的软件,是一个复杂的过程,可以把这个复杂的过程分解为一系列不同的业务要素及其间的关系,就可简化分析和实现的系统了。然后将与业务无关的内容屏蔽到业务运行平台,让业务开发人员在一定程度上只关注业务内容,而不需投入太多时间和精力在软件的实现技术上,节省出来的成本体现在了开发速度与效率的提升上。
在开发时,主要工作是在可视化的集成开发环境中建造业务模型对象,辅以调度代码的编写,按面向对象、面向业务、面向过程的开发方式进行应用系统的开发。但是在应用开发中,对面向对象技术的采用,会受到应用系统无限复杂的制约。导致应用开发中,很难把这种优秀的技术在一个开发队伍内按统一的对象抽取模式,将其使用在应用系统的构建上。所以,虽然现在的开发工具大多数都是支持面向对象编程的,但是很少的开发商能够把这种有效技术整合在业务系统的开发设计和维护工作中。而Justep Business3.0开发方式则是提供出一套能够按面向对象的开发技术完整映射企业各种业务活动的软件开发、运行和维护的应用架构。
在Business3.0开发过程中,明显能够看到,业务对象被不断地抽取、细化、重用、整合。业务信息中对要处理的业务最小单元进行完整封装,并且在业务功能、业务流程中被调度和重用。业务上的变化一般不涉及信息层的变动,而且信息层的变动可以这对象继承的功能不断演进。功能和流程方面的调整是企业信息系统变动最频繁的部分,Business3.0中采用模型化手段进行构建。
Justep Business3.0之“能”与“不能”
在Justep Business3.0之前的管理软件开发方法都是基于功能分解的。
尽管软件工程学在应用系统软件可维护性方面做出了贡献,使软件的可维护性有了较大改进。但从本质上讲,基于功能分解的软件是不易维护的。因为功能是离用户最近的软件部分,极易随着用户需求变化而发生改变,一旦有变化发生,都会使整个的软件系统产生较大的变化,甚至推倒重来。更严重的是,在这种软件系统中,修改是困难的。系统间的功能相互引用,相互依赖。由于种种原因,即使是微小的修改也可能引入新的错误。所以,传统开发方法在维护上很可能会引起软件成本增长失控、软件质量得不到保证等一系列严重问题。
正是Justep Business3.0才使管理软件的可维护性有了质的改善。
Justep Business3.0的基础是目标系统的业务对象模型,而不只是功能的分解。业务功能是业务对象的使用,它不依赖于应用的细节,并在开发过程中可以不断变化。由于业务对象是客观存在的,当需求变化时,业务对象的性质要比业务对象的使用(功能)更为稳定,从而使建立在对象结构上的软件系统也更为稳定。
更重要的是Justep Business3.0解决了软件的可维护性。在OO开发方式(面向对象的开发方式)中,子类不仅可以继承父类的属性和行为,而且也可以重载父类的某个行为(虚函数)。利用这一特点,可以方便地对业务对象组成的业务功能进行修改:引入某类的一个子类,对要修改的一些行为(即虚函数或虚方法)进行重载,也就是对它们重新定义。由于不需要再在原来的程序模块中引入修改,所以这有助于解决软件的可修改性,也提升了了软件的可维护性。OO技术还提高了软件的可靠性和健壮性。
但是,简化业务对象的维护只能降低一部分开发工作量,更大的工作量在于,修正后的软件如何分发给用户。在企业级的开发市场,一般都会涉及非常复杂的软件部署环境,可能系统软件的一次小改动,都会造成昂贵的重新部署的代价。Business3.0采取了把应用资源与运行环境分离的技术,把应用相关的资源存储在大型的关系数据库中,把运行平台单独分布在企业的运行环境,这样,在应用发生变化后,维护的工作就只是升级数据库的内容。Business3.0自带了一个发布升级工具,可以把改动过的业务内容,无论是业务数据(或数据的结构)、业务信息、业务功能、业务流程、组织机构,都能按独立的存储格式统一打包成Business3.0的升级文件,通过Email把升级文件发送给用户,由用户通过使用同样的升级工具,简单地利用收到的升级文件,升级业务数据库中的业务模型内被要求更改的内容,就可以由用户自主完成全部的系统升级,真正的实现了管理软件的快速维护。
就目前而言,Justep Business3.0虽能解决大多数的管理软件黑洞问题,但管理本身是一件十分艺术的事情,其抽象性复杂性并不是软件所能够完全取代和完成的。而Business3.0正力图将其转化为科学的、工程的方法,让更多的企业降低管理信息系统的风险成本,获得企业真正想要的应用系统。
转载注明来源:https://www.xzbu.com/8/view-1081476.htm