系统家族与可变性:软件测试的新视角
1. 软件工程中的可变性
随着软件系统的日益复杂和成本的不断增加,实现工件的复用变得至关重要。系统家族作为复用的一种重要场景,值得深入探讨。
系统家族指的是一组程序,相较于它们的差异,讨论其共性更有意义。根据产品线成员之间的关系,系统家族可分为以下几种类型:
- 系统变体 :为不同市场或客户进行调整的系统家族成员,可能在提供的功能上有所不同,或针对客户的个别需求进行了适配。
- 产品版本 :新软件版本基于旧版本构建。由于并非所有软件系统的客户都能使用最新版本,因此需要并行维护不同版本。
- 现有系统及其替代系统 :两个系统虽无实现部分的共享,但用于相同任务且满足相同需求。
尽管存在多种促进软件家族复用的方法,但软件开发中的复用程度仍不尽人意,实际中的复用往往是机会主义的。为了支持系统家族内的复用,需要满足以下要求:
- 捕获和形式化可变性 :通过领域分析识别和捕获领域的相关概念,并将其正式表示为特征模型。系统家族可变性所涵盖的所有系统集合称为系统家族的范围。
- 建立流程和方法 :根据待构建系统的需求,判断产品线的范围是否涵盖这些需求。若系统在产品线范围内,则需创建一个配置,以系统家族的可变性来描述系统的特定功能。
- 实现所有配置 :必须存在工具和核心资产,能够从先前构建的抽象配置中全自动实现产品。
满足上述所有要求的系统家族称为软件产品线
超级会员免费看
订阅专栏 解锁全文
22

被折叠的 条评论
为什么被折叠?



