NCRE公共基础知识(三) 程序设计基础

文章目录

  • 一、程序设计方法与风格
  • 二、结构化程序设计
    • 1.结构化程序设计的原则
    • 2.结构化程序的基本结构与特点
    • 3.结构化程序设计原则和方法的应用
  • 三、面向对象的程序设计
    • 1.关于面向对象方法
    • 2.面向对象方法的基本概念


一、程序设计方法与风格

    就程序设计的方法和技术而言,程序设计主要经过了结构化程序设计面向对象的程序设计阶段。除此之外,程序设计的风格也应是简明清晰、易读易懂的,要形成良好的程序设计风格,应考虑以下因素。
(1)源程序文档化
    源程序文档化应考虑以下几点:

  • 符号名的命名:符号名的妈妈应具有一定的实际含义以便于理解;
  • 程序注释:正确的注释能够帮助读者理解程序,一般分为序言性注释和功能性注释;
  • 视觉组织:配合空格、空行、缩进等技巧,使程序结构层次清晰。
    (2)数据说明的方法
        在编写程序时,程序中的数据说明应易于理解和维护。
  • 数据说明次序应规范化,以便于数据的属性查找,以及调试、排错和维护;
  • 说明语句中的变量安排应有序化;
  • 复杂数据结构应使用注释说明。
    (3)语句的结构
        程序应该简单易懂,语句构造应简单直接。
    (4)输入和输出
        输入和输出应考虑以下原则:
  • 对所有输入数据校验数据合法性;
  • 检查输入项各种重要组合的合理性;
  • 输入格式应简单,以使输入步骤与操作尽可能简单;
  • 输入数据时应允许使用自由格式;
  • 应允许默认值;
  • 输入一批数据使用输入结束把标志。

二、结构化程序设计

1.结构化程序设计的原则

    结构化程序设计的主要原则可概括为以下内容:

  • 自顶向下:先从最上层总目标开始,逐步使问题具体化;
  • 逐步求精:对复杂问题,应设计子目标做过渡,逐步细化;
  • 模块化:将程序要解决的总目标分解为模块进行解决;
  • 限制使用goto语句。

2.结构化程序的基本结构与特点

    程序设计语言仅使用顺序选择循环**三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。

  • 顺序结构:按照程序语句行的自然顺序,一条语句一条语句地执行过程;
  • 选择结构:选择结构又称为分支结构,它包括简单选择和多分支选择结构,这种结构可以根据设定的条件,判断应该选择哪一条分支来执行相应的语句序列;
  • 循环结构:循环结构根据给定的条件,判断是否需要重复执行某一相同的或类似的程序段,利用循环结构可简化大量的程序行。
        按结构化程序设计方法设计出的程序具有明显优点:
  • 程序易于理解、使用和维护;
  • 提高了编程工作的效率,降低了开发成本。

3.结构化程序设计原则和方法的应用

    在结构化程序设计的具体实施中,应注意把握以下元素:

  • 使用程序设计语言中的顺序、选择、循环等有限的控制结构来表示程序的控制逻辑;
  • 选择的控制结构只允许有一个入口和一个出口;
  • 程序语句组成容易识别的块,每块只有一个入口和一个出口;
  • 复杂结构应该用嵌套的基本控制结构来进行组合嵌套来实现;
  • 语言中所没有的控制结构,应该采用前后一致的方法来模拟;
  • 严格控制GOTO语句的使用。

三、面向对象的程序设计

1.关于面向对象方法

    面向对象方法的本质,就是主张从客观世界固有的事物出发来构造系统,提倡用人类在现实生活中常用的思维方法来认识、理解和描述客观事物,强调最终建立的系统能够映射问题域,系统中的对象以及对象之间的关系能够如实地反映问题域中的固有事物及其关系,其具有以下优点:

  • 与人类习惯的思维方法一致;结构化程序设计以算法为核心,把数据和过程作为相互独立的部分;面向对象程序设计以对象为核心,使用现实世界的概念抽象地思考问题从而自然的解决;
  • 稳定性好:面向对象方法基于构造问题领域的对象模型,以对象为中心构造软件系统,功能变化时仅需局部修改;
  • 可重用性好:面向对象程序可通过创建类的实例和**派生类*重复使用一个对象类;
  • 易于开发大型软件产品
  • 可维护性好

2.面向对象方法的基本概念

(1)对象
    对象是面向对象方法中最基本的概念,它是对问题域中莫个实体的抽象,设立某个对象就反映了软件系统保存有关它的信息并具有与它进行交互的能力。
    面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位,它由一组表示其静态特征的属性和它可执行的一组操作组成。
    对象具有以下特点:

  • 标识唯一性:对象是可分区的,并且是由对象的内在本质来区分;
  • 分类性:可以将具有相同属性和操作的对象抽象为类;
  • 多态性:同一个操作可以是不同对象的行为;
  • 封装性:对象的内部,即处理能力的实行和内部状态,对外是不可见的;
  • 模块独立性好:对象是面向对象的软件的基本模块,由数据即对数据的操作组成的统一体。
    (2)类和实例
        将属性、操作相似的对象归为类,类是对象的抽象,描述了该对象类型的所有对象的性质,而一个对象则是其相对应类的实例。
    (3)消息
        面向对象的世界是由对象与对象间彼此的相互合作来推动的,对象间的这种相互合作需要一个机制协助进行,这样的机制称为“消息”。消息是一个实例与另一个实例之间传递的信息,它请求对象执行某一处理或回答某一要求的信息,统一了数据流和控制流。消息常由三部分组成:
  • 接收消息的对象的名称;
  • 消息标识符(消息名);
  • 零个或多个参数。
    (4)继承
        继承是使用已有的类定义作为基础建立新类的定义技术。已有的类可当作基类来引用,则新类相应地可当作派生类来引用。
    (5)多态性
        在面向对象的软件技术中,多态性是指子类对象可以像父类对象那样使用,同样的消息可以发送给父类对象也可以发送给子类对象。

你可能感兴趣的:(NCRE公共基础知识,软件工程,软件构建,设计规范)