欢迎来到天天文库
浏览记录
ID:40847880
大小:227.01 KB
页数:34页
时间:2019-08-08
《Java程序设计电子教案-叶乃》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第1章程序设计方法概论1.1程序设计概述纵观计算机发展的历程,计算机硬件系统是发展的基础,计算机软件系统是发展的关键,计算机应用是发展的目标。可以看到,在整个计算机发展领域中,计算机软件系统起着承上启下的核心作用,而计算机软件系统的发展关键在于程序设计方法的研究与发展。1.1程序设计概述软件是计算机的灵魂,而软件的开发方法是主导这个灵魂的关键。几十年来,众多的专家、学者将毕生的研究方向定位于探索软件开发方法的基础理论上,他们与战斗在软件开发领域最前沿的软件精英们共同携手,将理论与实践结合在一起,提出了各种
2、有效的软件开发方法,使软件开发行业历经磨难,终于步入了科学化、工程化和规范化的良性发展阶段。一个规范的软件开发过程需要经历系统分析、系统设计、编码、测试和维护几个阶段。软件开发方法是指导软件开发各个阶段工作的理论和方法,它决定了审视问题域的角度、各个开发阶段的工作任务以及最终软件系统的构成方式。其中,编码阶段的主要任务是按照系统设计的要求编制最终的程序代码,即程序设计。它是软件开发过程的一个重要阶段,是软件系统的具体实现。程序设计是指设计、编制和调试程序的方法和过程。由于程序是应用系统的本体,是软件质量的
3、具体体现,因此,研究程序设计中涉及到的基本概念、描述工具和所采用的方法就显得格外重要。基本概念主要包括程序、数据、子程序、模块,以及顺序性、并发性、并行性和分布性等,其中程序是程序设计中的核心,子程序是为了便于程序设计而建立的程序基本单位,也是模块的具体体现,而顺序性、并发性、并行性和分布性则反映了程序的内在特性。描述工具主要是指编写程序的语言和为了便于调试程序而提供的各种语言开发环境。从某种意义上讲,它们决定了应用系统的最终功效,直接影响着软件产品的可靠性、易读性、易维护性以及开发效率。程序设计方法是指
4、导程序设计工作的思想方法,它主要包括程序设计的原理和所应遵循的基本原则,帮助人们从不同的角度描述问题域。选用合适的程序设计方法,对于开发满足用户需求的高质量应用软件至关重要。1.2程序设计方法在程序设计过程中,选择一种良好的程序设计方法将有助于提高程序设计的效率、保证程序的可靠性、增强程序的可扩充性、改进程序的可维护性。时至今日,用于指导程序设计的方法已有许多种类,它们各自有各自的特点,其中结构化和面向对象是两种发展最为成熟、应用最为广泛的程序设计方法。1.2.1结构化程序设计方法结构化程序设计方法是在软
5、件产业严重危机,亟待需要工程化的背景下产生。随着人们对软件工程化的认识日益形成,逐渐越来越重视程序的结构化、可读性,按照结构化程序设计方法设计程序逐渐成为广大编程人员自觉、自愿的行为,编写出结构化强、可读性好的程序迅速变为软件开发行业的时尚。结构化程序设计主要特征自顶向下,逐步求精模块化语句结构化自顶向下、逐步求精即将编写程序看成是一个逐步演化的过程。所谓自顶向下是指将分析问题的过程划分成若干个层次,每一个新的层次都是上一个层次的细化,即步步深入,逐层细分。模块化即将整个系统分解成若干个模块,每个模块实现
6、特定的功能,最终的系统将由这些模块组装而成。模块之间通过接口传递信息,力求模块具有良好独立性。实际上,往往可以将模块看作是对欲解决的应用系统实施自顶向下、逐步求精后形成的各子系统的具体实现。语句结构化支持结构化程序设计方法的语言都应该提供过程实现模块概念。结构化程序设计要求,在每一个模块中只允许出现三种流程结构的语句,它们是顺序、分支和循环。如图1-1所示,这三种流程结构的语句有一个共同的特点,即每种语句只有一个入口,一个出口,这对于保证程序的良好结构、检验程序的正确性十分重要。PASCAL与C语言是支持
7、结构化程序设计的典型代表。它们以过程或函数作为程序的基本单元,在每一个过程中仅使用顺序、分支和循环结构三种流程结构的语句,因此,又将这类程序设计语言称为过程式语言,用过程式语言编写的程序其主要特征可以用下列公式形象地表达出来。程序=过程+过程调用采用结构化程序设计方法,可以提高编写程序的效率及质量。自顶向下、逐步求精有利于在每一个抽象级别上尽可能地保证设计过程的正确性及最终程序的正确性。规范模块组装的策略及限定模块中只允许出现三种流程结构的语句,可以使得程序具有良好的结构,改善程序的可读性、可理解性和可维
8、护性。利用结构化程序设计方法实现程序设计需要经过两个基本过程:分解和组装。所谓分解是指通过对初始问题域的详细分析,不断地将其进行模块分解,每分解一次都是对问题的进一步细化。模块是求解问题域的一种描述。例如,设计一个程序,将从键盘上输入的100个整数重新按从小到大的顺序排序,并输出重新排序后的结果。分解成三个子模块:输入、排序和输出1.2.2面向对象的程序设计方法利用结构化程序设计方法求解问题的基本策略是从功能的角度审视问题域。
此文档下载收益归作者所有