以静态的思维看待平台与框架开发,极有可能最终导致所获得的平台与框架是一个臃肿、易出错的软件包袱。出现这种状况的原因,是我们没有明白平台与框架是存在生命周期的。

平台与框架也象人一样,存在形成、成长、成熟和衰退四大时期,图1示例说明了这几个时期。图中纵座标的适应能力,是指平台与框架对应用软件新需求的支持程度。其中的直线也只代表一种趋势,现实中更多地表现为存在波动的曲线。
软件平台与框架的生命周期_平台
  图1

  
在平台与框架的形成时期,我们根据所需开发应用软件的需要,以模块化的思想设计出各种功能正交的软件模块。随着项目开发团队数量的增加,或者公司在同一行业内产品线的扩展,慢慢地,我们意识到这些模块所形成的集合应被各开发团队或产品线所共用,因此提出了打造平台与框架的设想。这一设想一旦获得公司技术管理层的支持,就使得平台与框架进入了它的成长期。

形成期的平台与框架功能相对简单,加上开发团队可能还没有积累起足够的行业经验,使其对应用软件的用户需求支持很单薄。

平台与框架一旦进入成长期,公司通常会成立独立的开发团队,并网罗经验丰富的工程师加入,专门负责其开发工作。在这一时期,开发团队的业务能力和软件设计能力是至关重要的资源,否则平台与框架无法满足公司期望的成长性,进而影响公司最终软件产品的交付时间与质量。

成长期的平台与框架其功能和稳定性都会不断增强。这一时期也有助于培养和锻炼开发团队的业务和软件设计能力。

随着平台与框架对用户所提出需求的不断满足,以及用户需求的相对稳定,平台与框架就跨入了成熟期。成熟期的平台与框架在功能上不会有大的变化,但稳定性仍应逐步提升,局部范围的软件重构也有可能较为常见。

当用户需求在一段时间的相对稳定后发生很大的变化,或者公司想在新开拓的业务领域内复用同一平台与框架,如果此时的平台与框架无法适应这种变化,且主导设计也没有与时俱进地改善,这将导致平台与框架逐步进入衰退期。

处于衰退期的平台与框架具有的特点是:原主导设计的一致性不断地被打破。正因如此,工程师觉得新功能的支持很象是 “贴狗皮膏药”,程序实现也逐步变得臃肿,这就引发了平台与框架在这一时期的另一个特点 — 稳定性变差。

如果平台与框架长期处于衰退期,它将最终变为我们的沉重包袱,摆脱这种困境的唯一方法是在兼顾已支持需求和新需求的情形下对之进行改进。此时的改进将是大范围的重构,乃至通过重新设计更改主导设计,这就将平台与框架带入新一轮的生命周期,图2示例说明了这种变迁。
软件平台与框架的生命周期_框架_02
  图2

  
图中带有阴影的部分表示新的生命周期。注意:新的生命周期中仍存在形成时期,但其层次高于前一轮的。平台与框架在新的生命周期内是否成功,取决于能否进入新的成熟期,且其适应能力高于前一轮的。
软件平台与框架的生命周期_框架_03
推荐阅读

实施软件平台与框架开发的注意事项