2.2.1 结构化开发方法

2.2.1 结构化开发方法

结构化开发方法(Structured System Development Methodologies, SSDM), 简称结构化方法, 是一种相对传统的系统开发方法。它引入了被称为“系统开发生命周期(System Development Life Cycle, SDLC) ” 的概念, 将系统的开发过程划分为若干阶段, 这与人们解决复杂问题时常常按照解决问题的时间顺序对问题进行分解, 并依次解决的思路相吻合。因此, 这种方法易于理解, 尽管结构化方法最早产生于20世纪60年代, 但时至今日, 它依然在众多的项目实践中应用。由于结构化方法主要是利用一些过程模型来描述信息系统, 即它所关注的焦点在于如何通过执行相关处理功能, 实现数据的流动, 以及将各种原始数据转换为对用户有用的信息这一过程, 因此, 结构化方法又被称为是面向过程的方法。

1.结构化方法的基本思想

结构化方法的基本思想是用系统的思想、系统工程的方法, 按用户至上的原则, 结构化、模块化、自顶向下对信息系统进行分析与设计。也就是先将整个信息系统开发过程划分为若干个相对独立的阶段, 如系统规划、系统分析、系统设计、系统实施等。在前3个阶段坚持自顶向下地对系统进行分析设计。在系统调查时, 应从最顶层的管理业务入手,逐步深入到最底层。在系统设计时, 先考虑系统总体的设计, 然后考虑局部的详细设计。在系统实施阶段, 则要坚持自底向上的逐步实施方法。

结构化方法通常具有以下5个特点。

(1) 建立面向用户的观点

结构化方法认为用户是整个系统开发的起源和最终归宿, 即用户的参与程度和满意程度是系统成功的关键。

(2) 严格区分工作阶段

结构化方法认为整个系统的开发过程分为若干个阶段, 每个阶段都有其明确的任务和目标以及预期要达到的阶段成果。一般每个阶段的顺序不可打乱或者颠倒。

(3) 自顶向下进行开发

通常, 在分析问题时, 应首先站在整体的角度, 将各项具体的业务和组织放到整体中加以考察。自顶向下分析设计, 是一种自顶向下逐层分解、由粗到细、由复杂到简单的求解方法。“分解” 是结构化方法中解决复杂问题的一种基本手段。首先确保全局的正确,再逐层地深入考虑和处理局部的问题。

系统实施阶段需要采用自底向上的方法, 在系统具体实现过程中, 首先分别对每个模块进行实现、调试, 然后将几个模块(即子系统) 进行联调, 最后将整个系统进行联调。

(4) 模块化处理

所谓模块化指的是在系统设计阶段把整个系统根据功能划分为若干个模块, 每个模块完成一个功能。实现时, 将这些模块汇总起来就构成一个系统的整体, 即可完成指定的功能。模块化的目的是降低开发工作的复杂度, 使软件设计、调试和维护等工作变得简易。

(5) 工作文档的标准化原则

系统开发的每个阶段的成果都需要形成文档。文档要采用标准化的格式、术语和图表等形式来建立, 便于开发人员和用户之间的交流。

2.结构化方法的优缺点

(1) 结构化方法的优点

结构化方法之所以得以广泛应用, 是因为它具有以下5个优点。

①结构化分析方法简单、清晰, 易于学习、掌握和使用。

②注重系统开发过程的整体性和全局性。在开发策略上强调采用“自顶向下” 的原则来分析和设计系统, 首先解决全局问题, 强调在系统整体优化的前提下, 考虑具体的解决方案。

③严格区分工作阶段。整个开发过程阶段和步骤清楚, 每一阶段和步骤均有明确的成果, 并作为下一步工作的依据。

④立足全局, 步步为营, 减少返工, 有利于提高开发质量, 加快开发进度。⑤目标明确, 阶段性强, 开发过程易于控制。

(2) 结构化方法的缺点

在实践过程中也暴露出结构化方法的一些缺点, 具体如下。

①结构化方法是一种预先定义需求的方法, 基本前提是必须能够在早期就确定用户的需求, 只适于可以在早期阶段就完全明确用户需求的项目。然而在实际操作中要做到这一点往往是不现实的, 用户很难一次性准确陈述其需求。

②结构化方法的开发周期长, 难以适应环境变化。它只适用于一些组织相对稳定、业务处理过程规范、需求明确且在一定时期内不会发生大的变化的大型复杂的系统开发。