首页计算机计算机软件软件工程导论 4.1 编码.pptx

4.1 编码.pptx

页数:28页文件大小:311.1 KB来源: 软件工程导论ppt课件

本课件围绕编码与程序设计语言展开,依次讲解1.机器语言、优点、计算机直接识别等内容,并结合图示与文字版说明1.机器语言的关键要点,帮助学习者掌握其核心概念、方法步骤与实际应用。

结构化系统实现系统实现测试编码结构化设计,展示结构化系统实现系统部分的组成结构与关键要素
把模块的过程性描述翻译,介绍为用选定的程序设计语言书写的源程序(源代码)
编码程序设计语言分类,展示结构化系统实现系统部分的组成结构与关键要素
查看本课件的文字版(共 28 页,供检索与复制)

第1页:结构化系统实现系统实现测试编码结构化设计

结构化系统实现系统实现测试编码结构化设计:本页为图示内容,展示结构化系统实现系统部分的组成结构与关键要素。

第2页:把模块的过程性描述翻译

  • 编码目的
  • 把模块的过程性描述翻译为用选定的程序设计语言书写的源程序(源代码)。
  • 依据
  • 编码的主要依据是概要设计和详细设计说明文档。
  • 任务
  • 理解概要设计和详细设计说明书;
  • 遵循编码原则和风格进行翻译,形成源代码。编码

第3页:编码程序设计语言分类

编码程序设计语言分类:本页为图示内容,展示结构化系统实现系统部分的组成结构与关键要素。

第4页:1.机器语言

  • 1.机器语言
  • 1011011000000000:加法
  • 1011010100000000:减法
  • 优点
  • 计算机直接识别
  • 缺点
  • 效率低,重用性差编码

第5页:2.汇编语言

  • 2.汇编语言
  • 机器指令助记符
  • 例
  • 机器指令:1000100111011000
  • 汇编指令:MOV AX,BX编码

第6页:2.汇编语言(续)

  • 2.汇编语言
  • 优点
  • 比机器语言易读写、易调试和修改
  • 执行速度快、占内存少
  • 针对硬件编制
  • 缺点
  • 不能编写复杂程序
  • 依赖于机型、不通用、不可移植编码

第7页:3.高级语言与自然语言相近,面向用户的语

  • 3.高级语言与自然语言相近,面向用户的语言
  • 优点
  • 编码效率高
  • 通用性强,兼容性好,便于移植
  • 缺点
  • 运行效率低
  • 对硬件操作不如汇编编码

第8页:TIOBE编程语言社区排行榜

  • TIOBE编程语言社区排行榜是编程语言流行趋势的一个指标,每月更新。这份排行榜排名基于互联网上有经验的程序员、课程和第三方厂商的数量。排名使用著名的搜索引擎(诸如Google、MSN、雅虎)以及Wikipedia和YouTube进行计算。
  • 请注意这个排行榜只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语言所编写的代码数量多少。
  • 排行榜可以用来考查你的编程技能是否与时俱进,也可以在开始开发新系统时选择语言时用来进行策略性的决策
  • 1编码

第9页:TIOBE

TIOBE Programming Community Index for February 2013数据来源:www.tiobe.com

第10页:如何选择?编码

如何选择?编码:本页为图示内容,展示3.高级语言与部分的组成结构与关键要素。

第11页:语言选择标准

  • 语言选择标准
  • 系统用户要求如果开发系统由用户维护,通常要求用熟悉的语言书写
  • 可以使用的编译程序运行目标系统环境可提供编译程序限制可选用语言的范围
  • 可以得到的软件工具有支持程序开发的软件工具可以利用。
  • 工程规模规模庞大,现有语言不适用,设计实现供该工程项目使用程序设计语言编码

第12页:编码4.语言选择标准:程序员知识如果和其

  • 编码
  • 语言选择标准
  • 程序员知识如果和其他标准不矛盾,应选择程序员熟悉的语言
  • 软件可移植性要求若目标系统在不同计算机上运行,选择可移植性好的语言
  • 软件的应用领域选择语言时应充分考虑目标系统的应用范围。

第13页:编码风格逻辑简明清晰、易读易懂是重要标准

  • 编码风格逻辑简明清晰、易读易懂是重要标准
  • 可遵循以下五方面规则
  • 程序内部的文档
  • 数据说明
  • 语句构造(简单)
  • 输入输出
  • 效率(和存储容量)编码

