问答题 阅读下列关于软件产品线方面的叙述,回答问题。
[说明]
A公司是一家中等规模的计算机企业,专门从事网络安全防护软件系统的开发。从最初仅开发基于Windows的个人防火墙产品开始,现在已经延伸到基Linux、Windows系列、Mac操作系统的个人防火墙、企业防火墙、入侵检测系统、病毒扫描系统,以及安全扫描系统等多种产品。公司原来的产品都是一个一个地开发,为每个软件对应地组织一个项目组。
为了适应快速变化的市场,降低开发成本,公司想引入产品线方法。然而,软件产品线方法涉及了一个软件开发企业的多个产品,所以,公司的王总决定在弄清楚以下3个问题之后再做决定:首先是本公司的业务范围是否适合使用产品线方法,其次是如何在原有产品的基础上建立产品线,最后是成功实施产品线的主要因素。

问答题 [问题1]
结合你的系统架构设计经验,请用200字以内的文字简要说明A公司是否适合采用产品线方法,并说明你的理由。
【正确答案】这是一道要求读者根据具体应用环境,分析软件产品线(Software Product Line)的适用性的综合理解题。本试题的解答思路如下。
(1)软件产品线代表了一种强劲的软件开发范例,它可使软件生产在时间、成本和质量方面获得显著改善。它是一个十分适合专业的软件开发组织的软件开发方法,能够有效地提高软件生产率和质量,缩短开发时间,降低总开发成本。同时,它也是一个新兴的、多学科交叉的研究领域,研究内容和范围都相当广泛。
(2)卡耐基梅隆大学软件工程研究所(CMU/SEI)对产品线和软件产品线的定义是,产品线是一个产品集合,这些产品共享一个公共的、可管理的特征集,这个特征集能满足选定的市场或任务领域的特定需求。这些系统遵循一个预描述的方式,在公共的核心资源(Core Assets)基础上开发的。这一定义体现了软件产品线的特征。
(3)软件产品线开发有:①过程驱动;②特定领域;③技术支持;④以构架为中心等4个基本技术特点。与其他软件开发方法相比,软件开发组织选择软件产品线的宏观上的原因有:对产品线及其实现所需的专家知识领域的清楚界定,对产品线的长期远景进行了策略性规划。
(4)题干信息说明了A公司的基本情况,其软件产品的特点是,多平台(Linux、Windows系列和Mac操作系统)、同类型(包括个人防火墙、企业防火墙、入侵检测系统、病毒扫描系统和安全扫描系统,这些都属于安全防护类产品),并且还指出原来产品的开发方法是“一个个开发,每个软件一个项目组”。
(5)由于该公司的产品都是在同一个领域——防火墙产品等,满足软件产品线建设的基本要求。而且该公司原有产品相对比较成熟,可以在原有产品的基础上建立产品线。因此A公司适合引入产品线方法。
【答案解析】
问答题 [问题2]
结合你的系统架构设计经验,请用400字以内的文字说明在原有产品的基础上建立软件产品线的方式,并进行简要评价。
【正确答案】这是一道要求读者指出基于现有产品集出发的“软件产品线”构建方法,并能够指出它们的区别与实施要点的综合分析题。本题所涉及的知识点如下。
(1)“软件产品线”方法可以从现有产品集出发,也可以重新构建产品线,但对于已有一些产品体系的公司来说,前一种方法更常用。
(2)通常,将从现有产品集出发建立软件产品线的建设方式称为演化方式。它可在基于现有产品体系结构设计的基础上,将特定产品的构件逐步转化为产品线的共用构件,从基于产品的方法逐步转化为基于产品线的软件开发。该公司原来产品的开发方法的特点是:“一个个开发,每个软件一个项目组”,而且产品都是在防火墙这个领域,产品相对比较成熟,因此适合采用演化方式建立软件产品线。
(3)将用新的软件产品线替代现有产品集的建设方式称为革命方式,即基本停止现有产品的开发,所有工作直接针对软件产品线的核心资源开发。遗留系统只有在符合体系结构和构件需求的情况下,才可以和新的构件协作。
(4)演化方式主要优点是通过对投资回报周期的分解及对现有系统演化的维持使产品线方法的实施风险降到了最小。与革命方式相比,完成核心资源的总周期和总投资较大。
(5)革命方式将因为重要需求的变化而导致的初始投资报废的风险加大。另外它与演化方式相比,完成核心资源的总周期和总投资较小。由于无法满足产品线方法对软硬件同步的需求,这种方法适用于软硬件结合密切且硬件需求差异大的现有产品集。
【答案解析】
问答题 [问题3]
结合你的系统架构设计经验,请用250字以内的文字说明成功实施产品线的主要因素。
【正确答案】这是一道要求读者说明成功实施产品线的主要因素的简答题。本题所涉及的知识点如下。
(1)引入一种新的方法论,最重要是能够把握其实施要点,本问题就是要求读者从主要的成功保障因素出发,阐述实施中的关键要点。
(2)由题干中给出的关键信息“为了适应快速变化的市场,降低开发成本,公司想引入产品线方法”,间接说明了软件产品线方法的主要功能和优点。同时,题干中也指出了在使用产品线方法之前要弄清楚的问题是:“①本公司的业务范围是否适合使用产品线方法;②如何在原有产品的基础上建立产品线;③成功实施产品线的主要因素”。
(3)成功实施软件产品线的主要因素有:①对该领域的产品开发已具备长期积累的深入经验;②建立一个用于构建产品的好的核心资源库,以支持更高程度的过程规范;③创建稳定、可靠的产品线架构,以及将架构作为产品蓝图的能力;④在软件资源、人员组织和过程等方面能获得良好的管理支持。
【答案解析】