首页 理论教育信息系统开发方法与实践教程:探索结构化与面向对象系统开发

信息系统开发方法与实践教程:探索结构化与面向对象系统开发

【摘要】:表6-1结构化与面向对象系统开发的比较结构化的开发方法一般采用启发式规则,系统结构定义没有理论依据,完全靠系统分析员的经验和水平,以及对目标系统的认识程度。面向对象的系统开发优点是与人类习惯的思维方式一致,稳定性好,可重用性好,可维护性好。面向对象的系统开发工作的重点应该放在分析阶段上。

尽管理论上分析和设计有比较明显的区分,但面向对象方法与传统方法相比,一个关键的特点就是各个阶段采用统一的表示模型,从分析、设计到编程的过渡是平滑的,这为活动的反复迭代创造了条件。比如服务,在分析一个订单类的服务“计算总价”时,描述的只是一个动态行为,而做设计时定义该服务的详细接口。再比如,在分析时指出订单与客户存在关联,但关联的细节没有指出,设计时就必须明确关联的导向性、多重性等,否则就无法实现。但在面向对象的方法中,这些分工并不严格,对简单的问题有可能在分析过程中就直接完成了本来属于设计阶段的任务。因此可以说,面向对象的分析与设计之间不存在严格的时间界限和内容分工,设计是对分析的细化和精化过程。

1.结构化系统开发

结构化系统开发方法也称为瀑布法(Waterfall Method)。瀑布法是早期系统开发主要采用的方法。它遵循系统生命周期各个阶段的基本任务,对于科学的系统开发的全过程起到了有效和良好的效果,是系统开发方法的一个里程碑,并且有许多成功的案例。在一段时期内,在很大程度上解决了软件危机的问题。

瀑布法的特点是:按照传统的生命周期法开发系统,各阶段的工作按自顶向下从抽象到具体的顺序进行,阶段间具有顺序性和依赖性,是串行化的过程。任何一个阶段开始的前提是前一个阶段的成果。瀑布法给出了系统开发是文档加上代码的明确定义,使系统开发各时期的管理都具有完备性。

2.面向对象的系统开发

面向对象系统开发的核心不同于瀑布法的功能架构,它是一种信息架构模式。信息需求可以在系统分析员完全不了解需求的情况下,对事物进行描述,基本可以避开用户的需求,直接进行系统分析。可能只需要用户提供使用的管理表格就可以进行分析,使分析员的需求分析处于主动需求状态,然后根据信息架构确定系统的功能架构。

3.选择合适的开发方法

对于结构化和面向对象的开发方法,各有各的特点,适用于不同的开发模式。在做系统分析、设计时,需要根据要开发系统的特点,选择最适宜的开发方式。两者的比较见表6-1。(www.chuimin.cn)

表6-1结构化与面向对象系统开发的比较

978-7-111-47279-7-Chapter06-1.jpg

结构化的开发方法一般采用启发式规则,系统结构定义没有理论依据,完全靠系统分析员的经验和水平,以及对目标系统的认识程度。结构化开发方法对底层模块的定义是完成系统单一的功能。单一功能的概念模糊不清,不具有理论依据。

所以,结构化在实施过程中会经常受到挫折,其根本原因在于需求分析的成果与用户需求的不一致,以及用户需求的不断改变造成系统分析的难度加大,周期很长,使需求分析处于被动状态。

面向对象的系统开发优点是与人类习惯的思维方式一致,稳定性好,可重用性好,可维护性好。

面向对象的系统开发工作的重点应该放在分析阶段上。这种方法在开发的早期阶段定义了一系列面向问题的对象,并且在整个开发过程中不断充实和扩充这些对象。由于在整个开发过程中都围绕对象进行,各个阶段使用统一的概念和表示符号,因此整个开发过程是一致的,降低了出错的可能。所以,面向对象的系统开发方法越来越流行。