论文部分内容阅读
软件产品线是一个以软件工程为背景发展而来的、新兴的、多学科交叉的研究领域;涉及软件技术、管理技术和商务规划等多个方面,几乎覆盖了软件工程的所有领域;软件产品线已成为当前软件工程研究和实践的最前沿。软件产品线是一个十分适合专业的软件开发组织的开发方法,能有效地提高软件生产率和质量、缩短开发时间、降低总开发成本。国内软件产业的发展,迫切需要在大规模软件开发的方法论、技术和管理等理论研究和软件工程环境等方面有所提高和突破;在理论研究上国内尚未形成以软件产品线为主导的、系统化的研究。国际上软件产品线实践已取得了相当的成功,理论研究方面正处于一个迅速发展时期。 软件产品线的关键在于领域工程,尤其以领域工程中的领域分析和建模、核心软件资源的设计、开发和管理等关键方法和技术为重点。本文在对软件产品线基本理论、主要方法和技术的全面的、系统的研究基础上,结合软件产品线开发的实践经验,以领域分析和建模、产品线体系结构为切入点,对软件产品线的领域分析和建模方法、软件体系结构设计方法和技术、共用组件的设计和实现技术等关键方法和技术进行了重点的研究和实践。目的是为最终形成一个完整的、具有良好适应性的领域工程方法和计算机辅助软件工程环境提供理论和技术基础。 论文的前半部分是对软件产品线及其主要支持学科:软件体系结构、应用建模等比较系统的理论研究。对各学科的基本理论、发展和现状进行了简要的介绍后,重点对现有主要方法和技术进行了对比分析和评价,目的是吸取现有方法和技术的优点、发现存在的限制和不足,为后面的研究打下坚实的理论基础并找出一个明确的研究方向。 论文的后半部分在前面的研究基础上,针对目前软件产品线研究和实践尚存在的问题和面临的挑战,提出和开发了一些新的软件产品线的关键方法和技术。 本文提出了一个以领域动态分析为先导的、以动态层次模型为核心的领域动态分析和建模方法。用该方法建立的产品线核心软件资源具有对应用领域需求动态变化的包容能力;扩展了软件产品线开发方法的适用领域,也提高了产品线核心资源和产品线的产品在生命周期中的稳定性。 提出了可用于产品线和应用框架设计的软件体系结构层次设计思想,将功能特征及其实现分解成多个可随意组合并且只具有单一形态的设计实体和实现单元。解决了产品线和应用框架的设计实体和实现单元在不同产品中的代码复制和版本增殖问题。 提出和开发一个基于体系结构的层次设计思想和扩展的嵌套模板类实现技术的层次组件设计实现技术。层次组件技术具有与实现语言无关、良好的设计结构保留特性、可伸缩性、可重用性等特点;能隔离基本信息模型和功能特征,从体系结构的实现方面弥补了领域动态分析与建模方法在运行性模型描述能力方面的缺陷。体系结构的层次设计思想和层次组件技术可实现软件产品线的柔性组件和基干组件的柔性框架。 本文还提出一个动态体系结构的基本实现方法,使模型中的动态特性在软件产品线体系结构的设计和实现中得以体现和延续;以及一个领域动态层次模型的UML形式化表达方法。 文中最后介绍了一个软件产品线的开发实例;并对本文研究工作的创新之处和尚存在的问题进行了总结,对进一步的工作进行了展望。