传统软件文档以自然语言和图形化模型为内容核心,关注文档在涉众间的交流功能,而忽视了文档中知识的管理和应用,很难从文档中发现和应用软件知识来促进软件开发。在软件系统规模和复杂度不断增大的背景下,软件归档作为一种知识密集型的活动变得越来越困难,造成软件开发过程中的若干问题。本项目的研究范围集中于软件需求和体系结构文档,这两个紧密关联的软件开发阶段所生成的文档,拟从四个方面探索知识驱动的软件归档方法1)改进现有的归档过程,将知识应用于各项归档活动;2)建立可扩展的混合型知识框架,管理归档活动中的知识;3)从软件开发过程的角度,提炼软件归档的知识应用活动,并分析和评价归档活动的成本效益;4)从软件涉众的角度,获取归档工具的功能性需求。为知识驱动的软件归档提供知识管理框架、归档过程指导和辅助工具的工程化支持。
Knowledge-enabled Approach;Software Documentation Approach;Software Architecture Documentation;Software Requirements Documentation;
现有软件文档以自然语言和图形化模型为主要描述方式,关注文档在涉众间的交流功能,但忽视了软件文档中知识的管理和应用,很难从文档中发现和应用知识来促进软件开发。在软件系统规模和复杂度不断增大的背景下,软件归档作为一种知识密集型的活动变得越来越困难,造成软件开发过程中的若干问题。针对这些问题,本项目研究成果包括1)系统分析了现有基于知识的软件归档方法的相关研究成果;2)提出了基于本体的软件归档方法,并应用于软件体系结构的归档活动;3)以工业软件开发作为研究对象,应用基于本体的软件归档方法,为软件体系结构归档活动提供本体知识管理模型和辅助工具的工程化支持,并进行评价;4)以开源软件开发作为研究对象,挖掘软件体系结构变因,促进软件体系结构决策知识的归档,并分析了软件体系结构文档对开源软件的可维护性的影响。以上研究成果为知识驱动的软件归档提供了机理、方法和工具基础。