For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
面向对象编程开发是程序员在学习软件开发技术的时候需要重点掌握的一个编程开发方式,下面我们就通过案例分析来了解一下,面向对象编程开发与结构化架构的区别。
由于对过程的理解不同,面向过程的功能细分所分割出的功能模块有时会因人而异。而面向对象的对象细分,从同一问题领域的对象出发,不同人得出相同结论的比率较高。
在设计上,结构化方法学产生自顶向下、结构清晰的系统结构。每个模块有可能保持较强的独立性,但它往往与数据库结构相独立,功能模块与数据库逻辑模式间没有映射关系,程序与数据结构很难封装在一起。如果数据结构复杂,模块独立性很难保证。面向对象方法抽象的系统结构往往并不比结构化方法产生的系统结构简单,但它能映射到数据库结构中,很容易实现程序与数据结构的封装。
在软件工程基本原则中有一条“形式化原则”,即对问题世界的抽象结论应该以形式化语言 (图形语言、伪码语言等) 表述出来。结构化方法可以用数据流图、系统结构图、数据辞典、状态转移图、实体关系图来进行系统逻辑模型的描述;而面向对象方法可以使用对象模型图、数据辞典、动态模型图、功能模型图。其中对象模型图近似系统结构图与实体关系图的结合,动态模型图类似状态迁移图,功能模型图类似数据流图。
许多公共超类对象设计与结构化方法相悖,因为它破坏了过程的连续性及系统结构的逻辑层次性,把一些下层模块及在过程分析中没有语义的对象,放在系统结构的上层。因此如果采用结构化方法,须将继承关系改为下层模块调用关系。但是事实上,祖先对象的一些状态 (属性值) 是从主控模块直接得到指示而确定的;从控制角度说,它的确处于系统的上层地位。如果采用结构化方法,结果将是要么把系统结构变成网络状,失去结构化特征,要么放弃这种统一完成重复性劳动的设计方案。
应用对象模型向数据库概念模式的映射设计也是该系统采用面向对象方法的一个标志。如果使用结构化方法,数据库模式可能映射客观世界的数据结构。由于公路、养路单位、管理单位、路况、桥梁、隧道及道路上的绿化情况等各实体间客观存在着复杂的多重关系,其结果可能定义出一个像蜘蛛网似的关系库结构,因而大大加重了数据库前端应用编程和数据库维护的负担。
该系统若使用结构化方法,系统结构和数据库结构都可能成为网状结构,且互相无关。而目前采用的面向对象方法,系统结构和数据库结构都是多重继承结构,相互存在映射关系。显然前者较后者复杂性高、可维护性差、内部重用难度大、重用率低。
无论是用什么方法学开发软件,交给用户的都应该是满足用户当前需求的软件。用户在短期内不会发现开发者使用先进方法学给他们带来的益处,倒是开发者本身由于大大减轻了开发负担而先受益。但是随着时间的推移,获得大收益的还是用户,因为软件的长期质量(包括维护成本低和生存周期长)给用户带来的好处才是根本的。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。