软件产品线中的架构级别

转自:架构和敏捷驱动的产品化

十几年前我研究过软件产品线并应用在公司的管理软件研发中,当时看了几本经典书籍,其中有一个软件产品线的评估框架FEF。Family Evaluation Framework 是欧洲工业界和学术界经过六年时间从众多项目整理出来的一个评估框架,如下图,该评估框架有5个级别, 覆盖了软件工程的四个评估维度(业务、架构、流程和组织),每个维度有三到四个方面,本篇将介绍一下架构维度。

摘自《软件产品化和平台化》内训讲义

三个方面

BAPO对架构着重从以下三个方面考虑:

 Asset reuse level : 资产重用级别
• Reference architecture::参考架构,作为应用架构的基础架构
• Variability management::可变性管理(这个是捷创成咨询认为规模定制化to-B产品的一个重点和难点)

Level 1: 独立开发(Independent Development)

总体说明:只有针对单个系统的架构
• Asset reuse level : 没有或者毫无系统级别的重用
• Reference architecture: 没有软件产品线架构
• Variability management:不做可变性的管理

Level 2: 标准基础设施(Standardised Infrastructure)

总体说明:没有正式的可重用领域资产,重用集中在第三方基础设施。
• Asset reuse level : 使用通用的第三方基础设施(例如开发控件等)
• Reference architecture:产品线架构基于第三方基础设施,主要致力于使用这些基础设施
• Variability management:有时会受到第三方基础设置提供的可变性限制,大部分可变性还是由应用架构提供

Level 3: 软件平台(Software Platform)

总体说明:捕获了领域通用性并在平台中实现,所有应用可以共用一个参考架构,通过配置平台可以适用与多个不同的产品,但是对可变性管理还是没有很好的支持。
• Asset reuse level : 定义了多个通用资产,在平台和架构下进行有计划的重用
• Reference architecture:参考架构作为应用架构起点
• Variability management:参考架构决定了核心资产支持应用开发需要进行哪些配置,有明确的应用生产计划

Level 4: 可变性(Variant Products)

总体说明:在产品线中明确提出可变性管理,能够很好的进行进行领域共性和可变性管理

• Asset reuse level : 应用开发可以进行明确的可变性管理
• Reference architecture:参考架构支持可变性管理,明确的表明使用参考架构如何支持应用架构的变化
• Variability management:应用工程的可变性进行很好的统一管理

Level 5: 可配置(Configuring)

总体说明:参考架构占主导,只有少量的应用架构,更多的是使用建模、脚本、工具和配置从参考架构自动生成产品。
 Asset reuse level:系统的规划和重用资产库
• Reference architecture:参考架构完全决定了应用架构,可以通过自动配置后生成应用
• Variability management:变体完全集成在架构中,变体被描述为模型,通过有语义的语言进行管理

如果你对软件产品线感兴趣,可关注捷创成咨询的软件产品线公开课。

留下评论

您的电子邮箱地址不会被公开。 必填项已用*标注