电子商务系统分析与设计(微课版·第2版)
上QQ阅读APP看书,第一时间看更新

2.1.3 结构化方法的特点

结构化方法的核心就是通过功能分解来减少程序设计的复杂性,并且增加软件的可重用性,以减少开发和维护的费用。

1.结构化方法的优点

① 从系统整体出发,强调在整体优化的条件下自顶向下地分析和设计,保证了系统的整体性和目标的一致性。

② 强调功能抽象和模块化,采取分解的方法,把一个比较复杂的问题分解为若干个容易处理的部分,降低了问题处理的难度。

③ 严格区分系统开发的工作阶段,及时总结每一阶段的工作,发现问题后及时反馈和纠正。每一阶段的工作成果是下一阶段的依据,便于系统开发的管理和控制。

④ 按工程标准建立标准化的文档资料,大大简化了编程人员繁杂的工作,也有利于软件后期的维护。

2.结构化方法的缺点

结构化方法适用于规模较大、结构化程度较高的系统的开发,这类系统的业务处理过程规范,数据需求非常明确,在一定时期内需求变化不大。

结构化方法在20世纪70年代至20世纪80年代可以满足需求,但在越来越复杂的非数值计算类型的软件系统开发中,在广泛应用图形界面的交互式应用中,在控制要求非常突出的系统中,在需求经常变动的环境下,这种方法暴露出了许多弊病。

① 功能与数据分离的系统设计结构与人类的现实世界环境很不一样,和人的自然思维也不一致。因此,现实世界与系统程序之间存在着一道鸿沟。

② 系统是围绕着如何实现一定的功能来运行的,即按照功能来划分系统,当用户需求发生变化,比如要求修改现有系统功能的实现方式或者要求追加新的功能时,修改就变得极为困难。这类系统的结构基于上层模块必须掌握和控制下层模块工作的前提,因此在下层模块发生变化时,常常会迫不得已去改变一系列的上层模块,新的上层模块也必须了解它的所有下层模块,编写这样的上层模块是极为困难的,从而导致这种方法无法适应技术的迅速发展和当代社会的发展要求。

③ 当系统中模块之间的控制作用有重要影响时,也就是说,实际的控制发生的根源来自分散的各个模块时,模块间的控制作用只能通过上下之间的调用关系来实现,从而造成信息传递路径过长、效率低、易受干扰,甚至出错。如果允许模块间为进行控制而直接通信,结果则是系统总体结构混乱,难以维护、控制,出错率高。因此,这种方法是无法适应以控制关系为重要特性的系统的要求的。

④ 用结构化的方法开发出来的系统往往难以维护,主要是因为所有的函数都必须知道数据结构,而许多不同数据类型的数据结构只有细微的差别,这种情况的函数中常常充满了条件语句,但它们与函数的功能毫无关系,只是因为数据结构的不同而不得不使用它们,结果就造成程序的可读性很差。

⑤ 自顶向下功能分解的分析设计方法极大地限制了系统的可重用性,导致大量的重复性工作,大大降低了系统开发人员的工作效率。

总的来说,结构化方法的不足主要表现在:第一,系统开发周期长,难以适应环境变化;第二,对于结构化程度较低的系统,在开发初期难以锁定功能要求。