软件工程(Software Engineering)的框架 可以概括为:
- 目标,
- 过程和
- 原则。
(1) 目标:生产正确、实用、成本合理的产品。
- 正确性 是指软件产品达到预期功能的程度。
- 可用性 是指软件的基本结构、实现和文档对用户可用的程度。
- 合理成本 是指软件开发和运行的全部成本满足用户需求的程度。
这些目标的实现在理论上和实践上都存在许多问题需要解决,它们对工艺、工艺模型和工程方法的选择形成了制约。
(2) 软件工程过程: 生产出最终能够满足需求并达到工程目标的软件产品所需要的步骤。
软件工程过程主要包括:
- 发展历程,
- 操作流程,以及
- 维修过程。
它们涵盖需求、设计、实施、验证和维护活动。
需求过程 包括问题分析和需求分析。
- 问题分析以获得需求定义,也称为软件需求规范。
- 需求分析生成功能规范。
设计过程 一般包括大纲设计和详细设计。大纲设计建立了整个软件系统结构,包括子系统、模块和相关的描述层次,以及各个模块的接口定义。
详细设计过程 生成可供程序员使用的模块描述,包括每个模块中的数据结构描述和处理描述。
实施过程 将设计结果转换为可执行的程序代码。确认活动贯穿整个开发过程,实现完成后的确认,确保最终产品满足用户的要求。
维护过程 包括使用过程中的扩展、修改和改进。除了上述流程之外,还有管理流程、支持流程、培训流程等。
(3) 原则 是指软件开发过程中围绕工程设计、工程支持和工程管理必须遵循的原则。
软件过程模型