1:软件过程思想
1.1:什么是过程
过程的定义很多书上都给出了不同的答案。可能是这些给出的定义所关注的方向不同,因此会忽视一些其他方面,造成很难给过程一个明确的定义。在这里引用一个比较全面的定义来阐述过程。“过程事实上有三方面的特性:首先,过程应被定义,因此过程的第一个方面就是过程的定义,通常是将过程所包含的活动及程序文档化;第二,应将关于过程的知识传授给需要执行过程的每一个人,所以第二个方面就是过程的学习。也就是说应让过程的知识深入到每个过程执行者的头脑中去,并以此驱动他们的行为与活动;就像产品的形成是经过一系列的工序处理后的结果一样,通过执行过程中的活动才能获得最终的过程结果,这就是过程的第三方面。”***[引用自《软件过程改进 Sami Zahran著》第一章1.2.2]
其实简单的理解,过程的定义可以描述为:什么人正在做什么事情,什么时候去完成这件事,并且如何去完成这件事的一个特定目标。
1.2:软件过程
1.2.1:软件过程定义
软件过程广义来将就是指:不仅仅包括软件开发和管理的过程,并且还包括软件合同的管理,软件维护,软件支持及整个软件组织的管理等的全部活动。而狭义的软件过程则指:软件开发过程,包括软件开发过程中的全部活动:需求分析,设计,编码,测试。这些过程可以是增量的交替的开发,或者可以采用迭代的开发。
我们这里所要讨论的软件过程可以定义为:对软件开发过程的管理,软件生命周期的管理与工程化过程支持的规范说明。而此软件过程的使用者为公司的软件工程师和项目经理&#