- 29
- 0
- 约1.18万字
- 约 24页
- 2021-03-05 发布于广东
- 举报
程序设计思想的变革及发展
一、程序设计的基本
1、概念
在信息技术飞速发展的今天,计算机的普及应用,对 于大多数人来说,程序并不再是陌生的字眼。通俗地说,程 序就是人们让计算机完成特定任务的一系歹I」命令的总淤|〈, 而用某种编程语言编写程序的过程就是程序设计。
2、程序设计的步骤
分析问题
设计方案
◎解决问题
3、程序设计面对的问题
技术问题
目标复杂度和规模的增长
③需求的变化
(而正因为需求的变化才会有程序设计思想的变化)
二、程序设计思想的发展
计算机技术产生于20世纪40年代,随着软硬件水平的飞速
发展和应用范围的扩大,计算机编程思想也历经变化,先后出现 了血向过程编程、血向对象编程和血向方面编程这几种编程思 想,它们的产生对软件技术的发展起到了深远的影响。
1、 面向过程编程
结构化程序
产生
60年代末,国际著名学者E. W.Dijkstr首先提出了上结 构化程序设计”的思想,按照结构化程序设计思想编制出 来的程序称为结构化程序,即而向过程编程。C、Pascal和 F ortran语言均采用面向过程编程思想。
面向过程设计思想是采用上 自顶向下,逐步求精”的 方法,即当编药程序时,常从总体出发,把任务分解为若 干个多少有些独立的模块,对于每一个模块,又需分解为 若干个低一层的子模块,直到最低层的每一个子模块都有 明确的解决步骤为止,每一个模块内部均是由顺序、选择和 循环三种基本结构组成,其模块化的具体实现方法是使用 子程序。结构化程序设计由于采用了模块分解与功能抽象和 自顶向下“分而治之”的方法,从而有效地将…个较复杂的 程序系统设计任务分解成许多易于控制和处理的子程序, 便于开发和维护。
示例:
铅笔数二5
钢笔数二6 圆珠笔数二4 其它笔数二7
//销售程序段
铅笔数二铅笔数- 1 //卖出了 1支铅 笔
其它笔数二其它笔数- 2 //卖出了2 支其它笔
//采购程序段
钢笔数二钢笔数+20 //新进了20支 钢笔
圆珠笔数二圆珠笔数+10 //新进了 10 支圆珠笔
正如上面的程序段所示,结构化的程序方法通常是:
11).定义变量及其初始值;
L 21根据事件发展顺序,进行对应的处理。
在上面的程序中,我们先定义了各种笔的初始总数,然后这些数量
会在销售、采购吋改变。这种程序的编写思路是随着事件,按照一定 的过程來进行的。这种方法是一种“解题”的思维方式,把所有的需 求,当作一个“应用题” 一样来“解答”。
总体来说,面向过程编程关注的是解决问题的步骤,先把软 件系统分解成多个模块,然后逐步细化,完成整个软件系统。各 模块Z间存在相互调用和信息传递。
特点
面向过程的程序设计的特点:面向过程的程序设计方法强调需求 分析。强调在软件生命周期的每个阶段结束之前必须进行评审,从而 提高了开发的成功率。开发过程中实行严格的质量管理,采用先进的 技术方法,加快了软件开发的速度。但是,随着人们对计算机软件的 需求量的急剧增长,面向过程的程序设计的开发速度远不能满足用户 的需耍,不能及时完成开发,甚至不能完成设计目标,软件重用度 很低。
问题产生的原因
传统的程序设计方法是需求分析、总体设计、编码、调试、维护。 传统的生命周期方法的本质是在具体开发工作之前。通过需求分析预 先定义软件需求,相对于早期的只重视编程,轻视对用户的了解和分 析,最终产品只有程序代码。没有相应的文档资料的个体化的软件开 发方法来说。生命周期方法学是一个巨大的进步。对实现软件开发工 程化曾经起了重要的促进作用。但是,实践表明,传统的生命周期 方法学并不能完全消除软件危机。原因是:某些系统类型需求是模糊 的,预先定义需求的策略对于某些类型的软件系统是适用的。但是, 对于数量占多数的-些应用系统,其需求往往难以预先准确地指定。 因为许多用户对他们的需求最初只有模糊笼统的概念。项目参与者之 间存在通讯鸿沟。冃前,开发软件的生产率仍然很低。一个规模稍 大的软件,其开发时间往往需要一年以上,有的甚至长达数年。当软 件开发出来时候已经过时了,结构化技术的缺点导致开发的软件难于 修改和扩充。可重用性差,结构设计技术是围绕实现处理功能的过程 来构造系统的。然而用户需求的变化大部分是针对功能的。也就是 说,用户需求的变化往往造成系统结构的重大变化,从而需要花费很 大的代价才能够实现。
总结:
面向过程编程的思维方式易于理解、条理清晰,曾被广泛应 川,但随着软件系统规模的扩大和性能要求的提高,面向过程编 程的缺陷日益明显。软件系统规模的扩大,使得模块的分解难度 加大,模块之间的联系也更加复杂,软件的可靠性难以提高,可 维护性差。
为了提高软件系统的稳定性、可修改性、可重用性。人们在实践 中逐渐创造出软件开发的新途径:面向对象的程序设计方法。
2、 面向对象编程
所谓
原创力文档

文档评论(0)