传统结构化开发方法和面向对象方法的相同点和不同点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.你认为传统结构化开发方法和面向对象方法的共同点及区别是什
么?
相同点:
1、结构化开发方法和面向对象的方法都是软件系统的开发方法。
2、结构化开发方法和面向对象的方法在运用分解和抽象原则上的要求是完全一致的。
分解即化整为零,将问题剥茧抽丝,层层消化;抽象则是通过分解体现,在逐层分解时,上层是下层的抽象,下层是上层的具体解释和体现,运用抽象可以不用一次考虑太多细节,而逐渐的有计划有层次的了解更多细节。
3、局部化和重用性设计上的一致。局部化是软件开发中的一个重要原则,即不希望软
件一部分过多地涉及或影响软件的其它部分。在结构化方法中,局部化主要体现在代码与数据的分隔化,即程序各部分除必要的信息交流外,彼此相互隔离而互不影响,而面向对象方法则采用数据、代码的封装,即将数据、代码和操作方法封装成一个类似“黑箱”的整体对象,提高了程序的可靠性和安全性,同时增强了系统的可维护性。也就是说面向对象方法比结构化方法的运用更加深入更彻底。
不同点:
1、结构化方法是一种面向数据流的开发方法,面向对象方法是一种面向对象的开发方
法。
2、处理问题时的出发点不同。结构化方法是强调过程抽象化和模块化,以过程为中心
构造或处理客观世界问题的,它是一种面向过程的开发方法;面向对象方法强调
把问题域的要领直接影射到对象及对象之间的接口上,是用符合人们通常的思维方式来处理客观世界的问题。
3、处理问题的基本单位和层次逻辑关系不同。结构化方法把客观世界的问题抽象成计
算机可以处理的过程,处理问题的基本单位是能清晰表达过程的模块,用模块的层次结构概括模块或模块间的关系和功能;面向对象方法是用计算机逻辑来模拟客观世界中的物理存在,以对象的集合类作为处理问题的基本单位,尽可能使计算机世界向客观世界靠拢,以使问题的处理更直截了当,面向对象方法是用类的层次结构来体现类之间的继承和发展。
4、数据处理方式与控制程序方式不同。结构化方法是直接通过程序来处理数据,处理
完毕后即可显示处理结果,在控制程序方式上是按照设计调用或返回程序不能自由导航,各模块程序之间存在着控制与被控制的关系;面向对象方法将数据与对应的代码封装成一个整体,原则上其它对象不能直接修改其数据,即对象的修改只能由自身的成员函数完成,控制程序方式上是通过“事件驱动”来激活和运行程序。
5、分析设计与编码转换方式不同。结构化方法强调分析、设计及编码之间按规则进行
转换,贯穿软件生命周期的分析、设计及编码之间实现的是一种有缝的连接;面向对象方法从分析到设计再到编码则采用一致性的模型表示,贯穿软件生命周期的分析、设计及编码之间是一种平滑过程,即实现的是一种无缝连接。