软件进化--企业应用软件架构成熟度模型 软件企业的基础设施

来源:互联网 发布:开通淘宝客好不好 编辑:程序博客网 时间:2024/05/17 02:58

       应用软件开发作为一个行业已经有了30多年的发展历史,但是也许是软件之复杂,也许是软件之无形,目前依然处于一种原始的手工作坊式生产方式,需要依靠大量的人力去开发,质量难于保障,使用和运维成本高昂。

       造成这种局面的原因多种多样,但我认为最根本的原因并不在于管理,而在于对应用软件合理构造的科学认识不足,没有建立起企业应用架构的标准和具体产品。我们分析人类社会的所有工业产品,它都有基本趋同的统一结构性标准框架,例如汽车,它包括动力系统、行走系统、操控系统、承载空间等,但我们分析汽车的发展史会发现,它也是从比较粗糙原始的模式逐步发展到构造完整、科学合理的,早期的汽车连雨刷这样最简单的必备部件都没有。

       一个系统结构和构造是最关键的,忽略软件构造,只谈管理是很难把软件做好的,就像一个汽车企业虽有先进的管理体系,但不知道汽车应该是个什么样子,这不可能成为一个好的汽车制造企业,只关心软件企业的CMM-Capability Maturity Model for Software,而不关心软件科学构造同样不可能成为好的软件企业。

       因此探讨应用软件的科学构造、建立软件架构成熟度模型AMM - Architecture Maturity Model for Software对于软件企业更加重要和基础。为了导出科学的软件架构,我们需要研究一下软件的进化过程,分析软件为了的进化方向,确定高级软件系统的基本构造和体系架构,这样才能够建立架构成熟度模型,在正确的方向指引下,我们才能够朝一个正确的方向前进。我认为如同高级哺乳动物都有基本相同的构造(例如老鼠与大象他们都有嘴、眼、鼻、耳,五脏六腑、四肢百骸)一样,高级软件系统的构造必然也是同构的,如果我们能建立起这样的架构,在此基础上编制具体应用就轻而易举了。

      本以为AMM是自己独立发明的概念,结果到我网上一搜,早在1987年,J.A.Zachman在IBM的一个内部刊物上发表了“A Framework for Information Systems Architecture”的文章,第一次提出了企业架构EA-Enterprise Architecture的概念。EAMM是何时建立的不清楚,但EAMM基本参照了CMM的分类方式,将EA的成熟度分为了6级:

EA LEVEL 0 - NO PROGRAM

EA LEVEL 1 - INFORMAL PROGRAM

EA LEVEL 2 - REPEATABLE PROGRAM

EA LEVEL 3 - WELL-DEFINED PROGRAM

EA LEVEL 4 - MANAGED PROGRAM

EA LEVEL 5 - CONTINUOUSLY IMPROVING VITAL PROGRAM

 

 

 

     

原创粉丝点击