面向过程开发,面向过程软件开发的主要问题

1,面向过程软件开发的主要问题抽象的过程人们能解决的问题的复杂性直接与抽象的类型和质量有关.OOP程序设计方法首先设计类,它们准确地表示了程序要处理的东西.当然是对象合理的抽象出对象是最主要的问题 。
2,C面向对象与面向过程两种技术的理解你这么理解并不完全准确;所谓面向过程 , 并非指的是什么功能开发进行的(也不是把思想放在代码编写上 , 事实上编写代码只是软件工程中最小的一部分) 。而是站在软件设计、架构的角度的来看,面向过程的开发模式,很多小作坊就把它转化成:先创建数据库,然后写数据访问 , 然后做业务 , 最后做界面 。在早期,被称之为瀑布式开发,套路很死,最害怕需求变更 。所谓面向对象 , 则是另外一种设计和开发模式,以对象设计和对象的特性为核心,进行软件开发 , 围绕的是对象这个主体,而不是围绕数据库表结构来做 。这样的设计,并不惧怕需求变更,也不会依赖于特定的数据库类型 。重点在于它的复用 , 抽象,功能的表现力,而不是针对数据库的增删查改的低级代码 。【面向过程开发,面向过程软件开发的主要问题】
3,什么是面向过程的程序设计结构化程序的概念首先是从以往编程过程中无限制地使用转移语句而提出的 。转移语句可以使程序的控制流程强制性的转向程序的任一处,在传统流程图中 , 就是用上节我们提到的"很随意"的流程线来描述这种转移功能 。如果一个程序中多处出现这种转移情况,将会导致程序流程无序可寻 , 程序结构杂乱无章,这样的程序是令人难以理解和接受的,并且容易出错 。尤其是在实际软件产品的开发中 , 更多的追求软件的可读性和可修改性,象这种结构和风格的程序是不允许出现的 。比如:C,FORTRAN , PASCAL等等 结构化程序设计方法主要由以下三种逻辑结构组成: 1)顺序结构:顺序结构是一种线性、有序的结构,它依次执行各语句模块 。2)循环结构:循环结构是重复执行一个或几个模块,直到满足某一条件为止 。3)选择结构:选择结构是根据条件成立与否选择程序执行的通路 。**采用结构化程序设计方法,程序结构清晰,易于阅读、测试、排错和修改 。由于每个模块执行单一功能,模块间联系较少,使程序编制比过去更简单,程序更可靠 , 而且增加了可维护性,每个模块可以独立编制、测试 。** 面向对象程序语言中支持的对象具有三个明显得特征: 封装、继承、多态;而Javascript在类别和副本上并没有明显地分界 。事实上,Javascript语言中所有的变量数据类型在JS中都是对象 。JS总共支持4种对象:内置对象、自定义对象、浏览器程序对象和ActiveX对象 。return this只是返回该对象 , 以便别处引用,但并不是多出一个对象 。所以,面向过程的程序设计中:程序=算法+数据结构 数据结构和算法相分离的,所以,系统庞大后,它的控制、移植、重用就成了问题 。而在面向对象的程序设计中: 对象=数据结构+算法 程序=对象+对象+..... 所以克服了面向过程的设计中存在的问题 。“面向过程”是一种以事件为中心的编程思想 。就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现 , 使用的时候一个一个依次调用就可以了 。
4,软件开发面向对象和面向过程开发有什么区别面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为 。可以拿生活中的实例来理解面向过程与面向对象,例如五子棋,面向过程的设计思路就是首先分析问题的步骤:1、开始游戏,2、黑子先走,3、绘制画面 , 4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢 , 8、返回步骤2,9、输出最后结果 。把上面每个步骤用不同的方法来实现 。如果是面向对象的设计思想来解决问题 。面向对象的设计则是从另外的思路来解决问题 。整个五子棋可以分为1、黑白双方,这两方的行为是一模一样的,2、棋盘系统,负责绘制画面,3、规则系统 , 负责判定诸如犯规、输赢等 。第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的变化就要负责在屏幕上面显示出这种变化 , 同时利用第三类对象(规则系统)来对棋局进行判定 。可以明显地看出,面向对象是以功能来划分问题,而不是步骤 。同样是绘制棋局,这样的行为在面向过程的设计中分散在了多个步骤中,很可能出现不同的绘制版本,因为通常设计人员会考虑到实际情况进行各种各样的简化 。而面向对象的设计中,绘图只可能在棋盘对象中出现,从而保证了绘图的统一 。面向对象的特点是:封装,多态,继承 。其中多态有分为重载和重写 。面向对象的编程思想更加接近现实的事物 。有这样几点好处:1、是编程更加容易 。因为面向对象更接近于现实,所以你可以从现实的东西出发,进行适当的抽象 。2、在软件工程上,面向对象可以使工程更加模块化 , 实现更低的耦合和更高的内聚 。3、在设计模式上(似乎只有面向对象才设计到设计模式),面向对象可以更好的实现开-闭原则 。也使代码更易阅读 。相对而言 , 面向过程的程序设计是面向对象程序设计的基础 。面向对象的程序里面一定会有面向过程的程序片断的!

    推荐阅读