软件工程复习笔记——第四章 程序设计语言与编码

第四章 程序设计语言与编码

  • 程序编码阶段的任务:为每个模块编写程序,将详细设计的结果转换为源程序代码。
  • 从如何提高软件的质量和可维护性的角度,讨论在编码阶段所要解决的主要问题
    • 程序设计语言的特性及选择的原则
    • 程序设计风格
    • 软件设计风格

4.1 程序设计语言的选择

一、程序设计语言的分类

  • 低级语言:机器语言和汇编语言
    表示成二进制形式的机器基本指令集,依赖于特定的机器,复杂繁琐且易出错
  • 高级语言:比低级语言更接近于待解的问题,易学易用易维护,提高软件生产效率
    • 按应用范围分:
      • 通用语言:PASCAL、C、C++、Java等
      • 专用语言:APT等
    • 用户要求分:过程式语言和非过程式语言
    • 使用方式分:交互式语言和非交互式语言
    • 语言的内在特点分:系统实现语言 静态高级语言 高级语言 块结构高级语言

二、程序设计语言选择准则

  • 项目的应用领域
  • 算法和计算复杂性
  • 软件的执行环境
  • 性能因素
  • 数据结构的复杂性:要根据不同语言构造数据结构类型的能力选取
  • 软件开发人员的知识水平以及心理因素

三、高级语言的内在特性

1.传统的高级语言
  • 具有代表性有:BASIC、FORTRAN、ALOGOL
2.通用的结构化程序设计语言
  • 具有代表性的有: PASCAL、PL/1、C、Ada等它们都是从ALOGOL语言派生出来的。

    PL/1是第一个真正广泛适用于多种不同的应用领域的语言,故又称大型公共汽车语言。支持多任务处理和复杂的I/O功能,表处理等。

    Ada语言一种用于嵌入式实时计算机设计的标准语言。提供了一组丰富的实时特性,包括多任务处理中断处理任务间的同步通信等。提供了Ada程序包及辅助软件开发的环境。

3.面向对象的程序设计语言
  • Smalltalk语言
  • C++程序设计语言
  • Java语言:是一种简单的面向对象的分布式的语言
  • C#语言
  • 面向对象的可视化语言
4.第四代语言(4GL)
  • 其特点是:**不需要规定算法细节,**在更高层次上用不同文法来表示程序结构和数据结构。常见的有:查询语言、程序生成器和其它4GL语言,如:判断支持语言、原型语言、形式化规格说明语言等。

4.2 结构化程序设计

  • 结构化程序设计方法 (Structured Program),即SP法是结构化开发方法的重要组成部分。其基本思想是自顶向下、逐步求精。它的基本原则是功能的分解与抽象。

一、结构化程序设计特点

  • 1.自顶向下、逐步求精:先全局,后局部、先抽象后具体的方法
  • 单入口和单出口的控制结构:结构化的程序是由且仅由顺序、选择、循环三种基本控制结构组成

二、结构化程序设计的步骤

三、优化设计

  • 结构的优化功能的优化算法的优化和时间效率的优化等等

  • 介绍对时间起决定性作用的软件的优化方法:

    ⑴不考虑时间因素的前提下开发并精简软件结构。

    ⑵寻求软件设计结构中的 “关键路径” 和 “关键事件”。仔细的设计该模块的实现算法。

    ⑶选择合适的高级编程语言,提高程序的编译效率。

    ⑷在效率和实现功能之间寻求平衡点。所谓的平衡点指的是,不要求为了一些不必要的功能而耗费大量的时间,从而降低效率,以致得不偿失。

4.3 程序设计风格

  • 力图从编码原则的角度来探讨提高程序的可读性改善程序质量的方法和途径。

1.代码文件

  • 符号命名:尽量用与实际意义相同或接近的标识符命名
  • 源程序中的注释:注释可分为序言性注释解释性注释错误的注释宁可不要
  • 注意源程序的书写格式

2.语句构造方法

  • 语句构造应采用直接、清晰的构造方式,而不要为了提高效率或者显示技巧而降低程序的清晰性和可读性。(尤其是流程控制语句的构造技术,直接影响到程序的可读性及效率)

3.数据说明方法

  • 为使程序中的数据说明更易于理解和维护,数据说明的次序应当规范化:
  • 可按**说明类型(**常量,简单变量类型,复杂类型)
    • 一个语句说明多个变量时,按字母顺序排列
  • 复杂的数据结构,要加注释

4.输入输出技术

  • 输入和输出格式应尽可能统一。
  • 输出信息中应该反映输入的数据
  • 输入和输出应尽可能集中安排。

4.4 算法与程序效率

  • 设计逻辑结构清晰、高效的算法,是提高程序效率的关键
  • 影响程序效率的因素
    • 算法对效率的影响:eg.顺序法和二分法的区别
    • 存储效率:操作系统的存储管理方式,直接影响到程序的存储效率
    • 输入输出效率:提高输入/输出速度,减少出错率

4.5 软件代码审查

  • 为保证代码开发的质量,在编码完成后,进行代码审查或称Review

    ​ 审查内容:

    1.程序的版式

    2.文件结构

    3.命名规则

    4.表达式与基本语句

第四章完

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值