程序设计步骤:笔记整理(适合初学者或跨专业同学)

内容整理自:
    南京大学 陈佳俊 郑涛  《程序设计教程 用C++语言编程》

------------------------------------------------------------------------------------------------------------------------------

从总体上讲,程序设计是一门科学,科学的东西是有规律和步骤可循的。

1.需求分析-What to do?

用计算机程序来解决实际问题,首先要弄明白“what to do?”,即首先,搞清楚我们要解决的问题“是什么”,然后,给出问题的明确定义。(注意,动态规划中的第一步也是subprblem defination)

只有定义好了问题,后面的步骤才有意义。

2.系统设计-How to do?

人脑可以很直观地思考清楚如何解决问题,但如果将这个过程转化成机器运作的方式,这个步骤就被称为“系统设计”。

1)系统设计可分为概要设计和详细设计。

  • 概要设计:给出程序的总体结构,即程序由哪几部分组成以及它们之间的关系。
  • 详细设计 :针对程序的每个部分,给出具体的解决方案。

2)不同的程序设计范式决定了不同的设计方案和设计结果。

  • 对于“过程式”设计范式:概要设计采用的是“功能分解和复合策略”---它要指出系统包含哪些子功能以及子功能之间的关系;
  • 对于“面相对象”程序设计范式:概要设计采用的是“数据抽象策略”----它指出系统包含哪些对象以及对象之间的关系;

在进行详细设计时,则二者都给出数据结构和算法的描述。

  • 过程式程序设计中,数据结构和算法描述是分开的。
  • 面向对象程序设计中,把数据结构和算法结合成对象和类来考虑。

3)系统设计往往采用如功能模块图、类图、流程图、N-S图以及伪代码等抽象的表示形式来描述,可以避免陷入细节,而可以从更高的抽象层次来考虑问题。

3.用编程语言进行实现-(系统实现or编程)(system implementation&coding)

在第二步流程图或伪代码等系统实现的基础上,用实际的能被计算机理解的程序语言将上述流程表示出来,这一步叫做系统实现(system implementation),也叫做编程(coding).所采用的语言叫编程语言或程序设计语言。

4.测试与调试

用第3步编程语言实现的程序可能含有错误。程序设计通常的错误有3种:

  • 语法错误:程序未按照语言的语法规则来书写
  • 逻辑错误:程序没有完成预期的功能
  • 运行异常错误:程序对其运行环境的非正常情况考虑不足而导致的程序异常终止

1)测试(testing)

程序的逻辑和运行异常错误一般通过测试(testing)来发现。测试方法可分为静态测试和动态测试。

  • 静态测试:不需要运行程序,通过对程序的静态分析,找出逻辑错误和异常错误。
  • 动态测试:利用一些测试数据,通过运行程序,观察程序的运行结果是否与预期符合。

测试的目的就是尽可能多地发现程序中的错误,测试工作不一定要等到程序全部编写完成才开始进行,可以一边写、一边测,最后再对完成好的整体程序进行测试。

即,先进行单元测试,再进行集成测试。

2)调试(debugging)

如果在1)中的测试中发现程序有错误,那么就需要找到程序中错误出现的位置、和错误出现的原因,即,错误定位。

给错误定位的过程就叫做调试(debugging)。

调试一般需要运行程序,通过观察程序的阶段性运行结果来找出错误的位置和原因。

5.运行与维护(maintenance)

程序通过测试后就可以交付使用了。

由于所有的测试手段都只能发现程序中的错误,而不能证明程序没有错误。因此,在整个使用过程中还会不断发现程序中的新错误。

在使用过程中发现并改正程序错误的过程称为程序的维护(maintenance)。

程序的维护可分成3类:

  • 正确性维护:改正程序中的错误
  • 完善性维护:根据用户要求使程序功能更加完善
  • 适应性维护:把程序移植到不同的平台或环境中,使其能够运行

你可能感兴趣的:(C++自学,笔记)