论文部分内容阅读
现代社会人们的工作和生活越来越依赖于软件系统提供的各种服务,因此软件系统的重要性越来越突出。但是由于软件系统开发的复杂性和困难性使得软件产品远远满足不了人们的需求。长期困扰着软件生产的主要问题是软件质量问题,由软件质量问题造成的损失越来越严重。目前人们已普遍认识到软件产品的质量取决于生产和维护它的过程质量,因此提高软件开发过程的质量成了提高软件质量的必经之路。以软件过程为中心的管理包括软件过程定义、软件过程执行、软件过程测量和软件过程改进几个方面。软件过程定义是其他过程活动的起点,但是定义软件过程是一项非常困难的任务,需要耗费大量的时间和资源。同时软件过程不同于其他业务过程,由于各个软件开发各不相同,因此必须要为每个软件项目制定软件过程。不少企业因为软件过程定义困难而放弃了开展以过程为中心的管理和过程改进运动。因此研究如何提高过程定义的效率具有重要的意义。本文的研究目标就是要提高企业中各个具体软件开发过程的定义效率。复用被认为是提高效率和质量的重要手段,在软件复用方面开展了大量的研究,但是在软件过程复用方面的研究非常少。主要原因是软件开发过程的动态性、多变性和复杂性使得对软件过程复用变得非常困难。已有的软件过程复用主要有剪裁企业标准软件过程、复用已有的开发过程和开发人员的知识传递等几种方式,这些复用方式都无法从根本上解决软件过程复用问题。本文借鉴了软件复用的一些思想,提出了基于软件过程构件复用进行过程定义的方法。为了得到可复用的软件过程构件,本文从分析过程组成结构和层次结构入手,得出了过程的各个组成部分,作为过程定义的基础。同时为了过程描述和检索的需要,本文从宏观视图和微观视图两方面对过程进行刻画描述,并分析了描述过程的各个刻面类型。为了复用的需要,过程构件在功能上必须是高内聚的,因此本文中通过把一个复杂过程划分为多个构成子过程,以达到对过程进行功能划分的目的。同时给出了自底向上合并和自顶向下分解的子过程划分方法。为了解决传统的基于标准过程剪裁中,标准过程只有单一抽象层次,而且和应用无关,造成剪裁工作量大的问题,本文提出了创建多抽象层次标准过程以满足不同应用需要,对相同功能不同抽象层次的过程通过继承简化定义的方法,并分析了过程的抽象层次结构和几类继承机制。在标准过程的描述方面,改变了传统的文档化的描述方式,采用形式化的知识描述手段描述逻辑对标准软件过程进行描述,并以此为基础创建标准过程知识库。然后研究了以标准过程知识库中的标准