第14页:编码编码风格一、程序内部的文档(1)恰当

  • 编码
  • 编码风格
  • 程序内部的文档
  • 恰当的描述符
  • 含义鲜明void print_record( unsigned int rec_ind ) ;int input_record( void ) ;变量名禁止取单个字符(如i、j),允许作局部循环变量

第15页:编码风格

  • 编码风格
  • 程序内部的文档
  • 恰当的描述符
  • 命名规则一致
  • 避免过长或过短(建议英文)
  • 缩写规则一致temp可缩写为tmp ;message可缩写为msg ;
  • 函数用大写字母开头单词SetName(),GetName()编码

第16页:编码风格(续)

  • 编码风格
  • 程序内部的文档
  • 适当注解:源程序中有效注解量在20%以上
  • 序言性注解模块开始,描述模块功能、主要算法、接口特点、重要数据及开发简史(设计者、复审者及时间、修改日期)
  • 中间注解插在程序中间,解释这段代码的必要性及功能。编码

第17页:

第18页:编码风格(续)

  • 编码风格
  • 一、程序内部的文档
  • (3)良好的视觉组织:空格、空行、缩进编码

第19页:编码风格(续)

  • 编码风格
  • 数据说明
  • 数据说明次序应标准化(按数据结构或数据类型说明)常量->简单变量->数组->公用数据块->文件整形->实型->字符->逻辑
  • 多个变量名在一个语句说明,按字母顺序排列。
  • 复杂数据结构用注解说明实现方法和特点。编码

第20页:编码风格(续)

  • 编码风格
  • 语句构造
  • 避免把多个语句写在同一行如下例子不符合规范:rect.length = 0; rect.width = 0;应如下书写:rect.length = 0;rect.width = 0;编码

第21页:编码风格(续)

  • 编码风格
  • 语句构造
  • 尽量避免复杂条件测试;
  • 尽量减少“非”条件测试;(if not(a>b)->if a<=b )
  • 避免大量使用循环嵌套和条件嵌套;
  • 利用括号使表达式运算次序清晰直观。if a or b and c--> if a or (b and c)
  • 尽量少用goto语句编码

第22页:编码风格(续)

  • 编码风格
  • 语句构造
  • if、for、do、while、case、switch、default等语句占一行,且if、for、do、while等语句的执行语句部分无论多少都要加括号{}如下例子不符合规范。if (pUserCR == NULL) return;编码应书写:if (pUserCR == NULL){return;}

第23页:编码风格(续)

  • 编码风格
  • 语句构造
  • 不将BOOL值TRUE和FALSE对应1和0编程
  • 多数编程语言:false定义为0,非0值是true示例程序:BOOL flag;...if(flag) {//do something }

    第24页:编码风格(续)

    • 编码风格
    • 输入输出
    • 对所有输入数据都进行检验,保证输入有效;
    • 检查输入项重要组合合法性;
    • 保持输入格式简单;
    • 使用数据结束标记,不要求用户指定数据数目;
    • 提示交互式输入请求,如可用选择或边界数值
    • 程序设计语言对格式有严格要求时,应保持输入格式一致;
    • 设计良好输出报表;
    • 给所有输出数据加标志编码

    第25页:编码风格(续)

    • 编码风格
    • 效率(和存储容量)
    • 程序运行时间
    • 简化算术和逻辑表达式;
    • 嵌套循环,确定是否有语句可从内层往外移;例
    • 尽量避免使用多维数组;
    • 尽量避免使用指针和复杂的表;
    • 使用执行时间短的算术运算;
    • 不要混合使用不同的数据类型;
    • 尽量使用整数运算和布尔表达式。编码

    第26页:编码

    编码:本页为图示内容,展示编码风格部分的组成结构与关键要素。

    第27页:编码风格(续)

    • 编码风格
    • 效率(和存储容量)
    • 存储器效率大中型计算机考虑操作系统页式调度特点,将程序功能合理分块,每个模块或一组密切相关程序体积与每页容量相匹配,减少页面调度。微型计算机关键是程序简单性,选择生成较短目标代码且存储压缩性能优良的编译程序。编码

    第28页:编码风格(续)

    • 编码风格
    • 效率(和存储容量)
    • 输入输出效率
    • 所有输入/输出都应有缓冲,减少通信的额外开销;
    • 对二级存储器(如磁盘)选用最简单访问方法;
    • 辅助存储器的输入/输出以信息组为单位进行;
    • 如“超高效”输入/输出很难被理解不采用。编码

《软件工程导论》课件目录

顶部目录