1.4.3 面向服务方法与传统方法的区别
软件开发方法历经数次变革,从结构化分析方法开始,经面向对象方法、面向构件方法,到现在的面向服务方法,这些变革都是为满足客户需求的根本改变,以适应应用领域不断增加的复杂程度而提出的。
1.结构化分析方法
结构化分析方法在20世纪70年代逐步形成,以算法为中心,按照逐层分解、逐步求精的原则,给出一组帮助系统分析人员产生功能规约的原理与技术,方法简单、清晰,符合人们认识世界、改造世界的一般规律,从而大大降低了求解问题的复杂程度。但其对需求变更的适应能力很差,所需文档数据资料极大,也不适合用于解决复杂的大规模问题。
2.面向对象方法
面向对象方法产生于20世纪80年代,以对象(对象=数据+算法)为中心,为软件工业实现工程化提供了强有力的支持。面向对象方法具有封装性、多态性和继承性,与人类习惯的思维方法一致,加强了人们对问题域的理解,增强了适应需求变化的能力,且利于用户的参与和各类人员的交流。但其需要依赖具体的编程语言,与业务存在鸿沟;封装粒度小,耦合度高,难于实现大规模、高层次的重用。
3.面向构件方法
面向构件方法以粗粒度、松耦合的构件封装可重用的功能单元。企业业务被映射成系统构件,从整个企业的视角出发构思、设计系统,是面向对象方法更高一级的抽象,比面向对象方法更切合企业的实际应用,重用度也进一步提高。但与开发语言紧密联系,导致接口标准不统一,不同开发语言实现的系统之间很难实现互操作。
4.面向服务方法面向服务方法是在面向对象方法的基础上扩展的构建系统的思想和方法。面向服务方法关注的是企业业务,它直接映射到业务,强调IT与业务的对齐,以服务为核心元素来封装企业的业务流程和企业已有应用系统。服务的粒度更大,更加匹配企业级应用中的业务,可以实现更高级别的重用。但目前存在相关标准未统一、应用案例较少等一些问题。
上述各类系统构建方法的比较如表1-1所示。
表1-1 各类系统构建方法的比较
| 名称 | 概述 | 优点 | 缺点 |
| 结构化 | 以算法为中心,又称为结构化分析 | 体现了逐层分解、逐步求精的原则,有严格的规则 | 难于检验分析结果的正确与否;对需求变更的适应能力很差;系统设计人员对分析结果的理解存在障碍 |
| 面向 | 以对象(对象=数据+算法)为中心,实现了对数据和算法的封装和继承 | 加强了对应用领域的理解,改进了沟通和交流;适应需求变化的能力较强;支持分析和设计结果的复用 | 纯技术导向,存在与业务的鸿沟;复杂度高,抽象程度低,难以实现大规模和高层次的重用 |
| 面向 | 以组件或构件封装可重用的功能单元 | 重用度进一步提高,提高了软件企业的开发效率和质量 | 组件或构件封装方法和接口标准不统一,很难实现与外部应用系统之间的互操作 |
| 面向 | 以服务封装业务流程和应用系统 | 业务驱动技术,以开放标准实现应用系统之间服务的相互访问,乃至复合应用的组装,实现了更高级别重用 | 处在概念导入期末尾,相关标准尚未统一,应用案例及工程实践刚起步 |
本文介绍了软件开发方法从结构化分析方法到面向服务方法的演变过程,并对比了各种方法的特点和适用场景。从以算法为中心的结构化分析方法,到以对象为中心的面向对象方法,再到面向构件和面向服务的方法,每种方法都在不同程度上解决了软件开发中的问题。
1万+

被折叠的 条评论
为什么被折叠?



