根据SEI定义,结合业界的一些研究,软件产品线有如下几个重要特征:
1.一个软件产品线应该有一系列的产品成员组成,既产品家族。
2.产品家族中的所有产品都服务于一些特定的领域。
3.产品家族成员之间在服务功能、产品质量、产品性能、产品应用范围等方面有着明显的差异。
4.产品家族成员在构建时都利用了相同或者相似的功能,这些功能来自一些公共的、固化的、并且受严格管理的核心软件资产。
5.构建产品家族中的产品,是利用固化的软件资产,在一种严格规划和管理的有序状况下系统化进行工作。
产品线设计一般经历以下过程:
1.需求分析阶段:收集需求,进行产品线共性、可变性分析。
2.系统架构阶段:建立高于单个产品架构之上的产品线架构。
3.构建设计阶段:聚焦于能代表产品共性的构建。
4.测试级配置管理。
5.产品线演化阶段。
6.技术及管理变革。