第二章:软件工程
什么是软件工程?
软件过程是工作产品构建时所执行的一系列活动、动作和任务的集合。活动( activity)主要实现宽泛的目标(如与利益相关者进行沟通),与应用领域、项目大小、结果复杂性或者实施软件工程的重要程度没有直接关系。动作( action,如体系结构设计)包含了主要工作产品(如体系结构设计模型)生产过程中的一系列任务。任务( task)关注小而明确的目标,能够产生实际产品(如构建一个单元测试)。
什么是过程框架?
过程框架( process framework)定义了若干个框架活动(frameworkactivity),为实现完整的软件工程过程建立了基础。这些活动可广泛应用于所有软件开发项目,无论项目的规模和复杂性如何。此外,过程框架还包含一些适用于整个软件过程的普适性活动(umbrella activity)。一个通用的软件工程过程框架通常包含沟通、策划、建模、构建、部署5个活动。对许多软件项目来说,随着项目的开展,框架活动可以迭代应用。也就是说,在项目的多次迭代过程中,沟通、策划、建模、构建、部署等活动不断重复。每次项目迭代都会产生一个软件增量(software increment),每个软件增量实现了部分的软件特性和功能。随着每一次增量的产生,软件将逐渐完善。
什么是软件