【从零开始学习计算机科学】软件工程(二)软件工程方法学
- 软件工程方法学
- 结构化/面向过程
- 结构化编程
- 结构化设计
- 结构化分析
- 结构化方法的常见问题
- 面向对象
软件工程方法学
我们通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学(methodology),也称为范型(paradigm)。软件工程中有许多方法:
结构化/面向过程
对于结构化方法,其又被称为传统方法学,也称为生命周期方法学或结构化范型。
它采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。
传统方法学/结构化方法的特点是:传统方法学把软件生命周期的全过程依次划分为若干个阶段,然后顺序地完成每个阶段的任务。每个阶段的开始和结束都有严格标准,对于任何两个相邻的阶段而言,前一阶段的结束标准就是后一阶段的开始标准。在每一个阶段结束之前都必须进行正式严格的技术审查和管理复审。审查的一条主要标准就是每个阶段都应该交出“最新式的”(即和所开发的软件完全一致的)高质量的文档资料,从而保证在软件开发工程结束时有一个完整准确的软件配置交付使用结构化方法将复杂世界、复杂处理过程(事情的发生发展)设计一系列功能(或算法)以解决某一问题。结构化方法总的指导思想自顶向下、逐步求精。基本原则是功能的分解与抽象,是以过程(事件)为中心的设计方法。
其包含以下方法:
- 结构化分析方法 SA法(Structured Analysis),
- 结构化设计方法 SD法(Structured Design),
- 结构化程序设计方法SP法(Structured Program)。
使用结构化编程、结构化分析和结构化设计技术的系统开发方法具有以下特点。