论文部分内容阅读
软件开发规模的不断扩大、市场竞争的日益激烈、Internet技术的迅猛发展,使得在过去几年里协作软件工程受到了广泛的关注,为了支持协作软件工程,协作开发环境的研究成为了一个热点。协作开发环境通过Internet/Intranet,将分布在不同物理位置的多个相对独立的部门、开发团队或组织连接在一起,它们之间通过互相协作完成软件生产任务。
另一方面,由于软件开发是一项知识密集型的智力劳动,软件生产过程中的知识管理已经成为软件工程中的重要研究内容。然而,由于人员的分布性,协作开发环境下的知识管理机制比传统的知识管理机制更为复杂,其中,如何使异构的软件产品知识在全局范围内传递与共享成为了协作开发环境下知识管理的一个重要问题。
围绕这个问题,本文的主要工作如下:1、介绍了分布式环境下常见的两种知识管理机制——集中式管理机制与分布式管理机制,在分析它们各自的优缺点的基础上,我们总结出了分布式环境下知识管理中深层次的矛盾,即知识组织与知识分布之间的矛盾。在此基础上,我们提出了分布式协作开发环境下产品知识的两层管理体系,即将知识的组织与知识的分布式存储分层管理的体系结构,为解决上述矛盾提供了一种可行的机制。
2、提出了产品知识两层管理体系的两个方面——本地知识存储维护与全局知识组织的管理策略以及给出了各自的实现方法:
对于本地知识存储的管理,我们引入了上下文的概念,提出了基于上下文的知识管理机制,通过静态的和动态的软件产品的上下文来解释软件产品的性质与应用。并且,我们实现了一个文档管理器来收集、生成、存储软件产品的上下文,实现了一定程度的自动化的管理。
对于全局范围内的知识组织,我们借鉴了目录服务的相关思想,提出了一种全局目录服务的策略,并且在分析软件产品的本质和用户的需求这两个方面的基础上,提出了主题的概念,使用主题来反映软件产品知识的多个视角。在这个基础上,我们提出基于主题的目录组织,并且给出了基于Web的实现方式。
3、最后,本文讨论了两层管理体系在CPMS系统中的应用,主要给出了CPMS系统中使用文档管理器对本地软件产品的管理方案,并且展望了全局目录服务在未来CPMS系统中的应用。